質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

1400閲覧

pythonのIndentationErrorについて

tatatakakaka

総合スコア16

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/12/03 09:10

編集2018/12/03 09:12

交差検定コードの記述をしています。実行すると以下のようなエラーが出ます。
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()

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

IndentationError: unindent does not match any outer indentation level

グーグル翻訳でも良いですから、メッセージを読みましょう。
『IndentationError:インデントが外側のインデントレベルと一致しません』

そしてコードのエラー周辺の行を見直します。

Python

try:
scores = cross_val_score(model, X, Y, cv=CROSS_VALIDATION_N)
print(scores)

インデントが明らかにズレていますよね。修正してください。

投稿2018/12/03 09:16

LouiS0616

総合スコア35658

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tatatakakaka

2018/12/03 09:21

解決しました。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問