KNN算法花的分类预测
#导入库
import csv #读取文件
import random #返回随机生成的一个实数,它在[0,1)范围内。
import math
import operator
#load数据集dateset,将以csv方式打开的文件通过csv.reader()读取所有行数据,
# 再通过list将每组数据变为列表的形式,将数组里的数字变成float形式,
# 最后通过rando.random()及split将数据分为训练trainingSet和测试testSet两部分。
def loadDataset(filename,split,trainingSet=[],testSet=[]):
with open(filename,'rt') as csvfile:
lines = csv.reader(csvfile)#读取所有行
dataset = list(lines)#转化成list结构
print('dataset:'+str(dataset))
print('len(dataset):'+str(len(dataset)))
for x in range(len(dataset)): #总共dataset的长度
for y in range(4):
dataset[x][y] = float(dataset[x][y])
if random.random() < split:
trainingSet.append(dataset[x])#一定记得加[x]
else:
testSet.append(dataset[x])
#计算一组参数的距离。
def euclideanDistance(i