Submit Search
Upload
初めての機械学習
•
Download as PPTX, PDF
•
0 likes
•
123 views
M
MariMurotani
Follow
3ヶ月間社内R&D的な活動において主に自宅学習で学んだことのアウトプット
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 18
Download now
Recommended
顧客データを基にしたHivemallによる成約率予測
顧客データを基にしたHivemallによる成約率予測
Classi.corp
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
Hajime Sasaki
SEO:Google構造化データ、リッチスニペットについて
SEO:Google構造化データ、リッチスニペットについて
Yoshinori Kobayashi
ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回
Naoyuki Yamada
DataRobotを用いた要因分析 (Causal Analysis by DataRobot)
DataRobotを用いた要因分析 (Causal Analysis by DataRobot)
Yuya Yamamoto
機械学習を使った時系列売上予測
機械学習を使った時系列売上予測
DataRobotJP
ロジスティック回帰入門
ロジスティック回帰入門
y-uti
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで
Shunsuke Nakamura
Recommended
顧客データを基にしたHivemallによる成約率予測
顧客データを基にしたHivemallによる成約率予測
Classi.corp
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
Hajime Sasaki
SEO:Google構造化データ、リッチスニペットについて
SEO:Google構造化データ、リッチスニペットについて
Yoshinori Kobayashi
ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回
Naoyuki Yamada
DataRobotを用いた要因分析 (Causal Analysis by DataRobot)
DataRobotを用いた要因分析 (Causal Analysis by DataRobot)
Yuya Yamamoto
機械学習を使った時系列売上予測
機械学習を使った時系列売上予測
DataRobotJP
ロジスティック回帰入門
ロジスティック回帰入門
y-uti
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで
Shunsuke Nakamura
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
Shunsuke Nakamura
Collaborativefilteringwith r
Collaborativefilteringwith r
Teito Nakagawa
効果測定入門 Rによる傾向スコア解析
効果測定入門 Rによる傾向スコア解析
aa_aa_aa
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
Takashi J OZAKI
スニペットとウェブカウントを用いたウェブ検索クエリの分類
スニペットとウェブカウントを用いたウェブ検索クエリの分類
Yahoo!デベロッパーネットワーク
Big data解析ビジネス
Big data解析ビジネス
Mie Mori
課題研究 JavaScriptの基礎理論と活用方法
課題研究 JavaScriptの基礎理論と活用方法
igucci
07232012需要予測モデル0.3 5
07232012需要予測モデル0.3 5
Izumi Akiyama
おしゃスタat銀座
おしゃスタat銀座
Issei Kurahashi
機械学習をビジネスに利活用する人たちに対してモデル開発後の実運用フェーズにおける課題とその対策方法
機械学習をビジネスに利活用する人たちに対してモデル開発後の実運用フェーズにおける課題とその対策方法
日本ディープラーニング協会(JDLA)
More Related Content
Similar to 初めての機械学習
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
Shunsuke Nakamura
Collaborativefilteringwith r
Collaborativefilteringwith r
Teito Nakagawa
効果測定入門 Rによる傾向スコア解析
効果測定入門 Rによる傾向スコア解析
aa_aa_aa
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
Takashi J OZAKI
スニペットとウェブカウントを用いたウェブ検索クエリの分類
スニペットとウェブカウントを用いたウェブ検索クエリの分類
Yahoo!デベロッパーネットワーク
Big data解析ビジネス
Big data解析ビジネス
Mie Mori
課題研究 JavaScriptの基礎理論と活用方法
課題研究 JavaScriptの基礎理論と活用方法
igucci
07232012需要予測モデル0.3 5
07232012需要予測モデル0.3 5
Izumi Akiyama
おしゃスタat銀座
おしゃスタat銀座
Issei Kurahashi
機械学習をビジネスに利活用する人たちに対してモデル開発後の実運用フェーズにおける課題とその対策方法
機械学習をビジネスに利活用する人たちに対してモデル開発後の実運用フェーズにおける課題とその対策方法
日本ディープラーニング協会(JDLA)
Similar to 初めての機械学習
(10)
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V e-1
Collaborativefilteringwith r
Collaborativefilteringwith r
効果測定入門 Rによる傾向スコア解析
効果測定入門 Rによる傾向スコア解析
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
スニペットとウェブカウントを用いたウェブ検索クエリの分類
スニペットとウェブカウントを用いたウェブ検索クエリの分類
Big data解析ビジネス
Big data解析ビジネス
課題研究 JavaScriptの基礎理論と活用方法
課題研究 JavaScriptの基礎理論と活用方法
07232012需要予測モデル0.3 5
07232012需要予測モデル0.3 5
おしゃスタat銀座
おしゃスタat銀座
機械学習をビジネスに利活用する人たちに対してモデル開発後の実運用フェーズにおける課題とその対策方法
機械学習をビジネスに利活用する人たちに対してモデル開発後の実運用フェーズにおける課題とその対策方法
初めての機械学習
1.
はじめての機械学習 〜 導入編 〜
2.
今回試したのは回帰と分類 回帰モデル 過去のデータから算出したい値の推計を行う 使用例) ● 法人向け成約単価予測
(<=今回試したもの ) ● 不動産価格予測 ● コンビニのおにぎりの販売数予測 分類モデル データセットを仕分けする 使用例) ● 法人向け成約単価分類 (<=今回試したもの ) ● 健康診断の精密検査対象 ● 不良品の検出
3.
1. 相関分析 ※ 相関係数を算出して相関関係を見極めます seaboarn import
seaborn as sns sns.pairplot(contract_master[['Kw','UsagePercent','Annual Usage','UnitPrice','AreaID']], diag_kind="kde")
4.
Tips ! データのバイアス
(呪い?) 8%単価と10%単価が混ざっている 受領データに8%単価と10%単価が混ざって渡されていた 気づかずにモデルを作成していたところ精度が上がらなかった 発覚後に8%単価を10%に直すロジックを適用したところ精度が向上した お客さんが相関があるといった変数に相関がない 根本的な問題だが、成約したかしないかに価格の相関があると顧客が主張していた 顧客が見て話しているのは1案件中の相見積の中の話 実際のデータは全データなので相関性が見られなかった おそらく全事業者独自の算定式を持っており毎回同じような単価を算出している 使用【量】がない 使用【料】が合ったので単価で割って算出 本当に利用したいのは【使用量】だった ※ 事前に計測値の粒度を揃えるのが一番大切 ※ 要件時点で呪いを解かないといい結果が出ない
5.
Tips ! (次元削除) from
sklearn.cluster import KMeans from sklearn.decomposition import PCA # クラスタ設定 model = KMeans(n_clusters=2, random_state=0) predicted = model.fit_predict(std_contract_master) predicted # 次元圧縮 pca = PCA(n_components=1) X = pca.fit_transform(data[['Kw','UsagePercent','AnnualUsage','AreaID']].iloc[:,:-1].values) composed = pd.DataFrame(X,columns=['Kw_UsagePercent_AnnualUsage_Area']) composed["ClusterID"] = predicted composed["UnitPrice"] = std_contract_master['UnitPrice'] 複数の列を圧縮して 2次元にマッピング
6.
2. モデルの作成 (データ構造) 説明変数
= 目的変数の導出に使う変数 目的変数 = 算出したい値 ■ 回帰の場合 ■ 二項分類の場合 ■ 多項分類の場合 ※ 相関分析で係数が高いものを指定 だいたい0.3以上 ※ ndarrayが返却されるpandasのseriesを利用しているのでモデルの 引数にそのまま渡せる
7.
Tips ! (ワンホットエンコーディング) ※
モデルには数値データしか入らないので全部数値に変換する必要があります import pandas as pd contract_master['区分'] = pd.get_dummies(contract_master['区分']) pandas.get_dummies
8.
Tips ! (NullやInfinity
Value削除) ※ モデルには数値データしか入らないのでNullやInfinity Valueを削除する必要があります # null削除 contract_master = contract_master.dropna() # infinity value削除 contract_master.drop(contract_master.columns[np.isinf(contract_master).any()], axis=1)
9.
2. モデルの作成 (最適化アルゴリズムと誤差関数) ※
超難しいので説明しません!次回詳しくなってたら説明します! 回帰 分類 optimizer=rmsprop ??? optimizer=adam ??? metrics=['mae', 'mse'] 平均絶対誤差と平均二乗誤差 計測値として取得するものの 分かりづらいので、説明時は○円以内の誤差が いくらという風に説明 metrics=['accuracy', Precision(), Recall(),'binary_crossentropy']) 適合率、再現率を取得するも 分かりづらいので、説明時には混同行列を利 用。陽性率が○%、偽陽性が○%など 最適化アルゴリズム 誤差関数
10.
Tips ! (正規化と標準化) 標準化
正規化 標準偏差で割る 価格予測はこっちを利用 0-1の範囲に数値を収める 分類はこっちを利用 sklearnのStandardScalerを利用している pickleというライブラリでモデル作成時に作られた 【定規】を保存してモデル利用時に再利用している sklearnのMinMaxScalerを利用している pickleというライブラリでモデル作成時に作られた 【定規】を保存してモデル利用時に再利用している
11.
Tips ! (とっととやめる/最善を保存) from
keras.callbacks import EarlyStopping from keras.callbacks import ModelCheckpoint 過学習を防ぐために適度に学習をしたらやめる機能 model.fitパラメーターにコールバック関数をする コールバックで損失関数に指定した値を監視して しきい値を超えたら終了 例) mseが30回連続0.1-e5以上変化なかったら 最高の精度がでたモデルを保存する機能 model.fitパラメーターにコールバック関数をする コールバックで損失関数に指定した値を監視して しきい値を超えたらファイルに保存 例) 3回に一回チェックして前回よりmseが改善して たらファイルに保存 history = model.fit( normed_train_data, normed_train_labels, validation_data=(normed_test_data, normed_test_labels), epochs=1000, validation_split = 0.2, callbacks=[model_check_point, early_stopping] verbose=1)
12.
3. 結果の検証 学習結果をグラフ化 予測値のばらつきを確認
誤差の範囲を確認 model.fitの返り値に学習結果が保存 されているので可視化できる 前ページで指定した損失関数を使っ て計算された値が格納されている 予測された金額をが標準化されてい るので、スケールを戻して比較して いる 誤差がいくらいないに収まってるか 確認 ユーザー視点で分かりやすい
13.
次の課題 〜 チューニング 〜
14.
係数の補正 ここを補正したい 変数A 変数B 変数C この部分
15.
Subject ! (微分とF関数) Tensor
Flow内で微分して 係数を算出してくれているっぽいのだけど 過程を出力する方法がまだ良くわからない まさか、リニアに変化するものしか対応していないのか気 になっている Y = X何乗みたいなときはだめなのか? Linear regressionというサンプルを使ったからそういうこ とでもある気がするけど、ニューラルネットワーク使って るから自動微分してくれる的な記事を読んだような読んで ないような・・・ 問題はなに? アドバイス サポートベクターマシン? ランダムフォレスト?
16.
Subject ! (ニューラルネットワーク) 数理モデルの連続らしいけどまだよ く理解できない モデルの層の指定方法などを最適化 しないといけないので もう少し色々勉強する 仲間募集中 数式
数式 数式 今こんなざっくり理解
17.
ライブラリ紹介 Tensor Flow 機械学習のコアとして利用しているライブラリ CNNネットワークによる画像解析で有名 時系列モデルがあるので弊社的によいということで採用 Keras
Tensor Flowから利用されるニューラルネットワークのライブラリ モデルの生成はこちらのライブラリを参照する ただしTensor内に格納されているので単独でも使えるがtf.kerasで参照する scikit-learn こちらも機械学習系ライブラリ サンプルが豊富だが時系列用がデフォルトで用意されていない 今回は、標準化/正規化やクラスタリング作成に使用 matplotlib グラフ表示用のライブラリ 日本語表示可能なjapanize-matplotlibもある seaborn グラフ表示用のライブラリ ハイレベルな解析とグラフ表示が可能 playground モデルの機能がグラフィカルインターフェイスで試せるもの 統計学と理論をバッチリ理解している方はこちらへ 私は3クラス分類の交差エントロピーが視覚的に理解できてよかった
18.
書籍紹介 半分の50本ノックまでで CSVデータ解析が可能 RDBやSQLライクに 配列操作をしたい人向け データ扱ってる人と同じ 会話ができるようになる Tensor Flow チュートリアル
ちゃらんぽらんな人向け
Download now