メタデータも含めた大規模な埋め込みデータセットを、クロスフィルタリングや検索機能を使って探索できるインタラクティブな可視化ツール。
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
pipでインストール
pip install umap-learn - 2
conda(conda-forge)でインストール
conda install -c conda-forge umap-learn - 3
Pythonでデータをfitしてtransformする: `import umap`を実行し、続けて`umap.UMAP().fit_transform(data)`を呼び出します
使う前に知っておきたいこと
- Parametric UMAPにはTensorFlowが必要です。別途インストールしてください。
収録されている特集
トピック
よくある質問
- 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 の数値は毎日更新されます。
関連プロジェクト
23andMeなどのSNPデータを1000 Genomesのサンプルと比較し、遺伝的祖先を推定するPythonツール。
SciPyとNumPyを基盤とするPython機械学習ライブラリ。BSDライセンスのもと、分類、回帰、クラスタリング、モデル選択のツールを提供します。
transformerの埋め込みとc-TF-IDFを組み合わせ、解釈しやすいトピックをテキストから抽出するPython製トピックモデリングライブラリ。
Java、Kotlin、Scala向けの古典的ML、深層学習、NLP、可視化、LLM/ONNX推論をカバーするJVM向け機械学習・AIプラットフォーム。
高次元の埋め込みベクトルをCPUで高速にクラスタリングする、scikit-learn風APIのPythonライブラリ。