当前位置: 首页 > news >正文

网站建设用书江西建设信息网站

网站建设用书,江西建设信息网站,石家庄最好的网站建设公司哪家好,wordpress移动端悬浮导航代码基于R 4.2.2版本演示 一、写在前面 有不少大佬问做机器学习分类能不能用R语言#xff0c;不想学Python咯。 答曰#xff1a;可#xff01;用GPT或者Kimi转一下就得了呗。 加上最近也没啥内容写了#xff0c;就帮各位搬运一下吧。 二、R代码实现SVM分类 #xff08;1不想学Python咯。 答曰可用GPT或者Kimi转一下就得了呗。 加上最近也没啥内容写了就帮各位搬运一下吧。 二、R代码实现SVM分类 1导入数据 我习惯用RStudio自带的导入功能 2建立SVM模型默认参数 # Load necessary libraries library(caret) library(kernlab) library(pROC) library(ggplot2)# Assume data is your dataframe containing the data # Set seed to ensure reproducibility set.seed(123)# Split data into training and validation sets (80% training, 20% validation) trainIndex - createDataPartition(data$X, p 0.8, list FALSE) trainData - data[trainIndex, ] validData - data[-trainIndex, ]# Train the SVM model svmModel - ksvm(X ~ ., data trainData, type C-svc, kernel rbfdot, prob.model TRUE)# Predict on the training and validation sets trainPredict - predict(svmModel, trainData, type probabilities)[,1] validPredict - predict(svmModel, validData, type probabilities)[,1]# Convert predictions to binary using 0.5 as threshold trainPredictBinary - ifelse(trainPredict 0.5, 1, 0) validPredictBinary - ifelse(validPredict 0.5, 1, 0)# Compute ROC objects trainRoc - roc(response as.numeric(trainData$X) - 1, predictor trainPredict) validRoc - roc(response as.numeric(validData$X) - 1, predictor validPredict)# Plot ROC curves using ggplot2 trainRocPlot - ggplot(data data.frame(fpr 1 - trainRoc$specificities, tpr trainRoc$sensitivities), aes(x fpr, y tpr)) geom_line(color blue) geom_area(aes(ifelse(fpr 1, fpr, NA)), fill blue, alpha 0.2) geom_abline(slope 1, intercept 0, linetype dashed, color black) ggtitle(Training ROC Curve) xlab(False Positive Rate) ylab(True Positive Rate) annotate(text, x 0.5, y 0.1, label paste(Training AUC , round(auc(trainRoc), 2)), hjust 0.5, color blue)validRocPlot - ggplot(data data.frame(fpr 1 - validRoc$specificities, tpr validRoc$sensitivities), aes(x fpr, y tpr)) geom_line(color red) geom_area(aes(ifelse(fpr 1, fpr, NA)), fill red, alpha 0.2) geom_abline(slope 1, intercept 0, linetype dashed, color black) ggtitle(Validation ROC Curve) xlab(False Positive Rate) ylab(True Positive Rate) annotate(text, x 0.5, y 0.2, label paste(Validation AUC , round(auc(validRoc), 2)), hjust 0.5, color red)# Display plots print(trainRocPlot) print(validRocPlot)# Calculate confusion matrices based on 0.5 cutoff for probability confMatTrain - table(trainData$X, trainPredict 0.5) confMatValid - table(validData$X, validPredict 0.5)# Function to plot confusion matrix using ggplot2 plot_confusion_matrix - function(conf_mat, dataset_name) {conf_mat_df - as.data.frame(as.table(conf_mat))colnames(conf_mat_df) - c(Actual, Predicted, Freq)p - ggplot(data conf_mat_df, aes(x Predicted, y Actual, fill Freq)) geom_tile(color white) geom_text(aes(label Freq), vjust 1.5, color black, size 5) scale_fill_gradient(low white, high steelblue) labs(title paste(Confusion Matrix -, dataset_name, Set), x Predicted Class, y Actual Class) theme_minimal() theme(axis.text.x element_text(angle 45, hjust 1), plot.title element_text(hjust 0.5))print(p) }# Now call the function to plot and display the confusion matrices plot_confusion_matrix(confMatTrain, Training) plot_confusion_matrix(confMatValid, Validation)# 提取混淆矩阵的值确保它们的命名与你的混淆矩阵布局一致 fp_train - confMatTrain[1, 1] tn_train - confMatTrain[1, 2] tp_train - confMatTrain[2, 1] fn_train - confMatTrain[2, 2]fp_valid - confMatValid[1, 1] tn_valid - confMatValid[1, 2] tp_valid - confMatValid[2, 1] fn_valid - confMatValid[2, 2]# 训练集指标 acc_train - (tp_train tn_train) / sum(confMatTrain) error_rate_train - 1 - acc_train sen_train - tp_train / (tp_train fn_train) # 灵敏度 sep_train - tn_train / (tn_train fp_train) # 特异度 precision_train - tp_train / (tp_train fp_train) # 精确度 F1_train - 2 * (precision_train * sen_train) / (precision_train sen_train) MCC_train - (tp_train * tn_train - fp_train * fn_train) / sqrt((tp_train fp_train) * (tp_train fn_train) * (tn_train fp_train) * (tn_train fn_train)) auc_train - roc(response trainData$X, predictor trainPredict)$auc# 验证集指标 acc_valid - (tp_valid tn_valid) / sum(confMatValid) error_rate_valid - 1 - acc_valid sen_valid - tp_valid / (tp_valid fn_valid) # 灵敏度 sep_valid - tn_valid / (tn_valid fp_valid) # 特异度 precision_valid - tp_valid / (tp_valid fp_valid) # 精确度 F1_valid - 2 * (precision_valid * sen_valid) / (precision_valid sen_valid) MCC_valid - (tp_valid * tn_valid - fp_valid * fn_valid) / sqrt((tp_valid fp_valid) * (tp_valid fn_valid) * (tn_valid fp_valid) * (tn_valid fn_valid)) auc_valid - roc(response validData$X, predictor validPredict)$auc# Print Metrics cat(Training Metrics\n) cat(Accuracy:, acc_train, \n) cat(Error Rate:, error_rate_train, \n) cat(Sensitivity:, sen_train, \n) cat(Specificity:, sep_train, \n) cat(Precision:, precision_train, \n) cat(F1 Score:, F1_train, \n) cat(MCC:, MCC_train, \n) cat(AUC:, auc_train, \n\n)cat(Validation Metrics\n) cat(Accuracy:, acc_valid, \n) cat(Error Rate:, error_rate_valid, \n) cat(Sensitivity:, sen_valid, \n) cat(Specificity:, sep_valid, \n) cat(Precision:, precision_valid, \n) cat(F1 Score:, F1_valid, \n) cat(MCC:, MCC_valid, \n) cat(AUC:, auc_valid, \n) 结果输出随便挑的 效果一般般。 三、SVM调参 ksvm 函数是 kernlab 包中的一个函数用于在 R 语言中构建和训练支持向量机SVM模型。以下是 ksvm 的一些主要参数和选项这些参数允许你定制和优化SVM的训练过程 formula一种符号描述的模型公式指示如何将变量应用到分析中。 data包含数据的数据框data frame。 type模型类型包括 C-svcC-支持向量分类。 nu-svcNu-支持向量分类。 C-bsvc不平衡分类。 spoc-svc结构化输出和输出校正。 kbb-svc基于核的二进制分类。 C-svrC-支持向量回归。 nu-svrNu-支持向量回归。 eps-svrε-支持向量回归。 C-bsvr不平衡回归。 lp线性规划。 kernel核函数类型包括 rbfdot径向基函数核。 polydot多项式核。 vanilladot线性核。 tanhdot双曲正切核。 laplacedot拉普拉斯核。 besseldot贝塞尔核。 anovadotANOVA核。 splinedot样条核。 C错误的成本用于C-支持向量分类和回归较大的值表示对错误的惩罚增加。一般从 0.1 到 1000具体取值可以通过交叉验证来确定。常用的实验值包括 1, 10, 100 等。 sigma用于 RBF 核高斯核的宽度参数。sigma 的理想取值高度依赖于数据的分布和特征的尺度即特征的范围或方差。因此没有固定的“最佳”取值范围而是需要根据具体情况来确定。常见的做法包括 基于数据的启发式方法一个常见的启发式方法是将 sigma 设置为特征空间中点到点距离的中值或平均值的函数。另一种方法是将 sigma 设置为特征标准差的倒数。 试错法Trial and Error在实际应用中可以通过试验一系列的 sigma 值来观察模型性能的变化。例如可以在对数尺度上均匀尝试如 0.01, 0.1, 1, 10 等。 degree多项式核函数的度数。 scale核函数的缩放参数。 offset核函数的偏移量。 prob.model是否计算概率估计适用于分类任务。 cross进行交叉验证的次数用于模型选择和参数优化。 na.action缺失数据的处理策略。 shrinking是否使用启发式方法来加速计算。 tol收敛容忍度用于优化算法。 epsilon(用于 SVR)ε-支持向量回归中的损失函数边缘宽度。 fitted是否返回拟合值。 scaled是否对数据进行标准化处理。 feature.out是否输出模型中使用的特征。 大家自个调吧我不调了。 五、最后 至于怎么安装自学了哈。 数据嘛 链接https://pan.baidu.com/s/1rEf6JZyzA1ia5exoq5OF7g?pwdx8xm 提取码x8xm
http://www.laogonggong.com/news/109939.html

