Я хотел бы сгруппировать небольшие тексты, включенные в столбец df['Texts']
, из фрейма данных. Примеры предложений для анализа следующие:
Texts
1 Donald Trump, Donald Trump news, Trump bleach, Trump injected bleach, bleach coronavirus.
2 Thank you Janey.......laughing so much at this........you have saved my sanity in these mad times. Only bleach Trump is using is on his heed ????
3 His more uncharitable critics said Trump had suggested that Americans drink bleach. Trump responded that he was being sarcastic.
4 Outcry after Trump suggests injecting disinfectant as treatment.
5 Trump Suggested 'Injecting' Disinfectant to Cure Coronavirus?
6 The study also showed that bleach and isopropyl alcohol killed the virus in saliva or respiratory fluids in a matter of minutes.
Поскольку я знаю, что TF-IDF полезен для кластеризации, я использовал следующие строки кода (следуя некоторым предыдущим вопросам сообщества):
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import KMeans
import re
import string
def preprocessing(line):
line = line.lower()
line = re.sub(r"[{}]".format(string.punctuation), " ", line)
return line
tfidf_vectorizer = TfidfVectorizer(preprocessor=preprocessing)
tfidf = tfidf_vectorizer.fit_transform(all_text)
kmeans = KMeans(n_clusters=2).fit(tfidf) # the number of clusters could be manually changed
Однако, поскольку я рассматриваю столбец из фрейма данных, я не знаю, как применить вышеуказанную функцию. Не могли бы вы помочь мне с этим?
tfidf = tfidf_vectorizer.fit_transform(df['Texts'])
, чтобы увидеть результаты? - person G. Anderson   schedule 11.05.2020