我将数据保存为.csv12列的文件.第2至11列(标记为F1, F2, ..., F11)features.Column one包含或label这些功能.goodbad
我想绘制boxplot的所有这些功能11对label,而是通过单独good或bad.到目前为止我的代码是:
qplot(Label, F1, data=testData, geom = "boxplot", fill=Label,
binwidth=0.5, main="Test") + xlab("Label") + ylab("Features")
Run Code Online (Sandbox Code Playgroud)
然而,这只能说明F1反对label.
我的问题是:如何显示F2, F3, ..., F11对label在一个图表一些dodge position?我已将这些特征标准化,因此它们在[0 1]范围内具有相同的比例.
测试数据可以在这里找到.我手工绘制了一些东西来解释这个问题(见下文).

我现在正在混淆使用Matlab实现带有交叉验证的SVM.stackoverflow上有很多帖子提到了有关SVM及其交叉验证的信息; 然而,即使使用最简单的"fisheriris"数据集也没有完整的例子.
我总结了这些帖子的问题如下:
一个.二进制和多类SVM:由matlab中的支持向量机回答, 但没有交叉验证的例子.
湾 使用SVM进行交叉验证: 在MATLAB中进行10倍SVM分类的 示例,但没有多类SVM的示例.
C.一对一和一对一的SVM:1-against-1可以在matlab中的支持向量机上找到 1-against-all可以在libsvm Multi-Class SVM中的多类分类中找到 (一对一) 没有交叉验证的例子
d.libSVM和Matlab内置SVM(统计工具箱)使用libSVM的部分完整示例可以 在一对一SVM中使用10倍交叉验证(使用LibSVM)
即 参数优化 使用libsvm进行交叉验证后重新训练
但是,对于一个人来说,学习并最终为他们的真正问题部署SVM的事情真的很复杂,只要查看这些以前的帖子就会出现问题和错误.至少我是愚蠢的解决拼图问题.
为什么我们不一起为具有以下功能的SVM构建易于理解的代码?
A.只需使用'fisheriris'数据.
B.可以用于二元和多类问题(fisheriris可以选择二进制).
C.实施交叉验证.
D.实施一对一和一对一.
E.两个版本分别使用libSVM和Matlab内置SVM.由于svmtrain与两个包的名称相同,我建议在使用之前将其更改为libsvmtrain和MEX.然后我们也可以比较这两种方法.
F.目前,由于训练/测试数据分离,结果并不总是可重复的.我们能解决这个问题吗
F.(可选)添加参数优化.
G.(可选)添加ROC分析.
我的开始是一些代码,如:
#% libSVM version_1
clc; clear all;
load fisheriris
[~,~,labels] = unique(species); % Labels: 1/2/3
data = zscore(meas); % Scale features
numInst = size(data,1);
numLabels = max(labels);
%# Split training/testing
idx = randperm(numInst);
numTrain = 100;
numTest …Run Code Online (Sandbox Code Playgroud) 前段时间我问了一个关于绘制boxplot Link1的问题.
我有3个不同的组(或标签)的一些数据请在这里下载.我可以使用以下R代码来获取boxplot
library(reshape2)
library(ggplot2)
morphData <- read.table(".\\TestData3.csv", sep=",", header=TRUE);
morphData.reshaped <- melt(morphData, id.var = "Label")
ggplot(data = morphData.reshaped, aes(x=variable, y=value)) +
+ geom_boxplot(aes(fill=Label))
Run Code Online (Sandbox Code Playgroud)
在这里,我只是想知道如何将重要水平放在箱线图上方.为了使自己清楚,我在这里放了一张剪纸截图:

