Lesson 1:机器学习算法、工具与流程概述

一、总结一些知识点

1、对于unbalanced data的处理方法

当一个data不同label数据量比例为1:2 或 2:3,这种情况时,可以直接进行model train。但是当达到10 : 1这样的比例时,则将其称之为unbalanced data,对其处理方式有如下几种:
way1:可以采用“下采样”的方法,使得data不同label数据达到平衡;
way2:加入label1 : label2 = 10 : 1,则将label1分为10份,分别与label2数据集组合为一个数据集后,训练10个model,然后采用bagging的方式,得出最终的prediction结果。
way3:给不同label的数据,在loss function中加入不同的“权重”。

2、对于“缺失值”的处理方法:

way1:当缺失值 数量中等时,可以将其看作一个独立类型,进行one-hot encoding;
way2:缺失值 数量较小时,可以采用适当方式对其进行填充;
way3:缺失值 数量较大时,可以直接舍弃该feature;

3、如果一个feature的数据分布为long tailed,则由于其大部分value都集中在一个很小的区域,因此,不做任何处理的feature对model train无意义,要想使用这个feature,可对其做如下处理:

way1:如果feature为连续值,将连续值进行离散化;

4、数据变换的方式有如下几种:

way1:log
way2:指数
way3:Box-Cox
在这里插入图片描述

5、对于不同类型的feature可以做不同的处理

type1:时间型:可以将时间离散化,eg:{节日,非节日},{饭点,非饭点},{工作日,非工作日};
type2:文本类:n-grams,bag of words,TF-IDF,word2vec;
type3:统计型:如:电脑开机速度 击败 3%;
note that:如果数据量过大,在处理feature时,可以一部分一部分来进行处理;
note that:如果一个feature中有3种类别数据,则可对其进行one-hot encoding,为{[1,0,0] , [0,1,0] , [0,0,1]}。除此以外,也可以如是encoding,{[1,0] , [0,1], [0,0]}

6、如果要用GBDT不要用sklearn,可以用XGBoost(more often),或,LightGBM
7、xgboost使用说明

N1:在使用xgboost时,可以将data以libsvm(sparse data format),或,numpy format(用sklearn model时要将data转为Numpy形式)存储;
N2:不建议在xgboost中进行缺省值填充,因为他只能用一个value对所有feature的缺省值进行填充;

8、kaggle wiki

好吧,不幸的发现kaggle 2017 年已经被收购,kaggle wiki不能用了,复制一个链接,里边罗列了很多“目标函数(loss function)”:https://github.com/fxia22/ebola-1/blob/master/SharedData/Kaggle-Setup.md

二、总结几个code模板:

blending model 模板
xgboost模型训练,调参
绘制学习曲线(plot learning curve)

三、feature engineering 思维导图

四、机器学习常用工具

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sarah ฅʕ•̫͡•ʔฅ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值