実行例は「saka.mokumoku」の「Google Colabotry」環境に保存してある
学習モデルにRandomForestを使用する
1.事前準備
ライブラリのインポート、データの読み込み
4つの説明変数
sepal length (cm) : がく片の長さ
sepal width (cm) : がく片の幅
petal length (cm) : 花弁の長さ
petal width (cm) : 花弁の幅
targetに3つの品種がある
setosa, versicolor, virginicaの3品種名
説明変数と同じようにデータフレームに入れる
目的変数の値を確認する
0 : setosa
1 : versicolor
2 : virginica
#
# ライブラリのインポート、データの読み込み、先頭5行の表示
#
from sklearn.datasets import load_iris
import pandas as pd
iris = load_iris()
data = iris.data
#
# 説明変数の確認
#
feature_names = iris.feature_names
df = pd.DataFrame(data=data, columns=feature_names)
df.head()
#
df.shape
#
# 目的変数の確認
#
target = iris.target
target_names = iris.target_names
print(target_names)
#
df_target = pd.DataFrame(data=target, columns=['target'])
print((df_target.head())
#
print(df_target['target'].unique())
2.機械学習
データ分割
データを学習用とテスト用に分割する
train_test_split()で簡単に分割できる
デフォルトで25%のデータがテストデータ
変更する場合は引数にtest_sizeを追加する、0.2~0.4がお勧め
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(data, df_target)
print('x_train : ', x_train.shape)
print('x_test : ', x_test.shape)
print('y_train : ', y_train.shape)
print('y_test : ', y_test.shape)
3.機械学習
学習モデルにRandomForestを使用する
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
#
model.fit(x_train, y_train)
モデルの精度を確認する
精度の確認にはaccuracy_scoreを使用する
精度は 97.4%
pred = model.predict(x_test)
#
from sklearn.metrics import accuracy_score
accuracy_score(y_test, pred)