机器学习2

二、数据处理与特征工程

1.问题提出

还是大家熟悉的最常见的鸢尾花分类

问题:如何根据鸢尾花的花萼和花瓣大小将其分为三种不同的品种?

2.机器如何学习

数据预处理【数据清洗,数据集拆分,数据采样】——》特征工程【特征编码,特征选择,特征将维,规范化】——》数据建模【回归问题,分类问题,聚类问题,其他问题】——》结果评估【拟合度量,查准率,查全率,F1值,DP曲线,POC曲线】

2.1数据清洗

对各种脏数据进行对应方式的处理,得到标准,感觉,连续的数据,提供给数据统计,数据挖掘等使用。

  • 数据的完整性:例如人的属性中缺少性别,籍贯,年龄等;解决办法:信息补全(使用身份证件号码推算性别,籍贯,出生日期,年龄等);剔除;
  • 数据的合法性:例如获取数据与尝试不符,年龄大于150岁;解决办法:设置字段内容(日期字段格式为2020-02-12);类型的合法规则(性别 in 【男,女,未知】)
  • 数据的唯一性:例如不同来源的数据出现重复的情况;解决办法:按主键去重(用sql或者excel“去除重复记录”)/按规则去重(如不同渠道来的客户数据,可以通过相同的关键信息进行匹配,合并去重)
  • 数据的权威性:例如出现多个来源的数据,且数值不一样;解决办法:胃不痛渠道设置权威级别,如:在家里,首先得相信老婆说的。。。
2.2 数据采样

值数据集的类别分布不均

比如说二分类问题,100个训练样本,比较理想的情况是正类、负类的样本的数量相差不多;而且如果正类样本有99个负样本为1个,就意味着存在类的不平衡。

此时预测时就算全部为正,准确率也可以达到99%,这并不能反映模型的好坏(面临不平衡数据集的时候,传统的机器学习模型的评价方法不能精确地衡量模型的性能)

解决办法

过采样:通过随机复制少数类来增加其中的实例数量,从而可增加样本中少数类的代表性

欠采样:通过随机的消除占多数的类的样本来平衡类分部,直到多数类和少数类的实例实现平衡。

2.3数据集拆分

机器学习中将数据划分为3份

1.训练数据集:用来构建机器学习模型

2.验证数据集:辅助构建模型,用于在构建过程中评估模型,提供无偏估计,进而调整模型参数

3.测试数据集:用来评估训练好的最终模型的性能

常用拆分方法

留出法:直接将数据集划分为互斥的集合,如通常选择70%作为训练集,30%作为测试集。需要注意的是保持划分后集合数据分部的一致性,避免划分过程中引入额外的偏差而对最终结果产生影响。

K-折交叉验证法:将数据及划分为k个大小相似的互斥子集,并且尽量保证每个子集数据分部的一致性。这样就可以获取k组的训练-测试集,从而进行k次训练和测试,k通常取值为10。

2.4特征编码

数据集中经常会出现字符串,例如男女,高中低,这类信息不能直接用于算法计算,需要将这些数据转化为数值形式进行编码,用于后期进行建模。

one-hot编码:采用n位状态码寄存器来对N个状态进行编码,每个状态都由它独立的寄存器位,并且在任意时候只有一位有效。例:男为1女为0

语义编码:one-hot编码无法体现数据间的语义关系,对于一些有关联的温恩信息来说,无法真正体现数据关联。对于这一类信息通常采用词嵌入的方法是比较好的选择,词嵌入信息可以编码语义信息,生成特征语义表示。目前在这一领域比较好的方法是基于google的word2vec方法。

2.5特征选择

过滤法:按照发散性或相关性对各个特征进行评分,设定阈值完成特征选择。

包裹法:选定特定算法,然后通过不断的启发式方法来搜索特征

嵌入法:利用正则化的思想,将部分属性特征的权重调整到0,则这个特征相当于就是被舍弃了。

2.6特征将维

特征选择完后,可能由于特征矩阵较大,导致计算量大,训练时间长,因此江地铁站矩阵维度也是必不可少的

主成分分析(PCA):将原始特征空间映射到彼此正交的特征向量空间,在非满秩的情况下使用SVD分解来构建特征向量

现行判断单分析(LDA):给出一个标注了类别的数据集,投影到了一条直线之后,能够使得点尽量的按类别区分开。

2.7规范化

不同属性具有不同量级会导致:1,数量级的差异将导致量级较大的属性占据主导地位;2,数量级差异将导致迭代收敛速度减慢;3,依赖于样本距离的算法对于数据的数量级非常敏感。

标准化:通过减去均值然后除以方差,将数据按照比例缩放,使之落入一个小的特定区间。

区间缩放:将属性缩放到一个指定的最大和最小值(通常是0-1)之间

归一化:将某一属性特征的模长转化为1

2.8机器学习方法分类

分类问题:决策树、贝叶斯、支持向量机、逻辑回归、集成学习

回归问题:线性回归、岭回归、Lasso回归

聚类问题:K-means、高斯混合聚类、密度聚类、层次聚类、谱聚类

其他问题:隐马尔科夫模型、LDA主题模型、条件随机场、神经网络、深度学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值