用于生成模型矩阵的Java库

时间:2012-10-18 17:44:38

标签: java machine-learning formula transformation modeling

我正在寻找一个可以使用公式将输入数据转换为模型矩阵的Java库。该公式不是一个简单的算术方程,而是描述变量之间的相互作用,将分类变量映射到适当的数值范围,并在输入向量/矩阵上生成变换。

例如,R具有以下model.matrix函数,它允许您通过描述高级formula中变量之间的交互来转换输入数据。

R

中的简单示例

输入数据:

electric_usage,temperature,time_of_day
30,85,morning
35,80,evening

公式:

electric_usage ~ temperature * time_of_day

这是公式的简写:

electric_usage ~ temperature + time_of_day + (temperature : time_of_day)

例如,在R:

> model.matrix(
    electric_usage ~ temperature * time_of_day,
    data.frame(
        electric_usage=c(30,35),
        temperature=c(85,80),
        time_of_day=c("morning", "evening")
    )
  )

  (Intercept) temperature time_of_daymorning temperature:time_of_daymorning
           1          85                  1                             85
           1          80                  0                              0

参见R文档: http://stat.ethz.ch/R-manual/R-patched/library/stats/html/model.matrix.html

1 个答案:

答案 0 :(得分:0)

如果您正在寻找像Matlab这样的Java版本,那么您可以简单地复制和粘贴它......我怀疑是否有任何软件包会采用您提到的公式。

然而,请看http://code.google.com/p/efficient-java-matrix-library/。您的矩阵操作乍一看似乎非常简单,可以使用该库进行编程。

然而,您需要通过代码创建矩阵,以便适当地构建它。请参阅http://code.google.com/p/efficient-java-matrix-library/wiki/MatrixInputOutput以了解如何制作或可视化以及一般概念。你应该在那里阅读维基。