我是一个初学者,我有以下代码。在
from sklearn.naive_bayes import GaussianNB
from sklearn.decomposition import PCA
pca = PCA()
model = GaussianNB()
steps = [('pca', pca), ('model', model)]
pipeline = Pipeline(steps)
cv = StratifiedShuffleSplit(n_splits=5, test_size=0.2, random_state=42)
modelwithpca = GridSearchCV(pipeline, param_grid= ,cv=cv)
modelwithpca.fit(X_train,y_train)
这是一个本地测试,我要做的是
i.对数据集执行PCA
二。只使用默认参数的高斯朴素贝叶斯
三、使用分层分光光度计
最后,我希望将上述步骤转移到另一个函数中,该函数转储分类器、数据集和特性列表,以测试性能。在
^{pr2}$在param_grid部分,我不想测试任何参数列表。如果有意义的话,我只想在Gaussian naivebayes中使用默认参数。我要改变什么?在
对于如何实例化分类器对象,是否应该有任何更改?在
GridSearchCV
的目的是用不同的参数测试管道中至少一件事(如果您不想测试不同的参数,则不需要使用GridSearchCV
)。 所以,一般来说,如果你想测试不同的PCA
n_components
。 与GridSearchCV
一起使用管道的格式如下:例如:
^{pr2}$如果如上所述使用
GridSearchCV
来调整PCA
,这当然意味着模型将具有默认值。在如果不需要参数调整,那么
GridSearchCV
不是最佳选择,因为像这样对GridSearchCV使用模型的默认参数,只会生成一个包含一个组合的参数网格,因此它就像只执行CV一样。这样做是没有意义的-如果我正确理解了你的问题:希望这有帮助,祝你好运!在
相关问题 更多 >
编程相关推荐