當前位置:股票大全官網 - 股票投資 - 基於tidymodels軟件包進行特征篩選,計算radscore。

基於tidymodels軟件包進行特征篩選,計算radscore。

1.計算環境設置

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-測試(數據分割)