Rを使用した混合型データのクラスタリング


19

データ変数が混在するデータのクラスタリングをR内で実行できるかどうか疑問に思います。つまり、数値変数とカテゴリ変数の両方を含むデータセットがあり、それらをクラスター化する最適な方法を見つけています。SPSSでは、2ステップクラスターを使用します。Rで同様の手法を見つけることができるかどうか疑問に思います。poLCAパッケージについて言われましたが、よくわかりません...


1
SPSS TwoStepは、大規模なデータセットを処理するために設計されていませんか?(ここで関連する質問への回答を提供します。)それ以外の場合、主成分分析は連続変数とカテゴリ変数が混在するデータセットに適用できますか?助けになりますか?
chl

Rパッケージクラスター内には、混合データ(ガワー類似度係数)の非類似度マトリックスを作成する?デイジーがあります。次に、磁石やその他のクラスタリング機能を使用できます。
ロンダ

1
メソッドと実装を混同しないでください。最初に意味のあるクラスタリングアルゴリズムを探します。次に、それを実装するRパッケージを探します。
シャドウトーカー14年

ガワーの類似性を使用できます。
ttnphns

@gungは最近、私が尋ねた非常によく似た質問を閉じました。私の質問は主にソフトウェアに関するものであるため、トピックから外れていると言われました。これはソフトウェアについても同様のようです。ここでのルールが一貫して施行されていない理由を知りたいと思います。質問は参考になると思いますが、ルールはルールであるべきです。
Weiwen Ng

回答:


8

これは遅くなるかもしれませんが、klaR(http://cran.r-project.org/web/packages/klaR/index.html)を試してください

install.packages("klar")

これは、変数間の距離δに非階層K-モードは、距離の関数としての単純なマッチングに基づいているアルゴリズム使用するM 2つのデータポイントのは及びで与えられます。yxy

δ(xm,ym)={1xmym,0otherwise

パッケージに問題があります。つまり、2つのデータポイントがクラスター中心までの距離が同じ場合、ランダムポイントではなくデータの最初のポイントが選択されますが、コードのビットを簡単に変更できます。

混合変数クラスタリングに対応するには、コードに移動し、距離関数を変更して、数値および非数値のモードと変数を識別する必要があります。


7

混合型の変数を処理するもう1つの魅力的な方法は、ランダムフォレストのプロキシミティ/類似性マトリックスを使用することです:http ://cogns.northwestern.edu/cbmg/LiawAndWiener2002.pdf 。これにより、すべての変数を等しく処理する統一された方法が容易になります(それでも、変数選択のバイアスの問題に注意してください)。一方、混合型の変数の距離を定義するゴールドユニバーサルな方法は実際にはありません。それはすべてアプリケーションのコンテキストに依存します。


4

複数のコレスポンデンス分析を使用して、カテゴリ変数から連続ディメンションを作成し、2番目のステップでそれらを数値変数とともに使用できます。


1
MCAで数値変数をどのように扱いますか?離散化を使用していますか?
chl

連続変数を含むことができるMCAの拡張機能があります。たとえば、均質性解析のホモルを参照してください
kjetil b halvorsen

3

まあ、あなたは確かにできます。カテゴリー変数を人工的に数値化することにより。または、距離行列ベースのクラスタリングを使用します(fpcはおそらくそれを行うことができます)。あなたが最初に答えようとするべき質問は、それは実際に理にかなっていますか?


3

2 OTUsのためにあなたがガウアーのユニバーサル類似度係数を使用することができる(参照Sneath氏・ソーカル1973、頁135-136)、及びである すべての文字。jk

SG=i=1nwi,j,ksi,j,ki=1nwi,j,k
i

重みは、比較が有効かどうか(データが欠落しているか、両方のOTUにバイナリ文字がない)に応じて、1または0です。より複雑な計量スキームが公開されています。wi,j,k

si,j,k

  • バイナリ変数:一致の場合は1、不一致の場合は0(一致しない場合はが0に設定されている場合、Jaccardの係数に相当)wi,j,k

  • 多状態文字(名義または序数):等式の場合は1、その他の場合は0(単純なマッチング係数と同等)

  • 基数文字:とは文字の範囲(母集団または標本、見本)。 Riisi,j,k=1|Xi,jXi,k|RiRii

の良い点は、すべての種類のデータを処理できるだけでなく、欠落データに対しても堅牢であることです。また、正の半正相似行列が生成されます。つまり、OTUはユークリッド空間の点で表されます(少なくとも、多くのデータが欠落している場合)。SG

OTU間の距離はで表すことができます1SG


回答で「キャラクター」(および「基本キャラクター」)を定義できますか?それは変数/属性/機能を意味しますか?また、私は、ガワーは公称(「多状態」)として扱うことなく、順序変数について計算することができることを追加される場合があります参照します
ttnphns

文字、変数、機能はすべて同義語です。基数とは、間隔または合理的な尺度のいずれかを意味します。
エンゲルベルトバクスバウム

宣言していただきありがとうございます。あなたの用語は統計や機械学習では明らかにあまり一般的ではないので、私はちょうど尋ねました:「キャラクター」は珍しいです、そしてあなたが「カーディナル」変数タイプと呼ぶものは一般的に「スケール」変数別名「メトリック」変数として知られ、カテゴリー的ではありません。
ttnphns

1

カテゴリ変数の可能な値が多すぎない場合、それらの値からバイナリ変数を作成することを考えるかもしれません。これらのバイナリ変数を数値変数として扱い、クラスタリングを実行できます。それが私のプロジェクトのためにしたことです。



0

VarSelLCM パッケージ提供

欠損値のある混合型データセットのモデルベースのクラスタリングのための変数選択

CRAN、そしてよりで説明した紙

以前の方法のいくつかに対する利点は、クラスターの数を選択する際にいくつかの助けを提供し、欠落データを処理することです。提供される素敵な光沢のあるアプリも眉をひそめることはありません。

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.