モデルを作成する
プログラム(Python)
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 |
# -*- coding: utf-8 -*- import pandas as pd from sklearn import linear_model from sklearn.externals import joblib # CSVァイルからデータフレームに読み込む df = pd.read_csv("data_logistic.csv") # 説明変数を設定する:x1,x2 x = df.loc[:, ['x1', 'x2']].values # 目的変数を設定する:x3 y = df['x3'].values # モデルを作成する clf = linear_model.LogisticRegression(random_state=0) clf.fit(x, y) # 回帰係数と切片の抽出 a = clf.coef_ b = clf.intercept_ # 回帰係数 print("回帰係数:", a) print("切片:", b) print("決定係数:", clf.score(x, y)) # 学習結果を出力する joblib.dump(clf, 'model_logistic.learn') |
データファイル
実行結果
1 2 3 |
回帰係数: [[0.79826198 0.94551053]] 切片: [-8.71899451] 決定係数: 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_logistic.learn') # データを読み込みする df = pd.read_csv("data_logistic_test.csv", sep=",") # 説明変数を設定する:x1,x2 x = df.loc[:, ['x1', 'x2']].values # 学習結果を利用して予測する z = clf.predict(x) #予測結果を出力する print(z) |
データファイル
実行結果
1 |
[0 1 1 0] |