AI & MACHINE LEARNING PROGRAM • LEVEL 05 — DATA PREPARATION

One-hot Encode Categories with Python

Learn one-hot encode categories with python with a short, executable Python example.

IntermediateOne-hot encodingCategorical data

PROBLEM UNDERSTANDING

Input and expected output

Sample input
No input required
Sample output
['blue', 'red'] [[0, 1], [1, 0], [0, 1]]

COMPLETE PYTHON PROGRAM

Complete Python implementation

ai-ml-05-one-hot-encoding.py
Open in compiler
categories = ['red', 'blue', 'red']
labels = sorted(set(categories))
encoded = [[int(value == label) for label in labels] for value in categories]
print(labels, encoded)

GUIDED CODE TOUR • NOT LIVE EXECUTION

Study the program line by line

Use the real compiler button above to run and debug with different inputs.

CURRENT STEP

Select Start to walk through the important lines.

SELECTED LINE

No line selected

EXPECTED OUTPUT FOR THE SAMPLE

['blue', 'red'] [[0, 1], [1, 0], [0, 1]]
0%Step 0 of 0

PROGRAM EXPLANATION

Algorithm and explanation

  1. Initialize the sample values used to one-hot encode categories.
  2. Process the data step by step using One-hot encoding and Categorical data.
  3. Display the result for one-hot encode categories and compare it with the documented sample output.

This example of one-hot encode categories processes the sample values in a controlled iteration. It demonstrates One-hot encoding and Categorical data and prints a deterministic result that can be checked against the sample output.

EFFICIENCY

Time and space complexity

Time complexity

O(n · k)

Auxiliary space

O(n · k)

DEBUGGING CHECKLIST

Common mistakes

Check this

For one-hot encode categories, keep the data shape and value types consistent with One-hot encoding.

Check this

Keep every dependent statement inside the correct indented Python block.

Check this

Verify the final One-hot encoding and Categorical data result against the sample before trying new data.

Try it yourself

Practice: Run the program with the sample input, predict its output, and then test one boundary case of your own.