`
huangyongxing310
  • 浏览: 490618 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

朴素贝叶斯 逻辑回归 例子

 
阅读更多
#
from sklearn.naive_bayes import GaussianNB
import numpy as np
import matplotlib.pyplot as plt

#假设存在这样的二元特征变量x,对应属性Y
# x= np.array([[3,7],[-3,7],[1,5], [1,2], [-2,0], [2,3], [-4,0], [-1,1], [1,1], [-2,2], [2,7], [-4,1], [-2,7]])
# Y = np.array([4,3, 3, 4, 4, 4, 3, 3, 4, 3, 3, 3, 4])
x= np.array([[1,0],[2,0],[3,0], [4,0], [5,0],[6,0],[7,0],[8,0], [9,0], [10,0], [5.4,0], [5.7,0]])
Y = np.array([0,0,0,0,0,1,1,1,1,1,0,1])


id3 = np.where(Y==0)
id4 = np.where(Y==1)

fig, ax = plt.subplots(figsize=(8,5))
ax.scatter(x[id3,0], x[id3,1],s=50, c='b', marker='o', label='Y=3')
ax.scatter(x[id4,0], x[id4,1], s=50, c='r', marker='x', label='Y=4')
ax.legend()
ax.set_xlabel('X[:,0]')
ax.set_ylabel('X[:,1]')
plt.show()

#高斯分布的朴素贝叶斯
#Create a Gaussian Classifier
model = GaussianNB()
# Train the model using the training sets
model.fit(x, Y)
#Predict Output
predicted= model.predict([[3.5,0],[5.5,0]])
print(predicted)

#Logistic回归的朴素贝叶斯
# LogisticRegression Predict
from sklearn.linear_model.logistic import LogisticRegression
classifier=LogisticRegression()
classifier.fit(x, Y)
predictions=classifier.predict([[3.5,0],[5.5,0]])

print(predictions)



[0 0]
[0 1]



朴素贝叶斯的三个常用模型:高斯、多项式、伯努利

一共有3个朴素贝叶斯的分类算法类。分别是GaussianNB,MultinomialNB和BernoulliNB。

高斯模型
对于连续型的数据使用,它会按高斯分布来划分成多个特征来进行概率统计
高斯模型假设每一维特征都服从高斯分布(正态分布)

https://blog.csdn.net/u011331731/article/details/72832864



多项式模型
该模型常用于文本分类,特征是单词,值是单词的出现次数。(预防一些特征在样本中没有出现过),当特征是离散的时候,使用多项式模型。

在多项式模型中, 设某文档d=(t1,t2,…,tk),tk是该文档中出现过的单词,允许重复,则
先验概率P(c)= 类c下单词总数/整个训练样本的单词总数
类条件概率P(tk|c)=(类c下单词tk在各个文档中出现过的次数之和+1)/(类c下单词总数+|V|)
V是训练样本的单词表(即抽取单词,单词出现多次,只算一个),|V|则表示训练样本包含多少种单词。 P(tk|c)可以看作是单词tk在证明d属于类c上提供了多大的证据,而P(c)则可以认为是类别c在整体上占多大比例(有多大可能性)。

https://blog.csdn.net/qq_35044025/article/details/79322169
https://wenku.baidu.com/view/70c98707abea998fcc22bcd126fff705cc175c6b.html



伯努利模型
在伯努利模型中,每个特征的取值是布尔型的,即true和false,或者1和0。





在scikit-learn中,与逻辑回归有关的主要是这3个类。LogisticRegression, LogisticRegressionCV 和logistic_regression_path。其中LogisticRegression和LogisticRegressionCV的主要区别是LogisticRegressionCV使用了交叉验证来选择正则化系数C。
LogisticRegression和LogisticRegressionCV默认就带了正则化项。penalty参数可选择的值为"l1"和"l2".分别对应L1的正则化和L2的正则化,默认是L2的正则化。
在调参时如果我们主要的目的只是为了解决过拟合,一般penalty选择L2正则化就够了。但是如果选择L2正则化发现还是过拟合,即预测效果差的时候,就可以考虑L1正则化。另外,如果模型的特征非常多,我们希望一些不重要的特征系数归零,从而让模型系数稀疏化的话,也可以使用L1正则化。
penalty参数的选择会影响我们损失函数优化算法的选择。即参数solver的选择,如果是L2正则化,那么4种可选的算法{‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’}都可以选择。但是如果penalty是L1正则化的话,就只能选择‘liblinear’了。这是因为L1正则化的损失函数不是连续可导的,而{‘newton-cg’, ‘lbfgs’,‘sag’}这三种优化算法时都需要损失函数的一阶或者二阶连续导数。而‘liblinear’并没有这个依赖。

https://www.cnblogs.com/ooon/p/4947688.html(梯度下降(Gradient Descent)算法,目的是求解最小值的,最小值就可以确定相关系数了)

https://blog.csdn.net/liulina603/article/details/78676723(逻辑回归公式)

分享到:
评论

相关推荐

    朴素贝叶斯分类算法

    7. 与逻辑回归的关系:逻辑回归是一种判别模型,直接估计类别边界,而朴素贝叶斯是生成模型,基于特征分布生成数据。两者在某些情况下可以互相转换,但朴素贝叶斯对数据的假设更少,因此在某些复杂度较高的数据集上...

    《大数据》第4章大数据挖掘工具.pptx

    分类算法如逻辑回归和朴素贝叶斯是监督学习的例子。逻辑回归在Mahout中基于随机梯度下降实现,适用于二分类问题;朴素贝叶斯算法在处理如新闻分类的任务时表现良好,能对数据进行预处理、训练分类模型,并进行类别...

    基于Python算法实现

    本章将探讨多项式朴素贝叶斯和伯努利朴素贝叶斯模型,以及如何在Python中利用Scikit-Learn进行训练和预测。 ### 第五章:决策树 决策树是一种直观的分类和回归工具,通过树状结构进行决策。本章将讲解ID3、C4.5和...

    NB算法和LR算法在UCI数据集上的的java实现

    标题中的“NB算法”指的是朴素贝叶斯(Naive Bayes)算法,而“LR算法”则指逻辑回归(Logistic Regression)算法。这两种都是在机器学习领域广泛应用的分类算法,尤其是在二分类问题中。 朴素贝叶斯算法是基于...

    机器学习整理.docx

    - 包括决策树、朴素贝叶斯、逻辑回归、KNN、SVM、神经网络、随机森林、AdaBoost和遗传算法等。 3. 无监督学习算法: - 聚类(如K-Means)、关联规则学习、K-Means和BIRCH是其中的代表。 - Apriori用于挖掘数据中...

    Machine Learning in Action.pdf

    - **朴素贝叶斯原理**:详细介绍了朴素贝叶斯分类器的工作原理及其假设条件。 - **文本分类**:通过文本分类实例演示了朴素贝叶斯分类器的实际应用过程。 **第5章:逻辑回归** - **线性模型与非线性变换**:探讨了...

    关于机器学习的ppt(英文)

    典型的判别模型例子是逻辑回归(Logistic Regression)。判别模型直接从训练数据中估计P(Y|X)的参数,而不关心X和Y的联合分布。判别模型被称为数据的“判别”模型,因为它们专注于区分不同类别的决策边界。 4. ...

    常见机器学习算法回归、分类应用示例,调参;.zip

    常见的回归算法包括线性回归(简单线性回归和多元线性回归)、逻辑回归(用于处理二分类问题)、岭回归(解决线性回归中的过拟合问题)、Lasso回归(引入正则化项进行特征选择)和弹性网络回归(结合岭回归和Lasso的...

    傻瓜机器学习笔记,简单例子&手推题目

    本文档总结了机器学习的重要算法、技术和概念,涵盖了线性回归、逻辑回归、决策树、集成学习、支持向量机、朴素贝叶斯、GDA、高斯判别分析、BP 误差逆传播算法、卷积神经网络、K-means 聚类、EM 算法、PCA 主成分...

    机器学习基础算法模型实现.zip

    "机器学习基础算法模型实现.zip"这个压缩包很可能包含了多种常见的机器学习算法的实现代码,比如线性回归、逻辑回归、决策树、随机森林、支持向量机、K近邻算法、朴素贝叶斯等。这些模型在数据挖掘、图像识别、自然...

    机器学习PPT课件包含贝叶斯学习,分析学习,概念学习,归纳和分析学习的结合,基于实例的学习等章节

    在机器学习中,贝叶斯学习常用于构建朴素贝叶斯分类器,通过对特征之间的独立性假设简化问题,实现高效分类。 2. 分析学习:分析学习关注的是如何通过解析规则或结构来理解数据。这种方法通常适用于数据可以被清晰...

    Python机器学习项目开发实战_创建分类器_编程案例解析实例详解课程教程.pdf

    2. **逻辑回归分类器**:逻辑回归是一种广泛使用的二元分类方法,其输出是连续的概率值,代表一个实例属于某一类别的概率。在Python中,通常使用`sklearn`库中的`LogisticRegression`类来实现。 3. **朴素贝叶斯...

    tutorial1_machinelearning_

    在教程中,你会遇到一些常见的机器学习模型,如线性回归、逻辑回归、决策树、随机森林、支持向量机(SVM)、朴素贝叶斯以及神经网络等。每种模型都有其特定的应用场景和优势,理解它们的工作原理和适用范围是至关...

    Python3机器学习实战教程.zip

    教程涵盖了从基础到进阶的多个主题,包括K-近邻(KNN)、决策树、朴素贝叶斯、支持向量机(SVM)、线性回归以及Logistic回归等经典机器学习方法。 在"机器学习实战教程(一):K-近邻(KNN)算法(史诗级干货长文)...

    人工智能的常用十种算法.pdf

    由于线性模型不能直接满足0到1之间的概率值,逻辑回归采用指数函数变形得到S型曲线,确保预测值始终在0和1之间,符合概率的要求。 4. **支持向量机(SVM)**: SVM是一种寻找最大间隔超平面的分类算法。最优超平面...

    算法工程师思维导图—统计机器学习篇.pdf

    3. **逻辑回归**是用于二分类问题的广义线性模型,其输出通过sigmoid函数转换为概率。损失函数通常采用**交叉熵**,而非平方误差,因为后者不适用于概率模型。逻辑回归的目标函数是非凸的,但可以通过梯度下降等迭代...

    用Matlab实现模式识别

    贝叶斯分类器的优点在于其理论基础清晰,易于理解,且在某些情况下表现良好,如朴素贝叶斯分类器。 2. **最小距离分类器**:这种分类器根据特征空间中的欧氏距离或曼哈顿距离来判断新样本应归于哪个类别。在身高和...

    ML-lib:从头开始构建的广泛的机器学习库(Python)

    朴素贝叶斯分类 高斯型 伯努利 原型方法 知识网络 LVQ 丹恩 感知器 无监督学习 K均值/媒介聚类 PCA 高斯混合 模型选择和验证 例子 为了可视化目的,二维显示了示例,但是,所有方法都可以处理高维数据。 回归 带...

Global site tag (gtag.js) - Google Analytics