zoukankan      html  css  js  c++  java
  • R语言-朴素贝叶斯分类器(1)

    利用给定的数据预测某天("Sunny","Cool","High","Strong")是否打球……

    数据:

    NO Outlook Temperature Humidity Wind Play
    1 Sunny Hot High Weak No
    2 Sunny Hot High Strong No
    3 Overcast Hot High Weak Yes
    4 Rain Mild High Weak Yes
    5 Rain Cool Normal Weak Yes
    6 Rain Cool Normal Strong No
    7 Overcast Cool Normal Strong Yes
    8 Sunny Mild High Weak No
    9 Sunny Cool Normal Weak Yes
    10 Rain Mild Normal Weak Yes
    11 Sunny Mild Normal Strong Yes
    12 Overcast Mild High Strong Yes
    13 Overcast Hot Normal Weak Yes
    14 Rain Mild High Strong No

    代码:

    data=read.table("C:\code\R\playTennis.txt",header=T)
    pre=c("Sunny","Cool","High","Strong","xx")
    sum_Yes=length(which(data$Play=="Yes"))
    sum_No=length(which(data$Play=="No"))
    sum=sum_Yes+sum_No
    #计算yes的概率
    p_O_y=length(which(data$Outlook==pre[1]&data$Play=="Yes"))/sum_Yes
    p_T_y=length(which(data$Temperature==pre[2]&data$Play=="Yes"))/sum_Yes
    p_H_y=length(which(data$Humidity==pre[3]&data$Play=="Yes"))/sum_Yes
    p_W_y=length(which(data$Wind==pre[4]&data$Play=="Yes"))/sum_Yes
    p_y=(sum_Yes/sum)*p_O_y*p_T_y*p_H_y*p_W_y
    #计算No的概率
    p_O_n=length(which(data$Outlook==pre[1]&data$Play=="No"))/sum_No
    p_T_n=length(which(data$Temperature==pre[2]&data$Play=="No"))/sum_No
    p_H_n=length(which(data$Humidity==pre[3]&data$Play=="No"))/sum_No
    p_W_n=length(which(data$Wind==pre[4]&data$Play=="No"))/sum_No
    p_n=(sum_No/sum)*p_O_n*p_T_n*p_H_n*p_W_n
    #结果
    print(p_y)
    print(p_n)

    结果:

    [1] 0.005291005
    [1] 0.02057143
  • 相关阅读:
    VUE项目爬坑---3、vue route的编程式导航
    js的getBoundingClientRect的用法
    iphone真机开发流程之--证书申请
    提交App到Apple Store(Xcode4)
    iPhone应用提交流程:如何将App程序发布到App Store?
    反编译Apk得到Java源代码
    jquery mobile 自定义图标
    Phonegap通过JS访问本地接口的两种方法
    jQuery插件开发
    Android_HTML解析器_jsoup
  • 原文地址:https://www.cnblogs.com/sklww/p/3507811.html
Copyright © 2011-2022 走看看