Kmeans:クラスターのサイズが間違っています

ハリド

心臓病UCIデータセットのRでKmeansアルゴリズムを実行していますデータセットのように、それぞれ138165サイズの2つのクラスターを取得することになっています。

手順:

  1. データセットをデータフレームに保存します。
df <- read.csv(".../heart.csv",fileEncoding = "UTF-8-BOM")
  1. 特徴を抽出します。
features = subset(df, select = -target)
  1. 正規化する:
normalize <- function(x) {
  return ((x - min(x)) / (max(x) - min(x)))
}

features = data.frame(sapply(features, normalize))
  1. アルゴリズムを実行します。
set.seed(0)
cluster = kmeans(features, 2)
cluster$size

出力:

[1]  99 204

どうして?

クリス

予測の精度ではなく、クラスターのサイズに焦点を当てているようです。サイズ(138、165)の2つのクラスターを取得することもできますが、データの「ターゲット」列と同じクラスターである必要はありません。

パフォーマンスを判断するためのより良い方法は、予測の正確さです。あなたの場合、モデルの精度は72%です。あなたはこれを見ることができます:

df$label <- cluster$cluster -1

confusionMatrix(table(df$target, df$label))

#Confusion Matrix and Statistics
#   
#      0   1
#  0  76  62
#  1  23 142
#                                          
#               Accuracy : 0.7195 
# ...

正規化するのではなく、データを標準化することで、より高い精度を得ることができました。おそらく、標準化が外れ値に対してより堅牢であるためです。

また、精度が向上したと思われるカテゴリ別の変数をダミーコード化しました。現在、85%の精度があり、クラスターサイズは予想(143 160)に近づいています。ただし、説明したように、それ自体ではクラスターサイズは無意味です。

library(dplyr)
library(fastDummies)
library(caret)
standardize <- function(x){
  num <- x - mean(x, na.rm=T)
  denom <- sd(x, na.rm=T)

  num/denom
}

# dummy-code and standardize
features <-  select(df, -target) %>%
   dummy_cols(select_columns = c('cp','thal', 'ca'),
              remove_selected_columns = T,remove_first_dummy  = T) %>%
  mutate_all(standardize)

set.seed(0)
cluster <- kmeans(features, centers = 2, nstart = 50)

cluster$size
# 143 160

# check predictions vs actual labels
df$label <- cluster$cluster -1

confusionMatrix(table(df$target, df$label))
#Confusion Matrix and Statistics
#
#   
#      0   1
#  0 117  21
#  1  26 139
#                                          
#               Accuracy : 0.8449 

もちろん、サンプル外の精度(データをトレーニングセットとテストセットに分割し、テストセットの予測の精度を計算する)やf1スコアなど、考慮する価値のある他の精度メトリックもあります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

NVMeのセクターサイズが間違っています

分類Dev

サイズが間違っているパラメータ

分類Dev

デバイスの画像サイズが間違っています

分類Dev

UISearchController後のUIViewControllerのサイズが間違っています

分類Dev

Kivyの画像のサイズが間違っています

分類Dev

最初のセルのサイズが間違っています

分類Dev

pysparkのOneHotEncoderのベクトルサイズが間違っています

分類Dev

NSImageのサイズが間違っていますか?

分類Dev

Pictureboxのサイズが間違っています

分類Dev

SwiftAdMob広告のサイズが間違っています

分類Dev

RTMP のチャンク サイズが間違っていますか?

分類Dev

iPhone 6のiAdバナーのサイズが間違っていますか?

分類Dev

FragmentStatePagerAdapterコンストラクターの定数が間違っています

分類Dev

UITableViewCellawakeFromNibのフレームサイズが間違っています

分類Dev

インストール中のパーティションサイズが間違っていますか?

分類Dev

8086アセンブリのテキストユーザーインターフェイスの文字サイズが間違っています

分類Dev

Xcode 6ストーリーボードのサイズが間違っていますか?

分類Dev

C#WinformsのタブページサイズとClientSizeが間違っています

分類Dev

テキストフィールドの初期サイズが間違っています(NSTableView)

分類Dev

EDIDの表示サイズが間違っているため、プラズマUI要素が大きすぎます

分類Dev

カスタムmysqliクラスのbind_paramのパラメーター数が間違っています

分類Dev

Paintのハンドラーでのテキストレンダリングのサイズが間違っています

分類Dev

AndroidStudioのカスタムクラスのファイルパスが間違っています

分類Dev

XAMPPApacheサーバーのパスが間違っています

分類Dev

ツールバーのタイトルとサブタイトルのフォントサイズが間違っています

分類Dev

IEのボタンサイズが間違っている

分類Dev

新しいiTunesConnectのIPAサイズが間違っていますか?

分類Dev

XCTestCaseサブクラスからアプリデリゲートにアクセスする-タイプが間違っていますか?

分類Dev

IOS 11:iPhoneXのUICollectionViewのサイズが間違っています

Related 関連記事

  1. 1

    NVMeのセクターサイズが間違っています

  2. 2

    サイズが間違っているパラメータ

  3. 3

    デバイスの画像サイズが間違っています

  4. 4

    UISearchController後のUIViewControllerのサイズが間違っています

  5. 5

    Kivyの画像のサイズが間違っています

  6. 6

    最初のセルのサイズが間違っています

  7. 7

    pysparkのOneHotEncoderのベクトルサイズが間違っています

  8. 8

    NSImageのサイズが間違っていますか?

  9. 9

    Pictureboxのサイズが間違っています

  10. 10

    SwiftAdMob広告のサイズが間違っています

  11. 11

    RTMP のチャンク サイズが間違っていますか?

  12. 12

    iPhone 6のiAdバナーのサイズが間違っていますか?

  13. 13

    FragmentStatePagerAdapterコンストラクターの定数が間違っています

  14. 14

    UITableViewCellawakeFromNibのフレームサイズが間違っています

  15. 15

    インストール中のパーティションサイズが間違っていますか?

  16. 16

    8086アセンブリのテキストユーザーインターフェイスの文字サイズが間違っています

  17. 17

    Xcode 6ストーリーボードのサイズが間違っていますか?

  18. 18

    C#WinformsのタブページサイズとClientSizeが間違っています

  19. 19

    テキストフィールドの初期サイズが間違っています(NSTableView)

  20. 20

    EDIDの表示サイズが間違っているため、プラズマUI要素が大きすぎます

  21. 21

    カスタムmysqliクラスのbind_paramのパラメーター数が間違っています

  22. 22

    Paintのハンドラーでのテキストレンダリングのサイズが間違っています

  23. 23

    AndroidStudioのカスタムクラスのファイルパスが間違っています

  24. 24

    XAMPPApacheサーバーのパスが間違っています

  25. 25

    ツールバーのタイトルとサブタイトルのフォントサイズが間違っています

  26. 26

    IEのボタンサイズが間違っている

  27. 27

    新しいiTunesConnectのIPAサイズが間違っていますか?

  28. 28

    XCTestCaseサブクラスからアプリデリゲートにアクセスする-タイプが間違っていますか?

  29. 29

    IOS 11:iPhoneXのUICollectionViewのサイズが間違っています

ホットタグ

アーカイブ