我有以下代码来显示相关矩阵,
panel.cor <- function(x, y, digits=2, prefix="", cex.cor)
{
usr <- par("usr"); on.exit(par(usr))
par(usr = c(0, 1, 0, 1))
r <- abs(cor(x, y))
txt <- format(c(r, 0.123456789), digits=digits)[1]
txt <- paste(prefix, txt, sep="")
if(missing(cex.cor)) cex <- 0.8/strwidth(txt)
test <- cor.test(x,y)
# borrowed from printCoefmat
Signif <- symnum(test$p.value, corr = FALSE, na = FALSE,
cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1),
symbols = c("***", "**", "*", ".", " "))
text(0.5, 0.5, txt, cex = cex * r)
text(.8, .8, Signif, …Run Code Online (Sandbox Code Playgroud) 我遇到了对存储在数据帧中的一些数据运行t检验的问题.我知道怎么一个接一个地做,但根本没有效率.请问如何写一个循环来做呢?
例如,我在testData中获得了数据:
testData <- dput(testData)
structure(list(Label = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L
), .Label = c("Bad", "Good"), class = "factor"), F1 = c(0.647789237,
0.546087915, 0.461342005, 0.794212207, 0.569199511, 0.735685704,
0.650942066, 0.457497016, 0.808619288, 0.673100668, 0.68781739,
0.470094549, 0.958591821, 1, 0.46908343, 0.578755283, 0.289380462,
0.685117658, 0.296011479, 0.208821225, 0.461487258, 0.176144907,
0.325684001), F2 = c(0.634327378, 0.602685034, 0.70643658, 0.577336318,
0.61069332, 0.676176013, 0.685433524, 0.601847779, 0.641738937,
0.822097452, 0.549508092, 0.711380436, 0.605492874, 0.419354439,
0.654424433, …Run Code Online (Sandbox Code Playgroud) 我只是想知道如何绘制SVM结果的超平面.
例如,这里我们使用两个特征,我们可以在2D中绘制决策边界.但是,如果我们使用3个功能,我们如何在3D中绘制超平面?
load fisheriris;
features = meas(1:100,:);
featureSelcted = features(1:100,1:2); % For example, featureSelcted = features(1:100,1:3) can not be plotted
groundTruthGroup = species(1:100);
svmStruct = svmtrain(featureSelcted, groundTruthGroup, ...
'Kernel_Function', 'rbf', 'boxconstraint', Inf, 'showplot', true, 'Method', 'QP');
svmClassified = svmclassify(svmStruct,featureSelcted,'showplot',true);
Run Code Online (Sandbox Code Playgroud)
R中的类似解决方案可以在svm-fit-hyperplane中找到,但Matlab实现会很方便.
我有一个目录/ home/usr/AAA,我存储了一些文件和文件夹
/home/usr/AAA/Mark/15456/sdfsd/VIP_Info_sdfsdf
/home/usr/AAA/Jack/23678/gwewd/VIP_Info_wetwod
...
Run Code Online (Sandbox Code Playgroud)
我可以使用一些bash脚本
cd /home/usr/AAA
find -maxdepth 4 -mindepth 4 -type d -iname "VIP_Info*" -printf '%f\n'
Run Code Online (Sandbox Code Playgroud)
回国
VIP_Info_sdfsdf
VIP_Info_wetwod
Run Code Online (Sandbox Code Playgroud)
获取我感兴趣的特定文件夹名称,即以VIP_Info开头的文件夹名称.
但是,我想进入每个文件夹并进行一些操作.
请问如何获取每个文件夹的完整路径?
我正在尝试使用Matlab创建这些3D形状以用于说明目的(请参见下图).我认为冲浪是我应该使用的功能; 但是,我还没有弄清楚我应该用什么函数来表示这些形状.有人可以提出一个例子吗?谢谢.

一个.
编辑1:
感谢Trogdor和PetrH的回复.
目前,我正在尝试绘制更锐利的形状.例如,z = x.^ 2 + y.^ 2; 可以绘制正常的杯形.但是,我想绘制如右下图所示的子图.尝试了几个不同的功能,但没有工作.谢谢你的任何提示!

编辑2:
使用z = x.^ 2 -4*x + y.^ 2-4*y; 可以使形状更平坦.仍然没有办法让它变得尖锐.
