2017-09-22 1 views
0

私は4つのnumpy配列(特徴)を持っています。 numpy配列の次元は次のとおりです。分類のために複数の特徴ベクトルを効果的に結合する方法

a1=(360,100) 
a2=(360,100) 
a3=(360,100) 
a4=(360,13) 

私は360(4つのクラスとそれぞれが90です)オーディオファイルを持っています。そして、これらのwavファイルから4つの異なる機能(a1、..a4)を取得しました。私はこれらの機能(a1、.. a4)を別々に試して、SVMをトレーニングし、オーディオを分類しました。しかし、いくつかの結果は良くありません。今私はこれらの4つの機能を組み合わせてより良い結果を得たいと思っています。しかし、私はこれらの行列を連結したくありません。私はちょうどこれらの特徴のためのいくつかの係数を決定し、分類のためのただ1つの特徴ベクトルを得ることを望む。例えば 、

私はちょうどA1機能を使用する場合、パフォーマンスは次のとおりです。

class1=%50, class2=%85, class3=%95, class4=%95 

私はちょうどA2機能を使用すると、パフォーマンスは次のとおりです。

class1=%30, class2= %96, class3=%94, class4=%80 

私はちょうどA3機能を使用しますパフォーマンスは次のとおりです。

class1=%64, class2=%94, class3=%74, class4=%97 

私はちょうどa4機能を使用すると、パフォーマンスは:

class1=%74, class2=%96, class3=%85, class4=%88 

これらの4つの機能を併用するとパフォーマンスが向上しますか?私もこれらの機能を連結しましたが、パフォーマンスは良くありませんでした。ありがとうございます

答えて

0

あなたの表現方法は、boostingとよく似ています.4つのクラシファイアは弱いです(this answerを参照)。ブースティングという考えは、弱い学習者を強力なものに変換することです。

既存のクラシファイアから手作業で行うことができます。 using sci-kit。しかし、最も簡単な方法は内部ですべての機能を使用するXGBoostを使用し、それぞれの分類子を作成して1つの分類子に追加することです。

関連する問題