用python语言实现一个无监督学习中的K近邻算法
时间: 2024-03-06 07:50:36 浏览: 67
抱歉,K近邻算法是一个有监督学习算法,无法用于无监督学习任务。但是,K均值聚类算法是一个常用的无监督学习算法,可以用于聚类任务。下面是一个简单的用 Python 实现 K均值聚类算法的示例代码。
首先,我们需要导入需要的库:
```python
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
```
然后,我们可以生成一个随机的二维数据集:
```python
X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)
```
接着,我们可以使用 KMeans 类来对数据进行聚类:
```python
kmeans = KMeans(n_clusters=4)
y_pred = kmeans.fit_predict(X)
```
最后,我们可以将聚类结果可视化:
```python
plt.scatter(X[:, 0], X[:, 1], c=y_pred)
plt.show()
```
完整的代码如下:
```python
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
# generate a random dataset
X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)
# apply KMeans clustering
kmeans = KMeans(n_clusters=4)
y_pred = kmeans.fit_predict(X)
# visualize the clustering result
plt.scatter(X[:, 0], X[:, 1], c=y_pred)
plt.show()
```
注意:KMeans 算法需要手动设置聚类的数量,实际应用中可能需要进行一些调参等操作。
阅读全文