MeanShift估计器的无评分方法-scikit-learn

时间:2018-08-08 09:58:10

标签: machine-learning scikit-learn cluster-analysis grid-search mean-shift

我试图使用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)

2 个答案:

答案 0 :(得分:1)

您不能很好地将GridSearch与无人监督方法一起使用。

网格搜索的概念是在对保留的数据进行预测时,选择具有最佳得分的那些参数。但是由于大多数聚类算法无法预测看不见的数据,所以这是行不通的。

在无监督学习中选择“最佳”参数并不是那么简单。这就是为什么没有像gridsearch这样的简单自动化工具的原因。

答案 1 :(得分:0)

这是因为MeanShift算法不包含score函数。在这种情况下,您必须在scoring中指定GridSearchCVHere是完整列表。

来自GridSearchCV的{​​{3}}:

  

参数:

     

estimator :估算器对象。

     

假定实现了scikit-learn估计器接口。估算器需要提供一个score函数,或者必须传递scoring