在numpy ndarray中为每个子数组

时间:2016-11-17 20:04:29

标签: python numpy

我有一个ndarray,其中包含与特定类关联的概率。 这是一个多类问题,其中每个记录都可以与0 - 4级相关联。

我使用了sckit-learn的一个分类器:

classifier = RandomForestClassifier(n_estimators=100)
predictions_proba = classifier.predict_proba(dataframe)

让我们看看predictions_proba

array([[ 0.2       ,  0.36      ,  0.32      ,  0.05      ,  0.07      ],
   [ 0.04      ,  0.54      ,  0.29      ,  0.08      ,  0.05      ],
   [ 0.05      ,  0.02      ,  0.        ,  0.93      ,  0.        ],
   ..., 
   [ 0.47777778,  0.2       ,  0.13      ,  0.19      ,  0.00222222],
   [ 0.5951746 ,  0.        ,  0.        ,  0.        ,  0.4048254 ],
   [ 0.        ,  0.        ,  0.        ,  0.13837252,  0.86162748]])

我想找到在每个子数组中找到最大概率的最简单方法。 对于上面的示例,我想返回:

[ 0.36, 0.54, 0.93,..., 0.86162748]

0.36是第一个阵列中最大的概率, 0.54是第二阵列中最大的可用性, 等等。

1 个答案:

答案 0 :(得分:1)

arr = np.array([[1,5],[7,3]])
# array([[1, 5],
#        [7, 3]])
arr.max(axis=1)
# array([5, 7])