• 机器学习工作流程从数据清洗到模型调优


    第1章 概述

    1.1 机器学习技术路线图

     

    1. 数据准备/特征分析
    2. 样本整定
    3. 机器学习
    4. 模型检验
    5. 结果反馈优化
    6. 重要特征评估
    7. 取平均值、中值、分位数、众数、随机值等,效果一般,相当于人为的添加了噪声。
    8. 使用其它变量预测模型计算出缺失值。
    9. 把变量映射到高维。
    10. 删除缺失值过多的属性或实例,慎重删除。

    第2章 数据清洗

    2.1 处理缺失值

    工具h2o.ai可以显示数据每个属性的缺失值情况,如下图:

    2.2 数据集的格式

    工具Weka要求数据是arff的,但也支持csv文件,在weka中arff文件有优势,可以设置属性的类型,其中weka有四种基本类型(numeric数值型、 nominal分类型, string字符串型 和 date日期类型)。

    2.3 规范化

    有时属性的区间跨度太大会影响分类的性能,可能导致过重视跨度的属性。例如,属性a的区间是[1,10000],属性b的区间是[1,10],显然属性a的影响要大于属性b。可以采用规范化的方法解决问题,把每个属性值除以它的最大跨度,就按比例规划化到了[0,1]区间。

    2.4 数据的规范化

    有时数据中存在中文字符,算法无法进行,可以用python编写一个脚本,利用字典这种数据结构,key值存中文字符,value值存一个自增的index,注意每次加入新的键值对时,判断新key值 not in 已有的键表,已保证相同的中文字符对应唯一的index值。

    2.5 重复命名的属性

    对于属性名相同的属性,采用重命名即可。

    第3章 属性工程

    3.1 属性约简

    计算每个属性对决策属性的依赖度,若属性集A的依赖度大于等于属性集B的依赖度,并且属性集B包含属性集A,则属性集合B - A 的属性为冗余属性,删除即可。计算属性依赖度有很多方法,有粗糙集,信息熵等方法。

    金融数据真实样本有240列属性,使用工具weka的监督方法AttributeSelection属性选择功能,可以把属性集约简到42条,还可以继续进行属性约简,手动删除,直到结果最优

    第4章 建模

    4.1 经典模型选择

    经典的机器学习模型有朴素贝叶斯、SVM支持向量机、决策树、LR线性回归、IBK等。

    注意每种模型的应用要求,比如SVM不支持处理日期类型的属性,某些算法不可以处理数值型的决策类等等。

    4.2 组合模型选择

    有时模型组合的方法的效果会好得多,比如GBDT或者rf,都是将简单的模型组合起来,效果比单个更复杂的模型好。组合的方式很多,随机化(比如random forest),Boosting(比如GBDT)都是其中典型的方法。

         模型的预测结果都差不多,通过十折交叉验证就可以得到这个机器学习模型的大致性能,需要进行下一步的模型的调优操作。

     

    第5章 模型评估

    5.1 AUC评价指标

    为什么需要AUC指标?举个例子,若有100个样本,有90个正样本和10个负样本组成,若分类器简单粗暴的将所有的样本分为正类,准确率是90%,这显然不是我们需要的结果,所以准确率不能很全面的预测分类的性能。

    定义:分析结果采用AUC来评判模型的效果。AUC即以False Positive Rate为横轴,True Positive Rate为纵轴的ROC (Receiver Operating Characteristic)curve下方的面积的大小。

    M 为正样本个数,N 为负样本个数,M * N 为正负样本对的个数。Si为第i个正负样本对的得分,定义如下:

    5.2 Precision准确率

    又名查准率,precision = TP / ( TP + FP ) 。

    5.3 Recall召回率

    又名查全率,recall = FP / ( TP + FN ) 。

    第6章 循环调优 

    6.1 调参

    迭代找到最优的参数。

    6.2 鉴别过拟合

    最简单的方法就是分别计算 crossvalidationerror(Jcv) 跟trainingerror(Jtrain):当Jcv跟Jtrain差不多且Jtrain较大时,当前模型更可能存在欠拟合;当Jcv远远大于 Jtrain且Jtrain较小时,当前模型更可能存在过拟合。

    解决方案:

      1. 添加其它特征
      2. 添加多项式特征
      3. 减小正则化参数
  • 相关阅读:
    HAOI2018 简要题解
    HAOI2017 简要题解
    BZOJ 5477: 星际穿越
    HAOI2016 简要题解
    C#oracle还原imp实例
    oracle备份imp命令大全
    C#oracle备份和还原
    win10安装CAD后出现致命错误
    Oracle 恢复数据后,数据库中中文变成问号解决方法
    CAD 安装时出现.net frameword 3.5安装不上的问题
  • 原文地址:https://www.cnblogs.com/rongyux/p/5434138.html
Copyright © 2020-2023  润新知