私は、多数のオブジェクトの間で計算した類似性行列を持っています。各オブジェクトは他のオブジェクトと非ゼロの類似性を持つことができます。私は別のタスクのためにこの行列を生成しましたが、今度は新しい分析のためにクラスター化したいと思います。Scikitのスペクトルクラスタリングで事前計算されたアフィニティマトリックスを使用しているときのKNN?
私はあらかじめ計算されたアフィニティマトリックスを渡すことができるので、scikit's spectral clusteringメソッドは良いフィット感があるようです。私はまた、スペクトルクラスタリングは、典型的には、アフィニティマトリックスを構築するときにいくつかの最も近い近傍を使用し、そして私の類似性マトリックスは同じ制約を持たないことも知っています。
アフィニティマトリックス内のノード間に任意の数のエッジを許すマトリックスを渡すと、各ノードは特定の数の最も近いネイバーだけを持つように制限されますか?もしそうでなければ、私はあらかじめ計算したアフィニティマトリックスにその変更を加えなければならないと思います。
しかし、私はすでにscikitの基準(類似点は正、対称、正方形)を満たしており、affinity = 'precomputed'オプションを使用しています。あなたは私の事前計算したアフィニティマトリックスに基づいて新しいアフィニティマトリックスを計算することを提案していますか? – neelshiv
私はあなたの類似性行列を使いたいならば、あなた自身の類似性行列を計算することができると思います(類似行列もsuqare、positive、symmetricalです)。あなたの入力データが類似行列の場合、sklearnはあなたのために仕事をしましょう。それはアフィニティマトリックスを単独で計算します:) –
ああ、私はつかまりました。私は事前計算されたアフィニティマトリックスを使用しています。これは、別のリソース集約的なプロセスの出力であるためです。私は、以前のプロセスがすでに入れている作業のうち、新しいものを構築できるかどうかを確認しようとしています。私が扱う親和性マトリックスは、それを作成するために使用された入力よりも大幅に小さくなっています。 – neelshiv