我正在寻找一个可以使用公式将输入数据转换为模型矩阵的Java库。该公式不是一个简单的算术方程,而是描述变量之间的相互作用,将分类变量映射到适当的数值范围,并在输入向量/矩阵上生成变换。
例如,R具有以下model.matrix
函数,它允许您通过描述高级formula
中变量之间的交互来转换输入数据。
输入数据:
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
答案 0 :(得分:0)
如果您正在寻找像Matlab这样的Java版本,那么您可以简单地复制和粘贴它......我怀疑是否有任何软件包会采用您提到的公式。
然而,请看http://code.google.com/p/efficient-java-matrix-library/。您的矩阵操作乍一看似乎非常简单,可以使用该库进行编程。
然而,您需要通过代码创建矩阵,以便适当地构建它。请参阅http://code.google.com/p/efficient-java-matrix-library/wiki/MatrixInputOutput以了解如何制作或可视化以及一般概念。你应该在那里阅读维基。