一年结束,作者列出了2018年的7大最好的Python库,这些库确实地改进了研究人员的工作方式。
7. AdaNet ———快速灵活的AutoML框架
AdaNet是一个轻量级的、可扩展的TensorFlow AutoML框架,用于使用AdaNet算法训练和部署自适应神经网络[Cortes et al. ICML 2017]。AdaNet结合了多个学习子网络,以减轻设计有效的神经网络所固有的复杂性。
在这里给大家推荐一个python系统学习q群:250933691有免费开发工具以及初学资料,(数据分析,爬虫,机器学习,神经网络)每天有老师给大家免费授课,欢迎一起交流学习
这个软件包将帮助你选择最优的神经网络架构,实现一种自适应算法,用于学习作为子网络集合的神经架构。
你需要了解TensorFlow才能使用这个包,因为它实现了TensorFlow Estimator,但这将通过封装训练、评估、预测和导出服务来帮助你简化机器学习编程。
你可以构建一个神经网络的集合,这个库将帮助你优化一个目标,以平衡集合在训练集上的性能和将其泛化到未见过数据的能力之间的权衡。
安装
安装adanet之前需将TensorFlow升级到1.7或以上:
$ pip install "tensorflow>=1.7.0"
从源代码安装
要从源代码进行安装,首先需要安装bazel。
下一步,复制adanet和cd到它的根目录:
$ git clone https://github.com/tensorflow/adanet && cd adanet
从adanet根目录运行测试:
$ cd adanet $ bazel test -c opt //...
确认一切正常后,将adanet安装为pip包。
现在,可以对adanet进行试验了。
import adanet
用法
有关AdaNet的详细用法,请阅读官方教程:
https://github.com/tensorflow/adanet/tree/master/adanet/examples/tutorials
https://ai.googleblog.com/2018/10/introducing-adanet-fast-and-flexible.html?m=1
6. TPOT——一个自动化的Python机器学习工具
https://github.com/EpistasisLab/tpot
之前我介绍过Auto-Keras,这是一个很棒的AutoML库。现在我们有另一个非常有趣的工具——TPOT。
TPOT全称是基于树的pipeline优化工具(Tree-based Pipeline Optimization Tool),这是一个非常棒Python自动机器学习工具,使用遗传编程优化机器学习pipeline。
TPOT可以自动化许多东西,包括生命特性选择、模型选择、特性构建等等。如果你是Python机器学习者,很幸运,TPOT是构建在Scikit-learn之上的,所以它生成的所有代码看起来应该很熟悉。
它的作用是通过智能地探索数千种可能的pipeline来自动化机器学习中最繁琐的部分,找到最适合你的数据的pipeline,然后为你提供最佳的 Python 代码。
它的工作原理如下:
安装
安装TPOT之前,请先阅读教程:
http://epistasislab.github.io/tpot/installing/
然后,运行以下代码:
- pip install tpot
例子:
首先让我们从基本的Iris数据集开始:
- 1from tpot import TPOTClassifier
- 2from sklearn.datasets import load_iris
- 3from sklearn.model_selection import train_test_split
- 4
- 5# Load iris dataset
- 6iris = load_iris()
- 7
- 8# Split the data
- 9
- 10X_trainX_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target,
- 11 train_size=0.75, test_size=0.25)
- 12
- 13# Fit the TPOT classifier
- 14
- 15tpot = TPOTClassifier(verbosity=2, max_time_mins=2)
- 16tpot.fit(X_train, y_train)
- 17