python機器學(xué)習(xí)算法與數(shù)據(jù)降維分析詳解_第1頁
python機器學(xué)習(xí)算法與數(shù)據(jù)降維分析詳解_第2頁
python機器學(xué)習(xí)算法與數(shù)據(jù)降維分析詳解_第3頁
python機器學(xué)習(xí)算法與數(shù)據(jù)降維分析詳解_第4頁
python機器學(xué)習(xí)算法與數(shù)據(jù)降維分析詳解_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第python機器學(xué)習(xí)算法與數(shù)據(jù)降維分析詳解目錄一、數(shù)據(jù)降維1.特征選擇2.主成分分析(PCA)3.降維方法使用流程二、機器學(xué)習(xí)開發(fā)流程1.機器學(xué)習(xí)算法分類2.機器學(xué)習(xí)開發(fā)流程三、轉(zhuǎn)換器與估計器1.轉(zhuǎn)換器2.估計器

一、數(shù)據(jù)降維

機器學(xué)習(xí)中的維度就是特征的數(shù)量,降維即減少特征數(shù)量。降維方式有:特征選擇、主成分分析。

1.特征選擇

當(dāng)出現(xiàn)以下情況時,可選擇該方式降維:

①冗余:部分特征的相關(guān)度高,容易消耗計算性能

②噪聲:部分特征對預(yù)測結(jié)果有影響

特征選擇主要方法:過濾式(VarianceThreshold)、嵌入式(正則化、決策樹)

過濾式:

sklearn特征選擇API

sklearn.feature_selection.VarianceThreshold

注意:沒有最好的方差選擇,需要根據(jù)實際效果選擇方差。

2.主成分分析(PCA)

API:sklearn.decomposition

主成分分析會盡可能降低原數(shù)據(jù)的維數(shù),損失少量信息。當(dāng)特征數(shù)量達到上百的時候,就需要考慮主成分分析??梢韵鳒p回歸分析或者聚類分析中特征的數(shù)量。

PCA語法:

里面的n_components通常填0-1的小數(shù),代表保留百分之多少的數(shù)據(jù),比如0.95意思是保留95%的數(shù)據(jù)。通常在0.9-0.95之間

3.降維方法使用流程

例如:研究用戶和購買物品類別的關(guān)系,數(shù)據(jù)有不同的表格存儲,均為csv文件,但所需的兩者“用戶”和“購買物品類別”,存在于不同的表中。則可以按照以下流程進行:

1.觀察各個表格的鍵,通過相同的鍵對表格進行合并,使用pandas.merge(表1,表2,鍵1,鍵2)方法,其中鍵1和鍵2相同。經(jīng)過多次合并,最終將兩個目標(biāo)合并到一張表中。

2.通過交叉表pd.crosstab(合并后的表['用戶'],合并后的表['物品類別']),建立一個以用戶為行,以物品類別為列的數(shù)據(jù)表。

3.對表格進行數(shù)據(jù)的降維,可以使用PCA(n_components=0.9),保留90%的有效信息,輸出降維后的數(shù)據(jù)。即可有效減少維度,并確保留存90%的有效信息。

二、機器學(xué)習(xí)開發(fā)流程

1.機器學(xué)習(xí)算法分類

數(shù)據(jù)類型:

離散型:區(qū)間內(nèi)不可分,通常是在分類型問題中。

連續(xù)型:區(qū)間內(nèi)可分,通常是在預(yù)測型問題中。

算法分類:

算法總體分為兩類,監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)。

①監(jiān)督學(xué)習(xí)包含特征值+目標(biāo)值,算法又分為兩小類,分類算法和回歸算法。

分類算法:k-近鄰算法、貝葉斯分類、決策樹與隨機森林、邏輯回歸、神經(jīng)網(wǎng)絡(luò)

回歸算法:線性回歸、嶺回歸

②無監(jiān)督學(xué)習(xí)只有特征值,通常是聚類算法:k-means

2.機器學(xué)習(xí)開發(fā)流程

機器學(xué)習(xí)開發(fā)首先需要有數(shù)據(jù),數(shù)據(jù)來源可能有以下幾種:公司本身有數(shù)據(jù)、合作過來的數(shù)據(jù)、購買的數(shù)據(jù)。

具體開發(fā)流程如下:

①明確實際問題做什么:根據(jù)目標(biāo)值數(shù)據(jù)類型,建立模型,劃分應(yīng)用種類??纯词欠诸悊栴}還是預(yù)測問題。

②數(shù)據(jù)的基本處理:使用pandas處理數(shù)據(jù),缺失值,合并表等等。

③特征工程:對數(shù)據(jù)特征進行處理(重要)。

④找到合適的算法去進行預(yù)測。

⑤模型的評估,判定效果→上線使用,以API形式提供;若模型評估沒有合格:換算法、參數(shù),特征工程

sklearn數(shù)據(jù)集的使用:

通常在使用前會對數(shù)據(jù)集進行劃分,從數(shù)據(jù)中拿出約75%作為訓(xùn)練集、25%作為測試集。也可以0.8/0.2等。通常0.75/0.25是使用最多的。

sklearn數(shù)據(jù)集劃分API:sklearn.model_selection.train_set_split

sklearn數(shù)據(jù)集API:

獲取數(shù)據(jù)集返回的類型:

數(shù)據(jù)集進行分割:

用于分類的大數(shù)據(jù)集:

sklearn回歸數(shù)據(jù)集:

三、轉(zhuǎn)換器與估計器

1.轉(zhuǎn)換器

在數(shù)據(jù)處理中用到的fit_tansform方法中,其實可以拆分為fit方法和transform方法。

fit_transform()=fit()+transform()

若直接使用fit_transform(),則是對輸入的數(shù)據(jù)進行求平均值、標(biāo)準(zhǔn)差,并使用它們進行數(shù)據(jù)處理最終輸出結(jié)果。

如果拆開的話:

fit():輸入數(shù)據(jù),計算平均值,標(biāo)準(zhǔn)差等,不進行后續(xù)工作。

transform():使用fit計算好的內(nèi)容進行轉(zhuǎn)換。

也就是說可以通過fit()方法,生成1個數(shù)據(jù)對應(yīng)的標(biāo)準(zhǔn),使用這個標(biāo)準(zhǔn),對其他數(shù)據(jù),通過transform方法進行轉(zhuǎn)換。

2.估計器

估計器就是已經(jīng)實現(xiàn)了的算法的API,可以直接調(diào)用,輸入相關(guān)數(shù)據(jù),對結(jié)果進行預(yù)測等。

估計器工作流程:

1.調(diào)用fit(x_train,y_train),輸入訓(xùn)練集

2.輸入測試集的數(shù)據(jù)(x_test,y_test),調(diào)用不同接口可得不同結(jié)果

API①:y_predict=predict(x_test),該接口可獲得算法對y的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論