python - Python 中带有文本数据的 MultiOutputClassifier

标签 python scikit-learn

我想使用 scikit learn lib 在 Python 中制作 MultiOutputClassifier。我想获得模型的特征和准确性。 我的数据库中的所有数据都是分类的(字符串值)。 我不知道为什么,但我总是收到此错误:

ValueError: could not convert string to float: '<=50K'

我的错误在这一行: model = cls.fit(features_train, result_train)

这是代码:

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn import tree
from sklearn.multioutput import MultiOutputClassifier    

df = pd.read_csv('income_education.csv')

#creating features and results for my model
features = df.iloc[:,-1]
results = df.iloc[:,:-1]    

#spliting my data into train and test
features_train, features_test, result_train, result_test = train_test_split(features, results, test_size = 0.3, random_state = 42)

classifier = MultiOutputClassifier(tree.DecisionTreeClassifier())

#model fitting
cls = classifier
model = cls.fit(features_train, result_train)

pred = model.predict([cv.transform(['more'])])
print(pred)

# How to check accuracy of this classifier

最佳答案

代码中的第一个问题是您需要对分类列进行编码,并且 onehotencoding 也是必要的。第二个问题是您需要替换两个变量,即特征和结果

关于python - Python 中带有文本数据的 MultiOutputClassifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57150453/

相关文章:

scikit-learn - 如何使用 cross_validation_scores 使用的分类器

python - Scikit 学习交叉验证拆分

python - 缩放并保存图像(AttributeError : 'NoneType' object has no attribute 'shape' )

python - 更新表中数据的正确方法?

python - 为什么 sys.getsizeof 对于非常大的列表返回相同的输出

python - 是否可以使用 Google BERT 来计算两个文本文档之间的相似度?

python - 使用 sklearn.cluster Kmeans 时出现内存错误

python - 将一个列表中的每个项目添加到另一个列表中的每个项目到第三个列表

python - 当包含有意义的空格时,如何编写与 re.VERBOSE 一起使用的模式?

python - Scikit-学习,KMeans : How to use max_iter