什麼是統計學習

ISLP 第 1 章 — 對應講義 01
監督式|非監督式|迴歸 vs 分類|預測 vs 推論|n 與 p|Wage|Smarket|NCI60
向下捲動開始互動
📌 本頁使用方式(ISLP Ch.1|講義 01)

照節次讀:每節先讀說明,動手玩互動元件——先預測結果,再按按鈕驗證。 ② 對照講義:每個 §徽章都標了 ISLP 節號與講義頁碼,細節與完整推導請回講義與課本。 ③ 每節做 quiz:答錯就回到該節重讀,不要往下跳;錯的選項也寫了「錯在哪」。 ④ 最後翻關鍵詞彙卡自測術語,並用 REF 總覽當速查表。

CONTENTS · 內容目錄
PROLOGUE · 開場

十章方法一次看懂:這門課到底在教什麼 講義 01 · p.9–11

這門課有十個主題,但它們不是十件無關的事。全部可以放進一張表: 你手上有沒有想預測的 y?y 是數字還是類別?你要的是準確度還是可解釋性? 答案決定你該翻到哪一章。

下面這張地圖就是這門課的全貌。按條件過濾,看剩下哪幾章—— 每張卡片都直接連到那一章的頁面。現在還看不懂卡片上的名詞完全沒問題, 這一節的目的只是讓你知道「這門課會給你哪些工具、什麼時候該拿哪一把」。

按下方按鈕過濾,或直接點卡片跳到那一章。
怎麼用這張地圖
每個按鈕是一個條件。條件是「且」的關係——同時按下「監督式」與「分類」,就只剩下能做分類的章節。按第二次可以取消該條件。
目前的篩選
條件(無,顯示全部)
符合的章節
讀不懂名詞?
正常。這一節只是地圖,不是課程內容。第 2 章開始才會真正解釋每一個詞。你現在唯一需要記住的是:「有沒有 y」是最大的分水嶺
這一頁要做的四件事 1. 分清監督式與非監督式。有 y 就是監督式,沒有 y 就是非監督式。
2. 分清迴歸與分類。y 是數字就是迴歸,y 是類別就是分類。
3. 分清預測與推論。你要「猜得準」還是「看懂關係」?這決定你選什麼模型。
4. 認識符號與三份資料。n、p、Wage、Smarket、NCI60——後面每一章都會再遇到。
PART 01 · 監督式與非監督式

有沒有 y:監督式與非監督式的分界 ISLP §1.1講義 01 · p.23–27

整門課最大的分水嶺只有一個問題:你手上有沒有「答案」?

監督式學習(supervised learning):每一筆資料都有一個 你想預測的目標值 y。薪資、股價漲跌、房價、腫瘤是否為惡性——這些都有明確的答案, 可以拿去對照模型猜得對不對。第 2 到 9 章全部是監督式。

非監督式學習(unsupervised learning):只有 X,沒有 y。 你不是要預測什麼,而是想知道「這堆資料裡有什麼結構」。 哪些顧客是同一群?6830 個基因能不能壓成 2 個維度來看? 第 12 章講這個。

為什麼這個分界這麼重要 因為沒有 y 就沒有「對錯」

監督式學習可以算誤差:把預測值跟真實的 y 相減就好,所以你能用交叉驗證選模型、 能報告測試誤差、能說「這個模型比那個好」。

非監督式沒有這個奢侈。分成 3 群還是 5 群「比較對」?沒有客觀答案—— 只有「對你的用途有不有用」。第 12 章會反覆碰到這件事。
監督式非監督式
資料長相X 與 y 都有只有 X
在問什麼給定 X,y 是多少?X 裡面有什麼結構?
怎麼知道做得好不好跟真實的 y 比,算誤差沒有客觀標準
本課章節第 2–9 章第 12 章
例子從年齡預測薪資、從 Lag 預測漲跌把 6830 個基因壓成 2 維、把顧客分群
觀念釐清
Q:半監督式(semi-supervised)是什麼?本課會教嗎?

