python - 为什么我们在使用管道时不转换 X_test
问题描述
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.25)
Step1:我们可以使用管道一次完成这些步骤,而不是一次完成这些步骤
pipeline = Pipeline([('vect', tfidf),
('clf', RandomForestClassifier())])
Step2 拟合我们的模型并将其保存在泡菜中以备后用
model = pipeline.fit(X_train, y_train)
prediction= model.predict(X_test)
通常,如果我们手动执行
X_train= tfidf.fit_transform(X_train)
X_test=tfidf.transform(X_test)
model=RandomForestClassifier()
model.fit(X_train,y_train)
prediction=model.predict(X_test)
我的问题是:如果我按照文章,并在 step2 中执行这些代码,我是否会错过这段代码
X_test=tfidf.transform(X_test)
我没有看到作者转换 X_test。他只是使用原始的 X_test。作者是真的吗?
后
解决方案
我的问题是:如果我按照文章,并在 step2 中执行这些代码,我是否会错过这段代码
不,作者是对的。
调用model.predict()
时,作者使用的是 Pipeline 类函数predict()
,您可以在文档中看到...
对数据应用变换,并使用最终估计器进行预测
所以 X_test 首先被转换然后用于预测目标变量。
推荐阅读
- android - Toast 在 Android API 28 中显示不到一秒钟
- android - 如何将 GitHub 存储库下载到我当前正在处理的 Andriod Studio 项目中?
- python - 使用 pandas 查找具有给定范围的列的长度
- sql - SQL 帮助 - 在当前记录时间戳之前查找顺序
- image - 如何在 react-native 中成功缓存最常用的数据(图像和文本)
- r - 在闪亮的 R 中显示来自网络的图像
- python - OSError: [Errno 1] 不允许操作
- go - Go中使用递归和并发的第N个斐波那契数
- python - 在使用 keras Lambda 时,如何处理“TypeError: Object arrays are not supported”?
- python - Python 给了我索引号而不是列表中的输入。