numpy 我如何根据二进制列的值子集数组?[关闭]

xhv8bpkk  于 2023-11-18  发布在  其他
关注(0)|答案(1)|浏览(78)

已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

26天前关闭
Improve this question
我使用XGBoost和SVM作为模型运行了一个二进制分类。我想分析模型单独与组合的效果如何。
我有一个ndarray的形状=(4500,5)。
柱结构为:
[y,0_0,1_0,0_1,1_1]

  • y:实际值,0或1
  • 0_0:XGB和SVM都预测0
  • 1_0:XGB预测1,SVM预测0
  • 0_1:XGB预测0,SVM预测1
  • 1_1:XGB和SVM都预测1

因此,对于每一行,第2-5列中只有一列包含值1。
我如何获取基于列2-5的4个子集?在R中更熟悉这一点,不确定Python中的语法如何。
还有一个问题,对于这种组合模型的情况,是否有一个与精确率/召回率等价的多个类别?
谢谢你,谢谢

46qrfjad

46qrfjad1#

我想你要找的是

subset00=data[data[:,1]==1]
subset10=data[data[:,2]==1]
subset01=data[data[:,3]==1]
subset11=data[data[:,4]==1]

字符串
不是100%确定,因为你的问题不是100%清楚,缺乏例子。
至于查准率/查全率的问题,同样,你需要用一个例子来说明你在想什么。我不清楚,不根据预测来计算查准率/查全率,而是根据一组不同的预测来计算查准率/查全率,这意味着什么(但是,无论如何,SO规则是“每个问题只有一个问题”。另外,这第2个问题比编码更理论化,SO是关于编码的。你会有更好的机会在Cross validated上找到这个问题的答案)

相关问题