交差検定コードの記述をしています。実行すると以下のようなエラーが出ます。
File "sample.py", line 62
print(scores)
^
IndentationError: unindent does not match any outer indentation level
コードは以下のとおりです。
html
1import pandas as pd 2import numpy as np 3from sklearn.utils.testing import all_estimators 4from sklearn.preprocessing import LabelEncoder 5from sklearn.cross_validation import cross_val_score 6from sklearn.feature_extraction.text import CountVectorizer 7from sklearn.feature_extraction.text import TfidfVectorizer 8import MeCab 9import sys 10 11 12CROSS_VALIDATION_N = 4 13 14 15wakati = MeCab.Tagger('-O wakati') 16def tokenize(text): 17 '''テキストを形態素解析し、形態素の配列を返す''' 18 parsed_text = wakati.parse(text) 19 word_list = parsed_text.split(' ') 20 return word_list 21 22def get_textdata_and_labels(_data): 23 24 df = pd.DataFrame(_data) 25 df.columns = ['text','category'] 26 27 #テキストのBoW生成 28 count_vect = CountVectorizer(analyzer=tokenize,max_df=0.5, max_features=1000) 29 bow = count_vect.fit_transform(df["text"].tolist()) 30 X = bow.todense() 31 32 # ラベルデータをベクトルに変換 33 le = LabelEncoder() 34 le.fit(df['category']) 35 Y = le.transform(df['category']) 36 37 return X,Y 38 39 40import csv,io 41def get_list_by_csv(file_path): 42 """CSVから配列に変換を行う""" 43 44 csv_reader = csv.reader( 45 io.open(file_path, "r", encoding='utf_8'), 46 delimiter=",", 47 quotechar='"' 48 ) 49 return [row for row in csv_reader] 50 51 52def main(): 53 _data = get_list_by_csv('corpus.csv') 54 X,Y = get_textdata_and_labels(_data) 55 for (name,Estimator) in all_estimators(): 56 print(name) 57 model = Estimator() 58 if 'score' not in dir(model): 59 continue; 60 try: 61 scores = cross_val_score(model, X, Y, cv=CROSS_VALIDATION_N) 62 print(scores) 63 except: 64 print(sys.exc_info()) 65 pass 66 67if __name__ == '__main__': 68 main()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/03 09:21