'PCA' 对象没有属性 'predict'

'PCA' object has no attribute 'predict'

我的代码有问题:

PCA 运行良好,但当我将其与网格搜索结合使用时出现此错误:

error error

这是我的代码:

pca = PCA()
param_grid = {'n_components': range(1,50)}
GridSearchCV(pca, param_grid, cv=5 ,scoring='f1', 
return_train_score=True, n_jobs=-1, 
error_score="raise").fit(prepared_data_train, y_train)

检查这个:

删除评分,因为默认情况下 F1 对于 PCA 没有意义。

此外,请确保在执行 PCA 之前对数据进行归一化;原因解释here.

pca = PCA()

scaler = StandardScaler()


pipe = Pipeline(steps=[("scaler", scaler), ("pca", pca)])

param_grid = {'pca__n_components': range(1,50)}

search = GridSearchCV(pipe, param_grid, cv=5 , return_train_score=True, n_jobs=-1, error_score="raise").fit(X_digits, y_digits)

print("Best parameter (CV score=%0.3f):" % search.best_score_)
print(search.best_params_)

这是文档中的一个很好的例子,供进一步 exploration