モデルを作成する
プログラム(Python)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# -*- coding: utf-8 -*- import pandas as pd from sklearn import svm from sklearn.externals import joblib # CSVァイルからデータフレームに読み込む df = pd.read_csv("data_svm.csv") # 説明変数を設定する:x1,x2 x = df.loc[:, ['x1', 'x2']].values # 目的変数を設定する:x3 y = df['x3'].values # モデルを作成する clf = svm.SVC(gamma=0.001, C=100.) clf.fit(x, y) # 係数 print("決定係数:", clf.score(x, y)) # 学習結果を出力する joblib.dump(clf, 'model_svm.learn') |
データファイル
実行結果
1 |
決定係数: 0.9090909090909091 |
モデルで予測する
入力データファイルは「モデルを作成する」で生成したファイルを使用する。
プログラム(Python)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# -*- coding: utf-8 -*- import pandas as pd from sklearn.externals import joblib # 学習結果を読み込みする clf = joblib.load('model_svm.learn') # データを読み込みする df = pd.read_csv("data_svm_test.csv", sep=",") # 説明変数を設定する:x1,x2 x = df.loc[:, ['x1', 'x2']].values # 学習結果を利用して予測する z = clf.predict(x) #予測結果を出力する print(z) |
データファイル
実行結果
1 |
[0 1 1 0] |