我正在研究一个机器学习问题,我试图将使用两种不同ML方法的预测与原始测试值进行比较,并查看它们的比较结果,并试图将结果可视化。我已经完成了2个单独的散点图(在测试值和预测值之间),但是我想查看这些值之间的差异。因此,我尝试将数据细分为使用第一个ML算法的100个ytest值,100个预测值(ymle_predict)和使用第二个ML算法的100个预测值(ymap_predict)。
我希望我的x轴代表每个数据点,并且y轴代表该数据点的3个不同值(ytest,ymle_predict和ymap_predict)。
所以我们说:
ytest<- c(1, 2, 3, 4, 5, 6, 7 )
ymle_predict<-c(1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1 )
ymap_predict <- c(1.2, 2.2, 3.2, 4.2, 5.2, 6.2, 7.2 )
其中的值是按顺序排列的,因此ymle_predict中的第二个元素表示ytest中第二个元素的数据点预测。
我想看看这些点之间如何变化,就像让我们说如何看到不同股票(随着每种股票的颜色不同)随时间变化的重叠图一样。但是,这里的时间不是x轴,而是像这样的计数器变量:
i<- c(1,2,3,4,5,6,7)
我尝试将这些元素放在数据框中,但这并没有帮助我得出任何答案。
答案 0 :(得分:1)
使用ggplot和dplyr:
library(ggplot2)
library(dplyr)
df <- data.frame(ytest = c(1, 2, 3, 4, 5, 6, 7 ),
ymle_predict = c(1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1 ),
ymap_predict = c(1.2, 2.2, 3.2, 4.2, 5.2, 6.2, 7.2 ),
i = c(1,2,3,4,5,6,7))
df.plot <- df %>%
gather(results, value, -c("i"))
ggplot(df.plot, aes(x=i, y=value, color=results)) +
geom_point()