绘制相对于前两个的第三个值

时间:2011-12-30 20:35:53

标签: r plot machine-learning

我有以下数据:

kNN,               kMeans,           expected
1.1048387096774193,2.019927536231884,0.0
1.521505376344086,2.0120481927710845,0.0
1.271505376344086,2.019927536231884,0.0
2.020833333333333,2.019927536231884,0.0
0.7708333333333334,2.019927536231884,0.0
4.020408163265306,2.0120481927710845,0.0
0.6210526315789474,2.019927536231884,0.0
0.7708333333333334,2.019927536231884,0.0
3.354166666666667,2.019927536231884,0.0
2.020833333333333,2.019927536231884,1.0
1.450310559006211,2.0120481927710845,0.0
0.8719780219780221,2.019927536231884,-1.0
4.020408163265306,2.019927536231884,-1.0
3.520618556701031,2.019927536231884,1.0
1.521505376344086,2.019927536231884,0.0

我想根据expectedkNN中的值绘制kMeans?我尝试在R中绘制关于绘图的散点图,但无法确定哪个绘图有用。任何帮助,将不胜感激。我试过散点图,但它没有给我太多信息

我的目标是探索数据,看看我是否可以训练单层感知到达接近预期。如果数据是线性可分的(多类,因此对抗休息方法)。

感谢。

2 个答案:

答案 0 :(得分:2)

这是我能想到的:

dat <-
structure(list(kNN = c(1.10483870967742, 1.52150537634409, 1.27150537634409, 
2.02083333333333, 0.770833333333333, 4.02040816326531, 0.621052631578947, 
0.770833333333333, 3.35416666666667, 2.02083333333333, 1.45031055900621, 
0.871978021978022, 4.02040816326531, 3.52061855670103, 1.52150537634409
), kMeans = c(2.01992753623188, 2.01204819277108, 2.01992753623188, 
2.01992753623188, 2.01992753623188, 2.01204819277108, 2.01992753623188, 
2.01992753623188, 2.01992753623188, 2.01992753623188, 2.01204819277108, 
2.01992753623188, 2.01992753623188, 2.01992753623188, 2.01992753623188
), expected = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, -1, 1, 0
)), .Names = c("kNN", "kMeans", "expected"), class = "data.frame", row.names = c(NA, 
-15L))

plot(dat$kNN, dat$kMeans, col=dat$expected+2)

答案 1 :(得分:1)

由于kMeans只有两个值,请尝试以下方法:

library(lattice)
xyplot(expected ~ kNN | kMeans, DF, pch = 20, col = 1)

左侧面板显示kMeans=2.012的数据和kMeans=2.019的权限。在kMeans=2.012情况下,所有expected值均为0;但是,我们只有三点,所以不是很多。在kMeans=2.019案例中,kNNexpected之间似乎没有任何关系。

enter image description here