シェアする

  • このエントリーをはてなブックマークに追加

Scikit-learnで機械学習入門(使い方)

スポンサーリンク
ビッグバナー(上2)

この記事では、Pythonと「Scikit-learn」で機械学習を行う方法について入門者向けに使い方を解説します。

Scikit-learnとは

scikit-learnは、Pythonの機械学習ライブラリです。
このライブラリを使えば、ニューラルネットワーク(NN)、サポートベクターマシン、ランダムフォレスト、k近傍法などの分類回帰クラスタ分析を手軽に実装できます。
scikit-learnの利点は次の通りです。

①他のライブラリ「NumPy」「SciPy」「Pandas」「Matplotlib」とやり取りしやすい
②BSDライセンスなので商用利用可能
③情報が多くドキュメントも充実している

【Python環境の構築】
Python環境を構築する方法まとめ
Try Jupyterの使い方:ブラウザ上の実行環境(環境構築が面倒くさい人向け)

Scikit-learnの使い方

Scikit-learnの使い方について、項目別に下記にまとめました。

はじめに

Scikit-learnのインストール方法
Scikit-learnのインストール方法(pipを使う場合)
アイリスデータセットの読込可視化:正常にインストール出来たかの確認
バージョン確認

回帰

回帰 (Regression)データで実数値を学習して予測します。
単回帰分析①
単回帰分析②学習モデルをファイル出力
単回帰分析③学習モデルをファイルから復元
重回帰分析①
重回帰分析②学習モデルをファイル出力
重回帰分析③学習モデルをファイルから復元

クラスタ分析

クラスタ分析(Clustering) 特徴が類似するデータ同士をまとめて、データ構造を発見します。
分類 (Classification)データとラベルを学習し、データに対するラベルを予測します。

【K-means法】
K-means法①:データの分類
K-means法②:元データにクラスタ番号を付加(ラベリング)
K-means法③:各クラスタのサンプル数を表示
K-means法④:各クラスタの平均値を表示

次元削減

次元削減 (Dimensionality reduction) データの次元を削減し、要因を発見 (主成分分析など) したり、他の手法の入力に使います。

決定木分析

決定木分析①:学習
決定木分析②:データ予測
決定木分析③学習ファイルを出力
決定木分析④学習モデルをファイルから復元

サポートベクターマシン

SVM①:教師あり学習
SVM②:多クラス分類
SVM③学習ファイルを出力
SVM④学習モデルをファイルから復元

ニューラルネットワーク (0.1.8.0~使用可能)

NN①アヤメの分類:付属のアイリスデータでNNの動作
NN②学習と予測:CSVファイルを読み込んで実行
NN③識別率:予測結果の検証
NN④学習ファイルを出力:エクスポート
NN⑤学習モデルをファイルから復元:インポート

応用例

まだ

他ライブラリとの連携

Scikit-imageで画像処理入門

参考文献

scikit-learn公式ドキュメント
【機械学習】入門者向け資料(pdfサイト)まとめ
scikit-learn で機械学習
Scikit-Learn Cheat Sheet: Python Machine Learning:有名なチートシート
Scikit learnで学ぶ機械学習入門(Slide Share)
scikit-learn から学ぶ機械学習の手法の概要
3.6. scikit-learn: Python での機械学習
機械学習ライブラリ scikit-learn の馬鹿丁寧なe-learning
scikit-learnでよく利用する関数の紹介
人工知能に関する断創録
scikit-learnを用いた機械学習チュートリアル
scikit learn のアルゴリズムチートシート
Scikit-image: 画像処理

Pythonの基本応用例

Python入門 基本文法
Pythonで機械学習入門
Pythonでゲームプログラミング
Pythonで画像処理
PythonからArduinoを操作:電子工作、IoT
Pythonでネットワークプログラミング
Pythonで音声信号処理
Pythonで制御工学
Pythonでロボットシミュレーション
Github

外部モジュール(ライブラリ)

OpenCV:画像処理
NumPy:数値計算
Matplotlib:グラフ作成
SymPy:記号計算
PyGame:ゲーム制作
PyOpenGL:グラフィックス
Scikit-learn:機械学習
python-control:制御工学シミュレーション

他言語の入門記事

Python入門
C言語入門
Java入門
C#入門
Javascript入門
PHP入門
VBAマクロ入門
Processing入門

スポンサーリンク
レクタングル(下2)
レクタングル(下2)