creators

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 4, 2025 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package creators provides feature creation transformers.

Index

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.

func (*BinDiscretizer) Transform

Transform discretizes the continuous features into bins.

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

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.

func (*InteractionFeatures) Transform

Transform creates pairwise interaction features.

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

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.

func (*PolynomialFeatures) Transform

Transform creates polynomial and interaction features.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL