作用:對字典資料進行特徵值化
dictvectorizer語法
)#例項化了乙個物件
data =
dict
.fit_transform(x)
(dict
.get_feature_names())
(data)
return
none
if __name__ ==
'__main__'
: dictvec(
)結果:
分析:使用dict.dit_transform(x) 得到的是乙個ndarray型別的二維陣列 用get_feature_names()方法得到的列表作用為對照dit_transform(x) 符合要求的為1 不符合要求的為0 前提是
dict
= dictvectorizer(sparse=
false
)
這裡面的sparse 要改為false (預設為true)
文字特徵抽取
作用:對文字資料進行特徵值化
countvectorizer語法
**問題:**如果是中文無法進行分詞
解決方案:使用庫jieba中的cut方法
def
cutword()
: cn1 = jieba.cut(
"人生苦短,我用python"
) cn2 = jieba.cut(
"人生漫長,我不用python"
)# print(cn1)
content1 =
list
(cn1)
content2 =
list
(cn2)
# print(content2)
c1 =
" ".join(content1)
c2 =
" ".join(content2)
# print(c2)
return c1,c2
defhanzivec()
: cv = countvectorizer(
) c1, c2 = cutword(
) data = cv.fit_transform(
[c1, c2]
)print
(cv.get_feature_names())
print
(data.toarray())
return
none
結果為:
tfidfvectorizer語法
為什麼需要tfidfvectorizer?
答:分類機器學習演算法的重要依據
**實現:
def
cutword()
: cn1 = jieba.cut(
"人生苦短,我用python"
) cn2 = jieba.cut(
"人生漫長,我不用python"
)# print(cn1)
content1 =
list
(cn1)
content2 =
list
(cn2)
# print(content2)
c1 =
" ".join(content1)
c2 =
" ".join(content2)
# print(c2)
return c1,c2
deftfvec()
: tf = tfidfvectorizer(
) c1, c2 = cutword(
) data = tf.fit_transform(
[c1, c2]
)print
(tf.get_feature_names())
print
(data.toarray())
return
none
結果:
機器學習 特徵工程
老師有多年的網際網路從業經驗,所以講解的過程中結合了很多任務業界的應用,更加的深入淺出。資料採集 資料採集前需要明確採集哪些資料,一般的思路為 哪些資料對最後的結果 有幫助?資料我們能夠採集到嗎?線上實時計算的時候獲取是否快捷?舉例1 我現在要 使用者對商品的下單情況,或者我要給使用者做商品推薦,那...
機器學習 特徵工程
資料和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已。通俗的說,就是盡可能的從原始資料中獲取更多資訊,從而使得 模型達到最佳。簡而言之,特徵工程是乙個把原始資料變成特徵的過程,這些特徵可以很好的描述資料,並且利用它們建立的模型在未知資料上表現效能可以達到最優。實驗結果取決於獲取的資料 ...
機器學習 特徵工程
在之前學習機器學習技術中,很少關注特徵工程 feature engineering 然而,單純學習機器學習的演算法流程,可能仍然不會使用這些演算法,尤其是應用到實際問題的時候,常常不知道怎麼提取特徵來建模。特徵是機器學習系統的原材料,對最終模型的影響是毋庸置疑的。特徵工程的重要意義 資料特徵會直接影...