参数
高斯朴素贝叶斯实现方法代码:
'''高斯朴素贝叶斯''' def MyGaussianNB(trainMat='',Classlabels='',testDoc=''): # -----sklearn GaussianNB------- # 训练数据 X = np.array(trainMat) Y = np.array(Classlabels) # 高斯分布 clf = GaussianNB() clf.fit(X, Y) # 测试预测结果 index = clf.predict(testDoc) # 返回索引 reslist = ['Art','Literature','Education','Philosophy','History'] print(reslist[index[0]]) 多项朴素贝叶斯MultinomialNB 实现了服从多项分布数据的朴素贝叶斯算法,也是用于文本分类(这个领域中数据往往以词向量表示,尽管在实践中 tf-idf 向量在预测时表现良好)的两大经典朴素贝叶斯算法之一。 分布参数由每类 y 的
参数
式中 是 训练集 T 中 特征 i 在类 y 中出现的次数,
先验平滑因子
多项朴素贝叶斯实现方法代码:
'''多项朴素贝叶斯''' def MyMultinomialNB(trainMat='',Classlabels='',testDoc=''): # -----sklearn MultinomialNB------- # 训练数据 X = np.array(trainMat) Y = np.array(Classlabels) # 多项朴素贝叶斯 clf = MultinomialNB() clf.fit(X, Y) # 测试预测结果 index = clf.predict(testDoc) # 返回索引 reslist = ['Art','Literature','Education','Philosophy','History'] print(reslist[index[0]]) 伯努利朴素贝叶斯BernoulliNB 实现了用于多重伯努利分布数据的朴素贝叶斯训练和分类算法,即有多个特征,但每个特征 都假设是一个二元 (Bernoulli, boolean) 变量。 因此,这类算法要求样本以二元值特征向量表示;如果样本含有其他类型的数据, 一个 BernoulliNB 实例会将其二值化(取决于 binarize 参数)。伯努利朴素贝叶斯的决策规则基于