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

高端大气的网站模板国外的旅游网站开发

高端大气的网站模板,国外的旅游网站开发,绵阳网站搜索排名,用jsp做的网站代码一、线性回归分析 1、lm()函数 lm()函数是用于拟合线性模型#xff08;Linear Models#xff09;的主要函数。线性模型是一种统计方法#xff0c;用于描述一个或多个自变量#xff08;预测变量、解释变量#xff09;与因变量#xff08;响应变量#xff09;之间的关系…一、线性回归分析 1、lm()函数 lm()函数是用于拟合线性模型Linear Models的主要函数。线性模型是一种统计方法用于描述一个或多个自变量预测变量、解释变量与因变量响应变量之间的关系。它可以处理简单的线性回归、多元线性回归以及带有分类预测变量的回归通过创建虚拟变量或指示变量。 基本格式 lm(formula, data, subset, weights, ...) formula描述因变量与自变量间关系的符号表达式。data包含公式中所有变量的数据框data frame或列表list。若未明确指定R 将在全局环境中搜索变量。subset子集逻辑向量或表达式用于从数据中筛选用于模型拟合的观测值。默认为NULL即使用全部数据。weights权重可选参数用于为各观测值分配权重。默认为 NULL即所有观测值权重相等。...其他参数lm函数还接受其他多个参数这些参数通常与模型的拟合与优化相关。例如na.action参数可用于定义缺失值NA的处理方式method参数可用于指定拟合方法尽管对于普通线性模型此参数通常设为默认值 qr 即可。 2、简单线性回归 用R语言内置的cars数据集做演示此数据集记录了汽车的速度speed和停车距离dist一共50条记录。 head(cars, n5) # 简单线性模型拟合 fit - lm(dist ~ speed, datacars) # 拟合结果的详细信息 summary(fit) # 模型参数 coeffcients(fit) # 回归系数置信区间 confint(fit) # 模型预测值 fitted(fit) # 模型的残差 residuals(fit) 从上面结果可知拟合得到的模型参数的截距项为-17.5791回归系数是3.9324调整的多重R2Adjusted R-squared为0.6438说明该模型能解释停车距离为64.38%的变异。方差分析结果也显示整个模型是显著的p1.49e-12 0.05。因为简单线性回归只有一个自变量所以模型的F检验和回归系数的t检验的结果是相同的。 plot(cars) lines(xcars$speed, yfitted(fit), colred) 3、多重线性回归 多重线性回归包含多个自变量。 下面使用R语言内置的数据集mtcars进行演示此数据集包含了32种汽车的11种基本性能数据。通过汽车排量disp总功率hp后桥速比drat和车重wt四个变量来预测汽车油耗指数mpgmpg越大油耗越低。 head(mtcars, n5) fit - lm(mpg ~ disp hp drat wt, datamtcars) summary(fit) 从以上结果可知汽车排量和后桥速比与汽车油耗指数正相关而汽车总功率和车重于汽车油耗指数负相关。在多重线性回归中回归系数表示当1个自变量每增加1个单位且其它自变量不变时因变量所增加或减少的数量例如车重的回归系数为-3.479668表示当排量、总功率和后桥速比不变时车重每增加1个单位汽车油耗指数将下降约3.48个单位。方差分析结果表明整个回归模型是显著的F34.82p2.704e-100.01。在截距项和回归系数显著性检验中截距项(Intercept)、总功率(hp)和车重(wt)的回归系数显著Pr0.05 ,排量disp和后桥速比drat的回归系数不显著。整个模型能解释油耗指数81.36%的变异。 4、plot()函数 R语言中有一个实用的基础函数plot()可以生成四种回归模型诊断图残差图、正态QQ图、尺度-位置图和残差-杠杆图。 fit - lm(mpg ~ disphpdratwt, datamtcars) # 将四种形态组合成一张图 par(mfrowc(2,2)) plot(fit) 5、多重共线性 如果自变量之间为多重共线性即自变量之间有较强的相关性将使回归系数的估计产生非常严重的误差以至于估计出来的回归系数没有任何意义。如果要判断回归模型是否存在严重的多重共线性可以使用方差膨胀因子。 library(car) fit - lm(mpg ~ disphpdratwt, datamtcars) vif - vif(fit) vif # 查看哪些变量膨胀因子大于10 vif 10 # 查看哪些变量膨胀因子的开方大于2 sqrt(vif) 2 从上面结果可知如果以方差膨胀因子是否大于10来作为判断准则那么该回归模型中不存在严重的多重共线性如果以方差膨胀因子的开方大于2为判断准则那么该回归模型中存在disp和wt两个变量时存在严重的多重共线性。 二、判别分析 判别分析就是利用若干个特征来表征事物通过对这些特征的定量分析最终将事物判定为某一已知总体。 常见的判别分析有如下三种。 1、距离判别 距离判别Distance-based Discriminant Analysis对空间中的某个点进行类属判别最容易想到的是使用该点与各已知总体的距离远近来进行判别。 对数据进行距离判别有很多种选择借助mahalanobis()函数得到马氏距离接着自编函数进行距离判别使用WMDB扩展包的wmd()函数此函数可以进行加权或非加权的马氏距离判别使用WeDiBaDis扩展包的WDBdisc()函数此函数也可以进行加权或非加权的马氏距离判别。 以下是如何在R中实现基于距离的分类的基本步骤 1.1 准备数据 确保你的数据集已经加载并准备好。数据集应该包含特征变量用于计算距离和目标变量类别标签。 1.2 计算类别中心 对于每个类别计算其所有样本的均值或其他代表点这将作为该类别的中心。 1.3 计算距离 对于新的未知样本计算它到每个类别中心的距离。可以使用欧氏距离、马氏距离等。 1.4 分类 将样本分类到距离最小的类别中。 1.5 评估模型 使用测试集评估模型的性能通常通过混淆矩阵、准确率等指标。 1.6 示例 使用R语言中内置的iris数据集进行演示此数据集包含了3类鸢尾花setosa、versicolor和virginica的4个特征从150条记录。 # 先查看数据信息 head(iris) str(iris) library(iris) describe(iris) # 从iris数据集中随机抽取3种鸢尾花的数据各一条作为测试集剩余的作为训练集 # 设定随机种子 set.seed(1234) # 随机抽取测试集 data - cbind(rownames rownames(iris),iris) # 将行名添加为数据框的一列 library(dplyr) test_data - data %% group_by(Species) %% sample_n(1) # 剩余数据作为训练集 train_data - filter(data, !(rownames %in% test_data$rownames)) # 移除行名列以进行后续计算 test_data - test_data[,-1] %% ungroup() test_data # 移除行名列以进行后续计算 train_data - train_data[,-1] %% ungroup() head(train_data,n10)使用WDBdisc()函数进行马氏距离判别 4.4.2版本的R语言不支持安装WeDiBaDis扩展包。 # 将数据框转换为矩阵 library(dplyr) test_data1 - mutate(test_data, Speciesas.numeric(Species)) %% as.matrix() train_data1 - mutate(train_data, Speciesas.numeric(Species)) %% as.matrix()# 进行马氏距离判别 library(WeDiBaDis) fit1 - WDBdisc(datatrain_data1, datatypem, classcol5, distanceMahalanobis, methodDB) summary(fit1) 如下使用欧氏距离进行基于距离的分类  # 查看数据集 head(iris, n5) # 加载数据集 data(iris)# 拆分数据集为训练集和测试集 set.seed(12345) index - sample(1:nrow(iris), 0.7 * nrow(iris)) # 70%训练集 train_data - iris[index, -5] # 训练集去掉最后的类别标签用于计算中心 train_labels - iris[index, 5]test_data - iris[-index, -5] # 测试集 test_labels - iris[-index, 5]# 计算类别中心 centers - aggregate(train_data, bylist(Speciestrain_labels), FUNmean)# 定义一个函数来计算欧氏距离 euclidean_distance - function(x, y) {sqrt(sum((x - y)^2)) }# 对测试集中的每个样本进行分类 predictions - apply(test_data, 1, function(row) {distances - sapply(split(centers[, -1], centers$Species), function(center) {euclidean_distance(row, center)})# 返回距离最小的类别names(which.min(distances)) })# 评估模型性能 conf_matrix - table(Predictedpredictions, Actualtest_labels) accuracy - sum(diag(conf_matrix)) / sum(conf_matrix) print(conf_matrix) print(paste(Accuracy:, round(accuracy, 2))) 2、Fisher判别 Fisher判别分析Fisher Discriminant Analysis, FDA也被称为线性判别分析Linear Discriminant Analysis, LDA在统计模式识别领域有着广泛的应用。尽管“Fisher判别分析”和“线性判别分析”在术语上存在些许差异但在大多数情况下它们指的是同一种方法。FDA/LDA的目标是找到一个线性组合或投影方向使得在这个方向上不同类别之间的样本投影点尽可能分开而同一类别内的样本投影点尽可能紧凑。 使用MASS扩展包的lda()函数做演示 library(MASS) # 包含lda函数 library(ggplot2) # 可视化# 使用经典鸢尾花数据集 data(iris) head(iris)# 数据预处理 set.seed(12) # 设置随机种子保证可重复性 train_index - sample(1:nrow(iris), nrow(iris)*0.9) # 90%训练集 train_data - iris[train_index, ] test_data - iris[-train_index, ]# 执行Fisher判别分析LDASpecies ~ .表示使用所有特征预测品种 lda_model - lda(Species ~ ., data train_data)# 查看模型概要 print(lda_model) lda()函数会输出各类别的先验概率Prior probabilities、分组均值Group means、判别函数系数Coefficients of linear discriminants和迹的比重Proportion of trace。其中LD1能解释总变异的99.22%LD2只能解释总变异的0.78%故LD1就是所需要的线性函数。 # 模型预测 predictions - predict(lda_model, newdata test_data)# 生成混淆矩阵 confusion_matrix - table(Predicted predictions$class, Actual test_data$Species) print(confusion_matrix) # 计算准确率 accuracy - sum(diag(confusion_matrix)) / sum(confusion_matrix) cat(\n测试集准确率, round(accuracy*100, 2), %\n) 从上面结果可知总共15种预测全都预测成功。  # 可视化判别结果 projected_data - data.frame(LD1 predictions$x[,1],LD2 predictions$x[,2],Species test_data$Species )ggplot(projected_data, aes(x LD1, y LD2, color Species)) geom_point(size 3) stat_ellipse(level 0.95) labs(title Fisher判别投影结果,x 第一判别函数,y 第二判别函数) theme_minimal() 3、Bayes判别 使用klaR扩展包中的NaiveBayes()函数。 library(klaR) set.seed(12) # 设置随机种子保证可重复性 train_index - sample(1:nrow(iris), nrow(iris)*0.9) # 90%训练集 train_data - iris[train_index, ] test_data - iris[-train_index, ] # 首先建立先验概率相等的Bayes判别模型 data1 - NaiveBayes(Species ~ ., datatrain_data) # 建立先验概率分别为0.3,0.5,0.2的Bayes判别模型 data2 - NaiveBayes(Species ~., datatrain_data, priorc(3/10, 5/10, 2/10)) # 查看data1和data2的结构 str(data1) str(data2) # 计算两个模型的混淆矩阵 x - table(Actual train_data$Species, predicted predict(data1, train_data)$class) y - table(Actual train_data$Species, predicted predict(data2, train_data)$class) x y# 计算正确率 sum(diag(prop.table(x))) sum(diag(prop.table(y))) 从上面结果可知先验概率相等时有6朵花判错先验概率不等时也有6朵花判错。但两者的概率相等都是95.556%。
http://www.hkea.cn/news/14332949/

