您的位置:首页 > 其它

线性回归之普通最小二乘

2018-11-29 19:27 204 查看
[code]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的预测。
[code]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()

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: