根据您提供的代码和报错信息,我注意到您正在尝试在单个样本上进行线性回归拟合,并划分训练集和测试集。这是不正确的,因为至少需要两个样本才能进行拟合和划分数据集。

根据您的描述,您的数据包含两列,其中A列是自变量,B列是因变量。为了正确进行线性回归拟合和划分数据集,我们需要使用多个样本。

请尝试以下代码:

import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split

data_shaoshui = pd.read_excel('D:\M_hua\shaoshui.xlsx', header=None)

X = data_shaoshui.iloc[:, 0].values.reshape(-1, 1)
Y = data_shaoshui.iloc[:, 1].values.reshape(-1, 1)

X_tra, X_tes, Y_tra, Y_test = train_test_split(X, Y, test_size=0.25, random_state=7)

lr = LinearRegression()
lr_fit = lr.fit(X_tra, Y_tra)
print('{:.3f}'.format(lr_fit.score(X_tra, Y_tra)))

lr_coef = pd.DataFrame(lr_fit.coef_, columns=['Coefficient'], index=['A'])
lr_coef['Intercept'] = lr_fit.intercept_
lr_coef

在这个代码中,我们使用.values.reshape(-1, 1)将X和Y转换为二维数组,以适配线性回归模型的输入要求。

然后我们使用train_test_split函数将数据划分为训练集和测试集,其中test_size=0.25表示测试集占总样本的25%。

最后,我们使用LinearRegression进行线性回归拟合并计算R-squared得分。我们创建一个包含回归系数和截距的数据框lr_coef

请确保数据文件路径正确,并根据实际情况调整代码。如果问题仍然存在,请提供更多关于数据和错误的详细信息,以便我能够更好地帮助您解决问题。

解决Python线性回归代码报错:ValueError: With n_samples=0, test_size=0.25 and train_size=None, the resulting train set will be empty.

原文地址: http://www.cveoy.top/t/topic/dqtF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录