Skip to content

Latest commit

 

History

History
53 lines (31 loc) · 1.07 KB

File metadata and controls

53 lines (31 loc) · 1.07 KB

knn

KNN算法思想:如果一个样本在特征空间中的 k 个最相似的样本中的大多数属于某一个类别,则该样本也属于这个类别 。主要解决分类问题。

knn是一个不需要训练的算法。 没有模型的算法。 为了和其他算法统一,knn训练数据集就是模型本身。

knn特点:

  • 效率比较低,m 个样本 n 列,o(m*n) 。
  • 预测结果不具有可解释性的特点。

距离

https://blog.csdn.net/weixin_41620451/article/details/105918973

  • 曼哈顿距离
  • 欧拉距离:

  • 搜索明可夫斯基距离相应的p

拆分数据集

将数据拆分乘 测试集和训练集

测试算法

sum(y_predict == y_test) / len(y_test)

网格搜索

数据缩放

归一化

把数据都映射到 0-1中。

x_scale = (x - min(x)) / (max(x) - min(x))

如果数据很不规整,有很大的极大值,和极小值, 那么这种数据采用这种方式,会使数据不准确。

标准化

s = np.std(x)
x_scale= (x - x_mean) / s