當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R embed step_lencode_glm 使用似然編碼將監督因子轉換為線性函數


step_lencode_glm() 創建配方步驟的規範,該步驟將名義(即因子)預測變量轉換為從廣義線性模型派生的一組分數。

用法

step_lencode_glm(
  recipe,
  ...,
  role = NA,
  trained = FALSE,
  outcome = NULL,
  mapping = NULL,
  skip = FALSE,
  id = rand_id("lencode_glm")
)

參數

recipe

一個菜譜對象。該步驟將添加到此配方的操作序列中。

...

一個或多個選擇器函數用於選擇變量。對於 step_lencode_glm ,這表示要編碼為數字格式的變量。有關更多詳細信息,請參閱recipes::selections()。對於tidy 方法,當前未使用這些。

role

由於沒有創建新變量,因此此步驟未使用。

trained

指示預處理數量是否已估計的邏輯。

outcome

調用 vars 以指定哪個變量用作廣義線性模型中的結果。目前僅支持數字和兩級因子。

mapping

定義編碼的 tibble 結果列表。在 recipes::prep() 訓練該步驟之前,這是 NULL

skip

一個合乎邏輯的。當recipes::bake() 烘焙食譜時是否應該跳過此步驟?雖然所有操作都是在 recipes::prep() 運行時烘焙的,但某些操作可能無法對新數據進行(例如處理結果變量)。使用skip = TRUE時應小心,因為它可能會影響後續操作的計算

id

該步驟特有的字符串,用於標識它。

recipe 的更新版本,其中新步驟添加到現有步驟(如果有)的序列中。對於 tidy 方法,一個 tibble 包含列 terms(用於編碼的選擇器或變量)、level(因子級別)和 value(編碼)。

細節

對於每個因子預測器,廣義線性模型適合結果,並且係數作為編碼返回。這些係數采用線性預測量表,因此對於因子結果,它們采用 log-odds 單位。這些係數是使用無截距模型創建的,當使用兩個因子結果時,log-odds 反映感興趣的事件是因子的第一級。

對於新穎的水平,返回係數的稍微定時的平均值。

整理

當您tidy()此步驟時,將返回包含terms(選定的選擇器或變量)、valuecomponent 列的小標題。

箱重

此步驟執行可以利用案例權重的監督操作。要使用它們,請參閱 recipes::case_weights 中的文檔和 tidymodels.org 中的示例。

參考

Micci-Barreca D (2001) “分類和預測問題中高基數分類屬性的預處理方案”,ACM SIGKDD Explorations Newsletter,3(1), 27-32。

Zumel N 和 Mount J (2017)“vtreat:用於預測建模的 data.frame 處理器”,arXiv:1611.09477

例子

library(recipes)
library(dplyr)
library(modeldata)

data(grants)

set.seed(1)
grants_other <- sample_n(grants_other, 500)
# \donttest{
reencoded <- recipe(class ~ sponsor_code, data = grants_other) %>%
  step_lencode_glm(sponsor_code, outcome = vars(class))
# }
源代碼:R/lencode_glm.R

相關用法


注:本文由純淨天空篩選整理自Max Kuhn等大神的英文原創作品 Supervised Factor Conversions into Linear Functions using Likelihood Encodings。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。