dask / dask/dask-ml

Flag to skip centering in PCA

Open
#734 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
951
Forks
262
PR merge metrics
No merged PRs in 30d

Description

Hey @TomAugspurger, how opposed would you be to introducing small deviations from the scikit-learn interface to PCA like adding a flag in dask-ml.PCA to avoid requiring this centering?

https://github.com/dask/dask-ml/blob/b94c587abae3f5667eff131b0616ad8f91966e7f/dask_ml/decomposition/pca.py#L270-L271

That would certainly be a bad default, but if I know that is going to happen downstream from a scaling operation in a pipeline that already does the centering, I would like to have the option to avoid the extra operation. Is that reasonable or are you trying maintain something closer to perfect consistency?

Contributor guide

Open the contributing guide

Research direction

Start with dask_ml/decomposition/pca.py at the linked lines 270-271 and review how PCA currently performs centering. Compare the requested option with the scikit-learn PCA interface and determine the API behavior and safeguards needed; the work is done when the proposed flag has an agreed design and its behavior is covered by the relevant PCA tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, scikit-learn
Domain
machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.