問題タブ [mclust]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
12225 参照

r - クラスタリングの結果を mclust からファイルに書き込むにはどうすればよいですか?

R 用の mclust ライブラリ ( http://www.stat.washington.edu/mclust ) を使用して、実験的な EM ベースの GMM クラスタリングを行っています。このパッケージは素晴らしく、通常、私のデータに非常に適したクラスターを見つけているようです。

問題は、私が R についてまったく知らないことです。help() の内容と詳細な readme に基づいてクラスタリング プロセスをなんとかごちゃ混ぜにしましたが、書き出す方法を一生理解することはできません。ファイルへの実際のクラスター結果。クラスタリングを実行するために、次の非常に単純なスクリプトを使用しています。

その時点で、クラスターの結果と要約があります。data.csv のデータは、1 行に 1 つずつ、多次元ポイントの単なるリストです。したがって、各線は「x、y、z」のように見えます (3 次元の場合)。

2 次元の点 (たとえば、x と y の値のみ) を使用すると、内部のプロット関数を使用して、割り当てられたクラスターに基づいて元の点と各点の色分けをプロットする非常にきれいなグラフを取得できます。したがって、すべての情報が「myBIC」のどこかにあることは知っていますが、ドキュメントとヘルプは、このデータを印刷する方法についての洞察を提供していないようです!

myBIC にエンコードされていると思われる結果に基づいて、新しいファイルを印刷したいと考えています。何かのようなもの、

そして、うまくいけば、クラスタリングプロセスが見つけた個々のガウス/クラスターのパラメーター/セントロイドも出力します。

確かに、これはとてつもなく簡単なことであり、私はRについて無知すぎて理解できません...

編集:私はもう少し先に進んでいるようです。以下を実行すると、やや不可解なマトリックスが出力されます。

よく考えてみると、これは実際にはサンプルとその分類のリストであることに気付きました。write コマンドを使用してこれを直接書き込むことはできないと思いますが、R コンソールでもう少し実験を行うと、これが可能であることがわかりました。

そして、結果は実際にはかなりきれいに見えます!

ここで、最初の列は明らかに入力データのインデックスと一致し、2 番目の列は割り当てられたクラス ID を示しています。

ただし、「mySummary$parameters」オブジェクトはネストされているように見え、個々のガウス分布とそのパラメーターなどに対応する一連のサブオブジェクトがあります。「書き込み」関数は、書き出そうとすると失敗しますが、個別に書き込みます各サブオブジェクト名を出すのは少し面倒です。R でネストされたオブジェクトを反復処理し、その要素をシリアル形式でファイル記述子に出力するにはどうすればよいですか?

この「mySummary$parameters」オブジェクトがあります。これは、「mySummary$parameters$variance$sigma」などのいくつかのサブオブジェクトで構成されています。CLI に対して自動的に行われるのと同じ方法で、すべてを反復処理してすべてファイルに出力したいと思います...

0 投票する
1 に答える
102 参照

mclust - R で mclust 関数を使用してクラスター分析を実行するとエラーが発生する

テスト データセットで mclust を実行すると、次のエラーが発生します。

cdensEEV(data = data, logarithm = TRUE, parameters = parameters, : 外部関数呼び出し (arg 1) の NA/NaN/Inf のエラー さらに: 警告メッセージ: cdensEEV(data = data, logarithm = TRUE, parameters = parameters , : 強制によって導入された NA

私のコードは以下の通りです:

最初の要約を実行すると、すべて正常に動作しますが、2 番目の要約、特に newclass = Class.test の部分を実行すると、そのエラーが発生します。データセットには NA 値がありません。以前に週次データセットに対して行ったときは、問題はありませんでした。

誰でも助けることができますか?前もって感謝します。

アダム