I am unsure but probably it's because you can infer the remaining class. For instance, imagine you have two colors {red, blue} and you want encode that variable. One option is to create two columns, one for red and other for blue, but you could also create just n - 1 columns for example "red"; if the value is 1 then the sample is red otherwise is blue.

Answer from Alberto Bonsanto on Stack Overflow
🌐
Scikit-learn
contrib.scikit-learn.org › category_encoders › backward_difference.html
Backward Difference Coding — Category Encoders 2.8.1 documentation
class category_encoders.backward_difference.BackwardDifferenceEncoder(verbose=0, cols=None, mapping=None, drop_invariant=False, return_df=True, handle_unknown='value', handle_missing='value')[source]
🌐
GitHub
github.com › scikit-learn-contrib › category_encoders › blob › master › category_encoders › backward_difference.py
category_encoders/category_encoders/backward_difference.py at master · scikit-learn-contrib/category_encoders
class BackwardDifferenceEncoder(BaseContrastEncoder): """Backward difference contrast coding for encoding categorical variables. · Parameters · ---------- · verbose: int · integer indicating verbosity of the output. 0 for none. cols: list ·
Author: scikit-learn-contrib
🌐
Scikit-learn
contrib.scikit-learn.org › category_encoders › _modules › category_encoders › backward_difference.html
category_encoders.backward_difference — Category Encoders 2.2.2 documentation
[docs]class BackwardDifferenceEncoder(BaseEstimator, TransformerMixin): """Backward difference contrast coding for encoding categorical variables. Parameters ---------- verbose: int integer indicating verbosity of the output. 0 for none. cols: list a list of columns to encode, if None, all ...
🌐
Hdi-project
hdi-project.github.io › ballet › _modules › category_encoders › backward_difference.html
category_encoders.backward_difference — ballet 0.7.11 documentation
[docs]class BackwardDifferenceEncoder(BaseEstimator, TransformerMixin): """Backward difference contrast coding for encoding categorical variables. Parameters ---------- verbose: int integer indicating verbosity of the output. 0 for none. cols: list a list of columns to encode, if None, all ...
🌐
Scikit-learn
contrib.scikit-learn.org › category_encoders
Category Encoders — Category Encoders 2.11.1 documentation
import category_encoders as ce encoder = ce.BackwardDifferenceEncoder(cols=[...]) encoder = ce.BaseNEncoder(cols=[...]) encoder = ce.BinaryEncoder(cols=[...]) encoder = ce.CatBoostEncoder(cols=[...]) encoder = ce.CountEncoder(cols=[...]) encoder = ce.CountTargetEncoder(cols=[...]) encoder = ...
🌐
PyPI
pypi.org › project › category-encoders › 1.2.0
category-encoders · PyPI
encoder = ce.BackwardDifferenceEncoder(cols=[…]) encoder = ce.BinaryEncoder(cols=[…]) encoder = ce.HashingEncoder(cols=[…]) encoder = ce.HelmertEncoder(cols=[…]) encoder = ce.OneHotEncoder(cols=[…]) encoder = ce.OrdinalEncoder(cols=[…]) encoder = ce.SumEncoder(cols=[…]) encoder = ce.PolynomialEncoder(cols=[…])
🌐
Scikit-learn
contrib.scikit-learn.org › category_encoders › index.html
Category Encoders — Category Encoders 2.8.1 documentation
import category_encoders as ce encoder = ce.BackwardDifferenceEncoder(cols=[...]) encoder = ce.BaseNEncoder(cols=[...]) encoder = ce.BinaryEncoder(cols=[...]) encoder = ce.CatBoostEncoder(cols=[...]) encoder = ce.CountEncoder(cols=[...]) encoder = ce.GLMMEncoder(cols=[...]) encoder = ...
🌐
GitHub
github.com › pheman › categorical-encoding
GitHub - pheman/categorical-encoding: A library of sklearn compatible categorical variable encoders
import category_encoders as ce encoder = ce.BackwardDifferenceEncoder(cols=[...]) encoder = ce.BinaryEncoder(cols=[...]) encoder = ce.HashingEncoder(cols=[...]) encoder = ce.HelmertEncoder(cols=[...]) encoder = ce.OneHotEncoder(cols=[...]) encoder = ce.OrdinalEncoder(cols=[...]) encoder = ...
Forked by 380 users
Languages: Python 95.8% | Shell 4.2% | Python 95.8% | Shell 4.2%
Find elsewhere
🌐
PyPI
pypi.org › project › featurewiz
featurewiz · PyPI
BackwardDifferenceEncoder: BackwardDifferenceEncoder is a Backward difference contrast coding for encoding categorical variables.
🌐
Practical Business Python
pbpython.com › categorical-encoding.html
Guide to Encoding Categorical Values in Python - Practical Business Python
import category_encoders as ce # Get a new clean dataframe obj_df = df.select_dtypes(include=['object']).copy() # Specify the columns to encode then fit and transform encoder = ce.BackwardDifferenceEncoder(cols=["engine_type"]) encoder.fit_transform(obj_df, verbose=1).iloc[:,8:14].head()
🌐
GitHub
github.com › Mapleleaff › categorical-encoding
GitHub - Mapleleaff/categorical-encoding: A library of sklearn compatible categorical variable encoders
import category_encoders as ce encoder = ce.BackwardDifferenceEncoder(cols=[...]) encoder = ce.BinaryEncoder(cols=[...]) encoder = ce.HashingEncoder(cols=[...]) encoder = ce.HelmertEncoder(cols=[...]) encoder = ce.OneHotEncoder(cols=[...]) encoder = ce.OrdinalEncoder(cols=[...]) encoder = ce.SumEncoder(cols=[...]) encoder = ce.PolynomialEncoder(cols=[...]) encoder = ce.BaseNEncoder(cols=[...]) encoder = ce.LeaveOneOutEncoder(cols=[...])
Author: Mapleleaff
🌐
GitHub
github.com › scikit-learn-contrib › category_encoders › issues › 125
Backward difference encoding changes DataFrame column names · Issue #125 · scikit-learn-contrib/category_encoders
September 21, 2018 - This might be a quick one as it looks like it's intentional, I just don't understand why. I tried a BackwardDifferenceEncoder and found that it prepended all of my columns with "col_&q...
Author: scikit-learn-contrib
🌐
Kaggle
kaggle.com › harishvutukuri › categorical-variable-encoding
Categorical Variable Encoding | Kaggle
February 13, 2020 - Explore and run machine learning code with Kaggle Notebooks | Using data from No attached data sources
🌐
Stack Exchange
stats.stackexchange.com › questions › 419990 › logic-of-forward-or-backward-difference-coding
categorical encoding - Logic of forward or backward difference coding - Cross Validated
July 31, 2019 - Two systems of contrast coding for ordinal data are forward difference coding and backward difference coding. I will focus on the latter system here because it seems to be more commonly used, but my
🌐
LinkedIn
linkedin.com › pulse › encode-categorical-features-revanth-yadama
Encode-Categorical-Features
October 12, 2021 - Handling Categorical/Qualitative variables is an important step in data pre-processing. Many Machine learning algorithms can not understand categorical variables by themselves unless we convert them to numerical values.
🌐
Dive into Deep Learning
d2l.ai › chapter_recurrent-modern › seq2seq.html
10.7. Sequence-to-Sequence Learning for Machine Translation — Dive into Deep Learning 1.0.3 documentation
In so-called sequence-to-sequence problems such as machine translation (as discussed in Section 10.5), where inputs and outputs each consist of variable-length unaligned sequences, we generally rely on encoder–decoder architectures (Section 10.6). In this section, we will demonstrate the ...
🌐
Medium
chrisyandata.medium.com › understanding-cross-encoders-architecture-implementation-and-applications-d70e6fcba240
Understanding Cross-Encoders: Architecture, Implementation, and Applications | by Chris Yan | Medium
November 6, 2024 - Understanding Cross-Encoders: Architecture, Implementation, and Applications Cross-encoders are a powerful class of models widely used in tasks that require precise pairwise scoring, such as …
🌐
Medium
medium.com › @kakumar1611 › the-illustrated-guide-to-cross-encoders-from-deep-to-shallow-2a23a8630016
The Illustrated Guide to Cross-Encoders: From Deep to Shallow | by Kapil Kumar | Medium
December 18, 2024 - The Illustrated Guide to Cross-Encoders: From Deep to Shallow This blog explores cross-encoders, their functionality, strengths, and trade-offs in modern information retrieval systems like Retrieval …