http://gihyo.jp/book/2015/978-4-7741-7631-4
[scikit-learn 入門]リスト1のコードめも
list1.py (python scikit-learnでの線形回帰)
----------------------------------------------
# coding:utf-8 import numpy as np import matplotlib.pyplot as plt from sklearn import linear_model, datasets # 乱数によりデータ生成 np.random.seed(0) # 乱数の種を設定。これを設定しないと実行する度に違うデータを生成 regdata = datasets.make_regression(100, 1, noise=20.00) # make_regression の第1引数:サンプル数, 第2引数:フィーチャー数(入力データの次元), 第3引数:ノイズの大きさ # 学習を用いてモデルパラメータを表示 lin = linear_model.LinearRegression() # 線形回帰のインスタンス生成 lin.fit ( regdata[0], regdata[1] ) # フィッティングの計算 print ( "coef and intercept :", lin.coef_, lin.intercept_ ) # 回帰直線を y =ax + b とすると lin.coef_:係>数a, lin.intercept_:切片b print ( "score :", lin.score(regdata[0],regdata[1]) ) # どのくらいうまくあてはまっているかスコア。値が大きいほど良い # グラフを描画 xr = [-2.5, 2,5] plt.plot (xr, lin.coef_ * xr + lin.intercept_) # 回帰直線を描画 plt.scatter ( regdata[0], regdata[1]) # データ点を描画 plt.show()----------------------------------------------
実行結果
$ python list1.py
('coef and intercept :', array([ 42.85335573]), -1.6283636540614475)
('score :', 0.80333572865564495)
0 件のコメント:
コメントを投稿