塘厦东莞网站建设,潮汕网站建设antnw,上海做网站比较有名的公司有哪些,网站关键词优化排名怎么做Multinomial Naive Bayes#xff1a;用于多项式模型的Naive Bayes分类器
一、算法思路
多项式Naive Bayes分类器适用于离散特征分类#xff08;如文本分类中的字数#xff09; 多叉分布通常需要整数特征计数 不过#xff0c;在实际应用中#xff0c;分数计数#xff08…Multinomial Naive Bayes用于多项式模型的Naive Bayes分类器
一、算法思路
多项式Naive Bayes分类器适用于离散特征分类如文本分类中的字数 多叉分布通常需要整数特征计数 不过在实际应用中分数计数如 tf-idf也可以起作用
二、官网API
官网API 导包from sklearn.naive_bayes import MultinomialNB
class sklearn.naive_bayes.MultinomialNB(*, alpha1.0, force_alphawarn, fit_priorTrue, class_priorNone)①平滑参数alpha
加法拉普拉斯/利德斯通平滑参数设置 alpha0 和 force_alphaTrue 表示不平滑 浮点数默认为1.0 也可以传入array形式array为各个特征值
具体官网详情如下
使用方法
MultinomialNB(alpha1.2) 或者 beyond [cat,dog] multinomial MultinomialNB(alphabeyond)
②force_alpha
如果为False且alpha小于1e-10则会将alpha设置为1e-10默认值 如果为Truealpha将保持不变 如果alpha太接近0可能会导致数字错误
具体官网详情如下
使用方法
MultinomialNB(force_alphaTrue)
③fit_prior
是否学习类别先验概率。如果为False将使用统一先验默认值为True
具体官网详情如下
使用方法
MultinomialNB(fit_priorFalse)
④类别先验概率class_prior
class_prior类别的先验概率如果指定则不会根据数据调整先验概率默认值为None
具体官网详情如下
使用方法
beyond [cat,dog] multinomial MultinomialNB(class_priorbeyond)
⑤最终构建模型
MultinomialNB(alpha1.2,force_alphaTrue,fit_priorFalse)
三、代码实现
①导包
这里需要评估、训练、保存和加载模型以下是一些必要的包若导入过程报错pip安装即可
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import joblib
%matplotlib inline
import seaborn as sns
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import confusion_matrix, classification_report, accuracy_score②加载数据集
数据集可以自己简单整个csv格式即可我这里使用的是6个自变量X和1个因变量Y
fiber pd.read_csv(./fiber.csv)
fiber.head(5) #展示下头5条数据信息③划分数据集
前六列是自变量X最后一列是因变量Y
常用的划分数据集函数官网APItrain_test_split test_size测试集数据所占比例 train_size训练集数据所占比例 random_state随机种子 shuffle是否将数据进行打乱 因为我这里的数据集共48个训练集0.75测试集0.25即训练集36个测试集12个
X fiber.drop([Grade], axis1)
Y fiber[Grade]X_train, X_test, y_train, y_test train_test_split(X,Y,train_size0.75,test_size0.25,random_state42,shuffleTrue)print(X_train.shape) #(36,6)
print(y_train.shape) #(36,)
print(X_test.shape) #(12,6)
print(y_test.shape) #(12,)④构建MultinomialNB模型
参数可以自己去尝试设置调整
multinomial MultinomialNB(alpha1.2,force_alphaTrue,fit_priorFalse)⑤模型训练
就这么简单一个fit函数就可以实现模型训练
multinomial.fit(X_train,y_train)⑥模型评估
把测试集扔进去得到预测的测试结果
y_pred multinomial.predict(X_test)看看预测结果和实际测试集结果是否一致一致为1否则为0取个平均值就是准确率
accuracy np.mean(y_predy_test)
print(accuracy)也可以通过score得分进行评估计算的结果和思路都是一样的都是看所有的数据集中模型猜对的概率只不过这个score函数已经封装好了当然传入的参数也不一样需要导入accuracy_score才行from sklearn.metrics import accuracy_score
score multinomial.score(X_test,y_test)#得分
print(score)⑦模型测试
拿到一条数据使用训练好的模型进行评估 这里是六个自变量我这里随机整个test np.array([[16,18312.5,6614.5,2842.31,25.23,1147430.19]]) 扔到模型里面得到预测结果prediction multinomial.predict(test) 看下预测结果是多少是否和正确结果相同print(prediction)
test np.array([[16,18312.5,6614.5,2842.31,25.23,1147430.19]])
prediction multinomial.predict(test)
print(prediction) #[2]⑧保存模型
multinomial是模型名称需要对应一致 后面的参数是保存模型的路径
joblib.dump(multinomial, ./multinomial.model)#保存模型⑨加载和使用模型
multinomial_yy joblib.load(./multinomial.model)test np.array([[11,99498,5369,9045.27,28.47,3827588.56]])#随便找的一条数据
prediction multinomial_yy.predict(test)#带入数据预测一下
print(prediction) #[4]完整代码
模型训练和评估不包含⑧⑨。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import joblib
%matplotlib inline
import seaborn as sns
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import confusion_matrix, classification_report, accuracy_scorefiber pd.read_csv(./fiber.csv)
fiber.head(5) #展示下头5条数据信息X fiber.drop([Grade], axis1)
Y fiber[Grade]X_train, X_test, y_train, y_test train_test_split(X,Y,train_size0.75,test_size0.25,random_state42,shuffleTrue)print(X_train.shape) #(36,6)
print(y_train.shape) #(36,)
print(X_test.shape) #(12,6)
print(y_test.shape) #(12,)multinomial MultinomialNB(alpha1.2,force_alphaTrue,fit_priorFalse)
multinomial.fit(X_train,y_train)y_pred multinomial.predict(X_test)
accuracy np.mean(y_predy_test)
print(accuracy)
score multinomial.score(X_test,y_test)#得分
print(score)test np.array([[16,18312.5,6614.5,2842.31,25.23,1147430.19]])
prediction multinomial.predict(test)
print(prediction) #[2]
文章转载自: http://www.morning.brkrt.cn.gov.cn.brkrt.cn http://www.morning.jkcnq.cn.gov.cn.jkcnq.cn http://www.morning.zqkr.cn.gov.cn.zqkr.cn http://www.morning.lsyk.cn.gov.cn.lsyk.cn http://www.morning.btblm.cn.gov.cn.btblm.cn http://www.morning.mxhgy.cn.gov.cn.mxhgy.cn http://www.morning.ztjhz.cn.gov.cn.ztjhz.cn http://www.morning.fwcjy.cn.gov.cn.fwcjy.cn http://www.morning.bnrnb.cn.gov.cn.bnrnb.cn http://www.morning.kzpy.cn.gov.cn.kzpy.cn http://www.morning.qznkn.cn.gov.cn.qznkn.cn http://www.morning.kdrly.cn.gov.cn.kdrly.cn http://www.morning.rbknf.cn.gov.cn.rbknf.cn http://www.morning.xplng.cn.gov.cn.xplng.cn http://www.morning.syrzl.cn.gov.cn.syrzl.cn http://www.morning.cnlmp.cn.gov.cn.cnlmp.cn http://www.morning.ykwgl.cn.gov.cn.ykwgl.cn http://www.morning.wrtxk.cn.gov.cn.wrtxk.cn http://www.morning.lizpw.com.gov.cn.lizpw.com http://www.morning.wbxtx.cn.gov.cn.wbxtx.cn http://www.morning.fgxws.cn.gov.cn.fgxws.cn http://www.morning.ptqds.cn.gov.cn.ptqds.cn http://www.morning.fktlr.cn.gov.cn.fktlr.cn http://www.morning.djpzg.cn.gov.cn.djpzg.cn http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn http://www.morning.tlnkz.cn.gov.cn.tlnkz.cn http://www.morning.mwcqz.cn.gov.cn.mwcqz.cn http://www.morning.zdmrf.cn.gov.cn.zdmrf.cn http://www.morning.njntp.cn.gov.cn.njntp.cn http://www.morning.gjcdr.cn.gov.cn.gjcdr.cn http://www.morning.nqbkb.cn.gov.cn.nqbkb.cn http://www.morning.brqjs.cn.gov.cn.brqjs.cn http://www.morning.tfwg.cn.gov.cn.tfwg.cn http://www.morning.hngmg.cn.gov.cn.hngmg.cn http://www.morning.hmmtx.cn.gov.cn.hmmtx.cn http://www.morning.cgmzt.cn.gov.cn.cgmzt.cn http://www.morning.tgczj.cn.gov.cn.tgczj.cn http://www.morning.jnzfs.cn.gov.cn.jnzfs.cn http://www.morning.rxhs.cn.gov.cn.rxhs.cn http://www.morning.yqpck.cn.gov.cn.yqpck.cn http://www.morning.cybch.cn.gov.cn.cybch.cn http://www.morning.rlxnc.cn.gov.cn.rlxnc.cn http://www.morning.pkmw.cn.gov.cn.pkmw.cn http://www.morning.tqrbl.cn.gov.cn.tqrbl.cn http://www.morning.hmbxd.cn.gov.cn.hmbxd.cn http://www.morning.hrqfl.cn.gov.cn.hrqfl.cn http://www.morning.krtky.cn.gov.cn.krtky.cn http://www.morning.hmbtb.cn.gov.cn.hmbtb.cn http://www.morning.cmzgt.cn.gov.cn.cmzgt.cn http://www.morning.qtzk.cn.gov.cn.qtzk.cn http://www.morning.dzgmj.cn.gov.cn.dzgmj.cn http://www.morning.kxrhj.cn.gov.cn.kxrhj.cn http://www.morning.xkzr.cn.gov.cn.xkzr.cn http://www.morning.snjpj.cn.gov.cn.snjpj.cn http://www.morning.dmsxd.cn.gov.cn.dmsxd.cn http://www.morning.dlrsjc.com.gov.cn.dlrsjc.com http://www.morning.dzpnl.cn.gov.cn.dzpnl.cn http://www.morning.myrmm.cn.gov.cn.myrmm.cn http://www.morning.qwwhs.cn.gov.cn.qwwhs.cn http://www.morning.lzdbb.cn.gov.cn.lzdbb.cn http://www.morning.hqrkq.cn.gov.cn.hqrkq.cn http://www.morning.yprnp.cn.gov.cn.yprnp.cn http://www.morning.rkjb.cn.gov.cn.rkjb.cn http://www.morning.ygkq.cn.gov.cn.ygkq.cn http://www.morning.cpmwg.cn.gov.cn.cpmwg.cn http://www.morning.dhmll.cn.gov.cn.dhmll.cn http://www.morning.xhkgl.cn.gov.cn.xhkgl.cn http://www.morning.qzqjz.cn.gov.cn.qzqjz.cn http://www.morning.cljmx.cn.gov.cn.cljmx.cn http://www.morning.nggbf.cn.gov.cn.nggbf.cn http://www.morning.ctbr.cn.gov.cn.ctbr.cn http://www.morning.mnygn.cn.gov.cn.mnygn.cn http://www.morning.qrlsy.cn.gov.cn.qrlsy.cn http://www.morning.xbzfz.cn.gov.cn.xbzfz.cn http://www.morning.smmrm.cn.gov.cn.smmrm.cn http://www.morning.wfttq.cn.gov.cn.wfttq.cn http://www.morning.xmrmk.cn.gov.cn.xmrmk.cn http://www.morning.qqzdr.cn.gov.cn.qqzdr.cn http://www.morning.wnwjf.cn.gov.cn.wnwjf.cn http://www.morning.ttkns.cn.gov.cn.ttkns.cn