Python拥有大量的数据分析、统计和机器学习库,使其成为许多数据科学家的首选语言。
以下是基于Python的机器学习总结,包括一些广泛使用的机器学习方法和工具。
注:该项目所有的代码实现基于python3,文章中数学公式要在github上正常显示,需安装 chrome插件 mathjax plugin for github 或者clone后离线使用markdown编辑器阅读。
机器学习实战
《统计学习方法》算法实现
SciPy 栈由数据科学所使用的一组核心帮助包组成,用于统计分析和数据可视化。 由于其庞大的功能和易用性,scripy栈被认为是大多数数据科学应用的必备条件。该栈主要包含NumPy,Matplotlib,pandas等包。
Scikit是一个用于Python的免费开源机器学习库。 它提供了现成的功能来实现诸如线性回归、 分类器、SVM、k-均值和神经网络等多种算法。它还有一些可直接用于训练和测试的样本数据集。由于其速度、鲁棒性和易用性,它是许多机器学习应用程序中使用最广泛的库之一。这里有一个使用scikit-learn进行机器学习的demo,关于scikit-learn的更多内容可以在 官方文档 中阅读。
TensorFlow 是一款用于数值计算的强大的开源软件库,特别适用于大规模机器学习的微调。这里有一个使用tf解决手写识别问题的demo,关于tensorflow的更多教程可以在中文社区中阅读。
Keras是一个高层神经网络API,Keras由纯Python编写而成并基Tensorflow、Theano以及CNTK]后端。Keras 为支持快速实验而生,能够把你的idea迅速转换为结果,如果你有如下需求,请选择Keras:
- 简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)
- 支持CNN和RNN,或二者的结合
- 无缝CPU和GPU切换
知识 | 实现 |
---|---|
线性回归(Linear Regression) | 代码 |
逻辑回归(Logistic Regression) | 代码 |
正则化(Regularization) | 代码 |
决策树(Decision Tree) | 代码 |
K近邻(k-Nearest Neighbour) | 代码 |