現實中常見的情況是:少數資料有 y,大量資料只有 X。例如你有 100 萬張照片但只有 1000 張被標註過——標註很貴。半監督式學習就是設法同時用上這兩批資料。

本課不教(ISLP 也只在第 1 章提一句)。但值得知道它存在,因為實務上「資料很多、標註很少」幾乎是常態。

Q:分群(clustering)跟分類(classification)到底差在哪?名字很像。

差在類別是誰給的

分類是監督式:類別標籤本來就在資料裡(這封信是垃圾信、這個腫瘤是惡性),你要學的是「怎麼從 X 猜出那個既有的標籤」。

分群是非監督式:沒有標籤,群是演算法自己劃出來的。劃完之後那些群叫什麼、有什麼意義,要靠你自己解讀。K-means 給你「第 1 群、第 2 群」,它不會告訴你第 1 群是「高消費客戶」——那是你看完之後自己命名的。

QUIZ · 監督式與非監督式

醫院想從病歷資料裡「找出幾種還沒被命名的糖尿病亞型」。這是什麼問題?

(A) 非監督式,因為「亞型」還不存在,沒有 y 可以對照
(B) 監督式分類,因為最後要把病人分到某個亞型
(C) 監督式迴歸,因為病歷裡有很多數值變數
PART 02 · 迴歸與分類

輸出是數字還是類別:迴歸與分類 ISLP §1.1講義 01 · p.33

確定是監督式之後,第二個問題:y 是數字還是類別?

大部分方法都有迴歸版與分類版(迴歸樹/分類樹、線性迴歸/邏輯斯迴歸), 背後的想法一樣,只是把「差多少」換成「錯幾個」。

方法迴歸版分類版本課章節
線性模型線性迴歸邏輯斯迴歸第 3、4 章
最近鄰KNN 迴歸KNN 分類第 2、3 章
迴歸樹分類樹第 8 章
集成隨機森林迴歸、GBDT隨機森林分類、AdaBoost第 8 章
邊界法支持向量迴歸支持向量機第 9 章
誤差怎麼算MSE:$\frac1n\sum(y_i-\hat y_i)^2$錯誤率:$\frac1n\sum I(y_i \ne \hat y_i)$第 2 章
順序型類別是個灰色地帶 教育程度(國中以下 < 高中 < 大學 < 研究所) 是類別,但它有順序。硬編成 1、2、3、4 當數字做迴歸, 等於假設「高中到大學」跟「大學到研究所」的差距一樣大——那個假設通常不成立。

本課的處理方式是當成類別(第 3 章的質性預測變數、第 4 章的多類別分類)。 這一頁下面的 Wage 資料就有這個變數,你會看到它跟薪資的關係並不等距。
QUIZ · 迴歸與分類

預測「明天的降雨機率是幾 %」。這是迴歸還是分類?

(A) 看你怎麼定義輸出——輸出機率值就是迴歸;輸出「會下/不會下」就是分類
(B) 一定是迴歸,因為機率是 0 到 1 之間的連續數值
(C) 一定是分類,因為下雨只有兩種可能
PART 03 · 預測與推論

你要的是還是:預測與推論 ISLP §2.1.1講義 01 · p.24

第三個問題最容易被忽略,但它直接決定你該選什麼模型: 你要的是「猜得準」還是「看懂關係」?

預測(prediction):只在乎 $\hat y$ 準不準, $\hat f$ 內部長什麼樣完全不重要——它可以是一座 500 棵樹的森林。

推論(inference):想知道哪些 X 影響 y、影響多大、 往哪個方向、這個影響可不可信。這時 $\hat f$ 必須看得懂, 而且你需要標準誤與 p 值。

