質問: ### 誤作動を起こしている原因を知りたい ### 発生している問題・エラーメッセージ ``` line 27 y_train=['ja','en','th'] #学習用の答え unvalid character in identifie ``` ### 該当のソースコード ``` import numpy as np from sklearn.naive_bayes import GaussianNB #アルゴリズム from sklearn.metrics import accuracy_score #Unicodeのコードポイント頻度測定 def count_codePoint(str): #Unicodeのコードポイントをアドレスとする配列を用意 counter=np.zeros(65535) for i in range(len(str)): #各文字をUnidodeのコードポイントに変換 code_point=ord(str[i]) #一つずつ変換して処理する if code_point>65535: continue #対応するアドレスの出現回数に1を足す counter[code_point]+=1 #各要素を文字数で割って正規化 counter=counter/len(str) #? return counter #学習用データの準備 ja_str='これは日本語の文章です' en_str='This is English Sentences.' th_str='นี่เป็นประโยคภาษาญี่ปุ่น' x_train=[count_codePoint(ja_str),count_codePoint(en_str),count_codePoint(th_str)] #学習する教科書、参考書の問題 y_train=['ja','en','th'] #学習用の答え #学習する clf=GausssianNB() #アルゴリズム生成 clf.fit(x_train,y_train) #評価用のデータ ja_test_str='こんにちは' en_test_str='Hello' th_test_str='สวัสดี' x_test=[count_codePoint(ja_test_str),count_codePoint(en_test_str),count_codePoint(th_test_str)] #テスト用の問題 y_test=['ja','en','th'] #テスト用の答え #評価する y_pred=clf.predict(x_test) #テスト用の問題から答えを予測する print(y_pred) print('正解率=',accuracy_score(y_test,y_pred)) #関数を使って(テスト用の答え,テスト用の答えの予想)という形で正解率を予測する ``` ### 試したこと 何回か打ち直したが間違えているところが分からなかった ### 補足情報 python初心者で簡易な質問かもしれませんが回答よろしくお願いします!
回答: エラーメッセージは正確にコピペしてください。 処理系が`^`でエラーの箇所を示してくれていると思います(実行方法にもよりますが)。 ``` >>> y_train=['ja','en','th'] #学習用の答え File "", line 1 y_train=['ja','en','th'] #学習用の答え ^ SyntaxError: invalid character in identifier ``` ここにカーソルを当てると、全角スペースであることがわかります。半角スペースに置き換えればこのエラーは解消します。