-
写在开头的总结
写了两天,写了三遍,两遍看着baseline的代码一行一行吃,一遍自己看着思路复现一边,头一次打这个真的挺难受的,深刻的理解了自己在没有金刚钻的情况下揽瓷器活的感觉,做这个的关键还是在于pandas和numpy的处理这一步吧,特征工程对于数据的处理操作我还是没有很熟悉,日后得慢慢多写写pandas了(笑)
-
关于df.map
series1.map(函数或者其他式子)
在这里的作用应该更多是作为更改数据的作用
map将前一个series里的数据输入括号里面的函数式处理然后输出到一个新的series里
-
关于df.groupby
df.groupby('列1')['列2'].操作函数
以列1作为摹本,将列2中的数据以操作函数处理后生成到新的一个列3里,列3的排列会与列1一致
-
决策树分类
查了一下,发现是用于解决离散问题的,在解决连续数据的时候效果并不是很好
优点
1.是一种易于理解的算法
2.可以在数据处理上面不必花费大量精力
3.在静态模型上面有比较好的预测效果
4.适合对于离散模型进行预测
缺点
1.不适合预测连续字段
2.如果数据有时间顺序,则需要进行很多预处理工作
3.由于本质上是一种if-else模型,故在类别多时,错误出现的比较快
4.在一般的算法分类时,只根据一个字段分类
跟之前见过的线性回归的用法类似,先调用,然后有
clf.fit()
在fit里面第一个参数设定训练集的范围,这次用到了drop,用于排除不要的数据,“udmap”、“uuid”、“common_ts”、“target”均被排除,毕竟之前已经做过特征处理了,用了axis=1的参数,用来做横排处理;然后第二个参数是用来做训练的目标,这里写了target作为训练目标,再进行训练后用
clf.predict
进行预测就可以了