sklearnのインストール方法と使い方

sklearnのインストール方法と使い方プログラミング
ゆうすけ
ゆうすけ

sklearn のインストール方法を教えて欲しいです。

資格マフィア
資格マフィア

sklearn はコマンドで簡単にインストールできるぞ。


✔️ 本記事のテーマ

 sklearnのインストール方法

 

✔️ 読者さんへの前置きメッセージ

本記事は「sklearnをインストールする方法」について書いています。

 

この記事を読むことで
「sklearnのインストール方法 から sklearnの使い方」
をコードベースでイメージできます。

 

sklearnライブラリは機械学習に特化したライブラリです。

 

sklearnライブラリでは、多くの手法が用意されているので、
使いこなすことができれば、とても便利なライブラリです。

 

それではsklearnライブラリの使い方や関数について、詳しく解説していきましょう。

 

sklearnとは?

sklearnとは?

sklearnは、正しくは Scikit-learnと書きます。

 

Scikit-learnを使うことで、
簡単なコードで様々な手法を用いて機械学習をすることが出来ます。

 

Scikit-learnは現在も活発に開発されているライブラリなので、
日々アップデートされています。

 

また、Scikit-learnはドキュメントが豊富なので、使い方も分かりやすいです。

 

いわゆる「普通の機械学習」をするならScikit-learnで事足りるでしょう。

 

ただ、最初はその使い方に慣れるのに、少し時間がかかるかもしれません。

 

そこで、この記事ではScikit-learnのインストールから基本的な使い方までを解説します。

 

sklearnのインストール方法

sklearnのインストール方法

sklearnのインストールは簡単です。

 

以下のコマンドでインストールしておけば、プログラムの中でsklearnを使うことが出来ます。

pip install scikit-learn

 

プログラムから使う前に、自身の環境にインストールしておきましょう。

 

sklearnの使い方

sklearnの使い方

sklearnは、処理の流れを理解しておけば、簡単に使えます。

 

処理の流れとしては、以下のような順で処理されることが多いでしょう。

  1. ライブラリのインポート
  2. 学習データとテストデータの用意
  3. アルゴリズムの指定
  4. 学習実行
  5. テストデータでテスト
  6. 精度の確認

順に、詳しく解説していきましょう。

 

sklearnの使い方(サンプルコード)

サンプルコード

# ライブラリのインポート
from sklearn import svm


#学習データとラベルを準備
train_data = [[0, 0], [1, 0], [0, 1], [1, 1]]
train_label = [0, 1, 1, 0]

#テストデータを準備
test_data = [[0, 0], [1, 0], [0, 1], [1, 1]]

# アルゴリズムの定義
clf = sklearn.svm.SVC(C=10, gamma=0.1)

# 学習の実行
clf.fit(train_data,train_label)

# テスト
test_label = clf.predict(test_data)

 

今回のサンプルコードはこんな感じです。

 

それぞれの処理ごとに解説していきましょう。

sklearnライブラリのインポート

import sklearn

 

sklearnはサードパーティライブラリなので、
プログラムの上文でインポートすることで使えるようになります。

 

なお、今回はsklearn全体をインポートしましたが、

from sklearn import svm

みたいに一部の関数だけをインポートすることが出来ます。

学習データとテストデータの準備

#学習データとラベルを準備
train_data = [[0, 0], [1, 0], [0, 1], [1, 1]]
train_label = [0, 1, 1, 0]

#テストデータを準備
test_data = [[0, 0], [1, 0], [0, 1], [1, 1]]

 

次に使用するデータを準備します。

 

機械学習では、学習用データとテスト用データの2つを準備します。

 

具体的には、
学習用データで学習を行い、モデルを生成し、
テスト用データを使って、精度を確認します。

 

今回は処理の流れを追うのが目的なので、0と1だけの簡単なデータを準備します。

 

コード中の、train_dataが学習用データ、train_labelがその正解ラベル、
そしてtest_dataが後で精度を確認するためのテスト用データです。

