一様多様体近傍推定と射影(UMAP)

Rによる次元削減

Matt Pickard

Owner, Pickard Predictives, LLC

PCA、t-SNE、UMAP

PCA、t-SNE、UMAP の比較

Rによる次元削減

PCA、t-SNE、UMAP

PCA、t-SNE、UMAP の比較

Rによる次元削減

PCA、t-SNE、UMAP

PCA、t-SNE、UMAP の比較

Rによる次元削減

PCA、t-SNE、UMAP

PCA、t-SNE、UMAP の比較

Rによる次元削減

PCA、t-SNE、UMAP

PCA、t-SNE、UMAP の比較

UMAP には同様のハイパーパラメータがあり、チューニング可能です。

Rによる次元削減

UMAP プロット

library(embed)

set.seed(1234) umap_df <- recipe(Attrition ~ ., data = attrition_df) %>% step_normalize(all_predictors()) %>% step_umap(all_predictors(), num_comp = 2) %>% prep() %>% juice()
umap_df %>% ggplot(aes(x = UMAP1, y = UMAP2, color = Attrition)) + geom_point(alpha = 0.7)
Rによる次元削減

UMAP:従業員の離職

従業員離職の UMAP プロット

Rによる次元削減

tidymodels での UMAP

レシピの作成

umap_recipe <-  recipe(Attrition ~ ., data = train) %>% 
  step_normalize(all_predictors()) %>% 
  step_umap(all_predictors(), num_comp = 4)

モデル仕様の作成

umap_lr_model <- linear_reg()
Rによる次元削減

tidymodels での UMAP

ワークフローの作成

umap_lr_workflow <-  workflow() %>% 
  add_recipe(umap_recipe) %>% 
  add_model(umap_lr_model)

ワークフローの学習

umap_lr_fit <- umap_lr_workflow %>% 
  fit(data = train)
Rによる次元削減

tidymodels での UMAP

モデルの評価

predict_umap_df <- test %>% 
  bind_cols(predict = predict(umap_lr_fit, test))

rmse(predict_umap_df, Attrition, .pred_class)
Rによる次元削減

練習してみましょう!

Rによる次元削減

Preparing Video For Download...