机器学习(2)特征提取1 -- 字典特征提取
生活随笔
收集整理的這篇文章主要介紹了
机器学习(2)特征提取1 -- 字典特征提取
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
一、基礎(chǔ)理論
1、特征工程
2、過程
3、API
二、特征提取轉(zhuǎn)化為二維矩陣
0、獲取數(shù)據(jù)集
1、實例化轉(zhuǎn)換器類
2、提取特征值
3、顯示
三、特征值轉(zhuǎn)化為稀疏矩陣
0、獲取數(shù)據(jù)集
1、實例化轉(zhuǎn)換器類
2、提取特征值
3、顯示?
總代碼
一、基礎(chǔ)理論
1、特征工程
特征工程是使用專業(yè)背景知識和技巧處理數(shù)據(jù),使得特征能在機器學(xué)習(xí)算法上發(fā)揮更好的作用的過程。
文本類型? 轉(zhuǎn)化為??數(shù)值
類型? 轉(zhuǎn)化為? 數(shù)值
2、過程
1、獲取數(shù)據(jù)集
2、實例化轉(zhuǎn)換器類
3、提取特征值
3、API
fit_transform()
?先擬合數(shù)據(jù)(fit),再將其轉(zhuǎn)換成標(biāo)準(zhǔn)形式(transform)。
# 特征提取?
sklearn.feature_extraction.DictVectorizer
二、特征提取轉(zhuǎn)化為二維矩陣
轉(zhuǎn)化的特征值若為漢字或字符,存在則為1,不存在則為0。
0、獲取數(shù)據(jù)集
# 數(shù)據(jù)集
data = [{'name':'小明', 'score':80}, {'name':'小紅', 'score':100}, {'name':'張三', 'score':60}]
1、實例化轉(zhuǎn)換器類
# 1、實例化轉(zhuǎn)換器類transfer = DictVectorizer(sparse=False)
2、提取特征值
# 2、提取特征值feature_data = transfer.fit_transform(data)
3、顯示
print('稀疏矩陣特征值:\n', feature_data)
print('特征名字:', transfer.get_feature_names())
?前3列表示的都是name,分別是小明、小紅、張三;
最后一列表示的是score。
全為字符的情況:
?(漢字及字符有則為1,沒有則為0)
三、特征值轉(zhuǎn)化為稀疏矩陣
0、獲取數(shù)據(jù)集
# 數(shù)據(jù)集
data = [{'name':'小明', 'score':80}, {'name':'小紅', 'score':100}, {'name':'張三', 'score':60}]
1、實例化轉(zhuǎn)換器類
# 1、實例化轉(zhuǎn)換器類transfer = DictVectorizer(sparse=False)
2、提取特征值
# 2、提取特征值feature_data = transfer.fit_transform(data)
3、顯示?
print('稀疏矩陣特征值\n', feature_data)
print('特征名字:', transfer.get_feature_names())
?前兩列是坐標(biāo),表示該關(guān)鍵字在二維數(shù)組中對應(yīng)的位置。
全為字符的情況:
總代碼
# 字典特征提取
from sklearn.feature_extraction import DictVectorizer# 數(shù)據(jù)集
data = [{'name':'小明', 'score':80}, {'name':'小紅', 'score':100}, {'name':'張三', 'score':60}]# 提取特征值,轉(zhuǎn)化為稀疏矩陣
def Count_Sparse():# 1、實例化轉(zhuǎn)換器類transfer = DictVectorizer(sparse=True)# 2、提取特征值feature_data = transfer.fit_transform(data)print('稀疏矩陣特征值\n', feature_data)print('特征名字:', transfer.get_feature_names())# 提取特征值,轉(zhuǎn)化為二維矩陣
def Count_Matrix():# 1、實例化轉(zhuǎn)換器類transfer = DictVectorizer(sparse=False)# 2、提取特征值feature_data = transfer.fit_transform(data)print('二維矩陣特征值:\n', feature_data)print('特征名字:', transfer.get_feature_names())if __name__ == '__main__':Count_Sparse() #稀疏矩陣(特征值)Count_Matrix() #二維矩陣(特征值)
總結(jié)
以上是生活随笔為你收集整理的机器学习(2)特征提取1 -- 字典特征提取的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习(1)机器学习基础 鸢尾花数据
- 下一篇: 机器学习(4)特征预处理