我有一本這樣設定的字典:
{attribute: [threshold, infogain]}
其中,attribute 是一個字串,infogain 是一個數字。該串列始??終采用相同的格式,因此 infogain 的索引始終為 1。
我想根據 infogain 的值找到最佳屬性。我確實需要在那里保留閾值,或者至少我需要一種方法來存盤它,以便所有三個值都關聯且可訪問。
我目前獲得資訊增益最大值的嘗試是這樣的:
max(attribute.values()[1])
這會導致一個可以理解的錯誤,說我正在嘗試下標dict_values.
我正在考慮如何修改max(attributes, key=attributes.get)以某種方式為我獲取具有最大資訊增益的陣列的字典鍵,但沒有運氣。
我怎么能做到這一點?
uj5u.com熱心網友回復:
您可以對字典的鍵/值對取最大值:
max_kv = max(d.items(), key = lambda kv:kv[1][1])
最大關鍵是:
max_kv[0] # since max_kv is a key/value pair
例子:
d = {
"a1":[0.9, 1],
"a2":[.25, 2],
"a3":[.5, 5]
}
max_kv = ('a3', [0.5, 5])
所以,最大關鍵是:
max_kv[0], which is a3
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/377451.html
