我有一个包含222个观测值和2个变量的数据框: landslide_z_prediction 和 y (发生次数)
landslide_z_prediction 取值从0到1,而 ytest 取整数0或1。
我的任务是找出正确预测了多少预测的阳性/阴性。方案是:
a)如果z <0.5且y = 0->预测正确
b)如果z <0.5且y = 1->预测错误
c)如果z> 0.5且y = 1->预测正确
d)如果z> 0.5且y = 0->预测错误
我将222个观测值以data.frame格式放置
combined_predicitons <- data.frame(landslide_z_predicted, ytest)
如何提取每种情况下的发生次数?
答案 0 :(得分:2)
嗨,
我为.priceText
包找到了解决您问题的一种解决方案。这是代码:
@Override
public void onBillingInitialized() {
SkuDetails mysku = bp.getPurchaseListingDetails("minivip");
String miniprice = mysku.priceText;
minivip2text.setText(miniprice);
}
首先,我生成一个名为dplyr
的变量。如果预测正确与否,则为True / False。在第二个变量中,我列出了您问题中的所有案例,并将其命名为“ case_01”,“ case_02”,...。这样,我就可以按案例对数据框进行分组并计算发生的次数。
答案 1 :(得分:0)
如果我的理解正确,那么您希望创建一个 confusion matrix 。
为了做到这一点,我可以建议您:
1-根据您的阈值将z值更改为1或0:
由于您的阈值为0.5,因此您可以使用round
。
combined_predicitons$landslide_z_predicted_dicotomy = round(combined_predicitons$landslide_z_predicted)
否则,使用ifelse
,如果预测的值超过阈值,则它将输出值为1,否则为0。
threshold = 0.5
combined_predicitons$landslide_z_predicted_dicotomy = ifelse(combined_predicitons$landslide_z_predicted >= threshold, 1, 0)
2-创建table
table(combined_predicitons$y, combined_predicitons$landslide_z_predicted_dicotomy)
有了这个,您将获得每个场景的出现次数。