Day 3 模型选择

TODO

学习曲线和网格搜索代码

错误类型

  • 过度简化 -->欠拟合
    • 在训练集中表现不好,称这种错误类型为 偏差引起的误差(error due to bias) -->high bias(高偏差误差)
  • 过度复杂化 -->过拟合
    • 训练集表现好,但测试集上表现不好,偏向于记住而不是学习特点,称这种错误类型为 由方差引起的误差(error due to variance) -->high variance(高方差误差)

模型复杂度图表

计算出 训练误差个数 和 测试误差个数

交叉验证

  • training set(训练参数,训练一堆模型) | cross validation set (对模型做出决定,例如多项式的次数,选出最好的模型) | testing set (模型最终的测试)


    Day 3 模型选择_第1张图片
    Screen Shot 2018-08-31 at 7.47.54 PM.png

k折交叉验证

sklearn

from sklearn.model_selection import KFold
kf = KFold(12,3,shuffle = True)
# 12代表数据集个数,3代表每一个bucket中训练集的个数,shuffle = true 表示随机分配

for train_indices, test_indices in kf:
print(train_indices,test_indices)

学习曲线 (Learning Curves)

判断欠拟合,恰当和过拟合


Day 3 模型选择_第2张图片
Screen Shot 2018-08-31 at 8.08.08 PM.png

注:高偏差 -->两条曲线交点偏高,恰当 -->两条曲线交点偏低, 高方差 -->两条曲线不会相交

通过学习曲线检测过拟合和欠拟合

网格搜索

  1. logistic regression model


    Day 3 模型选择_第3张图片
    Screen Shot 2018-08-31 at 8.37.08 PM.png

    训练集算出多项式的斜率和系数(超参数)等,cv计算F1得分,选择F1 得分最高的模型,测试集保证模型比较适合
    2.Training a Decision Tree
    超参数之一为深度,参数是树叶和节点等的阈值


    Day 3 模型选择_第4张图片
    Screen Shot 2018-08-31 at 8.39.47 PM.png
  2. Training a Support Vector Machine
    超参数:内核(线性或多项式),gamma参数 -->多个超参数 ->grid search,gamma建议设置几个按指数级增长的值,例如0.1,1,10


    Day 3 模型选择_第5张图片
    Screen Shot 2018-08-31 at 8.43.04 PM.png

在sklearn中的网格搜索

假如训练svm,想在如下参数间做出决定--- kernel : poly或rbf,C: 0.1,1,或10

  • 导入GridSearchCV
    from sklearn.model_selection import GridSearchCV
  • 选择参数
    字典,keys是参数名称,values是每个参数可能值的列表
    parameters = {'kernel' : ['poly', 'rbf'], 'C': [0.1,1,10]}
  • 创建一个评分机制(score)
    此处选择F1分数
from sklearn.metrics import make_scorer
from sklearn.metrics import f1_score
scorer = make_scorer(f1_scorer)
  • 使用参数(parameter)和评分机制(scorer)创建一个GridSearch对象,使用此对象与数据保持一致(fit the data)
grid_obj = GridSearchCV(clf, parameters, scoring = scorer)
grid_fit = grid_obj.fit(X, y)
  • 获得最佳估算器(estimator)
    best_clf = grid.fit.best_estimator_

附:每日一题:几句话简述 TF-IDF的思想是什么

参考TF-IDF与余弦相似性的应用(一):自动提取关键词

解答:

  • TF-IDF算法是一种用于信息检索和数据挖掘的常用加权技术。其主要思想是通过给评判是否为关键词的指标分配不同权重,并结合为一个指标。TF-IDF算法认为词频和逆文档频率是两个重要衡量指标,并给予了对应的计算方法。但是否为关键词的指标还应包括词的位置信息,以及其本身与主题的切合度等,所以并不完善。可以考虑给不同位置的词分配不同的权重。还可以考虑其与标题的相似度(比如用余弦相似性的原理?)代替其与主题的切合度。与主题相关的处理方法还可以考虑抓取一些signposting language, 往往作者在传达主题时会用一些特定的句型或词,所以可以考虑通过这个抓取主题,从中挑选出关键词。
  • TF(Term Frequency) 词频
  • IDF(Inverse Document Frequency)逆文档频率。在词频的基础上,要对每个词分配一个"重要性"权重.权重大小与词的常见程度成反比
  • TF-IDF = TF*IDF
  • 算法细节:
    • 计算词频


      Day 3 模型选择_第6张图片
      0.png

      或者


      Day 3 模型选择_第7张图片
      1.png
    • 计算逆文档频率


      Day 3 模型选择_第8张图片
      2.png
    • 计算TF-IDF


      3.png

你可能感兴趣的:(Day 3 模型选择)