knn算法python代码 
时间: 2023-04-05 13:03:06 浏览: 79
以下是一个简单的 KNN 算法的 Python 代码示例:
```python
from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# 加载数据集
iris = load_iris()
X, y = iris.data, iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建 KNN 分类器
knn = KNeighborsClassifier(n_neighbors=3)
# 训练模型
knn.fit(X_train, y_train)
# 预测测试集
y_pred = knn.predict(X_test)
# 输出准确率
print("Accuracy:", knn.score(X_test, y_test))
```
这个代码示例使用了 scikit-learn 库中的 KNeighborsClassifier 类来实现 KNN 算法,并使用鸢尾花数据集进行训练和测试。
相关问题
knn算法python代码案例
以下是一个简单的KNN算法的Python代码案例,假设我们有一个数据集,包含两个特征x和y,分别表示一个点在二维平面上的横坐标和纵坐标,以及一个类别标签label(0或1):
```python
import numpy as np
# 距离函数
def distance(x1, x2):
return np.sqrt(np.sum((x1 - x2) ** 2))
# KNN算法
def knn(X_train, y_train, X_test, k):
num_test = X_test.shape[0]
y_pred = np.zeros(num_test, dtype=y_train.dtype)
for i in range(num_test):
distances = np.array([distance(X_test[i], X_train[j]) for j in range(X_train.shape[0])])
nearest_indices = np.argsort(distances)[:k]
nearest_labels = y_train[nearest_indices]
y_pred[i] = np.argmax(np.bincount(nearest_labels))
return y_pred
```
我们可以使用这个函数来预测测试集中的样本类别:
```python
# 生成随机数据集
X_train = np.random.rand(100, 2)
y_train = np.random.randint(0, 2, 100)
X_test = np.random.rand(10, 2)
# 使用KNN算法进行预测
y_pred = knn(X_train, y_train, X_test, 3)
print("预测结果:", y_pred)
```
输出结果为预测的测试集样本类别。
knn算法python代码sklearn
以下是使用 scikit-learn 库实现 KNN 算法的 Python 代码示例:
```python
from sklearn.neighbors import KNeighborsClassifier
# 创建 KNN 分类器
knn = KNeighborsClassifier(n_neighbors=3)
# 训练模型
knn.fit(X_train, y_train)
# 预测
y_pred = knn.predict(X_test)
# 评估模型
from sklearn.metrics import accuracy_score
print(accuracy_score(y_test, y_pred))
```
其中 `X_train` 和 `y_train` 是训练数据的特征和标签, `X_test` 和 `y_test` 是测试数据的特征和标签, `n_neighbors` 是设定的近邻数量.
相关推荐








