sklearn.cluster.kmeans导入文件夹中数据集代码示例
时间: 2023-06-09 16:02:56 浏览: 162
以下是一个示例代码,演示了如何使用sklearn.cluster.kmeans来对一个文件夹中的数据集进行聚类:
```
import os
import numpy as np
from sklearn.cluster import KMeans
# 定义文件夹路径
folder_path = "/path/to/your/folder"
# 读取所有文件,并将它们转换为向量形式
file_vectors = []
for file_name in os.listdir(folder_path):
file_path = os.path.join(folder_path, file_name)
with open(file_path, 'r') as f:
file_content = f.read()
file_vector = [ord(c) for c in file_content]
file_vectors.append(file_vector)
# 将向量转换为矩阵
data_matrix = np.asarray(file_vectors)
# 运行KMeans聚类算法
num_clusters = 10
model = KMeans(n_clusters=num_clusters, init='k-means++', max_iter=100, n_init=1)
model.fit(data_matrix)
# 输出每个簇中的文件名
for i in range(num_clusters):
indices = np.where(model.labels_ == i)[0]
print("Cluster ", i, " contains the following files:")
for idx in indices:
print(os.listdir(folder_path)[idx])
print()
```
在这个示例中,我们假设文件夹中包含许多文本文件。我们首先读取每个文件,并将其转换为一个向量(每个字符都用其ASCII码表示)。然后,我们将这些向量组成一个矩阵,并将其传递给KMeans算法。最后,我们输出每个簇中包含的文件名。
阅读全文