这里呢用的是python的一个强大的机器学习库sklearn库
用他的一些方法来实现,这是一个简单的knn算法实现,所以k没有使用交叉验证确定,直接选择k=3
x=[[164],[168],[187],[167],[174],[162],[175],[170],[176],
[169],[178],[165],[183],[171],[179],[172],[173],[172],[175],
]
y=[0,0,2,0,1,0,1,1,1,0,1,0,2,1,1,1,1,1,1]
from sklearn import neighbors
neigh=neighbors.KNeighborsClassifier(n_neighbors=3)#最近邻分类算法,k=3
neigh.fit(x,y)
print(neigh.predict(171))#输入一个数据来测试
结果是[1]
son_height=[[164],[168],[187],[167],[174],[162],[175],[170],[176],
[169],[178],[165],[183],[171],[179],[172],[173],[172],[175],
]
parents_average_height=[157.5,162.5,168.5,166.5,168.5,152.5,165,160.5,163.5,160.5,166,160.5,169,163,166,161.5,161,161.5,166]
from sklearn import neighbors
neigh=neighbors.KNeighborsRegressor(n_neighbors=3)#最近邻回归算法,k=3
neigh.fit(son_height,parents_average_height)
print(neigh.predict(168))#输入一个数据来测试
结果是[163.16666667]

本文通过使用Python的sklearn库,展示了KNN算法在分类和回归任务中的应用实例。在分类任务中,通过设定k=3,成功预测了输入数据的类别;在回归任务中,同样设定k=3,预测了父母平均身高与子女身高的关系。
1070

被折叠的 条评论
为什么被折叠?



