この記事では、Pythonと機械学習ライブラリ「scikit-learn」を用いて、重回帰分析した結果を出力(エクスポート・ダンプ)する方法について解説します。
重回帰分析とは
重回帰分析とは、以下のような線形回帰モデルを用いて予測する手法です。
式
(1)
変数 | 説明 |
---|---|
y | 目的変数(予測したい値) |
説明変数(予測に利用するデータ) | |
回帰係数(相関係数) |
説明変数が複数の場合は「重回帰分析」と呼ばれます。
PythonモジュールScikit-learnでは、「linear_model.LinearRegression()」を用いることで重回帰分析を行うことができます。
今回は、CSVファイルを読み込んで、そのデータから重回帰分析を行い、生成して出力した回帰モデルを復元(インポート)しました。
(sklearn.externals.joblib.loadを使います)
ソースコード
サンプルプログラムのソースコードです。
# -*- coding: utf-8 -*- import pandas as pd import numpy as np from sklearn import linear_model from sklearn.externals import joblib def main(): clf = joblib.load('multiple.learn') # 回帰係数と切片の抽出 a = clf.coef_ b = clf.intercept_ # 回帰係数 print("回帰係数:", a) print("切片:", b) if __name__ == "__main__": main()
【data.csv】
"x1","x2","x3" 45,17.5,30 38,17.0,25 41,18.5,20 34,18.5,30 59,16.0,45 47,19.0,35 35,19.5,25 43,16.0,35 54,18.0,35 52,19.0,40
【学習ファイル】multiple.learn
実行結果
サンプルプログラムの実行結果です。
前回の記事で出力した回帰モデルを読み込めました。
回帰係数: [ 0.70068905 -0.64667957] 切片: 12.1846948155
– | 関連記事 |
---|---|
1 | Scikit-learn入門・使い方 |
2 | Scikit-learnをインストールする方法 |
3 | Python入門 サンプル集 |
コメント