python代码实现KNN
时间: 2023-07-23 11:05:49 浏览: 92
KNN(k-近邻算法)是一种基本的分类与回归方法。下面是python实现KNN的示例代码:
```python
import numpy as np
class KNN:
def __init__(self, k):
self.k = k
def fit(self, X, y):
self.X_train = X
self.y_train = y
def predict(self, X):
predictions = []
for i in range(len(X)):
distances = np.sum((self.X_train - X[i])**2, axis=1)
indices = np.argsort(distances)[:self.k]
k_nearest_labels = [self.y_train[j] for j in indices]
most_common_label = max(set(k_nearest_labels), key=k_nearest_labels.count)
predictions.append(most_common_label)
return predictions
```
其中,KNN类包含三个方法:
- `__init__`:初始化KNN模型,传入参数k表示选择的近邻数。
- `fit`:训练KNN模型,传入参数X表示训练数据集的特征矩阵,y表示训练数据集的标签。
- `predict`:预测新数据的标签,传入参数X表示新数据的特征矩阵,返回预测结果的标签列表。
KNN算法的核心是计算数据点之间的距离,并选择最近的k个数据点进行预测。上面的代码实现了欧氏距离的计算和最常见的标签的选择。
阅读全文