スカンジナビア文字を含むフリーテキストの列に100kの行を含むcsvファイルがあり、True/Falseを予測するためのscikit-learnクラシファイアに合っています別の列に表示されます)。scikit-learnクラシファイアのパラメータを変更するとUnicodeDecodeErrorが発生する
私は出発点としてこの例を使用しています:私は最初に変更http://scikit-learn.org/0.15/auto_examples/grid_search_text_feature_extraction.html
唯一のものはデータであり、訓練+テストは有用な結果で罰金行きます。
ただし、liblinearのようなLinearSVCクラシファイアをテストしたい場合があります。その場合、場合によってはより良い結果が得られる可能性があります。 「LinearSVC」に分類器だけを変更していないか、代わりの例のようにSGDClassifierにこだわるが、私は、入力CSVファイルから上昇しなければならないこのエラーを想定しています
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 312: ordinal not in range(128)
にデフォルトのヒンジ結果からsquared_hingeする損失関数を変更することなく、なぜURLからの最初の例がスムーズに実行され、全く同じ入力データで分類子のプロパティを変更すると、このエラーが発生するのか理解できません。これがなぜ起こっているのでしょうか?
第2に、私はPythonのスタックトレースに精通しておらず、エラーをデバッグする方法や問題のあるバイトまでトレースする方法についての助けに感謝します。スタックトレースは以下の通りです:
Traceback (most recent call last):
File "<ipython-input-33-2a0e420237f0>", line 48, in <module>
grid_search.fit(data_train.kuvaus, data_train.loukkaantuneita)
File "C:\Users\x\AppData\Local\Continuum\Anaconda2\lib\site-packages\sklearn\model_selection\_search.py", line 945, in fit
return self._fit(X, y, groups, ParameterGrid(self.param_grid))
File "C:\Users\x\AppData\Local\Continuum\Anaconda2\lib\site-packages\sklearn\model_selection\_search.py", line 564, in _fit
for parameters in parameter_iterable
File "C:\Users\x\AppData\Local\Continuum\Anaconda2\lib\site-packages\sklearn\externals\joblib\parallel.py", line 768, in __call__
self.retrieve()
File "C:\Users\x\AppData\Local\Continuum\Anaconda2\lib\site-packages\sklearn\externals\joblib\parallel.py", line 696, in retrieve
stack_start=1)
File "C:\Users\x\AppData\Local\Continuum\Anaconda2\lib\site-packages\sklearn\externals\joblib\format_stack.py", line 417, in format_outer_frames
return '\n'.join(format_records(output[stack_end:stack_start:-1]))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 312: ordinal not in range(128)
data_trainがdata_train.loukkaantuneitaとフリーテキストTrue/FalseのとパンダDATAFRAMEあるdata_train.kuvaus列(UTF-8のはず)。
そして、ここでのスタックトレースを投稿してください。可能であれば、あなたのコードといくつかのサンプルデータも投稿してください] –
@VivekKumarスタックトレースを追加しました。コードについては、上記のurlの例と同じですが、すべてがスムーズに実行され、 "clf_loss"(['squared_hinge'])をパラメータで変更すると、UnicodeErrorという結果になります私は2つの実行の間に入力テキストを変更しないので、理解していません。 – rize
ラウンドブラケットまたはスクエアを使用するか、両方を使用しないでください。 '' clf__n_iter ':(' squared_hinge ') 'を使ってください。 –