首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将名称列与分类后的结果匹配

如何将名称列与分类后的结果匹配
EN

Stack Overflow用户
提问于 2017-05-24 16:21:36
回答 1查看 782关注 0票数 0

这是我的数据的一个例子:

代码语言:javascript
复制
filename,2,3,4,5,6,7,class    
a.txt,0,0,0,0,0,0,0    
b.txt,0,0,0,0,0,1,0    
c.txt,0,0,0,0,1,0,0    
d.txt,1,0,1,0,0,1,1

当我训练我的数据时,我只使用来自2 -> 7的列作为输入,类作为输出。但是,当我在对模型进行训练和保存之后进行测试时,我需要知道哪些文件属于哪个类。我的意思是,如何知道d.txt是第一类,我用熊猫从.csv文件中导入数据,在两个不同的csv文件中使用训练集和测试集。在列车阶段,我使用列2-7作为输入,列类作为目标,这些列是数字的。文件名类只是文本。在测试阶段,我需要知道带有预测类的文件名。但我不知道该怎么做。

谢谢

P/s:我使用MLP,SVM,NB作为分类器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-24 17:42:17

假设您的数据是.csv格式的:

代码语言:javascript
复制
filename,2,3,4,5,6,7,class
a.txt,0,0,0,0,0,0,0
b.txt,0,0,0,0,0,1,0
c.txt,0,0,0,0,1,0,0
d.txt,1,0,1,0,0,1,1

可以使用以下方法将相应的文件名输出到预测的类:

代码语言:javascript
复制
features=[1,0,1,0,0,1] #input
output=clf.predict([features])[0] #predicted class
print(df[df["class"]==output]["filename"]) #corresponding filename

请注意,在您的示例中,您面临的问题是,特性的数量大于示例的数量,因此分类器可能会恶化。

希望你只是提供了你的数据样本。在这种情况下,你很可能是个好人。注意使用什么分类器就行了。

完整代码:

代码语言:javascript
复制
import numpy as np
import pandas as pd
from sklearn import svm

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

X = df.iloc[:,1:7].values
y = df.iloc[:,7:8].values
clf = svm.SVC() #using SVM as classifier
clf.fit(X, y)

features=[1,0,1,0,0,1]
output=clf.predict([features])[0]
print(df[df["class"]==output]["filename"])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44163771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档