Repolode
lmcinnes

lmcinnes/umap

可視化や機械学習の前処理に使える、非線形次元削減手法UMAPのPythonライブラリ。

スター
8,288
フォーク
880
未解決の Issue
539
最終コミット
昨日

これは何?

UMAP(Uniform Manifold Approximation and Projection)は、高次元データを低次元空間に写像する次元削減手法です。プロット用に2Dまたは3Dへ圧縮する用途が一般的です。t-SNEと同様の用途に加え、クラスタリングなどの機械学習タスクに先立つ汎用的な次元削減にも利用できます。

このパッケージはscikit-learn APIに準拠しており、fit_transformで実行できるほか、sklearnのパイプラインにも組み込めます。主なパラメーターには、局所構造と大域構造のバランスを調整するn_neighbors、点の密集度を制御するmin_dist、cosineやcorrelationを含むさまざまな距離関数を指定できるmetricがあります。疎行列入力にも対応し、transformを使って既存の埋め込みに新しい点を追加できます。

中核となるアルゴリズムに加え、埋め込みをプロットするumap.plotサブパッケージ、ニューラルネットワークを学習するParametric UMAP(TensorFlowが必要)、局所的な密度情報も保持するdensMAPを備えています。pipまたはconda-forgeからインストールできます。

主な機能

  • 01fitとtransformメソッドを備えた、scikit-learn互換のAPI
  • 02cosineやcorrelationなど、非計量的なものを含む多くの距離指標に対応
  • 03疎行列入力に対応
  • 04yパラメーターを使った教師あり・半教師ありの次元削減に対応
  • 05埋め込みのプロット用umap.plotと、密度を保持するdensMAPを搭載

ユースケース

  • 埋め込みやシングルセルデータなどの高次元データを2Dで可視化する
  • HDBSCANなどのクラスタリングアルゴリズムを実行する前に次元を削減する
  • scikit-learnのパイプラインに前処理ステップとしてUMAPを組み込む

クイックスタート

  1. 1

    pipでインストール

    pip install umap-learn
  2. 2

    conda(conda-forge)でインストール

    conda install -c conda-forge umap-learn
  3. 3

    Pythonでデータをfitしてtransformする: `import umap`を実行し、続けて`umap.UMAP().fit_transform(data)`を呼び出します

使う前に知っておきたいこと

  • Parametric UMAPにはTensorFlowが必要です。別途インストールしてください。

収録されている特集

トピック

#dimensionality-reduction#machine-learning#visualization#manifold-learning#clustering#python#topological-data-analysis#umap

よくある質問

umap とは?
可視化や機械学習の前処理に使える、非線形次元削減手法UMAPのPythonライブラリ。 UMAP(Uniform Manifold Approximation and Projection)は、高次元データを低次元空間に写像する次元削減手法です。プロット用に2Dまたは3Dへ圧縮する用途が一般的です。t-SNEと同様の用途に加え、クラスタリングなどの機械学習タスクに先立つ汎用的な次元削減にも利用できます。
umap は無料で使えますか?ライセンスは?
umap は BSD-3-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
umap は今もメンテナンスされていますか?
活発にメンテナンス中。umap の最終コミットは 2026年11月6日 です。
umap は何に使えますか?
埋め込みやシングルセルデータなどの高次元データを2Dで可視化する HDBSCANなどのクラスタリングアルゴリズムを実行する前に次元を削減する scikit-learnのパイプラインに前処理ステップとしてUMAPを組み込む
umap のインストール方法は?
pipでインストール: pip install umap-learn conda(conda-forge)でインストール: conda install -c conda-forge umap-learn Pythonでデータをfitしてtransformする: `import umap`を実行し、続けて`umap.UMAP().fit_transform(data)`を呼び出します
umap はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/lmcinnes/umap

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト