小编Jan*_*ger的帖子

Java Weka:如何指定拆分百分比?

我编写了代码来创建模型并保存它.它工作正常.我的理解是,默认情况下,数据分为10倍.我想在创建模型时将数据分成两组(训练和测试).在Weka UI上,我可以使用"Percentage split"单选按钮来完成.我想知道如何通过代码来完成它.我希望它分为两部分,80%是培训,20%是测试.这是我的代码.

        FilteredClassifier model = new FilteredClassifier();
        model.setFilter(new StringToWordVector());
        model.setClassifier(new NaiveBayesMultinomial());
        try {
            model.buildClassifier(trainingSet);
        } catch (Exception e1) { // TODO Auto-generated catch block
            e1.printStackTrace();
        }

        ObjectOutputStream oos = new ObjectOutputStream(
                new FileOutputStream(
                        "/Users/me/models/MyModel.model"));
        oos.writeObject(model);
        oos.flush();
        oos.close();
Run Code Online (Sandbox Code Playgroud)

trainingSet这里已经填充了Instances对象.有人可以帮我弄这个吗?

提前致谢!

java weka

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

替换正则表达式匹配中的命名组

我有以下正则表达式:

pattern = '^[a-zA-Z0-9-_]*_(?P<pos>[A-Z]\d\d)_T\d{4}(?P<fID>F\d{3})L\d{2}A\d{2}(?P<zID>Z\d{2})(?P<cID>C\d{2})\.tif$'
Run Code Online (Sandbox Code Playgroud)

匹配如下文件名:

filename = '151006_655866_Z01_T0001F015L01A02Z01C03.tif'
Run Code Online (Sandbox Code Playgroud)

与团体:

m = re.match(pattern, filename)
print m.group("pos")  # Z01
print m.group("fID")  # F015
print m.group("zID")  # Z01
Run Code Online (Sandbox Code Playgroud)

如何在 Python 中仅用给定字符串替换指定组?

我尝试与函数调用一起使用re.sub,但不知道这个函数应该是什么样子:

def replace_function(matchobj):
    # how to replace only a given match group?
    # (the following replaces *all* occurrences of "Z01" in this example)
    return matchobj.group(0).replace(matchobj.group("slice"), "---")

print re.sub(pattern, replace_function, filename)
Run Code Online (Sandbox Code Playgroud)

我想要的结果是:

151006_655866_Z01_T0001F015L01A02---C03.tif
Run Code Online (Sandbox Code Playgroud)

python regex replace

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

将图像从笛卡儿转换为极地

我正在尝试转换具有相同中心的多个圆圈的图像,从笛卡儿到极地(这样新图像将是圆形而不是圆形,请参见下图),这样就可以了以下代码:

[r, c] = size(img);
r=floor(r/2);
c=floor(c/2);
[X, Y] = meshgrid(-c:c-1,-r:r-1);
[theta, rho] = cart2pol(X, Y); 
subplot(221), imshow(img), axis on;
hold on;
subplot(221), plot(xCenter,yCenter, 'r+');
subplot(222), warp(theta, rho, zeros(size(theta)), img);
view(2), axis square;
Run Code Online (Sandbox Code Playgroud)

问题是,我不明白它为什么会起作用?(显然这不是我的代码),我的意思是,当我使用函数cart2pol时,我甚至不使用图像,它只是从meshgrid函数生成的一些向量x和y ..另一个问题是,我想要某种方式有一个新的图像(不仅仅是能够用环绕功能绘制它),这是原始图像,但是通过theta和rho坐标(意思是相同的像素,但重新排列)...我甚至不确定如何问这个,最后我想要一个矩阵的图像,以便我可以对每一行求和并将矩阵转换为列向量...

例

matlab image image-processing polar-coordinates

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

ImageJ批量图像转换

我正在尝试使用ImageJ中的批处理脚本批量转换200多个原始.img文件.我的剧本:

//-----------Code starts here--------------------- 
dir1 = getDirectory("path/source"); 
dir2 = getDirectory("path/target"); 
list = getFileList(dir1); 
setBatchMode(true); 

 for (i=0; i<list.length; i++) { 
      showProgress(i+1, list.length); 
      if(endsWith(list[i],".IMG")) 
         run("Raw...", open=["+dir1+list[i]+"] image=[16-bit Unsigned] width=2048 height=2048 offset=359 number=1 gap=0"); 
      else 
         open(dir1+list[i]); 
      saveAs(format, dir2+list[i]); 
      close(); 
   } 
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行它时,我收到以下错误:

我不知道为什么,因为我有一个; 关闭线...

在此输入图像描述

imagej

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