python算法KNN实现
时间: 2023-08-05 10:03:30 浏览: 122
KNN算法是一种简单有效的机器学习算法,可以用于分类和回归问题。下面是一个基于Python语言实现KNN算法的示例代码:
```python
import numpy as np
class KNN:
def __init__(self, k=3):
self.k = k
def fit(self, X, y):
self.X_train = X
self.y_train = y
def predict(self, X):
y_pred = np.zeros(X.shape[0])
for i, x in enumerate(X):
distances = np.sqrt(np.sum((self.X_train - x) ** 2, axis=1))
indices = np.argsort(distances)[:self.k]
k_nearest_labels = self.y_train[indices]
y_pred[i] = np.argmax(np.bincount(k_nearest_labels))
return y_pred
```
这里定义了一个名为KNN的类,其构造函数中包含一个参数k,表示KNN算法中的邻居数量。fit方法用于训练模型,接受训练数据X和标签y作为输入,predict方法用于预测新数据的标签,接受测试数据X作为输入。在predict方法中,首先计算测试数据X与训练数据X_train之间的距离,然后取距离最近的k个数据的标签,使用np.bincount方法统计这k个数据中出现最多的标签,并将其作为测试数据X的预测标签。
阅读全文