scikit-learn实现线性回归模型:对糖尿病人的病情状况建立线性回归模型
# 1.导入数据
import numpy as np
import pandas as pd
from sklearn import datasets
diabetes = datasets.load_diabetes()
# diabetes.keys()
x = diabetes.data
y = diabetes.target
2.将数据分为训练集和测试集
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size = 0.2,random_state = 66)
3.将数据进行归一化
from sklearn.preprocessing import StandardScaler
standscaler = StandardScaler()
standscaler.fit(x_train)
std_x_train = standscaler.transform(x_train)
std_x_test = standscaler.transform(x_test)
4.建构模型,并用训练集进行模型拟合
from sklearn.linear_model import LinearRegression
lin_reg = LinearRegression()
lin_reg.fit(std_x_train,y_train)
5.用训练好的模型对测试集进行预测
y_predict= lin_reg.predict(std_x_test)
6.评估测试集的预测准确度
lin_reg.score(std_x_test,y_test)
梯度下降求解线性回归模型:
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
boston = datasets.load_boston()
x = boston.data
y = boston.target
from sklearn.model_selection import train_test_split
x_train,x_test, y_train, y_test = train_test_split(x, y, random_state = 66)
#数据归一化
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(x_train)
x_train_std