面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

23
面面面面面面面面面面面面面 面面面面 面 TPOT 面面面面面面 Acroquest Technology 面面面面 面面 面面@tereka114

Transcript of 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

Page 1: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

面倒くさいこと考えたくないあなたへ〜 TPOTと機械学習〜Acroquest Technology株式会社山本 大輝(@tereka114)

Page 2: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

自己紹介1. 山本 大輝(@tereka114)2. Acroquest Technology 株式会社3. 画像処理、データ分析4. 「のんびりしているエンジニアの日記」( http://nonbiri-tereka.hatenablog.com/)

Page 3: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

機械学習にデータを入れたい?

Page 4: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

何を考えますか?

Page 5: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

データの加工方法?

Page 6: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

確かにそうでしょう。

Page 7: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

一覧化しました。

Page 8: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

機械学習において考えないといけないこと1. 前処理1. 前処理の種類2. 特徴選択3. 特徴量加工2. モデル1. どんなモデルを作るか

1. Logistic Regression,2. Random Forest3. パラメータ

1. Ex. SVM(C, kernel ,eps etc)4. 評価1. Log loss, mse, rmse

Page 9: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

考えること多すぎ!

Page 10: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

めんどくさい

Page 11: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

機械学習において考えないといけないこと1. 前処理1. 前処理の種類

1. Z変換2. モデル1. どんなモデルを作るか

1. Logistic Regression,2. RandomForest3. パラメータ

1. SVM(C, kernel ,eps etc)4. 評価1. Log loss, mse, rmse

Page 12: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

自動化します。

Page 13: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

そう、 TPOTで

Page 14: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

What is TPOT?

1. TPOTは自動的にモデル選択、パラメータの選択を遺伝的プログラミングを使って、最適化します。1. 遺伝的プログラミングの実装は DEAPを使っている。

2. で、何ができるの?1. 入力した特徴量から最適化する。2. 最適化したコードを吐き出す。3. コマンドラインとしても実行可能

Page 15: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

TPOT 概要

Page 16: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

TPOT 概要

前処理 モデル構築 パラメータの最適化

Page 17: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

TPOT Example

Page 18: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

TPOT Example データ作成

学習する

スコア計算する

ファイルに Export

Pipeline

Page 19: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

TPOTクラス1. TPOT自身は、 TPOTのコードを exportする他に

predict, fit, fit_transform, score等のメソッドを持つ。2. TPOTは scikit-learnを継承していないが、基本的に scikit-learnと同じインターフェースとして使える。3. 内部は全て scikit-learn

4. TPOT便利

Page 20: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

生成コード

ここを変更する。

Page 21: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

内部では・・・?1. TPOTの前処理や分析は全て scikit-learnのクラスを使っている。

1. Feature Selection等2. 遺伝的プログラミングのコードは DEAPライブラリによる作成なので、パラメータ( generation)等は似ている。

Page 22: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

まとめ1. TPOTを使った簡単な機械学習に挑戦した。2. 遺伝的プログラミングを使った最適化によって良い処理を生成する。3. 簡単にコードを生成し、使える。

Page 23: 面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜

御清聴ありがとうございました!