知人が言っていました。この広告は、90日以上更新していないブログに表示しています。2019-03-30AutoSklearnを使ってみた機械学習-AutoML背景AutoSklearnを使ってみました。Hyperoptよりも得られた分類器の性能が低かったです。autosklearnのバージョンは0.5.0です。AMIで構築したUbutu1804のEC2インスタンスではエラーが出ます。18.04では動きました。別の目的関数で探索が行われてそうな感じです。boxで使えませんでした。現状はautosklearnのソースコードを読む必要がありそうです。データが集まっていないプロジェクト初期段階で活躍する可能性を秘めています。今の所、GridSearchやHyperoptの方が使いやすいです。アルゴリズムの概要アルゴリズムは論文にさらっと書かれています。Learningこの論文のポイントは次の2点です。startさせたこと。過去にベイズ最適化で学習させたものを、活用。メタ特徴ベクトル間の距離からtopkを選び、そのconfiguration(ベイズ最適化の探索空間の変数)を選び、それらのconfigurationで学習させることからベイズ最適化がスタートされる。空間は2つあって、メタ学習記録用の空間と、configurationの探索空間の2つです。selectionを組み合わせた点。learningは素人でもまっさきに思いつくけど、途中のアウトプットを組み合わせるのは確かにシンプルで効果的。optimizationより最適になりそうとのことです。時間をかけても最終的に得られる性能が低くなってしまう懸念はあります。データセットによっては性能が低くても不思議ではないです。インストールして実装する並列実行刷るサンプルが実用的で役立つので、このサンプルを元に拡張しました。あとは、APIドキュメントが役立ちます。結果的にできたプログラムはこんな感じです。あと、この方法に関しては、日本語のドキュメントもたくさんあります。いった結果が得られたか詳細を知る方法についてまとめます。上記サンプルプログラムのIPython内で実行刷る想定です。Ensembleされた最終的なモデルの分析Autosklearnの出力はEnsembleされたモデルです。Ensembleに使われたモデル一つ一つの詳細を見たりできます。下記の例はそれぞれの構成モデルのprecisionを計算します。refitしていない場合は構成要素からはインデックスが返ってくるので変換します。refitしている場合は、素直です。プライベートメンバにアクセスしなければなりません。下記のコードは探索された全モデルのprecisionを計算します。これはrifitしていない場合です。scores.max()refitするとエラーがでますが、原因は不明。どちらにせよコードを読まないとだめな気がします。sklearnについて調査した月別アーカイブはてなブログをはじめよう!sam_yusukeさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。