【机器学习应用】【Python】K近邻(KNN)
mglearn
在开始之前再介绍一个机器学习算法的工具包mglearn
,是《Introduction to Machine Learning with Python》整本书使用的一个工具包,拥有许多可视化的模块帮助我们理解算法,完整代码参考github
安装mglearn参考set up
# 终端安装
pip install mglearn
# Jupyter Notebook安装
!pip install mglearn
K近邻简介
K近邻算法是一种适用于回归和分类的机器学习算法,它的基本原理是根据距离某一个数据点最近的k个数据的类别对其进行分类。例如,当k=1时,对于一个数据点,KNN算法会将其分类为离它最近的第一个数据的类别。
mglearn.plots.plot_knn_classification(n_neighbors=1)
通常计算数据点和周围数据的距离方法有三种:
- 欧氏距离(Euclidean distance)
- 曼哈顿距离(Manhattan distance)
- 明可夫斯基距离(Minkowski distance)
如何使用KNN
以乳腺癌数据集load_breast_cancer
为示例:
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
cancer_data = load_breast_cancer()
X_train, X_test, y_train, y_test = train_test_split(cancer_data.data, cancer_data.target, random_state=42)
# 创建一个KNN模