贝叶斯网络

本文详细介绍了贝叶斯网络的概念及其在数据挖掘中的应用,包括朴素贝叶斯算法、词向量模型(One-hot, 词袋模型, TF-IDF)以及在sklearn中的实现,如多项式模型、伯努利模型和高斯模型。同时,通过英文新闻分类实例展示了贝叶斯网络的实际应用。" 117498578,10538110,UI设计实验报告——Android控件与Swing实践,"['Android开发', '前端开发', 'Java', 'Eclipse', 'GUI设计']
摘要由CSDN通过智能技术生成

 一、贝叶斯网络

1、贝叶斯算法:有监督的学习算法,解决的是分类问题,如新闻分类、评论分类、邮件分类、客户是否流失、是否值得投资、信用等级评定等二分类和多分类问题;

2、贝叶斯理论:用客观的新信息更新我们最初关于某个事物的信念后,我们就会得到一个新的、改进了的信念;

3、经典统计学vs贝叶斯统计学:

  • 经典统计学:抽样信息 = 总体信息 + 样本信息;
  • 贝叶斯统计学:总体信息+样本信息+先验信息;

4、贝叶斯核心思想:选择具有最高概率的决策(计算每种类别,选择最高概率的类别);

5、贝叶斯推断:

二、朴素贝叶斯

1、朴素贝叶斯推断:

2、词向量模型:

2.1、One-hot Representation:

把每个词表示为一个很长的向量。这个向量的维度是词表大小,只有一个维度的值为1,其他元素为0,这个维度就代表了当前的词。

存在问题:不考虑词距离,词频,维度灾难及数据稀疏;

代码:

a、创建词汇表

import numpy as np
import pandas as pd
postingList = [['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'],        
               ['maybe', 'not', 'take', 'him', 'to', 'dog', 'park', 'stupid'],
               ['my', 'dalmation', 'is', 'so', 'cute', 'I', 'love', 'him'],
               ['stop', 'posting', 'stupid', 'worthless', 'garbage'],
               ['mr', 'licks', 'ate', 'my', 'steak', 'how', 'to', 'stop', 'him'],
               ['quit', 'buying', 'worthless', 'dog', 'food', 'stupid']]
classVec = [0,1,0,1,0,1]   # 类别标签向量,1代表侮辱性词汇,0代表不是

b、词条向量化

# 词条转换为词条向量
def createVocabList(postingList):
    vocabSet = set(word for senten in postingList for word in senten) # 集合:去重
    return list(vocabSet)

def setOfWords2Vec(vocabList, inputSet):
    returnVec = [0] * len(vocabList)                 # 创建一个其中所含元素都为0的向量
    for word in inputSet:                            # 遍历每个词条
        if word in vocabList:                        # 如果词条存在于词汇表中&#x
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值