在以下代碼中:
def compute_class_freqs():
"""
Compute positive and negative frequences for each class.
Returns:
positive_frequencies (np.array): array of positive frequences for each
class, size (num_classes)
negative_frequencies (np.array): array of negative frequences for each
class, size (num_classes)
"""
### START CODE HERE (REPLACE INSTANCES OF 'None' with your code) ###
labels = [[0,1,0],[1,1,1],[0,1,1]]
print(labels)
# total number of patients (rows)
N = labels[0]
positive_frequencies = None
negative_frequencies = None
### END CODE HERE ###
return positive_frequencies, negative_frequencies
我想將每行中 1 的數量相加并將每個和附加到 positive_frequencies,并將每行中 0 的數量相加并將每個和附加到negative_frequencies。如何使用 numpy 函式 numpy.sum() 和 numpy.where() 來做到這一點?
編輯:positive_frequencies 應該是每列中 1 的數量除以總行數,負頻率應該是每列中 0 的數量除以總行數。基本上,該函式應該回傳 numpy 浮點陣列。
uj5u.com熱心網友回復:
我認為這可能有效,我知道您的評論中已經有了答案,而且這不使用 np.sum 或 np.where,但我想我會分享我是如何做到的:
labels = [[0,1,0],[1,1,1],[0,1,1]]
positive_frequencies = [len([num for num in listOfNums if num == 1]) for listOfNums in labels]
negative_frequencies = [len([num for num in listOfNums if num == 0]) for listOfNums in labels]
print(positive_frequencies, negative_frequencies)
這讓我得到了以下輸出:
[1, 3, 2] [2, 0, 1]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/488966.html
上一篇:大熊貓的指數擬合
