Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从文本文件构建二维数据集_Python_Scikit Learn_Svm - Fatal编程技术网

Python 从文本文件构建二维数据集

Python 从文本文件构建二维数据集,python,scikit-learn,svm,Python,Scikit Learn,Svm,在scikit学习中,我必须在文本文档集合上实现一个线性SVM分类器。关于特征提取的文档说明了如何仅转换可用的数据集、虹膜等。我需要上传自己的文本文件集合并进行转换,以便估计器可以使用它。为此,我试着用这个 fil = datasets.load_files('/home/ayushi/Dropbox/Bundeli/corpus/wob/sklearn', description=None, categories=None, load_content=True, shuffle=

在scikit学习中,我必须在文本文档集合上实现一个线性SVM分类器。关于特征提取的文档说明了如何仅转换可用的数据集、虹膜等。我需要上传自己的文本文件集合并进行转换,以便估计器可以使用它。为此,我试着用这个

    fil = datasets.load_files('/home/ayushi/Dropbox/Bundeli/corpus/wob/sklearn',    description=None, categories=None, load_content=True, shuffle=True, encoding='utf-8', charset=None, charset_error=None, decode_error='strict', random_state=0)

    vec = DictVectorizer()
    vec.fit_transform(fil).toarray()
现在我得到了这个错误

    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/usr/lib/python2.7/dist-packages/sklearn/feature_extraction/dict_vectorizer.py", line 143, in fit_transform
return self.transform(X)
    File "/usr/lib/python2.7/dist-packages/sklearn/feature_extraction/dict_vectorizer.py", line 231, in transform
    values.append(dtype(v))
    ValueError: could not convert string to float: gaari

但是,我仍然需要将其转换为2D数据集。有人有什么建议吗?

sklearn.datasets.load_files
只将文件加载到内存中,生成字符串,而
DictVectorizer
希望dicts作为输入。您需要一个执行实际特征提取的函数:

data = datasets.load_files('/home/ayushi/Dropbox/Bundeli/corpus/wob/sklearn',
                           encoding='utf-8')
vec = DictVectorizer()
X = vec.fit_transform(extract_features(f) for f in data.data)
其中,
extract\u features
是一个特定于数据集的函数,它接受一个字符串并生成一个dict映射,将特征名称映射到特征值

data = datasets.load_files('/home/ayushi/Dropbox/Bundeli/corpus/wob/sklearn',
                           encoding='utf-8')
vec = DictVectorizer()
X = vec.fit_transform(extract_features(f) for f in data.data)