首页 > 解决方案 > 如何从 Python 打印出 .predict_proba 返回的数据内容

问题描述

我想打印输出,.predict_proba()以便我可以理解它的格式并绘制它。我的简单for循环每个列表项只打印几行,中间有“...”行,显然意味着“太多而无法打印”。

这是我的代码,以及我当前打印方式的输出:

from sklearn.neural_network import MLPClassifier
   . . .
attributed_classifier = AttributedClassifier(name='Neural Net',
                                                 classifier=MLPClassifier(activation='relu',    #rectified linear unit function
                                                                          hidden_layer_sizes=(15, 15, 15),
                                                                          max_iter=1000, alpha=0.01, solver='lbfgs'))
   . . .
class_probabilities = classifier.predict_proba(testing_x)    # list of subjects

print("")
print("class_probabilities: len ", len(class_probabilities) )
for x in range(len(class_probabilities)):
    print("")
    print(" #" + str(1+x) + ": ", class_probabilities[x] )
print("")

这是输出打印输出...

class_probabilities: len  3

 #1:  [[1.23370028e-01 7.98626839e-01 7.80031332e-02]
 [1.34253345e-01 8.02147105e-01 6.35995496e-02]
 [4.20400951e-02 9.56575574e-01 1.38433056e-03]
 ...
 [1.07340810e-04 9.99875766e-01 1.68932945e-05]
 [1.15734297e-04 9.99864464e-01 1.98020005e-05]
 [8.15754225e-05 9.99908958e-01 9.46632447e-06]]

 #2:  [[9.42464573e-01 5.75202710e-02 1.51555329e-05]
 [9.38067460e-01 6.19139759e-02 1.85642150e-05]
 [9.33109663e-01 6.68615935e-02 2.87433662e-05]
 ...
 [4.85226118e-05 8.32134375e-01 1.67817102e-01]
 [1.66757224e-05 8.37125702e-01 1.62857622e-01]
 [5.56483696e-06 8.36670955e-01 1.63323480e-01]]

 #3:  [[5.44122429e-02 9.44383999e-01 1.20375853e-03]
 [4.75538217e-02 9.50149792e-01 2.29638670e-03]
 [5.64623685e-02 9.39969168e-01 3.56846344e-03]
 ...
 [3.64298620e-01 6.35701380e-01 5.47249846e-12]
 [3.84705120e-01 6.15294880e-01 2.29998356e-12]
 [1.04614454e-01 8.89789154e-01 5.59639168e-03]]

标签: pythonscikit-learn

解决方案


推荐阅读