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

网站建设实验后体会可以做产品宣传的网站

网站建设实验后体会,可以做产品宣传的网站,学校营销型网站建设,网站制作注意事项基于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.hkea.cn/news/14266139/

相关文章:

  • 莆田网站制作价格有赞分销商城
  • zencart 网站换域名北京建设网站官网
  • 网站要学什么格力网站的建设情况
  • 网站设计与网页建设德阳移动网站建设
  • php可以做网站吗哪个网站开发软件
  • 做几个网站好百度上怎么打广告宣传
  • 网站开发会用到定时器功能mip网站怎么做匹配
  • 网站第一关键词怎么做腾讯视频网站源码
  • 中国正规的加盟网站扁平化网站模板下载
  • 扬州住房和建设局网站浦东新区
  • 合肥网站seo技术多语言企业网站
  • 建设厅网站文件揭阳企业建站服务公司
  • 网站设计师需要什么知识与技能设计品牌名称和标志
  • 电子商务作业做网站网站开发参考文献期刊
  • 东莞网站建设网站做网站打算套用模板
  • 网站开发费会计处理主机屋 大网站
  • 简述网站制作流程阿里云 多域名解析 到不同的网站
  • 网站自助搭建平台软文写作案例
  • 产品销售型企业网站有哪些怎么根据网站做二维码
  • 莲都区建设局门户网站宁波派桑网站建设
  • 西安制作手机网站外贸网站服务商
  • 昆山建设招标信息网站开门红营销活动方案
  • 黄岛网站建设多少钱网络服务者
  • 建晨网站建设有限公司app网站制作多少钱
  • 应聘网站运营建设面试网站制作的电话
  • 网站建设需要什么方案上海谷歌seo公司
  • 被k掉的网站怎么做才能有收录佛山网站建设公司
  • html怎么弄成网站新闻播报最新
  • 怎么样免费建网站做网站wordpress
  • 棋牌网站哪里做制作app平台需要多少钱