错误:“管道的最后一步应实现fit或字符串‘passthrough’

2024-04-23 23:00:38 发布

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

我已经创建了一个管道,该管道应该适合我的数据和评分本身的不同模型,但我收到了这个错误

代码如下:

    `models = {"Ridge": Ridge(), 
         "SVR_linear": SVR(kernel="linear"),
         "SVR_rbf": SVR(kernel="rbf"),
         "RandomForestRegressor": RandomForestRegressor()}
reg_results = {}`

`for model_name, model in models.items(): 
    
    # Model preprocessor with pipeline
    model_pipeline = Pipeline(steps=[("preprocessor", preprocessor), 
                                     ("model", models)])
    
    # Fit models
    print(f"Fitting {model_name}...")
    model_pipeline.fit(car_X_train, car_y_train)
    
    # Score model and append model results dict with values
    print(f"Scoring {model_name}...")
    reg_results[model_name] = model.pipeline.score(car_X_test, car_y_test)`

Tags: namemodel管道pipelinemodelsregcarkernel
1条回答
网友
1楼 · 发布于 2024-04-23 23:00:38
model_pipeline = Pipeline(steps=[("preprocessor", preprocessor), 
                                     ("model", model)])

将“模型”替换为“模型”

  • 因为“模型”是你的模型字典
  • 您应该在这个管道步骤中使用字典值(来自for循环的“model”

相关问题 更多 >