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

クラスター分析またはクラスター化は、同じグループ(クラスターと呼ばれる)内のオブジェクトが他のグループ(クラスター)内のオブジェクトよりも(何らかの意味で)互いに類似するようにオブジェクトのセットをグループ化するタスクです。これは、探索的データマイニングの主要なタスクであり、統計データ分析の一般的な手法であり、機械学習、パターン認識、画像分析、情報検索などの多くの分野で使用されています。

2
Latent Dirichlet Allocationから派生したトピックを使用したドキュメントのクラスタリング
プロジェクトにLatent Dirichlet Allocationを使用したいのですが、gensimライブラリでPythonを使用しています。トピックを見つけた後、k-meansなどのアルゴリズムを使用してドキュメントをクラスター化したいと思います(理想的には、クラスターの重複に適切なものを使用したいので、どのような推奨も歓迎されます)。私は何とかトピックを取得しましたが、それらは次の形式です。 0.041 *大臣+ 0.041 *キー+ 0.041 *瞬間+ 0.041 *物議を醸す+ 0.041 *首相 クラスタリングアルゴリズムを適用し、誤りがあれば修正するには、tfidfまたはword2vecを使用して各単語を数値として表す方法を見つける必要があると思います。 たとえばリストからテキスト情報を「ストリップ」して、適切な乗算を行うためにそれらを元に戻す方法についてのアイデアはありますか? たとえば、Ministerという単語のtfidfの重みが0.042である場合、同じトピック内の他の単語についても同様に、次のように計算する必要があります。 0.041 * 0.42 + ... + 0.041 * tfidf(Prime)そして結果をクラスタリングするために後で使用される結果を取得します。 お時間をいただきありがとうございます。

4
テキスト分類子トレーニングデータセットを提案する
テキスト分類子のトレーニングに使用できる自由に利用できるデータセットはどれですか? 私たちは、ユーザーに最も関連するコンテンツを推奨することでユーザーエンゲージメントを強化しようとしているため、事前定義された単語のバッグに基づいてコンテンツを分類した場合、すでに分類されたランダムな数の投稿に関するフィードバックを得ることで、ユーザーに魅力的なコンテンツを推奨できると考えました前。 この情報を使用して、これらのクラスでラベル付けされたパルスを彼に推奨できます。しかし、コンテンツに関連しない定義済みの単語のバッグを使用した場合、特徴ベクトルはゼロでいっぱいになることもわかりました。また、カテゴリはコンテンツに関連していない可能性があります。これらの理由により、コンテンツを分類せずにクラスタリングする別のソリューションを試しました。 ありがとう:)

2
スマートフォンのデータセット問題を使用した人間活動認識
私はこのコミュニティに不慣れです。うまくいけば、私の質問がここに収まるでしょう。学部のデータ分析コースの一環として、スマートフォンのデータセットを使用して、人間の行動認識に関するプロジェクトを行うことにしました。私に関する限り、このトピックは機械学習とサポートベクターマシンに関連しています。私はまだこの技術に詳しくないので、助けが必要です。 私はこのプロジェクトのアイデアに従うことにしましたhttp://www.inf.ed.ac.uk/teaching/courses/dme/2014/datasets.htmlプロジェクトの目標は、人間とは何か活動を決定です(一番上の最初のプロジェクトを)スマートフォン(Samsung Galaxy S II)が被験者の腰に記録したデータから(例:WALKING、WALKING_UPSTAIRS、WALKING_DOWNSTAIRS、SITTING、STANDING、LAYING)内蔵の加速度計とジャイロスコープを使用して、データには3軸の線形加速度と50Hzの一定速度での3軸の角速度が含まれます。 すべてのデータセットは、いくつかの説明と機能ラベルが付いた1つのフォルダーに含まれています。データは「テスト」ファイルと「トレーニング」ファイルに分割され、データは次の形式で表されます。 2.5717778e-001 -2.3285230e-002 -1.4653762e-002 -9.3840400e-001 -9.2009078e-001 -6.6768331e-001 -9.5250112e-001 -9.2524867e-001 -6.7430222e-001 -8.9408755e-001 -5.5457721e-001 -4.6622295e-001 7.1720847e-001 6.3550240e-001 7.8949666e-001 -8.7776423e-001 -9.9776606e-001 -9.9841381e-001 -9.3434525e-001 -9.7566897e-001 -9.4982365e-001 -8.3047780e-001 -1.6808416e-001 -3.7899553e-001 2.4621698e-001 5.2120364e-001 -4.8779311e-001 4.8228047e-001 -4.5462113e-002 2.1195505e-001 -1.3489443e-001 1.3085848e-001 -1.4176313e-002 -1.0597085e-001 7.3544013e-002 -1.7151642e-001 4.0062978e-002 7.6988933e-002 -4.9054573e-001 -7.0900265e-001 そして、それはファイルに含まれる内容のごく一部にすぎません。 このデータが何を表し、どのように解釈できるのか、私にはよくわかりません。また、データの分析、分類、およびクラスタリングには、どのツールを使用する必要がありますか?このデータをラベルを含めてExcelに入れて、たとえばRまたはPythonを使用してサンプルデータを抽出し、これに取り組む方法はありますか? ヒント/ヒントをいただければ幸いです。

