├── kaggle48.JPG ├── Day_016_HW.JPG ├── 計畫說明.txt ├── README.md ├── Day_054_HW.ipynb ├── Day_035_HW.ipynb ├── Day_039_HW.ipynb ├── Day_037_HW.ipynb ├── FeatureEngineering.md ├── Day_032_HW.ipynb ├── EDA02.txt ├── EDA01.txt ├── Day_040_HW.ipynb ├── Day_066_HW.ipynb ├── Day_63_HW.ipynb ├── Day_067_HW.ipynb ├── Day_68-Keras_Sequential_model_HW.ipynb ├── EDA.md ├── Day_69-keras_model_api_HW.ipynb ├── Day_043_HW.ipynb ├── Day_057_HW.ipynb ├── Day_034_HW.ipynb ├── EDA編寫區.txt ├── Day_065_HW.ipynb ├── Day_044_HW.ipynb ├── Day_055_HW.ipynb ├── Day_016_HW.ipynb ├── Day_72-Activation_function_HW.ipynb ├── Day_018_HW.ipynb ├── .ipynb_checkpoints ├── Day_018_HW-checkpoint.ipynb └── Day_017_HW-checkpoint.ipynb ├── Day_042_HW.ipynb ├── Day_022_HW.ipynb └── Day_017_HW.ipynb /kaggle48.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PatrickRuan/ML100-Days/HEAD/kaggle48.JPG -------------------------------------------------------------------------------- /Day_016_HW.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PatrickRuan/ML100-Days/HEAD/Day_016_HW.JPG -------------------------------------------------------------------------------- /計畫說明.txt: -------------------------------------------------------------------------------- 1 | 1.) local directory is at : d:\git\ML100-Days 2 | 2.) Documents are stored at D:\User\GitHub\MLCM100 (if fact, we saved these documents which were downloaded from Cupoy 100) 3 | 3.) Programs are stored at D:\MyPython\Cupoy100D, any program which is needed to commit, we will copy it to c:\ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ML100-Days 2 | 機器學習百日馬拉松 3 | 4 | Date: 12/15 (2018) ~ 4/15 (2019) 5 | 6 | 1. 資料清理數據前處理 (16 days) 7 | 2. 資料科學特徵工程技術 (14 days) 8 | 3. 機器學習基礎模型建立 (14 days) 9 | 4. 機器學習調整參數 (1 day) 10 | 5. 非監督式機器學習 (9 days) 11 | 6. 深度學習理論與實作 (3 days) 12 | 7. 初探深度學習使用 Keras (27 days) 13 | 8. 深度學習應用卷積神經網路 (11 days) 14 | -------------------------------------------------------------------------------- /Day_054_HW.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# 作業\n", 8 | "* 試著想想看, 非監督學習是否有可能使用評價函數 (Metric) 來鑑別好壞呢? \n", 9 | "(Hint : 可以分為 \"有目標值\" 與 \"無目標值\" 兩個方向思考)" 10 | ] 11 | }, 12 | { 13 | "cell_type": "markdown", 14 | "metadata": { 15 | "collapsed": true 16 | }, 17 | "source": [ 18 | "# 我的回答:\n", 19 | "基本上非監督學習的輸出結果,通常是在協助我們整理資料與了解資料,\n", 20 | "結果的優劣比較主觀,不容易用評價函數來鑑別。\n", 21 | "\n", 22 | "以分群來說我們如果有目標值的預期,似乎有一定的衡量標準,但是結果的呈現是否如我們的預期分群似乎是一個很大的問題,但是真的能給很多線索參考。" 23 | ] 24 | } 25 | ], 26 | "metadata": { 27 | "kernelspec": { 28 | "display_name": "Python 3", 29 | "language": "python", 30 | "name": "python3" 31 | }, 32 | "language_info": { 33 | "codemirror_mode": { 34 | "name": "ipython", 35 | "version": 3 36 | }, 37 | "file_extension": ".py", 38 | "mimetype": "text/x-python", 39 | "name": "python", 40 | "nbconvert_exporter": "python", 41 | "pygments_lexer": "ipython3", 42 | "version": "3.6.7" 43 | } 44 | }, 45 | "nbformat": 4, 46 | "nbformat_minor": 1 47 | } 48 | -------------------------------------------------------------------------------- /Day_035_HW.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## 練習時間\n", 8 | "相信大家對回歸問題及分類問題都有初步的了解。今天的作業希望大家搜尋有關 multi-label 的案例問題。下圖是電影 \"奇異博士\" 的分類。可以看到同時有 \"Action\", \"Adventure\", \"Fantasy\" 的類別存在,代表這是個多標籤的問題。 " 9 | ] 10 | }, 11 | { 12 | "cell_type": "markdown", 13 | "metadata": {}, 14 | "source": [ 15 | "![image](https://cdn-images-1.medium.com/max/1000/1*r0gYXMSQf5VhdMyl2bRDyg.png)" 16 | ] 17 | }, 18 | { 19 | "cell_type": "markdown", 20 | "metadata": {}, 21 | "source": [ 22 | "## 請搜尋目標為多標籤問題 (Multi-label) 的機器學習案例,了解其資料來源、目標以及評估指標為何\n", 23 | "## Hint: 服飾" 24 | ] 25 | }, 26 | { 27 | "cell_type": "markdown", 28 | "metadata": {}, 29 | "source": [ 30 | "![image](https://work.alibaba-inc.com/aliwork_tfs/g01_alibaba-inc_com/tfscom/TB1QNKYXQZmBKNjSZPiXXXFNVXa.tfsprivate.png)" 31 | ] 32 | }, 33 | { 34 | "cell_type": "code", 35 | "execution_count": 1, 36 | "metadata": {}, 37 | "outputs": [], 38 | "source": [ 39 | "# https://tianchi.aliyun.com/competition/entrance/231671/information" 40 | ] 41 | } 42 | ], 43 | "metadata": { 44 | "kernelspec": { 45 | "display_name": "Python 3", 46 | "language": "python", 47 | "name": "python3" 48 | }, 49 | "language_info": { 50 | "codemirror_mode": { 51 | "name": "ipython", 52 | "version": 3 53 | }, 54 | "file_extension": ".py", 55 | "mimetype": "text/x-python", 56 | "name": "python", 57 | "nbconvert_exporter": "python", 58 | "pygments_lexer": "ipython3", 59 | "version": "3.6.7" 60 | } 61 | }, 62 | "nbformat": 4, 63 | "nbformat_minor": 2 64 | } 65 | -------------------------------------------------------------------------------- /Day_039_HW.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## 作業" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "請閱讀相關文獻,並回答下列問題\n", 15 | "\n", 16 | "[脊回歸 (Ridge Regression)](https://blog.csdn.net/daunxx/article/details/51578787)\n", 17 | "[Linear, Ridge, Lasso Regression 本質區別](https://www.zhihu.com/question/38121173)\n", 18 | "\n", 19 | "1. LASSO 回歸可以被用來作為 Feature selection 的工具,請了解 LASSO 模型為什麼可用來作 Feature selection\n", 20 | "2. 當自變數 (X) 存在高度共線性時,Ridge Regression 可以處理這樣的問題嗎?\n" 21 | ] 22 | }, 23 | { 24 | "cell_type": "markdown", 25 | "metadata": {}, 26 | "source": [ 27 | "> LASSO is L1, \n", 28 | "- $L1 = \\sum |weight| $\n", 29 | "- $Loss = argmin(y-w*x)^2 + \\alpha*L1$\n", 30 | "- When we are increasing alpha, then more numbers of coefficient of polynomial becoming zero, we can select non-zero coefficient items, and remove those zero items. \n", 31 | "\n", 32 | "> Ridge is L2,\n", 33 | "- $L2 = \\sum (weight)^2 $\n", 34 | "- $Loss = argmin(y-w*x)^2 + \\lambda*L2$\n", 35 | "- in some domains, the number of independent variables is many, as well as we are not sure which of the independent variables influences dependent variable. In this kind of scenario, ridge regression plays a better role than linear regression." 36 | ] 37 | } 38 | ], 39 | "metadata": { 40 | "kernelspec": { 41 | "display_name": "Python 3", 42 | "language": "python", 43 | "name": "python3" 44 | }, 45 | "language_info": { 46 | "codemirror_mode": { 47 | "name": "ipython", 48 | "version": 3 49 | }, 50 | "file_extension": ".py", 51 | "mimetype": "text/x-python", 52 | "name": "python", 53 | "nbconvert_exporter": "python", 54 | "pygments_lexer": "ipython3", 55 | "version": "3.6.7" 56 | } 57 | }, 58 | "nbformat": 4, 59 | "nbformat_minor": 2 60 | } 61 | -------------------------------------------------------------------------------- /Day_037_HW.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## 作業" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "請閱讀以下相關文獻,並回答以下問題\n", 15 | "\n", 16 | "[Linear Regression 詳細介紹](https://medium.com/@yehjames/%E8%B3%87%E6%96%99%E5%88%86%E6%9E%90-%E6%A9%9F%E5%99%A8%E5%AD%B8%E7%BF%92-%E7%AC%AC3-3%E8%AC%9B-%E7%B7%9A%E6%80%A7%E5%88%86%E9%A1%9E-%E9%82%8F%E8%BC%AF%E6%96%AF%E5%9B%9E%E6%AD%B8-logistic-regression-%E4%BB%8B%E7%B4%B9-a1a5f47017e5)\n", 17 | "\n", 18 | "[Logistics Regression 詳細介紹](https://medium.com/@yehjames/%E8%B3%87%E6%96%99%E5%88%86%E6%9E%90-%E6%A9%9F%E5%99%A8%E5%AD%B8%E7%BF%92-%E7%AC%AC3-3%E8%AC%9B-%E7%B7%9A%E6%80%A7%E5%88%86%E9%A1%9E-%E9%82%8F%E8%BC%AF%E6%96%AF%E5%9B%9E%E6%AD%B8-logistic-regression-%E4%BB%8B%E7%B4%B9-a1a5f47017e5)\n", 19 | "\n", 20 | "[你可能不知道的 Logisitc Regression](https://taweihuang.hpd.io/2017/12/22/logreg101/)\n" 21 | ] 22 | }, 23 | { 24 | "cell_type": "markdown", 25 | "metadata": {}, 26 | "source": [ 27 | "1. 線性回歸模型能夠準確預測非線性關係的資料集嗎?\n", 28 | "2. 回歸模型是否對資料分布有基本假設?\n" 29 | ] 30 | }, 31 | { 32 | "cell_type": "markdown", 33 | "metadata": {}, 34 | "source": [ 35 | ">\n", 36 | " 1.) 符合基本線性特徵,同時滿足特定的「加性」,「齊性」( https://zh.wikipedia.org/wiki/%E7%B7%9A%E6%80%A7%E9%97%9C%E4%BF%82 ),與資料特徵的線性獨立。\n", 37 | " 2.) 在迴歸模型(2.1)中誤差項假定誤差項 εi 假定為獨立之常態,隨機變數平均數為 0,變異數為常數(如果樣本數夠大,則殘差 ei 間的不獨立性將相對地不重要而可以被忽略。)\n", 38 | " 3.) 常數誤差變異數 \n", 39 | " * 2.) and 3.) refer to :http://web.ncyu.edu.tw/~lanjc/lesson/C7/class/ch03-AN.pdf\n", 40 | " \n", 41 | "\n" 42 | ] 43 | } 44 | ], 45 | "metadata": { 46 | "kernelspec": { 47 | "display_name": "Python 3", 48 | "language": "python", 49 | "name": "python3" 50 | }, 51 | "language_info": { 52 | "codemirror_mode": { 53 | "name": "ipython", 54 | "version": 3 55 | }, 56 | "file_extension": ".py", 57 | "mimetype": "text/x-python", 58 | "name": "python", 59 | "nbconvert_exporter": "python", 60 | "pygments_lexer": "ipython3", 61 | "version": "3.6.7" 62 | } 63 | }, 64 | "nbformat": 4, 65 | "nbformat_minor": 2 66 | } 67 | -------------------------------------------------------------------------------- /FeatureEngineering.md: -------------------------------------------------------------------------------- 1 | # Part 1 Feature Engineering in ML100-Days 2 | 機器學習百日馬拉松: 3 | 第二部分 特徵工程 共 14天 (Day 17 ~ Day 30 4 | 5 | Day 17: 什麼是特徵,什麼是特徵工程? 6 | 7 | 我們藉由一些資料去推到目標的結果呈現,比如我們有房子的坪數、樓層、地點、區域等資料,這些資料類別可以影響我們關注的房價,那麼這些資料類別坪數、樓層、地點、區域等就是特徵,我們關注的房價就是目標。 8 | 我們試圖整理挑選轉換組合特徵來影響我們的預測精確度,這過程就是特徵工程。未來的 14天就是要做這些處理。 9 | 10 | 今天的作業練習有三個重點: 11 | 1.) 到https://www.kaggle.com/c/titanic 抓取房價預測的資料,當作未來14天的練習用。同時要留意資料要放在程式的上一層目錄下的 part02\ 下,如此一來,當我們用 pd.read_csv('..\part02\balabla.csv') 才能讀得到。 12 | 2.) 判斷出哪一個欄位是目標,通常是看清楚題目來判斷,偷懶取巧的方式是,比對 training data 與 testing data 之間少了哪一個欄位作判斷。(why?) 13 | 3.) 底下的 code 算是很典型作法,請思考,為什麼需要把 train data 與 test data 作 concat! 14 | train_Y = df_train['Survived'] 15 | ids = df_test['PassengerId'] 16 | df_train = df_train.drop(['PassengerId', 'Survived'] , axis=1) 17 | df_test = df_test.drop(['PassengerId'] , axis=1) 18 | df = pd.concat([df_train,df_test]) 19 | df.head() 20 | 衍生練習: 21 | 1. to read house_train.csv.gz and house_test.csv.gz from ../part02/ (done) 22 | 2. to concat train and test data, you know how to handle them before you concat these 2 datasets (done) 23 | 3. to check features, to check the amount of features in dataset (done) 24 | 4. to check data type first, to filter out object features, then to label encode them in a very simple way. 25 | 5. to minmax scale all features. 26 | 6. to submit to Kaggle 27 | 28 | 29 | Day 18: 特徵的類型 30 | 31 | 32 | 特徵基本兩類數值型與類別型,其實我們從 Day 1 ~ Day 16 學過了 EDA,基本上是不陌生這兩個類別。這裡還會請大家嚐試了解還有一些小類別,比如說二元型別,秩序型別與時間型別,我們慢慢地都會練習到, 33 | 34 | 今天的作業是 35 | 1.) 重複 Day 17作業 1.) 的工作,但是今天是把 kaggle 的經典題目 titanic 搬到 ..\part02\ 底下 36 | 2.) 如同 Day 17 作業 3.) 整理 train data, test data 甚至 label(Y), 3.) 利用 df.dtypes 觀察 類別與每一個類別的數量(我最愛用的是 df.dtypes.value_counts() 也請思考最後要加上 .reset_index() 的原因。 4.) 對數值型資料作基本運算,比如 mean(),max() 等。 37 | 38 | 39 | Day 19: 數值型特徵 補缺失值與標準化: 40 | 在 EDA Day 6 時我們暴力的觀看所有欄位的 boxplot 可以看到一些 outlier,其實就是看最遠的那幾個圈是不是很遠,遠離正常的盒線,很孤獨的。如果是要找缺失值,也不難,只要用 isnull()測試就可以。 41 | 這裡我們業也很快的作同樣的運作。(參考 Cupoy ML100 day 19 資料) 42 | 可以填補統計值 43 | • 填補平均值(Mean) : 數值型欄欄位,偏態不明顯 44 | • 填補中位數(Median) : 數值型欄欄位,偏態很明顯 45 | • 填補眾數(Mode) : 類別型欄欄位 填補指定值 - 46 | 如果對欄位領域知識已有了了解可能有其他的補法 47 | • 補 0 : 空缺原本就有 0 的含意,如一些房產的問題的房間數 48 | • 補不可能出現的數值 : 類別型欄欄位,但不適合⽤用眾數時 49 | 填補預測值 - 速度較慢但精確,從其他資料欄欄位學得填補知識 50 | • 若填補範圍廣,且是重要特徵欄欄位時可⽤用本⽅方式 51 | • 本⽅方式須提防overfitting : 可能退化成為其他特徵的組合。 52 | 然後我們要來練習 EDA Day 7 中介紹的 MinMaxScaler與 StandardScaler 53 | 54 | 作業 55 | 1.) 比較不同值的補值結果來作 LogisticRegression,藉由cross_val_score觀看那個結果比較好。 56 | 2.) 比較不同標準化方法來作 LogisticRegression,藉由cross_val_score觀看那個結果比較好。 57 | 58 | 59 | -------------------------------------------------------------------------------- /Day_032_HW.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## 練習時間\n", 8 | "相信大家目前都能夠初步了解機器學習專案的流程及步驟,今天的作業希望大家能夠看看全球機器學習巨頭們在做的機器學習專案。以 google 為例,下圖是 Google 內部專案使用機器學習的數量,隨著時間進展,現在早已超過 2000 個專案在使用 ML。" 9 | ] 10 | }, 11 | { 12 | "cell_type": "markdown", 13 | "metadata": {}, 14 | "source": [ 15 | "![image](https://cdn-images-1.medium.com/max/800/1*U_L8qI8RmYS-MOBrYvXhSA.png)" 16 | ] 17 | }, 18 | { 19 | "cell_type": "markdown", 20 | "metadata": {}, 21 | "source": [ 22 | "底下幫同學整理幾間知名企業的 blog 或機器學習網站 (自行搜尋也可),請挑選一篇文章閱讀並試著回答\n", 23 | "1. 專案的目標? (要解決什麼問題)\n", 24 | "2. 使用的技術是? (只需知道名稱即可,例如:使用 CNN 卷積神經網路做影像分類)\n", 25 | "3. 資料來源? " 26 | ] 27 | }, 28 | { 29 | "cell_type": "markdown", 30 | "metadata": {}, 31 | "source": [ 32 | "- [Google AI blog](https://ai.googleblog.com/)\n", 33 | "- [Facebook Research blog](https://research.fb.com/blog/)\n", 34 | "- [Apple machine learning journal](https://machinelearning.apple.com/)\n", 35 | "- [機器之心](https://www.jiqizhixin.com/)\n", 36 | "- [雷鋒網](http://www.leiphone.com/category/ai)" 37 | ] 38 | }, 39 | { 40 | "cell_type": "markdown", 41 | "metadata": {}, 42 | "source": [ 43 | "Soft Actor-Critic: Deep Reinforcement Learning for Robotics\n", 44 | "https://ai.googleblog.com/2019/01/soft-actor-critic-deep-reinforcement.html\n", 45 | " \n", 46 | " \n", 47 | "Importantly, SAC is efficient enough to solve real-world robot tasks in only a handful of hours, and works on a variety of environments with a single set of hyperparameters. Below, we discuss some of the research behind SAC, and also describe some of our recent experiments.\n", 48 | " \n", 49 | " SAC, Soft Actor-Critic, one method of Deep Reinforcement Learning.\n", 50 | " \n", 51 | " 原本的 Deep RL 面臨花太多時間訓練與訓練好的機器人需要慢慢地嘗試但又不可避免在初期遭遇環境上的挑戰折損硬體,SAC 用極大化reward 與 極大化 熵。後者可以增加訓練時的對策隨機性,在對策隨機下尋求高 reward 相當於能夠承受更多的不確性。\n", 52 | " \n", 53 | " https://ai.googleblog.com/2019/01/soft-actor-critic-deep-reinforcement.html\n", 54 | " " 55 | ] 56 | }, 57 | { 58 | "cell_type": "code", 59 | "execution_count": null, 60 | "metadata": {}, 61 | "outputs": [], 62 | "source": [] 63 | }, 64 | { 65 | "cell_type": "code", 66 | "execution_count": null, 67 | "metadata": {}, 68 | "outputs": [], 69 | "source": [] 70 | } 71 | ], 72 | "metadata": { 73 | "kernelspec": { 74 | "display_name": "Python 3", 75 | "language": "python", 76 | "name": "python3" 77 | }, 78 | "language_info": { 79 | "codemirror_mode": { 80 | "name": "ipython", 81 | "version": 3 82 | }, 83 | "file_extension": ".py", 84 | "mimetype": "text/x-python", 85 | "name": "python", 86 | "nbconvert_exporter": "python", 87 | "pygments_lexer": "ipython3", 88 | "version": "3.6.7" 89 | } 90 | }, 91 | "nbformat": 4, 92 | "nbformat_minor": 2 93 | } 94 | -------------------------------------------------------------------------------- /EDA02.txt: -------------------------------------------------------------------------------- 1 | 2 | 【ML102未來高手: D4 ~ D5 】 3 | 4 | . 5 | 6 | 【前幾天在說什麼】 7 | 8 | 某種程度,前三天也算是對環境的熟悉, 9 | 第一天的課程,技術含量不大,但是非常重要,對題目的研究、了解題目會對資料科學研究方向產生正面影響。 10 | 第二天開始看看手中資料的筆數、含有多少特徵等。等於由外開始,有點像開箱文的開箱動作;從第四天起就要真的開始進入資料內部,有步驟的剝洋蔥。 11 | 12 | 本文的內容會基本介紹 Cupoy Day 4 ~ Day 5 兩天的工作,我們設定的目標是 1/11 完成,有進度落後的同學請利用周末跟上,加油。 13 | 14 | 作業的分享有, 15 | https://github.com/freyatzeng/ML100-Days ,與 16 | https://github.com/PatrickRuan/ML100-Days 17 | 18 | 19 | 個人的心得,Day 1 ~ Day 16 需要知道的統計機率就是統計機率可以來敘述手中的資料預估更大範疇的母體,從中看得的特性特徵就跟我們的機器學習有關。 20 | 比如,我們家的麵包店觀看久了就知道天氣涼,不下雨生意會很好,寒暑假週五週六生意差。 21 | 基本要的統計量就是平均值,中位數,標準差,眾數加上直方圖 22 | 23 | 24 | 25 | 【這兩天的進度】 26 | 27 | Day 4: EDA 資料類型介紹 28 | 29 | 我們在第二天開始進行了 EDA 資料探勘的動作,當時是看整個資料的外型,有多少特徵有多少筆資料,今天起我們要開始一步一步的觀察特徵資料。 30 | 31 | 跳進特徵研究的第一個小動作就是要知道,每一個特徵的格式,也就是資料的類別;基本的類別有 float64, int64, object。 32 | 33 | 要留意 object是我們的機器無法直接處理的資料類型,所以今天是介紹為這類資料作編碼,編碼完後才會送進機器模型運算。 34 | 35 | HW: 請研讀參考資料 https://medium.com/@contactsunny/label-encoder-vs-one-hot-encoder-in-machine-learning-3fc273365621 36 | ,同時完成第四天的程式。 37 | 38 | 39 | Day 5: EDA之資料分布 40 | 41 | EDA 當然沒有固定的程序進行,但是對於新手而言,對於十個出頭的特徵的經典題目 Titanic 都已經是不知道如何下手了,更何況今天的題目有百餘個特徵。所以如果有一個按部就班的程序可以遵循,在新手時期是十分珍貴的。 42 | 43 | 今天算是第三天的 EDA,Day 2時是第一次看資料框架(有多少資料,是寬的胖的高的瘦的),Day 4 時是觀察這些特徵的資料類型,今天我們要來看看特徵資料的統計特性, 44 | 計算集中趨勢 45 | •平均值 Mean 46 | •中位數 Median 47 | •眾數 Mode 48 | 計算資料分散程度 49 | •最⼩值 Min 50 | •最⼤值 Max 51 | •範圍 Range 52 | •四分位差 Quartiles 53 | •變異數 Variance 54 | •標準差 Standard deviation 55 | 56 | HW: 今天的作業是挑三個有興趣的特徵來看它們的統計特性,挑選的方式可以是在 Day 2時的 HomeCredit_columns_description.csv 研讀時對於特徵了解而挑選,如果挑很多個,最後也可以用 sns.heatmap(corr()matric) 的關係來挑選。 57 | 今天要學會 DataFrame.describe() 來看基本統計資料。也要學會畫直方圖 (histogram) by plt.hist 58 | 59 | 延伸參考資料有,前三類請各挑一篇觀看, 60 | 61 |