美文网首页
Day 3 模型选择

Day 3 模型选择

作者: 瑶瑶_2930 | 来源:发表于2018-08-31 18:25 被阅读0次

    TODO

    学习曲线和网格搜索代码

    错误类型

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

    模型复杂度图表

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

    交叉验证

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


      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)

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


    Screen Shot 2018-08-31 at 8.08.08 PM.png

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

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

    网格搜索

    1. logistic regression model


      Screen Shot 2018-08-31 at 8.37.08 PM.png

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


      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


      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
    • 算法细节:
      • 计算词频


        0.png

        或者


        1.png
      • 计算逆文档频率


        2.png
      • 计算TF-IDF


        3.png

    相关文章

      网友评论

          本文标题:Day 3 模型选择

          本文链接:https://www.haomeiwen.com/subject/asjewftx.html