2016-09-01 15 views
0

データセットに対してクラスタ分析を実行しようとしていますが、適切な洞察を見つけることができません。例:私は100のリソース(列)の中から50の変数(行)のセットを持っています。各リソースには、強度としての変数と弱点としての変数があります。私は、強さを1、弱さを2としました。各リソースは強度として10変数しかなく、弱さとして5変数になる可能性があるので、残りの変数はゼロとしてマークされます。今、共通の長所と短所を共有するリソースのクラスターを見つけたいと思います。ダミーコード付き変数Rを使用したクラスタ分析

私は、リソースの行になるようにデータセットを入れ替えることにより、階層的クラスタリングとK-手段を使用していました。 k-meansプロットは、異なるクラスタ間でオーバーラップが多すぎるため、階層的クラスタリングのみを使用していました。私は、クラスタアルゴリズムが異なって応答するかどうかを調べるために、1(強度)を+10と2(弱さ)を-10に置き換えましたが、依然としてそれほど助けにはなりません。

この方法論を改善するためのすべてのインプットとこれを扱う別の方法はありますか?

多くの感謝!

答えて

0

次のコードは、ダミー/バイナリ変数の作成に役立ちます。

settingStrength <- as.numeric(setting.g == "Strength") 
settingWeakness <- as.numeric(setting.g == "Weakness") 

私は階層クラスターをデータセットの3列目と4列目にフォーカスしました。 100次元をクラスタ化して二次元プロットでプロットすることはできません。まず次元を減らさなければなりません。 K-手段を使用して、クラスタの数を知っている必要があります、あなたが使用している場合、あなたは彼らにしかし

CLUSTER <- hclust(dist(YOURDATA[, 3:4])) 
plot(CLUSTER) 

を知らないので、あなたは右、階層的クラスタリングを選択することがされているあなたは、プロットでだけ見てはいけませんkは、意味。以下では、クラスタリングの3つのグループを選択しました。

今、あなたは15の長さ(データの長さ)とのベクトルを参照し、変数が「1」、クラスタの「クラスタに属しているかどうかに1,2 & 3.値を値すべき2
KMEANSCLUSTER <- kmeans(YOURDATASET[,3:4],3) 
KMEANSCLUSTER[1] 

"またはクラスタ" 3 "。

+0

ありがとうございました。私はそれを1本の強さ、2弱さ、0-識別なしで識別しダミーコードする必要があります。 1を+10、2を-10に置き換えると、階層的クラスタリングアルゴリズムの意味が変わりますか?また、どのリソースがどのクラスタにあるのかを見たいので、どのように次元数を減らし(100リソース)、クラスタリングすることができますか?そして、クラスター全体の強さと弱さの負荷を見つけるために、私はそのクラスター内の変数の頻度の平均を使用しました。 10リソースからなるクラスタ1の例.5リソースでX強度が検出された場合、ロードは0.5です。 – Ankur

+0

バイナリ変数を2つ含めることを考えましたか?最初の変数:1 - 強さ0 - else; 2番目の変数1-弱さ0- else。両方のバイナリ変数に0を指定すると識別はできません。 – Ferdi

+0

縮小データセットのPCAおよびプロットクラスタを使用して寸法を減らすことができます。変数を解釈するだけです。 +10と-10の値を代入しても、より良い結果は得られません。それは単に解釈をより困難にする。 – Ferdi

0

クラスタリングバイナリデータ(および低カーディナリティ、およびカテゴリダミー符号化データ)の問題は、バイナリ情報だということです。

k-meansのような方法は、連続変数のために設計されています。平均は意味があり、ほとんどすべての距離は一意です。

バイナリデータでは、すべてが同時に変更される傾向があります。多くの重複レコードがあります。あなたは1ポジション、2ポジションなどで異なるレコードを持っています - あなたのケースでは、最大30ポジションで異なる可能性がありますので、31レベルの類似性があります。

ソリューションは、多くの場合、アイテムセットマイニングビューにクラスタリングから移動することです。これはクラスタリングと基本的に異なるわけではありませんが、トランザクション内にアイテムが存在するか、存在しないというバイナリの仮定から始まります。結果として得られる品目セットは、次に頻繁な組合せに対応する。 AとBを持つ行はC.

が高頻度項目セットとassoicationルール、ということを試してみてください持っている傾向があります。

+0

提案をありがとう。私は関連ルールを試していません。ダミーコード/フローチャート/サンプルへのリンクを教えてください。基本的にはリソースをクラスタリングするので、データフレームを転置して、リソースが行にあり、変数が列にあるようにする必要があります。 – Ankur

+0

お気に入りのデータマイニングブックを手に入れ、関連ルールの章を読んでください。 –

関連する問題