【发布时间】:2021-10-16 00:26:33
【问题描述】:
为什么这个源代码显示KeyError。我已经检查了所有代码,但它们没问题。逻辑回归分析
def testPerformance(y, y_predicted):
K = len(unique(y)) # Number of classes
# Result will be our confusion matrix
result = zeros((K, K))
for i in range(len(y)):
result[y[i]][y_predicted[i]] += 1
accuracy = (result[0][0] + result[1][1]) / sum(result)
recall = result[1][1] / (result[1][1] + result[1][0])
precision = result[1][1] / (result[1][1] + result[0][1])
f1 = 2 * precision * recall / (precision + recall)
return [accuracy, recall, precision, f1]
----------------------------------------------------
Traceback (most recent call last):
File "C:\Users\Sakib\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\core\indexes\base.py", line 3361, in get_loc
return self._engine.get_loc(casted_key)
File "pandas\_libs\index.pyx", line 76, in pandas._libs.index.IndexEngine.get_loc
File "pandas\_libs\index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc
File "pandas\_libs\hashtable_class_helper.pxi", line 2131, in pandas._libs.hashtable.Int64HashTable.get_item
File "pandas\_libs\hashtable_class_helper.pxi", line 2140, in pandas._libs.hashtable.Int64HashTable.get_item
KeyError: 0
上述异常是以下异常的直接原因:
Traceback (most recent call last):
File "C:\Users\Sakib\PycharmProjects\pythonProject\main.py", line 59, in <module>
print(testPerformance(y_test, y_predicted))
File "C:\Users\Sakib\PycharmProjects\pythonProject\main.py", line 45, in testPerformance
result[y[i]].iloc[y_predicted[i]] += 1
File "C:\Users\Sakib\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\core\series.py", line 942, in __getitem__
return self._get_value(key)
File "C:\Users\Sakib\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\core\series.py", line 1051, in _get_value
loc = self.index.get_loc(label)
File "C:\Users\Sakib\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\core\indexes\base.py", line 3363, in get_loc
raise KeyError(key) from err
KeyError: 0
【问题讨论】:
标签: python python-3.x pandas keyerror