写网格搜索算法的时候出现了
TypeError: unhashable type: ‘dict’
错误
如下图:
网上查询后,知道了错误原因:list 不使用 hash 值进行索引,故其对所存储元素没有可哈希的要求;set / dict 使用 hash 值进行索引,也即其要求欲存储的元素有可哈希的要求。Python不支持dict的key为list或dict类型,因为list和dict类型是unhashable(不可哈希)的。
修改:只需将"{ }“改为”( )"即可
修改后的代码如下:
param_grid=(
{
'weights':['uniform'],
'n_neighbors':[i for i in range(1,11)]
},
{
'weights':['distance'],
'n_neighbors':[i for i in range(1,11)],
'p':[i for i in range(1,6)]
}
)