開始使用免費開始

對數轉換後的金額輸出建模

在這個練習中,你會練習對經過對數轉換的金額輸出進行建模,接著再把「log-money」的預測值轉回金額單位。已載入的資料包含受試者在 2005 年的收入(Income2005),以及受試者在 1981 年參加多項能力測驗的成績:

  • Arith
  • Word
  • Parag
  • Math
  • AFQT(美軍入伍資格測驗的百分位數)

資料已經切分為訓練集與測試集(分別為 income_trainincome_test),並已預先載入。你將從輸入變數建構 log(income) 的模型,然後把 log(income) 轉回 income。

本練習屬於課程

R 中的監督式學習:回歸

檢視課程

練習說明

  • income_train$Income2005 呼叫 summary(),查看訓練集中收入的摘要統計。
  • 撰寫一個公式,將 log(Income2005) 表示為 5 項測驗的函數,指定為變數 fmla.log。並將其印出。
  • log(Income2005)income_train 資料擬合線性模型:model.log
  • 使用 model.logincome_test 資料集進行收入預測。將結果放在欄位 logpred
    • 檢查 logpredsummary(),你會看到其量級與 Income2005 差異很大。
  • 反轉對數轉換,將預測值轉回「金額單位」:exp(income_test$logpred)
    • 檢查 pred.incomesummary(),你會看到其量級現在與 Income2005 相近。
  • 補上空格以繪製測試集中「預測收入 vs. 真實收入」的散佈圖。

動手互動練習

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

# Examine Income2005 in the training set
___

# Write the formula for log income as a function of the tests and print it
(fmla.log <- ___)

# Fit the linear model
model.log <-  ___

# Make predictions on income_test
income_test$logpred <- ___
summary(income_test$logpred)

# Convert the predictions to monetary units
income_test$pred.income <- ___
summary(income_test$pred.income)

#  Plot predicted income (x axis) vs income
ggplot(___, aes(x = ___, y = ___)) + 
  geom_point() + 
  geom_abline(color = "blue")
編輯並執行程式碼