如何提高机器学习模型预测准确率

如何提高机器学习模型预测准确率

转载:https://zhuanlan.zhihu.com/p/25013834

这篇文章主要从工程角度来总结在实际运用机器学习进行预测时,我们可以用哪些tips来提高最终的预测效果,主要分为Data Cleaning,Features Engineering, Models Training三个部分。

Data Cleaning

  1. 移除多余的duplicate features(相同或极为相似的features)

  2. 移除constant features(只有一个value的feature)

#R里面可以使用unique()函数判断,如果返回值为1,则意味着为constant features
  1. 移除方差过小的features(方差过小意味着提供信息很有限)
#R中可以使用caret包里的nearZeroVar()函数
#Python里可以使用sklearn包里的VarianceThreshold()函数
  1. 缺失值处理:将missing value重新编为一类。
#比如原本-1代表negative,1代表positive,那么missing value就可以全部标记为0
#对于多分类的features做法也类似二分类的做法
#对于numeric values,可以用很大或很小的值代表missing value比如-99999.
  1. 填补缺失值

可以用mean,median或者most frequent value进行填补

#R用Hmisc包中的impute()函数
#Python用sklearn中的Imputer()函数
  1. 高级的缺失值填补方法

利用其他column的features来填补这个column的缺失值(比如做回归)

#R里面可以用mice包,有很多方法可供选择

注意:不是任何时候填补缺失值都会对最后的模型预测效果带来正的效果,必须进行一定的检验。

Features Engineering

  1. Data Transformation

a. Scaling and Standardization

#标准化,R用scale(), Python用StandardScaler()
#注意:Tree based模型无需做标准化

b. Responses Transformation

#当responses展现skewed distribution时候用,使得residual接近normal distribution
#可以用log(x),log(x+1),sqrt(x)等
  1. Features Encoding

a.离散特征转化成连续特征

b.label encoding

  1. Features Extraction
#主要是针对文本分析
  1. Features Selection

    a. 方法很多,此处略过

    b. 此外,PCA等方法可以生成指定数量的新features(映射)

    c. 擅对features进行visualization或correlation的分析。

Models Trainning

  1. Mostly Used ML Models

尝试多一些的模型,比如下面这些:

在这里插入图片描述

  1. 利用Grid Search进行hyper参数的选择

  2. 利用Cross-Validation衡量训练效果

  3. Ensemble Learning Methods

54)]

  1. 利用Grid Search进行hyper参数的选择

  2. 利用Cross-Validation衡量训练效果

  3. Ensemble Learning Methods

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值