Python機器學習-使用Scikit-Learn課程心得 ─ 恆逸教育訓練中心 ─ 學員證言網站

 

大數據/商業數據分析

眾多顧客已親身體驗恆逸的好,並成功提升專業競爭力,你也可以!

來看看他們是如何學習、如何努力考取認證的經驗分享多汲取他人的寶貴經驗,將讓您的未來進修之路走得更有效率!快來看看恆逸應援團怎麼說!

陳俞潔

Python機器學習-使用Scikit-Learn課程心得

雖然踏入數據分析領域已經一段時間了,對於Python機器學習-使用Scikit-Learn的訓練課程所教的演算法,過去也曾經使用過,但課程上再次聽講,讓我觀念又融會貫通了一次,講師很詳細的講解如何在不同狀況挑選機器學習的演算法,同時用程式案例來讓我們更加熟悉。

 

這次上課大綱主要分為機器學習場景介紹、使用時機介紹、實作演練,以及如何讓預測結果能提高準確度。 機器學習,又分成了三種主要的演算法,分別為監督式學習、非監督式學習、半監督式學習。

監督式學習是從訓練資料中,讓機器學習到某一種模式,讓機器學習之後能夠依照此種模式預測或分析出結果的方法;非監督式學習是事先沒有告知機器任何一種模式與標籤,一切都讓機器自行判斷,但使用者一種演算法較難,如果沒有設定好參數,或是數據不夠龐大,那學習結果就一定會是錯誤的,預測或分析出來的結果也不會正確;半監督式學習就是有一半的資料已經有了標籤,另一半的資料想要讓機器自己做學習的方法,但目前在公司還沒有遇過半監督式學習的案例。

當我們有足夠的label,能夠告知機器正確與錯誤的指標時,就能使用以下的監督式學習演算法來做運算:迴歸分析(Regression)、貝氏分類(Bayesian Classification)、邏輯迴歸分類(Logistic Regression Classification)、決策樹(Decision Tree)、支援向量機(Support Vector Machine)、最近鄰居分類(K-nearest Neighbors)。

 

然而,往往我們在現實生活中,遇到沒有足夠label判斷是非的數據還是佔了多數,那這時也不需要慌張,只需要只用非監督式學習方法即可,非監督式學習演算法如下: 分群(Clustering)、異常偵測(Anomaly Detection)、主成分分析(Principal-Component Analysis)、整體學習(Ensemble Learning)、神經網路(Neural Network)、深度學習(Deep Learning)、特徵工程(Feature Engineering)。 判斷要使用哪一種演算法不難,只需要思考想要分析出的結果為何,但難的點在於現實中所面臨的案件都不會是剛好用某一種演算法就能準確評估出來的,因此要適當的調整預測模型,或是加入其他有相似特點但是可以截長補短的模型,就像是XGBoost、Bagging、Random Forest等多種模型組合成的整體學習模型,印象中過去再操作案件時,也有遇到相似的問題,而我也是使用了兩種不同性質但可互補的模型來做判斷。

 

而有時候面對高維度特徵的資料,就可以先降低維度,並且先把資料們標準化、正規化,來幫助後續做分析,以提高分析的準確度,在課堂演練中,也確實發現,有先做處理的資料,分析結果所得到的分數真的高出許多。 最後的總結,要做機器學習時,也只需要依照以下幾個步驟,那麼困難的事就會簡單許多。

一、一開始要思考如何抓資料(資料存放在哪,要怎麼讀取出來)。

二、當資料有了之後,現在的資料有沒有label,能夠做甚麼分析,並且思考要分析甚麼結果。

三、選擇監督式學習、非監督式學習、半監督式學習模型。

四、評估模型是否適當,假如不適當,就要思考要加入其他模型截長補短,又或是要換其他模型做操作。

五、當模型都設立好後,開始調整參數。

六、開始進行分析和預測。

七、預測、分析好的結果要存放在哪裡。

 

簡略的說明機器學習應用,也其實只有這些步驟,相信只要練習的案例越來越多,那麼就會越來越熟悉這些演算法的使用。
 

 

 

 

看看其他人怎麼說

看更多