数据挖掘与机器学习

一. 机器学习的种类

1. 有监督的机器学习 :

分类 :

  • KNN 最近邻
  • 逻辑回归 - 朴素贝叶斯估计
  • SVM 线性 或 非线性 优化模型
  • 决策树模型 - 随机森林 - 其它集成模型
  • lightGBM - XGBOOST

回归:

  • 线性
  • 非线性
  • 加权平均回归

2.无监督的机器学习 :

  • 聚类
  • 关联
  • 特征处理

二. KNN ( K最近邻 )

复制代码
argmax()  # 只返回索引

特征值(Features):(特征数据必须是2维数据)

特征值是用来描述样本的属性或特征的值。在KNN中,每个样本都被表示为一个特征向量,其中每个特征对应向量中的一个维度。例如,在一个二维空间中,特征向量可以由两个特征值构成,分别表示样本在X轴和Y轴上的坐标。
2.

标签(Labels)

标签是我们希望预测的值,或者是我们希望将样本分类到的类别。在分类问题中,每个样本都有一个类别标签,而在回归问题中,标签通常是一个连续的数值。在KNN中,我们使用已知的特征值和标签构建模型,然后根据新的特征值预测或分类其对应的标签。

python 复制代码
np.bincount([1,1,2,2,2,2,4,4,4,4]) # 看下标为几的出现几次

下标为0的 没有出现 0
下标为1,数字也为1的出现2次
下标为2 数字也为2的出现4次
下标为3,数字为3 为0次  
下标为4,数字为3 为4次 
答案是 (0,2,4,0,4)

三. KNN运用(字符识别、文本分类、图像识别),通过你的邻居判断你是什么类别

python 复制代码
# 选几个邻居 进行分类 
sklearn.neighbors.KNeighborsClassfier(n_neighbors=5)
 n_neighbors = 5 是默认的

#获取数据
x = [[1],[2],[0],[0]]
y = [1,1,0,0]

# 机器学习
# 1. 实例化一个训练模型
estimator = KNeighborsClassfier(n_neighbors=2)

2. 调用fit方法进行训练
estimator.fit(x,y)

3. 预测其他值
ret = estimator.predict([-1])
print(ret)

四. K值的选取

  • K值过小: 过拟合,容易受异常点影响, 因为用较小的领域中训练实例进行预测
  • k值过大 : 欠拟合,容易受到样本均衡的问题
相关推荐
禺垣2 小时前
支持向量机(SVM)分类
机器学习
禺垣2 小时前
协同过滤推荐算法
机器学习
好开心啊没烦恼2 小时前
Python:线性代数,向量内积谐音记忆。
开发语言·python·线性代数·数据挖掘·数据分析
这里有鱼汤2 小时前
90%的人都会搞错的XGBoost预测逻辑,未来到底怎么预测才对?
后端·机器学习
过期的秋刀鱼!3 小时前
用“做饭”理解数据分析流程(Excel三件套实战)
数据挖掘·数据分析·excel·powerbi·数据分析入门
小庞在加油3 小时前
《dlib库中的聚类》算法详解:从原理到实践
c++·算法·机器学习·数据挖掘·聚类
kngines3 小时前
【字节跳动】数据挖掘面试题0001:打车场景下POI与ODR空间关联查询
人工智能·数据挖掘·面试题
蓝婷儿4 小时前
Python 机器学习核心入门与实战进阶 Day 1 - 分类 vs 回归
python·机器学习·分类
程序员阿超的博客6 小时前
Python 数据分析与机器学习入门 (八):用 Scikit-Learn 跑通第一个机器学习模型
python·机器学习·数据分析·scikit-learn·入门教程·python教程
kngines10 小时前
【字节跳动】数据挖掘面试题0003:有一个文件,每一行是一个数字,如何用 MapReduce 进行排序和求每个用户每个页面停留时间
人工智能·数据挖掘·mapreduce·面试题