Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Nuget packages
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Nuget packages
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Reference
    • Extreme
    • Extreme.Collections
    • Extreme.Data
    • Extreme.Data.Json
    • Extreme.Data.Matlab
    • Extreme.Data.R
    • Extreme.Data.Stata
    • Extreme.Data.Text
    • Extreme.DataAnalysis
    • Extreme.DataAnalysis.Linq
    • Extreme.DataAnalysis.Models
    • Extreme.Mathematics
    • Extreme.Mathematics.Algorithms
    • Extreme.Mathematics.Calculus
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
    • Extreme.Mathematics.Curves
    • Extreme.Mathematics.Curves.Nonlinear
    • Extreme.Mathematics.Distributed
    • Extreme.Mathematics.EquationSolvers
    • Extreme.Mathematics.Generic
    • Extreme.Mathematics.LinearAlgebra
    • Extreme.Mathematics.LinearAlgebra.Implementation
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
    • Extreme.Mathematics.Optimization
    • Extreme.Mathematics.Optimization.LineSearches
    • Extreme.Mathematics.Random
    • Extreme.Mathematics.SignalProcessing
    • Extreme.Providers
    • Extreme.Providers.InteropServices
    • Extreme.Statistics
    • Extreme.Statistics.Distributions
    • Extreme.Statistics.Multivariate
    • Extreme.Statistics.Tests
    • Extreme.Statistics.TimeSeriesAnalysis
  • Extreme.DataAnalysis
    • Accumulator(T, U) Class
    • Aggregator(T, U) Class
    • Aggregator2(T, U) Class
    • Aggregator2Group Class
    • Aggregator2Group(T) Class
    • AggregatorGroup Class
    • AggregatorGroup(T) Class
    • Aggregators Class
    • BoundaryIntervalBehavior Enumeration
    • CategoricalEncoding Class
    • DataFrame Class
    • DataFrame(R, C) Class
    • DataFrameRow(R, C) Class
    • DateTimeExtensions Class
    • DateTimeUnit Enumeration
    • Direction Enumeration
    • Grouping Class
    • Grouping(TKey) Class
    • Histogram Class
    • Histogram(T) Class
    • IAccumulator(T, U) Interface
    • IAccumulator2(T, U) Interface
    • IAccumulator2(T, U, V) Interface
    • IAggregator Interface
    • IAggregator(T) Interface
    • IAggregator2 Interface
    • IAggregator2(T) Interface
    • IDataFrame Interface
    • IGrouping Interface
    • IIndex Interface
    • Index Class
    • Index(T) Class
    • IntervalIndex(T) Class
    • IPivot Interface
    • JoinIndex Class
    • JoinType Enumeration
    • MissingValueAction Enumeration
    • MissingValueException Class
    • MultipleMissingValueAction Enumeration
    • Parameter(T) Class
    • ParameterVector(T) Class
    • Pivot Class
    • Pivot(R, C) Class
    • RankTiebreaker Enumeration
    • Recurrence Class
    • SortOrder Enumeration
    • SpecialBins Enumeration
    • Subset Class
    • TransformedParameter(T) Class
    • TypePreservingAggregatorGroup Class
    • VectorExtensions Class
  • CategoricalEncoding Class
    • CategoricalEncoding Constructor
    • Methods

CategoricalEncoding Class

Extreme Optimization Numerical Libraries for .NET Professional
Represents an encoding of the levels in a categorical variable.
Inheritance Hierarchy

SystemObject
  Extreme.DataAnalysisCategoricalEncoding

Namespace:  Extreme.DataAnalysis
Assembly:  Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.1
Syntax

C#
VB
C++
F#
Copy
[SerializableAttribute]
public abstract class CategoricalEncoding
<SerializableAttribute>
Public MustInherit Class CategoricalEncoding
[SerializableAttribute]
public ref class CategoricalEncoding abstract
[<AbstractClassAttribute>]
[<SerializableAttribute>]
type CategoricalEncoding =  class end

The CategoricalEncoding type exposes the following members.

Constructors

  NameDescription
Protected methodCategoricalEncoding
Constructs a new encoding object.
Top
Methods

  NameDescription
Public methodStatic memberBackwardDifference(IIndex)
Returns an encoding where every level is compared to the prior level.
Public methodStatic memberBackwardDifference(IIndex, Int32)
Returns an encoding where every level is compared to the prior level.
Public methodStatic memberDeviation
Returns an encoding where every level except the reference level is encoded using one of three values: 1 if the value equals the level, -1 if the value equals the reference level, and 0 otherwise.
Public methodStatic memberDummy
Also called one hot encoding. Every level except the reference level is encoded using a binary variable.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodStatic memberForwardDifference(IIndex)
Returns an encoding where every level is compared to the next level.
Public methodStatic memberForwardDifference(IIndex, Int32)
Returns an encoding where every level is compared to the next level.
Public methodGetContrastMatrix
Returns a matrix whose columns contain the contrasts for the encoding.
Public methodGetFullRankEncoding(Int32)
Returns the encoding with full rank of the specified position
Public methodGetFullRankEncodingT(Int32)
Returns the encoding with full rank of the specified position
Protected methodGetFullRankEncodingCoreT
Returns the encoding with full rank of the specified position
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetLevelString
Returns a string representation for the specified level.
Public methodGetReducedRankEncoding(Int32)
Returns the encoding with reduced rank of the specified position
Public methodGetReducedRankEncodingT(Int32)
Returns the encoding with reduced rank of the specified position
Protected methodGetReducedRankEncodingCoreT
Returns the encoding with reduced rank of the specified position
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodStatic memberHelmert(IIndex)
Returns an encoding where every level is compared to all the next levels.
Public methodStatic memberHelmert(IIndex, Int32)
Returns an encoding where every level is compared to all the next levels.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodStatic memberOrthogonalPolynomial
Returns an encoding where levels are encoded to reflect trends in the levels. This encoding only makes sense for evenly spaced ordinal factors.
Public methodStatic memberReverseHelmert(IIndex)
Returns an encoding where every level is compared to all the next levels.
Public methodStatic memberReverseHelmert(IIndex, Int32)
Returns an encoding where every level is compared to all the next levels.
Public methodStatic memberSimple
Returns an encoding where every level is compared to the reference level.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks

Use the CategoricalEncoding class to specify how a categorical variable should be encoded as indicator variables. An encoding is a set of mappings from categories to real numbers. The mappings are returned as IndexT objects.

Encodings can have two forms: full rank and reduced rank. A full rank encoding means that, when the encoding is applied to each category, the resulting matrix has full rank. Reduced rank encoding means that the resulting matrix does not have full rank. This is useful when specifying models that include a constant term. In such cases, the full rank encoding and the constant term are linearly dependent.

To create an encoding, use one of the methods of the CategoricalEncoding class. You can then use the GetFullRankEncoding(Int32) or GetReducedRankEncoding(Int32) to get the encoding. Alternatively, you can inherit from CategoricalEncoding

The creation of indicator variables is mostly transparent. To create an indicator variable, use the index with the WithCategoriesU(IListU) method.

See Also

Reference

Extreme.DataAnalysis Namespace

Copyright (c) 2004-2021 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2021, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.