溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python機器學習中特征工程算法的示例分析

發(fā)布時間:2022-03-04 11:40:43 來源:億速云 閱讀:162 作者:小新 欄目:開發(fā)技術

這篇文章主要為大家展示了“python機器學習中特征工程算法的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“python機器學習中特征工程算法的示例分析”這篇文章吧。

一、機器學習概述

機器學習是從數(shù)據(jù)中,自動分析獲得規(guī)律(模型),并利用規(guī)律對未知數(shù)據(jù)進行預測。

二、數(shù)據(jù)集的構成

1.數(shù)據(jù)集存儲

機器學習的歷史數(shù)據(jù)通常使用csv文件存儲。

不用mysql的原因:

1、文件大的話讀取速度慢;

2、格式不符合機器學習要求的格式

2.可用的數(shù)據(jù)集

Kaggle:大數(shù)據(jù)競賽平臺、80萬科學家、真實數(shù)據(jù)、數(shù)據(jù)量巨大

Kaggle網(wǎng)址:https://www.kaggle.com/datasets

UCI:360個數(shù)據(jù)集、覆蓋科學生活經(jīng)濟等領域、數(shù)據(jù)量幾十萬

UCI數(shù)據(jù)集網(wǎng)址: http://archive.ics.uci.edu/ml/

scikit-learn:數(shù)據(jù)量較小、方便學習

scikit-learn網(wǎng)址:http://scikit-learn.org/stable/datasets/index.html#datasets

3.常用數(shù)據(jù)集的結構

特征值(用以判斷目標值所用的條件:比如房子的面積朝向等)+目標值(希望實現(xiàn)的目標:比如房子價格)

有些數(shù)據(jù)集可以沒有目標值。

三、特征工程

”將原始數(shù)據(jù)轉(zhuǎn)換為能更好地代表預測模型的潛在問題的特征“的過程,叫做特征工程,能夠提高對未知數(shù)據(jù)的預測準確性。特征如果不好,很可能即使算法好,結果也不會盡如人意。

pandas可用于數(shù)據(jù)讀取、對數(shù)據(jù)的基本處理

sklearn有更多對于特征的處理的強大的接口

特征抽取:

特征抽取API:sklearn.feature_extraction

1.字典數(shù)據(jù)特征抽取

API:sklearn.feature_extraction.DictVectorizer

語法如下:

python機器學習中特征工程算法的示例分析

字典數(shù)據(jù)抽?。簩⒆值渲械念悇e數(shù)據(jù)分別進行轉(zhuǎn)換為特征數(shù)據(jù)。因此,如果輸入的是數(shù)組形式,并且有類別的這些特征,需要先轉(zhuǎn)換成字典數(shù)據(jù),然后進行抽取。

2.文本特征抽取

Count

類:sklearn.feature_extraction.text.CountVectorizer

用法:

python機器學習中特征工程算法的示例分析 

1.統(tǒng)計所有文章當中所有的詞,重復的只看做一次
2.對每篇文章,在詞的列表里面,統(tǒng)計每個詞出現(xiàn)的次數(shù)
3.單個字母不統(tǒng)計

注意:該方法默認不支持中文,每個中文漢字被視為一個英文字母,中間有空格或者逗號就會被分開,同樣的,一個漢字不予統(tǒng)計。(中文可使用jieba分詞:pip install jieba,使用:jieba.cut("我是一個程序員"))

3.文本特征抽?。簍f-idf

上面的countvec不能處理中性詞比如“明天,中午,因為”等。于是可以使用tfidf方法。

tf:term frequency詞頻(和countvec方法一樣)

idf:inverse document frequency逆文檔頻率 log(總文檔數(shù)量/該詞出現(xiàn)的文檔數(shù))

tf * idf 重要性程度

類:sklearn.feature_extraction.text.TfidfVectorizer

4.特征預處理:歸一化

特征預處理:通過特定的統(tǒng)計方法,將數(shù)據(jù)轉(zhuǎn)換為算法要求的數(shù)據(jù)

特征預處理API:sklearn.preprocessing

python機器學習中特征工程算法的示例分析

歸一化API:sklearn.preprocessing.MinMaxScaler

python機器學習中特征工程算法的示例分析

多個特征同等重要并且特征數(shù)據(jù)之間差距較大的時候,進行歸一化。但歸一化容易受異常點的影響,因此該方法魯棒性較差,只適合傳統(tǒng)精確小數(shù)據(jù)場景。

5.特征預處理:標準化

將原始數(shù)據(jù)變換到均值為0,標準差為1的范圍內(nèi)

python機器學習中特征工程算法的示例分析

標準化API:

sklearn.preprocessing.StandardScaler

python機器學習中特征工程算法的示例分析

標準化適合現(xiàn)代嘈雜大數(shù)據(jù)場景,在已有樣本足夠多的情況下比較穩(wěn)定。

6.特征預處理:缺失值處理

插補:通過缺失值每行或每列的平均值、中位數(shù)來填補(一般按列填補)

API:sklearn.impute.SimpleImputer

數(shù)據(jù)當中的缺失值標記:默認為np.nan

python機器學習中特征工程算法的示例分析

以上是“python機器學習中特征工程算法的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI