楼主: tooof
887 0

[问答] 为什么predict函数会生成一个向量带数组? [推广有奖]

  • 0关注
  • 0粉丝

已卖:231份资源

本科生

51%

还不是VIP/贵宾

-

威望
0
论坛币
1749 个
通用积分
18.6380
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
367 点
帖子
19
精华
0
在线时间
155 小时
注册时间
2017-1-8
最后登录
2023-10-14

楼主
tooof 发表于 2019-11-28 19:06:14 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
用了caret包的train函数训练模型,然后用predict函数做预测,方法是偏最小二乘(设定了成分数14)。
请问我的预测结果myresult 出来的为什么是向量带一个数组呢?
> plsFit <- plsr(Solubility ~ ., data = trainingData
+                ,ncomp=14
+                ,method="kernelpls"
+                , scale = TRUE, center = TRUE)
>
> myresult <- predict(plsFit, solTestXtrans,ncomp=14)
>
> str(myresult)
num [1:316, 1, 1] 0.551 0.142 -0.493 0.506 0.106 ...
- attr(*, "dimnames")=List of 3
  ..$ : chr [1:316] "20" "21" "23" "25" ...
  ..$ : chr "Solubility"
  ..$ : chr "14 comps"

如果尝试把myresult转换为数据框,数据框的列名甚至是【 Solubility.14 comps】

> temp<-as.data.frame(myresult)
> str(temp)
'data.frame':        316 obs. of  1 variable:
$ Solubility.14 comps: num  0.551 0.142 -0.493 0.506 0.106 ...
> head(temp)
   Solubility.14 comps
20           0.5506072
21           0.1418576
23          -0.4927215
25           0.5059239
28           0.1064888
31           1.6412768

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-16 09:47