這些函數與構造函數類似,可用於驗證與包使用的底層模型結構不存在衝突。
用法
set_new_model(model)
set_model_mode(model, mode)
set_model_engine(model, mode, eng)
set_model_arg(model, eng, parsnip, original, func, has_submodel)
set_dependency(model, eng, pkg = "parsnip", mode = NULL)
get_dependency(model)
set_fit(model, mode, eng, value)
get_fit(model)
set_pred(model, mode, eng, type, value)
get_pred_type(model, type)
show_model_info(model)
pred_value_template(pre = NULL, post = NULL, func, ...)
set_encoding(model, mode, eng, options)
get_encoding(model)
參數
- model
-
模型類型的單個字符串(例如
"rand_forest"
等)。 - mode
-
模型模式的單個字符串(例如"regression")。
- eng
-
模型引擎的單個字符串。
- parsnip
-
parsnip
公開的 "harmonized" 參數名稱的單個字符串。 - original
-
底層模型函數使用的參數名稱的單個字符串。
- func
-
說明如何調用函數的命名字符向量。
func
應該包含元素pkg
和fun
。前者是可選的,但建議使用,後者是必需的。例如,c(pkg = "stats", fun = "lm")
將用於調用通常的線性回歸函數。在某些情況下,在使用包的predict
方法時使用c(fun = "predict")
會很有幫助。 - has_submodel
-
關於參數是否可以同時對多個子模型進行預測的單一邏輯。
- pkg
-
包名稱的選項字符串。
- value
-
符合下麵
fit_obj
或pred_obj
說明的列表,具體取決於上下文。 - type
-
預測類型的單個字符值。可能的值為:
class
、conf_int
、numeric
、pred_int
、prob
、quantile
和raw
。 - pre, post
-
用於預測結果的預處理和後處理的可選函數。
- ...
-
應傳遞到預測對象的
args
槽中的可選參數。 - options
-
特定於引擎的預處理編碼的選項列表。請參閱下麵的詳細信息。
細節
這些函數可供用戶添加自己的模型或引擎(在包中或以其他方式),以便可以使用 parsnip
訪問它們。軟件包網站上對此進行了更詳細的記錄(請參閱下麵的引用)。
簡而言之,parsnip
存儲一個環境對象,其中包含有關如何使用模型的所有信息和代碼(例如擬合、預測等)。這些函數可用於將模型添加到該環境中,以及可用於確保模型數據采用正確格式的輔助函數。
check_model_exists()
檢查模型值並確保模型已注冊。 check_model_doesnt_exist()
檢查模型值,並檢查它在環境中是否新穎。
特定於引擎的編碼選項決定了如何處理預測變量。這些選項確保 parsnip
提供給基礎模型的數據允許模型擬合與其直接生成的數據盡可能相似。
例如,如果使用 fit()
來擬合沒有公式接口的模型,通常必須進行一些預測器預處理。 glmnet
就是一個很好的例子。
有四個選項可用於編碼:
predictor_indicators
說明是否以及如何從因子預測變量創建指標/虛擬變量。共有三個選項:"none"
(不擴展因子預測變量)、"traditional"
(應用標準 model.matrix()
編碼)和 "one_hot"
(創建包括所有因子的基線水平的完整集)。此編碼僅影響使用 fit.model_spec()
並且底層模型具有 x/y 接口的情況。
另一個選項是compute_intercept
;這控製 model.matrix()
是否應在其公式中包含截距。這影響的不僅僅是截距列的包含。通過截距,model.matrix()
計算除一個因子水平之外的所有虛擬變量。如果沒有截距,model.matrix()
會計算第一個因子變量的完整指標集,但會計算其餘變量的不完整指標集。
接下來,選項remove_intercept
將在model.matrix()
完成後刪除截距列。如果模型函數(例如 lm()
)自動生成截距,這會很有用。
最後,allow_sparse_x
指定模型函數是否可以在擬合和調整期間本機容納預測變量的稀疏矩陣表示。
例子
# set_new_model("shallow_learning_model")
# Show the information about a model:
show_model_info("rand_forest")
#> Information for `rand_forest`
#> modes: unknown, classification, regression, censored regression
#>
#> engines:
#> classification: randomForest, ranger¹, spark
#> regression: randomForest, ranger¹, spark
#>
#> ¹The model can use case weights.
#>
#> arguments:
#> ranger:
#> mtry --> mtry
#> trees --> num.trees
#> min_n --> min.node.size
#> randomForest:
#> mtry --> mtry
#> trees --> ntree
#> min_n --> nodesize
#> spark:
#> mtry --> feature_subset_strategy
#> trees --> num_trees
#> min_n --> min_instances_per_node
#>
#> fit modules:
#> engine mode
#> ranger classification
#> ranger regression
#> randomForest classification
#> randomForest regression
#> spark classification
#> spark regression
#>
#> prediction modules:
#> mode engine methods
#> classification randomForest class, prob, raw
#> classification ranger class, conf_int, prob, raw
#> classification spark class, prob
#> regression randomForest numeric, raw
#> regression ranger conf_int, numeric, raw
#> regression spark numeric
#>
相關用法
- R parsnip set_engine 聲明計算引擎和特定參數
- R parsnip set_args 更改模型規範的元素
- R parsnip svm_rbf 徑向基函數支持向量機
- R parsnip svm_linear 線性支持向量機
- R parsnip show_engines 顯示模型當前可用的引擎
- R parsnip svm_poly 多項式支持向量機
- R parsnip survival_reg 參數生存回歸
- R parsnip logistic_reg 邏輯回歸
- R parsnip predict.model_fit 模型預測
- R parsnip linear_reg 線性回歸
- R parsnip C5_rules C5.0 基於規則的分類模型
- R parsnip condense_control 將控製對象壓縮為更小的控製對象
- R parsnip control_parsnip 控製擬合函數
- R parsnip augment 通過預測增強數據
- R parsnip repair_call 修複模型調用對象
- R parsnip dot-model_param_name_key 翻譯模型調整參數的名稱
- R parsnip glm_grouped 將數據集中的分組二項式結果與個案權重擬合
- R parsnip rule_fit 規則擬合模型
- R parsnip translate 解決計算引擎的模型規範
- R parsnip max_mtry_formula 根據公式確定 mtry 的最大值。此函數可能會根據公式和數據集限製 mtry 的值。對於生存和/或多變量模型來說,這是一種安全的方法。
- R parsnip rand_forest 隨機森林
- R parsnip mlp 單層神經網絡
- R parsnip nearest_neighbor K-最近鄰
- R parsnip parsnip_update 更新型號規格
- R parsnip fit 將模型規範擬合到數據集
注:本文由純淨天空篩選整理自Max Kuhn等大神的英文原創作品 Tools to Register Models。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。