2
オートエンコーダーをクラスタリングにどのように使用できますか?
ラベルのない時間領域信号のセットがあるとします。それらを2つまたは3つのクラスにクラスター化したい。オートエンコーダーは、入力の圧縮を学習する監視なしネットワークです。したがって、入力、重みと、バイアスと、および出力を指定すると、次の関係が見つかります。x(i)x(i)x^{(i)}W1W1W_1W2W2W_2b1b1b_1b2b2b_2x^(i)x^(i)\hat{x}^{(i)} z(i)=W1x(i)+b1z(i)=W1x(i)+b1z^{(i)} =W_1x^{(i)}+b_1 x^(i)=W2z(i)+b2x^(i)=W2z(i)+b2\hat{x}^{(i)} =W_2z^{(i)}+b_2 したがって、は圧縮形式であり、は後者の再構成です。ここまでは順調ですね。z(i)z(i)z^{(i)}x(i)x(i)x^{(i)}x^(i)x^(i)\hat{x}^{(i)} 私が理解していないのは、これをクラスタリングに使用する方法です(それを行う方法がある場合)。たとえば、このペーパーの最初の図には、よくわからないブロック図があります。フィードフォワードネットワークへの入力としてを使用しますが、そのネットワークのトレーニング方法については言及されていません。私が無視しているものがあるのか​​、それとも論文が不完全なのかわかりません。また、最後のこのチュートリアルは、オートエンコーダーによって学習された重みを示しています。これらは、CNNが画像を分類するために学習するカーネルのようです。ですから...オートエンコーダの重みは、フィードフォワードネットワークで分類のためになんらかの方法で使用できると思いますが、その方法はわかりません。z(i)z(i)z^{(i)} 私の疑問は: もし長さの時間領域信号である(すなわち、X ^ {(I)} \で\ mathbb {R} ^ {1 \回N} )、缶Z ^ {(I)}ベクトルだけでも?換言すれば、それはのための理にかなっている^ {(I)} Zことがマトリックスよりもその寸法が大きいのいずれかで1?そうではないと思いますが、確認したいだけです。x(i)x(i)x^{(i)}NNNx(i)∈R1×Nx(i)∈R1×Nx^{(i)}\in\mathbb{R}^{1\times N}z(i)z(i)z^{(i)}z(i)z(i)z^{(i)}111 これらの量のどれが分類器への入力になりますか?たとえば、信号を分類したいクラスと同じ数の出力ユニットを持つ従来のMLPを使用したい場合、この完全に接続されたネットワークの入力(z(i)z(i)z^{(i)}、x^(i)x^(i)\hat{x}^{(i)}、他のもの)? このMLPで学習した重みとバイアスをどのように使用できますか?使用可能なラベルは絶対にないと想定しているため、ネットワークをトレーニングすることは不可能です。学習したとは、完全に接続されたネットワークで何らかの形で役立つはずですが、それらの使用方法はわかりません。WiWiW_ibibib_i 観察:MLPは最も基本的なアーキテクチャであるため、例としてMLPを使用したことに注意してください。ただし、質問は、時間領域信号の分類に使用できる他のすべてのニューラルネットワークに適用されます。

