线性回归模型拟合度提升技巧:提高 R 平方值
线性回归模型拟合度提升技巧:提高 R 平方值
本文介绍了如何提升线性回归模型的拟合度,包括特征工程、数据清洗、模型选择等方法,帮助你构建更准确的预测模型。
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
from sklearn.preprocessing import MinMaxScaler
# 读取Excel文件
data = pd.read_excel(r'D:\pythonProject3\会员信息\附件二:会员信息数据.xlsx')
data.dropna(inplace=True)
X = data[['信誉值均值', '预订任务限额均值', '商品周围商品个数', '会员点个数']]
y = data['任务标价']
# 填充缺失值
X.fillna(X.mean(), inplace=True)
y.fillna(y.mean(), inplace=True)
# 数据归一化
scaler = MinMaxScaler()
X_scaled = scaler.fit_transform(X)
# 创建线性回归模型
model = LinearRegression()
# 训练模型
model.fit(X_scaled, y)
# 输出方程系数
coefficients = model.coef_
intercept = model.intercept_
print('方程:y = {}x1 + {}x2 + {}x3 + {}x4 + {}'.format(coefficients[0], coefficients[1], coefficients[2], coefficients[3], intercept))
# 预测值
y_pred = model.predict(X_scaled)
# 求拟合优度
r2 = r2_score(y, y_pred)
print('拟合优度:', r2)
提高拟合度的关键方法
要提高拟合度,可以尝试以下方法:
- 调整特征: 尝试添加更多相关的特征或删除无关的特征,以提高模型的解释能力。
- 特征工程: 对特征进行变换或组合,例如添加交互项、多项式特征等,以捕捉更多的非线性关系。
- 数据清洗: 检查数据是否存在异常值或噪声,对异常值进行处理或删除。
- 数据扩充: 如果数据量较小,可以考虑通过数据增强的方法增加样本数量,以提高模型的泛化能力。
- 正则化: 尝试使用正则化方法(如岭回归、Lasso回归)来减少模型的过拟合。
- 模型选择: 尝试使用其他的回归模型,如决策树回归、支持向量回归等,以找到更适合数据的模型。
- 超参数调优: 对模型的超参数进行调优,可以使用交叉验证等方法来选择最佳的超参数组合。
通过尝试以上方法,可以逐步提高模型的拟合度。
注意: 提高拟合度需要对数据和模型有深入的了解,需要根据具体情况选择合适的方法。
原文地址: https://www.cveoy.top/t/topic/fzQz 著作权归作者所有。请勿转载和采集!