我正在尝试从R的Coursera上的Andrew Ng的机器学习课程中复制代码(因为该课程在Octave中)。
基本上,我必须绘制多项式正则逻辑回归的非线性决策边界(在p = 0.5处)。
我可以使用基本库轻松复制图:
contour(u, v, z, levels = 0)
points(x = data$Test1, y = data$Test2)
Run Code Online (Sandbox Code Playgroud)
哪里:
u <- v <- seq(-1, 1.5, length.out = 100)
Run Code Online (Sandbox Code Playgroud)
z是一个矩阵100x100,矩阵的每个点都有z的值。数据尺寸为118x3。
我不能在ggplot2中做到这一点。有人知道如何在ggplot2中复制吗?我尝试过:
z = as.vector(t(z))
ggplot(data, aes(x = Test1, y = Test2) + geom_contour(aes(x = u, y =
v, z = z))
Run Code Online (Sandbox Code Playgroud)
但是我得到一个错误:美学必须为长度1或与数据(118)相同:颜色,x,y,形状
谢谢。
编辑(添加从滥用代码创建的图):