1.数据准备
数据集之前的已经被屏蔽掉了,
新的下载链接:
这里我构造了一个150*5的矩阵,分别代表三类数据。每行的前四个值代表数据的特征,第五个值代表数据的类别
这三类数据分别属于apple、banana、orange
2.原理:
根据首先将数据分为训练数据以及测试数据。然后根据测试数据的每一条数据去计算训练数据中每个数据的距离,然后根据K值找距离最短的 K 个。
就是每次K个最邻近的结果。
3.代码:
# -*- coding:utf-8 -*-
import math
import csv
import random
import operator
__author__ = 'yangxin'
class KNearestNeighbor(object):
def __init__(self):
print "Welcome, 水果分类算法!"
@staticmethod
def load_data_set(filename, split, training_set, test_set):
# 对 test_set, train_set 赋值
with open(filename, 'r') as data_file:
lin