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


    线性回归模板:

    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 还原回原始数据空间,即逆转标准化操作。

    代码示例:

    1. transfer=StandardScaler()
    2. x_train=transfer.fit_transform(x_train)
    3. 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

    代码示例:

    1. y_predict=estimatar.predict(x_test)
    2. print('预测值',y_predict)
    3. error=mean_squared_error(y_test,y_predict)
    4. print('岭回归的均方误差:',error)

    7)可视化操作

    使用matplotlib

    引包:

    import matplotlib.pyplot as plt

    代码示例:

    1. fig=plt.figure()
    2. ax1=fig.add_subplot(221)
    3. plt.scatter(y_test,y_predict,s=50,c='r',marker='o')
    4. ax1.set_xlabel('y_test',labelpad=10,color='blue')
    5. ax1.set_ylabel('y_predict',color='blue')
    6. ax1.set_title('ax1',color='blue',size=30)
    7. y_chazhi=np.array(y_predict-y_test)
    8. ax2=fig.add_subplot(222)
    9. plt.scatter(y_test,y_chazhi,s=50,c='y',marker='o')
    10. ax2.set_xlabel('y_test',labelpad=10,color='blue')
    11. ax2.set_ylabel('y_chazhi',color='blue')
    12. ax2.set_title('ax2',color='blue',size=30)
    13. # 特征名和权重系数的bar图
    14. ax3=fig.add_subplot(223)
    15. name_diab=diab.feature_names
    16. y=estimatar.coef_
    17. plt.bar(name_diab,y)
    18. ax3.set_xlabel('name_diab',labelpad=10,color='blue')
    19. ax3.set_ylabel('estimatar.coef_',color='blue')
    20. ax3.set_title('ax3',color='blue',size=30,alpha=0.5)
    21. plt.show()

  • 相关阅读:
    洛谷_分支循环
    使用Live Chat促进业务销售的惊人技巧
    Vue 2.0——v-once使用讲解
    SpringMVC
    css文字超出元素省略,单行、多行省略
    NOIP 2012 普及组初赛 第28题 排列数
    MariaDB落幕和思考
    uni-app (通过HBuilderX 和 VS Code 开发)详细连接过程教学。
    Android 11.0 下拉状态栏录屏去掉弹窗直接录屏
    DAT:Vision Transformer with Deformable Attention详解
  • 原文地址:https://blog.csdn.net/qq_46103282/article/details/133138913