モデルを作成する
プログラム(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 # データ読み込み df = pd.read_csv("data_jyukaiki.csv", sep=",") # 説明変数に設定する:x1,x2 x = df.loc[:, ['x1', 'x2']].values # 目的変数に設定する:x3 y = df['x3'].values # モデルを作成する clf = linear_model.LinearRegression() clf.fit(x, y) # パラメータを抽出 a = clf.coef_ b = clf.intercept_ # パラメータの表示 print("回帰係数:", a) print("切片:", b) print("決定係数:", clf.score(x, y)) # 学習結果を出力する joblib.dump(clf, 'model_jyukaiki.learn') |
データファイル
実行結果
1 2 3 |
回帰係数: [ 0.70068905 -0.64667957] 切片: 12.184694815481187 決定係数: 0.6624246214760455 |
モデルで予測する
入力データファイルは「モデルを作成する」で生成したファイルを使用する。
プログラム(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_jyukaiki.learn') # データを読み込む df = pd.read_csv("data_jyukaiki.csv", sep=",") # 説明変数に設定する:x1,x2 x = df.loc[:, ['x1', 'x2']].values # モデルを利用して予測する z = clf.predict(x) # 予測結果を出力する print(z) |
実行結果
1 2 |
[32.39880964 27.81732606 28.94937386 24.04455049 43.17847574 32.83016838 24.09855996 31.9674509 38.38167133 36.33361365] |