zoukankan      html  css  js  c++  java
  • sklearn中的predict与predict_proba的区别(得到各条记录每个标签的概率(支持度))

    假定在一个k分类问题中,测试集中共有n个样本。则:

        predict返回的是一个大小为n的一维数组,一维数组中的第i个值为模型预测第i个预测样本的标签;

        predict_proba返回的是一个n行k列的数组,第i行第j列上的数值是模型预测第i个预测样本的标签为j的概率。此

                                时每一行的和应该等于1。

     

    举个例子:

    >>> from sklearn.linear_model import LogisticRegression

    >>> import numpy as np

    >>> x_train = np.array([[1,2,3],[1,3,4],[2,1,2],[4,5,6],[3,5,3],[1,7,2]])

    >>> y_train = np.array([0, 0, 0, 1, 1, 1])

    >>> x_test = np.array([[2,2,2],[3,2,6],[1,7,4]])

    >>> clf = LogisticRegression()

    >>> clf.fit(x_train, y_train)

    # 返回预测标签

    >>> clf.predict(x_test)

    array([1, 0, 1])

    # 返回预测属于某标签的概率

    >>> clf.predict_proba(x_test)

    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

     

  • 相关阅读:
    js禁用回退键
    css和js引用图片路径
    js 文字横向滚动
    数组转换
    Vbox共享串口
    office2003 打开docx文件
    注销退出客户点击回退怎么办
    vs2010 安装mvc3
    修改头像
    iis发布网站局域网无法访问
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/9391787.html
Copyright © 2011-2022 走看看