タグ付けされた質問 「clustering」

クラスター分析は、クラスラベルなどの既存の知識を使用せずに、相互の「類似性」に従ってデータをオブジェクトのサブセットに分割するタスクです。[clustered-standard-errorsおよび/またはcluster-samplesはそのようにタグ付けする必要があります。それらには「クラスタリング」タグを使用しないでください。]

3
時間経過実験における遺伝子のクラスター化
時系列のクラスタリング、具体的にはクラスタリングに関するクエリをいくつか見ましたが、それらが私の質問に答えるとは思いません。 背景:酵母での時間経過実験で遺伝子をクラスター化したい。t1、 t2、 t3 、 t4の 4つの時点と、遺伝子の総数Gがあります。私はデータを行列Mの形式で持っています。ここで、列は処理(または時点) t1 t2 t3 および t4 を表し、行は遺伝子を表します。したがって、MはGx4行列です。 問題:すべての時点t1、 t2、 t3 、および t4 で、また特定の時点tiで同じように動作する遺伝子をクラスター化したい(iは{1、2、3、4}にある)(両方のクラスタリングを組み合わせた場合、ある時点でのクラスタリングは、複数の時点でのクラスタリングよりも重要です。これに加えて、ヒートマップも描きたいです。 私の解決策: 以下のRコードを使用して、ヒートマップとhclustRの関数を使用したクラスターを取得します(ユークリッド距離で階層的クラスタリングを実行します)。 row.scaled.expr <- (expr.diff - rowMeans(expr.diff)) / rowSds(expr.diff) breaks.expr <- c(quantile(row.scaled.expr[row.scaled.expr < 0], seq(0,1,length=10)[-9]), 0, quantile(row.scaled.expr[row.scaled.expr > 0], seq(0,1,length=10))[-1] ) blue.red.expr <- maPalette(low = "blue", high = "red", mid = …

1
誰かが階層的クラスタリングのコンテキストでC-Indexを説明できますか?
これはこの質問のフォローアップです。現在、クラスターの階層から最適に近い数のクラスターを見つけるために、C-Indexを実装しようとしています。(凝集)階層的クラスタリングのすべてのステップのC-Indexを計算することでこれを行います。問題は、非常に縮退したクラスタリングのC-Indexが最小限(正確には0)であることです。このことを考慮: c = S− SM I nはSmは、Xが− SM I nはc=S−Sメートル私んSメートルaバツ−Sメートル私んc = \frac{S-S_{min}}{S_{max}-S_{min}} この場合、は、すべてのクラスターにわたる同じクラスター内の観測値のペア間のすべての距離の合計です。してみましょうnはこれらのペアの数です。S m i nとS m a xは、観測値のすべてのペアにおけるn個の最短/最長距離の合計です。階層的クラスタリングの最初のステップでは、最も近い2つの観測値(最小距離)が1つのクラスターにマージされます。してみましょうdはこれらの観測間の距離とすること。同じクラスターに観測値のペアが1つあるため、n = 1になります(他のすべてのクラスターはシングルトンです)。したがって、S =SSSんんnSM I nはSメートル私んS_{min}Smは、XがSメートルaバツS_{max}んんndddn = 1ん=1n=1。問題は、 S m i nも dに等しいことです。これは、 dが最小距離であるためです(そのため、観測値が最初にマージされます)。したがって、この場合、C-Indexは常に0です。シングルトンクラスタのみがマージされる限り、C-Indexは0のままです。つまり、C-Indexに基づく最適なクラスタリングは、常に2つの観測値と残りのシングルトンを含む一連のクラスターで構成されます。これは、C-Indexが階層型クラスタリングに適用できないことを意味しますか?私は何か間違ったことをしていますか?何度も検索しましたが、適切な説明が見つかりませんでした。誰かがインターネットで無料で入手できるリソースを私に紹介できますか?あるいは、そうでなければ、少なくとも私が大学の図書館で手に入れようとする本かもしれない。S= dS=dS=dSM I nはSメートル私んS_{min}dddddd 前もって感謝します!

1
時系列データの形状検出
私は時系列の大規模なコレクションを持っています-さまざまな場所で1年間に渡って15分ごと(1日に96回)に測定されました。 私は、各時系列を1年の各日に1つずつ、365個の小さな時系列に分割しました。これらの時系列を見ると、1日には確かに多くの異なる形状があります。いくつかは正弦波に見え、いくつかは一定であり、いくつかはランダムな確率過程のように見え、いくつかは放物線状に見え、いくつかはUのように見えます。 私がやりたいのは、これらの一般的な形状を見つけることができるアルゴリズムを使用することです。クラスタリング、およびクラスターの重心を使用して一般的な形状を定義することを考えましたが、これが正しいかどうかコミュニティに確認したいと思いました。これまでは、メトリックとしてダイナミックタイムワープを見てきましたが、そのメトリックには多くの計算が必要なようです。私も見つけた SEのhttp://mox.polimi.it/it/progetti/pubblicazioni/quaderni/13-2008.pdf。 また、曲線の形状に基づいて時系列クラスタリングを実行することは可能ですか?しかし、この質問は2010年からのものであり、古くなっている可能性があります。 私が持っていた別のアイデアは、次のようにフォーマットされた行列の固有分解を取ることでした: 行列は、i日目に観測されたすべての時系列の行列です。行列M_iのすべての行は、長さ96の時系列です。次に、365の固有分解を行い、固有ベクトルを共通の形状として使用します。これは合理的に聞こえますか?MiMiM_iiiiMiMiM_i ありがとう!

5
既知のクラスターの分離を最大化するための次元削減手法?
それで、R ^ nにたくさんのデータポイントがあるとします。nはかなり大きい(50など)。このデータは3つのクラスターに分類され、各データポイントがどのクラスターに属しているかがわかります。私がやりたいのは、これらのクラスターを2Dで視覚化して、クラスター間の分離を最大化することです。Rのデータポイントの位置に基づいてクラスターが簡単に分離できることを証明することが目標です。 ^ nだけ。 これまで私がこれまで行ってきた方法は、データポイントでPCA変換を実行し、クラスターがかなりきれいに分離されているように見えるまでPCのペアをランダムに視覚化することです。このアプローチはかなりアドホックに思えますが、全体的な分散を最大化する代わりに、クラスター間の分離を最大化するPCAスタイルのデータのローテーションを見つける簡単な方法があるはずです。 これを行う標準的な技術はありますか?そうでない場合、そのような変換を作成する方法についてのアイデアはありますか?

4
未知のクラスター数と非ユークリッド距離のクラスター化方法について何か提案はありますか?
コンサルティングプロジェクトのクラスタリング(教師なし分類)メソッドについていくつかの提案が必要です。私はうまくいけば次のプロパティを持つメソッドを探しています: 私の研究の主題には3つの特性があります。1つは(非ユークリッド)距離行列で表され、他の2つはユークリッド空間のベクトルの形式です。距離行列はシーケンスに由来し、非類似度の割合またはシーケンスの距離の他の測定値の形式にすることができます。このアルゴリズムは、ユークリッド空間のベクトルと非ユークリッド距離の両方のベクトルを入力として使用できる必要があります。たとえば、K-medoidは距離行列で機能しますが、K-meansは機能しません。 アルゴリズムが3つのプロパティのクラスター数と重みを自動的に選択するようにします(事前の知識と制約付き)。 以前に特定された「クラスターの中心」の情報があります。以前の値または初期値として組み込みたいと思います。 統計学者として、私はこの方法が明確な尤度または損失関数を持つことを望みます。 私が考えることができる最も近いことは、クラスターの数を決定するためにリバースジャンプMCMCを使用してベイジアンフレームワークに混合モデルをあてはめることです。R ^ dのベクトルは、通常の尤度に簡単に定式化できますが、距離行列の処理方法は不明です。MCMCを実行する各観測での通常の尤度の平均を制限できますが、これには明確な数学的/統計的意味がありません。 誰かが同様の問題の経験がありますか?参考文献への提案は高く評価されます!



2
クラスター数の選択-クラスター検証の基準とドメインの理論的な考慮事項
クラスターの数を選択する必要があるという問題によく直面します。私が最終的に選択するパーティションは、多くの場合、品質基準ではなく視覚的および理論的な懸念に基づいています。 主な質問が2つあります。 1つ目は、クラスターの品質に関する一般的な考え方です。「エルボ」などの基準が理解できることから、コスト関数を参照して最適な値を提案しています。このフレームワークで私が抱えている問題は、最適な基準が理論的な検討に影響されないため、最終的なグループ/クラスターに常に必要となるある程度の複雑さ(研究分野に関連)があることです。 また、のように説明し、ここで最適値はまた、あなたがしているかを考慮して、(例えば経済的制約など)、「下流の目的」制約に関連している何をするつもりクラスタリング事項と。 明らかに、1つの面が意味のある/解釈可能なクラスターを見つけることであり、クラスターが多くなるほど、それらを解釈することが難しくなります。 しかし、常にそうであるとは限りません。8、10、または12個のクラスターが、分析で必要なクラスターの最小の「興味深い」数であることがよくあります。 ただし、肘などの基準では、クラスターがはるかに少ないことが示唆されることが多く、通常は2、3または4です。 Q1。私が知りたいのは、特定の基準(エルボなど)によって提案されたソリューションではなく、より多くのクラスターを選択することを決定した場合の最良の議論の行です。直観的には、制約がない場合(取得したグループの了解度や、非常に多額の場合のコースラの例など)は常に優れているはずです。これを科学雑誌の記事でどのように議論しますか? 別の言い方をすれば、(これらの基準を使用して)クラスターの最小数を特定したら、それよりも多くのクラスターを選択した理由を正当化する必要さえあるということです。意味のある最小限のクラスターを選択する場合にのみ、正当化が行われるべきではありませんか? Q2。これに関連して、クラスターの数が増えるにつれて、シルエットなどの特定の品質指標が実際にどのように減少するかはわかりません。シルエットにクラスター数のペナルティが表示されないので、どうすればよいですか?理論的には、クラスターが多いほど、クラスターの品質は高くなりますか? # R code library(factoextra) data("iris") ir = iris[,-5] # Hierarchical Clustering, Ward.D # 5 clusters ec5 = eclust(ir, FUNcluster = 'hclust', hc_metric = 'euclidean', hc_method = 'ward.D', graph = T, k = 5) # 20 clusters ec20 = eclust(ir, FUNcluster …

2
多変量時系列クラスタリング
多変量時系列のグループを収集しています。たとえば、2000の時系列があります。各時系列は12次元です。 多変量時系列をクラスター化できる体系的なモデル/アルゴリズムはありますか?たとえば、他とは非常に異なる時系列を特定したいと思います。 さらに、オンライン監視では、このアルゴリズムを時間どおりに実行する場合があります。たとえば、10分ごとに、この種のアルゴリズムを10分をカバーする時系列に対して実行します。これに関して効率的なアルゴリズムはありますか?

1
データマトリックス(テキストマイニングデータ)と同様に、距離マトリックスでk平均を実行することは有効でしたか?
(この投稿は私が昨日投稿した質問の再投稿です(現在は削除されています)が、私は言葉の量を減らし、質問の内容を単純化しようとしました) 私が作成したkmeansスクリプトと出力を解釈するのに役立つ情報を得たいと思っています。これはテキスト分析のコンテキストにあります。このスクリプトは、テキスト分析に関するオンラインの記事をいくつか読んだ後に作成しました。それらのいくつかを以下にリンクしました。 この投稿全体で参照するサンプルのrスクリプトとテキストデータのコーパス: library(tm) # for text mining ## make a example corpus # make a df of documents a to i a <- "dog dog cat carrot" b <- "phone cat dog" c <- "phone book dog" d <- "cat book trees" e <- "phone orange" f <- "phone …

2
k-means ++アルゴリズムと外れ値
外れ値が存在すると、k平均アルゴリズムが影響を受けることはよく知られています。k-means ++は、クラスター中心の初期化に有効な方法の1つです。この方法の創設者であるセルゲイヴァシルヴィツキーとデビッドアーサーがPPTを行っていましたhttp://theory.stanford.edu/~sergei/slides/BATS-Means.pdf(スライド28)これは、クラスターセンターの初期化が以下に示すように、外れ値の影響を受けません。 k-means ++メソッドに従って、最も遠い点が初期中心である可能性が高くなります。このようにして、外れ値ポイント(右端のポイント)も初期クラスター重心でなければなりません。図の説明は何ですか?

2
中華レストランプロセス(CRP)
研究論文「認知能力の自動発見」に記載されている中華レストランのプロセス(CRP)と加重中華レストランのプロセス(WCRP)を理解しようとしています。学生の学習。CRPでは、すべての実装(ノンパラメトリックベイズとディリクレプロセスを使用した無限混合モデルを参照)で乱数を比較して、顧客が新しいテーブルと既存のテーブルのどちらに座るかを決定します。なぜこのチェックが行われるのか、またこのチェック条件はWCRPでどのように異なるのですか?

1
DBSCANを使用して私のポイントのほとんどがノイズとして分類されるのはなぜですか?
一部のデータをクラスター化するためにsklearnのいくつかのクラスター化アルゴリズムを使用していますが、DBSCANで何が起こっているのか理解できません。私のデータはTfidfVectorizerからのドキュメントタームマトリックスで、数百の前処理されたドキュメントが含まれています。 コード: tfv = TfidfVectorizer(stop_words=STOP_WORDS, tokenizer=StemTokenizer()) data = tfv.fit_transform(dataset) db = DBSCAN(eps=eps, min_samples=min_samples) result = db.fit_predict(data) svd = TruncatedSVD(n_components=2).fit_transform(data) // Set the colour of noise pts to black for i in range(0,len(result)): if result[i] == -1: result[i] = 7 colors = [LABELS[l] for l in result] pl.scatter(svd[:,0], svd[:,1], c=colors, s=50, …

2
最近傍が無意味になる高次元データセットの生成
論文では、「「Nearest Neighbor」はいつ意味があるのですか?」 特定の広範な条件(データとクエリの分布、またはワークロードの観点から)の下で、次元が増加するにつれて、最近傍への距離が最遠距離への距離に近づくことを示します。言い換えれば、異なるデータポイントまでの距離のコントラストは存在しなくなります。これが発生するという私たちが特定した条件は、他の作業が想定している独立して同一に分散された(IID)ディメンションの想定よりもはるかに広いものです。 私の質問は、この効果を生成するデータセットをどのように生成する必要があるかです。 私は、各次元について0〜255の範囲の乱数で1000次元の3つのポイントを作成しましたが、ポイントは異なる距離を作成し、上記の内容を再現しません。寸法(10、100、1000など)と範囲([0,1]など)を変更しても、何も変更されないようです。私はまだ異なる距離を取得しますが、クラスタリングアルゴリズムなどでは問題になりません! 編集:私の実験に基づいて、より多くのサンプルを試してみましたが、ポイント間の距離が数値に収束していません。逆に、ポイント間の最大距離と最小距離がよりはっきりしています。これは、次元の呪いのためにもっと直感が必要という最初の投稿に書かれていることや、https://en.wikipedia.org/wiki/Clustering_high-dimensional_data#Problemsのように同じことを主張する他の多くの場所にも反しています。誰かがコードや実際のデータセットを使って、そのような効果が実際のシナリオに存在することを私に示すことができれば、私はそれでも感謝します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.