開始使用免費開始

為麻雀存活機率擬合模型

在這個練習中,你要根據麻雀的外觀特徵,估計牠在嚴重冬季風暴中存活的機率。資料集 sparrow 已經預先載入。要預測的結果變數是 status(「Survived」、「Perished」)。我們要考慮的變數有:

  • total_length:從喙尖到尾尖的全長(mm)
  • weight:重量(克)
  • humerus:肱骨長度(將翅膀連到身體的「上臂骨」)(英吋)

記得使用 glm()文件)建立邏輯斯迴歸模型時,必須明確指定 family = binomial

glm(formula, data = data, family = binomial)

你會呼叫 summary()broom::glance(),用不同的函式來檢視邏輯斯迴歸模型。其中一個要看的診斷指標是對應於 \(R^2\) 的量,稱為偽 $R^2$。

$$ pseudoR^2 = 1 - \frac{deviance}{null.deviance} $$

可以把 deviance 看成類似於變異數:它衡量類別資料的變異程度。偽 \(R^2\) 類似於一般迴歸裡的 $R^2$:\(R^2\) 衡量模型「解釋的變異比例」。偽 \(R^2\) 則衡量「被解釋的 deviance 比例」。

本練習屬於課程

R 中的監督式學習:回歸

檢視課程

練習說明

  • 如影片所示,請以 TRUEFALSE 的結果來進行預測。在 sparrow 資料框中建立新欄位 survived,當 status == "Survived" 時為 TRUE。
  • 建立表示 survived 與關注變數之關係的公式 fmla,並印出它。
  • 擬合一個邏輯斯迴歸模型來預測麻雀的存活機率。將模型指定給變數 sparrow_model
  • 呼叫 summary() 檢視模型係數、deviance 與 null deviance。
  • 對模型呼叫 glance(),在資料框中檢視 deviance 與其他診斷指標。將 glance() 的輸出指定給變數 perf
  • 計算偽 $R^2$。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# sparrow is available
summary(sparrow)

# Create the survived column
sparrow$survived <- ___

# Create the formula
(fmla <- _____)

# Fit the logistic regression model
sparrow_model <- ___

# Call summary
___

# Call glance
(perf <- ___)

# Calculate pseudo-R-squared
(pseudoR2 <- ___)
編輯並執行程式碼