sklearn特徵抽取及tfidf的使用

2021-10-22 16:22:41 字數 2143 閱讀 8899

「」"

author:lei

function: 特徵抽取

「」"from sklearn.feature_extraction import dictvectorizer

from sklearn.feature_extraction.text import countvectorizer

from sklearn.feature_extraction.text import tfidfvectorizer

import jieba

text_list = [「life is short, i like python」, 「life is too long, i dislike python」]

text_list2 =

def dictvec():

「」"字典資料抽取:把字典中一些類別的資料,分別轉換成特徵

陣列形式,有類別的形式

:return:

「」"# 例項化

dict = dictvectorizer(sparse=false) # sparse 矩陣轉換為陣列形式

data = dict.fit_transform([, ])

print(dict.get_feature_names()) # list,獲取對應的特徵值的陣列列表

print(dict.inverse_transform(data)) # 得到原來的資料

print(data) # ndarray one-hot 編碼

def countvec():

「」"對文字進行特徵值化

1、統計所有文章中所有的詞,重複的只看做一次

2、對每篇文章,在詞的列表中進行統計每個詞出現的次數

:return:

"""cv = countvectorizer()

data = cv.fit_transform(text_list)

print(data.toarray()) # 將sparse矩陣轉換為陣列格式

print(cv.get_feature_names()) # 獲取所有文字的排列

return none

def cut_word():

c1 = jieba.cut(「今天很殘酷,明天更殘酷,後天更殘酷」)

c2 = jieba.cut(「我們看到的從很遠星系來的光是在幾百萬年之前發出的」)

c3 = jieba.cut(「如果只用一種方式了解事物,你不會真正理解它」)

# print(c1, c2, c3)

# 將生成器轉換成列表,列表轉換成字串

c1 = "".join(list(c1))

c2 = "".join(str(list(c2)))

c3 = "".join(str(list(c3)))

# print(c1, c2, c3)

return c1, c2, c3

def hanzivec():

「」"中文特徵值化

:return:

「」"cv = countvectorizer()

data = cv.fit_transform(cut_word())

print(data.toarray())

print(cv.get_feature_names())

def tfidfvec():

「」"tfidf的使用

:return:

「」"c1, c2, c3 = cut_word()

print(c1, c2, c3)

tf = tfidfvectorizer()

data = tf.fit_transform([c1, c2, c3])

print(tf.get_feature_names())

print(data.toarray())

return none

ifname== 『main』:

# dictvec()

# countvec()

# cut_word()

# hanzivec()

tfidfvec()

基於sklearn的文字特徵抽取

機器學習的樣本一般都是特徵向量,但是除了特徵向量以外經常有非特徵化的資料,最常見的就是文字 當某個特徵為有限的幾個字串時,可以看成一種結構化資料,處理這種特徵的方法一般是將其轉為獨熱碼的幾個特徵。例如僅能取三個字串的特徵 a,b,c,可以將其轉換為001,010,100的三個特徵。當特徵僅是一系列字...

機器學習sklearn和字典特徵抽取

sklean資料集 sklearn資料集返回值介紹 def datasets demo sklearn資料集使用 獲取資料集 iris load iris print 鳶尾花資料集 n iris print 檢視資料集描述 n iris.descr print 檢視特徵值的名字 n iris.fea...

caffe Python特徵抽取

caffe大家一般用到的深度學習平台都是這個,關於caffe的訓練通常一般都可以通過一些命令來執行,但是在deploy階段,如果是做實際的工程,那麼c 介面用得會相對比較多。但是caffe是支援python和matlab介面的,所以用python來做一些相關的特徵的處理以及額外的任務比較方便 這裡我...