1、花了少量时间补充上周五的小结
2、然后开始继续抄作业
- kernel去除outliers的方法是用的常数,-0.4和0.4,为什么这样设计,并没有给出说明,这个值是介于2 delta和3 delta之间
- 缺失值处理方面,全部用-1填补
- 对于类型为object的变量,使用了一个sklearn.preprocessing中的LabelEncoder,这个类使用上需要建立一个实例,使用方法很简单,一个fit产生编码,transform用编码去替代,从0开始编码到n-1
lbl = LabelEncoder() lbl.fit(list(column.values)) column = lbl.transform(list(column.values))
- 这个kernel用到的算法就是单纯的xgb,这里多涉及到一个参数,base_score,这个其实就是init_score,就好比之前sklearn的GBDT用的初始预测就是logOdds
- xgb最耗时的是,DMatrix的转换,应该是用控件换时间,我一个150M的数据集转换出来是1.2G,所以大的数据集转换了要序列化到硬盘,下次可以直接载入
cv_result = xgb.cv(xgb_params, dtrain, nfold=5, num_boost_round=1000, early_stopping_rounds=50,