開始使用免費開始

資料編碼

將類別資料編碼 可以讓它們可用於機器學習演算法。 R 在內部會對 factor 進行編碼,但當你要開發你自己的模型時,仍需要自行處理編碼。

在這個練習中,你會先用 lm() 建立一個線性模型,然後一步一步地自行建立模型。

在 one hot encoding(獨熱編碼) 中,會為每個層級各建立一個獨立欄位。

注意,其中一個欄位可以由其他欄位推導而來(例如,欄位「B」與「C」都是 0,表示欄位「A」為 1)。 因此,在做線性迴歸時,你可以刪除第一個欄位。 我們會在下一章更詳細地複習線性模型。

在進行 one hot encoding 時,你可以使用 caret 套件的 dummyVars()。

使用方式是先建立編碼器,接著轉換資料集:

encoder <- dummyVars(~ category, data = df)
predict(encoder, newdata = df)

MASS 套件中的問卷資料集之完整個案可透過 survey 取得。 caret 套件已預先載入。

本練習屬於課程

用 R 練習統計面試題

檢視課程

動手互動練習

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

# Fit a linear model
lm(___ ~ Exer, data = ___)
編輯並執行程式碼