以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文
本节内容由 Randal S. Olson 编写,是Penn 生物医学信息学研究所 开发区下的一个 TPOT 数据科学自动化工具的 demo https://github.com/rhiever/tpot。
本节以代码示例为主,重点说明机器学习过程中的难点,以及 TPOT 如何实现机器学习自动化。
一、为什么要实现数据科学自动化?
1、模型参数调整是重要的
- import pandas as pd
- import numpy as np
- from sklearn.ensemble import RandomForestClassifier
- from sklearn.cross_validation import cross_val_score
- mnist_data = pd.read_csv('https://raw.githubusercontent.com/rhiever/Data-Analysis-and-Machine-Learning-Projects/master/tpot-demo/mnist.csv.gz', sep='\t', compression='gzip')
- mnist_data.head()
- %matplotlib inline
- import matplotlib.pyplot as plt
- import seaborn as sb
- plt.figure(figsize=(8, 8))
- for record_num in range(1, 65):
- plt.subplot(8, 8, record_num)
-
- digit_features = mnist_data.iloc[record_num].drop('class').values
- sb.heatmap(digit_features.reshape((28, 28)),
- cmap='Greys',
- square=True, cbar=False,
- xticklabels=[], yticklabels=[])
- plt.tight_layout()
- ;
- cv_scores = cross_val_score(RandomForestClassifier(n_estimators=10, n_jobs=-1),
- X=mnist_data.drop('class', axis=1).values,
- y=mnist_data.loc[:, 'class'].values,
- cv=10)
- print(cv_scores)
- print(np.mean(cv_scores))
- cv_scores = cross_val_score(RandomForestClassifier(n_estimators=100, n_jobs=-1),
- X=mnist_data.drop('class', axis=1).values,
- y=mnist_data.loc[:, 'class'].values,
- cv=10)
- print(cv_scores)
- print(np.mean(cv_scores))
以上内容转自 数析学院,如需完整内容可以直接查看原文