2017-11-14 7 views
-1

これは私の問題のモデルである:教師付き分類器の出力をクラスタ化/グループ化するにはどうすればよいですか?

Y = clf.predict(X) # 'FRUIT','FRUIT','FRUIT','ANIMAL','0','ANIMAL','ANIMAL','FRUIT' 

私はデータポイント

X = ['Apple','Peach','Orange','Dog','Elephant','Fox','Cat','Mango'] 

のリストで始まりその後、私のようなクラスに私をリード教師分類器の出力を持っています

分類器にFNがない完璧な世界でも、クラスを上位クラスにグループ化できるようにしたいと考えています。

Z = cluster(Y) # 'LIST_OF_FRUITS','LIST_OF_ANIMALS','LIST_OF_FRUITS' 

私はこのようなことができるかどうかわからないグループをどのくらい大きく定義することなく、ラベル付きの例の有無にかかわらず、このようなことをすることに苦労しています。

また、私が実際に解決しようとしているのは、所望のグループに「FRUIT」の並行リストだけでなく、「DINNER」という数種類のクラスが含まれている場合です。多くの場合、0+「肉」、0+「VEGが」など理想的なソリューションは、非定型夕食を知って1になり、正しい/偽陰性を推定し、分類されたデータから、夕食のグループ化を見つけることができるだろう、すなわち:

Y = ['MEAT','0','0','0','0','MEAT','0','VEG','MEAT'] -> ['DINNER'] (1 instance) 

問題をコード化する単語の一部がうまくいくはずですが、パーティションが特定のサイズになるように分類子1の出力を分割する方法がわかりません。

私はこれに使うことができるものはありますか?

+0

あなたの質問は不明です。教師付き分類器のラベルを既に知っている場合、なぜインスタンスをグループ化するのが苦労しているのですか?それは簡単ですね。 2番目の問題については、私は主な問題は何かをよく理解していません!! –

+0

主な問題は、オブジェクトのリストをどのように分割するかを知ることではありません。上位のクラスにサブクラスの単純な順序付け/グループ化を含めることができます。 「DINNER」に「0」または「FRUIT」または「MEAT」が含まれている可能性がありますが、夕食には「0」が含まれていることはほとんどありません。 –

+0

アルゴリズムはどのように「DINNER」を知っていますか? –

答えて

0

複数の出力ディメンションを持つクラシファイアを使用する必要があるようです。これは低レベルでサポートされていますが、多くの便利な機能を使用することはできません。

たとえば、Bag-Of-Words vecorリスト(文章)の4つのベクトル - 分類を一度に出力するBag-Of-Wordsというモデルがあります。それらはすべて線形独立の出力です。

代わりに、出力ディメンションごとに複数のモデルを作成することもできます。

+0

その問題は、出力を分割する方法を知らないことです。私は今、解決策は、各クラスタがクラシファイアの元の出力からのみを考慮し、まだk個のクラスタの数を設定する方法を考え出すようなリンク制約付きの集約クラスタリングであると考えています.... http:// scikit- learn.org/stable/auto_examples/cluster/plot_agglomerative_clustering.html#sphx-glr-auto-examples-cluster-plot-agglomerative-clustering-py –

0

ここではクラスタリングが表示されません。

私は右理解していれば、あなたはおそらくカーディナリティを使用します。その時点で二組

[Fruit, Fruit] and [Meat] 

中に、

[Fruit, Meat, Fruit] 

を分割したいですか?その後、カウントするために辞書を使用してください。私。また

{ Fruit: 2, Meat: 1 } 

、言語の多くは、あなたがいずれかの方法を

for x in unique(classification): 
    subsets[x] = inputdata[classification == x] 

書くことができるように、ユニークな値、およびサブセットの演算子を反復処理するためにいくつかの構文を持っている、に見ていないにこれを集約このためにクラスタリング。ここでは高度な統計解析は行われていません。それは数え切れないほどです。

+0

それほど正確ではない、考え方は、サブクラスを上位クラスにグループ化することです。あなたは間違っていると思う、あなたは出力リストをどのように分割するかについての解決策を教えてくれなかった...私は分類器1からの特徴をY軸上にマップし、これをクラスタ化して、意図した効果を達成した。 –