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を始め、機会学習について学ぶには以下の書籍がオススメです。

 

この書籍は初心者向けにかなり丁寧に書かれています。

さまざまな状況においてどのようなライブラリを使うべきなのか、

また各ライブラリをどのように使うのかについて詳しく説明されています。

今回紹介した sklearn についても解説されています。

 

また、この書籍の出版元であるオライリー社はプログラミングや機械学習の世界で有名です。

 

これから機械学習についてスキルを高めようとしている方にオススメの書籍です。

エンジニアとしての自身の価値をチェックする(完全無料)

エンジニアとして、

自分の価値がどれくらいのものかご存知でしょうか?

 

エンジニアとしてIT業界に身を置いていると

今の会社でずっと働くのか、フリーランスとして独立するのか …

と様々な選択肢があります。

 

どの選択肢が正解なのかを見極めるためにも、選択肢を広げるためにも

自身の価値を知っておくことはとても重要です。

 

TechClips ME では、

職務経歴書をアップロードするだけで企業からのスカウトを受けることができます。

▼▼▼▼▼

▲▲▲▲▲

しかもTechClips MEでは想定年収を企業から提示してくれるので、

自身の価値を数字で分かりやすくたしかめることができます。

 

登録はもちろん完全無料なので、一度登録してみると良いかもしれません。

 

コメント

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