def test_kruskal_stress(): actual_data = chooseData('scurve') fitted_data = chooseEmbedder('isomap', actual_data) fitted_data.embed(use_cache=True) evaluator = StressEvaluator(actual_data.df, 100) assert evaluator.kruskal(fitted_data.em) > 0
def test_global_ranking_stress(): actual_data = chooseData('scurve') fitted_data = chooseEmbedder('isomap', actual_data) fitted_data.embed(use_cache=True) evaluator = StressEvaluator(actual_data.df, 100) assert evaluator.middle_ranking(fitted_data.em, 15, is_z_value=False) > 0
def test_kernel_pca_clustered_swissroll(): logging.info("start kernel_pca test using clustered-swissroll data") logging.info("start generating data") kernel_pca = KernelPCAEmbedder(chooseData("clustered_swissroll")) logging.info("start embedding") kernel_pca.embed(use_cache=True) logging.info("finish all process") assert kernel_pca.em.shape == (1000, 2)
def test_kernel_pca_basic_cluster(): logging.info("start kernel_pca test using basic_cluster data") logging.info("start generating data") kernel_pca = KernelPCAEmbedder(chooseData("basic_cluster")) logging.info("start embedding") kernel_pca.embed(use_cache=True) logging.info("finish all process") assert kernel_pca.em.shape == (801, 2)
def test_isomap_and_nmf(): isomap = IsomapEmbedder(chooseData("pokemon")) isomap.embed(dim=2, use_cache=True) assert isomap.em.shape == (801, 2) nmf = NMFReducer(isomap.data, isomap) assert nmf.df.shape == (801, 2) nmf.reduce(dim=2, use_cache=True) assert nmf.rd.shape == (801, 2)
def getFigure(data_key, embedder_key, reducer_key): sc_data = chooseData(data_key) embedder = chooseEmbedder(embedder_key, sc_data) embedder.embed() reducer = chooseReducer(reducer_key, sc_data, embedder) reducer.reduce() return px.scatter(reducer.rd, x='col0', y='col1', color=sc_data.color, title=f'{data_key} | {reducer.class_key}')
def get_embedding(data_key: str, embedder_key: str) -> DataFrame: """Get embedding Args: data_key (str): Name of dataset. embedder_key (str): Name of embedder. Returns: DataFrame: Embedding results. """ sc_data = chooseData(data_key) embedder = chooseEmbedder(embedder_key, sc_data) embedder.embed() return embedder.em
def test_n_mds(): n_mds = N_MDSEmbedder(chooseData("pokemon")) n_mds.embed(use_cache=True) assert n_mds.em.shape == (801, 2)
def test_t_sne_basic_cluster(): tsne = TSNEEmbedder(chooseData("basic_cluster")) tsne.embed(use_cache=True, dim=2) assert tsne.em.shape == (801, 2)
def test_t_sne_pokemon(): tsne = TSNEEmbedder(chooseData("pokemon")) tsne.embed(use_cache=True, dim=2) assert tsne.em.shape == (801, 2)
def test_nmf(): nmf = NMFReducer(chooseData("pokemon")) nmf.reduce(use_cache=True) assert nmf.rd.shape == (801, 2)
def test_locally_linear(): locally_linear = LocallyLinearEmbedder(chooseData("pokemon")) locally_linear.embed(use_cache=True) assert locally_linear.em.shape == (801, 2)
def test_kernel_pca(): kernel_pca = KernelPCAEmbedder(chooseData("pokemon")) kernel_pca.embed(use_cache=True) assert kernel_pca.em.shape == (801, 2)
margin=dict(r=20, l=10, b=10, t=10), ) fig3d.show() # Create 2d figure After Dinmensionality Reduction fig2d = visualize_2d(reducer.rd) fig2d.update_layout(title_text="After Diminsionality Reduction") fig2d.show() if __name__ == "__main__": # Get 3d animations # Run these in Jupyter or something which_data = "basic_cluster" embedder = chooseEmbedder("t_sne", (chooseData(which_data))) embedder.embed(dim=3, use_cache=True) reducer = chooseReducer("pca", chooseData(which_data), embedder) reducer.reduce(dim=2, save_rd=False) # visualize_3d_to_2d_projection(embedder, reducer) # Double filter query1 = "col1<0 & col2>0 & col2>=0.5" query0 = "*" # For Dimensionality Reduction to 2D reducer.setRds(query0=query0, query1=query1) print(reducer.getRdsDf()) fig2d = px.scatter( reducer.getRdsDf(),
def test_isomap(): isomap = IsomapEmbedder(chooseData("pokemon")) isomap.embed(use_cache=True) assert isomap.em.shape == (801, 2)
def test_l_em(): l_em = Laplacian_EigenmapsEmbedder(chooseData("pokemon")) l_em.embed(use_cache=True) assert l_em.em.shape == (801, 2)
def test_pca(): pca = PCAReducer(chooseData("pokemon")) pca.reduce(use_cache=True) assert pca.rd.shape == (801, 2)