第100+40步 ChatGPT學習:R語言實現多輪建模

回顧一下什么叫多輪建模:

要綜合判斷一個模型好不好,一次隨機抽樣是不行的,得多次抽樣建模,看看整體的性能如何才行(特別是對于這種小訓練集)。

所以我的思路是,隨機抽取訓練集和驗證集2000次(隨你),然后構建2000個ML模型(譬如2000個樸素貝葉斯),得出2000批性能參數。那怎么實現呢,下面上R語言代碼,以樸素貝葉斯為例:

library(caret)
library(e1071)
library(pROC)# 加載數據集
dataset <- read.csv("X disease code fs.csv")
cat("數據集加載成功。\n")
X <- dataset[, 2:14]
Y <- dataset[, 1]# 初始化結果數據框
results <- data.frame(Random_Seed = integer(),Sensitivity_Test = numeric(),Specificity_Test = numeric(),AUC_Test = numeric(),Sensitivity_Train = numeric(),Specificity_Train = numeric(),AUC_Train = numeric()
)
cat("結果數據框初始化完成。\n")# 遍歷隨機種子
for (n in 1:2000) {set.seed(n)cat("設置隨機種子為", n, "\n")# 劃分數據集trainIndex <- createDataPartition(Y, p = 0.7, list = FALSE)X_train <- X[trainIndex, ]X_test <- X[-trainIndex, ]y_train <- Y[trainIndex]y_test <- Y[-trainIndex]cat("數據集劃分為訓練集和測試集。\n")# 標準化特征preProcValues <- preProcess(X_train, method = c("center", "scale"))X_train <- predict(preProcValues, X_train)X_test <- predict(preProcValues, X_test)cat("特征標準化完成。\n")# 訓練樸素貝葉斯模型model <- naiveBayes(X_train, y_train)cat("樸素貝葉斯模型訓練完成。\n")# 進行預測y_pred <- predict(model, X_test)y_train_pred <- predict(model, X_train)cat("完成對訓練集和測試集的預測。\n")# 計算混淆矩陣cm_test <- confusionMatrix(as.factor(y_pred), as.factor(y_test))cm_train <- confusionMatrix(as.factor(y_train_pred), as.factor(y_train))cat("混淆矩陣計算完成。\n")# 計算AUC分數auc_test <- auc(as.numeric(y_test), as.numeric(y_pred))auc_train <- auc(as.numeric(y_train), as.numeric(y_train_pred))cat("AUC分數計算完成:測試集 =", auc_test, ",訓練集 =", auc_train, "\n")# 提取敏感性和特異性sen_test <- cm_test$byClass["Sensitivity"]sep_test <- cm_test$byClass["Specificity"]sen_train <- cm_train$byClass["Sensitivity"]sep_train <- cm_train$byClass["Specificity"]cat("敏感性和特異性提取完成。\n")# 追加結果results <- rbind(results, data.frame(Random_Seed = n,Sensitivity_Test = sen_test,Specificity_Test = sep_test,AUC_Test = auc_test,Sensitivity_Train = sen_train,Specificity_Train = sep_train,AUC_Train = auc_train))cat("第", n, "次迭代的結果已追加。\n")
}# 保存結果到CSV
write.csv(results, "jet_NB_par.csv", row.names = FALSE)
cat("結果已保存到jet_NB_par.csv。\n")

簡單解說:

(A)其實就是一個for循環語句,for (n in 1:2000) ,2000次就是2000,你要是想運行10000次,就改成10000;

(B)運行以后呢,可以看到模型在迭代,顯示的是運行到第幾個模型了:

(C)用代碼write.csv(results, "jet_NB_par.csv", row.names = FALSE)輸出成excel查看,輸出地址就是你的工作路徑,不懂的話可以使用代碼getwd()展示出來。

(D)打開工作路徑,可以發現jet_NB_par這個文件:

(E)打開文件,調整一下格式:

(F)然后可以操作了,比如test-sen排個序,看看最好的有多好;比如看看2000次的平均值和標準差:AUC平均值0.77-0.78左右。剩下的自己玩了,不說那么多了,發揮你們的妄想空間。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/79921.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/79921.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/79921.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

編碼器型與解碼器型語言模型的比較

