jacky0405 / 100Days-ML-Marathon

第五屆 機器學習百日馬拉松

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

100Days-ML-Marathon

cover
對初學者來說,要進入 AI 與資料科學的領域並不容易,除了程式基礎,還需要有數學與統計的相關知識。透過親身實作,自主學習才能真正掌握 AI 與資料科學的學習精髓。

機器學習概論

D001. 資料介紹與評估資料 - 挑戰是什麼?動手分析前請三思
D002. 機器學習概論 - 機器學習、深度學習與人工智慧差別是甚麼? 機器學習又有甚麼主題應用?
D003. 機器學習-流程與步驟 - 熟悉整個 ML 的流程
D004. EDA/讀取資料與分析流程 - 如何讀取資料以及萃取出想要了解的信息

資料清理數據前處理

D005. 如何新建一個 dataframe? 如何讀取其他資料? (非 csv 的資料) - 從頭建立一個 dataframe 及如何讀取不同形式的資料
D006. EDA:欄位的資料類型介紹及處理 - 了解資料在 pandas 中可以表示的類型
D007. 特徵類型 - 特徵工程依照特徵類型,做法不同,大致可分為數值/類別/時間型三類特徵
D008. EDA資料分佈 - 用統計方式描述資料
D009. EDA_離群值(Outliner)及其處理 - 偵測與處理例外數值點
D010. 數值型特徵_去除離群值 - 數值型特徵若出現少量的離群值,則需要去除以保持其餘數據不被影響
D011. 常用的數值取代:中位數與分位數連續數值標準化 - 偵測與處理例外數值
D012. 數值型特徵-補缺失值與標準化 - 數值型特徵首先必須填補缺值與標準化,在此複習並展示對預測結果的差異
D013. 常用的 DataFrame 操作 - 常見的資料操作方法及資料表串接
D014. EDA_相關係數簡介 - 了解相關係數及利用相關係數直觀地理解對欄位與預測目標之間的關係
D015. EDA from Correlation - 深入了解資料,從 correlation 的結果下手
D016. EDA_不同數值範圍間的特徵如何檢視/繪圖與樣式Kernel Density Estimation (KDE) - 如何調整視覺化方式檢視數值範圍及美圖修飾
D017. EDA_把連續型變數離散化 - 簡化連續性變數
D018. 程式實作_把連續型變數離散化 - 深入了解資料,從簡化後的離散變數下手
D019. Subplots - 資料視覺化,多圖檢視
D020. Heatmap & Grid-plot - 熱圖:以直觀的方式檢視變數間的相關性,格圖:繪製變數間的散佈圖及分布
D021. 模型初體驗 Logistic Regression - 在我們開始使用任何複雜的模型之前,有一個最簡單的模型當作 baseline 是一個好習慣

資料科學特徵工程技術

D022. 特徵工程簡介 - 介紹機器學習完整步驟中,特徵工程的位置以及流程架構
D023. 數值型特徵 - 去除偏態 - 數值型特徵若分布明顯偏一邊,則需去除偏態以消除預測的偏差
D024. 類別型特徵 - 基礎處理 - 介紹類別型特徵最基礎的作法 : 標籤編碼與獨熱編碼
D025. 類別型特徵 - 均值編碼 - 類別型特徵最重要的編碼 : 均值編碼,將標籤以目標均值取代
D026. 類別型特徵 - 其他進階處理 - 類別型特徵的其他常見編碼 : 計數編碼對應出現頻率相關的特徵,雜湊編碼對應眾多類別而無法排序的特徵
D027. 時間型特徵 - 時間型特徵可抽取出多個子特徵,或周期化,或取出連續時段內的次數
D028. 特徵組合 - 數值與數值組合 - 特徵組合的基礎 : 以四則運算的各種方式,組合成更具預測力的特徵
D029. 特徵組合 - 類別與數值組合 - 類別型對數值型特徵可以做群聚編碼,與目標均值編碼類似,但用途不同
D030. 特徵選擇 - 介紹常見的幾種特徵篩選方式
D031. 特徵評估 - 介紹並比較兩種重要的特徵評估方式,協助檢測特徵的重要性
D032. 分類型特徵優化 - 葉編碼 - 葉編碼 : 適用於分類問題的樹狀預估模型改良

機器學習基礎模型建立