4
数値と名義の混合離散データのクラスタリング
私のデータには、2進数(数値)および名目/カテゴリーの調査回答が含まれています。すべての応答は離散的で、個人レベルです。 データは形状です(n = 7219、p = 105)。 カップルのもの: カテゴリカルおよび数値のバイナリデータで機能する類似性の測度を使用して、クラスタリング手法を特定しようとしています。このタイプの問題のために設計されたR kmodesクラスタリングとkprototypeにはテクニックがありますが、私はPythonを使用していて、このタイプの問題にうまく機能するsklearnクラスタリングのテクニックが必要です。 個人のセグメントのプロファイルを作成したい。つまり、この個人グループは、これらの機能のセットをより重視します。

1
DBSCANのepsを決定するためのKnn距離プロット
DBSCANアルゴリズムに対してどのeps値を選択すればよいかを知るために、knn距離プロットを使用したいと思います。このページに基づく: アイデアは、すべてのポイントからk個の最近傍への距離の平均を計算することです。kの値はユーザーによって指定され、MinPtsに対応します。次に、これらのk距離は昇順でプロットされます。目的は、最適なepsパラメータに対応する「膝」を決定することです。 numpy / sklearnでpythonを使用すると、次の点が得られます。6-knnの距離は次のとおりです。 X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]]) nbrs = NearestNeighbors(n_neighbors=len(X)).fit(X) distances, indices = nbrs.kneighbors(X) # Indices [[0 1 2 3 4 5] [1 0 2 3 4 5] [2 1 0 3 4 5] [3 4 5 0 …

1
時系列データの異なるセットを比較する方法
Pythonとsklearnを使用してtime#seriesの間に異常検出を実行しようとしています(ただし、他のパッケージの提案は大歓迎です!)。 10個の時系列のセットがあります。各時系列は、タイヤのトルク値(合計10タイヤ)から収集されたデータで構成されており、セットには同じ数のデータポイントが含まれていない場合があります(セットサイズが異なります)。各時系列データは、ほとんど、tire_id、タイムスタンプ、およびsig_value(信号またはセンサーからの値)です。1つの時系列のサンプルデータは次のようになります。 tire_id timestamp sig_value tire_1 23:06.1 12.75 tire_1 23:07.5 0 tire_1 23:09.0 -10.5 今、私はそれらの10を持っています、そしてそれらの2は奇妙に振る舞います。これは異常検出の問題であることを理解していますが、オンラインで読んだほとんどの記事は、同じ時系列内の異常ポイントを検出しています(ある時点で、そのタイヤのトルク値が正常でない場合)。 どの2つのタイヤが異常な動作をしているのかを検出するために、クラスタリング手法、基本的にはk-meansクラスタリングを使用してみました(監視されていないため)。 k-meansクラスタリングにフィードするデータを準備するために、各時系列(各タイヤについて)について計算しました。 最大の振幅(差)を持つ隣接する極大と極小の上位3セット トルク値の平均 トルク値の標準偏差 また、クラスターの数を2のみに設定したので、クラスター1または2のいずれかです。 したがって、(クラスターを割り当てた後の)最終結果は次のようになります。 amplitude local maxima local minima sig_value_std \ tire_0 558.50 437.75 -120.75 77.538645 tire_0 532.75 433.75 -99.00 77.538645 tire_0 526.25 438.00 -88.25 77.538645 tire_1 552.50 -116.50 436.00 71.125912 tire_1 …

5
コサイン類似度によるクラスタリング
大きなデータセットとそれらの間のコサイン類似度があります。予想するクラスターの数を事前に指定する必要なく、類似のオブジェクトをまとめるコサイン類似度を使用してそれらをクラスター化したいと思います。 私はDBSCANとAffinity Propagationのsklearnドキュメントを読みました。どちらも距離行列(コサイン類似度行列ではない)を必要とします。 本当に、私はa)距離メトリックとb)事前に指定された数のクラスターを必要としないアルゴリズムを探しています。 誰かがそれを行うアルゴリズムを知っていますか?

