我有一個CSV文件與線100K與包含在其他斯堪的納維亞的字符無一列文本和我接頭scikit學習分類預測真/假(給定在另一列中)給定一段文字。更改參數scikit學習分類結果的UnicodeDecodeError
我使用這個例子作爲一個起點:http://scikit-learn.org/0.15/auto_examples/grid_search_text_feature_extraction.html
起初我唯一改變的是數據,而培訓+測試進行了有用的結果很好。
不過,我想測試liblinear樣LinearSVC分類,因爲這可能會產生在某些情況下更好的結果。改變什麼,但分類爲「LinearSVC」或可選擇地堅持SGDClassifier作爲例子,但改變了損失函數從默認的鉸鏈結果squared_hinge在
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 312: ordinal not in range(128)
我假定這錯誤必須從輸入CSV上升,但無法理解爲什麼來自url的初始示例運行平穩,並且使用完全相同的輸入數據更改分類器屬性會導致此錯誤。任何想法,爲什麼這可能是?
其次,我不熟悉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和自由文本(應該是UTF-8)data_train.kuvaus柱。
然後在這裏發表的堆棧跟蹤。同時發佈你的代碼和一些示例數據如果可能的話] –
@VivekKumar添加堆棧跟蹤。對於代碼,它是相同的如上述的URL例如,當一切順利,並且當我改變「‘clf_loss’:([‘squared_hinge’])」中的參數,這導致到UnicodeError,其中我不不明白,因爲我不會在兩次運行之間以任何方式更改輸入文本。 – rize
使用圓括號或方形,而不是兩者。使用''clf__n_iter':('squared_hinge')'。 –