Kaggle入门系列:(二)机器学习环境搭建

想要参加Kaggle,首先要搭建好我们的机器学习环境。

参加Kaggle竞赛的第一步,选定一个平台。目前,在数据分析方向最主流的两个平台是R语言python,相比较之下,我更推荐大家使用Python来完成Kaggle上的竞赛。

Kaggle入门系列:(二)机器学习环境搭建_第1张图片

原因主要包括以下几点:
- Python的生态系统比较完善,针对数据分析、机器学习的各个领域都有相对应的包来解决我们的问题,比如:sklearn,pandas,xgboost 等。
- Python有一些非常优秀的深度学习框架供我们选择,比如Theano,TensorFlow,Keras 等
- Python语法简单,上手速度快,能够用最少的代码解决我们的问题,让我们的主要精力放在解决业务问题而不是编程问题上。

1、操作系统选择

Windows是我们平时办公用的较多的操作系统,但是,在这里还是推荐使用Linux。Ubuntu是目前使用比较多的桌面Linux系统,各种软件的支持也比较好。
Kaggle入门系列:(二)机器学习环境搭建_第2张图片

2、Python开发环境搭建

Kaggle入门系列:(二)机器学习环境搭建_第3张图片
Python有两个版本可供我们选择,python3.x和python2.x。由于3.x与2.x的差异问题,有很多包对3.x的支持不太好,所以建议选择Python2.x

Kaggle入门系列:(二)机器学习环境搭建_第4张图片
Ubuntu系统都自带Python,我们只需要安装常用的数据分析包:numpy,scipy,pandas,sciket-learn,matplotlib等。
Ubuntu下可以用命令安装:
sudo apt-get install python-numpy sudo apt-get install python-scipy sudo apt-get install python-matplotlib sudo apt-get install python-pandas sudo apt-get install python-sklearn

Anaconda
如果觉得手动一个一个安装比较麻烦,我们可以选择打包好的Python环境。比较推荐大家使用Anaconda来搭建数据分析环境。
Kaggle入门系列:(二)机器学习环境搭建_第5张图片

Anaconda*是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。*

3.深度学习

AlphaGo在2017年年初化身Master,在弈城和野狐等平台上横扫中日韩围棋高手,取得60连胜,未尝败绩。AlphaGo背后神秘的推动力就是深度学习。深度学习领域目前最为流行的框架主要有:

(1)TensorFlow


TensorFlow是一款开源的数学计算软件,使用数据流图(Data Flow Graph)的形式进行计算。图中的节点代表数学运算,而图中的线条表示多维数据数组(tensor)之间的交互。TensorFlow灵活的架构可以部署在一个或多个CPU、GPU的台式以及服务器中,或者使用单一的API应用在移动设备中。TensorFlow最初是由研究人员和Google Brain团队针对机器学习和深度神经网络进行研究所开发的,目前开源之后可以在几乎各种领域适用。

(2)Torch

Kaggle入门系列:(二)机器学习环境搭建_第6张图片
Torch是一个有大量机器学习算法支持的科学计算框架,其诞生已经有十年之久,但是真正起势得益于Facebook开源了大量Torch的深度学习模块和扩展。Torch另外一个特殊之处是采用了编程语言Lua(该语言曾被用来开发视频游戏)。

(3)Theano

Kaggle入门系列:(二)机器学习环境搭建_第7张图片
2008年诞生于蒙特利尔理工学院,Theano派生出了大量深度学习Python软件包,最著名的包括Blocks和Keras。Theano的核心是一个数学表达式的编译器,它知道如何获取你的结构。并使之成为一个使用numpy、高效本地库的高效代码,如BLAS和本地代码(C++)在CPU或GPU上尽可能快地运行。它是为深度学习中处理大型神经网络算法所需的计算而专门设计的,是这类库的首创之一(发展始于2007年),被认为是深度学习研究和开发的行业标准。

结束语

本篇文章主要是搭建入门机器学习的基础环境,所以不过多介绍深度学习环境的搭建,有兴趣的同学在入门之后可以在这些框架的官方网站得到更多详细的介绍。

完成基础环境搭建后,下篇文章,我选择最简单的Titanic幸存者预测来入门Kaggle。

欢迎关注微信公众号:kaggle数据分析!

你可能感兴趣的:(kaggle)