AI People Wiki

Builders & open source

Thomas J. Fan

Member of Technical Staff, Modal

  • Member of Technical Staff, Modal1

Thomas J. Fan is a Member of Technical Staff at Modal and a maintainer of scikit-learn, where Fan is listed in the project's active Maintainers Team. Fan's blog includes a retrospective on six years as a scikit-learn maintainer, along with technical posts on PyTorch model serialization with torch.export, portable torch.compile caches, NumPy ufuncs with Cython, and Python extensions in Rust.123

At a glance

Current role
Member of Technical Staff
Company
Modal
Sector
Company
Work listed
1
Sources cited
6
Profile reviewed

Open-source work

Fan joined the scikit-learn team as a maintainer more than six years before a May 2025 retrospective post, and the project's About page lists Fan among its active maintainers; scikit-learn is released under the BSD 3-Clause License. In that retrospective Fan highlighted contributions such as native categorical and missing-value support in tree models, cost complexity pruning, pandas and Polars DataFrame output through the set_output API, and feature name propagation with get_feature_names_out.425

Other features Fan worked on include the TargetEncoder for categorical data, grouping of infrequent categories in scikit-learn's encoders, KNN-based missing value imputation, an HTML representation for visualizing estimators in Jupyter notebooks, a plotting API for inspecting estimators, and experimental GPU support through the Array API standard so that scikit-learn can run on PyTorch or CuPy arrays.4

Teaching and writing

Fan speaks regularly at Python data science conferences. Talks listed on Fan's site include a deep dive into scikit-learn's histogram-based gradient boosting at PyData NYC 2019, talks on skorch, which combines scikit-learn and PyTorch, and on Poisson regression at SciPy, and talks on parallelism in numerical Python libraries, scikit-learn on GPUs with the Array API, and pushing Cython to its limits in scikit-learn.6

Fan's blog covers performance and tooling topics, including PyTorch graph capture and data-dependent control flow, portable torch.compile caches, serializing models with torch.export, NumPy ufuncs written with Cython 3.0 and Python extensions in Rust. A July 2026 post set out five principles for using large language models in software engineering. Fan is currently a Member of Technical Staff at Modal.31

Work and contributions

  • scikit-learn Open-source code

    Listed in the active Maintainers Team on the scikit-learn About page; Fan's GitHub profile describes the role as scikit-learn maintainer.215

Timeline

  1. Presented a deep dive into scikit-learn's HistGradientBoosting estimators at PyData NYC 2019.6
  2. Presented skorch, a union of scikit-learn and PyTorch, at SciPy 2019.6
  3. Spoke on parallelism in numerical Python libraries at PyData NYC 2022.6
  4. Presented scikit-learn on GPUs with the Array API at PyData NYC 2023.6
  5. Presented "Pushing Cython to its Limits in Scikit-learn" at PyData NYC 2024.6
  6. Published a retrospective on six years as a scikit-learn maintainer.4
  7. Published "Five Principles for Using LLMs for Software Engineering".3

Where they work

  • Modal 3 people in the wiki

Suggest a correction or removal

Profiles cover public professional work only, and each statement cites a source. If something is out of date, missing or wrong, tell us and link a source. People can also ask for their profile to be corrected or removed.

References

6 sources · profile reviewed Oct 21, 2026 · data updated Oct 21, 2026

  1. thomasjpfan (Thomas J. Fan) on GitHubGitHub · Official page · accessed Oct 21, 2026
  2. scikit-learn — About us (maintainers and history)scikit-learn · Documentation · accessed Oct 21, 2026
  3. Thomas J. Fan — personal blogThomas J. Fan · Official page · accessed Oct 21, 2026
  4. Six Years as a scikit-learn maintainer - Feature RetrospectiveThomas J. Fan · Official page · published May 15, 2025 · accessed Oct 21, 2026
  5. scikit-learn/scikit-learn COPYING (BSD 3-Clause License)scikit-learn (GitHub repository) · License · accessed Oct 21, 2026
  6. Talks — Thomas J. FanThomas J. Fan · Official page · accessed Oct 21, 2026