3
テキストのクラスタリングをどのように評価しますか?
テキストクラスタリングモデルの評価に使用できるメトリックは何ですか?私が使用しましたtf-idf+ k-means、tf-idf+ hierarchical clustering、doc2vec+ k-means (metric is cosine similarity)、doc2vec+ hierarchical clustering (metric is cosine similarity)。どのモデルが最適かを判断するにはどうすればよいですか?

2
大きな点群を通る線のあてはめ
パーティクルトラック(カメラで撮影された時間内のxy平面での移動、つまり3d-256x256pxと私のサンプルセットでは約3kフレーム)とノイズによって形成された大きなポイントセット(10kポイントのオーダー)があります。これらの粒子は、ほぼ直線上をほぼ同じ方向に移動しますが、それらの軌道を分析するために、点を通る線をフィットさせようとしています。シーケンシャルRANSACを使用しようとしましたが、TとJリンケージと同様に、誤検出を確実に選択するための基準を見つけることができませんでした。 これは、シーケンシャルランサックで得られた適合性の良いデータセットと不良なデータセットの一部の画像です。ここでは、 粒子ブロブの重心を使用しています。ブロブサイズは1ピクセルと約20ピクセルの間で変化します。 たとえば、10フレームごとにのみ使用するサブサンプルも非常にうまく機能するため、処理するデータサイズをこの方法で削減できることがわかりました。 ニューラルネットワークで実現できるすべてのことについてブログの投稿を読んで、これを読み始める前に、これが実現可能なアプリケーションかどうかを尋ねたいと思います(私は数学の知識がないので、かなりのことをしなければなりません少し読んでください)? または、別の方法を提案できますか? ありがとう! 補遺:以下は、Matlab関数が30本の平行なノイズのあるラインを含むサンプルの点群を生成するコードです。これは、まだ区別できません。 function coords = generateSampleData() coords = []; for i = 1:30 randOffset = i*2; coords = vertcat(coords, makeLine([100+randOffset 100 100], [200+randOffset 200 200], 150, 0.2)); end figure scatter3(coords(:,1),coords(:,2),coords(:,3),'.') function linepts = makeLine(startpt, endpt, numpts, noiseOffset) dirvec = endpt - startpt; linepts = …

1
スペクトルクラスタリングのコンテキストで、アフィニティ行列の固有ベクトルとグラフラプラシアン固有ベクトルの違いは何ですか?
スペクトルクラスタリングでは、固有ベクトル問題を解くのが標準的な方法です LのV = λ VLv=λvL v = \lambda v ここで、はグラフラプラシアン、は固有値関連する固有ベクトルです。VのλLLLvvvλλ\lambda 私の質問:なぜわざわざグラフラプラシアンをとるのですか?このビデオでやったように、グラフ(アフィニティマトリックス)自体の固有ベクトル問題を解決することはできませんか? PS:CrossValidatedで同じ質問をしましたが、これはより適切なチャネルだと思います。私が間違っていたら私を許してください。

3
シーケンスデータのセグメンテーションのアルゴリズム
長さNのベクトルの大きなシーケンスがあります。これらのベクトルをMセグメントに分割するには、教師なし学習アルゴリズムが必要です。 例えば: K平均法は、異なる場所からの類似した要素を単一のクラスターに入れるため、適切ではありません。 更新: 実際のデータは次のようになります。 ここでは、3つのクラスターが表示されます。 [0..50], [50..200], [200..250] アップデート2: 私は修正されたk-meansを使用して、この許容できる結果を得ました: クラスターの境界: [0, 38, 195, 246]

