data = pdread_excelrDpythonProject3会员信息附件二:会员信息数据xlsxdatadropnainplace=TrueX = data信誉值均值 预订任务限额均值 商品周围商品个数 会员点个数y = data任务标价从中随机取样500组数据用来拟合求拟合优度并找到拟合度最高的方程并输出
首先,我们需要导入所需的库和模块:
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import r2_score
然后,我们读取数据并进行预处理:
data = pd.read_excel(r'D:\pythonProject3\会员信息\附件二:会员信息数据.xlsx')
data.dropna(inplace=True)
X = data[['信誉值均值', '预订任务限额均值', '商品周围商品个数', '会员点个数']]
y = data['任务标价']
接下来,我们从中随机取样500组数据用来拟合:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=500, random_state=0)
然后,我们使用线性回归模型进行拟合:
model = LinearRegression()
model.fit(X_train, y_train)
接着,我们使用拟合模型对测试数据进行预测,并计算拟合优度:
y_pred = model.predict(X_test)
r2 = r2_score(y_test, y_pred)
最后,我们找到拟合度最高的方程并输出:
equation = f'y = {model.intercept_}'
for i, coef in enumerate(model.coef_):
equation += f' + {coef} * {X.columns[i]}'
print(equation)
print('拟合优度:', r2)
完整的代码如下:
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import r2_score
data = pd.read_excel(r'D:\pythonProject3\会员信息\附件二:会员信息数据.xlsx')
data.dropna(inplace=True)
X = data[['信誉值均值', '预订任务限额均值', '商品周围商品个数', '会员点个数']]
y = data['任务标价']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=500, random_state=0)
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
r2 = r2_score(y_test, y_pred)
equation = f'y = {model.intercept_}'
for i, coef in enumerate(model.coef_):
equation += f' + {coef} * {X.columns[i]}'
print(equation)
print('拟合优度:', r2)
运行以上代码,即可得到拟合度最高的方程和拟合优度。
原文地址: https://www.cveoy.top/t/topic/ixcP 著作权归作者所有。请勿转载和采集!