在之前的文章中,無監督學習是作為一組統計工具引入的,其中有一組特徵,但沒有目標。因此,本教程將與其他教程不同,因為我們無法進行預測。
相反,我們將使用k-means聚類來對圖像執行顏色量化。
然後,我們將使用PCA來減少維度和數據集的可視化。
完整的筆記本電腦,請點擊這裡。
旋轉你的Jupyter筆記本,讓我們走吧!
建立
在開始任何實現之前,我們將導入一些稍後將變得方便的庫:
![](https://easyai.tech/wp-content/uploads/2022/08/5b0df-2019-04-23-121413.jpg)
與以前的教程不同,我們不會導入數據集。相反,我們將使用scikit-learn庫提供的數據。
顏色量化 – k均值聚類
很快,顏色量化是減少圖像中使用的不同顏色數量的技術。這對於壓縮圖像同時保持圖像的完整性特別有用。
首先,我們導入以下庫:
![](https://easyai.tech/wp-content/uploads/2022/08/523b8-2019-04-23-121430.jpg)
請注意,我們導入了一個名為load_sample_image的示例數據集。這隻包含兩個圖像。我們將使用其中一個來執行顏色量化。
所以,讓我們展示一下我們將用於此練習的圖像:
![](https://easyai.tech/wp-content/uploads/2022/08/4dcc5-2019-04-23-121441.jpg)
你應該看到:
![](https://easyai.tech/wp-content/uploads/2022/08/78f87-2019-04-23-121454.jpg)
現在,對於顏色量化,必須遵循不同的步驟。
首先,我們需要將圖像更改為2D矩陣以進行操作:
![](https://easyai.tech/wp-content/uploads/2022/08/cc21c-2019-04-23-121504.jpg)
然後,我們訓練我們的模型聚合顏色,以便在圖像中有64種不同的顏色:
![](https://easyai.tech/wp-content/uploads/2022/08/a1537-2019-04-23-121517.jpg)
然後,我們構建一個輔助函數來幫助我們使用指定顏色的數量重建圖像:
![](https://easyai.tech/wp-content/uploads/2022/08/2e8b8-2019-04-23-121525.jpg)
最後,我們現在可以使用64種顏色可視化圖像的外觀,以及它與原始圖像的比較方式:
![](https://easyai.tech/wp-content/uploads/2022/08/b8681-2019-04-23-121533.jpg)
![](https://easyai.tech/wp-content/uploads/2022/08/8cc70-2019-04-23-121541.jpg)
當然,我們可以看到一些差異,但總體而言,圖像的完整性得到了保護!探索不同數量的集群!例如,如果指定10種顏色,可以使用以下內容:
![](https://easyai.tech/wp-content/uploads/2022/08/644b1-2019-04-23-121553.jpg)
維度降低 – PCA
在本練習中,我們將使用PCA來減少數據集的維度,以便我們可以輕鬆地將其可視化。
因此,讓我們從scikit-learn導入虹膜數據集:
![](https://easyai.tech/wp-content/uploads/2022/08/53025-2019-04-23-121605.jpg)
現在,我們將計算前兩個主要組件,並查看每個組件可以解釋的方差比例:
![](https://easyai.tech/wp-content/uploads/2022/08/28c40-2019-04-23-121612.jpg)
從上面的代碼塊中,您應該看到第一個主成分包含92%的方差,而第二個主成分包含5%的方差。因此,這意味着只有兩個特徵足以解釋數據集中97%的方差!
現在,我們可以使用它來輕鬆地在兩個維度上繪製數據:
![](https://easyai.tech/wp-content/uploads/2022/08/7e96e-2019-04-23-121625.jpg)
你得到:
![](https://easyai.tech/wp-content/uploads/2022/08/5d917-2019-04-23-121633.jpg)
而已!您現在知道如何實現k-means和PCA!同樣,請記住,無監督學習很難,因為沒有誤差指標來評估算法的執行情況。而且,這些技術通常在進行監督學習之前用於探索性數據分析。
本文轉自towardsdatascience,原文地址
Comments