Я прочитал описание, как применить случайную регрессию леса here. В данном примере авторы используют следующий код для создания функции:Создание функций функции для дальнейшей классификации в python
from sklearn.feature_extraction.text import CountVectorizer
vectorizer = CountVectorizer(analyzer = "word",max_features = 5000)
train_data_features = vectorizer.fit_transform(clean_train_reviews)
train_data_features = train_data_features.toarray()
Я имею в виду объединение нескольких возможностей, как черт и превратить их включения и выключения. И я не знаю, как это сделать. До сих пор я определяю класс, в котором я могу включить и выключить функции и посмотреть, приносит ли оно что-либо (например, все униграммы и 20 наиболее частых униграмм, это может быть 10 наиболее частых прилагательные, tf-idf). Но пока я не понимаю, как их объединить. Код выглядит так, и в части функции я теряюсь (вид функции, которую я бы воспроизвел, что они делают в учебнике, но, похоже, это не очень полезно, как я это делаю):
class FeatureGen: #for example, feat = FeatureGen(unigrams = False) creates feature set without the turned off feature
def __init__(self, unigrams = True, unigrams_freq = True)
self.unigrams = unigrams
self.unigrams_freq = unigrams_freq
def get_features(self, input):
vectorizer = CountVectorizer(analyzer = "word",max_features = 5000)
tokens = input["token"]
if self.unigrams:
train_data_features = vectorizer.fit_transform(tokens)
return train_data_features
Что мне делать, чтобы добавить еще одну возможность функции? Например, содержит 10 наиболее часто встречающихся слов.
if self.unigrams
train_data_features = vectorizer.fit_transform(tokens)
if self.unigrams_freq:
#something else
return features #and this should be a combination somehow
Большое спасибо, я начал искать это направление и, похоже, работает с numpy.column_stack – student