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

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

13
数値データとカテゴリデータが混在するK平均クラスタリング
データセットには、いくつかの数値属性と1つのカテゴリが含まれています。 、と言いますNumericAttr1, NumericAttr2, ..., NumericAttrN, CategoricalAttr、 はCategoricalAttr、次の3つの可能な値のいずれかを取ります:CategoricalAttrValue1、CategoricalAttrValue2またはCategoricalAttrValue3。 Octave https://blog.west.uni-koblenz.de/2012-07-14/a-working-k-means-code-for-octave/のデフォルトのk-meansクラスタリングアルゴリズムの実装を使用しています。数値データのみで機能します。 だから私の質問:カテゴリ属性CategoricalAttrを3つの数値(バイナリ)変数に分割するのは正しいIsCategoricalAttrValue1, IsCategoricalAttrValue2, IsCategoricalAttrValue3ですか?

8
地理的位置座標のクラスタリング(緯度、経度のペア)
位置情報クラスタリングの正しいアプローチとクラスタリングアルゴリズムは何ですか? 次のコードを使用して、地理位置座標をクラスター化しています。 import numpy as np import matplotlib.pyplot as plt from scipy.cluster.vq import kmeans2, whiten coordinates= np.array([ [lat, long], [lat, long], ... [lat, long] ]) x, y = kmeans2(whiten(coordinates), 3, iter = 20) plt.scatter(coordinates[:,0], coordinates[:,1], c=y); plt.show() 距離関数としてHaversine式ではなくユークリッド距離を使用するため、地理位置情報クラスタリングにK-meansを使用するのは正しいですか?

1
マルチクラス分類に最適なKerasモデルは何ですか?
私はどこの必要性3つのイベントWINNER =(の分類1に、研究に取り組んでいますwin、draw、lose) WINNER LEAGUE HOME AWAY MATCH_HOME MATCH_DRAW MATCH_AWAY MATCH_U2_50 MATCH_O2_50 3 13 550 571 1.86 3.34 4.23 1.66 2.11 3 7 322 334 7.55 4.1 1.4 2.17 1.61 私の現在のモデルは: def build_model(input_dim, output_classes): model = Sequential() model.add(Dense(input_dim=input_dim, output_dim=12, activation=relu)) model.add(Dropout(0.5)) model.add(Dense(output_dim=output_classes, activation='softmax')) model.compile(loss='categorical_crossentropy', optimizer='adadelta') return model それがマルチクラス分類に適しているかどうかわかりません バイナリ分類の最適な設定は何ですか? 編集:#2-そのような? model.add(Dense(input_dim=input_dim, …

1
xgboostがsklearn GradientBoostingClassifierよりもずっと速いのはなぜですか?
私は、100個の数値特徴を備えた50kの例で勾配ブースティングモデルをトレーニングしようとしています。XGBClassifier一方、私のマシンで43秒以内に、ハンドル500本の木、GradientBoostingClassifierハンドルのみ10樹木(!)1分2秒:(私は気にしませんでしたでは、それは時間がかかるだろうと500本の木を育てるしようとしている。私は、同じ使用していますlearning_rateし、max_depth設定を、 下記参照。 XGBoostがこれほど速くなったのはなぜですか?sklearnの人が知らない勾配ブースティングのためのいくつかの新しい実装を使用していますか?それとも、「角を切り」、より浅い木を育てるのですか? PS私はこの議論を知っています:https : //www.kaggle.com/c/higgs-boson/forums/t/10335/xgboost-post-competition-surveyが、そこに答えを得ることができませんでした... XGBClassifier(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0, learning_rate=0.05, max_delta_step=0, max_depth=10, min_child_weight=1, missing=None, n_estimators=500, nthread=-1, objective='binary:logistic', reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=0, silent=True, subsample=1) GradientBoostingClassifier(init=None, learning_rate=0.05, loss='deviance', max_depth=10, max_features=None, max_leaf_nodes=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, n_estimators=10, presort='auto', random_state=None, subsample=1.0, verbose=0, warm_start=False)
29 scikit-learn  xgboost  gbm  data-mining  classification  data-cleaning  machine-learning  reinforcement-learning  data-mining  bigdata  dataset  nlp  language-model  stanford-nlp  machine-learning  neural-network  deep-learning  randomized-algorithms  machine-learning  beginner  career  xgboost  loss-function  neural-network  software-recommendation  naive-bayes-classifier  classification  scikit-learn  feature-selection  r  random-forest  cross-validation  data-mining  python  scikit-learn  random-forest  churn  python  clustering  k-means  machine-learning  nlp  sentiment-analysis  machine-learning  programming  python  scikit-learn  nltk  gensim  visualization  data  csv  neural-network  deep-learning  descriptive-statistics  machine-learning  supervised-learning  text-mining  orange  data  parameter-estimation  python  pandas  scraping  r  clustering  k-means  unsupervised-learning 

4
クラスタリングする前にデータを標準化する必要はありますか?
クラスター化する前にデータを標準化する必要がありますか?以下からの例ではscikit learnDBSCANについて、ここで彼らはラインで次の操作を行います。 X = StandardScaler().fit_transform(X) しかし、なぜそれが必要なのかわかりません。結局のところ、クラスタリングはデータの特定の分布を想定していません-それは教師なしの学習方法なので、その目的はデータを探索することです。 なぜデータを変換する必要があるのですか?

3
Kはエルボ法、BIC、分散の説明、およびシルエットを使用してKを選択するインコヒーレントな動作を意味します
K-meansで90個の特徴を持ついくつかのベクトルをクラスター化しようとしています。このアルゴリズムはクラスターの数を尋ねるので、いくつかの素晴らしい数学で選択を検証したいと思います。8〜10個のクラスターが必要です。機能はZスコアでスケーリングされています。 エルボ法と分散の説明 from scipy.spatial.distance import cdist, pdist from sklearn.cluster import KMeans K = range(1,50) KM = [KMeans(n_clusters=k).fit(dt_trans) for k in K] centroids = [k.cluster_centers_ for k in KM] D_k = [cdist(dt_trans, cent, 'euclidean') for cent in centroids] cIdx = [np.argmin(D,axis=1) for D in D_k] dist = [np.min(D,axis=1) for D in …

5
PythonでのKL発散の計算
私はこれにかなり慣れていないため、この背後にある理論的概念を完全に理解しているとは言えません。Pythonの複数のポイントリスト間のKL Divergenceを計算しようとしています。私はhttp://scikit-learn.org/stable/modules/generated/sklearn.metrics.mutual_info_score.htmlを使用してこれを試みています。私が遭遇している問題は、返される値が2つの数値リスト(その1.3862943611198906)で同じであることです。私はここで何らかの理論上の間違いを犯していると感じていますが、それを見つけることはできません。 values1 = [1.346112,1.337432,1.246655] values2 = [1.033836,1.082015,1.117323] metrics.mutual_info_score(values1,values2) それは私が実行しているものの例です-2つの入力に対して同じ出力を取得しているだけです。何かアドバイス/助けをいただければ幸いです!

2
季節性やその他のパタ​​ーンが変化する時系列に対処する方法は?
バックグラウンド 私は、エネルギーメーターの測定値の時系列データセットに取り組んでいます。シリーズの長さはメートルによって異なります-私が数年持っているものもあれば、数ヶ月しかいないものもあります。 私が取り組んできたものの1つは、これらの時系列のクラスタリングです。私の仕事は今のところ学術的であり、データの他の分析も行っていますが、クラスタリングを実行するという特定の目標があります。 さまざまな機能(週末と平日で使用される割合、異なる時間ブロックで使用される割合など)を計算する初期作業を行いました。その後、動的タイムワーピング(DTW)を使用して異なるシリーズ間の距離を取得し、差分値に基づいてクラスタリングを検討することに進み、これに関連するいくつかの論文を見つけました。 質問 特定のシリーズの季節性の変化により、クラスタリングが不正確になりますか?もしそうなら、どのように対処しますか? 私の懸念は、時系列のパターンが変更された場合、DTWによって取得された距離が誤解を招く可能性があることです。これにより、誤ったクラスタリングが発生する可能性があります。 上記が不明な場合は、次の例を検討してください。 例1 メーターの真夜中から午前8時までの測定値が低く、次の1時間は測定値が急激に増加し、午前9時から午後5時まで高値を維持し、次の1時間にわたって急激に減少し、午後6時から深夜まで低値を維持します。メーターは、このパターンを毎日数か月間一貫して継続しますが、読み取り値が1日を通して一貫したレベルにとどまるパターンに変わります。 例2 メーターは、ほぼ毎月消費されるエネルギー量を示します。数年後、夏季のエネルギー使用量が通常の量に戻る前のパターンに変わります。 可能な方向 私は、時系列全体を比較し続けることができるかどうか疑問に思っていましたが、パターンを大幅に変更する場合は、それらを分割し、別のシリーズと見なします。ただし、これを行うには、そのような変更を検出できる必要があります。また、これが適切な方法なのか、データを操作するのかわからないだけです。 また、データを分割し、それを多くの別個の時系列として考慮することも検討しました。たとえば、毎日/メーターの組み合わせを個別のシリーズと考えることができます。ただし、毎週/毎月/毎年のパターンを検討する場合は、同様に行う必要があります。私が考えて、これは動作しますが、それは潜在的にかなり厄介だと私は欠けていることにもっと良い方法があるのなら、私はこの道を行くことを憎みます。 さらなる注記 これらは、コメントに出てきたもの、またはコメントが原因で私が考えたもので、関連性があるかもしれません。関連情報を取得するためにすべてを読み通す必要がないように、ここに配置しています。 私はPythonで作業していますが、Rの方が適している場所にはrpyがあります。私は必ずしもPythonの答えを探しているわけではありません-誰かが実際に何をすべきかについての答えを持っているなら、実装の詳細を自分で理解して幸せです。 私はたくさんの「ラフドラフト」コードを実行しています。DTWをいくつか実行したり、いくつかの異なるタイプのクラスタリングを実行したりしています。本当に探しているのは、距離を見つける前にデータを処理する方法、クラスタリングを実行する方法などに関連しています。 これらの論文は時系列とDTWについて特に有益であり、トピック領域の背景が必要な場合に役立つことがあります:http : //www.cs.ucr.edu/~eamonn/selected_publications.htm


5
文の類似性に最適な実用的なアルゴリズム
S1とS2の2つの文があり、どちらも15未満の単語数(通常)を持っています。 最も実用的で成功している(機械学習)アルゴリズムは、実装がおそらく簡単です(アーキテクチャがGoogle Inceptionなどのように複雑でない限り、ニューラルネットワークは大丈夫です)。 あまり時間をかけなくても問題なく動作するアルゴリズムを探しています。成功した使いやすいアルゴリズムがありますか? これは、クラスタリングのカテゴリに分類できますが、分類する必要はありません。私の背景は機械学習からですので、どんな提案でも大歓迎です:)

1
テキストクラスタリングのアルゴリズム
大量の文章を意味ごとにグループ化する問題があります。これは、文がたくさんあり、それらを意味ごとにグループ化する場合の問題に似ています。 これを行うにはどのようなアルゴリズムが推奨されますか?クラスターの数が事前にわかりません(さらに多くのデータが追加されるにつれてクラスターも変化する可能性があります)。通常、各文を表すためにどの機能が使用されますか? 私は今、単語のリストと次のように定義された文の間の距離を持つ最も単純な機能を試しています: (AとBは、文AとBの対応する単語のセットです) それはまったく理にかなっていますか? 事前にクラスターの数を必要としないので、scikitライブラリーの平均シフトアルゴリズムをこの距離に適用しようとしています。 誰かが問題のより良い方法/アプローチをアドバイスするなら-私はまだトピックに新しいので、それは非常に高く評価されます。


4
類似性スコアに基づくクラスタリング
要素Eのセットと、2つの要素ei、ej∈E間の類似性(距離ではない)関数sim(ei、ej)があると仮定します。 simを使用して、Eの要素を(効率的に)クラスター化するにはどうすればよいですか? たとえば、k -meansには所定のkが必要で、Canopy Clusteringには2つのしきい値が必要です。このような事前定義されたパラメーターが必要ない場合はどうなりますか? simは必ずしもメトリックではないことに注意してください(つまり、三角形の不等式は成り立つ場合もあれば、成り立たない場合もあります)。さらに、クラスターが互いに素(Eのパーティション)であるかどうかは関係ありません。

5
シーボーンヒートマップを大きくする
corr()元のdfからdf を作成します。corr()DFは、70 X 70から出てきたし、ヒートマップを可視化することは不可能です... sns.heatmap(df)。を表示しようとするcorr = df.corr()と、テーブルが画面に収まらず、すべての相関関係を確認できます。dfサイズに関係なく全体を印刷する方法ですか、ヒートマップのサイズを制御する方法ですか?
16 visualization  pandas  plotting  machine-learning  neural-network  svm  decision-trees  svm  efficiency  python  linear-regression  machine-learning  nlp  topic-model  lda  named-entity-recognition  naive-bayes-classifier  association-rules  fuzzy-logic  kaggle  deep-learning  tensorflow  inception  classification  feature-selection  feature-engineering  machine-learning  scikit-learn  tensorflow  keras  encoding  nlp  text-mining  nlp  rnn  python  neural-network  feature-extraction  machine-learning  predictive-modeling  python  r  linear-regression  clustering  r  ggplot2  neural-network  neural-network  training  python  neural-network  deep-learning  rnn  predictive-modeling  databases  sql  programming  distribution  dataset  cross-validation  neural-network  deep-learning  rnn  machine-learning  machine-learning  python  deep-learning  data-mining  tensorflow  visualization  tools  sql  embeddings  orange  feature-extraction  unsupervised-learning  gan  machine-learning  python  data-mining  pandas  machine-learning  data-mining  bigdata  apache-spark  apache-hadoop  deep-learning  python  convnet  keras  aggregation  clustering  k-means  r  random-forest  decision-trees  reference-request  visualization  data  pandas  plotting  neural-network  keras  rnn  theano  deep-learning  tensorflow  inception  predictive-modeling  deep-learning  regression  sentiment-analysis  nlp  encoding  deep-learning  python  scikit-learn  lda  convnet  keras  predictive-modeling  regression  overfitting  regression  svm  prediction  machine-learning  similarity  word2vec  information-retrieval  word-embeddings  neural-network  deep-learning  rnn 

2
K平均とオンラインK平均
K-meansはクラスタリング用のよく知られたアルゴリズムですが、そのようなアルゴリズムのオンラインバリエーションもあります(オンラインK-means)。これらのアプローチの長所と短所は何ですか?また、それぞれをいつ優先すべきですか?

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