小编Sam*_*rom的帖子

在一个图中绘制多个箱图

我将数据保存为.csv12列的文件.第2至11列(标记为F1, F2, ..., F11)features.Column one包含或label这些功能.goodbad

我想绘制boxplot所有这些功能11label,而是通过单独goodbad.到目前为止我的代码是:

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, ..., F11label在一个图表一些dodge position?我已将这些特征标准化,因此它们在[0 1]范围内具有相同的比例.

测试数据可以在这里找到.我手工绘制了一些东西来解释这个问题(见下文).

手绘boxplot示例

plot r ggplot2 boxplot

67
推荐指数
6
解决办法
25万
查看次数

使用Matlab进行交叉验证的多类SVM的完整示例

我现在正在混淆使用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)

matlab svm

23
推荐指数
0
解决办法
4万
查看次数

如何绘制具有显着水平的箱线图?

前段时间我问了一个关于绘制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)

在这里,我只是想知道如何将重要水平放在箱线图上方.为了使自己清楚,我在这里放了一张剪纸截图:

箱形图

r significance ggplot2 boxplot

22
推荐指数
2
解决办法
3万
查看次数

如何修改此相关矩阵图?

我有以下代码来显示相关矩阵,

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)

plot r correlation

7
推荐指数
1
解决办法
2万
查看次数

如何编写循环来运行数据帧的t检验?

我遇到了对存储在数据帧中的一些数据运行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)

loops r hypothesis-test

6
推荐指数
2
解决办法
1万
查看次数

如何在3D中为SVM结果绘制超平面?

我只是想知道如何绘制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实现会很方便.

matlab svm

5
推荐指数
1
解决办法
1万
查看次数

如何获取特定目录的完整路径?

我有一个目录/ 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开头的文件夹名称.

但是,我想进入每个文件夹并进行一些操作.

请问如何获取每个文件夹的完整路径?

linux bash shell

1
推荐指数
1
解决办法
77
查看次数

如何使用Matlab绘制这些3D形状?

我正在尝试使用Matlab创建这些3D形状以用于说明目的(请参见下图).我认为冲浪是我应该使用的功能; 但是,我还没有弄清楚我应该用什么函数来表示这些形状.有人可以提出一个例子吗?谢谢.

在此输入图像描述

一个.

编辑1:

感谢Trogdor和PetrH的回复.

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

在此输入图像描述

编辑2:

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

在此输入图像描述

3d matlab plot shape

1
推荐指数
1
解决办法
2597
查看次数

标签 统计

r ×4

matlab ×3

plot ×3

boxplot ×2

ggplot2 ×2

svm ×2

3d ×1

bash ×1

correlation ×1

hypothesis-test ×1

linux ×1

loops ×1

shape ×1

shell ×1

significance ×1