按「下一題」開始。
怎麼玩
每題有一個實務情境,判斷它主要是預測還是推論。選完會告訴你為什麼,以及這個判斷會把你導向哪一章。
成績
答對0 / 0
目前第幾題
界線不總是清楚
很多真實問題兩者都要——例如既想預測哪些客戶會流失,想知道為什麼。這時通常的做法是用可解釋的模型做推論、用彈性的模型做預測,兩個一起交。
預測推論
在乎什麼$\hat y$ 準不準$\hat f$ 說了什麼
模型可以是黑盒嗎可以不行
需要標準誤與 p 值嗎通常不需要需要
典型方法隨機森林、GBDT、SVM線性迴歸、邏輯斯迴歸、GAM
典型問法這位客戶會不會流失?價格每漲 1 元,需求掉多少?
本課章節第 5、8、9 章第 3、4、7 章
觀念釐清
Q:為什麼「準確度」與「可解釋性」常常要二選一?

因為讓模型變準的手段,多半就是讓它變複雜。

線性迴歸只有 p + 1 個係數,每一個都能講成一句人話:「其他條件不變下,X₁ 每增加 1 單位,y 平均增加 β₁」。隨機森林有 500 棵樹、每棵樹幾十個分裂點——它可能準得多,但你沒辦法把它翻譯成一句話。

第 2 章會把這個取捨畫成一張圖(彈性 vs 可解釋性),第 7 章的 GAM 則是刻意站在中間的折衷方案:允許每個變數各自彎曲,但保住「各變數的效果可以分開看」這件事。

Q:如果只做預測,是不是完全不用管模型長什麼樣?

理論上是,實務上不行,有三個現實理由。

除錯:模型上線後表現變差,看不懂它你就查不出原因。信任:醫療、信貸、司法這些領域,法規常常要求你能解釋每一個決策。資料洩漏:如果某個變數的重要度高得不合常理,很可能是它偷偷含有答案(例如用「是否已理賠」預測「是否出車禍」)——看得懂模型才抓得到這種錯。

PART 04 · 符號約定

n、p 與矩陣寫法:先把符號講清楚 ISLP §1.2

後面每一章都會用到這套符號,先講清楚省得後面卡住。

$$\mathbf{X} = \begin{pmatrix} x_{11} & x_{12} & \cdots & x_{1p} \\ x_{21} & x_{22} & \cdots & x_{2p} \\ \vdots & \vdots & \ddots & \vdots \\ x_{n1} & x_{n2} & \cdots & x_{np} \end{pmatrix}$$
拖滑桿看 n 與 p 怎麼決定資料表的形狀。
動手看
拖兩個滑桿改變 n 與 p。綠色一整列是一個觀測值 xᵢ(一個人、一天、一個州);紅色一整行是一個變數 xⱼ(年齡、薪資、犯罪率)。這兩件事很容易搞混,而它們的長度完全不同。
目前的形狀
n(觀測值)
p(變數)
X 有幾個數字
xᵢ 的長度
xⱼ 的長度
課程資料集的真實形狀
p ≫ n 會出大事 NCI60 資料是 64 × 6830——變數比觀測值多一百倍。 這種「高維度」設定下,最小平方法能找到完美通過每一個訓練點的解,訓練 R² 剛好等於 1, 但那個模型毫無預測能力。第 6 章有一整節在講這件事, 以及該用什麼方法(收縮、降維)才活得下來。
QUIZ · 符號

$x_{{3}}$(下標一個數字 3)指的是什麼?

(A) 第 3 個觀測值,是一個長度 p 的向量
(B) 第 3 個變數,是一個長度 n 的向量
(C) X 矩陣第 3 列第 3 行的那個數字
PART 05 · 資料集巡禮

課本三大資料集:Wage、Smarket、NCI60 ISLP §1.1講義 01 · p.34–38

ISLP 第 1 章用三份資料介紹三類問題。這三份會在後面的章節反覆出現, 現在先認識它們。

Wage:迴歸問題

美國大西洋中部地區 3000 位男性的薪資與人口特徵。y 是 wage(連續數值), 所以這是迴歸。ISLP 圖 1.1 畫了三件事:薪資對年齡是先升後降的曲線 (不是直線)、對年份幾乎是緩慢的線性上升、對教育程度是 單調但不等距的階梯。

