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

ASF GitHub Bot commented on MAHOUT-1856:
----------------------------------------

Github user dlyubimov commented on a diff in the pull request:

    https://github.com/apache/mahout/pull/246#discussion_r96468873
  
    --- Diff: 
math-scala/src/main/scala/org/apache/mahout/math/algorithms/regression/CochraneOrcutt.scala
 ---
    @@ -0,0 +1,68 @@
    +/**
    +  * Licensed to the Apache Software Foundation (ASF) under one
    +  * or more contributor license agreements. See the NOTICE file
    +  * distributed with this work for additional information
    +  * regarding copyright ownership. The ASF licenses this file
    +  * to you under the Apache License, Version 2.0 (the
    +  * "License"); you may not use this file except in compliance
    +  * with the License. You may obtain a copy of the License at
    +  *
    +  * http://www.apache.org/licenses/LICENSE-2.0
    +  *
    +  * Unless required by applicable law or agreed to in writing,
    +  * software distributed under the License is distributed on an
    +  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +  * KIND, either express or implied. See the License for the
    +  * specific language governing permissions and limitations
    +  * under the License.
    +  */
    +
    +package org.apache.mahout.math.algorithms.regression
    +
    +import org.apache.mahout.math.drm.DrmLike
    +import org.apache.mahout.math.drm.RLikeDrmOps._
    +import org.apache.mahout.math.scalabindings.RLikeOps._
    +
    +class CochraneOrcutt extends Regressor {
    +  // https://en.wikipedia.org/wiki/Cochrane%E2%80%93Orcutt_estimation
    +
    +  var regressor : Regressor = new OLS() // type of regression to do- must 
have a 'beta' fit param
    +  var iterations = 3 // Number of iterations to run
    +
    +  def fit[Int](drmY: DrmLike[Int], drmX: DrmLike[Int]) = {
    +
    +    regressor.fit(drmY, drmX)
    +    fitParams("beta0") = regressor.fitParams("beta")
    +
    +    val Y = drmY(1 until drmY.nrow.toInt, 0 until 1).checkpoint()
    --- End diff --
    
    Consider giving the callee an option to specify cache hint here, since it 
seems essential that this algorithm relies on plenty of things being put into 
memory. right now this implies memory only, so if it doesn't fit then the 
algorithm is going to a crawl. (in all fairness, in spark it would go to a 
crawl with memory and disk spec too, but to put things in perspective, we are 
probably talking of a  difference between crawling snail and snail skeleton 20 
years after its death.)


> Create a framework for new Mahout Clustering, Classification, and 
> Optimization  Algorithms
> ------------------------------------------------------------------------------------------
>
>                 Key: MAHOUT-1856
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-1856
>             Project: Mahout
>          Issue Type: New Feature
>    Affects Versions: 0.12.1
>            Reporter: Andrew Palumbo
>            Assignee: Trevor Grant
>            Priority: Critical
>             Fix For: 0.13.0
>
>
> To ensure that Mahout does not become "A loose bag of algorithms", Create 
> basic traits with funtions common to each class of algorithm. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to