量化投資學習筆記27——《Python機器學習應用》課程筆記01

北京理工大學在線課程:
http://www.icourse163.org/course/BIT-1001872001
機器學習分類
監督學習
無監督學習
半監督學習
強化學習
深度學習
Scikit-learn算法分類

sklearn自帶的標準數據集

sklearn的六大任務:分類、迴歸、聚類、降維、模型選擇、數據預處理。
一、無監督學習:數據沒有標籤。最常用的是聚類和降維。
聚類:根據數據的相似性將數據分爲多類的過程。使用樣本的“距離”來估算樣本的相似性,不同的距離計算方法有不同的分類結果。常用的距離計算方法有歐氏距離,曼哈頓距離,馬氏距離,餘弦相似度。
sklearn的聚類功能包含在sklearn.cluster中。同樣的數據集應用不同的算法可能得到不同的結果,運行時間也不同。
其所接受的數據輸入格式:
標準輸入格式:[樣本個數,特徵個數]定義的矩陣形式。
相似矩陣形式輸入:以[樣本數目]定義的矩陣,矩陣中每個元素爲樣本相似度。
常用聚類算法

降維:在保證數據所具有的代表特性或分佈的情況下,將高維數據轉化爲低維數據。
用於數據的可視化,或精簡數據。
sklearn的降維算法包含在decomposition模塊中,含有7種降維算法。主要有

1.聚類
①k-means算法及應用
以k爲參數,把n個對象分爲k個簇,使簇內具有較高的相似度,而簇間的相似度較低。
過程:
隨機選擇k個點作爲初始的聚類中心。
對於剩下的點,根據其與聚類中心的距離,將其歸入最近的簇。
對每個簇,計算所有點的均值作爲新的聚類中心。
重複前兩步直到聚類中心不再發生改變。
實例:31省市居民收入分類。詳見文章的github代碼庫。
拓展和改進:KMeans默認使用歐氏距離進行計算。如果要用其它距離計算方法,要修改源碼。
②DBSCAN算法
是一種基於密度的聚類算法。聚類時不需要預先指定簇的個數。
將數據點分爲三類:
核心點:在半徑Eps內含有超過MinPts數目的點。
邊界點:在半徑Eps內點的數量小於MinPts,但是落在覈心點的鄰域內。
噪音點:既不是核心點也不是邊界點。
過程:
將所有點標記爲核心點,邊界點或噪音點。
刪除噪聲點
爲距離在Eps之內的所有核心點之間賦予一條邊。
每組連通的核心點形成一個簇。
將每個邊界點指派到一個與之關聯的核心點的簇中(哪一個核心點的半徑範圍之內)。
實例:學生上網時間分類。詳見文章的github代碼庫。
技巧:長尾數據不適宜聚類,可以用對數轉換。
本文代碼:
https://github.com/zwdnet/MyQuant/tree/master/25

我發文章的四個地方,歡迎大家在朋友圈等地方分享,歡迎點“在看”。
我的個人博客地址:https://zwdnet.github.io
我的知乎文章地址: https://www.zhihu.com/people/zhao-you-min/posts
我的博客園博客地址: https://www.cnblogs.com/zwdnet/
我的微信個人訂閱號:趙瑜敏的口腔醫學學習園地

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章