《機器學習》從零開始學(1) 數據分析之「岩石與水雷」

文|混沌

參考教材:

1.《Python機器學習預測分析核心演算法》-[美]M·鮑爾-沙嬴&李鵬(譯)-人民郵電出版社-2017

2.Machine Learning in Python:Essential Techniques for Predictive Analysis(Python機器學習:預測分析核心演算法), Michael Bowles, Wiley, 2015.pdf(鏈接: pan.baidu.com/s/1skVIKo 密碼: 1wh1)

注意:書中的代碼很繁雜,我用更精鍊的代碼重寫之。

所謂「從零開始」面向的對象其實僅指我本人。也就是我的學習筆記。

本節及隨後的4節的目的僅僅是:

如何「看」數據? 如何對目標數據形成粗略的,但有意義的感性認識?

----

本節以 「岩石&水雷」數據集 為例。此數據集的測量值代表聲納接收器在不同地點接受到的返回信號,其中一半是反映了岩石的形狀,一半是金屬圓桶的形狀(水雷)。 而每個返回信號由60個不同頻率返回信號組成。

這是一個分類問題

----

01.獲取「岩石&水雷」數據集?

由此可見,此數據集有在208個地方採集的數據, 每個地方用60個頻率進行測量獲得60個測量值(float),第61列數據是標籤,標記是岩石還是水雷。

----

02.「岩石&水雷」數據集統計特徵

pandas工具包提供了基本統計特徵的概覽:

----

03.用分位數圖展示異常點

分位數圖展示數據的百分位邊界與高斯分布的同樣百分位的邊界對比。以第4列屬性為例。

----

04.利用平行坐標圖進行可視化

對於具有多個屬性問題的一種可視化方法叫平行坐標圖,即繪製每行數據由屬性值構成的行向量。

雖然對應的圖看不出明顯的差別,但 1)沿圖的底部,藍色的線要突出一點;2)在30-40之間藍色的線多少要比紅色的線要高點。而這些觀察有助於解釋和確認某些預測的結果。

----

05.屬性和標籤的關係可視化

1)首先繪製屬性之間的散點圖(以2-3, 2-21屬性對為例)

下面繪製的兩張散點圖直觀顯示,頻率離的近的信號相關性要更高,後面的相關係數計算更加說明了這一點。

注意:原書的代碼一定是錯誤的(即下面代碼中被屏蔽的代碼是錯誤的),自然原書畫出的圖也是錯誤的。

2) 繪製區分度最大的屬性(猜測)和標籤的散點圖

根據前面的平行坐標圖,在30-40之間藍色的線多少要比紅色的線要高點,並且大概在35索引值附近有所分離。

於是我們猜測第35個屬性區分度最大,並繪製這個屬性和標籤的散點圖。

下面第一張圖的散點擠在一起看不清楚,於是故意將標籤值上下隨機做點擾動,並且進行半透明處理,於是有了第二張圖。

觀察第二張圖, 左上方的點更密集一點(水雷)。經過簡單的觀察,我們可以建立一個粗略的分類器(至少效果比隨機猜測要好點): 判斷第36個屬性是否大於0.5,如果大於則判斷為岩石,否則判斷為水雷。

----

06.用熱度圖展示屬性和標籤的相關性

顏色越紅表示相關度越高。 特別地,沿對角線附近的稍淺顏色部分,說明採樣頻率越接近,相關度越高。

----

本節內容可以點擊查看原文,支持一鍵克隆:

《機器學習》從零開始學(1) 數據分析之「岩石與水雷」

另外3節內容請點擊查看:

《機器學習》從零開始學(2) 數據分析之「鮑魚的年齡」

《機器學習》從零開始學(3) 數據分析之「紅酒口感」

《機器學習》從零開始學(4) 數據分析之「玻璃分類」


推薦閱讀:

數據化運營管理_互聯網行業(六)(訂單1)
用R語言製作商務圖表,讓你的圖表美出新高度~
乾貨:QQ聊天記錄數據分析

TAG:机器学习 | 数据分析 | 量化交易 |