この記事では、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入門 サンプル集 |

コメント