Jupyter Notebookなどで、コードを実装して実際に確かめてみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
import numpy as np import pandas as pd from sklearn.datasets import load_iris iris = load_iris() df = pd.DataFrame(iris.data,columns=iris.feature_names) df['target'] = iris.target #5つの特徴量を持つ150個のデータがあります df #3つ目の特徴量(petal_length)だけを使って分類してみる #2つの種類のみ使うので、50行目以降のデータを抽出してベクトル化 #分類を0と1にしたいので、-1 x = iris.data[50:,2].reshape(-1,1) y = iris.target[50:] - 1 from sklearn.linear_model import LogisticRegression #標準化用クラス from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split scaler = StandardScaler() #標準化されたデータを生成 x_scaled = scaler.fit_transform(x) #訓練用とテスト用データ作成 x_train,x_test,y_train,y_test = train_test_split(x_scaled,y,random_state=0) #モデルを生成して学習 log_reg = LogisticRegression().fit(x_train,y_train) log_reg.intercept_,log_reg.coef_ #どれくらい正しく分類できたか print(log_reg.score(x_train,y_train)) print(log_reg.score(x_test,y_test)) |
Leave a Reply