2017-09-22 19 views
0

4 개의 numpy 배열 (특징)이 있습니다. numpy 배열의 크기는 다음과 같습니다.분류를 위해 여러 특징 벡터를 효과적으로 결합하는 방법

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

나는 360 개의 파일 (4 개의 클래스와 각 파일은 90)을 가지고 있습니다. 그리고이 wav 파일에서 4 가지 다른 기능 (a1, .. a4)을 얻었습니다. 나는 svm을 훈련시키고 오디오를 분류하기 위해 이러한 기능 (a1, .. a4)을 별도로 시도했다. 그러나 일부 결과는 좋지 않습니다. 이제 더 나은 결과를 얻기 위해이 4 가지 기능을 결합하고 싶습니다. 그러나 나는이 행렬을 연결하고 싶지 않다. 이 피쳐에 대한 몇 가지 계수를 결정하고 분류를위한 하나의 피쳐 벡터를 얻고 싶습니다. 예를 들어 ,

I 단지 A1 기능을 사용하여 성능이다

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

I 단지 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을 사용하는 것이고 각 유형별 분류 기준을 작성한 다음 하나의 분류 기준으로 높이는 것입니다.