Я пытаюсь оценить параметры (распределение Дирихле) для набора данных, используя библиотеку Scala breeze. У меня уже есть рабочий python (pandas/dataframes) и код R для него, но мне было любопытно, как это сделать в Scala. Также я новичок в Scala.
Кажется, я не могу заставить его работать. Я предполагаю, что синтаксически у меня что-то не так или что-то в этом роде.
Код, который я пытаюсь использовать, находится здесь: https://github.com/scalanlp/breeze/blob/master/math/src/main/scala/breeze/stats/distributions/Dirichlet.scala#L111
Согласно приведенному выше коду: ExpFam[T,I] принимает два параметра T и I. Я не знаю, что такое T и I. Может ли T быть плотной матрицей?
Что я делаю:
# Creating a matrix. The values are counts in my case.
val mat = DenseMatrix((1.0, 2.0, 3.0),(4.0, 5.0, 6.0))
# Then try to get sufficient stats and then MLE. I think this where I doing something wrong.
val diri = new ExpFam[DenseMatrix[Double],Int](mat)
println(diri.sufficientStatisticFor(mat))
Также, если у вас есть матрица данных, подобная этой DenseMatrix ((1.0, 2.0, 3.0), (4.0, 5.0, 6.0)) как оценить параметры (Дирихле) в Scala.