2016-10-24 2 views
0

Я прочитал описание, как применить случайную регрессию леса 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 

ответ

0

Похоже, что вам нужно np.hstack

Однако вы должны каждый массив функции, чтобы иметь одну строку для каждого учебного корпуса.

+0

Большое спасибо, я начал искать это направление и, похоже, работает с numpy.column_stack – student