common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING


Overview
Contact
Event
Project
Research

Terms of service (Web service)

Terms of service (Quantum and ML Cloud service)

Privacy policy


Sign in
Sign up
common.title

量子とデータツールを広げるために、Auto Sklearnをつかってみた

Yuichiro Minato

2021/07/28 15:39

#AutoML #分類

Auto Sklearnをつかってみた

今更なのかもしれませんが、auto-sklearnを使ってみました。最近仕事でAutoMLを使う機会が増えてきたので、量子コンピュータに将来的に応用できるように学んでみます。
まずはインストールです。blueqat cloudにもpipで簡単に導入できました。

!curl https://raw.githubusercontent.com/automl/auto-sklearn/master/requirements.txt | xargs -n 1 -L 1 pip3 install
!pip3 install auto-sklearn

さっそく使ってみます

https://automl.github.io/auto-sklearn/master/
こちらに使い方が載っていました。チュートリアルをやってみたいと思います。
参考となるサイトもいろいろありました。

参考:Auto-sklearn2.0試してみた
https://qiita.com/dyamaguc/items/b7b8e8b0c952a53c31ab

参考:scikit-learnのサンプルデータセットの一覧と使い方
https://note.nkmk.me/python-sklearn-datasets-load-fetch/

今回は分類問題として手書きの数字を使ってみました。まずはツール読み込みです。

import autosklearn.classification
import sklearn.model_selection
import sklearn.datasets
import sklearn.metrics

手書き文字の分類を学習させて、予測をします。精度を出してみます。

%%time 

#データ読み込み
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)

#時間が長いと困るので、実行を30秒にしました
automl = autosklearn.classification.AutoSklearnClassifier(time_left_for_this_task=30, seed=1)

#学習
automl.fit(X_train, y_train)

#予測
y_hat = automl.predict(X_test)

#精度
print("Accuracy score", sklearn.metrics.accuracy_score(y_test, y_hat))
Accuracy score 0.9866666666666667
CPU times: user 1.39 s, sys: 301 ms, total: 1.69 s
Wall time: 26.1 s

結果として精度98.6...となりました。AutoMLでは実行時間を30秒よりも短くできませんでしたので、最短の30秒としましたが十分でしたね。CPU timesはtotalで1.69sとなっています。
AutoMLの中身がよくわからなかったのですが、こちらに簡単なものがありました。
https://github.com/automl/auto-sklearn

./img/askl_pipeline.png
メタ学習、データ前処理、特徴量前処理、分類計算、そしてパラメータ類をベイズ最適を使って、最後にアンサンブルを作っている感じですね。量子ばかりやっていてデータサイエンスの細かい用語や仕組みが分かりませんが、そのまま量子にも活用できそうな気がします。
論文の性能を図った図を見つけました。
https://www.semanticscholar.org/paper/Efficient-and-Robust-Automated-Machine-Learning-Feurer-Klein/775a4e375cc79b53b94e37fa3eedff481823e4a6

複数のアルゴリズムを比較しているのが見て取れます。
Auto Sklearn2.0も使いたかったのですが結構エラーが出ました。今回は普通のAuto Sklearnを使いましたが便利ですね。仕事につかえそうです。以上です。

© 2025, blueqat Inc. All rights reserved