私は既知のラベルを持つデータセットを持っています。私はクラスタリングを試み、既知のラベルによって与えられた同じクラスターを得ることができるかどうかを見たい。精度を測定するには、混乱行列のようなものを取得する必要があります。scikit-learnでのクラスタリングのための混同行列
私は分類問題のテストセットのために簡単に混同行列を得ることができます知っています。私はすでにthisのようにそれを試みました。それは分類問題のために理にかなっているラベルの同じセットを、持っているために、両方の列と行を期待通りに
しかし、それは、クラスタリングに使用することはできません。しかし、私が期待しているクラスタリング問題は、このようなものです。
行 - 実際のラベル
列 - 新しいクラスタ名(すなわち、クラスタ1、クラスタ-2など)
はこれを行う方法はありますか?
編集:ここでは詳細です。
には、y_test
とy_pred
は同じ値を持ち、labels
はそれらの値のラベルであると予測しています。
それは、このような行と列の両方に同じラベルを持つ行列を与える理由です。
しかし、私の場合(関数kmeansクラスタ)で、実際の値は文字列であり、私はconfusion_matrix(y_true, y_pred)
を呼び出す場合、推定値は数字(すなわち、クラスタ数)
あるので、それはエラーの下になります。
ValueError: Mix of label input types (string and number)
これは実際の問題です。分類の問題については、これは意味をなさない。しかし、クラスタリングの問題では、実際のラベル名と新しいクラスタ名が同じである必要はないので、この制限は存在しません。これにより
は、私は、クラスタリングの問題のために、分類問題のために使用されることを想定しているツールを使用しようとしている理解しています。だから、私の質問は、私はクラスター化されたデータのためのそのような行列を得ることができる方法があるということです。質問がより明確になることを願っています。そうでない場合は教えてください。
サンプルサンプル –
詳細を追加してください。ありがとう。 – Bee
クラスタ番号を実際の結果にマップする方法がわからない場合は、どのように進めますか? –