识别集群在文本数据中代表什么

问题描述 投票:0回答:0

我有一个包含 2 列的 pandas 数据框:job_title,其中包含 IT 领域的职位,第二列 job_activities 是对该工作角色中执行的活动的描述。

我想根据它们所属的 IT 领域将这些数据聚类到组中。例如:我有 3 个组:数据科学、Web 开发、软件工程。

我尝试使用 K-Means 对它们进行聚类,但这种方法只会生成聚类,我如何确定这种技术的准确性以及每个聚类实际代表什么。

我使用以下代码进行聚类。

import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

# Load the dataset
df = pd.read_csv('processed_job_data.csv')

# Convert the text data into numerical data using TF-IDF
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform(df['title'] + ' ' + df['processed_activities'])

# Determine the optimal number of clusters using the elbow method
wcss = []
for i in range(1, 30):
    kmeans = KMeans(n_clusters=i, init='k-means++', random_state=42)
    kmeans.fit(X)
    wcss.append(kmeans.inertia_)
plt.plot(range(1, 30), wcss)
plt.title('Elbow Method')
plt.xlabel('Number of Clusters')
plt.ylabel('WCSS')
plt.show()

# Apply k-means clustering with the optimal number of clusters
kmeans = KMeans(n_clusters=6, init='k-means++', random_state=42)
y_kmeans = kmeans.fit_predict(X)

# Assign labels to each cluster based on the common theme or job category
df['cluster'] = y_kmeans

# Save the results
df.to_csv('clustered_job_data.csv', index=False)
python k-means
© www.soinside.com 2019 - 2024. All rights reserved.