機器學習 特徵工程(一)

2021-09-29 16:27:33 字數 2898 閱讀 9237

類:sklearn.feature_extraction.dictvectorizer

語法結構:

·····dictvectorizer

(sparse=true,…)

方法:①dictvectorizer.

fit_transform

(x)       x:

字典或者包含

字典的迭代器

返回值:返回

sparse矩陣

②dictvectorizer

.inverse_transform

(x)

x:array

陣列或者

sparse矩陣

返回值:

轉換之前資料格式

③dictvectorizer.get_feature_names()

返回類別名稱

④dictvectorizer.transform

(x)

按照原先的標準轉換

具體實現**:

from sklearn.feature_extraction import dictvectorizer

def dictvec():

"""字典資料抽取"""

# 例項化

# sparse = f 結果換為矩陣形式

dict = dictvectorizer(sparse=false)

# 即將轉化的資料

data = [,,]

# 呼叫 fit_transform 進行特徵化

data = dict.fit_transform(data)

print(dict.get_feature_names())

# 預設返回sparse矩陣

print(data)

if __name__ == '__main__':

dictvec()

執行結果:其中下面的二維矩陣稱之為 one-hot 編碼

類:sklearn.feature_extraction.text.countvectorizer

方法:

countvectorizer()

返回詞頻矩

countvectorizer.

fit_transform(x,y)      

x:文字或者包含

文字字串的可迭代物件

返回值:返回

sparse矩陣

countvectorizer

.inverse_transform

(x)

x:array

陣列或者

sparse矩陣

返回值:轉換之前資料格式

countvectorizer.get_feature_names()

返回值:單詞列表

具體實現 **:

from sklearn.feature_extraction.text import countvectorizer

def textvc():

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

cv = countvectorizer()

data = ["life is short,i like python",

"life is too long,i dislike python"]

data = cv.fit_transform(data)

# 特徵名稱 統計所有非乙個字母的詞

print(cv.get_feature_names())

# 例項化無法新增引數,用toarray依然可以實現矩陣轉化

data = data.toarray()

print(data)

執行結果:

文字抽取關於中文抽取:

主要是運用了jieba模組進行中文的分塊,是的中文片語分類 

執行**塊:

from sklearn.feature_extraction.text import countvectorizer

import jieba

def textvc():

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

cv = countvectorizer()

cop1 = jieba.cut("今天很殘酷,明天更殘酷,後天很美好,但絕對大部分是死在明天晚上,所以每個人不要放棄今天。")

# 轉換成列表

ct1 = list(cop1)

# 把列表轉換成字串

c1 = " ".join(ct1)

data = [c1]

data = cv.fit_transform(data)

"""['今天很殘酷', '但絕對大部分是死在明天晚上', '後天很美好', '所以每個人不要放棄今天', '明天更殘酷']

"""print(cv.get_feature_names())

# 例項化無法新增引數,用toarray依然可以實現矩陣轉化

data = data.toarray()

print(data)

if __name__ == '__main__':

textvc()

結果:

機器學習 特徵工程

老師有多年的網際網路從業經驗,所以講解的過程中結合了很多任務業界的應用,更加的深入淺出。資料採集 資料採集前需要明確採集哪些資料,一般的思路為 哪些資料對最後的結果 有幫助?資料我們能夠採集到嗎?線上實時計算的時候獲取是否快捷?舉例1 我現在要 使用者對商品的下單情況,或者我要給使用者做商品推薦,那...

機器學習 特徵工程

資料和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已。通俗的說,就是盡可能的從原始資料中獲取更多資訊,從而使得 模型達到最佳。簡而言之,特徵工程是乙個把原始資料變成特徵的過程,這些特徵可以很好的描述資料,並且利用它們建立的模型在未知資料上表現效能可以達到最優。實驗結果取決於獲取的資料 ...

機器學習特徵工程

作用 對字典資料進行特徵值化 dictvectorizer語法 例項化了乙個物件 data dict fit transform x print dict get feature names print data return none if name main dictvec 結果 分析 使用di...