編碼器型與解碼器型語言模型的比較 1. 引言 自然語言處理&#xff08;NLP&#xff09;領域近年來取得了革命性進展&#xff0c;這在很大程度上歸功于基于Transformer架構的語言模型。在這一技術生態中&#xff0c;編碼器型&#xff08;Encoder-only&#xff09;和解碼器型&am…

python--------修改桌面文件內容

目錄 1. 文件的讀寫1. 寫入文件2. 讀取文件3. 追加內容到文件 2.file_path 的常見方法1. 絕對路徑2. 相對路徑3. 使用 os.path 模塊構建路徑5. 路徑操作5. 用戶主目錄路徑 4. 修改文件內容1.將修改后的內容寫回文件2. 逐行處理文件內容3. 使用上下文管理器確保文件安全 1. 文件…

愛普生VG7050EFN壓控晶振在小基站的應用優勢

在 5G 通信時代&#xff0c;小基站作為提升網絡覆蓋和容量的重要一環&#xff0c;小基站的穩定運行對于保障用戶流暢的通信體驗起著關鍵作用。而在小基站的核心組件中&#xff0c;時鐘信號源的質量直接影響著通信質量和設備性能。愛普生VG7050EFN晶振憑借其高性能、小尺寸和低功…

人工智能如何革新數據可視化領域?探索未來趨勢

在當今數字化時代&#xff0c;數據如同洶涌浪潮般不斷涌現。據國際數據公司&#xff08;IDC&#xff09;預測&#xff0c;全球每年產生的數據量將從 2018 年的 33ZB 增長到 2025 年的 175ZB。面對如此海量的數據&#xff0c;如何有效理解和利用這些數據成為了關鍵問題。數據可視…

精益數據分析(42/126):移動應用商業模式的深度剖析與實戰要點

精益數據分析&#xff08;42/126&#xff09;&#xff1a;移動應用商業模式的深度剖析與實戰要點 在創業和數據分析的學習之路上&#xff0c;我們持續探索不同商業模式的奧秘&#xff0c;今天聚焦于移動應用商業模式。我希望和大家一起進步&#xff0c;深入解讀《精益數據分析…

未來 CSS:變量、容器查詢與新特性的探索

引言&#xff1a;CSS 演進與未來展望 在前端開發的快速發展浪潮中&#xff0c;CSS 已從簡單的樣式標記語言蛻變為構建現代設計系統的強大基礎。根據 HTTP Archive 的 Web Almanac 的調查&#xff0c;超過 86% 的網站已采用至少一項現代 CSS 特性&#xff0c;這一數字仍在持續攀…

概統期末復習--速成

隨機事件及其概率 加法公式 推三個的時候ABC&#xff0c;夾逼準則 減法準則 除法公式 相互獨立定義 兩種分析 兩個解法 古典概型求概率&#xff08;排列組合&#xff09; 分步相乘、分類相加 全概率公式和貝葉斯公式 兩階段問題 第一個小概率*A在小概率的概率。。。累計 …

論微服務架構設計及應用

目錄 摘要(300~330字) 正文(2000~2500字,2200字為宜) 背景介紹(500字做左右) 論點論據(1500字做左右)

【東楓科技】AMD / Xilinx Alveo? V80計算加速器卡

AMD / Xilinx Alveo? V80計算加速器卡 AMD/Xilinx Alveo ? V80計算加速器卡是一款功能強大的計算加速器&#xff0c;基于7nm Versal? 自適應SoC架構而打造。 AMD/Xilinx Alveo V80卡設計用于內存密集型任務。 這些任務包括HPC、數據分析、網絡安全、傳感器處理、計算存儲和…

基于大模型的自然臨產陰道分娩全流程預測與方案研究報告

目錄 一、引言 1.1 研究背景與目的 1.2 研究意義 1.3 國內外研究現狀 二、大模型技術原理與應用概述 2.1 大模型基本原理 2.2 在醫療領域的應用現狀 2.3 用于分娩預測的優勢 三、術前預測與準備方案 3.1 產婦身體狀況評估指標 3.2 大模型預測流程與方法 3.3 基于預…

macbook install chromedriver

# 打開 Chrome 訪問以下地址查看版本 chrome://version/# 終端查看版本號 (示例輸出: 125.0.6422.113) /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version測試&#xff1a;

