2.數據預處理(以整潔的格式準備數據集)
3.將數據集分為建模組和測試組。建模組內多重采樣的劃分方法壹般采用10交叉驗證或帶替換的重采樣的方法。
4.對變量進行特征工程,主要包括:確定預測變量和結果變量、去除冗余變量、標準化數值變量、將字符變量改為虛擬變量等。
5.構建待擬合模型,確定待調整的超參數。
6.確定超參數調整策略
7.進行數據擬合和叠代計算,確定最佳超參數。
8.提取最優超參數,重新擬合建模組中的所有數據,得到非零變量的系數(coef)。
9.將coef與原始數據乘以矩陣,得到最終得分。
{r setup,include=FALSE}
knitter::opts _ chunk $ set(echo = TRUE)
圖書館(tidyverse)
圖書館(tidymodels)
用於並行計算的庫(doParallel)#包
庫(BLASSO)#使用10交叉驗證和套索回歸篩選連續變量。
library(survival)#的測試數據是冒號,來自這個包。另外,生存分析過程也差不多,加載這個包時可以調用生存分析函數。
rawcore & lt-detectCores()#確定計算機核心的數量
c 1 = make cluster(0.5 * raw core)#設置使用壹半Cpu進行計算。
RegisterDoParallel(c1)#將環境設置為多核計算。
數據(“癌癥”)
冒號性別==1,“男”,“女”)
冒號阻塞==1,"是","否")
冒號穿孔==1,"是","否")
冒號粘附==1,"是","否")
冒號狀態==1,“死亡”,“活著”)
冒號node4 ==1,"是","否")
冒號& lt-選擇(冒號、id、年齡、rx、性別、年齡、阻塞、穿孔、粘附、節點、狀態)
rawdata & lt-冒號
rawdata $ id & lt-c(1:dim(raw data)[1])# ID必須是唯壹的,後續的Blasso函數都需要它。
rawdata & lt- rename(rawdata,ID=id)
原始數據
種子設定(2022)
數據分割& lt- initial_split(原始數據,#更新的數據
prop = 0.25,
階層=地位)
訓練數據& lt-培訓(數據分割)
測試數據& lt-測試(數據分割)