2次元データの読み込み

すでに次元削減したデータを読み込む場合

このチュートリアルでは、次元削減済みのデータを読み込み、トポロジーを作成します。

  • 2次元データを読み込む方法

Requirements

In [1]:
import numpy as np

from sklearn.datasets import load_iris

from renom_tda.topology import Topology
from renom_tda.lens import PCA

データセット

最初にirisデータセットをダウンロードします.今回はsckit-learnの load_iris 関数を使用します。

irisデータセットは4つの変数を持つ150行のデータから構成されています。

In [2]:
iris = load_iris()

data = iris.data
target = iris.target

テストデータの作成

次にテスト用データを作成します。irisデータセットをPCAで次元削減したものをcsvファイルとして出力します。

In [3]:
topology = Topology()
topology.load_data(data)
metric = None
lens = [PCA(components=[0, 1])]
topology.fit_transform(metric=metric, lens=lens)
In [4]:
topology.point_cloud.shape
Out[4]:
(150, 2)
In [5]:
np.savetxt("test.csv", topology.point_cloud)

テストデータの読み込み

In [6]:
data = np.loadtxt("test.csv")
In [7]:
data.shape
Out[7]:
(150, 2)
In [8]:
topology = Topology()
topology.load_data(data)

ポイントクラウドの作成

次に、ポイントクラウドと呼ばれる低次元空間に投影したデータを作成します。

すでに2次元のデータを使う場合は、以下のようにパラメータを設定してください。

In [9]:
topology.fit_transform(metric=None, lens=None)

位相空間へマッピング

In [10]:
topology.map(resolution=15, overlap=0.5, eps=0.1, min_samples=3)
created 72 nodes.
created 201 edges.

色付け & 表示

In [11]:
topology.color(target, color_method="mode", normalize=True)
topology.show(fig_size=(10, 10), node_size=10, edge_width=2)
../../../_images/notebooks_tda-2.1.0_how-to-use-2d-data_notebook_18_0.png