圖表需要連網載入 Chart.js。此圖的重點:薪資對年齡先升後降(不是直線),對年份緩慢上升,對教育程度單調但不等距。
切換三個面板看 Wage 的三種關係。
三個面板 圖 1.1
用按鈕切換。年齡那張是本課第一個「線性不夠用」的證據——所以才有第 7 章。年份那張的斜率是每年 +1.35 美元,線性配得不錯。教育那張是質性變數(第 3 章)。
Wage 的事實
n × p3000 × 11
2004 年的平均薪資111.16
年份趨勢每年 +1.35
目前看的是年齡
為什麼薪資會在 60 歲後往下
不是「變老就變窮」。這是橫斷面資料:60 歲那一群人跟 30 歲那一群人是不同的人。高薪的人可能提早退休而離開樣本,留下的就偏低。這種「相關不等於因果」的陷阱,推論時要特別小心。
講義 01 · 載入 Wage 並看形狀
Wage.shape, Wage.columns
預期輸出
((3000, 11),
 Index(['year', 'age', 'maritl', 'race', 'education', 'region', 'jobclass',
        'health', 'health_ins', 'logwage', 'wage'],
       dtype='object'))

11 個欄位裡 wage 是 y、logwage 是它的對數(別同時放進模型),其餘 9 個是候選預測變數。

來源:Ch01-lab-zh.ipynb · 儲存格 145、146
講義 01 · 2004 年的平均薪資
Wage[Wage['year'] == 2004]['wage'].mean()
預期輸出
np.float64(111.15999687022256)

這個 111.16 就是上面側欄卡裡的數字——圖表的烘焙資料跟 lab 是同一份資料、同一個算法。

來源:Ch01-lab-zh.ipynb · 儲存格 148

Smarket:分類問題

2001–2005 年 S&P 500 的每日報酬。y 是 Direction(Up / Down), 所以是分類。ISLP 圖 1.2 的重點很反直覺:前幾天的報酬(Lag1–Lag5) 在漲日與跌日上的分佈幾乎一樣——也就是說,這件事非常難預測。

Lag1–Lag3 在漲日與跌日上的分佈。
怎麼看 圖 1.2
每一組是一個 Lag 變數,左右兩個箱子分別是「隔天跌」與「隔天漲」的日子。兩個箱子幾乎完全重疊。如果 Lag 真的能預測漲跌,兩個箱子應該明顯錯開。
Smarket 的事實
n × p1250 × 9
漲的天數
Lag1|跌日平均
Lag1|漲日平均
兩者差距
這不是失敗的例子
這是誠實的例子。第 4 章會真的在這份資料上跑邏輯斯迴歸與 LDA,正確率大約 50%——跟丟硬幣一樣。知道「有些東西就是預測不了」,跟知道怎麼預測一樣重要。
講義 01 · Smarket 的欄位
# 檢視資料基本資訊/摘要 Smarket.info()
預期輸出
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1250 entries, 0 to 1249
Data columns (total 9 columns):
 #   Column     Non-Null Count  Dtype   
---  ------     --------------  -----   
 0   Year       1250 non-null   int64   
 1   Lag1       1250 non-null   float64 
 2   Lag2       1250 non-null   float64 
 3   Lag3       1250 non-null   float64 
 4   Lag4       1250 non-null   float64 
 5   Lag5       1250 non-null   float64 
 6   Volume     1250 non-null   float64 
 7   Today      1250 non-null   float64 
 8   Direction  1250 non-null   category
dtypes: category(1), float64(7), int64(1)
memory usage: 79.6 KB

Today 是當天的報酬、Direction 是它的正負號——所以絕對不能Today 當預測變數(那就是答案本身)。這是最典型的資料洩漏。

來源:Ch01-lab-zh.ipynb · 儲存格 157、158

NCI60:非監督式問題

64 個癌症細胞株、每個測 6830 個基因的表現量。沒有 y—— 我們不是要預測什麼,而是想知道「這 64 個樣本會不會自己分成幾群」。 ISLP 圖 1.4 把 6830 維壓到 2 維(第 12 章的主成分分析), 結果同一種癌症的樣本確實傾向靠在一起。

