机器学习经典算法原理

原创链接: https://blog.csdn.net/weixin_44675384/article/details/93910125

监督学习有训练集与测试样本,在训练中找规律,有目标值和特征值
非监督学习没有训练集,只有一组数据,在组内寻找数据

分类与聚类

聚类分析是一种分类的多元统计分析方法。按照个体或样品的特征将它们 分类,使同一类别内的个体具有尽可能高的同质性,而不同类别 之间则应具有尽可能高的异质性。
聚类分析在没有训练集的条件下把样本划分若干类,自动标记确定
分类分析类是确定的要做的是将每条记录标记出来

1 k-means算法

原理:

1随机选择k个点作为初始聚类中心
2对剩下的点,计算其到各个聚类中心的距离,根据与聚类中心的距离,将其归入最近族
3对每个族计算所有点的均值,作为新的聚类中心
4重复2,3,直到质心不在发生变化

代码实现

需要导入的库from sklearn.cluster import KMeans

k=3
#实例化一个Kmeans对象
km=KMeans(n_clusters=k)
km.fit(data)#训练数据
y_predict=km.predict(data)
# print(y_predict)#进行预测
center=km.cluster_centers_#确定聚类中心

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

应用场景:信号处理,聚类分析等

优缺点

优点:1收敛速度快,效率高 2聚类效果较优

缺点:1 k值选取不好选择 2 对噪音和异常点比较敏感

优化k-means++

使初始聚类中心尽量分散开来,减少迭代次数,加快运行速度

2KNN(K-近邻)算法

属于监督学习,分类算法

原理:

1计算已知类别数据集中的点与当前点的距离(测试集与训练集数据)
2 按照距离大小排序
3选择与当前距离最小的k个点(依情况定k)
4确定k个点所在类别的出现频率
5返回前k个点出现频率最高(求前k个数据众数)

优缺点:1 knn算法复杂度高(每个点都会求距离,遍历整个训练集)2 k不同分类结果可能显著不同 3 样本数量不平衡,误差较大

优化:将样本按近邻分成组,给出每组质心,以质心作为代表点,和未知样本计算距离,选出最近一个或若干组在组范围应用一般knn算法

3贝叶斯算法

分类算法,朴素贝叶斯
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

原理:基于朴素贝叶斯公式和独立特征假设,对给出的类待分项,求解此项出现条件下各个类别出现的概率,哪个最大,就属于哪类。

应用场景:1文本数据2情感预测3推荐系统

优点:

1有稳定的分类效率
2适用于处理小规模数据
3常用语文本分析

缺点:

1对输入数据表达形式很敏感
2独立假设现实中往往不成立
3样本分布不均,会导致先验概率测不准

在这里插入图片描述
在这里插入图片描述

from sklearn.feature_extraction.text import CountVectorizer 统计词频数量
import jieba 分词库
from sklearn.naive_bayes import MultinomialNB 贝叶斯分类器库

4回归算法

在这里插入图片描述

线性回归的求解
梯度下降法
Normal Equation(也叫普通最小二乘法)
局部加权线性回归
岭回归(ridge regression)和缩减方法
回归模型性能度量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值