一. 机器学习的种类
1. 有监督的机器学习 :
分类 :

(图片来源网络,侵删)
- KNN 最近邻
- 逻辑回归 - 朴素贝叶斯估计
- SVM 线性 或 非线性 优化模型
- 决策树模型 - 随机森林 - 其它集成模型
- lightGBM - XGBOOST
回归:
- 线性
- 非线性
- 加权平均回归
2.无监督的机器学习 :
- 聚类
- 关联
- 特征处理
二. KNN ( K最近邻 )
argmax() # 只返回索引
-
特征值(Features):(特征数据必须是2维数据)
特征值是用来描述样本的属性或特征的值。在KNN中,每个样本都被表示为一个特征向量,其中每个特征对应向量中的一个维度。例如,在一个二维空间中,特征向量可以由两个特征值构成,分别表示样本在X轴和Y轴上的坐标。 -
标签(Labels):
标签是我们希望预测的值,或者是我们希望将样本分类到的类别。在分类问题中,每个样本都有一个类别标签,而在回归问题中,标签通常是一个连续的数值。在KNN中,我们使用已知的特征值和标签构建模型,然后根据新的特征值预测或分类其对应的标签。
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运用(字符识别、文本分类、图像识别),通过你的邻居判断你是什么类别
# 选几个邻居 进行分类 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值过大 : 欠拟合,容易受到样本均衡的问题
-