加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

将概率向量转换为python中的目标vecor?

发布时间:2020-12-20 11:59:54 所属栏目:Python 来源:网络整理
导读:我正在对来自sklearn的虹膜数据集进行逻辑回归,我知道数学并尝试实现它.在最后一步,我得到一个预测向量,这个预测向量表示该数据点进入1类或2类(二进制分类)的概率. 现在我想将这个预测向量转换为目标向量.假设概率大于50%,则相应的数据点将属于类1,否则为类
我正在对来自sklearn的虹膜数据集进行逻辑回归,我知道数学并尝试实现它.在最后一步,我得到一个预测向量,这个预测向量表示该数据点进入1类或2类(二进制分类)的概率.

现在我想将这个预测向量转换为目标向量.假设概率大于50%,则相应的数据点将属于类1,否则为类2.使用0表示类1,类1表示1.

我知道它有一个for循环版本,只是循环遍历整个向量.但是当大小变大时,for循环非常昂贵,所以我想更高效地完成它,比如numpy的矩阵运算,它比for循环中的矩阵运算更快.

有关更快方法的任何建议吗?

解决方法

import numpy as np

a = np.matrix('0.1 0.82')
print(a)

a[a > 0.5] = 1
a[a <= 0.5] = 0
print(a)

输出:

[[ 0.1   0.82]]
[[ 0.  1.]]

更新:

import numpy as np

a = np.matrix('0.1 0.82')
print(a)

a = np.where(a > 0.5,1,0)
print(a)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读