寫網格搜索算法的時候出現了
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)]
}
)