一般使用:train_test_split()
划分数据集的包from sklearn.model_selection import train_test_split
StandardScaler()
引包:from sklearn.preprocessing import StandardScaler
fit(X)
:计算输入数据集 X 的均值和标准差。这些统计量将用于后续的数据转换。
transform(X)
:对输入数据集 X 进行标准化处理,即将 X 缩放到均值为 0、标准差为 1 的分布。
fit_transform(X)
:先计算 X 的均值和标准差,然后对 X 进行标准化处理。
inverse_transform(X)
:将经过标准化处理的数据集 X 还原回原始数据空间,即逆转标准化操作。
代码示例:
transfer=StandardScaler()
x_train=transfer.fit_transform(x_train)
x_test=transfer.transform(x_test)
引包:from sklearn.linear_model import LinearRegression,SGDRegressor,Ridge.......
LinearRegression
:实现了普通最小二乘线性回归模型。它适用于特征与目标之间的线性关系,并且假设模型的误差服从正态分布。
SGDRegressor
:使用随机梯度下降算法实现的线性回归模型。相比于 LinearRegression
, SGDRegressor
对大规模数据集更加高效。
Ridge
:通过添加 L2 正则化项来改进线性回归模型。正则化有助于控制模型的复杂度,减轻过拟合问题。
lasso: 通过添加 L1 正则化项来改进线性回归模型。
。。。
权重系数:coef_
偏置:intercept_
使用mean_squared_error()函数计算均方误差:
引包:from sklearn.metrics import mean_squared_error
代码示例:
y_predict=estimatar.predict(x_test)
print('预测值',y_predict)
error=mean_squared_error(y_test,y_predict)
print('岭回归的均方误差:',error)
7)可视化操作
使用matplotlib
引包:
import matplotlib.pyplot as plt
代码示例:
fig=plt.figure()
ax1=fig.add_subplot(221)
plt.scatter(y_test,y_predict,s=50,c='r',marker='o')
ax1.set_xlabel('y_test',labelpad=10,color='blue')
ax1.set_ylabel('y_predict',color='blue')
ax1.set_title('ax1',color='blue',size=30)
y_chazhi=np.array(y_predict-y_test)
ax2=fig.add_subplot(222)
plt.scatter(y_test,y_chazhi,s=50,c='y',marker='o')
ax2.set_xlabel('y_test',labelpad=10,color='blue')
ax2.set_ylabel('y_chazhi',color='blue')
ax2.set_title('ax2',color='blue',size=30)
# 特征名和权重系数的bar图
ax3=fig.add_subplot(223)
name_diab=diab.feature_names
y=estimatar.coef_
plt.bar(name_diab,y)
ax3.set_xlabel('name_diab',labelpad=10,color='blue')
ax3.set_ylabel('estimatar.coef_',color='blue')
ax3.set_title('ax3',color='blue',size=30,alpha=0.5)
plt.show()