2013-04-29 4 views
0

저는 SimpleCV의 SVMClassifier을 사용하여 간단한 바이너리 분류를 시도했습니다. 여기에 내가 오류 다음으로 시도한 작업은 다음과 같습니다SimpleCV의 SVMClassifier에서 featureExtractors를 사용하려면 어떻게해야합니까?

svm = SVMClassifier([HueHistogramFeatureExtractor]) 
svm.train([train_airplanes, train_leaves], ['Airplanes', 'Leaves']) 

오류 :

--------------------------------------------------------------------------- 
TypeError         Traceback (most recent call last) 
<ipython-input-31-50d09bd20b62> in <module>() 
     1 svm = SVMClassifier([HueHistogramFeatureExtractor]) 
----> 2 svm.train([train_airplanes, train_leaves], ['Airplanes', 'Leaves']) 

/usr/local/lib/python2.7/dist-packages/SimpleCV/MachineLearning/SVMClassifier.pyc in train(self, paths, classNames, disp, subset, savedata, verbose) 
    229   colNames = [] 
    230   for extractor in self.mFeatureExtractors: 
--> 231    colNames.extend(extractor.getFieldNames()) 
    232 
    233   if(count <= 0): 

TypeError: unbound method getFieldNames() must be called with HueHistogramFeatureExtractor instance as first argument (got nothing instead) 

문서 꽤 스파 스, 그래서 내가 다른 일을해야 모르겠어요.

답변

2

나는이 대답은 귀하의 경우 너무 늦게 아마 알고 있지만, 어쩌면 도움이 될 것입니다 다른 사람 : 당신이 수행해야하므로

당신의 분류를 FeatureExtractors하지 클래스의 인스턴스를 제공해야합니다 :

svm = SVMClassifier([HueHistogramFeatureExtractor()]) 
+0

믿거 나 말거나 대답이 아직 적합하지 않습니다. 당신의 도움을 주셔서 대단히 감사합니다! – blz