学习天池课程《机器学习实战进阶:泰坦尼克号乘客获救预测》有感

文章目录

  • 0 致谢及参考
  • 1 过去疑问
  • 2 解决方法
  • 3 总结

0 致谢及参考

感谢阿里云的天池AI系列课程,确实很多干货,本博客就是看了以下链接的内容有感,也是做一个学习记录。
https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12282042.0.0.1dce2042MmtR1e&postId=6772
https://tianchi.aliyun.com/course/

1 过去疑问

解决了我以前对数据分析的很多疑惑,可以说研究之后真的是有醍醐灌顶的感觉,其中包括的疑惑我这里先罗列出来:

  • 如何对缺失值进行填充(特别是用其他的算法对缺失值填充)
  • 如何去分析数据的关系,哪些变量对结果影响大,到底如何分析
  • 如何把变量转化为sklearn(仅可处理数值变量)可处理的状态
  • 如何处理连续变量,作为sklearn可处理的状态
  • 分析数据的一些办法(相关性、分布图)
  • 输入模型前对数据的一些处理方法(如正则化)
  • 如何模型融合
  • 如何将一层模型的输出值作为特征,作为下一层模型的输入特征

差不多以上就是我以前对数据分析的大部分疑惑,上面链接的教程都有提到,并且用了一些比较好的作图工具,比如seaborn包。

2 解决方法

  • 缺失值的填充可以用.fillna方法快速填充,用其他的模型去填充用python实现也是非常简便的(比如随机森林)
  • 分析数据用python里面的groupby简单明了
  • 把变量转为数值有两种方式:pandas里面的get_dummiesfactorize
  • 对于连续变量用pandas里面的qcut把连续变量分成几段(binning化),然后再factorize化或者dummies化都可以
  • 就利用seaborn里的函数做相关性或数据分布图,很好看
  • 一定要预处理比如正则化,还有去掉用处较小的变量(Dataframe直接使用drop
  • 可以直接均值融合
  • 将上一层的每个模型对训练集的X_tra进行预测获得预测值Y_tra的集合,并输出测试集的预测值Y_tex(这里用N折的均值),因为这里用到了KFold重新构建。然后用Y_tra作为第二层模型的训练的输入值,训练集真实的Y值作为训练的输出值,进行训练。然后上一层的Y_tex作为这一层模型的输入值进行最终的预测。

3 总结

  1. 最后还提到了学习曲线,可以观察模型处于什么样的状态。绘制起来也比较便捷,以下为图例:
    学习天池课程《机器学习实战进阶:泰坦尼克号乘客获救预测》有感_第1张图片
  2. 最后还有一点心得就是,我能想到的很多东西其实都已经有现成的工具了,没必要自己再去写,用学会更广地去搜索资料达到事半功倍的效果。

你可能感兴趣的:(机器学习(数据分析))