6830 個基因壓成 2 個主成分之後的樣子。
怎麼看 圖 1.4
每個點是一個細胞株,位置由前兩個主成分決定,顏色是它的癌症型別。注意:分析時完全沒有用到型別資訊——顏色是事後塗上去驗證的。同色會聚在一起,說明基因表現量真的帶有型別的訊息。
NCI60 的事實
n × p64 × 6830
癌症型別數
PC1 解釋的變異
PC1 + PC2
p ≫ n 的極端例子
6830 個變數、64 個樣本。任何需要 n > p 的方法(例如最小平方)在這裡直接失效。這也是為什麼降維在基因資料上這麼重要。
講義 01 · NCI60 的結構
# 讀取資料到 DataFrame;檢視資料基本資訊/摘要 NCI60 = load_data('NCI60') NCI60.keys()
預期輸出
dict_keys(['data', 'labels'])

它回傳一個 dict:data 是 64 × 6830 的表現量矩陣、labels 是 64 個型別標籤。做非監督式分析時只用 data,labels 只拿來事後檢查。

來源:Ch01-lab-zh.ipynb · 儲存格 164
觀念釐清
Q:Smarket 的 Lag 幾乎沒有預測力,那為什麼課本還要用它?

因為它示範了一個真實而重要的事實:不是所有問題都能被預測

如果課本只用「配得很漂亮」的例子,你會學到一種危險的直覺——覺得只要方法夠好就一定能預測。金融市場的日報酬接近隨機漫步,這是被大量研究支持的結論,不是因為我們的模型不夠強。

更重要的是:在這種資料上,任何回報「正確率 70%」的模型都應該被懷疑。那通常意味著資料洩漏(例如不小心把 Today 放進了預測變數)。

Q:NCI60 的顏色既然事後才塗,那分析到底「對」了嗎?

這正是非監督式學習最尷尬也最有趣的地方。

這個例子裡我們剛好有標籤可以驗證,所以能說「PCA 抓到了真實的結構」。但在真正的非監督式應用裡你沒有標籤——所以你永遠無法確定看到的群是真的結構,還是只是雜訊排出來的花樣。

實務上的做法是找外部證據:這些群在別的變數上有沒有差異?換一種方法、換一批資料還在不在?如果換個隨機種子群就變了,那大概不是真的。

QUIZ · 三份資料

同一份 Smarket 資料,如果把 Today(當天報酬)當成預測變數去猜 Direction(當天漲跌),正確率會是多少?

(A) 100%,因為 Direction 就是 Today 的正負號——這是資料洩漏,不是預測
(B) 大約 50%,因為股市本來就難預測
(C) 大約 70%,因為當天報酬跟漲跌高度相關但不完全一致
PART 06 · 統計學習與機器學習

統計學習、機器學習、資料科學差在哪? 講義 01 · p.19–22

「統計學習」、「機器學習」、「資料科學」、「人工智慧」——這些詞常常混用, 但它們的重心確實不同。講義第 19–22 頁討論了這件事。

重心典型問法在意什麼
統計學習從資料推論母體這個效果是真的嗎?多大?不確定性、可解釋性、模型假設
機器學習在新資料上表現好預測誤差能壓到多低?泛化能力、算力、可擴展性
資料科學從問題到決策的整條流程這個結論能支持什麼行動?資料品質、溝通、落地
人工智慧讓機器展現智慧行為它能做這件事嗎?能力邊界

但這些界線在實務上非常模糊,而且愈來愈模糊。同一個隨機森林, 統計學家與機器學習研究者都在用,只是他們問的問題不同: 前者會問「變數重要度可不可信、能不能給信賴區間」, 後者會問「加到 1000 棵樹還會不會更準」。

這門課站在哪裡 課名是「統計學習與資料探勘」,內容其實橫跨兩邊: 第 3、4 章有完整的推論工具(標準誤、t 檢定、F 檢定), 第 5 章之後的交叉驗證、正則化、集成則完全是機器學習的核心手法。

