在scikit中加载文件时出错

时间:2015-03-05 21:43:08

标签: scikit-learn

我是scikit-learn的新手,并尝试按照网站上的教程进行操作: http://scikit-learn.org/dev/tutorial/text_analytics/working_with_text_data.html

我下载了数据集,并使用load_files加载它,但我一直收到有关编码的错误。下面是它的加载方式:

twenty_train = load_files("./dataSet/20news-bydate/20news-bydate-train", description= None, categories=categories, load_content = True, encoding='utf-8', decode_error='strict', shuffle=True, random_state=42)

但是当我运行代码时,我收到错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 30046:invalid start byte

任何建议,谢谢。

3 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。要修复此问题,请在运行load_files时将“latin1”指定为编码,如:

twenty_train = load_files("./dataSet/20news-bydate/20news-bydate-train", 
                           description= None, categories=categories, load_content = True, 
                           encoding='latin1', decode_error='strict', shuffle=True, 
                           random_state=42)

答案 1 :(得分:0)

您使用的命令不是您链接的教程中显示的命令。本教程中使用的是

twenty_train = fetch_20newsgroups(subset='train', categories=categories, shuffle=True, random_state=42)

您正在使用的代码似乎是强制从格式为unicode的数据集转换为utf-8,因此您会收到错误。

您是否希望该教程正常工作?o您是否需要帮助将数据加载为utf-8?

答案 2 :(得分:0)

我遇到了同样的问题。似乎数据集的编码是latin1,而不是utf8。