用sklearn進行特徵提取及數值轉換

2021-09-08 14:01:00 字數 1360 閱讀 9892

對自己目前常用的幾種特徵提取方法做個簡要總結。

1,將文字資料轉化為特徵向量(其中countvectorizer只考慮詞彙在文字**現的頻率)

from sklearn.feature_extraction.text import countvectorizer

from sklearn.feature_extraction.text import tfidftransformer

wordvectorizer = countvectorizer(ngram_range=(1, 2))

x_train = wordvectorizer.fit_transform(x_train)

wordtransformer = tfidftransformer()

train_feature = wordtransformer.fit_transform(x_train)

2,文字特徵數值轉換(dictvectorizer的處理物件是符號化非數位化但是具有一定結構的特徵資料,如字典,dataframe等,將符號轉成數字0/1表示。)

笨辦法是直接用字典的key-value轉換(窮舉)

from sklearn.feature_extraction import dictvectorizer

dict_vec = dictvectorizer(sparse=false) # false:不產生稀疏矩陣

x_train = dict_vec.fit_transform(x_train.to_dict(orient='record'))

x_test = dict_vec.transform(x_test.to_dict(orient='record'))

print(dict_vec.feature_names_) # 檢視轉換後的列名

print(x_train)

另,feature.extraction:

__all__ = ['dictvectorizer', 'image', 'img_to_graph', 'grid_to_graph', 'text',

'featurehasher']

feature.extraction.text:

__all__ = ['countvectorizer',

'english_stop_words',

'tfidftransformer',

'tfidfvectorizer',

'strip_accents_ascii',

'strip_accents_unicode',

'strip_tags']

附,直接看源**比較明了。

特徵工程 特徵提取

特徵提取 將任意資料 如文字或影象 轉換為可用於機器學習的數字特徵 注 特徵值化是為了計算機更好的去理解資料 字典特徵提取 作用 對字典資料進行特徵值化 dictvectorizer.get feature names 返回類別名稱 from sklearn.feature extraction i...

八 用scikit learn做特徵提取

現實世界中多數特徵都不是連續變數,比如分類 文字 影象等,為了對非連續變數做特徵表述,需要對這些特徵做數學化表述,因此就用到了特徵提取 比如城市作為乙個特徵,那麼就是一系列雜湊的城市標記,這類特徵我們用二進位制編碼來表示,是這個城市為1,不是這個城市為0 比如有三個城市 北京 天津 上海,我們用sc...

顏色特徵提取

顏色特徵是在影象檢索中應用最為廣泛的視覺特徵,主要原因在於顏色往往和影象中所包含的物體或場景十分相關。此外,與其他的視覺特徵相比,顏色特徵對影象本身的尺寸 方向 視角的依賴性較小,從而具有較高的魯棒性。面向影象檢索的顏色特徵的表達涉及到若干問題。首先,我們需要選擇合適的顏色空間來描述顏色特徵 其次,...