为什么列车试验分程和管道交叉试验分程的r2分有很大差异?

2024-06-10 14:53:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道为什么列车测试分离和管道交叉值评分之间的r2评分有很大差异?我怀疑这是因为模型可以通过管道中的CountVectorizer()看到未知单词。但是基于管道的概念,CountVectorizer()应该只在交叉值分割的训练集上工作

pipe=Pipeline([('Vect', CountVectorizer()), ('rf', RandomForestRegressor(random_state=1)) ])

X_train, X_test, y_train, y_test=train_test_split(df['X'], df['price'], shuffle= False, test_size=0.5)

reg=pipe.fit(X_train,y_train )
mypred= reg.predict(X_test)
r2_score(mypred, y_test)
# result is -0.2
cross_val_score(pipe,df['X'], df['price'],cv=2)
# result is about 0.3

Tags: testdf管道istrainresultreg评分
1条回答
网友
1楼 · 发布于 2024-06-10 14:53:47
r2_score(mypred, y_test)

这是错误的

您需要提供真实值作为第一个输入,预测值作为第二个输入。更正为:

r2_score(y_test, mypred)

然后检查结果

相关问题 更多 >