Python 将文本数据转换为svc拟合的单个浮点数

Python 将文本数据转换为svc拟合的单个浮点数,python,pandas,machine-learning,scikit-learn,Python,Pandas,Machine Learning,Scikit Learn,我想在推特上学习ML 我将推文转换为 df['vectorised_words'] = vectorizer.transform(df.tweet) 这给了我一个pandas.core.series.series,我的向量器是CountVectorizer 我的X和Y如下所示: X = df['vectorised_words'] y = df['is_hate_speech'].astype(int) svc_1 = SVC(kernel='linear') X_train, X_test

我想在推特上学习ML

我将推文转换为

df['vectorised_words'] = vectorizer.transform(df.tweet)
这给了我一个
pandas.core.series.series
,我的向量器是
CountVectorizer

我的
X
Y
如下所示:

X = df['vectorised_words']
y = df['is_hate_speech'].astype(int)
svc_1 = SVC(kernel='linear')
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3, random_state=46)
svc_1.fit(X_train, y_train)
其中X是一个文本(例如
“这是一个示例tweet”
),而
Y
是一个布尔值-
True
False

然后,我要运行以下程序:

X = df['vectorised_words']
y = df['is_hate_speech'].astype(int)
svc_1 = SVC(kernel='linear')
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3, random_state=46)
svc_1.fit(X_train, y_train)
但是,拟合函数会产生以下错误:

TypeError: float() argument must be a string or a number, not 'csr_matrix'

如果我将数组求和为浮点,我认为转换逻辑将丢失。我做错了什么?

似乎您正试图将整个稀疏矩阵放入单个数据帧列中,但这不是正确的方法

只需将您的
X
定义为

X = vectorizer.transform(df.tweet.values)
你应该没事的