「scikit-learn(サイキットラーン)とは?Pythonで使えるオープンソースの機械学習ライブラリ」

python

要約

scikit-learnは、Pythonで書かれた機械学習のためのオープンソースライブラリで、簡単なAPIと多数の便利な機能を提供します。

データマイニングやデータ分析、画像処理や自然言語処理など、幅広い機械学習タスクに使用されます。

また、高度なモデル選択や評価方法のサポートも行っています。

詳細内容

scikit-learnを使って、簡単な機械学習のプログラムを作ってみましょう。

ここでは、Iris(アヤメ)の花の分類を行います。

Irisデータセットは、3種類のアヤメの花(Setosa、Versicolour、Virginica)のそれぞれ50個のデータが含まれる、有名なデータセットです。

各花には4つの特徴量(Sepal Length、Sepal Width、Petal Length、Petal Width)があります。

まず、必要なライブラリをインポートします。

“`python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
“`次に、Irisデータセットをロードします。

“`python
iris = load_iris()
X, y = iris.data, iris.target
“`ここでは、アヤメのデータが`X`、それぞれのアヤメの種類が`y`に格納されます。

`X`は、個々のアヤメの花の4つの特徴量を含む2次元配列で、`y`は、それぞれのアヤメの種類を示す1次元配列です。

次に、データをトレーニングデータとテストデータに分割します。

“`python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
““train_test_split`関数は、指定した割合でトレーニングデータとテストデータをランダムに分割してくれます。

上記の例では、トレーニングデータが全体の80%、テストデータが20%(`test_size=0.2`)になります。

次に、分類器を作成しましょう。

ここでは、サポートベクトルマシン(Support Vector Machine, SVM)を使用します。

“`python
from sklearn.svm import SVC
clf = SVC()
““SVC()`関数を使うと、SVMの分類器を作成できます。

上記の例では、`clf`という名前で変数を作成しています。

次に、トレーニングデータを使って、SVMの分類器を学習させます。

“`python
clf.fit(X_train, y_train)
““fit`関数は、学習データを使ってモデルを学習させます。

上記の例では、`X_train`はトレーニングデータの特徴量、`y_train`はトレーニングデータのアヤメの種類を示す配列です。

学習が終了したら、テストデータを使って分類器の性能を評価します。

“`python
score = clf.score(X_test, y_test)
print(“Accuracy: {}”.format(score))
““score`関数は、テストデータを使用して分類器の性能を評価し、この場合は精度(Accuracy)を計算しています。

`format`関数を使用して、精度の値を表示しています。

以上で、Irisの花の分類を学習するプログラムが完成しました。

全体のコードは以下のようになります。

“`python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.svm import SVCiris = load_iris()
X, y = iris.data, iris.targetX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)clf = SVC()
clf.fit(X_train, y_train)score = clf.score(X_test, y_test)
print(“Accuracy: {}”.format(score))
“`

コメント

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