1、王晋东不在家 http:/jd92.wang 20:30-21:30 2017.03.19 什么是特征工程? 为什么特征工程很重要? 特征工程简介 数据预处理的有效方法 如何获取重要特征? 如何进行有效的特征选择? 常用的降维方法 特征工程处理方法 实战:自行车租赁比赛、豆瓣电影评分预测 推荐的其他学习资源与工具 实践中的应用 2 什么是特征工程? 小李相亲回来,别人问:对方有什么特点? 小白兔,白又白,两只耳朵竖起来 “ 你化成灰我也认识你!” 我们根据事物所具有的共性所抽象出来的能 代表这一事物的概念,就叫特征 3 共有的 能进行概括 能代表这一类事物 为什么特征工程是重要的? “ 数据和
2、特征决定了机器学习的上限,而模型和算法 只是逼近这个上限而已。” 除了数据和模型外,特征是影响学习效果的重要因素。 图片:http:/ 4 原始数据 预处理 特征提取 特征选择与特征降维 建立模型 我们本次Live 重点 预处理: 现实世界数据是“ 肮脏” 的,好数据 好结果 对原始数据的清洗、过滤、缺失值处理、标准化、归 一化等,使其更方便做后期的特征处理和机器学习。 常用预处理方法: 去重:去掉重复的数据 过滤:把反常值(极高/ 极低)用平滑的值代替 标准化:把数据放缩到同样的范围(比如0 均值、最 大最小归一化) 缺失值处理:用已有的数据补全丢掉的数据(如均值) 离散化:把数据按不同区间
3、(箱子)划分(分箱) 5 如何获取重要特征? 相关领域的专家知识 行为识别领域,加速度提 取时域 和频率 信息 深度学习自动学习特征 人脸识别、图片识别等应 用,依 赖卷积 神经网 络 有时原始数据本身是特征 时间序列预测时,原始数 据本身 就是特 征 实验、经验与发现 不断尝试新的特征 深度学习并不是万能的 6 特征选择方法: 过滤法: 方差选择法:计算各个特 征方差 ,选择 方差大 于阈值 的特征 相关系数法:计算各个特 征的Pearson 相关系 数 互信息法:计算各个特征 的信息 增益 封装法: 递归消除法:使用基模型( 如LR) 在训练中 进行迭 代,选 择不同 特征 嵌入法: 使用
4、带惩罚项的基模型进 行特征 选择(比如LR 加入正 则) 树模型的特征选择(随机 森林、 决策树 ) 参考:https:/ 7 常用特征降维方法: 线性降维 主成分分析(PCA ):选择方 差最大 的K 个特征 无监督 线性判别分析(LDA ): 选择分 类性能 最好的 特征有监 督 非线性降维(大多是流形学习) 核主成分分析(KPCA ): 带核函 数的PCA 局部线性嵌入(LLE ) :利用 流形结 构进行 降维 还有拉普拉斯图、MDS 等 迁移成分分析(TCA ):不同领域之间迁移学习降维 8 PCA 和LDA LLEKaggle 自行车租赁预测 给定不同的条件(天气、假期、温度、湿度等
5、),预测 未来租赁自行车的数量 https:/ 9 特征构建: 然后进行特征选择与降维 10 时间格式 租赁日期与时间 数值格式 温度、湿度、风速 注册人数 类别格式 是否假期、工作日 季节 转成单独年、月、日 直接进行使用 用数值代替类别 One-hot 编码 平均一周(月)的人数、温度等 对数据做不同阶的差分 自己爬取空气质量信息(如果有) 节假日详细信息 节假日数据的统计信息 原始数据处理方式 自己提取特征 模型构建: SVM for regression GBR XGBOOST Random Forest KNN 训练多模型时,先选大步长大范围调参,第二遍再选小 范围小步长调一次 重视
6、Stack 的作用 11 Linear regression Ridge regression Lasso SVR KNN 模型stack 豆瓣电影评分预测: 根据之前已有电影数据信息,预测即将上映电影的豆瓣 评分 如何爬取合适的信息进行预测? 图片来源:https:/ 12 分析: 13 我们提取的特征: 14 处理流程: 提取上述特征并做规范化; 建立2 个模型分别进行评测: SVM for regression 余弦相似度模型 最后的结果较为满意 总结:提取适合的特征,很重要! 15 进一步了解特征工程: http:/ http:/ 24%20feature%20engineering/ 工具 Python 中的Scikit-learn,可以特征选择、降维 Matlab 下的各种降维函数的使用 实战 Kaggle 竞赛入门: https:/ ctive&page=1&segment=gettingStarted 16王晋东不在家 http:/jd92.wang 2017.03.19 20:30-21:30