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


R recipes step_nnmf 非負矩陣分解信號提取


step_nnmf() 創建配方步驟的規範,該步驟將數字數據轉換為一個或多個非負分量。

[Deprecated]

請使用step_nnmf_sparse()代替此步驟函數。

用法

step_nnmf(
  recipe,
  ...,
  role = "predictor",
  trained = FALSE,
  num_comp = 2,
  num_run = 30,
  options = list(),
  res = NULL,
  columns = NULL,
  prefix = "NNMF",
  seed = sample.int(10^5, 1),
  keep_original_cols = FALSE,
  skip = FALSE,
  id = rand_id("nnmf")
)

參數

recipe

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

...

一個或多個選擇器函數用於為此步驟選擇變量。有關更多詳細信息,請參閱selections()

role

對於此步驟創建的模型項,應為其分配什麽分析角色?默認情況下,此步驟根據原始變量創建的新列將用作模型中的預測變量。

trained

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

num_comp

保留作為新預測變量的組件數量。如果num_comp大於列數或可能組件的數量,則將使用較小的值。如果設置了 num_comp = 0 ,則不會進行任何轉換,並且所選變量將保持不變,無論 keep_original_cols 的值如何。

num_run

用於獲得一致投影的計算運行次數的正整數。

options

通過 dimRed 包中的 NNMF() 函數提供 NMF 包中的 nmf() 的選項列表。請注意,不應在此處傳遞參數 datandim,並且關閉 NMF 並行處理以支持 resample-level 並行化。

res

一旦 prep() 訓練了該預處理步驟,NNMF() 對象就會存儲在此處。

columns

所選變量名稱的字符串。該字段是一個占位符,一旦使用 prep() 就會被填充。

prefix

將作為結果新變量的前綴的字符串。請參閱下麵的注釋。

seed

一個整數,用於在計算因式分解時單獨設置種子。

keep_original_cols

將原始變量保留在輸出中的邏輯。默認為 FALSE

skip

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

id

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

recipe 的更新版本,將新步驟添加到任何現有操作的序列中。

細節

非負矩陣分解計算具有非負值的潛在分量,並考慮到原始數據具有非負值。

參數 num_comp 控製將保留的組件數量(用於派生組件的原始變量將從數據中刪除)。新組件的名稱以 prefix 和一係列數字開頭。變量名稱用零填充。例如,如果 num_comp < 10 ,它們的名稱將為 NNMF1 - NNMF9 。如果是 num_comp = 101 ,則名稱將為 NNMF1 - NNMF101

整理

當您 tidy() 此步驟時,將返回一個包含列 terms(選擇的選擇器或變量)和組件數量的 tibble。

調整參數

此步驟有 2 個調整參數:

  • num_comp : # 組件(類型:整數,默認值:2)

  • num_run :計算運行次數(類型:整數,默認值:30)

箱重

底層操作不允許使用案例權重。

例子

data(biomass, package = "modeldata")

# rec <- recipe(HHV ~ ., data = biomass) %>%
#   update_role(sample, new_role = "id var") %>%
#   update_role(dataset, new_role = "split variable") %>%
#   step_nnmf(all_numeric_predictors(), num_comp = 2, seed = 473, num_run = 2) %>%
#   prep(training = biomass)
#
# bake(rec, new_data = NULL)
#
# library(ggplot2)
# bake(rec, new_data = NULL) %>%
#  ggplot(aes(x = NNMF2, y = NNMF1, col = HHV)) + geom_point()
源代碼:R/nnmf.R

相關用法


注:本文由純淨天空篩選整理自Max Kuhn等大神的英文原創作品 Non-Negative Matrix Factorization Signal Extraction。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。