mahout-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Saikat Kanjilal (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MAHOUT-1929) Add Generalized Linear Models
Date Sun, 12 Mar 2017 01:25:04 GMT

    [ https://issues.apache.org/jira/browse/MAHOUT-1929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15906388#comment-15906388
] 

Saikat Kanjilal commented on MAHOUT-1929:
-----------------------------------------

Ok more progress, I decided to take the strategy that scalation is taking in implementing
GLM (https://github.com/scalation/scalation/blob/master/src/main/scala/scalation/analytics/par/GLM.scala),
I have:
1) Added a set of apply functions that reuse our existing infrastructure to compute the models
that already exist, namely for Linear Regression and Ordinary Least Squares
2) I have placed this code inside GLMModel for now

Code is here: https://github.com/skanjila/mahout/blob/mahout-1929/math-scala/src/main/scala/org/apache/mahout/math/algorithms/regression/GlmModel.scala

Would really appreciate a looksy from all interested parties identified in the above comments
before I get too much farther :), next steps include:
1) unit tests for the apply functions
2) figure out a creative way to tie in the other functions into the apply API infrastructure:

def fit(drmX: DrmLike[K],
          drmTarget: DrmLike[K],
          hyperparameters: (Symbol, Any)*): GlmModel[K]


  def setStandardHyperparameters(hyperparameters: Map[Symbol, Any] = Map('foo -> None)):
Unit 



  def calculateStandardError[M[K] <: GlmModel[K]](X: DrmLike[K],
                                                  drmTarget: DrmLike[K],
                                                  drmXtXinv: Matrix,
                                                  model: M[K]): M[K]

  def modelPostprocessing[M[K] <: GlmModel[K]](model: M[K],
                                               X: DrmLike[K],
                                               drmTarget: DrmLike[K],
                                               drmXtXinv: Matrix): M[K] 


Here are my thoughts on the above, my philosophy is that we keep around as much of the existing
infrastructure that [~rawkintrevo] has put in place and therefore these may need to just be
implemented inside each of the derived classes, I would like to see the apply function eventually
do the following: 1) compute the model 2) train the model 3) do the prediction 4) build quality
measures around each of the models

Thoughts ?

> Add Generalized Linear Models
> -----------------------------
>
>                 Key: MAHOUT-1929
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-1929
>             Project: Mahout
>          Issue Type: Wish
>          Components: Algorithms
>    Affects Versions: 0.13.1
>            Reporter: Trevor Grant
>
> Implement generalize Linear Models (GLM)
> https://en.wikipedia.org/wiki/Generalized_linear_model



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message