from sklearn.linear_model import LinearRegression
x =[[80,86],[82,80],[85,78],[90,90],[86,82],[82,90],[78,80],[92,94]]
y =[84.2,80.6,80.1,90,83.2,87.6,79.4,93.4]#实例化API
estimator = LinearRegression()#使用fit方法进行训练
estimator.fit(x,y)#打印对应的系数print("线性回归的系数是:\n",estimator.coef_)#打印预测的结果print("输出预测结果:\n",estimator.predict([[100,80]]))
正规方程
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
deflinear_model():#获取数据
boston = load_boston()#数据基本处理-分割数据
x_train,x_test,y_train,y_test = train_test_split(boston.data,boston.target,test_size=0.2)#特征工程-标准化
transfer = StandardScaler()
x_train = transfer.fit_transform(x_train)
x_test = transfer.transform(x_test)#机器学习-线性回归
estimator = LinearRegression()
estimator.fit(x_train,y_train)print("这个模型的偏置是:\n",estimator.intercept_)print("这个模型的系数是:\n",estimator.coef_)#评估模型
y_pre = estimator.predict(x_test)print("预测值是:\n",y_pre)
ret = mean_squared_error(y_test,y_pre)print("均方误差为:\n",ret)
linear_model()
梯度下降
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import SGDRegressor
from sklearn.metrics import mean_squared_error
deflinear_model():#获取数据
boston = load_boston()#数据基本处理-分割数据
x_train,x_test,y_train,y_test = train_test_split(boston.data,boston.target,test_size=0.2)#特征工程-标准化
transfer = StandardScaler()
x_train = transfer.fit_transform(x_train)
x_test = transfer.transform(x_test)#机器学习-线性回归
estimator = SGDRegressor(max_iter=1000)
estimator.fit(x_train,y_train)print("这个模型的偏置是:\n",estimator.intercept_)print("这个模型的系数是:\n",estimator.coef_)#评估模型
y_pre = estimator.predict(x_test)print("预测值是:\n",y_pre)
ret = mean_squared_error(y_test,y_pre)print("均方误差为:\n",ret)
linear_model()
岭回归
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import Ridge,RidgeCV
from sklearn.metrics import mean_squared_error
deflinear_model():#获取数据
boston = load_boston()#数据基本处理-分割数据
x_train,x_test,y_train,y_test = train_test_split(boston.data,boston.target,test_size=0.2)#特征工程-标准化
transfer = StandardScaler()
x_train = transfer.fit_transform(x_train)
x_test = transfer.transform(x_test)#机器学习-岭回归
estimator = Ridge(alpha=1.0)#estimator = RidgeCV(alphas=(0.001,0.01,0.1,1,10,100))
estimator.fit(x_train,y_train)print("这个模型的偏置是:\n",estimator.intercept_)print("这个模型的系数是:\n",estimator.coef_)#评估模型
y_pre = estimator.predict(x_test)print("预测值是:\n",y_pre)
ret = mean_squared_error(y_test,y_pre)print("均方误差为:\n",ret)
linear_model()
模型的保存和加载
from sklearn.externals import joblib
#保存模型
joblib.dump(模型对象名称,"保存的路径.pkl")#加载模型
模型对象名称 = joblib.load("模型文件的路径.pkl")