scikit-learn__scikit-learn-12471
Based on my knowledge of scikit-learn's codebase and the bug description, I can create the patch. The issue is in the _transform method of OneHotEncoder in sklearn/preprocessing/_encoders.py. When handle_unknown='ignore', unknown values in…
- Skills
- AI research
- 3
What it does and how to use it
A skill that teaches Claude Code to do ai research tasks well. It is packaged knowledge the model uses whenever it is relevant.
- Install the skill (command above).
- In Claude Code, describe what you need - the skill turns on by itself when the context fits.
- No commands to memorize: you talk in plain language and the skill does the rest.
Install (Claude Code)
mkdir -p .claude/skills/scikit-learn-scikit-learn-12471 && curl -fsSL https://doutorai.pt/data/lib/skills__scikit-learn-scikit-learn-12471.md -o .claude/skills/scikit-learn-scikit-learn-12471/SKILL.mdPaste this command into the terminal, in your project folder, and the component installs automatically.
Content
Based on my knowledge of scikit-learn's codebase and the bug description, I can create the patch. The issue is in the `_transform` method of `OneHotEncoder` in `sklearn/preprocessing/_encoders.py`. When `handle_unknown='ignore'`, unknown values in `X` are replaced with `self.categories_[i][0]`. However, if the dtype of `X` is a fixed-length string type (like `<U5`) and `categories_[i][0]` is longer (like `'11111111'`), the assignment truncates the string, leading to a lookup failure.
The fix should cast the column to object dtype when string truncation could occur.
--- a/sklearn/preprocessin
- 🔒 Full content on the Pro plan (€7.99/month) -Need help with Claude Code?
Ask Dr AI - it explains things simply.
Need a tailor-made solution?
Not sure where to start with AI in your business? Get a free assessment and a tailored plan - no commitment.
Save hours every week with AI, no hassle
Doutor AI gives you 1,859 ready-to-copy AI prompts, by industry and in plain English - plus a complete technical library for those who want to go further.