贝叶斯、朴素贝叶斯及调用spark官网 mllib NavieBayes示例
贝叶斯定理便是基于下述贝叶斯公式:
P(B|A)随着P(B)和P(A|B)的增长而增长,随着P(A)的增长而减少,即如果A独立于B时被观察到的可能性越大,那么A对B的支持度越小
朴素贝叶斯
朴素贝叶斯算法是假设各个特征之间相互独立,使用贝叶斯公式进行分类的。请参考:https://blog.csdn.net/amds123/article/details/70173402
spark NavieBayes 官方示例代码如下:
import org.apache.spark.ml.classification.NaiveBayes
import org.apache.spark.ml.evaluation.MulticlassClassificationEvaluator
import org.apache.spark.sql.SparkSession object NavieBayesDemo {
def main(args: Array[String]): Unit = {
val spark = SparkSession
.builder
.appName("NavieBayesDemo").master("local")
.config("spark.sql.warehouse.dir", "C:\\study\\sparktest")
.getOrCreate()
// Load the data stored in LIBSVM format as a DataFrame.
val dataset=spark.read.format("libsvm").load("data/mllib/sample_libsvm_data.txt")
// Split the data into training and test sets (30% held out for testing)
val Array(tranningData,testData)=dataset.randomSplit(Array(0.7,0.3),seed = 1234L) // Train a NavieBayes model
val model = new NaiveBayes().fit(tranningData)
// Select example rows to display.
val predictions=model.transform(testData)
predictions.show() // Select (prediction, true label) and compute test error
val evaluator = new MulticlassClassificationEvaluator()
.setLabelCol("label")
.setPredictionCol("prediction")
.setMetricName("accuracy")
val accuracy = evaluator.evaluate(predictions)
println(s"Test set accuracy = $accuracy") spark.stop()
}
}
运行结果如下:
Test set accuracy = 1.0
贝叶斯、朴素贝叶斯及调用spark官网 mllib NavieBayes示例的更多相关文章
- 模式识别之贝叶斯---朴素贝叶斯(naive bayes)算法及实现
处女文献给我最喜欢的算法了 ⊙▽⊙ ---------------------------------------------------我是机智的分割线----------------------- ...
- Spark官网资料学习网址
百度搜索Spark: 这一个是Spark的官网网址,你可以在上面下载相关的安装包等等. 这一个是最新的Spark的文档说明,你可以查看如何安装,如何编程,以及含有对应的学习资料.
- Spark官网
Components Spark applications run as independent sets of processes on a cluster, coordinated by the ...
- Spark 官网提到的几点调优
1. 数据序列化 默认使用的是Java自带的序列化机制.优点是可以处理所有实现了java.io.Serializable 的类.但是Java 序列化比较慢. 可以使用Kryo序列化机制,通常比Java ...
- Logistic 最大熵 朴素贝叶斯 HMM MEMM CRF 几个模型的总结
朴素贝叶斯(NB) , 最大熵(MaxEnt) (逻辑回归, LR), 因马尔科夫模型(HMM), 最大熵马尔科夫模型(MEMM), 条件随机场(CRF) 这几个模型之间有千丝万缕的联系,本文首先会 ...
- 【机器学习实战】第4章 朴素贝叶斯(Naive Bayes)
第4章 基于概率论的分类方法:朴素贝叶斯 朴素贝叶斯 概述 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类.本章首先介绍贝叶斯分类算法的基础——贝叶斯定理.最后,我们 ...
- 【sklearn朴素贝叶斯算法】高斯分布/多项式/伯努利贝叶斯算法以及代码实例
朴素贝叶斯 朴素贝叶斯方法是一组基于贝叶斯定理的监督学习算法,其"朴素"假设是:给定类别变量的每一对特征之间条件独立.贝叶斯定理描述了如下关系: 给定类别变量\(y\)以及属性值向 ...
- 调用spark API,监控任务的进度
我们现在需要监控datapre0这个任务每一次执行的进度,操作如下: 1. 如图所示,打开spark管理页面,找到对应的任务,点击任务名datapre0 2. 进去之后,获得对应IP和端口 3. 访 ...
- 朴素贝叶斯算法源码分析及代码实战【python sklearn/spark ML】
一.简介 贝叶斯定理是关于随机事件A和事件B的条件概率的一个定理.通常在事件A发生的前提下事件B发生的概率,与在事件B发生的前提下事件A发生的概率是不一致的.然而,这两者之间有确定的关系,贝叶斯定理就 ...
随机推荐
- C语言权威指南和书单 - 专家级别
注: 点击标题即可下载 1. Advanced Programming in the UNIX Environment, 3rd Edition 2. Essential C 3. Computer ...
- [LeetCode&Python] Problem 70. Climbing Stairs
You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...
- parallel::ForkManager
use Parallel::ForkManager; my $MAX_PROCESSES=10; #申明最大进程数(一次创建的进程越多,越耗内存): my $pm = new Parallel:: ...
- linux压缩、解压缩和归档工具
linux基础之压缩.解压缩和归档工具 1.压缩工具 基本介绍 为了减少文件的原来的文件大小而过多的浪费磁盘的存储空间,我们使用压缩后多文件进行存储 压缩工具的介绍 compress:把文件压缩成以. ...
- 查看win10系统产品密钥
查看win10系统产品密钥 1.win+R 输入Regedit运行注册表 2.找到(在HKEY_LOCAL_MACHINE–>SOFTWARE–>Microsoft–>Windows ...
- Qt 学习-----helloword
(参考:http://www.qter.org/portal.php?mod=view&aid=27&page=3) 1. 打开“文件→新建文件或项目”菜单项(也可以直接按下Ctrl+ ...
- Python函数基础--def及return语句地操作
1·def是可执行的代码 Python的函数是有一个新的语句编写的,即def.不像C这样的编译语言,def 实际上是一个可执行的语句--函数并不存在,直到Python运行了def后才存在.在典型的操作 ...
- pycharm 01
为了可以在pycharm中添加中文,应该在python文件第一行加入 # -*- coding: utf- -*-
- Linux下RabbitMQ的安装 开机自启动
1.官网下载地址 下载 RabbitMQ 和 erlang.我下载的是rabbitmq-server-3.6.10-1.el7.noarch.rpm和erlang-19.0.4-1.el7.cento ...
- c# 枚举安卓系统中所有目录及文件名
using Android.App; using Android.Widget; using Android.OS; using System.Runtime.InteropServices; nam ...