现在人工智能、大数据行业决定定位的核心因素是:企业本身掌握的数据量级,即
掌握的的相关数据量越大,算法作出的模型更加可靠。
判别分析
(discriminatry analysis ) 的任务是根据已掌握的一批分类明确的样本,建
立较好的判别函数,使产生错判的事例最少,进而对给定的一个新样品,判
断它来自哪个总体;
贝叶斯(BAYES)
每个人脑中都有一个贝叶斯
判别思想是根据先验概率求出后验概率,并依据后验概率分布作出统计推断。
所谓先验概率,就是用概率来描述人们对所研究的对象的认识的程度;
注:
所谓后验概率,就是根据具体资料、先验概率、特定的判别规则所计算出来的概
率,它是对先验概率修正后的结果。
8点10分起床迟到的概率是 –条件概率
费歇判别
思想(FISHER)是 投影(再做分类),使多维问题简化为一维问题来处理,选
择一个适当的投影轴,使所有的样品点都投影到这个轴上得到一个投影值。 对这
个投影轴的方向的要求是: 使每一类内的投影值所形成的类内离差尽可能小,而
不同类间的投影值所形成的类间差离尽可能大。 实际应用不多!!
朴素贝叶斯应用场景:
最基础: 朴素贝叶斯
常用于:
识别垃圾邮件;
根据先验概率求出 垃圾邮件包含发票的概率是80%,
个人是否患有心脏病;
明天是不是下雨;
8点10分起床迟到的概率是 –条件概率
P(B/A) = P(AB)/P(A) A发生的条件下B发生的概率
A 发票
B 垃圾邮件
P(A/B) 30% 根据已有数据求出的先验概率
P(B/A)
P(B/A)=P(AB)/P(A)
P(A) 10% 根据已有数据求出的先验概率
P(B) 20%
P(AB) 等于P(A/B)*P(B)
6%
求上述P(AB)时可以统计所有的样本再实际求,但是如此全部统计成本太大,也
就有了贝叶斯的意义;
全概率公式:
设整体B,细分为B1,B2,B3…..Bn;
P(A) = P(A|B1)(B1)+P(A|B2)(B2)+…+P(A|Bn)(Bn)
R中有个包-e1701 ,朴素贝叶斯分析的包
实例:通过一组案例来看看如何应用:
分析:90%的准备,最重要的是10%的输出(极大的可读性,传播性,易读性)
1、已知某个app的5个功能,用户增长团队分别统计了留存用户和流失用户使用各功能的比例,对其进行分析:
留存用户:23% 用户占比 流失用户:77% 用户占比
功能A 34.9% 功能A 28.6%
功能B 24.3% 功能B 20.0%
功能C 34.8% 功能C 32.5%
功能D 85.0% 功能D 85.1%
功能E 42.7% 功能E 33.4%
-
现在APP要做一个新用户承接页,哪个功能应该优先制定?
留存用户中 流失用户中 所有用户中 功能A 8.03% 22.02% 30.05% 功能B 5.59% 15.40% 20.99% 功能C 8.00% 25.03% 33.03% 功能D 19.55% 65.53% 85.08% 功能E 9.82% 25.72% 35.54%
-
判断各功能使用后,对应的留存率
留存率 流失率 功能A 26.7% 73.3% 功能B 26.6% 73.4% 功能C 24.2% 75.8% 功能D 23.0% 77.0% 功能E 27.6% 72.4%
可见,功能E,功能A,功能B对用户的留存提升较有帮助;
例二、iris数据的例子
Library(e1071)
#加载e1071包,使用里面的函数进行朴素贝叶斯分析
s<- sample(1:nrow(iris),nrow(iris)*3/4)
#对数据集进行抽样(抽样坐标)
#sample随机抽样的过程, 抽取3/4行做训练集
train<- iris(s,) #生成训练集
test<-iris(-s,) #生成测试集
model<-naiveBayes(Species~.,data=train,laplace=3)
#构建朴素贝叶斯模型,laplace是打普拉斯平滑,一般取0-1,也可以取比较大
#注 ~. 表示所有的自变量
pre<-predict(model,test(,1:4) #做预测
table(pre,test(,5)) #查看混淆矩阵,判别情况不错
#table 类似数据透视表 功能