Table of Contents

Class SumEncoder<T>

Namespace
AiDotNet.Preprocessing.Encoders
Assembly
AiDotNet.dll

Encodes categorical features using sum (deviation) coding.

public class SumEncoder<T> : TransformerBase<T, Matrix<T>, Matrix<T>>, IDataTransformer<T, Matrix<T>, Matrix<T>>

Type Parameters

T

The numeric type for calculations (e.g., float, double).

Inheritance
TransformerBase<T, Matrix<T>, Matrix<T>>
SumEncoder<T>
Implements
IDataTransformer<T, Matrix<T>, Matrix<T>>
Inherited Members

Remarks

SumEncoder (also known as deviation coding or effect coding) compares each level to the grand mean of the dependent variable. The last category serves as the reference and is encoded as -1 in all columns.

For k categories, creates k-1 columns. Unlike one-hot encoding: - Each category (except reference) gets 1 in its column, 0 elsewhere - The reference category gets -1 in ALL columns - The sum of coefficients equals 0

For Beginners: Sum coding is useful in ANOVA-style analysis: - Shows how each category differs from the overall average - The reference category's effect is the negative sum of others - Coefficients are easier to interpret as deviations from mean

Constructors

SumEncoder(SumEncoderHandleUnknown, int[]?)

Creates a new instance of SumEncoder<T>.

public SumEncoder(SumEncoderHandleUnknown handleUnknown = SumEncoderHandleUnknown.UseZeros, int[]? columnIndices = null)

Parameters

handleUnknown SumEncoderHandleUnknown

How to handle unknown categories. Defaults to UseZeros.

columnIndices int[]

The column indices to encode, or null for all columns.

Properties

HandleUnknown

Gets how unknown categories are handled.

public SumEncoderHandleUnknown HandleUnknown { get; }

Property Value

SumEncoderHandleUnknown

NOutputFeatures

Gets the number of output features.

public int NOutputFeatures { get; }

Property Value

int

SupportsInverseTransform

Gets whether this transformer supports inverse transformation.

public override bool SupportsInverseTransform { get; }

Property Value

bool

Methods

FitCore(Matrix<T>)

Fits the encoder by learning categories.

protected override void FitCore(Matrix<T> data)

Parameters

data Matrix<T>

GetFeatureNamesOut(string[]?)

Gets the output feature names after transformation.

public override string[] GetFeatureNamesOut(string[]? inputFeatureNames = null)

Parameters

inputFeatureNames string[]

Returns

string[]

InverseTransformCore(Matrix<T>)

Inverse transformation is not supported.

protected override Matrix<T> InverseTransformCore(Matrix<T> data)

Parameters

data Matrix<T>

Returns

Matrix<T>

TransformCore(Matrix<T>)

Transforms the data using sum coding.

protected override Matrix<T> TransformCore(Matrix<T> data)

Parameters

data Matrix<T>

Returns

Matrix<T>