【发布时间】:2019-02-20 00:56:23
【问题描述】:
我正在做一个机器学习项目,我拥有包含电子邮件中出现的单词频率的数据集。我需要找到每封邮件所属的集群。我所做的是将数据加载到 pandas 数据框中,然后我训练了一个 KMeans 算法。 数据集如下所示:
[
{
"adwords": 2,
"google": 4,
"ads": 2,
"facebook": 1,
"shyam": 2
},
{
"facebook": 4,
"post": 2,
"is": 1,
"comment": 2,
"likes": 1,
"google": 1
},...]
那么我的python代码是这样的:
import numpy as np
import pandas as pd
data = pd.read_json('data.json', orient='records')
data = data.fillna(0)
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=5, init='k-means++')
kmeans.fit_predict(data)
现在由于我只有 30 封电子邮件,我需要根据给定的单词对它们进行聚类,因此我也无法拆分为训练测试集。这是解决问题的正确方法吗?请建议哪种算法最适合以及我应该做什么。提前致谢
【问题讨论】:
标签: python machine-learning scikit-learn cluster-analysis data-mining