机器学习之KNN(四)根据⾝⾼体重测肥胖程度例题训练 例题如下
(1)题⽬描述:
KNN算法是k-Nearest Neighbor Classification的简称,也就是k近邻分类算法。中矿国际工程设计研究院有限公司
基本思路是在特征空间中查k个最相似或者距离最近的样本,然后根据k个最相似的样本对未知样本进⾏分类。 下⾯请调⽤sklearn库中的KNN算法,实现以⾝⾼+体重对肥胖程度进⾏分类。磷酸三钙
已知数据:[[1, 180, 85], [1, 180, 86], [1, 180, 90], [1, 180, 100], [1, 185, 120], [1, 175, 80], [1, 175, 60], [1, 170, 60],[1, 175, 90], [1, 175, 100], [1, 185, 90], [1, 185, 80]]
标签:[‘稍胖’, ‘稍胖’, ‘稍胖’, ‘过胖’, ‘太胖’, ‘正常’, ‘偏瘦’, ‘正常’, ‘过胖’, ‘太胖’, ‘正常’, ‘偏瘦’]
预测数据:[[1, 180, 70], [1, 160, 90], [1, 170, 85]]
代码如下
import numpy as np
from sklearn.preprocessing import MinMaxScaler
华中理工大学学报
ighbors import KNeighborsClassifier
# 加载数据
X = np.array([[1,180,85],[1,180,86],[1,180,90],[1,180,100],[1,185,120],[1,175,80],[1,175,60],[1,170,60],[1,175,90],[1,175,100],[1,185,90] ,[1,185,80]])
y = np.array(['稍胖','稍胖','稍胖','过胖','太胖','正常','偏瘦','正常','过胖','太胖','正常','偏瘦'])
# print(y)
model_knn = KNeighborsClassifier(n_neighbors=1)小说世界
# 特征缩放
ms = MinMaxScaler()
X = ms.fit_transform(X)
# 训练
model_knn.fit(X,y)
print(model_knn.score(X,y))
十五大报告全文X_te =[[1,180,70],[1,160,90],[1,170,85]]
X_te = ms.fit_transform(X_te)
print(model_knn.predict(X_te))
'''
训练准确率是: 1.0
训练集测试数据如下:
['稍胖' '稍胖' '稍胖' '过胖' '太胖' '正常' '偏瘦' '正常' '过胖' '太胖' '正常' '偏瘦']
测试集测试数据如下:
['偏瘦' '太胖' '过胖']
'''