1
指定された変数に直交する(相関しない)予測を生成する
私が持っているXマトリックス、y変数、および他の変数をORTHO_VAR。私はをy使用して変数を予測する必要がありますXが、そのモデルからの予測は、可能な限りORTHO_VAR相関する一方で、直交する必要がありますy。 私は予測がノンパラメトリックな方法で生成されることを望みxgboost.XGBRegressorますが、どうしても必要な場合は線形法を使用できます。 このコード: import numpy as np import pandas as pd from sklearn.datasets import make_regression from xgboost import XGBRegressor ORTHO_VAR = 'ortho_var' TARGET = 'target' PRED = 'yhat' # Create regression dataset with two correlated targets X, y = make_regression(n_features=20, random_state=245, n_targets=2) indep_vars = ['var{}'.format(i) for i in range(X.shape[1])] # …
8 correlation  machine-learning  dataset  logistic-regression  prediction  linear-regression  prediction  dummy-variables  neural-network  image-classification  python  k-nn  python  neural-network  neural-network  deep-learning  keras  tensorflow  image-classification  tensorflow  reinforcement-learning  policy-gradients  machine-learning  decision-trees  neural-network  overfitting  data-analysis  metric  python  scikit-learn  distance  scipy  machine-learning  python  scikit-learn  decision-trees  logistic-regression  keras  image-classification  implementation  machine-learning  python  scikit-learn  random-forest  decision-trees  machine-learning  feature-selection  feature-engineering  word2vec  word-embeddings  natural-language-process  scikit-learn  time-series  clustering  k-means  python  cross-validation  pyspark  statistics  cross-validation  multiclass-classification  evaluation  machine-learning  nlp  machine-translation  neural-network  deep-learning  keras  tensorflow  image-classification  machine-learning  python  similarity  distance  lstm  text  named-entity-recognition  machine-learning  keras  optimization  gan  learning-rate  neural-network  data-mining  dataset  databases  books  neural-network  rnn 

2
高次元データのクラスタリング
TL; DR:ラベル付けされていないデータの大きな画像データセット(生のピクセルが約36 GiB)がある場合、K最初にクラスターの数を知らずに(ピクセル値に基づいて)画像をクラスター化するにはどうすればよいですか? 私は現在、画像をクラスター化するための教師なし学習プロジェクトに取り組んでいます。16x16x3のRGBピクセル値でMNISTをクラスタリングすると考えてください。クラスタリングする必要があるのは約4800万の例だけです。それらのアイデンティティを知らなくても、一部の画像は同じソースからのものであるため、確実に関連していることはわかりますが、たとえばK、セットでK平均法を「ただ」実行するための適切な方法もまだわかりません。 t-SNEを使用して手動の2D埋め込みを実行し、埋め込みスペースで手動でクラスター化することを考えていました(16x16x3-d で手動で実行するよりも簡単なタスク)。ただし、すべてのt-SNE実装で、データをメモリにロードする必要がありました。最初にt-SNEを実行し、次にt-SNE埋め込みデータでK-meansを実行することも考えましたが、MNISTからのt-SNEの結果を見ると、これらのクラスターが歪んでいる可能性があり、歪んでいる可能性があることは明らかです非線形の方法で。したがって、私がを知っていたKとしても、クラスターはおそらく分割されます。K平均にマハラノビス距離を使用することは興味深いかもしれませんが、そもそも共分散がわからないので、これも行き止まりのようです。 現在、サンプルでPCA圧縮を実行して、少なくともt-SNEのメモリをいくらか取り戻すことができるかどうかを試していますが、それが機能する場合と機能しない場合があります。 誰かが私にこれを行うための正しい方向へのポインタを与えることができますか(理想的には、Python、TensorFlow、またはApache Beam / Dataflowコンテキストでは必ずしも必要ではありません)?私は少し前にストリーミング/ボールK-meansの移植に取り組んでいましたが、「オンデマンド」で新しいクラスターを作成するという優れた特性がありますが、それをPython / TensorFlow / Dataflowに再び実装する前に、誰かができることを望んでいましたどこから始めるべきか、何を避けるべきか、いくつかのアイデアを教えてください。

3
k-meansのクラスターに属する確率を取得する方法は?
データセットの各ポイントの確率を取得する必要があります。考え方は、距離行列を計算することです(最初の列は最初のクラスターまでの距離、2番目の列は2番目のクラスターまでの距離など)。最も近いポイントの確率は1、最も遠い確率は0です。問題は線形関数(MinMaxScallerなど)で、ほとんどすべてのポイントがほぼ同じ確率で出力されます。 このタスクの非線形性を選択する方法は?Pythonでこのプロセスを自動化する方法は?たとえば、最も近いポイントのp=1場合、cluster p=0.5に属する最も遠いポイントの場合、最も遠いポイントのpはalmols 0です。 または、この確率を計算する別の方法を提案できます。

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