sklearn中的predict与predict_proba的区别(得到各条记录每个标签的概率(支持度))
    https://www.cnblogs.com/caiyishuai/p/9391787.html

    假定在一个k分类问题中,测试集中共有n个样本。则:
    predict返回的是一个大小为n的一维数组,一维数组中的第i个值为模型预测第i个预测样本的标签;
    predict_proba返回的是一个n行k列的数组,第i行第j列上的数值是模型预测第i个预测样本的标签为j的概率。此时每一行的和应该等于1。

    1. from sklearn.linear_model import LogisticRegression
    2. import numpy as np
    3. x_train = np.array([[1,2,3],[1,3,4],[2,1,2],[4,5,6],[3,5,3],[1,7,2]])
    4. y_train = np.array([0, 0, 0, 1, 1, 1])
    5. x_test = np.array([[2,2,2],[3,2,6],[1,7,4]])
    6. clf = LogisticRegression()
    7. clf.fit(x_train, y_train)
    8. # 返回预测标签
    9. clf.predict(x_test)
    10. array([1, 0, 1])
    11. # 返回预测属于某标签的概率
    12. clf.predict_proba(x_test)
    13. array([[ 0.43348191, 0.56651809],[ 0.84401838, 0.15598162],[ 0.13147498, 0.86852502]])

    预测[2,2,2]的标签是0的概率为0.43348191,1的概率为0.56651809
    预测[3,2,6]的标签是0的概率为0.84401838,1的概率为0.15598162
    预测[1,7,4]的标签是0的概率为0.13147498,1的概率为0.86852502

    所以,若希望预测结果直接是某预测标签,则用predict
    若希望预测结果是标签的概率则用predict_proba