AutoML-auto-sklearn
这是官方文档给出的安装教程,如下图所示,是你所要安装的系统需要满足的条件
我所使用的环境为:
curl https://raw.githubusercontent.com/automl/auto-sklearn/master/requirements.txt | xargs -n 1 -L 1 pip install
如果没有安装curl会提示报错,下面是安装curl的命令
sudo apt-get install curl1.2.2 安装auto-sklearn
pip install auto-sklearn1.2.3 提供c++ 11构建环境和最新SWIG版本
sudo apt-get install build-essential swig
至此,环境就搭建完成了;下面我们来测试一下;
1.3 测试1.3.1 官网示例官网的测试示例,代码如下:
import autosklearn.classification
import sklearn.model_selection
import sklearn.datasets
import sklearn.metrics
X, y = sklearn.datasets.load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = \
sklearn.model_selection.train_test_split(X, y, random_state=1)
automl = autosklearn.classification.AutoSklearnClassifier()
automl.fit(X_train, y_train)
y_hat = automl.predict(X_test)
print("Accuracy score", sklearn.metrics.accuracy_score(y_test, y_hat))
官网上说测试的精度会达到0.98,下面是我的实验结果,0.9866666666666667
Kaggle官网上有一个Digital Recognition,上面提供了训练集和没有标签的测试集,我们利用auto-sklearn构建模型并且对训练集进行训练后,对测试集进行预测得到一个预测结果后提交到Kaggle上进行比较;代码如下:
import pandas as pd
import autosklearn.classification
train = pd.read_csv('train.csv')
X_train = train.iloc[:, 1:]
y_train = train.iloc[:, :1]
cls = autosklearn.classification.AutoSklearnClassifier()
cls.fit(X_train, y_train)
X_test = pd.read_csv('test.csv')
predictions = cls.predict(X_test)
下面是我的提交,精度为0.96342
再附上最后的排名
最后的精度还是很高的,最重要的是我们仅仅只需要几行的代码,无论是模型的选择还是创建,训练,优化都不需要我们做,确实强大;
版权声明
本文仅代表作者观点,不代表博信信息网立场。