この問題では、SVM(サポートベクターマシン)を用いた機械学習モデルの作成と予測を行う方法について解説します。具体的には、R,G,Bのデータを説明変数Xとして、晴れと曇りのラベルを目的変数Yとして分類モデルを構築します。以下に、問題を解決するためのプログラムとその解説を示します。
1. 説明変数と目的変数の設定
まず、データの読み込みと説明変数X、目的変数Yの設定を行います。XにはR,G,Bの情報を、Yには晴れと曇りのラベルを指定します。
X = table[:, :3] # R, G, Bの列を説明変数Xに設定
Y = table[:, 3] # 目的変数Yには晴れと曇りのラベルを設定
2. モデルの作成
SVMのモデルを作成します。ここでは、サポートベクターマシンの分類クラスであるSVC(Support Vector Classification)を使用し、引数にはgamma=’scale’を指定します。
model = svm.SVC(gamma='scale')
3. モデルの学習と予測
次に、学習用データとテスト用データに分割し、SVMモデルを学習させます。学習が完了したら、テストデータを用いて予測を行います。
# データの分割
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, random_state=2, test_size=0.1)
# モデルの学習
model.fit(X_train, Y_train)
# 予測の実施
predict = model.predict(X_test)
4. 結果の評価
予測結果に対する正解率を計算し、モデルの精度を評価します。正解率は、実際の値と予測された値を比較して求めます。
acc_score = metrics.accuracy_score(Y_test, predict)
print(f'正解率: {round(acc_score, 5)}')
5. まとめ
このプログラムでは、SVMを使用して、R,G,Bを説明変数とし、晴れと曇りを目的変数とする分類モデルを作成し、予測を行いました。データの読み込み、モデルの作成、学習、予測、評価の一連の流れを確認しました。これらのステップを踏むことで、簡単にSVMを用いた機械学習モデルを構築することができます。


コメント