我有一个数据框,其中有5列是从公司进入销售渠道的人员的特征,前4列包含该人员的特征,第五列包含该人员是否已成为客户的信息(胜负)。
我正在尝试使用多项朴素贝叶斯模型来预测具有特定特征的组合(4列组合)的人成为客户的可能性。
我目前的方法是使用“标签编码器”将所有列都转换为整数(它们是字符串),然后,进行交叉验证,并使用“ predict_proba”方法来获取每个客户端具有输赢的状态。
我当前的问题是,“ predict_proba”方法仅返回具有概率的数组数组,我想知道与该概率相关的配置文件(用作特征的4列的组合)。
链接到实际数据: http://www.sharecsv.com/s/f22433a1c92d31de886a68d3bff4a05d/aas.csv
代码:
df = pd.read_csv('aas.csv')
dfCombined = df.copy()
##------------------------------------- Feature Engineering ---------------------------_##
le = preprocessing.LabelEncoder()
def gnumeric_func (data, columns):
data[columns] = data[columns].apply(lambda x: le.fit_transform(x))
return data
#Transform string to integers
intFeatures = dfCombined.columns[0:6]
gnumeric_func (dfCombined, intFeatures)
X = dfCombined.drop(['status'], axis=1)
y = dfCombined['status'].values
## Naive Bayes ##
mBayes = MultinomialNB()
## cross validation and predict probabilities
scoresmBayes = cross_val_predict(mBayes, X, y, cv=5,method='predict_proba')