LeetCode 790 多米諾和托米諾平鋪 題解

對于本題不去看LeetCode的評論區和題解很難想到如何去dp&#xff0c;畢竟就算再怎么枚舉也很難找到適用于面向結果的規律。所以對于題解我建議大家還是去看一下靈神給的題解&#xff0c;以下是靈神匯總的圖&#xff0c;如果能看懂的話&#xff0c;對于解決題目有很大的幫助。 根…

Day17 聚類算法(K-Means、DBSCAN、層次聚類)

一、聚類算法 1. K-Means 聚類 原理&#xff1a;K-Means 是一種基于劃分的聚類算法&#xff0c;目標是將 n n n 個樣本劃分到 k k k 個簇中&#xff0c;使得簇內樣本的相似度盡可能高&#xff0c;簇間樣本的相似度盡可能低。算法通過迭代的方式&#xff0c;不斷更新簇的質心…

【編程干貨】本地用 Ollama + LLaMA 3 實現 Model Context Protocol(MCP)對話服務

模型上下文協議&#xff08;MCP&#xff09;本身提供的是一套標準化的通信規則和接口&#xff0c;簡化了客戶端應用的開發。 MCP 實際上是一套規范&#xff0c;官方把整套協議分成「傳輸層 協議層 功能層」三大塊&#xff0c;并對初始化握手、能力協商、數據/工具暴露、安全…

永磁同步電機控制算法-基于新型趨近律的反饋線性化滑模控制

一、原理介紹 針對永磁同步電機傳統PID矢量控制方式無法實現d、q軸電流完全解耦控制的問題&#xff0c;運用反饋線性化理論實現永磁同步電機轉速和d軸電流解耦。針對反饋線性化導致的魯棒性下降問題&#xff0c;利用滑模控制方式提高系統魯棒性&#xff0c;引入新型雙冪次趨近…

德爾菲法和層次分析法是什么

德爾菲法和層次分析法是什么 德爾菲法和層次分析法是兩種常用的決策分析方法 德爾菲法 定義:德爾菲法是一種采用背對背的通信方式征詢專家小組成員的預測意見,經過幾輪征詢,使專家小組的預測意見趨于集中,最后做出符合市場未來發展趨勢的預測結論。實施步驟 組成專家小組…

【windows】win10部分版本的sxs文件下載

Win10部分版本的sxs文件下載 win10 1703 鏈接: https://pan.baidu.com/s/13O5djVSWIhIjBP1ZVtORAA?pwdsdpp 提取碼: sdpp win10 1809 鏈接: https://pan.baidu.com/s/1vUEMQWqWcyTicHLJNox99w?pwddfx4 提取碼: dfx4 win10 1903,1909 鏈接: https://pan.baidu.com/s/1MoKcm3N…

Java項目部署-Springboot+Vue網頁部署上線全教程

SpringbootVue網頁部署上線全教程 文章目錄 SpringbootVue網頁部署上線全教程1.環境說明2.Mysql安裝部署2.1 安裝并修改密碼2.2 防火墻開放 3.Spring Boot項目打包3.1 配置公網ip3.2 安裝 Maven3.3 使用 Maven 打包 Spring Boot 項目3.4 Centos運行Jar包3.4.1 安裝 Java 1.8 環…

FISCO BCOS【初體驗筆記】

飛梭區塊鏈搭建初體驗筆記 環境部署創建四個節點的飛梭區塊鏈用的VMware17 centos 7.9 區塊鏈是飛梭2.0用的webase-frontJava環境的正確安裝Webase-front搭建 智能合約設計一點合約調試筆記 智能合約abi文件轉為go文件后端項目配置相關工具linux常用命令&#xff08;防忘記&…

內容社區系統開發文檔

1 系統分析 1.1 項目背景 1.2 需求分析 2 系統設計 2.1 系統功能設計 2.2 數據庫設計 2.2.1 數據庫需求分析 2.2.2 數據庫概念結構設計 2.2.3 數據庫邏輯結構設計 2.2.4 數據庫物理結構設計 2.2.5 數據庫視圖設計 2.2.6 函數設計 2.2.7 存儲過程設計 2.2.8 觸發器…