Hi Matt,

Thank you for the code review!

​
​
> gradboostreg/tree, stat, sample have no tests.

Yes, thanks for reminder, I should write tests for them!​

​
​
> These sub-packages may be better in package gradboostreg since they seem
straightforward and contained to this library. Keeping those things in
sub-packages doesn’t seem to add much value over just having separate files
in my opinion.​

​I put them in separate packages in an attempt to structure the code to be
readable and isolate the intermediary functions and show that they are only
helper funcs by unexporting them. I know it's not interesting to have a
package with one file and that only one other package using it, but the
benefits outweigh the uninterestingness for me. Maybe because I have no
problem jumping around the files.​

​
​
> If you do keep the sub-packages I suggest changing sample.DefaultSample
to just sample.Default.​

​Great idea! I ran out of idea what to call it.

​
​
> I’m not sure I understand why tree.Decider as an interface is necessary.
The only use in the package is to return a Decider from NewDecisionTree. I
would define such an interface where it’s used.​

I was thinking that you can implement deciders other than decision trees,
e.g. a Gaussian decider!

​
​
> Do you intend to add an open source license? If not, be sure to read the
GitHub default license.


​I have no idea or preferences about licenses, except that I felt that MIT
looked like the most permissive one. I will add a license later today.

Thanks again for your time reviewing the project :)
​Sina​




On Tue, Jan 30, 2018 at 3:28 AM, <matthewju...@gmail.com> wrote:
>
> Hi Sina, here’s a general code review.
>
​​
> gradboostreg/tree, stat, sample have no tests.
>
​​
> These sub-packages may be better in package gradboostreg since they seem
straightforward and contained to this library. Keeping those things in
sub-packages doesn’t seem to add much value over just having separate files
in my opinion.
>
​​
> If you do keep the sub-packages I suggest changing sample.DefaultSample
to just sample.Default.
>
​​
> I’m not sure I understand why tree.Decider as an interface is necessary.
The only use in the package is to return a Decider from NewDecisionTree. I
would define such an interface where it’s used.
>
​​
> The godoc has no documentation.
>
​​
> Do you intend to add an open source license? If not, be sure to read the
GitHub default license.
>
> Matt
>
> On Monday, January 29, 2018 at 4:43:38 PM UTC-6, Sina Siadat wrote:
>>
>> Hi Sebastien,
>>
>> Thanks for your comment and question :)
>>
>> > I have one "drive-by-comment" and a question:
>> > you could have perhaps used gonum for the stats stuff :)
>>
>> Actually, I did start with gonum :)) but I thought it was a large
dependency and I only needed a few funcs from it, so I decided to
copy/write them!
>>
>> > and the question: did you compare your package with XGBoost (which is
now kind of a standard candle nowadays) in terms of accuracy, speed and
memory usage?
>>
>> I haven't used XGBoost yet, it looks pretty cool, thanks for mentioning
it. I will install it and see if I can compare the two.
>>
>> Cheers!
>> Sina
>>
> --
> You received this message because you are subscribed to a topic in the
Google Groups "golang-nuts" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/
topic/golang-nuts/bi7WEHeeNWs/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to