数据挖掘比赛通用框架

  • pandas: 仿照了R语言的数据结构、数据操作,一般用来做数据预处理,特征工程,其DataFrame数据格式用起来相当便利
  • scikit-learn: 家喻户晓的ML库,各种聚类、分类、回归模型等,也可以用来做预处理
  • xgboost: 陈天奇大神的杰作,改进了传统的GBDT模型,在底层用一些trick加速模型训练,非常值得一试,可以取代其他ML库里的GBDT系列模型 (很早就听说过这个碉堡的库,但一直没有上手实践,实在汗颜…后面我会结合GBDT做特征工程,实践下效果,发布到公众号)
  • keras: 神经网络相关的库,可以选择基于tensorflow或theano,赶脚很强大,我也是刚接触
  • matplotlib: 作图必备,语言风格跟MATLAB很像,很好上手
  • tpdm: 我没听过,原作者提到的,感兴趣的童鞋可以了解下

3.5. 开发环境

这里我补充说一下python开发环境和上面几个库的安装方法。首先我跟原作者一样,因为追求自(装)由(逼),所以不用python IDE(比如Anaconda, Pycharm),当然,装IDE可能省很多事情,个人建议安装Pycharm。然后我自己的python开发环境(纯属个人习惯,仅供参考):

  • windows: notepad++及其插件nppexec/explorer,结合我昨天发布的『一个神奇的脚本,一键运行各类程序』,里面的nppexec脚本可一键执行Python。以及linux风格的shell: git bash (git bash是基于msys的,跟cygwin略有不同)
  • mac: sublime及其插件Package Control/anaconda,以及iTerm2,或者自带的terminal。(sublime中import某些python库,比如matplotlib/sklearn/tensorflow会出点bug,需要修改下环境变量啥的,遇到相关问题可以微信我,尽量帮你解决)
  • linux: vim(因为我一般在命令行模式下开发)。如果是界面linux,应该可以有其他选择

另外,jupyter notebook(前身是ipython notebook)是个好东西,可以逐步执行python代码片段,不依赖于平台,可在浏览器中打开,非常适合学习过程中练手。