2014-07-22 2 views
0

scikit-learn에서 텍스트 문서 컬렉션에 선형 SVM 분류기를 구현해야합니다. 특징 추출에 대한 문서는 사용 가능한 데이터 세트, 홍채 등을 변환하는 방법을 보여줍니다. 텍스트 파일 컬렉션을 업로드하고 견적서에서 사용할 수 있도록 변환해야합니다. 그것을 위해, 나는 이것을 사용하려고했습니다. 텍스트 파일에서 2D 데이터 세트 만들기

fil = datasets.load_files('/home/ayushi/Dropbox/Bundeli/corpus/wob/sklearn', description=None, categories=None, load_content=True, shuffle=True, encoding='utf-8', charset=None, charset_error=None, decode_error='strict', random_state=0) 

    vec = DictVectorizer() 
    vec.fit_transform(fil).toarray() 

지금 내가이 오류

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.7/dist-packages/sklearn/feature_extraction/dict_vectorizer.py", line 143, in fit_transform 
return self.transform(X) 
    File "/usr/lib/python2.7/dist-packages/sklearn/feature_extraction/dict_vectorizer.py", line 231, in transform 
    values.append(dtype(v)) 
    ValueError: could not convert string to float: gaari 

Gaari이 장르의 이름을 얻을, 텍스트가 필요 무언가로 분류 할 수있다. 또한

, 나는이 시도되었다 http://scikit-learn.org/stable/auto_examples/svm/plot_iris.html#example-svm-plot-iris-py

() 내 자신의 데이터를 얻을 수 load_files를 사용하여 정확하게 모든 것을 다음, 난이 오류가 발생했다.

TypeError : list indices should be integer not tuples 

그래도 여전히 2D 데이터 세트로 변환해야합니다. 누구든지 어떤 제안이 있습니까?

답변

1

sklearn.datasets.load_files은 문자열을 생성하는 메모리에만 파일을로드하고 DictVectorizer은 dicts를 입력으로 사용합니다. extract_features는 문자열을 받아 값을 특징으로하는 DICT 매핑 기능 이름을 생성하는 데이터 세트 고유의 기능입니다

data = datasets.load_files('/home/ayushi/Dropbox/Bundeli/corpus/wob/sklearn', 
          encoding='utf-8') 
vec = DictVectorizer() 
X = vec.fit_transform(extract_features(f) for f in data.data) 

: 당신은 실제 특징 추출을하는 기능이 필요합니다.

+0

고맙습니다. @larsmans – user3116297

관련 문제