Comments (20)
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.
I agree with last suggestion.
from sl3.
Seems like a good idea to me. @podTockom and @nhejazi: thoughts?
from sl3.
Yes - better sorting order is always good. I like it!
from sl3.
I like it as well.
from sl3.
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.
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.
So the Learner that uses a SuperLearner package wrapper would be Learner_pkgSuperLearner
?
from sl3.
Other thoughts:
- Maybe the prefix to Learners should be something with fewer characters than Learner?
- Does it still make sense to call this package
sl3
since the scope is a bit larger than SuperLearner at this point?
from sl3.
Yea, I think Learner_pkgSuperLearner
or Learner_pkg_SuperLearner
are fine.
-
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?
-
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 thanmlr
, in an organizational sense), we should discuss that and adapt accordingly
from sl3.
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.
Lets do lrnr_ prefix.
Also, either snake-style or underscore naming, but not both please!
from sl3.
Does it mean that your refactor will put a conflict on merge on my changes? I added grid-based h2o last night.
from sl3.
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.
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.
lrnr_MyFavorite
from sl3.
I guess I was referring to UpperLower case, it must be called something else and I am wrong.
from sl3.
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.
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.
Fixed!
from sl3.
Related Issues (20)
- Factor levels are not recoverable upon prediction when a stack only contains the Lrnr_mean HOT 2
- `Lrnr_rpart` fails to predict on external datasets HOT 3
- Documenting parallelization and CV options in `README` HOT 1
- Exercise 6.1 Targeted Learning in R HOT 5
- Installation error HOT 2
- `kerasR` Python configuration HOT 1
- Pipeline should use the chain function of its learner HOT 1
- `Lrnr_lightgbm` broken on Windows
- Add MAE loss function HOT 2
- Add count/nonnegative outcome variable type to sl3 and poisson family supporting learner properties HOT 2
- formula argument for learner clashes with formula argument of the internal learning routine (e.g. GAM) HOT 2
- documentation improvements
- Allowed argument for earth not being passed appropriately HOT 1
- Error : No newoffset provided for prediction, yet offset used in fit of glmnet HOT 1
- R 4.0 dependency (stringsAsFactors) HOT 3
- Devel install error HOT 4
- When loading the sl3 package, this error gets reported... HOT 7
- Predicting from `Lrnr_sl` HOT 3
- Example for `Lrnr_cv_selector` is not working HOT 3
- Delayed learner fit does not yield same result as regular fit when `Lrnr_randomForest` is used HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sl3.