當前位置:
首頁 > 最新 > Scikit-learn應用指南:數據的表示與可視化

Scikit-learn應用指南:數據的表示與可視化

課程簡介

機器學習演算法是一種在數據上進行分析,進而得出規律,並利用規律來對未知數據進行預測的演算法。但是現實生活中的大多數數據並不能直接用於訓練機器學習演算法,我們需要將數據重新表示成機器學習系統能夠理解的形式。本節將主要介紹如何將數據表示成可用於演算法學習的形式,同時,也將介紹如何可視化數據集,以便我們了解數據集的情況。

學習目標

了解如何表示數據集

了解如何可視化數據集

了解 scikit-learn 中的數據集

了解鳶尾花數據集

了解其它數據集的獲取

了解數字數據集

1. scikit-learn 中的數據

除了極少數特例,scikit-learn 中的數據都被假設為一個形狀如 [n_samples, n_features] 的二維數組。許多演算法也可傳入相同形狀的 scipy.sparse 矩陣。

n_samples: 樣本的數量: 每個樣本都是一個要處理(例如:分類)的對象。樣本可以是文件,圖片,聲音,視頻,天文物體,資料庫或 CSV 文件中的 一行,也可以是其它任何你能用一組確定的數量特徵集合來描述的對象。

n_features: 特徵或特質的數量,特徵或特質可以用來以定量的方式描述每個對象。特徵通常是實值的,但是在某些情況下也可能是布爾值或離散值。

特徵的數量必須預先確定。然而,對於給定的樣本其維度可能非常高(例如:數百萬個特徵),且其中大部分是 "0" ,這時 scipy.sparse 稀疏矩陣就變得十分有用,因為它比 NumPy 數組存儲效率更高。

正如我們上一節所回顧的,我們將樣本(數據點或實例)表示為數組中的行,並將對應的特徵(也就是 "維度" )表示為列。

一個簡單的例子:鳶尾花數據集

我們先了解一下 scikit-learn 中存儲的鳶尾花數據集。該數據集由三種不同鳶尾花種類的測量結果組成,三種不同的鳶尾花如下圖所示:

山鳶尾花(Iris Setosa)

變色鳶尾花(Iris Versicolor)

維吉尼亞鳶尾花(Iris Virginica)

一個小提問:

假設我們對於新觀測數據的分類更感興趣; 想要預測未知的花種是山鳶尾花、變色鳶尾花還是維吉尼亞鳶尾花。在上部分討論的內容的基礎上,我們要如何構建這樣的一個數據集呢?

記住: 我們需要一個 [n_samples x n_features] 維度的二維數組。

n_samples 表示什麼呢?

n_features 表示什麼呢?

請記住,每個樣本都必須有一個確定值的特徵數,並且特徵數 j 對每個樣本來說必須是相同的數值。

使用 Scikit-learn 載入鳶尾花數據集

為了接下來用機器學習演算法進行實驗,建議您將 http://archive.ics.uci.edu/ml/index.php 添加為書籤,這個庫容納了許多常用的數據集,這些數據集可用於機器學習演算法的基準測試 -- 對機器學習實踐者和研究人員來說是非常歡迎的資源。為了方便使用,這些數據集中的一部分已經包含在 scikit-learn 中,這樣我們就可以跳過下載,閱讀,解析和清理文本/CSV文件這幾個單調乏味的步驟。您可以在 scikit-learn 官網中找到可用的數據集列表:http://scikit-learn.org/stable/datasets/#toy-datasets 。

例如:scikit-learn 在鳶尾花種類上有一組非常簡單的數據集。數據集包含以下內容:

鳶尾花數據集中的特徵:

萼片長度(cm)

萼片寬度(cm)

花瓣長度(cm)

花瓣寬度(cm)

需要預測的目標分類:

山鳶尾花

變色鳶尾花

維吉尼亞鳶尾花

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Datartisan數據工匠 的精彩文章:

如果你需要知道一本書90%的辭彙,你必須要讀多少頁?
強化學習與簡單多臂老虎機問題

TAG:Datartisan數據工匠 |