这次用KNN算法实战了改进约会网站的配对效果,将代码和思路记录下来作为以后思考和改进的模版,其中③K-临近算法实现代码可以用sklearn中的KNeighborsClassifier()代替
import numpy as np
import operator
from sklearn.neighbors import KNeighborsClassifier
import matplotlib.pyplot as plt
#①从文本中读取数据并转化成数据(group)和标签(labels)
def DataSet(filename):
fr=open(filename) #打开文本
lines=fr.readlines() #逐行读取数据存放在lines中,形式为["","","",...""] 1000*1
number_of_lines=len(lines) #lines中数据的个数,即文本中的行数,本题为1000
original_group=np.zeros((number_of_lines,3)) #创建存放数据的全零初始数组,3为参数的个数:即每年飞行里程数;玩游戏百分比,吃冰淇凌数量
original_labels=[] #创建存放标签的空初始数组
print(original_group)
print(original_labels)
index = 0 #改变index将不同行的数据存入初始数组
for line in lines: #固定用法,逐行读取数据
line=line.strip() #去除每行数据开头和结尾的空格符
line=line.split("\t") #通过空格符将每行数据分割成元素列表。这里列表有4个元素,例子(第一行):['40920', '8.326976',