php 贝叶斯算法,PHP实现机器学习之朴素贝叶斯算法详解

本文实例讲述了PHP实现机器学习之朴素贝叶斯算法。,具体如下:

机器学习已经在我们的生活中变得随处可见了。比如从你在家的时候温控器开始工作到智能汽车以及我们口袋中的智能手机。机器学习看上去已经无处不在并且是一个非常值得探索的领域。但是什么是机器学习呢?通常来说,机器学习就是让系统不断的学习并且对新的问题进行预测。从简单的预测购物商品到复杂的数字助理预测。

在这篇文章我将会使用朴素贝叶斯算法Clasifier作为一个类来介绍。这是一个简单易于实施的算法,并且可给出满意的结果。但是这个算法是需要一点统计学的知识去理解的。在文章的最后部分你可以看到一些实例代码,甚至自己去尝试着自己做一下你的机器学习。

起步

那么,这个Classifier是要用来实现什么功能呢?其实它主要是用来判断给定的语句是积极地还是消极的。比如,“Symfony is the best”是一个积极的语句,“No Symfony is bad”是一个消极的语句。所以在给定了一个语句之后,我想让这个Classifier在我不给定一个新的规则的情况就返回一个语句类型。

我给Classifier命名了一个相同名称的类,并且包含一个guess方法。这个方法接受一个语句的输入,并且会返回这个语句是积极的还是消极的。这个类就像下面这样:

class Classifier

{

public function guess($statement)

{}

}

我更喜欢使用枚举类型的类而不是字符串作为我的返回值。我将这个枚举类型的类命名为Type,并且包含两个常量:一个POSITIVE,一个NEGATIVE。这两个常量将会当做guess方法的返回值。

class Type

{

const POSITIVE = 'positive';

const NEGATIVE = 'negative';

}

初始化工作已经完成,接下来就是要编写我们的算法进行预测了。

朴素贝叶斯

朴素贝叶斯算法是基于一个训练集合工作的,根据这个训练集从而做出相应的预测。这个算法运用了简单的统计学以及一点数学去进行结果的计算。比如像下面四个文本组成的训练集合:

语句

类型

Symfony is the best

Positive

PhpStorm is great

Positive

Iltar complains a lot

Negative

No Symfony is bad

Negative

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值