我试图使用GridSearch为MeanShift算法遍历不同的带宽值,它显示了此错误;你们当中有人知道我该如何解决吗?非常感谢!
as_cmap
这是我得到的错误:
# Using GridSearch for Algorithm Tuning
from sklearn.model_selection import GridSearchCV
meanshift=MeanShift()
C = range(48, 69) # For MeanShift bandwidth
param_grid = {"bandwidth": range(48, 69)}
mean_grid = GridSearchCV(estimator=meanshift, param_grid=param_grid, scoring=None)
mean_grid.fit(X)
答案 0 :(得分:1)
您不能很好地将GridSearch与无人监督方法一起使用。
网格搜索的概念是在对保留的数据进行预测时,选择具有最佳得分的那些参数。但是由于大多数聚类算法无法预测看不见的数据,所以这是行不通的。
在无监督学习中选择“最佳”参数并不是那么简单。这就是为什么没有像gridsearch这样的简单自动化工具的原因。
答案 1 :(得分:0)
这是因为MeanShift
算法不包含score
函数。在这种情况下,您必须在scoring
中指定GridSearchCV
。 Here是完整列表。
来自GridSearchCV
的{{3}}:
参数:
estimator :估算器对象。
假定实现了scikit-learn估计器接口。估算器需要提供一个
score
函数,或者必须传递scoring
。