機器學習系列-資料分析-平行座標圖
機器學習系列-資料分析-平行座標圖
目錄
平行座標圖簡介
平行座標系是一種常用的資料視覺化方法,常用於高維幾何和多元資料的視覺化。其在資料的視覺化表示上克服了笛卡爾直角座標系(平面直角座標系、空間直角座標系)很容易耗盡空間維度,最多隻能進行三個維度資料視覺化的缺陷,將多個維度的資料變數用多個平行的座標軸進行表示,將來自於同一資料來源的不同維度曲線連線成折線,在存在多種不同類別的資料來源時,也可以通過不同顏色繪製屬於不同類別資料來源的折線,最終通過繪製出的影象進行相關的資料分析。
平行座標圖的繪製
iris鳶尾花資料集
此資料集中包括150個個體資料,其中每條個體資料中包括花萼長度,花萼寬度,花瓣長度,花瓣寬度以及花的所屬類別,此資料集在機器學習中的主要意義在於當我們已知花瓣的上述四種引數時可以判斷它屬於哪一種鳶尾花。
在sklearn的datasets庫中同樣存在iris的標準資料集,引用方法如下:
from sklearn.datasets import load_iris
iris = load_iris()
此時資料已經被存放在iris變數中
但在我使用pandas庫繪製平行座標圖的過程中,發現在sklearn提供的資料集當中,其class資料和data資料被分開存放,使得我們在區分不同類別的鳶尾花時的過程變得較為繁瑣(但在該資料集中的確有標註區分不同類別的鳶尾花,但因為不在同一個資料表中,不方便使用pandas),於是改為使用本地的iris.csv資料集。
本地資料集形式如下:
sepal_length sepal_width petal_length petal_width target 0 5.1 3.5 1.4 0.2 setosa 1 4.9 3.0 1.4 0.2 setosa 2 4.7 3.2 1.3 0.2 setosa 3 4.6 3.1 1.5 0.2 setosa 4 5.0 3.6 1.4 0.2 setosa .. ... ... ... ... ... 145 6.7 3.0 5.2 2.3 virginica 146 6.3 2.5 5.0 1.9 virginica 147 6.5 3.0 5.2 2.0 virginica 148 6.2 3.4 5.4 2.3 virginica 149 5.9 3.0 5.1 1.8 virginica [150 rows x 5 columns]
iris平行座標圖影象繪製
在python的很多第三方庫中都有繪製平行座標圖的相關方法,在此處我使用的是pandas庫中的plotting中自帶的平行座標圖繪製方法parallel_coordinates,此方法的使用方式為parallel_coordinates(資料集, '分類依據')
具體實現方法如下:
import pandas as pd
from pandas.plotting import parallel_coordinates
#引用資料
iris = pd.read_csv("在此處新增檔案路徑")
#檢查資料
print(iris)
parallel_coordinates(iris, 'target')
繪製出平行座標圖如下:
根據繪製出的平行座標圖我們可以對資料集中的資料進行分析篩選,並使用相關的機器學習的演算法完成鳶尾花辨識的目的。
結語
本文使用資料集方式為使用本地檔案資料,iris資料集可以點選此處連結下載,但也可以通過修改部分程式碼使用sklearn中提供的資料集實現繪製平行座標圖。
本文僅介紹了iris鳶尾花資料的平行座標圖繪製,其他機器學習相關內容請見後續相關文章。
如果發現文章內容存在錯誤或對文章內容存在疑惑,歡迎聯絡作者進行指正探討,共同進步。
轉載請註明出處