Я пытаюсь применить GridSearchCV к распределению LatentDirichlet, используя библиотеку sklearn.
Текущий конвейер выглядит так:
vectorizer = CountVectorizer(analyzer='word',
min_df=10,
stop_words='english',
lowercase=True,
token_pattern='[a-zA-Z0-9]{3,}'
)
data_vectorized = vectorizer.fit_transform(doc_clean) #where doc_clean is processed text.
lda_model = LatentDirichletAllocation(n_components =number_of_topics,
max_iter=10,
learning_method='online',
random_state=100,
batch_size=128,
evaluate_every = -1,
n_jobs = -1,
)
search_params = {'n_components': [10, 15, 20, 25, 30], 'learning_decay': [.5, .7, .9]}
model = GridSearchCV(lda_model, param_grid=search_params)
model.fit(data_vectorized)
Текущий GridSearchCV использует приблизительное логарифмическое правдоподобие в качестве балла, чтобы определить, какая модель является лучшей.Что я хотел бы сделать, так это изменить свой метод оценки, исходя из приблизительного недоумения модели.
Согласно документации Склеарна оGridSearchCV , есть аргумент оценки, который я могу использовать.Тем не менее, я не знаю, как применить растерянность в качестве метода оценки, и я не могу найти никаких примеров в Интернете людей, применяющих его.Это возможно?