Aktualisieren der Funktionsnamen in scikit TFIdfVectorizer
Ich probiere diesen Code aus
from sklearn.feature_extraction.text import TfidfVectorizer
import numpy as np
train_data = ["football is the sport","gravity is the movie", "education is imporatant"]
vectorizer = TfidfVectorizer(sublinear_tf=True, max_df=0.5,
stop_words='english')
print "Applying first train data"
X_train = vectorizer.fit_transform(train_data)
print vectorizer.get_feature_names()
print "\n\nApplying second train data"
train_data = ["cricket", "Transformers is a film","AIMS is a college"]
X_train = vectorizer.transform(train_data)
print vectorizer.get_feature_names()
print "\n\nApplying fit transform onto second train data"
X_train = vectorizer.fit_transform(train_data)
print vectorizer.get_feature_names()
Die Ausgabe für dieses ist
Applying first train data
[u'education', u'football', u'gravity', u'imporatant', u'movie', u'sport']
Applying second train data
[u'education', u'football', u'gravity', u'imporatant', u'movie', u'sport']
Applying fit transform onto second train data
[u'aims', u'college', u'cricket', u'film', u'transformers']
Ich habe den ersten Datensatz mit fit_transform an vectorizer übergeben, so dass ich Feature-Namen wie erhalten habe[u'education', u'football', u'gravity', u'imporatant', u'movie', u'sport']
danach habe ich ein anderes zugset auf den gleichen vektorisierer angewendet, aber es hat mir die gleichen merkmalsnamen gegeben, als ich nicht fit oder fit_transform verwendet habe. Aber ich möchte wissen, wie man die Funktionen eines Vektorisierers aktualisiert, ohne die vorherigen Oncs zu überschreiben. Wenn ich fit_transform erneut verwende, werden die vorherigen Funktionen überschrieben. Daher möchte ich die Featureliste des Vektorisierers aktualisieren. Also ich will so etwas wie[u'education', u'football', u'gravity', u'imporatant', u'movie', u'sport',u'aims', u'college', u'cricket', u'film', u'transformers']
Wie kann ich das bekommen.