K近邻方法简介
模型训练好之后,在验证测试样本时,选择与训练样本距离最近的点,将其标签作为测试样本的结果。K表示选择K个最近的点,取数量最多的标签。
步骤
对预处理的数据分离出训练集和测试集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
iris_dataset['data'], iris_dataset['target'], random_state=0)
观察数据
绘制散点图矩阵
grr = pd.plotting.scatter_matrix
实体化K近邻对象
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=1)
调用对象进行训练
knn.fit(X_train, y_train)
预测新样本
prediction = knn.predict(X_new)
print("Prediction: {}".format(prediction))
print("Predicted target name: {}".format(
iris_dataset['target_names'][prediction]))
性能评估
y_pred = knn.predict(X_test)
np.mean(y_pred == y_test)%np是numpy模块
或者
knn.score(X_test, y_test)%模型自带的评估方法
小结
运算用到的输入数组都是NumPy类型(二维的)