Я занимаюсь проектом машинного обучения, и у меня есть набор данных, который содержит частоту слов, которые встречаются в электронном письме. Мне нужно найти кластеры, к которым принадлежит каждое письмо. То, что я сделал, это то, что я загрузил данные в pandas dataframe, а затем обучил алгоритм 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 электронных писем, и я должен кластеризовать их в соответствии с данными словами, я не могу также разбиться на набор тестов поезда. Это правильный подход к решению проблемы. Пожалуйста, предложите, какой алгоритм будет лучше всего и что я должен делать. Заранее спасибо