2021年7月

SELECT
upc_y,
standard_id
FROM
table lateral VIEW explode(split(upc, ';')) t1 AS upc_y

注意这里对特殊字符要进行转义: '#\$%#' ';'
(1)有的符号是特殊字符,有的不是
'''

 select 
     sku_name
     sku_name_cleans,       
 from aa
 lateral VIEW explode(split(sku_name, '#\\\$%#')) t1 AS sku_name_cleans
 where 
      dt='2021-08-04'

'''

一、基本概念

1.分类原理

通过某对象的先验概率,利用贝叶斯公式,计算出其后验概率。即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。

2.贝叶斯公式

$$P(A|B) = \frac{P(B|A)*P(A)}{P(B)}$$

  • (1).其中P(A)为先验概率:先验概率(prior probability)是指根据以往经验和分析得到的概率,如全概率公式,它往往作为"由因求果"问题中的"因"出现的概率。;
  • (2).其中P(B|A)为似然概率(likelihood),条件概率:是先前统计的事件中,A事件发生情况下B事件发生的概率
  • (3).其中P(B)为边界似然概率;
  • (4).其中P(A|B)为后验概率;
3.相关概念
  • (1).先验概率:是指根据以往经验和分析得到的概率
  • (2).----

    • ①后验概率:后验概率是指通过调查或其它方式获取新的附加信息,利用贝叶斯公式对先验概率进行修正,而后得到的概率
    • ②.最大后验概率:
  • (3).---

    • ①.条件概率:指事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为:P(A|B)。若只有两个事件A,B,那么$P(A|B) = \frac{P(AB)}{P(B)}$
    • ②.联合概率:表示两个事件共同发生的概率。A与B的联合概率表示为 P(AB) 或者P(A,B),或者P(A∩B)
    • ③.全概率
  • (4).似然概率

联合概率的乘法公式为:P(AB) = P(A|B)*P(B),变形后可得到$P(A|B) = \frac{P(AB)}{P(B)}$

二、朴素贝叶斯分类器

1.朴素贝叶斯分类的定义

朴素贝叶斯分类的正式定义如下:
(1).设 $x = \left\{ f_{1},f_{2},f_{3},...,f_{m} \right\}$为一个待分类项,而每个f为x的一个特征。
(2).有类别集合$C = \left\{ y_{1},y_{2},y_{3},...,y_{n} \right\}$
(3).计算$P(y_{1}|x),P(y_{2}|x),....,P(y_{n}|x)$
(4).如果$P(y_{k}|x) = max \left\{ P(y_{1}|x),P(y_{2}|x),....,P(y_{n}|x) \right\},则x∈y_{k}$。
那么现在的关键就是如何计算第3步中的各个条件概率。我们可以这么做:
(1)、找到一个已知分类的待分类项集合,这个集合叫做训练样本集。
(2)、统计得到在各类别下各个特征属性的条件概率估计。即
$P(x_{1}|y_{1}),P(x_{2}|y_{1}),...,P(x_{3}|y_{1})$;
$P(x_{1}|y_{2}),P(x_{2}|y_{2}),...,P(x_{3}|y_{2})$;
......
$P(x_{1}|y_{3}),P(x_{2}|y_{3}),...,P(x_{3}|y_{3})$;
(3)、如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导:
$P(y_{i}|x) = \frac {P(x|y_{i})P(y_{i})}{P(x)}$
因为分母对于所有类别为常数,因为我们只要将分子最大化皆可。又因为各特征属性是条件独立的,所以有:
$P(x|y_{i})P(y_{i}) = P(a_{1}|y_{i})P(a_{2}|y_{i})...P(a_{m}|y_{i})P(y_{i})=P(y_(i))\prod\limits_{j=1}^mP(a_j|yi)$

2.朴素贝叶斯分类的举例

我们知道朴素贝叶斯的公式为:
$P(C|f) = \frac{P(f|C)*P(C)}{P(f)}$
如果换个表达式就会明朗很多,如下:
$P(类别|特征) = \frac{P(特征|分类)*P(分类)}{P(特征)}$
其中P(分类)和P(特征)都是已知的,我们只需求P(特征|分类)即可。

例题分析

给定数据如下:

高否富否帅否嫁否
不富
不高不帅
不帅不嫁
不高不富不嫁
不富不帅不嫁
不高不富不帅不嫁

那我们现在的问题是,一个男生向一个女生求婚,这个男生具有以下三个特点:不高、富、帅,请你判断以下该女孩是否会嫁?

这是一个典型的分类问题,转化为概率论问题就是$P(嫁|不高、富、帅)$ 与 $P(不嫁|不高、富、帅)那个概率更大?

这里我们就使用朴素贝叶斯公式来分别求以下两种情况下的概率:

  • ①$P(嫁|不高、富、帅) = \frac {P(不高、富、帅|嫁)*P(嫁)}{P(不高、富、帅)}$
  • ②$P(不嫁|不高、富、帅) = \frac {P(不高、富、帅|不嫁)*P(不嫁)}{P(不高、富、帅)}$
对①求解

我们先对要求①进行求解。要求$P(嫁|不高、富、帅)$的概率只需求$P(不高、富、帅|嫁)、P(嫁)、P(不高、富、帅)$即可。根据“朴素”一词也就是各个特征之间是独立的,可以得到如下<1>公式和<2>公式(只需求如下公式即可):
<1>$P(不高、富、帅|嫁) = P(不高|嫁)*P(富|嫁)*P(帅|嫁)$
<2>$P(不高、富、帅) = P(不高)*P(富)*P(帅)$
同时只需要再求出公式<3>问题就得到解决
<3>$P(嫁)$

我们从表格中统计所有嫁的样本共有3条,其中不高的样本有1条,所以$P(不高|嫁) = 1/3$,同理可以得到$P(富|嫁) = 2/3$, $P(帅|嫁) = 2/3$。

我们从表格中统计所有样本共有7条,其中嫁的样本有3条,所以 $P(嫁) = 3/7$。

我们从表格中统计所有样本共有7条,其中不高的样本有3条,所以 $P(不高) = 3/7$,其中富的样本有3条所以$P(富) = 3/7$,其中帅的样本有3条所以$P(帅) = 3/7$。

综上①$P(嫁|不高、富、帅) = \frac {P(不高、富、帅|嫁)*P(嫁)}{ \; P(不高、富、帅) \; } $
此公式 $= \frac {(\frac {1}{3} *\frac {2}{3}*\frac {2}{3})*\frac {3}{7}} {\frac {3}{7} *\frac {3}{7}*\frac {3}{7}} =\frac {196}{243}$

d对②求解

$P(不嫁|不高、富、帅) = \frac {P(不高、富、帅|不嫁)*P(不嫁)}{P(不高、富、帅)}$
此公式 $= \frac {(\frac {1}{2} *\frac {1}{4}*\frac {1}{4})*\frac {4}{7}} {\frac {3}{7} *\frac {3}{7}*\frac {3}{7}} =\frac {49}{216}$

所以最终的答案是“嫁”
参考:
1.https://blog.csdn.net/xueyingxue001/article/details/52396170
2.https://blog.csdn.net/amds123/article/details/70173402