相关文章:

  • 个人主页网站制作教程子域名绑定wordpress子目录
  • 株洲做网站定制江门城乡建设部网站首页
  • 广州网站设计哪里好工程合同模板
  • 广东外贸网站开发营销策划方案论文
  • php网站开发wamp网站开发进度控制计划表
  • 上海公司网站制作网站关站
  • 网站做网站反向代理违法东莞南城外贸网站建设
  • vs2010网站开发实例中国域名注册
  • 宜都网站seo免费建站平台排行榜
  • 网站域名证书哪里获取在线商城网站开发代码
  • 嘉定区网站建设电商网站基本功能
  • 网站参数设定搭建直播网站需要怎么做
  • 广东网站建设人员万网上传wordpress
  • 沧州网站建设的集成商关于校园推广的软文
  • 关于网站建设的讲话wordpress html cdn
  • 所有外包网站装宽带需要多少钱
  • 开个做网站的公司关于化妆品的网页设计
  • 爱站工具查询wordpress怎么上传到服务器错误
  • 网站商城与网站区别做网站的公司名称
  • 网站建设方案书要怎么样写小型办公室网络布线设计方案
  • 公司网站域名和空间使用费秦皇岛市建设局官网
  • 网站为什么续费兰州装修公司排名前十口碑推荐
  • 好人一生平安网站哪个好seo关键词优化报价
  • 上海网站建设制作深圳电子网络推广查询
  • 国内网站建设排名西安找工作哪个网站好
  • 手工制作飞机网站做sem优化
  • 惠州网站建设系统网站建设 课程
  • vscode网站开发西部数码助手网站后台管理
  • 成都建筑网站建设如何推广引流
  • 广州条友网广告推荐外贸网站谷歌seo