ISLP 作者自己的說法是:統計學習是機器學習的一個分支, 重點放在「理解」而不只是「預測」。 這也是為什麼本課每個方法都會問「它的假設是什麼、什麼時候會壞掉」, 而不只是「怎麼調參數」。
QUIZ · 統計學習與機器學習

同一個隨機森林模型,統計學習與機器學習的取向差在哪?

(A) 問的問題不同:前者更在意變數重要度可不可信、假設成不成立;後者更在意預測誤差能壓多低
(B) 統計學習不會用隨機森林,那是機器學習的方法
(C) 機器學習不需要考慮模型假設,統計學習才需要
PART 07 · Python 工具鏈

動手前的準備:Python 生態與 lab 導覽 講義 01 · p.6–7、41

本課的程式全部用 Python。你需要的套件不多,而且每一章的 lab 開頭都會列出來。

套件做什麼在哪幾章會用到
numpy陣列與線性代數全部
pandas表格資料(DataFrame)全部
matplotlib / seaborn畫圖全部
scikit-learn配模型、交叉驗證、Pipeline第 2 章之後
statsmodels推論用的迴歸摘要(標準誤、p 值)第 3、4 章
ISLP課本的資料集與幾個輔助函式全部
pygam廣義加性模型第 7 章
講義 01 · lab 開頭的匯入
# 檢視資料基本資訊/摘要;載入範例資料集 tips = sns.load_dataset("tips") print(tips.shape) tips.head()

每一章的 lab 都是這個開頭。ISLPload_data() 會直接給你課本用的資料集,不必自己找檔案。

來源:Ch01-lab-zh.ipynb · 儲存格 88
環境怎麼準備 最省事:用 Google Colab。瀏覽器打開就能跑, 不用裝任何東西,每章 lab 的第一格徽章可以一鍵開啟。

要在自己電腦上跑:裝 Anaconda 或 Miniconda,然後 pip install ISLP(它會把 numpy、pandas、scikit-learn、statsmodels 一起帶進來)。課程 repo 的 packages.txt 有完整的版本清單。

版本不同數字會不一樣——這不是你做錯了。本站每頁的 「預期輸出」都標了來源儲存格,就是為了讓你能對照。
觀念釐清
Q:為什麼有兩套做迴歸的工具(scikit-learn 與 statsmodels)?

因為它們為不同目的設計,剛好對應這一頁 P03 講的預測與推論。

statsmodels 給你完整的推論報表:係數、標準誤、t 值、p 值、信賴區間、F 檢定。第 3、4 章要的就是這些。

scikit-learn 給你統一的預測介面:fit / predict / score,配上 Pipelinecross_validate。它刻意不提供 p 值——因為在它的世界觀裡,模型好不好是用留出的資料驗證,不是用 p 值判斷。

第 5 章的 lab 會示範怎麼用 ISLPsklearn_sm() 把 statsmodels 的模型包成 sklearn 介面,這樣就能拿去做交叉驗證。

QUIZ · 工具鏈

你要報告「廣告支出對銷售額的影響有多大、可不可信」。該用哪個套件?

(A) statsmodels,因為你需要標準誤、信賴區間與 p 值
(B) scikit-learn,因為它是最主流的機器學習套件
(C) 兩個都不行,要自己用 numpy 算矩陣公式
EXERCISES · 練習

動手驗證:概念自測 ISLP Ch.1

ISLP 第 1 章沒有課後習題,所以這幾題是照本章觀念設計的。先自己想過再點選項; 每個選項——包含錯的——都寫了為什麼。第 2 章開始就有課本習題可以對答案了。

EXERCISE 1 · 分類問題的四個象限

一家串流平台想「從觀看紀錄預測使用者下個月會不會退訂」。這在本課的地圖上是?

(A) 監督式、分類、偏預測 → 第 4 章(分類)與第 8、9 章(彈性方法)
(B) 非監督式,因為要把使用者分成「會退訂」與「不會退訂」兩群
(C) 監督式、迴歸,因為要預測的是機率
EXERCISE 2 · 預測與推論

