分类算法-

1.KNN

曼哈顿距离一般比欧氏距离长

 加下面这句话就不会有报警告了

 

 数据
data, target :一般表示全部数据
训练数据
X_train : 训练集中的数据

y_train : 训练集中的数据对应的结果
预测数据
测试集中的数据X_test
测试集中的数据对应的真实结果y_test

y_pred .测试集中的数据对应的预测结果

 注意score()的参数

内部计算是按照predict()函数计算的结果进行计算的

接收的3个参数:

X_test: 接收输入的数组类型测试样本,一般是二维数组,每一行是一个样本,每一列是一个属性

y_test: X这些预测样本的真实标签,一维数组或者二维数组

KNN项目

导包

 

 

 

 

 

 手写数字预测

 

 

 用训练集进行训练,用测试集进行预测

 

 

 

 2.线性回归

逻辑回归虽然基于线性回归,但是解决的是分类问题,不是回归问题,逻辑回归算法原理简单来理解

计算线性回归的值

将值带入sigmoid函数得到一个0~1之间的概率值

取大于0.5概率的分类作为分类结果

数学基础

 

 

 

 练习

 

 

 

 算出来之后有多个θ,带入预测函数,将测试值代入即可

线性回归代码

 

 

subplot(m,n,p) 将当前图形划分为 m×n 网格,并在 p 指定的位置创建坐标轴

 

 

 

 

 梯度下降算法

 

 不是抛物线的时候,如何求解最小值:梯度下降

如果θ是6,那么就会在曲线右边往下趋近2,因为左边的斜率是负的,右边的是正的

lr=0.8的话,跨度太大了,虽然也能接近最小值

 实战:logistics回归

 手写数字数据集的分类

跟KNN进行对比

 改变centers即可改变点的种类数量

 决策树

每个特征的信息熵

好友密度的计算跟日志密度的计算也是一样的

 

决策树代码

随机森林

 朴素贝叶斯

朴素贝叶斯法(Naive Bayes) 是基于贝叶斯定理与特征条件独立假设的分类算法
朴素贝叶斯算法是以贝叶斯原理为基础,使用概率统计的知识对样本数据集进行分类。由于其有着坚实的数学基础,贝叶斯分类算法的误判率是很低的。贝叶斯方法的特点是结合先验概率和后验概率,贝叶斯分类算法在数据集较大的情况下表现出较高的准确率,同时算法本身也比较简单

[关键词]
朴素:独立性假设

贝叶斯公式

 优点:
朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率
对小规模的数据表现很好:
对缺失数据不太敏感,算法也比较简单,常用于文本分类
缺点
只能用于分类问题。需要计算先验概率

朴素贝叶斯原理

朴素贝叶斯算法是一个典型的统计学习方法,主要理论基础就是一个贝叶斯公式,贝叶斯公式的基本定义如下:

这个公式虽然看上去简单,但它却能总结历史,预知未来:
公式的右边是总结历史·公式的左边是预知未来
如果把Y看成类别,X看成特征,P(Yk|X)就是在已知特征的情况下求YK类别的概率,而对PYkX)的计算又全部转化到类别Yk的特征分布上来。

朴素的概念:独立性假设,假设各个特征之间是独立不相关的

支持向量机

支持向量机 (Support Vector Machine,SVM) 是一类按监督学习方式对数据进行分类的分类器,其决策边界是对学习样本求解的最大边距超平面
如图,支持向量机算法原理:距离决策边界线A最近的点(这些点叫做支持向量),并且让到这些的到决策边界线A距离最远
右图是线性核函数,我们也可以使用非线性核函数,如高斯核函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值