一、现实场景
现在有很多大学里出现室友矛盾,假如室友可以选择: 大学里面 ,对于校方,把类型相同的学生放在一个寝室,在基于大二大三大四的,现已存在一个数据文件datingTestSet2.txt ,为历年大学生的调查问卷表
第1列:每年旅行的路程
第2列:玩游戏所有时间百分比
第3列:每个礼拜消耗零食的重量
第4列:学生所属的类别,1表示爱学习,2表示一般般,3表示爱玩。 目的为学生在大学中挑选室友的信息
二、代码实现
1.加载数据集:使用np.loadtxt
函数加载数据文件datingTestSet2.txt
(点击可以下载),并将存储为numpy数组
import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt('datingTestSet2.txt')
2.划分特征和标签:将数据集中的前三列作为特征,最后一列作为标签
x = data[:,:-1]
y = data[:,-1]
3.构建KNN模型:使用KNeighborsClassifier
类构建KNN分类器,并指定邻居数量。
from sklearn.neighbors import KNeighborsClassifier
neigh = KNeighborsClassifier(n_neighbors=5)
neigh.fit(x, y)
4.打印预测值,并得到反馈
print(neigh.predict(np.array([[42667,13.276360,0.543881]])))