0

我正在尝试在 Scikit-learn 中学习一些分类。但是,我无法弄清楚这个错误意味着什么。

import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer

data_frame = pd.read_csv('data.csv', header=0) 
data_in_numpy = data_frame.values 

c = CountVectorizer()
c.fit_transform(data_in_numpy.data)

这会引发错误:

NotImplementedError: multi-dimensional sub-views are not implemented

我该如何解决这个问题?我的 csv 文件中的一条记录如下所示:

Time   Directors    Actors   Rating   Label
123    Abc, Def     A, B,c    7.2      1

我想这个错误是由于 Director 或 Actors 列下有多个值。任何帮助,将不胜感激。谢谢,

4

1 回答 1

0

根据docstring, sklearn.feature_extraction.text.CountVectorizer 将:

将文本文档集合转换为令牌计数矩阵

那么,我想知道,你为什么要输入数值?

尝试仅转换字符串(导演和演员):

data_in_numpy['X'] = data_frame[['Directors', 'Actors']].apply(lambda x: ' '.join(x), axis=1)
data_in_numpy = data_frame['X'].values

首先,您可能希望通过删除逗号来清理数据。

data_frame['Directors'] = data_frame['Directors'].str.replace(',', ' ')
data_frame['Actors'] = data_frame['Actors'].str.replace(',', ' ')
于 2016-12-09T19:28:16.363 回答