アルゴリズムの指定

clf = sklearn.svm.SVC(C=10, gamma=0.1)

 

機械学習で学習を実行するには、アルゴリズムを指定する必要があります。

 

Sklearnを使う時も同じようにアルゴリズムを指定しましょう。

 

今回は0, 1の2つに分類したいので、
クラス分類をするためのSVC(Support Vector Classification)を選択します。

学習実行

clf.fit(train_data,train_label)

 

Sklearnでは、様々な学習アルゴリズム使うことが出来ます。

 

学習の実行自体は clf.fit() という関数で行います。

 

引数には、学習用データとその正解ラベルを指定するだけで、学習を実行できます。

 

使い方がシンプルでとても便利です。

テストデータでテスト

test_label = clf.predict(test_data)

 

ここまでで学習が終わったので、
用意しておいたテストデータを使ってテストを行います。

 

テストはclf.predict() 関数を使用します。

 

引数にはテストデータを指定します。

 

これで学習済みモデルを使って予測を行い、テストを実行します。

 

このように、学習もテストも簡単に実装できるのがsklearnの特徴です。

 

今回は非常に簡単な予測をするに留まりましたが、
もう少し実用的な分類問題なども
機械学習で最も簡単な分類をしてみる【Python】」の記事では解説しています。

 

Skleanで使える学習アルゴリズム

Skleanで使える学習アルゴリズム

今回は簡単な分類問題だったのでSVMを使いましたが、
sklearnではたくさんのアルゴリズムを指定することが出来ます。

 

その一部を紹介します。

  • ロジスティック回帰
    • clf = sklearn.linear_model.LogisticRegression()
  • 決定木
    • clf = sklearn.tree.DecisionTreeClassifier()
  • ランダムフォレスト
    • clf = sklearn.ensemble.RandomForestClassifier()
  • 勾配ブースティング決定木
    • clf = sklearn.ensemble.GradientBoostingClassifier()
  • k近傍法
    • clf = sklearn.neighbors.KNeighborsClassifier()
  • ナイーブベイズ
    • clf = sklearn.naive_bayes.GaussianNB()
  • 確率的勾配降下法(SGD:Stochastic Gradient Descent)
    • clf = sklearn.linear_model.SGDClassifier()

これらのアルゴリズムはそれぞれ一長一短です。

 

ぜひ自身で試しに使ってみて下さい。

 

sklearnやPythonについてもっとスキルをつけるなら

sklearnやPythonについてもっとスキルをつけるなら

今回はsklearnのインストール方法とその使い方について解説しました。

 

sklearnを始め、機会学習について学ぶならUdemyの教材がオススメです。

>> 人工知能・機械学習 脱ブラックボックス講座 – 初級編 –

 

Udemyは動画ベースで学習ができます。
よって、実際のコードや図解を見ながら、学習を進めることができます。

 

さらに今なら30日間返金保証がついているので、
一度購入して自分の思っていたものと違った場合は費用がかかりません。

 

先ほどの教材は「人工知能とは何か?」「機械学習とは何か?」
ということについて概念から丁寧に解説されています。
これらの分野で頻出する数式の意味が徹底的に解説されているので、
機械学習の初学者でも苦手意識なく理解することができます。

 

また、Pythonについて基礎から学ぶのであれば、オンラインスクールがオススメです。


オンラインスクールで学習すると、講義も分かりやすく、
サポート体制もしっかりしているので、これからPythonを学ぶ人にもオススメです。


オンラインで無料レッスンを体験することもできるので、
自分にあっているかどうかを確かめることができます。


オススメは以下の3つです。
どのスクールも無料体験が用意されているので、
契約前に自分に最適なスクールを探すことができるでしょう。

✔️オススメのプログラミングスクール ベスト3

プログラミングスクールについては「プログラミングスクールで失敗しないためには【オススメベスト3も紹介】」の記事でも紹介しています。


気になった方はぜひチェックしてみて下さい〜!

コメント

タイトルとURLをコピーしました