gpt4 book ai didi

python - 发现输入变量的样本数量不一致错误

转载 作者:行者123 更新时间:2023-11-30 09:31:07 25 4
gpt4 key购买 nike

我编写了以下代码来学习机器学习方法中的分数。但我收到以下错误。原因是什么??

veri = pd.read_csv("deneme2.csv")

veri = veri.drop(['id'], axis=1)

y = veri[['Rating']]
x = veri.drop(['Rating','Genres'], axis=1)


X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.33)


DTR = DecisionTreeRegressor()
DTR.fit(X_train,y_train)
ytahmin = DTR.predict(x)
DTR.fit(veri[['Reviews','Size','Installs','Type','Price','Content Rating','Category_c']],veri.Rating)
basari_DTR = DTR.score(X_test,y_test)
#print("DecisionTreeRegressor: Yüzde",basari_DTR*100," oranında:" )
a = np.array([159,19000000.0,10000,0,0.0,0,0]).reshape(1, -1)
predict_DTR = DTR.predict(a)
print(f1_score(y_train, y_test, average='macro'))

Error: Found input variables with inconsistent numbers of samples: [6271, 3089]

最佳答案

您的代码至少存在两个问题。

您报告的第一个错误

print(f1_score(y_train, y_test, average='macro')) 
Error: Found input variables with inconsistent numbers of samples: [6271, 3089]

是由于您的 y_trainy_test 具有不同的长度,正如其他答案中已经指出的那样。

但这不是这里的主要问题,因为,即使您按照建议将 y_train 更改为 y_pred,您也会收到一个新错误:

print(f1_score(y_pred, y_test, average='macro')) 
Error: continuous is not supported

这只是因为您处于回归设置中,而 f1 分数是一个分类指标,因此它不适用于连续预测。

换句话说,f1 分数对于您的(回归)问题不合适,因此会出现错误。

检查list of metrics available in scikit-learn ,您可以在其中确认 f1 分数仅用于分类,并选择另一个适合回归问题的指标。

有关在 scikit-learn 中选择不适当指标时会发生什么情况的更详细说明,请参阅 Accuracy Score ValueError: Can't Handle mix of binary and continuous target

关于python - 发现输入变量的样本数量不一致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57670829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com