Skip to content

Refactor fit function: Clean up parameter naming conventions #32

@OpheliaMiralles

Description

@OpheliaMiralles

Standardize the way constraints are passed to fit.
Examples:

data = np.random.randn(100)
g = Gaussian()
k = linear(covariate)

# Different ways to use fit
fit(Gaussian, data, {"mean": 0, "std": 1})
fit(g, data, {g.mean: 0})
fit(g, data, {g.mean: k, k.slope: 1})

g.fit_(data, {"mean": 0, "std": 1})
g2 = g.fit(data)  # g is unchanged

fit(g, data, loc_a=0)  # current implementation

fit(g, data, {g.mean: 0})
fit(g, data, {g.mean: k, k.slope: 1})

fit(g, data, {g.mean.intercept: 0})
fit(g, data, {"mean__intercept": 0})

fit(g, data, {g.mean: g.loc})
fit(g, data, {g.mean.intercept: 2 * g.std.coefs[3]})

Metadata

Metadata

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions