GithubHelp home page GithubHelp logo

Comments (20)

jeremyrcoyle avatar jeremyrcoyle commented on July 17, 2024 2

Hard to say I guess. Definitely we should try to eliminate camelCase with prejudice. How about:
lrnr_a_learner=Lrnr_a_learner$new() ?

from sl3.

osofr avatar osofr commented on July 17, 2024 1

I agree with last suggestion.

from sl3.

jeremyrcoyle avatar jeremyrcoyle commented on July 17, 2024

Seems like a good idea to me. @podTockom and @nhejazi: thoughts?

from sl3.

nhejazi avatar nhejazi commented on July 17, 2024

Yes - better sorting order is always good. I like it!

from sl3.

imalenica avatar imalenica commented on July 17, 2024

I like it as well.

from sl3.

jeremyrcoyle avatar jeremyrcoyle commented on July 17, 2024

Working on the refactor now. A related issue is how to distinguish between SuperLearner the algorithm and SuperLearner the package (and also sl3 the package). Any good ideas there?

from sl3.

nhejazi avatar nhejazi commented on July 17, 2024

I think we should call the algorithm itself simple SuperLearner (SL for short if we want). For the packages (especially old Super Learner), we could just append pkg to the beginning or end of the name?

from sl3.

jeremyrcoyle avatar jeremyrcoyle commented on July 17, 2024

So the Learner that uses a SuperLearner package wrapper would be Learner_pkgSuperLearner?

from sl3.

jeremyrcoyle avatar jeremyrcoyle commented on July 17, 2024

Other thoughts:

  1. Maybe the prefix to Learners should be something with fewer characters than Learner?
  2. Does it still make sense to call this package sl3 since the scope is a bit larger than SuperLearner at this point?

from sl3.

nhejazi avatar nhejazi commented on July 17, 2024

Yea, I think Learner_pkgSuperLearner or Learner_pkg_SuperLearner are fine.

  1. The prefix is mostly an organizational point, right? It doesn't really matter how long the prefix is since I assume we're all just tab-completing to get the files we want -- is that what you meant?

  2. I think for changes of this kind (name, scope, etc.), we should have a short discussion. In my view, our core goal is still to re-implement the Super Learner algorithm (and get it a bit more right this time, now that we have ~10yrs of hindsight and better tools like R6 to work with), with the goal being for this re-design to offer a lot to new and existing TMLE implementations (and also w/e else people want SL for of course). If we see this project expanding to fill a bigger role (a better library than mlr, in an organizational sense), we should discuss that and adapt accordingly

from sl3.

jeremyrcoyle avatar jeremyrcoyle commented on July 17, 2024

Regarding the prefix, I'm just over here doing the refactor and getting real tired of typing Learner when lrnr or something would do (compare the SL. prefix in SuperLearner and the regr. and classif. prefixes in mlr). I know tab completion solves this problem a lot of the time, but as a relatively slow/lazy typist, I get annoyed at unnecessarily long variable names (I'm looking at you java: https://docs.oracle.com/javase/8/docs/api/java/beans/beancontext/BeanContextServiceProviderBeanInfo.html)

from sl3.

osofr avatar osofr commented on July 17, 2024

Lets do lrnr_ prefix.

Also, either snake-style or underscore naming, but not both please!

from sl3.

osofr avatar osofr commented on July 17, 2024

Does it mean that your refactor will put a conflict on merge on my changes? I added grid-based h2o last night.

from sl3.

jeremyrcoyle avatar jeremyrcoyle commented on July 17, 2024

What's snake-style?
Also, it will almost certainly conflict, but if you get your PR in first, it'll be on me to fix the merge conflict 😛

from sl3.

nhejazi avatar nhejazi commented on July 17, 2024

Oh, yea, lrnr sounds good to me (I guess I just wasn't sure what the alternatives were)

@osofr -- I had proposed use of snake_case in keeping with tidyverse style. Also not sure what snake-style naming is

from sl3.

osofr avatar osofr commented on July 17, 2024

lrnr_MyFavorite

from sl3.

osofr avatar osofr commented on July 17, 2024

I guess I was referring to UpperLower case, it must be called something else and I am wrong.

from sl3.

jeremyrcoyle avatar jeremyrcoyle commented on July 17, 2024

I think generally tradition is that class defintions start with uppercase names and class objects start with lowercase names to distinguish them. Of course, we can break with tradition on that

from sl3.

nhejazi avatar nhejazi commented on July 17, 2024

I think what's now been proposed lrnr_SomethingNew is some combination of snake case and camel case (guys, we can invent our own case!)

Is the current suggestion that we use lrnr_Classdef and lrnr_objectdef? This sees reasonable (and tidy!) to me, but now sure what current thinking is

from sl3.

jeremyrcoyle avatar jeremyrcoyle commented on July 17, 2024

Fixed!

from sl3.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.