「」"
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來做一些相關的特徵的處理以及額外的任務比較方便 這裡我...