Documentation
¶
Overview ¶
Package creators provides feature creation transformers.
Index ¶
- type BinDiscretizer
- func (b *BinDiscretizer) Fit(df *dataframe.DataFrame, _ ...string) error
- func (b *BinDiscretizer) FitTransform(df *dataframe.DataFrame, target ...string) (*dataframe.DataFrame, error)
- func (b *BinDiscretizer) GetBins() map[string][]float64
- func (b *BinDiscretizer) IsFitted() bool
- func (b *BinDiscretizer) Transform(df *dataframe.DataFrame) (*dataframe.DataFrame, error)
- type InteractionFeatures
- func (i *InteractionFeatures) Fit(df *dataframe.DataFrame, _ ...string) error
- func (i *InteractionFeatures) FitTransform(df *dataframe.DataFrame, target ...string) (*dataframe.DataFrame, error)
- func (i *InteractionFeatures) IsFitted() bool
- func (i *InteractionFeatures) Transform(df *dataframe.DataFrame) (*dataframe.DataFrame, error)
- type PolynomialFeatures
- func (p *PolynomialFeatures) Fit(df *dataframe.DataFrame, _ ...string) error
- func (p *PolynomialFeatures) FitTransform(df *dataframe.DataFrame, target ...string) (*dataframe.DataFrame, error)
- func (p *PolynomialFeatures) IsFitted() bool
- func (p *PolynomialFeatures) Transform(df *dataframe.DataFrame) (*dataframe.DataFrame, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BinDiscretizer ¶
type BinDiscretizer struct {
// Columns to discretize
Columns []string
// NBins is the number of bins to create
NBins int
// Strategy for creating bins:
// - "uniform": equal width bins
// - "quantile": equal frequency bins
// - "kmeans": k-means based bins (simplified)
Strategy string
// Encode specifies how to encode the bins:
// - "ordinal": 0, 1, 2, ...
// - "onehot": create binary columns for each bin
Encode string
// contains filtered or unexported fields
}
BinDiscretizer discretizes continuous features into bins.
func NewBinDiscretizer ¶
func NewBinDiscretizer(columns []string, nBins int, strategy string) *BinDiscretizer
NewBinDiscretizer creates a new BinDiscretizer.
func (*BinDiscretizer) Fit ¶
func (b *BinDiscretizer) Fit(df *dataframe.DataFrame, _ ...string) error
Fit computes the bin edges for each column.
func (*BinDiscretizer) FitTransform ¶
func (b *BinDiscretizer) FitTransform(df *dataframe.DataFrame, target ...string) (*dataframe.DataFrame, error)
FitTransform fits the discretizer and transforms the data in one step.
func (*BinDiscretizer) GetBins ¶
func (b *BinDiscretizer) GetBins() map[string][]float64
GetBins returns the bin edges for each column.
func (*BinDiscretizer) IsFitted ¶
func (b *BinDiscretizer) IsFitted() bool
IsFitted returns true if the discretizer has been fitted.
type InteractionFeatures ¶
type InteractionFeatures struct {
// Columns to create interactions from. If nil, use all numeric columns.
Columns []string
// contains filtered or unexported fields
}
InteractionFeatures creates pairwise interaction features. For columns [a, b, c]: creates [a×b, a×c, b×c]
func NewInteractionFeatures ¶
func NewInteractionFeatures(columns []string) *InteractionFeatures
NewInteractionFeatures creates a new InteractionFeatures transformer.
func (*InteractionFeatures) Fit ¶
func (i *InteractionFeatures) Fit(df *dataframe.DataFrame, _ ...string) error
Fit is a no-op for InteractionFeatures (stateless transformer).
func (*InteractionFeatures) FitTransform ¶
func (i *InteractionFeatures) FitTransform(df *dataframe.DataFrame, target ...string) (*dataframe.DataFrame, error)
FitTransform fits the transformer and transforms the data in one step.
func (*InteractionFeatures) IsFitted ¶
func (i *InteractionFeatures) IsFitted() bool
IsFitted returns true if the transformer has been fitted.
type PolynomialFeatures ¶
type PolynomialFeatures struct {
// Degree of the polynomial features
Degree int
// IncludeBias adds a constant feature (all 1s)
IncludeBias bool
// InteractionOnly only creates interaction features (no powers)
InteractionOnly bool
// Columns to use. If nil, use all numeric columns.
Columns []string
// contains filtered or unexported fields
}
PolynomialFeatures generates polynomial and interaction features. For degree=2 and columns [a, b]: creates [1, a, b, a², a×b, b²]
func NewPolynomialFeatures ¶
func NewPolynomialFeatures(degree int) *PolynomialFeatures
NewPolynomialFeatures creates a new PolynomialFeatures transformer.
func (*PolynomialFeatures) Fit ¶
func (p *PolynomialFeatures) Fit(df *dataframe.DataFrame, _ ...string) error
Fit is a no-op for PolynomialFeatures (stateless transformer).
func (*PolynomialFeatures) FitTransform ¶
func (p *PolynomialFeatures) FitTransform(df *dataframe.DataFrame, target ...string) (*dataframe.DataFrame, error)
FitTransform fits the transformer and transforms the data in one step.
func (*PolynomialFeatures) IsFitted ¶
func (p *PolynomialFeatures) IsFitted() bool
IsFitted returns true if the transformer has been fitted.