線性迴歸之普通最小二乘

from sklearn import linear_model
reg=linear_model.LinearRegression()
print(reg.fit([[0,0],[1,1],[2,2]],[0,1,2]))
#LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
print(reg.coef_)#[0.5 0.5]
#fit_intercept是用來計算截距,默認爲true
#normalize標準化,默認爲true
#copy_X複製x數據,默認爲true
#n_jobs計算性能,默認爲1
#用該類實例化出的對象有兩個屬性:coef_:估計係數,intercept_:截距
#該類實例化出的對象有幾種方法,fit(x,y,[權重]);get_params([deep])得到參數估計量,默認爲true
#predict(x)用來預測,score(x,y,sample_weight=none)用來返回確認係數R^2的預測。
from sklearn.linear_model import LinearRegression
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#reg=linear_model.LinearRegression()
#print(reg.fit([[0,0],[1,1],[2,2]],[0,1,2]))
#LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
#print(reg.coef_)#[0.5 0.5]
#fit_intercept是用來計算截距,默認爲true
#normalize標準化,默認爲true
#copy_X複製x數據,默認爲true
#n_jobs計算性能,默認爲1
#用該類實例化出的對象有兩個屬性:coef_:估計係數,intercept_:截距
#該類實例化出的對象有幾種方法,fit(x,y,[權重]);get_params([deep])得到參數估計量,默認爲true
#predict(x)用來預測,score(x,y,sample_weight=none)用來返回確認係數R^2的預測。
data=pd.DataFrame({'a':[150,200,250,300,350,400,600],
                   'b':[5450,6850,8750,9650,10450,13450,16450]})
#print(data)
data_train=np.array(data['a']).reshape(data['a'].shape[0],1)
#print(data_train)
data_test=data['b']
#print(data_test)
reg=LinearRegression()
reg.fit(data_train,data_test)
c=reg.predict(268.5)
print(c)#[8833.54255319]
print(reg.coef_*268.5+reg.intercept_)#[8833.54255319]
#print(reg.score(data_train,data_test))
plt.scatter(data['a'],data['b'])
plt.plot(data['a'],data['b'],color='blue')
plt.plot(data['a'],reg.predict(np.array(data['a']).reshape(data['a'].shape[0],1)),color='red')
plt.show()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章