python機(jī)器學(xué)習(xí)基礎(chǔ)特征工程算法詳解
一、機(jī)器學(xué)習(xí)概述
機(jī)器學(xué)習(xí)是從數(shù)據(jù)中,自動分析獲得規(guī)律(模型),并利用規(guī)律對未知數(shù)據(jù)進(jìn)行預(yù)測。
二、數(shù)據(jù)集的構(gòu)成
1.數(shù)據(jù)集存儲
機(jī)器學(xué)習(xí)的歷史數(shù)據(jù)通常使用csv文件存儲。
不用mysql的原因:
1、文件大的話讀取速度慢;
2、格式不符合機(jī)器學(xué)習(xí)要求的格式
2.可用的數(shù)據(jù)集
Kaggle:大數(shù)據(jù)競賽平臺、80萬科學(xué)家、真實(shí)數(shù)據(jù)、數(shù)據(jù)量巨大
Kaggle網(wǎng)址:https://www.kaggle.com/datasets
UCI:360個數(shù)據(jù)集、覆蓋科學(xué)生活經(jīng)濟(jì)等領(lǐng)域、數(shù)據(jù)量幾十萬
UCI數(shù)據(jù)集網(wǎng)址: http://archive.ics.uci.edu/ml/
scikit-learn:數(shù)據(jù)量較小、方便學(xué)習(xí)
scikit-learn網(wǎng)址:http://scikit-learn.org/stable/datasets/index.html#datasets
3.常用數(shù)據(jù)集的結(jié)構(gòu)
特征值(用以判斷目標(biāo)值所用的條件:比如房子的面積朝向等)+目標(biāo)值(希望實(shí)現(xiàn)的目標(biāo):比如房子價格)
有些數(shù)據(jù)集可以沒有目標(biāo)值。
三、特征工程
”將原始數(shù)據(jù)轉(zhuǎn)換為能更好地代表預(yù)測模型的潛在問題的特征“的過程,叫做特征工程,能夠提高對未知數(shù)據(jù)的預(yù)測準(zhǔn)確性。特征如果不好,很可能即使算法好,結(jié)果也不會盡如人意。
pandas可用于數(shù)據(jù)讀取、對數(shù)據(jù)的基本處理
sklearn有更多對于特征的處理的強(qiáng)大的接口
特征抽?。?/p>
特征抽取API:sklearn.feature_extraction
1.字典數(shù)據(jù)特征抽取
API:sklearn.feature_extraction.DictVectorizer
語法如下:
字典數(shù)據(jù)抽?。簩⒆值渲械念悇e數(shù)據(jù)分別進(jìn)行轉(zhuǎn)換為特征數(shù)據(jù)。因此,如果輸入的是數(shù)組形式,并且有類別的這些特征,需要先轉(zhuǎn)換成字典數(shù)據(jù),然后進(jìn)行抽取。
2.文本特征抽取
Count
類:sklearn.feature_extraction.text.CountVectorizer
用法:
1.統(tǒng)計(jì)所有文章當(dāng)中所有的詞,重復(fù)的只看做一次
2.對每篇文章,在詞的列表里面,統(tǒng)計(jì)每個詞出現(xiàn)的次數(shù)
3.單個字母不統(tǒng)計(jì)
注意:該方法默認(rèn)不支持中文,每個中文漢字被視為一個英文字母,中間有空格或者逗號就會被分開,同樣的,一個漢字不予統(tǒng)計(jì)。(中文可使用jieba分詞:pip install jieba,使用:jieba.cut("我是一個程序員"))
3.文本特征抽取:tf-idf
上面的countvec不能處理中性詞比如“明天,中午,因?yàn)椤钡?。于是可以使用tfidf方法。
tf
:term frequency詞頻(和countvec方法一樣)
idf
:inverse document frequency逆文檔頻率 log(總文檔數(shù)量/該詞出現(xiàn)的文檔數(shù))
tf * idf 重要性程度
類:sklearn.feature_extraction.text.TfidfVectorizer
4.特征預(yù)處理:歸一化
特征預(yù)處理:通過特定的統(tǒng)計(jì)方法,將數(shù)據(jù)轉(zhuǎn)換為算法要求的數(shù)據(jù)
特征預(yù)處理API:sklearn.preprocessing
歸一化API:sklearn.preprocessing.MinMaxScaler
多個特征同等重要并且特征數(shù)據(jù)之間差距較大的時候,進(jìn)行歸一化。但歸一化容易受異常點(diǎn)的影響,因此該方法魯棒性較差,只適合傳統(tǒng)精確小數(shù)據(jù)場景。
5.特征預(yù)處理:標(biāo)準(zhǔn)化
將原始數(shù)據(jù)變換到均值為0,標(biāo)準(zhǔn)差為1的范圍內(nèi)
標(biāo)準(zhǔn)化API:
sklearn.preprocessing.StandardScaler
標(biāo)準(zhǔn)化適合現(xiàn)代嘈雜大數(shù)據(jù)場景,在已有樣本足夠多的情況下比較穩(wěn)定。
6.特征預(yù)處理:缺失值處理
插補(bǔ):通過缺失值每行或每列的平均值、中位數(shù)來填補(bǔ)(一般按列填補(bǔ))
API:sklearn.impute.SimpleImputer
數(shù)據(jù)當(dāng)中的缺失值標(biāo)記:默認(rèn)為np.nan
以上就是python機(jī)器學(xué)習(xí)基礎(chǔ)特征工程算法詳解的詳細(xì)內(nèi)容,更多關(guān)于python機(jī)器學(xué)習(xí)特征工程的資料請關(guān)注腳本之家其它相關(guān)文章!
- Python分析特征數(shù)據(jù)類別與預(yù)處理方法速學(xué)
- python?OpenCV實(shí)現(xiàn)圖像特征匹配示例詳解
- python深度學(xué)習(xí)tensorflow1.0參數(shù)和特征提取
- caffe的python接口caffemodel參數(shù)及特征抽取示例
- Python計(jì)算機(jī)視覺SIFT尺度不變的圖像特征變換
- python神經(jīng)網(wǎng)絡(luò)特征金字塔FPN原理
- Python機(jī)器學(xué)習(xí)利用隨機(jī)森林對特征重要性計(jì)算評估
- Python機(jī)器學(xué)習(xí)特征重要性分析的8個常用方法實(shí)例探究
相關(guān)文章
matlab中實(shí)現(xiàn)矩陣刪除一行或一列的方法
下面小編就為大家分享一篇matlab中實(shí)現(xiàn)矩陣刪除一行或一列的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python數(shù)據(jù)結(jié)構(gòu)與算法之完全樹與最小堆實(shí)例
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之完全樹與最小堆,結(jié)合實(shí)例形式分析了Python完全樹定義及堆排序功能實(shí)現(xiàn)相關(guān)操作技巧,需要的朋友可以參考下2017-12-12Python使用dis模塊把Python反編譯為字節(jié)碼的用法詳解
通常來說Python的性能或代碼質(zhì)量的評估可以通過dis模塊獲取到對應(yīng)的字節(jié)碼指令來進(jìn)行評估,因而這里我們就來看一下Python使用dis模塊把Python反編譯為字節(jié)碼的用法詳解:2016-06-06Python異步爬蟲requests和aiohttp中代理IP的使用
本文主要介紹了Python異步爬蟲requests和aiohttp中代理IP的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03Python利用openpyxl庫遍歷Sheet的實(shí)例
今天小編就為大家?guī)硪黄狿ython利用openpyxl庫遍歷Sheet的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05Python 中如何使用 virtualenv 管理虛擬環(huán)境
這篇文章主要介紹了Python 中使用 virtualenv 管理虛擬環(huán)境的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01使用python語言,比較兩個字符串是否相同的實(shí)例
今天小編就為大家分享一篇使用python語言,比較兩個字符串是否相同的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06Python數(shù)據(jù)分析庫PyGWalker的強(qiáng)大交互式功能界面探索
這篇文章主要介紹了Python數(shù)據(jù)分析庫PyGWalker的強(qiáng)大交互式功能界面探索有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01詳解如何通過Python實(shí)現(xiàn)批量數(shù)據(jù)提取
每天面對成堆的發(fā)票,無論是發(fā)票還是承兌單據(jù),抑或是其他各類公司數(shù)據(jù)要從照片、PDF等不同格式的內(nèi)容中提取,我們都有必要進(jìn)行快速辦公的能力提升。本文就教你如何利用Python實(shí)現(xiàn)批量數(shù)據(jù)提取吧2023-03-03