Closed ahwillia closed 9 years ago
That's bad news. The idea is that StatsBase forms a common base for all packages using statistics, so no one overwrites any function in there. We can get around it by importing all of StatsBase ourselves (which might be advisable to prevent this kind of issue in the future), and/or by changing the names of our functions.
Since we want to be able to call logistic(1.0)
and have it return a
logistic type, I guess we should change the names --- multiple dispatch
can't save us here. And as long as we're changing names, how about going to
CamelCase names (LogisticLoss
) to be in keeping with conventions for
other types?
Madeleine Udell Postdoctoral Fellow at the Center for the Mathematics of Information California Institute of Technology www.stanford.edu/~udell (415) 729-4115
On Mon, Sep 14, 2015 at 5:05 PM, Alex Williams notifications@github.com wrote:
Just wanted to highlight this annoyance:
using LowRankModelsusing DataFrameslogistic(1.0) # returns 0.731 instead of logistic(1.0,BoolDomain())logistic() # ERROR:
logistic
has no method matching logistic()This is the problematic function: https://github.com/JuliaStats/StatsFuns.jl/blob/9991e25012e29cf4bc1f081eec4ed9a1a6874291/src/basicfuns.jl#L16
I'm not sure why DataFrames needs to import all of StatsBase... but seeing as many users will likely be using one or both of these packages in conjunction with LowRankModels this could be a potential problem.
Should we consider changing names: logistic() ==> logloss(), quadratic() ==> quadloss(), etc...
— Reply to this email directly or view it on GitHub https://github.com/madeleineudell/LowRankModels.jl/issues/41.
Just wanted to highlight this annoyance:
This is the problematic function: https://github.com/JuliaStats/StatsFuns.jl/blob/9991e25012e29cf4bc1f081eec4ed9a1a6874291/src/basicfuns.jl#L16
I'm not sure why
DataFrames
needs to import all ofStatsBase
... but seeing as many users will likely be using one or both of these packages in conjunction withLowRankModels
this could be a potential problem.Should we consider changing names:
logistic()
==>logloss()
,quadratic()
==>quadloss()
, etc...