我有一个具有唯一标识符和其他功能的数据集。看起来是这样的
ID LenA TypeA LenB TypeB Diff Score Response
123-456 51 M 101 L 50 0.2 0
234-567 46 S 49 S 3 0.9 1
345-678 87 M 70 M 17 0.7 0
我把它分为训练和测试数据。我试图将测试数据从训练数据的分类器中分为两类。我希望在训练和测试数据集中使用标识符,以便将预测映射回ID
有没有一种方法可以像在Azure ML Studio或SAS中那样,将标识符列指定为ID或非预测器
我正在使用Scikit Learn的DecisionTreeClassifier
。这是我为分类器编写的代码
from sklearn import tree
clf = tree.DecisionTreeClassifier()
clf = clf.fit(traindata, trainlabels)
如果我只是将ID包括在列车数据中
,则代码会抛出一个错误:
ValueError:float()的文本无效:123-456
由于不知道您是如何进行拆分的,我建议您确保培训数据中不包含ID
列。也许是这样的:
X_train, X_test, y_train, y_test = test_train_split(df.ix[:, ~df.columns.isin(['ID', 'Response'])].values, df.Response)
对于X
值,将仅拆分ID
或Response
中不存在的数据帧中的值,对于y
值,将拆分Response
。
但是您仍然无法将DecisionTreeClassifier
用于此数据,因为它包含字符串。您需要将任何包含分类数据的列,即TypeA
和TypeB
转换为数字表示。在我看来,sklearn实现这一点的最佳方法是使用LabelEncoder
。使用此选项将分类字符串标签['M','S']
转换为[1,2]
,可使用DecisionTreeClassifier
实现。如果您需要一个示例,请看一下将分类数据传递给sklearn决策树。
最新消息
根据您的评论,我现在理解您需要映射回ID
。在这种情况下,您可以利用熊猫为您带来优势。将ID
设置为数据索引,然后进行拆分,这样您将保留所有列车和测试数据的ID
值。假设您的数据已经在一个数据帧中。
df = df.set_index('ID')
X_train, X_test, y_train, y_test = test_train_split(df.ix[:, ~df.columns.isin(['Response'])], df.Response)
print(X_train)
LenA TypeA LenB TypeB Diff Score
ID
345-678 87 M 70 M 17 0.7
234-567 46 S 49 S 3 0.9
本文向大家介绍Docker学习笔记之Docker端口映射,包括了Docker学习笔记之Docker端口映射的使用技巧和注意事项,需要的朋友参考一下 最近在学习docker,今天了解了Docker端口映射,给自己留个小笔记,也分享给大家 为什么要端口映射? 在启动容器时,如果不配置宿主机器与虚拟机的端口映射,外部程序是无法访问虚拟机的,因为没有端口。 端口映射的指令是什么? docker指令:doc
本文向大家介绍hibernate一对多关联映射学习小结,包括了hibernate一对多关联映射学习小结的使用技巧和注意事项,需要的朋友参考一下 一对多关联映射 映射原理 一对多关联映射和多对一关联映射的映射原理是一致的,都是在多的一端加入一个外键,指向一的一端。关联关系都是由多端维护,只是在写映射时发生了变化。 多对一和一对多的区别 多对一和一对多的区别在于维护的关系不同:
本文向大家介绍Python中字典映射类型的学习教程,包括了Python中字典映射类型的学习教程的使用技巧和注意事项,需要的朋友参考一下 字典是python语言中唯一的映射类型,用花括号{}表示,一个字典条目就是一个键值对,方法keys()返回字典的键列表,values()返回字典的值列表,items()返回字典的键值对列表。字典中的值没有任何限制,它们可以是任意python对象,但字典中的键是有类
我对机器学习很陌生。对不起,如果我的英语有任何错误。 我使用weka J48分类来预测是真是假。我有将近999K的训练套件,我用来训练模型。我使用了3倍的交叉验证方法来训练模型,使我的准确率达到了约84%。 现在在存储模型之后。我试着在50k数据集上测试它。结果非常糟糕,其中50%是不匹配的。我有11个属性,包括名词和数字字段。 我不知道为什么会这样。 我有两个问题。 我怎样训练才能在测试集中表现
我们有一些ML模型在Azure ML Studio平台上运行(初始拖动) 好消息/坏消息是我们要训练的数据非常小(数据库中有几百条记录)。这是非常不完美的数据,做出了非常不完美的回归预测,所以误差是可以预料的。那很好。对于这个问题,这很好。因为问题是,当我测试这些模型时,预测太完美了。我不明白我做错了什么,但我显然做错了什么。 (在我看来)明显值得怀疑的事情是,要么我在测试数据上进行训练,要么通过
我试图使用MapStruct在dto和实体对象之间映射convert,但是生成的映射器实现只返回空的映射对象。 BeermapperImpl 任何人都可以提供我的代码可能出错的地方?谢谢!
我想询问一个人,并得到以下回应: 但在需要时,我还想包含字段,并获得如下内容: 但是,我得到的只是手机ID,就像这样: 这是两个有问题的领域:
在你的代码合并,压缩或编译后,保持客户端代码可读性和可调试性。使用Source Maps(源码映射)将源代码映射到已编译的代码。 TL;DR 使用Source Maps(源码映射)将压缩代码映射到源代码。然后,您可以在其原始源代码中读取和调试编译的代码。 仅使用能够生成Source Maps(源码映射)的预处理器。 验证您的web 服务器是否可以为Source Maps(源码映射)提供服务。 开始