朴素贝叶斯python(用Python的sklearn包实现朴素贝叶斯多项式模型,predict)

1.用Python的sklearn包实现朴素贝叶斯多项式模型, predict

python的机器学习模块sklearn(Google公司开始投资,是大数据战略的一个步骤)可以用于模式识别,用在一般知识发现,例如户外参与人口的类型,sklearn包自己带了两个数据集,其中一个是鸢尾花数据库(iris,鸢尾花)from sklearn import datasetsiris = datasets.load_irises() #把鸢尾花数据集加载data = iris.data #可以用dir(data)查看数据集的性质其中包括max最大,mean中值等等data.shape #返回值:(150,4)表示150个观察值,4个特征设定萼片和花瓣的长宽;pylab.imshow(digits.images[-1], cmap = pylab.cm_gray_r)。

2.朴素贝叶斯的应用

和决策树模型相比,朴素贝叶斯分类器(Naive Bayes Classifier,或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。

解决这个问题的方法一般是建立一个属性模型,对于不相互独立的属性,把他们单独处理。例如中文文本分类识别的时候,我们可以建立一个字典来处理一些词组。如果发现特定的问题中存在特殊的模式属性,那么就单独处理。

这样做也符合贝叶斯概率原理,因为我们把一个词组看作一个单独的模式,例如英文文本处理一些长度不等的单词,也都作为单独独立的模式进行处理,这是自然语言与其他分类识别问题的不同点。

实际计算先验概率时候,因为这些模式都是作为概率被程序计算,而不是自然语言被人来理解,所以结果是一样的。

在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。但这点有待验证,因为具体的问题不同,算法得出的结果不同,同一个算法对于同一个问题,只要模式发生变化,也存在不同的识别性能。这点在很多国外论文中已经得到公认,在机器学习一书中也提到过算法对于属性的识别情况决定于很多因素,例如训练样本和测试样本的比例影响算法的性能。

决策树对于文本分类识别,要看具体情况。在属性相关性较小时,NBC模型的性能稍微良好。属性相关性较小的时候,其他的算法性能也很好,这是由于信息熵理论决定的。

3.如何在python下使用pylearn2

1. Scikit-learnScikit-learn 是基于Scipy为机器学习建造的的一个Python模块,他的特色就是多样化的分类,回归和聚类的算法包括支持向量机,逻辑回归,朴素贝叶斯分类器,随机森林,Gradient Boosting,聚类算法和DBSCAN。

而且也设计出了Python numerical和scientific libraries Numpy and Scipy2.Pylearn2Pylearn是一个让机器学习研究简单化的基于Theano的库程序。3.NuPICNuPIC是一个以HTM学习算法为工具的机器智能平台。

HTM是皮层的精确计算方法。HTM的核心是基于时间的持续学习算法和储存和撤销的时空模式。

NuPIC适合于各种各样的问题,尤其是检测异常和预测的流数据来源。4. NilearnNilearn 是一个能够快速统计学习神经影像数据的Python模块。

它利用Python语言中的scikit-learn 工具箱和一些进行预测建模,分类,解码,连通性分析的应用程序来进行多元的统计。5.PyBrainPybrain是基于Python语言强化学习,人工智能,神经网络库的简称。

它的目标是提供灵活、容易使用并且强大的机器学习算法和进行各种各样的预定义的环境中测试来比较你的算法。6.PatternPattern 是Python语言下的一个网络挖掘模块。

它为数据挖掘,自然语言处理,网络分析和机器学习提供工具。它支持向量空间模型、聚类、支持向量机和感知机并且用KNN分类法进行分类。

7.FuelFuel为你的机器学习模型提供数据。他有一个共享如MNIST, CIFAR-10 (图片数据集), Google's One Billion Words (文字)这类数据集的接口。

你使用他来通过很多种的方式来替代自己的数据。8.BobBob是一个免费的信号处理和机器学习的工具。

它的工具箱是用Python和C++语言共同编写的,它的设计目的是变得更加高效并且减少开发时间,它是由处理图像工具,音频和视频处理、机器学习和模式识别的大量软件包构成的。9.SkdataSkdata是机器学习和统计的数据集的库程序。

这个模块对于玩具问题,流行的计算机视觉和自然语言的数据集提供标准的Python语言的使用。10.MILKMILK是Python语言下的机器学习工具包。

它主要是在很多可得到的分类比如SVMS,K-NN,随机森林,决策树中使用监督分类法。 它还执行特征选择。

这些分类器在许多方面相结合,可以形成不同的例如无监督学习、密切关系金传播和由MILK支持的K-means聚类等分类系统。11.IEPYIEPY是一个专注于关系抽取的开源性信息抽取工具。

它主要针对的是需要对大型数据集进行信息提取的用户和想要尝试新的算法的科学家。12.QuepyQuepy是通过改变自然语言问题从而在数据库查询语言中进行查询的一个Python框架。

他可以简单的被定义为在自然语言和数据库查询中不同类型的问题。所以,你不用编码就可以建立你自己的一个用自然语言进入你的数据库的系统。

现在Quepy提供对于Sparql和MQL查询语言的支持。并且计划将它延伸到其他的数据库查询语言。

13.HebelHebel是在Python语言中对于神经网络的深度学习的一个库程序,它使用的是通过PyCUDA来进行GPU和CUDA的加速。它是最重要的神经网络模型的类型的工具而且能提供一些不同的活动函数的激活功能,例如动力,涅斯捷罗夫动力,信号丢失和停止法。

14.mlxtend它是一个由有用的工具和日常数据科学任务的扩展组成的一个库程序。15.nolearn这个程序包容纳了大量能对你完成机器学习任务有帮助的实用程序模块。

其中大量的模块和scikit-learn一起工作,其它的通常更有用。16.RampRamp是一个在Python语言下制定机器学习中加快原型设计的解决方案的库程序。

他是一个轻型的pandas-based机器学习中可插入的框架,它现存的Python语言下的机器学习和统计工具(比如scikit-learn,rpy2等)Ramp提供了一个简单的声明性语法探索功能从而能够快速有效地实施算法和转换。17.Feature Forge这一系列工具通过与scikit-learn兼容的API,来创建和测试机器学习功能。

这个库程序提供了一组工具,它会让你在许多机器学习程序使用中很受用。当你使用scikit-learn这个工具时,你会感觉到受到了很大的帮助。

(虽然这只能在你有不同的算法时起作用。)18.REPREP是以一种和谐、可再生的方式为指挥数据移动驱动所提供的一种环境。

它有一个统一的分类器包装来提供各种各样的操作,例如TMVA, Sklearn, XGBoost, uBoost等等。并且它可以在一个群体以平行的方式训练分类器。

同时它也提供了一个交互式的情节。19.Python 学习机器样品用亚马逊的机器学习建造的简单软件收集。

20.Python-ELM这是一个在Python语言下基于scikit-learn的极端学习机器的实现。

4.如何利用python已有的机器学习预测分析核心算法预测数据

所谓预测模型我理解是机器学习的监督式算法。

常用的有 K 近邻, 决策树, 朴素贝叶斯等。

举例:

使用k近邻算法预测一个女的是不是美女:

我们抽取特征值: 身高,体重,三围等。

你先设置一些经验数据,例如:

A: 165CM 50KG, 23 32,31 美

B 150 60KG 23 23 23 丑

现在输入

C 163 45 25 30 30

选择K =3, 算法会找经验数据中和这个数据最接近的三个 值,判断这三个对象是 美 还是丑。

如果2,3个美,则预测为美。否则为丑。

对应的python代码在网上都有,估计20-30 行吧。

自己找找。

朴素贝叶斯python

转载请注明出处代码入门网 » 朴素贝叶斯python(用Python的sklearn包实现朴素贝叶斯多项式模型,predict)

资讯

pythonrw(python中wr表示什么意思)

阅读(27)

本文主要为您介绍pythonrw,内容包括python中w、r表示什么意思,python中w、r表示什么意思,python读写文件中w与wt;r与rt有何区别。文件读写就是一种常见的IO操作。文件读写操作步骤不同的编程语言读写文件的操作步骤大体都是一样的,都分为以

资讯

python获取文件修改时间(python中如何获得文件的修改时间)

阅读(25)

本文主要为您介绍python获取文件修改时间,内容包括python中如何获得文件的修改时间,如何在Python中获取文件创建和修改日期/时间,python中怎样获取文件的修改时间及其他系统信息状态。我们通过文件属性的获取,os.stat() 方法:>>>import os>>>s

资讯

pythonsetdefault(python中.setdefault是什么)

阅读(26)

本文主要为您介绍pythonsetdefault,内容包括python中.setdefault()是什么,python中.setdefault()是什么,python关于dict中的setdefault的问题。>> trainSet={}>>> trainSet.setdefault(1,2) # 给字典trainSet 设置键为1 值为2的键

资讯

python3索引(如何用Python建立索引)

阅读(42)

本文主要为您介绍python3索引,内容包括如何用Python建立索引,如何用Python建立索引建立索引:首先输入100行字符串,用于构建,python如何将列表作为列表的索引。import repatt = re.compile("\w+")def makeIndex(filename):index = {}w

资讯

python找最大(python如何将一串数字找出里面最大和最小)

阅读(50)

本文主要为您介绍python找最大,内容包括python如何将一串数字找出里面最大和最小,python找最大值,Python用while循环在一组数中找出最大值,力求简单。目标:我们的目标是把一串数字拆开,查找最大值和最小值做法:1. 将数值转化为字符串2. 将字符

资讯

python行分割(Python中split和split的区别)

阅读(36)

本文主要为您介绍python行分割,内容包括使用python如何按行数拆分文件,python中怎么拆分一行内多列数据成多行,如何用python对一行字符串进行不规则分割。str.split( ) 切割符默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。str.split("

资讯

pythoninnutshell(PythonString和PyQtQString的区别)

阅读(25)

本文主要为您介绍pythoninnutshell,内容包括#!/usr/bin/python这是个什么意思,PythonString和PyQtQString的区别,python中的foriinrange怎么用。以下在python2.5和PyQt4.4.6 for python2.5环境下讨论。在python中有两种与字符有关的类型:str

资讯

python字典key排序(Python中如何以dict的key排序输出)

阅读(27)

本文主要为您介绍python字典key排序,内容包括Python中如何以dict的key排序输出,求助:python元组作为字典的key的排序问题,python怎么对字典进行排序。123456789101112131415#输出的2113顺序却不是我们预想5261的那样初始4102化的顺序,查询相1

资讯

pythonwindows编码转换(python编码转换)

阅读(37)

本文主要为您介绍pythonwindows编码转换,内容包括python编码转换,python中前后台怎么进行编码转换,python编码转换。A. Usage decode/encode:def utf2gbk(s): 按utf-8解码,再按gbk编码 return s.dec

资讯

python(abi)=2.4is(复数3+4i在Python中的表示方式是)

阅读(24)

本文主要为您介绍python(abi)=2.4is,内容包括linux下安装yum时报错需要python(abi)=2.4请问怎么处理,复数3+4i在Python中的表示方式是,Python问题给出下列代码:zhanyi=“用心战疫,共待花期”可以输出。在python中,复数的表示是【实数部+虚数

资讯

python自动提交(如何用python脚本提交JS的表单)

阅读(22)

本文主要为您介绍python自动提交,内容包括如何用python脚本提交JS的表单,如何利用python进行参数的自动填写,怎么用python提交multipart/formdata数据。如果是要提交表单内容给 服务器的 python 处理,那么只需要在表单 <form&gt; 里面的 acti

资讯

pythonrw(python中wr表示什么意思)

阅读(27)

本文主要为您介绍pythonrw,内容包括python中w、r表示什么意思,python中w、r表示什么意思,python读写文件中w与wt;r与rt有何区别。文件读写就是一种常见的IO操作。文件读写操作步骤不同的编程语言读写文件的操作步骤大体都是一样的,都分为以

资讯

python获取文件修改时间(python中如何获得文件的修改时间)

阅读(25)

本文主要为您介绍python获取文件修改时间,内容包括python中如何获得文件的修改时间,如何在Python中获取文件创建和修改日期/时间,python中怎样获取文件的修改时间及其他系统信息状态。我们通过文件属性的获取,os.stat() 方法:>>>import os>>>s

资讯

pythonsetdefault(python中.setdefault是什么)

阅读(26)

本文主要为您介绍pythonsetdefault,内容包括python中.setdefault()是什么,python中.setdefault()是什么,python关于dict中的setdefault的问题。>> trainSet={}>>> trainSet.setdefault(1,2) # 给字典trainSet 设置键为1 值为2的键

资讯

python3索引(如何用Python建立索引)

阅读(42)

本文主要为您介绍python3索引,内容包括如何用Python建立索引,如何用Python建立索引建立索引:首先输入100行字符串,用于构建,python如何将列表作为列表的索引。import repatt = re.compile("\w+")def makeIndex(filename):index = {}w

资讯

python找最大(python如何将一串数字找出里面最大和最小)

阅读(50)

本文主要为您介绍python找最大,内容包括python如何将一串数字找出里面最大和最小,python找最大值,Python用while循环在一组数中找出最大值,力求简单。目标:我们的目标是把一串数字拆开,查找最大值和最小值做法:1. 将数值转化为字符串2. 将字符

资讯

pythonvimwindows(python在linux和windows的区别)

阅读(37)

本文主要为您介绍pythonvimwindows,内容包括在windows下怎么用vim运行python,如何在windows下实现vim与python的交互,非常新的手请教vim编写python的问题。python是一种对缩进有严格要求的语言, Python脚本可以使用非常多的工具进行编写,笔者

资讯

linuxpython库位置(怎样查看python安装路径)

阅读(1)

本文主要为您介绍linuxpython库位置,内容包括linuxpythonos库在什么地方,linuxpython类库在哪,centos中python的类库文件安装在什么位置。方法如下:linux查看python安装位置。有时我们需要查看python的安装位置,好安装第三方库,linux可以先pyt

资讯

python爬虫是什么(python爬虫是什么)

阅读(1)

本文主要为您介绍python爬虫是什么,内容包括python爬虫是什么,python为什么叫爬虫,python里面的爬虫是什么。世界上80%的爬虫是基于Python开发的,学好爬虫技能,可为后续的大数据分析、挖掘、机器学习等提供重要的数据源。什么是爬虫?网络爬虫(

资讯

python未知数(python的不等号是什么)

阅读(1)

本文主要为您介绍python未知数,内容包括请问python怎么用变量表示未知数之间的关系,请问python怎么用变量表示未知数之间的关系,python的不等号是什么。python的不等号如下:!= 不等于 - 比较两个对象是否不相等。

资讯

pythonxef(Python里的flag)

阅读(1)

本文主要为您介绍pythonxef,内容包括pythondef是什么意思,Python里的flag,python里defdrawGap是什么意思。

资讯

pythondll结构体(c结构体怎么用python写)

阅读(1)

本文主要为您介绍pythondll结构体,内容包括c结构体怎么用python写,python怎么构造一个结构体,python怎么导入ctypes。C封装了一个Dll,名为SpjMatlabTest.dll,暴露实现: typedef struct{ double *Min; dou

资讯

python小项目练手(推荐几个适合新手练手的Python项目)

阅读(1)

本文主要为您介绍python小项目练手,内容包括推荐几个适合新手练手的Python项目,python哪些练手的小程序,Python的练手项目值得推荐。实例一:满分推荐,非常值得练习GitHub - Yixiaohan/show-me-the-code: Python 练习册,每天一个小

资讯

python与c语言的区别是(python与C的区别)

阅读(1)

本文主要为您介绍python与c语言的区别是,内容包括python与C的区别,C语言和Python有什么区别呢,c语言和python区别。python与C的区别如下。语言类型不同。Python是一种动态类型语言,又是强类型语言。它们确定一个变量的类型是在您第一次给它

资讯

python3创建文件(python怎么创建一个txt文件)

阅读(1)

本文主要为您介绍python3创建文件,内容包括Python中如何创建文件,python怎么创建一个txt文件,python如何创建文件夹。python怎么创建一个txt文件的方法。如下参考:1.首先使用内置的空闲编辑器进行编辑(右键单击并选择copy),如下图所示。

资讯

python发布服务器(如何用Python搭建一个服务器)

阅读(1)

本文主要为您介绍python发布服务器,内容包括python怎么发布到服务器,如何用Python做大文件上传的服务端,怎么将python部署在服务器上。利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的路径下,输入命令:python -