У меня есть скрипт, который перечисляет лучшие n слов (слова с более высоким значением хи-квадрат).Однако вместо извлечения фиксированного числа слов n я хочу извлечь все слова, для которых значение p меньше 0,05, то есть отвергает нулевую гипотезу.
Вот мой код:
from sklearn.feature_selection import chi2
#vectorize top 100000 words
tfidf = TfidfVectorizer(max_features=100000,ngram_range=(1, 3))
X_tfidf = tfidf.fit_transform(df.review_text)
y = df.label
chi2score = chi2(X_tfidf, y)[0]
scores = list(zip(tfidf.get_feature_names(), chi2score))
chi2 = sorted(scores, key=lambda x:x[1])
allchi2 = list(zip(*chi2))
#lists top 20 words
allchi2 = allchi2[0][-20:]
Итак, в данном случае вместо перечисления 20 лучших слов мне нужны все слова, которые отвергают нулевую гипотезу, т.е. все слова в обзорах, которые зависят от класса настроения (положительного или отрицательного)