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

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

Scikit-learnとは

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

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

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

環境構築

Pythonの実行環境と、機械学習ライブラリ「Scikit-learn」の導入方法を以下に整理しました。
WinPythonなどのPythonパッケージを使うと、「実行環境」「Scikit-learn」を一括で導入してくれるのでオススメです。

項目
Python環境の構築法①
(Pythonパッケージ)
WinPython編, Anaconda編, Python(x, y)編,
Python環境の構築法②
(公式インストーラ)
Python2.7編, Python3.5編
Scikit-learnの導入
(公式インストーラ)
インストール方法, インストール方法(pip版)
動作テスト アイリスデータセット可視化, バージョン確認
Pythonの基礎(参考) Python入門 サンプル集

回帰分析

回帰 (Regression)データで実数値を学習して予測します。

項目
単回帰分析 単回帰分析, 学習ファイル出力, 学習ファイル読込
重回帰分析 重回帰分析, 学習ファイル出力, 学習ファイル読込

クラスタ分析

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

項目
K-means法 データの分類, ラベリング, 各クラスタのサンプル数表示, 各クラスタの平均値表示

次元削減

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

決定木分析

項目
決定木分析 決定木分析, データ予測, 学習ファイル出力, 学習ファイル読込

サポートベクターマシン

項目
SVM 教師あり学習, 多クラス分類, 学習ファイル出力, 学習ファイル読込

ニューラルネットワーク

NN(ニューラルネットワーク)はバージョン0.1.8.0以降から使用可能です。

項目
NN アヤメ分類, 学習・予測, 識別率(予測検証), 学習ファイル出力, 学習ファイル読込

その他

項目
参考文献 公式ドキュメント, 【機械学習】入門者向け資料, scikit-learn機械学習, Scikit-Learn Cheat Sheet: Python Machine Learning, Scikit learnで学ぶ機械学習入門(Slide Share), scikit-learn から学ぶ機械学習の手法の概要, scikit-learn: Python での機械学習, 機械学習ライブラリscikit-learnの馬鹿丁寧なe-learning, scikit-learnでよく利用する関数の紹介, 人工知能に関する断創録, scikit learnチートシート
関連ライブラリ Scikit-imageで画像処理入門
便利ツール Try Jupyter, SageMathCloud, ideone, Python3→exe変換, Jupyter Notebook, Github:Python
他の入門記事 Python, C言語, Java, C#, Javascript, PHP, VBAマクロ, Processing

シェア&フォローお願いします!