Python scikit learn:使用文本和数字变量对数据集进行预测

Python scikit learn:使用文本和数字变量对数据集进行预测,python,scikit-learn,Python,Scikit Learn,我有一个项目数据集,我希望使用Python和scikit learn预测结果(成功/失败)。数据集包含多种数据类型的混合:项目标题、项目描述等是文本列。另一方面,项目成本是一个数字字段 我想使用TF-IDF转换文本列,我可以将其用作模型的输入。这是我的密码: X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1) tfidf_transformer = TfidfTransf

我有一个项目数据集,我希望使用Python和scikit learn预测结果(成功/失败)。数据集包含多种数据类型的混合:项目标题、项目描述等是文本列。另一方面,项目成本是一个数字字段

我想使用TF-IDF转换文本列,我可以将其用作模型的输入。这是我的密码:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1)
tfidf_transformer = TfidfTransformer()
X_train['Project Title'] = tfidf_transformer.fit_transform(X_train['Project Title'])
但我得到了一个错误:

TypeError: no supported conversion for types: (dtype('O'),)
你知道为什么会出现这种错误吗

编辑:下面的示例数据

Project Title   Project Essay   Project Short Description   Project Need Statement  Project Cost    Project Type ID Project Subject Category Tree ID    Project Subject Subcategory Tree ID Project Resource Category ID    Project Grade Level Category ID Project Current Status ID
Stand Up to Bullying: Together We Can!  Did you know that 1-7 students in grades K-12 ...   Did you know that 1-7 students in grades K-12 ...   My students need 25 copies of "Bullying in Sch...   361.80  0   0   0   0   0   0

问题在于使用将计数矩阵转换为规范化tf或tf idf表示的
TFIDFTransfer
,而不是将原始文档集合转换为tf-idf特征矩阵的
TFIDFvectorier

from sklearn.feature_extraction.text import TfidfVectorizer
X = pd.DataFrame({'Project Title': ['hello stackoverflow', 'text column', 'scikit learn', 'machine learning projects']})
vect = TfidfVectorizer(ngram_range=(1, 2))
tfidf = vect.fit_transform(X['Project Title'])
X_tfidf = pd.DataFrame(matrix.todense(), columns=vect.get_feature_names())

你能添加数据吗?
X
y
形状是什么?@feliks X和y的形状:(51908,11)和(51908,)@seralouk我添加了示例数据OK。请添加数据或部分数据,以便我们可以使用您提供的代码片段重现错误,正如@seralouk指出的那样。