衛生單位想知道「香菸稅每漲 10 元,青少年吸菸率會降多少」。這主要是?

(A) 推論——要的是效果的大小與方向,還要能說這個估計有多不確定
(B) 預測——要預測未來的吸菸率
(C) 兩者都不是,這是因果推論,跟統計學習無關
EXERCISE 3 · n 與 p

一份資料有 200 位病人、每人測 20000 個基因。n 與 p 各是多少,會有什麼麻煩?

(A) n = 200、p = 20000;p ≫ n,最小平方會完美配適訓練資料但毫無預測力
(B) n = 20000、p = 200;資料量很大所以沒問題
(C) n = 200、p = 20000;資料量夠大,用隨機森林就沒問題
EXERCISE 4 · 資料洩漏

你用「病人是否住進加護病房」來預測「病人是否重症」,正確率 97%。最該做的事是?

(A) 懷疑資料洩漏——住進加護病房幾乎就是「重症」的結果而不是原因
(B) 很好,直接上線
(C) 再多加一些變數把正確率推到 99%
REFERENCE · 總覽

統計學習導論速查表 ISLP Ch.1

這一頁沒有公式要背,但這四個分類問題會決定你之後每次遇到新問題時該翻哪一章。

四個問題決定你翻哪一章

問題答案去哪裡
有 y 嗎?有 → 監督式第 2–9 章
沒有 → 非監督式第 12 章
y 是什麼型態?數字 → 迴歸第 3、6、7 章
類別 → 分類第 4、9 章
要準還是要懂?要準 → 彈性方法第 8、9 章
要懂 → 可解釋方法第 3、4、7 章
怎麼知道做得好不好?重抽樣估測試誤差第 5 章(每一章都要用)

符號速查

符號意思長度/形狀
n觀測值個數(列數)純量
p預測變數個數(行數)純量
$\mathbf{X}$預測變數矩陣n × p
$x_i$第 i 個觀測值長度 p
$\mathbf{x}_j$第 j 個變數長度 n
$x_{ij}$第 i 個觀測值的第 j 個變數純量
$y$目標值向量長度 n
$\hat f$估計出來的函數
$\hat y$預測值長度 n

三份資料的形狀

資料集npy問題類型後面在哪裡再出現
Wage300011wage(連續)迴歸第 7 章(樣條與 GAM)
Smarket12509Direction(二元)分類第 4 章(邏輯斯、LDA)
NCI60646830非監督式第 12 章(PCA、分群)
Auto3928mpg(連續)迴歸第 3、5 章
Bikeshare864515bikers(計數)迴歸/Poisson第 4 章
三個一定要記住的觀念 1. 有沒有 y 是最大的分水嶺。 沒有 y 就沒有客觀對錯,這件事會一路影響到第 12 章怎麼驗證分群結果。
2. 預測與推論要的模型不一樣。 先問清楚自己要哪一個,再選方法——不要先選了隨機森林才發現老闆要的是 p 值。
3. 近乎完美的正確率幾乎都是資料洩漏。 Smarket 的 Today 是課本給的示範,實務上這個坑更隱晦。

本頁「預期輸出」逐字取自課程 lab notebook(老師在課程環境實跑);圖表用的烘焙資料由 tools/frames/ 在固定種子下產生,環境為 numpy 1.24.4 · pandas 2.3.2 · scikit-learn 1.6.1 · scipy 1.13.1 · statsmodels 0.14.2 · ISLP 0.4.0 · pygam 0.10.1。每張卡下方的「來源」標了 lab 的儲存格編號,可以直接回去對。

CARDS · 關鍵詞彙卡

關鍵詞彙卡:點卡片翻面 課程題庫 · 23 張

詞彙卡取自本章講義與 ISLP 第 1 章,正面是中文術語(附英文原名)。 先看正面、心裡默想定義,再翻面對答案;洗牌後再過一輪,直到每張都能不看答案講出來。