machine-learning - 如何在测试数据上使用 Pipeline 和 GridSearch 模型?
问题描述
我在训练和验证期间使用Pipline()
andGridSearch()
来消除数据泄漏。我的问题是,在创建管道并在 GridSearch 中调用它之后,如何在我的测试数据上使用最终返回的模型?使用典型model.predict(...)
的就像不使用管道一样简单吗?
但更具体地说,我如何使用这个返回的模型来迭代测试数据并预测循环中的每一行?
创建模型的代码如下:
x,y = balance_dataset(df)
X_train, X_test, y_train, y_test = train_test_split(x, y, test_size = 0.8, random_state = 0)
pipe = Pipeline([('sc', preprocessing.MinMaxScaler()),
('SVM', svm.SVC(decision_function_shape = 'ovr', kernel = 'poly'))])
candidate_parameters = [{'SVM__C': [0.01, 0.1, 1], 'SVM__gamma': [0.01, 0.1, 1] }]
clf = GridSearchCV(estimator = pipe, param_grid = candidate_parameters, cv = 5, n_jobs = -1)
clf.fit(X_train, y_train)
在调用 pipeline 和 GridSearch 之后,是否可以在循环中迭代测试数据,还是流水线模型只能预测整个测试数据集?
解决方案
推荐阅读
- python - 在 Heroku 上部署 Flask 应用程序 - ModuleNotFoundError: No module named 'importlib.util'
- python - langid.py 如何将模型二进制文件创建为代码中的字符串?
- c# - 通过 Dapper 的 SQL 依赖跟踪命令文本
- sql - 在databricks SQL中将null更改为空数组?
- windows - 在不访问环境变量的情况下运行 docker-compose
- macos - 为 macOS arm64 构建 QtWebEngineCore 5.15.2 时出错
- macos - MacOS:如何使 Keychain Access 中的私有证书从命令行“可见”?
- ruby-on-rails - Rails 发现两个日期之间的差异
- typescript - 从函数工厂与类中推断成员的打字稿
- python - 如何在 jupyter notebook 中使用 cv2 关闭网络摄像头?