1. 程式人生 > >NLP:sklearn中fit、fit_transform、transform的區別

NLP:sklearn中fit、fit_transform、transform的區別

參考:http://blog.csdn.net/qq_35082030/article/details/70338654

fit原義指的是安裝、使適合的意思,其實有點train的含義但是和train不同的是,它並不是一個訓練的過程,而是一個適配的過程,過程都是定死的,最後只是得到了一個統一的轉換的規則模型。

transform:是將資料進行轉換,比如資料的歸一化和標準化,將測試資料按照訓練資料同樣的模型進行轉換,得到特徵向量。

fit_transform:可以看做是fit和transform的結合,如果訓練階段使用fit_transform,則在測試階段只需要對測試樣本進行transform就行了。

例如:

訓練階段:
corpus = _readbunchobj(wordbag_path).contents
tf_vectorizer = CountVectorizer(max_df=0.95,min_df=2,stop_words=stpwrdlst
)
tf = tf_vectorizer.fit_transform(corpus)
測試階段:
contents = _readfile(file_name)
tf = tf_vectorizer.transform([contents])