获取 ValueError:在尝试运行 Adjt 时发现样本数量不一致的输入变量:[248, 1239]。 R 平方和 RMSE
Posted
技术标签:
【中文标题】获取 ValueError:在尝试运行 Adjt 时发现样本数量不一致的输入变量:[248, 1239]。 R 平方和 RMSE【英文标题】:Getting the ValueError: Found input variables with inconsistent numbers of samples: [248, 1239] while trying to run Adjt. R Squared and RMSE 【发布时间】:2021-02-17 01:31:48 【问题描述】:我是数据科学和随机森林的新手,当然,我一直在尝试在应用随机森林后找到 Adjusted R squared 和 RMSE (1239, 29) 的数据集。
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from sklearn.metrics import mean_squared_error, mean_squared_log_error, mean_absolute_error
from sklearn.model_selection import train_test_split
X = df.loc[:, df.columns != 'PRODUCTMONTHLYREVENUE_LINE']
y = df.loc[:,['PRODUCTMONTHLYREVENUE_LINE']].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 1)
在对数据集应用随机森林之前,我已经应用了测试训练。
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import roc_auc_score
model = RandomForestRegressor(oob_score=True)
model.fit(X_train, y_train)
y_predict=model.predict(X_test)
现在,当我尝试运行 RMSE 时,我遇到了在 OLS 模型中没有遇到的错误。
RMSE= np.sqrt(mean_squared_error(y_predict,y))
RMSE
出现以下错误 ValueError Traceback(最近一次调用最后一次) 在 () ----> 1 RMSE= np.sqrt(mean_squared_error(y_predict,y)) 2 RMSE
2 帧 /usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py 在 check_consistent_length(*arrays) 210 如果 len(uniques) > 1: 211 raise ValueError("发现输入变量的数量不一致" --> 212 " 样本: %r" % [int(l) for l in lengths]) 213 214
ValueError: 发现样本数量不一致的输入变量:[248, 1239]
【问题讨论】:
【参考方案1】:您需要使用以下命令:
RMSE= np.sqrt(mean_squared_error(y_predict,y_test))
RMSE
y
变量指的是整个标签数据。您以 20% 的比率拆分,您应该使用该测试数据。不是整个测试数据标签
【讨论】:
非常感谢,这对我来说是个大错误。以上是关于获取 ValueError:在尝试运行 Adjt 时发现样本数量不一致的输入变量:[248, 1239]。 R 平方和 RMSE的主要内容,如果未能解决你的问题,请参考以下文章
尝试从 Keras 运行顺序模型时出现 ValueError
继续获取 ValueError: invalid literal for int() with base 10: '1, 7'
获取 ValueError:在尝试将匹配的文件名从 csv 复制到另一个目录时,没有足够的值来解压(预期为 2,得到 1)
在 Python 中运行 keras 模型时出现 ValueError