0

Scikit-learnでいくつかの分類を学びたいと思っています。しかし、私はこのエラーの意味を理解できませんでした。sklearnのcsvファイルのデータをfit_transformできません

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 

は、どのように私はこの問題を回避することができますか?私はこのエラーが複数の取締役の下の値や著名人の列があることに起因していると仮定し

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

:私のcsvファイルから一つのレコードは次のようになります。 ご協力いただければ幸いです。 おかげで、

答えて

0

the docstringによると、sklearn.feature_extraction.text.CountVectorizerはします:

Convert a collection of text documents to a matrix of token counts

それでは、なぜ、私はあなたが数値を入力環境、しているだろうか?

は、文字列のみ(監督や俳優を)変換してみてください。

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(',', ' ') 
+0

は、今では はAttributeErrorのエラーがスローされます:「numpy.ndarray」オブジェクトには、属性「下」 を持っていない私は1つの特徴を変換することができますがない以上用収めることができますが。 c.fit_transform(D [ 'ライター']値) しかし、 c.fit_transform(dは[ '俳優'、 '取締役']値) ではAttributeErrorを上げる「numpy.ndarrayを'オブジェクトには属性' lower 'がありません。 – Jhooma

+0

それで、カウントベクトル化器は1列のデータしか期待していません。別々に行うか、変換する新しいdf列を作成するかのいずれかを行う必要があります。私の答えに加えた変更を見てください。 – AlexG

関連する問題