样本集 , 每个样本有 种可能出现的特征 和与之相对应的类别 。
贝叶斯公式:
由条件概率公式:
公式变换(乘法公式):
所以,在计算中贝叶斯公式中的分母可以去除。
综上,计算模型可描述为如下公式:
有总体样本数1000,转化样本数200。
其中,
特征A在总体样本中出现200次,转化样本中出现80次;
特征B在总体样本中出现800次,转化样本中出现120次。
可得:
归一化处理:
- 数据去重,去除原始数据中出现的重复数据
- 特征数据标准化,得到各个特征的字典值
- 数据转换,根据特征字典值将原始数据转换为对应浮点型数据格式
- 数据处理类库:pandas, numpy
- 数据建模类库:sklearn.naive_bayes, sklearn.metrics
from sklearn.naive_bayes import MultinomialNB, BernoulliNB, GaussianNB
from sklearn.model_selection import KFold
import sklearn.metrics as mtx
import pandas as pd
import numpy as np
# fit
nb = GaussianNB()
nb.fit(x_train_features, x_train_target)
# predict
pred_prob = nb.predict_proba(x_test_features)
predicted = nb.predict(x_test_features)
auc = mtx.roc_auc_score(x_test_target, pred_prob[:, 1])
recall = mtx.recall_score(x_test_target, predicted)
output = 'AUC: %(auc).4f Recall: %(recall).4f'%{'auc':auc, 'recall':recall}
print(output)
-
《统计学关我什么事:生活中的极简统计学》[小岛宽之]