数据集多一些,有3种分类
时间: 2023-11-10 13:12:10 浏览: 38
好的,以下是一个简单的用knn方法对数据集进行分类的Python代码,你可以在PyCharm上运行它:
```python
import numpy as np
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
# 数据集
X = np.array([[1, 2], [1, 4], [2, 2], [2, 4], [3, 2], [3, 4]])
y = np.array([0, 0, 1, 1, 2, 2])
# 特征数量
n_features = 2
# 距离度量方式
p = 2 # 欧几里得距离
# 训练和测试数据集的划分比例
test_size = 0.2
# 划分训练和测试数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_size)
# 构建knn模型
k = 3
clf = KNeighborsClassifier(n_neighbors=k, p=p)
# 训练模型
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = np.sum(y_pred == y_test) / len(y_test)
print("准确率:{:.2f}%".format(accuracy * 100))
```
这段代码使用了sklearn库中的KNeighborsClassifier类来构建knn模型,并使用train_test_split方法将数据集划分为训练集和测试集。在这个例子中,数据集中有2个特征,距离度量方式为欧几里得距离,并且数据集共有3个类别。你可以将X和y替换为你的数据集,并修改相关的参数来适应你的需求。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)