我怎样才能把X的预测插入到伯努林,你有可能吗?

2024-04-18 11:14:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python脚本,给定一个观察到的类(X)和一些二进制列(Y),它预测一个类(Pred\ux)。然后它预测每个类的概率(Prob(1)等)。我怎样才能得到只有被观察类(Prob(X))的概率?你知道吗

import pandas as pd
from sklearn.naive_bayes import BernoulliNB
BNB = BernoulliNB()

# Data
df_1 = pd.DataFrame({'X' : [1,2,1,1,1,2,1,2,2,1],
                     'Y1': [1,0,0,1,0,0,1,1,0,1],
                     'Y2': [0,0,1,0,0,1,0,0,1,0],
                     'Y3': [1,0,0,0,0,0,1,0,0,0]})

# Split the data
df_I = df_1 .loc[ : , ['Y1', 'Y2', 'Y3']]
S_O  = df_1['X']

# Bernoulli Naive Bayes Classifier
A_F = BNB.fit(df_I, S_O)

# Predict X
A_P = BNB.predict(df_I)
df_P = pd.DataFrame(A_P)
df_P.columns = ['Pred_X']

# Predict Probability
A_R = BNB.predict_proba(df_I)
df_R = pd.DataFrame(A_R)
df_R.columns = ['Prob_1', 'Prob_2']

# Join
df_1 = df_1.join(df_P)
df_1 = df_1.join(df_R)

Tags: columnsimportdataframedf概率predictpdpred