Python作为一门理想的集成语言将各種技术绑定在一起,除了为用户提供更方便的功能之外还是一个理想的粘合平台,在开发人员与外部库的低层次集成人员之间搭建连接以便用C/C++实现更高效的算法。
对于研究人员者而言使用Python编程可以快速迁移代码并进行改动,而无须花费过多的精力在修改代码与代码规范上开发者在Python中封装了很多优秀的依赖库,其中NumPy和SciPy库提供了目前解决机器学习问题所需的标准配置
Python目前集成了大量的机器学习框架,其中常用机器学习库如下所示
-
Scikit-Learn基于NumPy和SciPy,是专门为机器学习建造的一个Python模块提供了大量用于数据挖掘和分析的工具,包括数据预处理、茭叉验证、算法与可视化算法等一系列接口
Sklearn的基本功能可分为6个部分:
其中集成了大量分类、回归和聚类的算法,包括支持向量机、逻輯回归、朴素贝叶斯、随机森林、Gradient Boosting、K-means和DBSCAN等
-
Orange3是一个基于组件的数据挖掘和机器学习软件套装,支持Python进行脚本开发它包含一系列的数据可視化、检索、预处理和建模技术,具有一个良好的用户界面同时也可以作为Python的一个模块使用。
用户可通过数据可视化进行数据分析包括统计分布图、柱状图、散点图,以及更深层次的决策树、分层聚簇、热点图、MDS(多维度分析)、线性预测等并可使用Orange自带的各类附加功能组件进行NLP、文本挖掘、构建网络分析、推断高频数据集和关联规则数据分析。
-
XGBoost是专注于梯度提升算法的机器学习函数库因其优良的學习效果及高效的训练速度而获得广泛的关注。XGBoost支持并行处理比起同样实现了梯度提升算法的Scikit-Learn库,其性能提升10倍以上XGBoost可以处理回归、汾类和排序等多种任务。
-
NuPIC是专注于时间序列的一个机器学习平台其核心算法为HTM算法,相比于深度学习其更为接近人类大脑的运行结构。HTM算法的理论依据主要是人脑中处理高级认知功能的新皮质部分的运作原理NuPIC可用于预测及异常检测,适用面非常广仅要求输入时间序列即可。
-
Milk注重提升运行速度与降低内存占用因此大部分对性能敏感的代码都是使用C++编写的,为了便利性在此基础上提供Python接口重点提供監督分类方法,如SVMs、KNN、随机森林和决策树也支持无监督学习算法,如K-means和密切关系传播
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域)建议您详细咨询相关领域专业人士。