首页 > 其他分享 >R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化

R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化

时间:2022-11-07 10:04:08浏览次数:62  
标签:用主 变量 PCR 预测 PC PCA 我们 每个

在这个项目中,我讨论了如何使用​​主成分分析​​ (PCA) 进行简单的预测。

出于说明目的,我们将对一个​​数据集​​进行分析,该数据集包含有关在 3 个不同价格组内进行的汽车购买信息以及影响其购买决定的一组特征。

首先,我们将导入数据集并探索其结构。


1.   
2.
3. head(caref)

R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化_r语言

R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化_数据_02


众所周知,​​PCA​​ 使用欧几里得距离来推导分量,因此输入变量需要是数字的。正如我们所看到的,除了“组”变量之外,所有数据都是数字格式,因此我们不必执行任何转换。

为了查看数字变量在 3 个价格组中的表现,我分别为每个数字变量生成箱线图。


1.  ggplot(cr_e.m, aes(x = varle, y = vle, fill = Gup)) +
2. geom_boxplot()

R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化_数据_03

通过观察上图,我们可以了解到每个价格组的消费者对所考虑的特征有不同的看法(即,给出不同的评分)。(“安全”特征的变化较小,在所有 3 个价格组中具有更高的排名/重要性)

现在为了更好地​​可视化​​这 3 个价格组集群如何在 3D 空间中出现,我使用 3 个特征变量构建了一个 3D 图,显示给定评级之间的显着差异。


1.   
2. same3dpot <- with(carpef, scttro3d(Enirnmnt,Innoaon,Prtge

R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化_3d_04

在上图中,我们可以看到来自每个价格组的数据点(集群)之间的明显差异。

在继续应用 PCA 之前,现在我将检查输入变量之间是否存在任何相关性。


1.   
2. corrplot(oras)

R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化_r语言_05

可以看出,“创新”、“安全”和“声望”特征之间似乎有明显的相关性。

通常在构建模型时,我们会删除一些(不必要的)相关预测变量而不包括模型,但鉴于我们正在执行 PCA,我们不会这样做,因为应用 PCA 的想法是生成新的主成分(它们不会相互关联)并用降低的维度替换当前的预测变量集。


1.   
2. pcmol <- prcomp(ca_eeued, scale. = TRUE, center = TRUE)
3.

R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化_r语言_06

通过观察 PCA 的输出,我们可以看到前两个 PC 解释了数据中 89% 的可变性。

通过包括 3 个 PC,该模型将解释 97% 的可变性,但由于 2 个 PC 可以解释大约 90% 的数据,因此我将只使用 2 个 PC。

  1. 此外,通过观察下面的碎石图和每个PC的重要性,我们也可以理解,只用两个PC是可以的。

1. sumacamel = summary(adel)
2.
3. plot(pc_el,type = "l")

R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化_r语言_07

R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化_3d_08

由于我们只坚持前两个主成分,现在我检查每个预测变量对每个主成分的影响量。

下面我根据它们对每个PC 的影响按降序排列了这些特性。


1.  #对于PC 1
2. longScrsPC_1 <- pcael$roto[,1]
3. faccore_PC_1 <- abs(odingcre_PC_1)
4. fa_scre_PC_1raked <- nmes(rt(fac_cos1,decreasing = T))
5.

R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化_数据_09

pamod$roatn[fa_coC__and,1]

R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化_r语言_10

R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化_数据_11

R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化_r语言_12

现在我们最终在这两个 PC 上绘制原始数据,并检查我们是否可以分别识别每个价格组的数据点。


1.   
2. #PC_n2 <- qplot(x=PC1, y=PC2

R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化_r语言_13

我们可以看到数据点是根据它们所在的每个价格进行聚类的!

使用上述特征,现在我们将尝试根据他/她对所考虑的特征给出的评级来预测一个人会购买哪种类型的汽车!

让我们假设一个客户对每个特征给出了以下评级:

安全:9 环境:8 创新:5 声望:4

现在让我们尝试预测该客户将属于哪个价格组:


1.  new_ser <- c(9,8,5,4)
2.
3. new_cus_group <- predict(pcmdl, newdata = car_pef_ecew_c[nrow(),]
4.
5. lt_3 <- pot_2 + ge_point(aes(x=newcus_

R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化_3d_14

通过观察这个新观察值在 PC1 和 PC2 上的位置,我们可以得出结论,新客户更有可能购买价格组 B 的汽车!如果我需要做出一些不同的预测,我个人会使用这种方法,因为它非常快速且易于理解和解释。这种方法可以扩大规模以构建 PC 回归模型,尤其是当预测变量相关且需要正则化时。


R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化_数据_15

标签:用主,变量,PCR,预测,PC,PCA,我们,每个
From: https://blog.51cto.com/u_14293657/5827856

相关文章

  • 拓端数据tecdat|R语言主成分分析(PCA)葡萄酒可视化:主成分得分散点图和载荷图
     我们将使用葡萄酒数据集进行主成分分析。数据数据包含177个样本和13个变量的数据框;vintages包含类标签。这些数据是对生长在意大利同一地区但来自三个不同栽培品种的葡萄......
  • 搭建华为VRP实验平台WinPcap-Virtualbox-wireshark-eNSP
    WinPcap-Virtualbox-wireshark-eNSPWireshark的安装顺序可以放在eNSP前,也可以放在eNSP之后(如果安装的是最新版的eNSP,Wireshark的安装必须放在eNSP之前)注意事项:①装wireshar......
  • PCA降维练习
    【题目】1.现有我国大陆30个省、直辖市、自治区的经济发展状况数据集如表所示,包括8项经济指标:国民生产总值(A1);居民消费水平(A2);固定资产投资(A3);职工平均工资(A4);货物周转量(A5);居......
  • PCA降维练习
    1.读取数据importpandasaspdimportopenpyxlimportnumpyasnpdata=pd.read_excel("C:\\Users\\86152\\Desktop\\我国大陆经济发展状况数据.xlsx",header=None,......
  • 数据分享|R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化
    全文链接:http://tecdat.cn/?p=22262在讨论分类时,我们经常分析二维数据(一个自变量,一个因变量)(点击文末“阅读原文”获取完整代码数据)。但在实际生活中,有更多的观察值,更多的......
  • DPM(Deformable Part Model)的PCA+Starcasscade(Windows)代码整理
    大家好,我是你们的老朋友——泽哥!最近一直没有写博客是因为泽哥最近在忙本科毕业设计。泽哥的本科毕业设计是研究DPM模型的,相信大家也略微了解,DPM模型即DeformablePartMode......
  • PCA降维练习
    作业一:PCA降维练习【题目】1.现有我国大陆30个省、直辖市、自治区的经济发展状况数据集如表所示,包括8项经济指标:国民生产总值(A1);居民消费水平(A2);固定资产投资(A3);职工平均工......
  • PCA降维练习
    1.读取数据importpandasaspdimportopenpyxlimportnumpyasnpdata=pd.read_excel("D:我国大陆经济发展状况数据.xlsx",header=None,engine='openpyxl')data=data......
  • pca
    一、写出PCA完成降维的主要步骤①导入需要的模块和库;②导入数据,探索数据;③画累计方差贡献率,找最佳降维后维度的范围;④降维后维度的学习曲线,继续缩小最佳维度的范围;⑤细化......
  • PCA降维
    一.读取数据源importpandasaspdimportopenpyxlimportnumpyasnpdata=pd.read_excel("D:\HOMEWORK\Project1/我国大陆经济发展状况数据.xlsx",header=None,eng......