Soumettre la recherche
Mettre en ligne
2013.07.15 はじパタlt scikit-learnで始める機械学習
•
44 j'aime
•
23,391 vues
Motoya Wakiyama
Suivre
はじめてのパターン認識の輪読会LTにて
Lire moins
Lire la suite
Signaler
Partager
Signaler
Partager
1 sur 20
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要
Toshihiro Kamishima
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用
Seiya Tokui
ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装
Ryosuke Okuta
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Yasutomo Kawanishi
「深層学習」勉強会LT資料 "Chainer使ってみた"
「深層学習」勉強会LT資料 "Chainer使ってみた"
Ken'ichi Matsui
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Yasutomo Kawanishi
Chainer v1.6からv1.7の新機能
Chainer v1.6からv1.7の新機能
Ryosuke Okuta
NumPy闇入門
NumPy闇入門
Ryosuke Okuta
Recommandé
科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要
Toshihiro Kamishima
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用
Seiya Tokui
ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装
Ryosuke Okuta
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Yasutomo Kawanishi
「深層学習」勉強会LT資料 "Chainer使ってみた"
「深層学習」勉強会LT資料 "Chainer使ってみた"
Ken'ichi Matsui
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Yasutomo Kawanishi
Chainer v1.6からv1.7の新機能
Chainer v1.6からv1.7の新機能
Ryosuke Okuta
NumPy闇入門
NumPy闇入門
Ryosuke Okuta
画像認識で物を見分ける
画像認識で物を見分ける
Kazuaki Tanida
Practical recommendations for gradient-based training of deep architectures
Practical recommendations for gradient-based training of deep architectures
Koji Matsuda
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装
Shinya Akiba
[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第8章
Haruki Eguchi
Jupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep Learning
Jun-ya Norimatsu
Chainer の Trainer 解説と NStepLSTM について
Chainer の Trainer 解説と NStepLSTM について
Retrieva inc.
Pythonデータ分析 第3回勉強会資料 8章
Pythonデータ分析 第3回勉強会資料 8章
Makoto Kawano
Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編
Etsuji Nakai
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
Etsuji Nakai
はじめての人のためのDeep Learning
はじめての人のためのDeep Learning
Tadaichiro Nakano
mxnetで頑張る深層学習
mxnetで頑張る深層学習
Takashi Kitano
Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)
Kenta Oono
機械学習を用いた予測モデル構築・評価
機械学習を用いた予測モデル構築・評価
Shintaro Fukushima
More modern gpu
More modern gpu
Preferred Networks
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
Yuya Unno
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
Etsuji Nakai
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用
y-uti
Chainerチュートリアル -v1.5向け- ViEW2015
Chainerチュートリアル -v1.5向け- ViEW2015
Ryosuke Okuta
実装ディープラーニング
実装ディープラーニング
Yurie Oka
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Kotaro Nakayama
Introduction to NumPy & SciPy
Introduction to NumPy & SciPy
Shiqiao Du
深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開
Seiya Tokui
Contenu connexe
Tendances
画像認識で物を見分ける
画像認識で物を見分ける
Kazuaki Tanida
Practical recommendations for gradient-based training of deep architectures
Practical recommendations for gradient-based training of deep architectures
Koji Matsuda
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装
Shinya Akiba
[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第8章
Haruki Eguchi
Jupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep Learning
Jun-ya Norimatsu
Chainer の Trainer 解説と NStepLSTM について
Chainer の Trainer 解説と NStepLSTM について
Retrieva inc.
Pythonデータ分析 第3回勉強会資料 8章
Pythonデータ分析 第3回勉強会資料 8章
Makoto Kawano
Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編
Etsuji Nakai
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
Etsuji Nakai
はじめての人のためのDeep Learning
はじめての人のためのDeep Learning
Tadaichiro Nakano
mxnetで頑張る深層学習
mxnetで頑張る深層学習
Takashi Kitano
Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)
Kenta Oono
機械学習を用いた予測モデル構築・評価
機械学習を用いた予測モデル構築・評価
Shintaro Fukushima
More modern gpu
More modern gpu
Preferred Networks
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
Yuya Unno
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
Etsuji Nakai
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用
y-uti
Chainerチュートリアル -v1.5向け- ViEW2015
Chainerチュートリアル -v1.5向け- ViEW2015
Ryosuke Okuta
実装ディープラーニング
実装ディープラーニング
Yurie Oka
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Kotaro Nakayama
Tendances
(20)
画像認識で物を見分ける
画像認識で物を見分ける
Practical recommendations for gradient-based training of deep architectures
Practical recommendations for gradient-based training of deep architectures
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装
[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第8章
Jupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep Learning
Chainer の Trainer 解説と NStepLSTM について
Chainer の Trainer 解説と NStepLSTM について
Pythonデータ分析 第3回勉強会資料 8章
Pythonデータ分析 第3回勉強会資料 8章
Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
はじめての人のためのDeep Learning
はじめての人のためのDeep Learning
mxnetで頑張る深層学習
mxnetで頑張る深層学習
Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)
機械学習を用いた予測モデル構築・評価
機械学習を用いた予測モデル構築・評価
More modern gpu
More modern gpu
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用
Chainerチュートリアル -v1.5向け- ViEW2015
Chainerチュートリアル -v1.5向け- ViEW2015
実装ディープラーニング
実装ディープラーニング
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Similaire à 2013.07.15 はじパタlt scikit-learnで始める機械学習
Introduction to NumPy & SciPy
Introduction to NumPy & SciPy
Shiqiao Du
深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開
Seiya Tokui
なにわテック20180127
なにわテック20180127
Natsutani Minoru
新しい並列for構文のご提案
新しい並列for構文のご提案
yohhoy
ALPSチュートリアル(5) ALPS Python入門
ALPSチュートリアル(5) ALPS Python入門
Computational Materials Science Initiative
R -> Python
R -> Python
Kazufumi Ohkawa
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
SatoYu1ro
JAWSDAYS 2014 ACEに聞け! EMR編
JAWSDAYS 2014 ACEに聞け! EMR編
陽平 山口
画像処理でのPythonの利用
画像処理でのPythonの利用
Yasutomo Kawanishi
Fpgax20180217
Fpgax20180217
Natsutani Minoru
20130819 jjugnslt
20130819 jjugnslt
Shinya Takebayashi
Rの高速化
Rの高速化
弘毅 露崎
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
Tsuyoshi Yamamoto
mmapパッケージを使ってお手軽オブジェクト管理
mmapパッケージを使ってお手軽オブジェクト管理
Shintaro Fukushima
ATN No.2 Scala事始め
ATN No.2 Scala事始め
AdvancedTechNight
Introduction of Python
Introduction of Python
Tomoya Nakayama
[第2版]Python機械学習プログラミング 第16章
[第2版]Python機械学習プログラミング 第16章
Haruki Eguchi
A Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by Example
Koji Matsuda
第3回 JavaScriptから始めるプログラミング2016
第3回 JavaScriptから始めるプログラミング2016
kyoto university
ありえるえりあ勉強会@五反田~テスト編~ Part3
ありえるえりあ勉強会@五反田~テスト編~ Part3
Tomoyuki Sato
Similaire à 2013.07.15 はじパタlt scikit-learnで始める機械学習
(20)
Introduction to NumPy & SciPy
Introduction to NumPy & SciPy
深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開
なにわテック20180127
なにわテック20180127
新しい並列for構文のご提案
新しい並列for構文のご提案
ALPSチュートリアル(5) ALPS Python入門
ALPSチュートリアル(5) ALPS Python入門
R -> Python
R -> Python
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
JAWSDAYS 2014 ACEに聞け! EMR編
JAWSDAYS 2014 ACEに聞け! EMR編
画像処理でのPythonの利用
画像処理でのPythonの利用
Fpgax20180217
Fpgax20180217
20130819 jjugnslt
20130819 jjugnslt
Rの高速化
Rの高速化
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
mmapパッケージを使ってお手軽オブジェクト管理
mmapパッケージを使ってお手軽オブジェクト管理
ATN No.2 Scala事始め
ATN No.2 Scala事始め
Introduction of Python
Introduction of Python
[第2版]Python機械学習プログラミング 第16章
[第2版]Python機械学習プログラミング 第16章
A Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by Example
第3回 JavaScriptから始めるプログラミング2016
第3回 JavaScriptから始めるプログラミング2016
ありえるえりあ勉強会@五反田~テスト編~ Part3
ありえるえりあ勉強会@五反田~テスト編~ Part3
Plus de Motoya Wakiyama
Repeat buyer prediction for e commerce, KDD2016
Repeat buyer prediction for e commerce, KDD2016
Motoya Wakiyama
続分かりやすいパターン認識 4章後半(4.7以降)
続分かりやすいパターン認識 4章後半(4.7以降)
Motoya Wakiyama
データ解析のための統計モデリング入門9章後半
データ解析のための統計モデリング入門9章後半
Motoya Wakiyama
データ解析のための統計モデリング入門9章後半
データ解析のための統計モデリング入門9章後半
Motoya Wakiyama
[Rec sys2013勉強会]using maximum coverage to optimize recommendation systems in ...
[Rec sys2013勉強会]using maximum coverage to optimize recommendation systems in ...
Motoya Wakiyama
[Rec sys2013勉強会]orthogonal query recommendation
[Rec sys2013勉強会]orthogonal query recommendation
Motoya Wakiyama
はじめてのパターン認識 第8章 サポートベクトルマシン
はじめてのパターン認識 第8章 サポートベクトルマシン
Motoya Wakiyama
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
Motoya Wakiyama
Plus de Motoya Wakiyama
(8)
Repeat buyer prediction for e commerce, KDD2016
Repeat buyer prediction for e commerce, KDD2016
続分かりやすいパターン認識 4章後半(4.7以降)
続分かりやすいパターン認識 4章後半(4.7以降)
データ解析のための統計モデリング入門9章後半
データ解析のための統計モデリング入門9章後半
データ解析のための統計モデリング入門9章後半
データ解析のための統計モデリング入門9章後半
[Rec sys2013勉強会]using maximum coverage to optimize recommendation systems in ...
[Rec sys2013勉強会]using maximum coverage to optimize recommendation systems in ...
[Rec sys2013勉強会]orthogonal query recommendation
[Rec sys2013勉強会]orthogonal query recommendation
はじめてのパターン認識 第8章 サポートベクトルマシン
はじめてのパターン認識 第8章 サポートベクトルマシン
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
2013.07.15 はじパタlt scikit-learnで始める機械学習
1.
scikit-learnで始める機械学習 2013/7/16@はじパタLT
2.
理論を勉強したら、やっぱり実践したい 理想 0から自分で実装したプログラムで課題を解決していく 現実 パッケージをつなぎ合わせて問題に取り組む 汎用性や処理速度を気にすると、パッケージを使うのが 現実的 →パッケージを使った機械学習の方法を紹介 何の話?
3.
twitterID:wwacky 6月末で会社を辞めて無職生活中 8月からまたサラリーマンになります 最近Python、Hadoopを勉強中 今まではJava、Rがメイン ゲーム・登山をやってます 登山はまだにわかですが 自己紹介
4.
機械学習のパッケージ R勢 e1071(SVM、クラスタリングとか) gbm(AdaBoost+回帰など)
kernlab(SVM、カーネル主成分とか) mboost(boosting) nnet(ニューラルネットワーク) randomForest rpart etc. 定番 LIBSVM その他 weka (Java) nltk (Python) 新興勢力 Apache Mahout Jubatus scikit-learn という勝手な印象
5.
機械学習のパッケージ R勢 e1071(SVM、クラスタリングとか) gbm(AdaBoost+回帰など)
kernlab(SVM、カーネル主成分とか) mboost(boosting) nnet(ニューラルネットワーク) randomForest rpart etc. 定番 LIBSVM その他 weka (Java) nltk (Python) 新興勢力 Apache Mahout Jubatus scikit-learn という勝手な印象 今日話すのはこいつ
6.
python用の機械学習ライブラリ(モジュール) シンプルかつ効率的な多目的ツール(らしい) pythonでデータ分析をする人の必須ツール(って聞いた) ということで、気になってたので使ってみた scikit-learnって何?
7.
教師なし学習 混合ガウスモデル 主成分分析(9章)
因子分析 独立成分分析 クラスタリング(10章) 隠れマルコフモデル etc. 教師あり学習 最近傍法(5章) 一般化線形モデル(6章) 線形判別分析(6章) SVM(8章) 決定木(11章) ランダムフォレスト(11章) Naïve Bayes etc. scikit-learnで何ができるの(抜粋) 周辺ツール 特徴抽出・作成 クロスバリデーション(2章) グリッドサーチ AUC、ROC描画(3章) Accuracy、Recall、F値算出(3章) ()内の章は、はじめてのパターン認識で登場する章
8.
教師なし学習 混合ガウスモデル 主成分分析(9章)
因子分析 独立成分分析 クラスタリング(10章) 隠れマルコフモデル etc. 教師あり学習 最近傍法(5章) 一般化線形モデル(6章) 線形判別分析(6章) SVM(8章) 決定木(11章) ランダムフォレスト(11章) Naïve Bayes etc. scikit-learnで何ができるの(抜粋) 周辺ツール 特徴抽出・作成 クロスバリデーション(2章) グリッドサーチ AUC、ROC描画(3章) Accuracy、Recall、F値算出(3章) ()内の章は、はじめてのパターン認識で登場する章
9.
Webで検索してください(汗 まあ、そんなに説明することもないかと Windows版 インストーラをダウンロードして実行するだけ Mac版 MacPortsだとデフォルトでインストールされているPythonにイ ンストールされるみたい 別にPythonをインストールしているならeasy_installかpipの方 がいいと思う インストールするには?
10.
何はともあれデータセットがないと始まらない データを準備する Kaggleにscikit-learnのコンペがあったので、ここからデータをもらうことに ここから Download ページに行ける
11.
データの中身 0.29940251144353242,-1.2266241875260637,・・・ -1.1741758544222554,0.33215734209952552,・・・ 1.1922220828945145,-0.41437073477092423,・・・ 1.573270119628208,-0.58031780024933788,・・・ -0.61307141665395515,-0.64420413382117836,・・・ : 1 0 0 1 0 : ラベル 1000サンプル 特徴量 1000サンプル×40変数 Kaggleにデータの説明がないのが残念(本当は背景情報も欲しいところ) 1000行 40変数
12.
Rと同じぐらいのコード量で動かせる とりあえず動かす import numpy as
np from sklearn import svm trainFeature = np.genfromtxt(open(train.csv', 'r'), delimiter = ',') trainLabel = np.genfromtxt(open(trainLabels.csv', 'r'), delimiter = ',') clf = svm.SVC(kernel='rbf', C=1) clf.fit(trainFeature, trainLabel) testFeature = np.genfromtxt(open('test.csv', 'r'), delimiter = ',') result = clf.predict(testFeature)
13.
Rと同じぐらいのコード量で動かせる とりあえず動かす import numpy as
np from sklearn import svm trainFeature = np.genfromtxt(open(train.csv', 'r'), delimiter = ',') trainLabel = np.genfromtxt(open(trainLabels.csv', 'r'), delimiter = ',') clf = svm.SVC(kernel='rbf', C=1) clf.fit(trainFeature, trainLabel) testFeature = np.genfromtxt(open('test.csv', 'r'), delimiter = ',') result = clf.predict(testFeature) ライブラリの読み込み
14.
Rと同じぐらいのコード量で動かせる とりあえず動かす import numpy as
np from sklearn import svm trainFeature = np.genfromtxt(open(train.csv', 'r'), delimiter = ',') trainLabel = np.genfromtxt(open(trainLabels.csv', 'r'), delimiter = ',') clf = svm.SVC(kernel='rbf', C=1) clf.fit(trainFeature, trainLabel) testFeature = np.genfromtxt(open('test.csv', 'r'), delimiter = ',') result = clf.predict(testFeature) ファイルからデータを読み込む。 numpyのデータ形式に変換。
15.
Rと同じぐらいのコード量で動かせる とりあえず動かす import numpy as
np from sklearn import svm trainFeature = np.genfromtxt(open(train.csv', 'r'), delimiter = ',') trainLabel = np.genfromtxt(open(trainLabels.csv', 'r'), delimiter = ',') clf = svm.SVC(kernel='rbf', C=1) clf.fit(trainFeature, trainLabel) testFeature = np.genfromtxt(open('test.csv', 'r'), delimiter = ',') result = clf.predict(testFeature) モデルを定義(ここではSupport Vector Classifier) fit関数を使って教師データからパラメータを推定
16.
Rと同じぐらいのコード量で動かせる とりあえず動かす import numpy as
np from sklearn import svm trainFeature = np.genfromtxt(open(train.csv', 'r'), delimiter = ',') trainLabel = np.genfromtxt(open(trainLabels.csv', 'r'), delimiter = ',') clf = svm.SVC(kernel='rbf', C=1) clf.fit(trainFeature, trainLabel) testFeature = np.genfromtxt(open('test.csv', 'r'), delimiter = ',') result = clf.predict(testFeature) 判別したいデータの特徴量を読み込んで、 predict関数を使って判別
17.
モデルを変える時は、定義部分を変更するだけ。後は一緒。 全モデル同じ方法かは調べてませんが・・・。 scikit-learnのいいところ① from sklearn import
svm : clf = svm.SVC() clf.fit(trainFeature, trainLabel) : from sklearn import neighbors : clf = neighbors.KNeighborsClassifier() clf.fit(trainFeature, trainLabel) : from sklearn.ensemble import RandomForestClassifier : clf = RandomForestClassifier() clf.fit(trainFeature, trainLabel) : SVMの時 k近傍法の時 RandomForestの時 まあ、パラメータは把握した方がいいですが
18.
クロスバリデーション、パラメータのグリッドサーチも簡単 scikit-learnのいいところ② from sklearn import
cross_validation clf = svm.SVC() scores = cross_validation.cross_val_score(clf, trainFeature, trainLabel, cv=5, n_jobs=-1) print scores #結果表示 from sklearn.grid_search import GridSearchCV tuned_parameters = [ #グリッドサーチの探索範囲設定 {'C': [1, 10, 100, 1000], 'kernel': ['linear']}, {'C': [1, 10, 100, 1000], 'gamma': [0.001, 0.0001], 'kernel': ['rbf']}, ] clf = GridSearchCV(svm.SVC(C=1), tuned_parameters, n_jobs = -1) #設定 clf.fit(trainFeature, trainLabel, cv=5) #グリッドサーチに使うデータの入力 print clf.best_estimator_ #パラメータが一番よかったモデルを表示 パラメータのグリッドサーチ クロスバリデーション クロスバリデーション、グリッドサーチは特徴量とラベルをnumpyの配列にしておかないとエラーになるので注意
19.
0:00:00 0:01:26 0:02:53 0:04:19 0:05:46 0:07:12 0:08:38 指定なし 1 2
3 4 -1 処理時間[hh:mm:ss] n_jobs n_jobsを指定するだけで並列計算できるようになる クロスバリデーション、グリッドサーチ以外にもランダムフォレ ストにも使える優れもの -1だとPCのコア数が自動設定される 並列計算も簡単、そうscikit-learnならね 4コアのMac Book Proで計測
20.
Kaggleにsubmitしてみた ∧,,∧ (;´・ω ・) うーん・・・
まだまだ修行が必要 / ∽ / しー-J ひみつ
Télécharger maintenant