путать с подгонкой матрицы или tf_idf - PullRequest
0 голосов
/ 06 февраля 2020

Итак, у меня есть этот фрейм данных df :

index
0       horse horse horse Horse Rboe
1       area Build extra ice line located Metro Overpass overpass passes track track viaduct work
2       Better Crane Overpass site view work
3       bench BUrdock dirt flower maniacs PATH southeast southeast southeast spring walk
4       Bank beach meSH mesh mesh puddle puddle puddle south southeast southeast

, и я хотел сгруппировать их с помощью k-средних. Поэтому я сначала векторизирую его с помощью TfidfVectorizer следующим образом:

vec = TfidfVectorizer(
      lowercase = True,
      stop_words = 'english',
      use_idf=True
 )

matrix = vec.fit_transform(df)

Пока у меня есть этот термин-документ matrix , и я превратил его в dataframe idf_df :

idf_df = pd.DataFrame(matrix.toarray(), columns=vec.get_feature_names())

enter image description here

Теперь, прежде чем я хочу объединить их с помощью K-средних, мне нужно взглянуть на оптимальный k-кластер сначала с помощью KElbowVisualizer :

model = MiniBatchKMeans(MiniBatchKMeans(init_size=1024, batch_size=2048, random_state=20).fit(matrix).inertia_)
visualizer = KElbowVisualizer(model,k=(2, 560), metric='silhouette', timings=False, size=(4080, 3720))
visualizer.fit(matrix)        # Fit the data to the visualizer

Но я запутался какой аргумент вставить в функцию fit () ??

я должен вставить idf_df ? но это не имеет смысла, поскольку это датафрейм. Но когда вместо этого я вставлю matrix , кластер не будет иметь смысла.

Может кто-нибудь помочь мне понять это?

...