相关文章:

  • 广州 创意的网站设计银川网站建设是什么
  • 上海建设工程信息网站兰州网站建设开发
  • 电商类网站有哪些兰州app外包
  • 做网站网站要找谁本地app开发公司电话
  • 沧州网站建设优化公司石家庄又封了
  • 广州积分入学网站制作相册模板免费的
  • 做网站网课西安网站seo
  • 深圳微商城网站制作价格网站建设方案规划书
  • 个人网站设计及实现雷神代刷网站推广快速
  • 河南网站建设服务公司郑州建设工程交易中心网站
  • 设计人才网站广州做网站新锐
  • 郑州购物网站建设怎么写app程序
  • 能买源码的网站有哪些好看的官网源码
  • 58企业网站如何做网站开发ppt
  • 电商网站的活动怎么做宣传片拍摄方案怎么写
  • 快速优化网站排名的方法wordpress中home page
  • 网站模板建站教程视频教程重庆天古装饰公司
  • 山东网站建设培训简洁大气企业网站
  • 蛋糕店网站建设方案网络公司注册的流程
  • 网站建设需要哪些材料企业网站功能模块设计
  • 淮安网站建设公司北京百度seo工作室
  • 深圳网站建设主页马鞍山做公司网站的
  • 中国招标网官方网站在东莞怎么找工作
  • 网站制作 深圳有什么公司网页设计与制作课程在工作中的应用
  • 顺德手机网站设计权威开发app用什么框架
  • 山西省住房和城乡建设厅网站手机安装wordpress
  • 网站内容管理系统下载株洲seo优化报价
  • 企业建网站计什么科目建设网站前期准备工作
  • jsp网站开发技术难点中国最早的电商平台
  • 大良营销网站建设案例房屋室内设计学校