• 机器学习基础算法--回归类型和评价分析


    目录

    1.数据归一化处理

    2.数据标准化处理

    3.Lasso回归模型

    4.岭回归模型

    5.评价指标计算


    1.数据归一化处理

    1. """
    2. x的归一化的方法还是比较多的我们就选取最为基本的归一化方法
    3. x'=(x-x_min)/(x_max-x_min)
    4. """
    5. import numpy as np
    6. from sklearn.preprocessing import MinMaxScaler
    7. rd = np.random.RandomState(1614)
    8. X =rd.randint(0, 20, (5, 5))
    9. scaler = MinMaxScaler()#归一化
    10. # 对数据进行归一化
    11. X_normalized = scaler.fit_transform(X)
    12. X_normalized

    2.数据标准化处理

    1. """
    2. 标准化的方法x'=(x-u)/(标准差)
    3. """
    4. import numpy as np
    5. from sklearn.preprocessing import StandardScaler
    6. import matplotlib.pyplot as plt
    7. rd = np.random.RandomState(1614)
    8. X =rd.randint(0, 20, (5, 5))#X时特征数据
    9. # 创建StandardScaler对象(标准化)
    10. scaler = StandardScaler()
    11. X_standardized = scaler.fit_transform(X)
    12. X_standardized

      

    3.Lasso回归模型

    1. """
    2. lasso回归
    3. """
    4. import numpy as np
    5. import matplotlib.pyplot as plt
    6. import pandas as pd
    7. from sklearn.linear_model import Lasso
    8. # 从Excel读取数据
    9. dataframe = pd.read_excel('LinearRegression.xlsx')
    10. data=np.array(dataframe)
    11. X=data[:,0].reshape(-1,1)
    12. Y=data[:,1]
    13. # 创建Lasso回归模型
    14. lambda_ = 0.1 # 正则化强度
    15. lasso_reg = Lasso(alpha=lambda_)
    16. # 拟合回归模型
    17. lasso_reg.fit(X, y)
    18. # 计算回归系数
    19. coefficients = np.append(lasso_reg.coef_,lasso_reg.intercept_)
    20. # 绘制散点图和拟合曲线
    21. plt.figure(figsize=(8,6), dpi=500)
    22. plt.scatter(X, y, marker='.', color='b',label='Data Points',s=64)
    23. plt.plot(X, lasso_reg.predict(X), color='r', label='Lasso Regression')
    24. plt.xlabel('x')
    25. plt.ylabel('y')
    26. plt.title('Lasso Regression')
    27. plt.legend()
    28. plt.text(x=-0.38,y=60,color='r',s="Lasso Regression Coefficients:{}".format( coefficients))
    29. plt.savefig(r'C:\Users\Zeng Zhong Yan\Desktop\Lasso Regression.png')
    30. plt.show()

      

    4.岭回归模型

    1. import numpy as np
    2. import matplotlib.pyplot as plt
    3. import pandas as pd
    4. from sklearn.linear_model import Ridge
    5. # 从Excel读取数据
    6. dataframe = pd.read_excel('LinearRegression.xlsx')
    7. data=np.array(dataframe)
    8. X=data[:,0].reshape(-1,1)
    9. Y=data[:,1]
    10. #创建岭回归模型
    11. lambda_ = 0.1 # 正则化强度
    12. ridge_reg = Ridge(alpha=lambda_)
    13. #拟合岭回归模型并且计算回归系数
    14. ridge_reg.fit(X, y)
    15. coefficients = np.append(ridge_reg.coef_,ridge_reg.intercept_)
    16. #绘制可视化图
    17. plt.figure(figsize=(8, 6), dpi=500)
    18. plt.scatter(X, y, marker='.', color='b',label='Data Points',s=64)
    19. plt.plot(X, ridge_reg.predict(X), color='r', label='Ridge Regression')
    20. plt.xlabel('x')
    21. plt.ylabel('y')
    22. plt.title('Ridge Regression')
    23. plt.legend()
    24. plt.text(x=-0.38,y=60,color='r',s="Ridge Regression Coefficients:{}".format(coefficients))
    25. plt.savefig(r'C:\Users\Zeng Zhong Yan\Desktop\Ridge Regression.png')
    26. plt.show()

    5.评价指标计算

    MSE=i=1n(Yi-Y^)2nRMES=i=1n(Yi-Y^)2nMAE=i=1n|Yi-Y^|nR2=1-i=1n(Y^-Yi)2i=1n(Y¯-Yi)2

    1. #4种误差评价指标
    2. from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score
    3. # 预测值
    4. y_pred = ridge_reg.predict(X)
    5. # 计算均方误差(MSE)
    6. MSE = mean_squared_error(y, y_pred)
    7. # 计算均方根误差(RMSE)
    8. RMSE= np.sqrt(mse)
    9. # 计算平均绝对误差(MAE)
    10. MAE= mean_absolute_error(y, y_pred)
    11. # 计算 R 方(决定系数)
    12. R_squre = r2_score(y, y_pred)
    13. print("均方误差:", MSE )
    14. print("均方根误差:", RMSE)
    15. print("平均绝对误差:", MAE)
    16. print("R方误差系数:", R_squre)

  • 相关阅读:
    护眼灯作用大吗?五款没有危害的护眼台灯推荐
    如何在oracle中查询所有用户表的表名、主键名称、索引、外键等
    Go语言中的数组、切片和映射解析
    ABAP:EXCEL导入导出等功能
    java-php-python-ssm党员信息管理计算机毕业设计
    MySQL运维8-Mycat分库分表之范围分片
    基于stm32单片机随机数自动摇号抽奖系统
    《算法笔记》树与二叉树专题
    ApacheDBUtils的使用
    React Native 0.70 版本发布,Hermes 成为默认引擎
  • 原文地址:https://blog.csdn.net/m0_71819746/article/details/132740257