D033. 機器如何學習? - 了解機器學習的定義,過擬合 (Overfit) 是甚麼,該如何解決
D034. 訓練/測試集切分的概念 - 為何要做訓練/測試集切分?有什麼切分的方法?
D035. regression vs. classification - 回歸問題與分類問題的區別?如何定義專案的目標
D036. 評估指標選定/evaluation metrics - 專案該如何選擇評估指標?常用指標有哪些?
D037. regression model 介紹 - 線性迴歸/羅吉斯回歸 - 線性迴歸/羅吉斯回歸模型的理論基礎與使用時的注意事項
D038. regression model 程式碼撰寫 - 如何使用 Scikit-learn 撰寫線性迴歸/羅吉斯回歸模型的程式碼
D039. regression model 介紹 - LASSO 回歸/ Ridge 回歸 - LASSO 回歸/ Ridge 回歸的理論基礎與與使用時的注意事項
D040. regression model 程式碼撰寫 - 使用 Scikit-learn 撰寫 LASSO 回歸/ Ridge 回歸模型的程式碼
D041. tree based model - 決策樹 (Decision Tree) 模型介紹 - 決策樹 (Decision Tree) 模型的理論基礎與使用時的注意事項
D042. tree based model - 決策樹程式碼撰寫 - 使用 Scikit-learn 撰寫決策樹 (Decision Tree) 模型的程式碼
D043. tree based model - 隨機森林 (Random Forest) 介紹 - 隨機森林 (Random Forest)模型的理論基礎與使用時的注意事項
D044. tree based model - 隨機森林程式碼撰寫 - 使用 Scikit-learn 撰寫隨機森林 (Random Forest) 模型的程式碼
D045. tree based model - 梯度提升機 (Gradient Boosting Machine) 介紹 - 梯度提升機 (Gradient Boosting Machine) 模型的理論基礎與使用時的注意事項
D046. tree based model - 梯度提升機程式碼撰寫 - 使用 Scikit-learn 撰寫梯度提升機 (Gradient Boosting Machine) 模型的程式碼

機器學習調整參數

D047. 超參數調整與優化 - 什麼是超參數 (Hyper-paramter) ? 如何正確的調整超參數?常用的調參方法為何?
D048. Kaggle 競賽平台介紹 - 介紹全球最大的資料科學競賽網站。如何參加競賽?
D049. 集成方法 : 混合泛化(Blending) - 什麼是集成? 集成方法有哪些? Blending 的寫作方法與效果為何?
D050. 集成方法 : 堆疊泛化(Stacking)
D051-053. Kaggle 第一次期中考

非監督式機器學習

D054. clustering 1 非監督式機器學習簡介 - 非監督式學習簡介、應用場景
D055. clustering 2 聚類算法 - K-means
D056. K-mean 觀察 : 使用輪廓分析 - 非監督模型要以特殊評估方法(而非評估函數)來衡量, 今日介紹大家了解並使用其中一種方法 : 輪廓分析
D057. clustering 3 階層分群算法 - hierarchical clustering
D058. 階層分群法 觀察 : 使用 2D 樣版資料集 - 非監督評估方法 : 2D樣版資料集是什麼? 如何生成與使用?
D059. dimension reduction 1 降維方法-主成份分析 - PCA
D060. PCA 觀察 : 使用手寫辨識資料集 - 以較複雜的範例 : sklearn版手寫辨識資料集, 展示PCA的降維與資料解釋能力
D061. dimension reduction 2 降維方法-T-SNE - TSNE
D062. t-sne 觀察 : 分群與流形還原 - 什麼是流形還原? 除了 t-sne 之外還有那些常見的流形還原方法?

深度學習理論與實作

D063. 神經網路介紹
D064. 深度學習體驗 : 模型調整與學習曲線 - 介紹體驗平台 TensorFlow PlayGround,並初步了解模型的調整
D065. 深度學習體驗 : 啟動函數與正規化 - 在 TF PlayGround 上,體驗進階版的深度學習參數調整

初探深度學習使用Keras

D066. Keras 安裝與介紹
D067. Keras Dataset
D068. Keras Sequential API
D069. Keras Module API
D070. 深度神經網路的基礎知識 - 深度學習網路發展、架構與優缺點
D071. 損失函數 - 損失函數的介紹與應用
D072. 啟動函數 - 啟動函數的介紹與應用
D073. 梯度下降Gradient Descent - 梯度下降簡介
D074. Gradient Descent 數學原理 - 介紹梯度下降的基礎數學原理
D075. BackPropagation - 反向式傳播簡介
D076. 優化器optimizers - 優化器簡介
D077. 訓練神經網路的細節與技巧 - Validation and overfit - 檢視並了解 overfit 現象
D078. 訓練神經網路前的注意事項 - 資料是否經過妥善的處理?運算資源為何?超參數的設置是否正確?
D079. 訓練神經網路的細節與技巧 - Learning rate effect - 比較不同 Learning rate 對訓練過程及結果的差異
D080. [練習 Day] 優化器與學習率的組合與比較

About

第五屆 機器學習百日馬拉松

License:MIT License


Languages

Language:Jupyter Notebook 100.0%