gpt4 book ai didi

java - 使用java在arff文件中定义属性

转载 作者:行者123 更新时间:2023-12-02 05:02:12 25 4
gpt4 key购买 nike

我在weka中使用j48方法。我的示例训练数据 .arff 文件如下,

 @relation l4_tbl_final

@attribute MouseVariance numeric
@attribute EyeValue numeric
@attribute SocialTime numeric
@attribute KeyWords numeric
@attribute InvolvedTime numeric
@attribute grade {B,A,C}

@data
2731.35,87,47.55,0,49.7,B
864.891,55,0,0,94.33,B
2495.8,1386,0,2,71.75,A
1104.04,4490,0,0,61.91,B

前 5 个值是参数,根据等级“A”、“B”、“C”给出。

现在我需要提供测试数据集并预测这些数据的等级。为此,我应该提供 testdata.arff 文件,如下(?分数)

@attribute MouseVariance numeric
@attribute EyeValue numeric
@attribute SocialTime numeric
@attribute KeyWords numeric
@attribute InvolvedTime numeric
@attribute grade {B,A,C}

@data
2731.35,87,47.55,0,49.7,?
864.891,55,0,0,94.33,?
2495.8,1386,0,2,71.75,?
1104.04,4490,0,0,61.91,?

我使用以下java代码将sql数据库转换为csv,然后将csv转换为arff:

while (resultSet.next()) {
row = spreadsheet.createRow(i);
cell = row.createCell(0);
cell.setCellValue(resultSet.getString("MouseVariance"));
cell = row.createCell(1);
cell.setCellValue(resultSet.getString("EyeValue"));
cell = row.createCell(2);
cell.setCellValue(resultSet.getString("SocialTime"));
cell = row.createCell(3);
cell.setCellValue(resultSet.getString("KeyWords"));
cell = row.createCell(4);
cell.setCellValue(resultSet.getString("InvolvedTime"));
cell = row.createCell(5);
cell.setCellValue("?");

i++;
}

但是当我以这种方式创建 arff 文件时,属性显示为

@attribute grade {numaric} value.

因此未预测预期成绩。但如果如下所示就可以解决问题。

 @attribute grade {B,A,C}

我该如何解决这个问题?

最佳答案

听起来该属性不知道列表中可用标称值的列表。

也许 AddValues过滤器可能有助于将这些项目添加到列表中。您可以将 A、B 和 C 的值添加到名义变量中,从而使它们与训练数据一致。

如果这不是问题,请提供更多代码和生成的输出,我会进一步研究。

希望这有帮助!

关于java - 使用java在arff文件中定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27485377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com