Python_algorithm
Python 常用的机器学习算法库介绍
Python作为目前最火的学习机器学习算法的语言之一拥有如下三个优点:
- 语法简单,上手容易
- 功能多样
- 强大的社区
- 丰富的机器学习库
Scikit-learn
GitHub: https://github.com/scikit-learn/scikit-learn
Scikit-learn是建立在Scipy和Numpy基础上的机器学习库。包含丰富的分类,回归,聚类,降维,模型选择以及预处理的方法。
注:NumPy 是以矩阵为基础的数学计算模块,Scipy是科学计算函数库。NumPy主要是纯数学的函数,Scipy包含一些高阶的抽象模型。
其中非监督的学习算法包括:岭回归,lasso回归,Elastic Net,逻辑回归,核函回归,SVM,朴素贝叶斯,决策树,增强算法等。
非监督学习算法有K-Means,Affinity propagation,Mean-shift,Spectral clustering,Ward hierarchical clustering(层次聚类),Agglomerative clustering(密度聚类),DBSCAN,Gaussian mixtures。
Theano
Github: https://github.com/Theano/Theano
Theano允许你定义、优化和评估涉及多维数组的数学表达式。能够很好的支持NumPy,有完善的文档以及教程,如下图所示。该库比较偏向学术研究,方向为神经网络与深度学习的领域。
Tensorflow
Github: https://github.com/tensorflow/tensorflow/issues
Tensorflow是现在最流行的深度学习库,利用数据流图形进行数值计算。被评选为2016年最值得fork的项目之一。该库主要由C++实现,但是有Python的API。最重要的是有中文社区以及中文文档!
主要的研究方向是神经网络。
其他库:
- Pyevolve:遗传算法
- nupic:HIM算法(层次时间记忆)
- pattern:web挖掘
- Caffe:视觉领域
- LibSVM:针对SVM算法
- Nilearn:神经影像
- Statsmodels:基于统计学
- PyMC:贝叶斯统计模型,MCMC等。
- PYMVPA:大数据的统计学习分析
- gensim:自然语言处理,主题模型
- featureforge:专门用来构建或者测试特征的库。
- vaderSentiment:语义分析