机器学习线性回归学习总结笔记

线性回归模板:

1)获取数据:

2)划分数据集:

一般使用:train_test_split()

划分数据集的包from sklearn.model_selection import train_test_split

3)标准化处理

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)

4)选择预估器

引包:from sklearn.linear_model import LinearRegression,SGDRegressor,Ridge.......

  1. LinearRegression:实现了普通最小二乘线性回归模型。它适用于特征与目标之间的线性关系,并且假设模型的误差服从正态分布。

  2. SGDRegressor:使用随机梯度下降算法实现的线性回归模型。相比于 LinearRegressionSGDRegressor 对大规模数据集更加高效。

  3. Ridge:通过添加 L2 正则化项来改进线性回归模型。正则化有助于控制模型的复杂度,减轻过拟合问题。

  4. lasso: 通过添加 L1 正则化项来改进线性回归模型。
    。。。

5)得出模型

权重系数:coef_

偏置:intercept_

6)模型评估

使用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()

你可能感兴趣的:(机器学习,线性回归,学习)