AI研究所 - AI(人工知能)に脅かされないために、AI(人工知能)を作る側の人間になる -

HOME  >  Scikit-learnとは?5分で分かるScikit-learnでできることまとめ

公開日:2019.07.08 

Scikit-learnとは?5分で分かるScikit-learnでできることまとめ

カテゴリー: AI(人工知能)の作り方

こんにちは三谷です。
今回は、AI(人工知能)を作るための機械学習アルゴリズムが満載のScikit-learnいうライブラリについて解説します。
AIや機械学習を学び始めた際によく出てくるとても便利なライブラリですので、是非チャレンジしてみてください。

Scikit-learnとは?

Scikit-learnは、Pythonで使用できるオープンソースプロジェクトのライブラリです。読み方は、「サイキットラーン」です。
オープンソースですので、誰でも自由に利用したり再頒布でき、ソースコードを覗いてどんな計算が行われているかを確認することもできます。
Scikit-learnはかなり活発なユーザーコミュニティの中で開発・改良が加えられているため、ドキュメントも整備されているので初心者でもスムーズにScikit-learnを使い始めることができるようになっています。

Scikit-learnの機能まとめ

◆教師あり学習

・線形回帰(Generalized Linear Models)
・線形判別分析(Linear and Quadratic Discriminant Analysis)
・リッジ回帰(Kernel ridge regression)
・SVM(Support Vector Machines)
・SGD(Stochastic Gradient Descent)
・最近傍・k近傍法(Nearest Neighbors)
・ガウス過程(Gaussian Processes)
・十字型分解(Cross decomposition)
・ナイーブベイズ(Naive Bayes)
・決定木(Decision Trees)
・アンサンブル学習(Ensemble methods)
・マルチクラス・マルチラベルアルゴリズム(Multiclass and multilabel algorithms)
・特徴量選択(Feature selection)
・半教師あり学習(Semi-Supervised)
・アイソトニック回帰(Isotonic regression)
・キャリブレーション(Probability calibration)
・ニューラルネットワークモデル(Neural network models (supervised))

◆教師なし学習

・混合ガウスモデル(Gaussian mixture models)
・多様体学習(Manifold learning)
・クラスタリング(Clustering)
・バイクラスタリング(Biclustering)
・主成分分析(Principal component analysis)
・共分散推定(Covariance estimation)
・異常検知(Novelty and Outlier Detection)
・密度推定(Density Estimation)
・ニューラルネットワークモデル(Neural network models (unsupervised))

◆モデル選択・モデル評価

・交差検証(Cross-validation)
・ハイパーパラメーターチューニング(Tuning the hyper-parameters of an estimator)
・モデル評価(Model evaluation)
・モデル永続性(Model persistence)
・検証曲線(Validation curves)

◆データ変形

・パイプラインと複合評価(Pipelines and composite estimators)
・特徴抽出(Feature extraction)
・データ前処理(Preprocessing data)
・欠損値の補完(Imputation of missing values)
・教師なし次元削減(Unsupervised dimensionality reduction)
・ランダムプロジェクション(Random Projection)
・カーネル近似(Kernel Approximation)
・ペアワイズメトリック、類似性とカーネル(Pairwise metrics, Affinities and Kernels)
・ターゲット予測変換(Transforming the prediction target)

◆データセットの読み込み

・一般データセットAPI(General dataset API)
・トイデータセット(Toy datasets)
・リアルワールドデータセット(Real world datasets)
・生成データセット(Generated datasets)
・他のデータセットの読み込み(Loading other datasets)

Scikit-learnでできることまとめ

◆できることの名称
[写真](あれば)
できることの説明書き

◆できることの名称
[写真](あれば)
できることの説明書き

Scikit-learnを導入するメリットまとめ

◆ディープラーニング以外の機械学習アルゴリズムが使える

ディープラーニングが注目されていますが、ディープラーニングが万能であるとは言えません。用意したデータの数が少ない場合や、解決したい問題によっては、ディープラーニング以外の機械学習アルゴリズムのほうが適している場合があります。
Scikit-learnにはこれらの機械学習アルゴリズムが多く実装されているため、様々なアルゴリズムを使用したAI(人工知能)を作成できます。

◆チートシートが便利

Scikit-learnが持つたくさんの機械学習アルゴリズムのうち、どれを使えばいいか、一覧でまとめてある表がチートシートです。

https://scikit-learn.org/stable/tutorial/machine_learning_map

機械学習では、主にクラス分類・回帰・クラスタリング・次元削減等の問題を解くことが多いですので、Scikit-learnも同様にこれらの問題に合わせたアルゴリズム選択ができるようになっています。
・クラス分類 (Classification) – 教師あり学習。人が正解ラベル(クラス)をつけたデータを学習し、新しい入力データに対してのクラスを予測する問題です。
・回帰 (Regression) – 教師あり学習。人が正解ラベル(実数値)をつけたデータを学習して、新しい入力データに対しての実数値を予測する問題です。
・クラスタリング (Clustering) – 教師なし学習。入力データを任意の数のクラスター(グループ)にまとめて、近しいデータを発見する問題です。
・次元削減 (Dimensionality reduction) – データの次元を削減して、要因分析をしたり、機械学習のための前処理を行なう事ができます。

Scikit-learnを無料でインストールする方法

Pythonをインストールしてある環境だと、以下のpipインストールで簡単にインストールできます。

pip install scikit-learn

ただし、Scikit-learnは数値計算用ライブラリのNumpyや、科学技術計算向けのScipyに依存しているため、この2つのライブラリは必須でインストールする必要があります。
また、 インタラクティブな開発をするためにはグラフ描画用ライブラリのmatplotlibなどもインストールしておくことをおすすめします。

詳細のインストール方法はこちら(機械学習用ライブラリ「Scikit-learn」のインストール方法.docx)にまとめましたので、御覧ください!

Scikit-learnの使い方

Scikit-learnは、様々なアルゴリズムが含まれたライブラリですので、それぞれのアルゴリズムを呼び出して使用します。ここでは、シンプルなコードを使用して概要をつかんでいただきます。

Scikit-learnを使ったプログラムは基本的に以下の構成となっています。

1. ライブラリのインポート
2. 学習データとテストデータの用意
3. アルゴリズムの指定と学習実行
4. テストデータでテスト
5. 必要に応じて精度などをビジュアライズ

Scikit-learnをより詳しく学ぶ方法

公式チュートリアル

https://scikit-learn.org/stable/tutorial/basic/tutorial.html
データの読み込み方から簡単な機械学習モデルを作ることができる内容となっています。

公式ユーザーガイド

https://scikit-learn.org/stable/user_guide.html
Scikit-learnで実装できる機械学習アルゴリズムの一覧を確認することができます。

まとめ

いかがだったでしょうか?ディープラーニングだけではなく、AI(人工知能)を活用するためには様々な機械学習を知っておくことが重要になってきます。Scikit-learnはそんな機械学習アルゴリズムが盛りだくさんで含まれたライブラリですので、避けては通れないものですね。
是非Scikit-learnで様々な機械学習アルゴリズムを試してみてください!

タグ:


参考になったら「いいね!」と「シェア」をお願いします!!

このエントリーをはてなブックマークに追加
AI(人工知能)セミナー開催中
AI(人工知能)入門セミナー AI(人工知能)入門セミナー IoT入門セミナー

AI入門ブログの中の人

AI研究所 研究スタッフ
通称:マサミ
アメリカ・サンフランシスコにある情報メディアの専門学校を卒業。大手金融会社での事務経験を経て、2016年9月よりAI研究所に入所。見習い研究員として、AI技術を日々勉強中。

Facebookページ