KNN笔记
算法大致步骤(预测y的类别为例):
1)计算样本y与训练样本(已知标签样本)的距离;
2)找出距离最近的K个样本;
3)选择这K个样本中出现最多的类别作为y的类别标记;
数据集 iris为鸢尾花样本,前四列为特征,最后一列为标签,如下图
数据连接:http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data
有点笨,直接手动将数据分为训练集和测试集
代码如下:
import operator
import pandas as pd
import numpy as np
def get_data(train_path, test_path):
train_data = pd.read_table(train_path, sep=',', header=None)
test_data = pd.read_table(test_path, sep=','