如何使用 weka 获取多类属性并对其进行二值化?

发布于 2024-12-28 13:08:07 字数 296 浏览 1 评论 0原文

我有一个属性,例如 numberOfChildren,它可以采用值 0, 1, 2, 3。我想预处理WEKA中的数据,使其变成0或1,一个hasChildren属性,即0 of numberOfChildren is 0,如果 numberOfChildren 大于 0,则为 1

如何在 Weka 的预处理器阶段做到这一点?

I have an attribute, say numberOfChildren that can take on the values 0, 1, 2, 3. I want to preprocess the data in WEKA such that it becomes just 0 or 1, a hasChildren attribute, which is 0 of numberOfChildren is 0, and 1 if numberOfChildren is greater than 0.

How can you do this in Weka's preprocesser stage?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谎言月老 2025-01-04 13:08:07

您使用数学表达式过滤器。

考虑以下 arff 文件。

@relation NumberOfChildrenExample

@attribute A numeric
@attribute numberOfChildren numeric

@data
1,0
2,1
3,2
4,3
5,4
6,5

您使用以下命令。

java  weka.filters.unsupervised.attribute.MathExpression -unset-class-temporarily \
-E "ifelse(A>0,1,0)" -V -R 2 -i datasets\NumberOfChildrenExample.arff
  • -V 反转选择
  • -R 选择 2 列,hasChildren

否则此过滤器转换所有数字列

@attribute A numeric
@attribute numberOfChildren numeric

@data

1,0
2,1
3,1
4,1
5,1
6,1

由于您想要 hasChildren 属性,因此还需要使用 重命名

You use math expression filter.

Consider following arff file.

@relation NumberOfChildrenExample

@attribute A numeric
@attribute numberOfChildren numeric

@data
1,0
2,1
3,2
4,3
5,4
6,5

You use following command.

java  weka.filters.unsupervised.attribute.MathExpression -unset-class-temporarily \
-E "ifelse(A>0,1,0)" -V -R 2 -i datasets\NumberOfChildrenExample.arff
  • -V invert selection
  • -R choose 2 column, hasChildren

otherwise this filter convert all numeric columns

@attribute A numeric
@attribute numberOfChildren numeric

@data

1,0
2,1
3,1
4,1
5,1
6,1

Since you want hasChildren attribute, you need to also use Rename

め可乐爱微笑 2025-01-04 13:08:07

尝试转到 weka.filters.unsupervised.attribute 并扫描列表。离散化可能有效,但也可能将您的数据分成两半。如果您将 3 合并到 2,然后将 2 合并到 1,留下 0 和 1,MergeTwoValues 可能对您有用。

Try going to weka.filters.unsupervised.attribute and scanning the list. Discretize might work but might also split your data in half. MergeTwoValues might work for you if you merge the 3 to 2, then the 2 to 1, leaving you with 0 and 1.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文