python实现聚类算法
时间: 2023-10-05 13:09:18 浏览: 102
Python中有很多用于聚类的库,其中比较常用的是scikit-learn和numpy。
以下是一些常见的聚类算法的Python实现:
1. K-Means聚类算法
```python
from sklearn.cluster import KMeans
# 创建KMeans对象
kmeans = KMeans(n_clusters=3, random_state=0)
# 训练模型
kmeans.fit(X)
# 预测
labels = kmeans.predict(X)
```
2. 层次聚类算法
```python
from scipy.cluster.hierarchy import dendrogram, linkage
# 创建层次聚类对象
Z = linkage(X, 'ward')
# 绘制树状图
dendrogram(Z)
# 获取聚类结果
labels = fcluster(Z, 3, criterion='maxclust')
```
3. DBSCAN聚类算法
```python
from sklearn.cluster import DBSCAN
# 创建DBSCAN对象
dbscan = DBSCAN(eps=0.5, min_samples=5)
# 训练模型
dbscan.fit(X)
# 获取聚类结果
labels = dbscan.labels_
```
4. GMM聚类算法
```python
from sklearn.mixture import GaussianMixture
# 创建GMM对象
gmm = GaussianMixture(n_components=3, covariance_type='full')
# 训练模型
gmm.fit(X)
# 获取聚类结果
labels = gmm.predict(X)
```
以上是一些常见的聚类算法的Python实现,使用时需要根据具体情况选择合适的算法和参数。
阅读全文