モデルを作成する
プログラム(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_tankaiki.csv", sep=",") # 説明変数に設定する:x1 x = df.loc[:, ['x1']].values # 目的変数に設定する:x2 y = df['x2'].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_tankaiki.learn') |
データファイル
実行結果
1 2 3 |
回帰係数: -0.04954809554551324 切片: 20.11975468043899 決定係数: 0.1094335635429683 |
モデルで予測する
入力データファイルは「モデルを作成する」で生成したファイルを使用する。
プログラム(Python)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# -*- coding: utf-8 -*- import pandas as pd from sklearn.externals import joblib # モデルを読み込む clf = joblib.load('model_tankaiki.learn') # データを読み込む df = pd.read_csv("data_tankaiki.csv", sep=",") # 説明変数を設定する:x1 x = df.loc[:, ['x1']].values # モデルを利用して予測する z = clf.predict(x) print(z) |
実行結果
1 2 |
[17.89009038 18.23692705 18.08828276 18.43511943 17.19641704 17.79099419 18.38557134 17.98918657 17.44415752 17.54325371] |