将预测映射回 ID - Python Scikit Learn DecisionTreeClassifier

2023-12-31

我有一个具有唯一标识符和其他功能的数据集。看起来像这样

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.
有没有一种方法可以将标识符列分配为 ID 或非预测变量,就像我们在 Azure ML Studio 或 SAS 中所做的那样?

我正在使用DecisionTreeClassifier来自 Scikit-Learn。这是我的分类器代码。

from sklearn import tree

clf = tree.DecisionTreeClassifier()
clf = clf.fit(traindata, trainlabels)

如果我只是将 ID 添加到traindata,代码抛出错误:

ValueError: invalid literal for 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)

这将仅拆分 DataFrame 中的值,而不是ID or Response为了X值,并拆分Response为了y values.

但您仍然无法使用DecisionTreeClassifier使用此数据,因为它包含字符串。您将需要转换任何具有分类数据的列,即TypeA and TypeB到数字表示。我认为对于 sklearn 来说最好的方法是使用LabelEncoder http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html。使用它将转换分类字符串标签['M', 'S'] into [1, 2]可以通过以下方式实现DecisionTreeClassifier。如果您需要一个示例,请查看将分类数据传递给 sklearn 决策树 https://stackoverflow.com/questions/38108832/passing-categorical-data-to-sklearn-decision-tree.

Update

根据您的评论,我现在明白您需要映射回ID。在这种情况下,你可以利用 pandas 来发挥你的优势。放ID作为数据的索引,然后进行拆分,这样您将保留ID所有训练和测试数据的价值。假设您的数据已经在 pandas 数据框中。

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将预测映射回 ID - Python Scikit Learn DecisionTreeClassifier 的相关文章

随机推荐

  • ASP.NET MVC 区域内样式表中的相对路径

    我有一个当前结构的项目 My Project Content Controller View Model Areas Area1 View Controller Model Area2 View Controller Model 所有区域视
  • 了解 Prolog 列表

    我试图理解 Prolog 列表 以及如何在递归函数末尾 返回 实例化值 我正在看这个简单的例子 val and remainder X X Xs Xs val and remainder X Y Ys Y R val and remaind
  • 如何仅恢复 SVN 工作副本中的目录?

    我想恢复一个目录及所有子目录在 SVN 工作副本中 因此它们与存储库匹配 但我不想碰任何文件在这些目录中 我的一个 SVN 应用程序在工作副本中的每个目录上递归地设置 SVN 属性 但我想恢复这些更改以阻止它突出显示它们并尝试将更改提交到
  • 有没有办法获取装饰器包装的函数?

    假设我有 someDecorator def func this function does something print 1 现在 对象func是一个实例someDecorator 有什么方法可以访问它所拥有的功能 即类似的东西func
  • 如何将列表转换为JavaRDD

    我们知道spark中有一个方法rdd collect 它可以将RDD转换为列表 List
  • Angular JS 中的条件 ng 模式

    有没有办法在 AngularJS 中实现条件 ng pattern ng pattern myForm exipration dirty d 2 d 4 我像上面那样尝试过 但没有帮助 Markup
  • 如何在某个索引处用不同颜色标记水平进度条,就像Android中的Youtube视频黄色广告标记一样

    在我当前的应用程序中 需要创建自定义视频播放器 特殊要求是在某个给定的时间索引显示或标记不同颜色的视频进度条 就像 Youtube 用黄色标记其视频以指示其视频上的广告一样进度条 为了更清楚 请检查下面的屏幕截图 此时 我已经使用 Vide
  • R 中数据帧的条件和

    我想组合数据帧并根据其中一个数据帧的值有条件地计算它们的总和 对于下面的示例 如果单元格位于df4不是 0 也不是 NA 总和应该是df3 df4否则总和应该是df1 df2 df3 gt df1 1 2 3 A 0 3 2 B 1 1 0
  • 解析推送 - 如何在 Android 上接收推送时自动打开活动,无需用户操作

    我有一个要求 android 当收到推送通知时 我的应用程序应该自动运行其主要活动 而无需用户单击系统托盘中的通知 我有一张显示当前位置的地图 但在推送中 我将收到一个位置 并且我需要在主要活动中使用我的地图在接收推送时将相机移动到当前接收
  • 从 python 中的 stdin 读取时管道文件描述符错误

    重复的this https stackoverflow com questions 466801 python piping on windows why does this not work问题 投票结束 在 Windows 命令行中考虑
  • Django Rest Framework - 未提供身份验证凭据

    我正在使用 Django Rest Framework 开发一个 API 我正在尝试列出或创建一个 订单 对象 但是当我尝试访问控制台时出现以下错误 detail Authentication credentials were not pr
  • 获取最高分配的文件描述符

    是否有一种可移植的方法 POSIX 来获取当前进程的最高分配文件描述符编号 例如 我知道有一种很好的方法可以获取 AIX 上的号码 但我正在寻找一种可移植的方法 我问的原因是我想关闭所有打开的文件描述符 我的程序是一个以 root 身份运行
  • 在 xib 的自定义单元上设置 IBAction?

    我在 xib 中创建了一个自定义单元格 在 iOS 6 中使用 Storyboard 但为单元格创建了单独的 xib 现在我尝试将扬声器按钮连接到 UITableViewController 子类中的 IBAction 我在 viewDid
  • .NET C#:如何在 AJAX 调用期间处理表单身份验证过期

    对于上下文 我在 web config 中设置了表单身份验证超时值 并且正在使用 ASP NET MVC 1 我认为将我的问题表述为 2 个用例可能是最简单的 第一个用例是在没有身份验证的情况下发生的情况超时 第二个是身份验证超时会发生什么
  • 如何在 JSF 中显示我的应用程序的错误?

    在我的 JSF Facelets 应用程序中 这是我的表单的一部分的简化版本
  • 如何使用类似于beanstalkd的cli来监控Redis作为队列引擎?

    背景 We used Laravel 队列 https laravel com docs 5 1 queues在之上豆茎 https github com kr beanstalkd在两个 ec2 实例上 在负载均衡器后面 随着系统的扩展
  • C# 超时后自动释放锁

    有谁知道实现锁定的最佳方法是什么 以便在X秒后它会自动释放 假设您正在寻找在 X 秒内触发的事件 那么我认为当前没有任何核心 Mutex 对象提供您正在寻找的功能类型 您可以通过使用 System Timer 在 X 秒内触发并释放锁定的互
  • Flutter:将文件(图像)裁剪为圆形

    我正在尝试在颤动中裁剪文件 图像文件 这就是我所拥有的 这就是我想要在裁剪后得到的 带有圆形裁剪的 png 重要的是该文件是 png 因此它没有白色边框 有支持这个的包吗 您可以使用盒子装饰 https api flutter dev fl
  • 将非常大的数字从二进制转换为十进制并打印

    我知道如何将二进制转换为十进制 我至少知道两种方法 表和幂 我想将二进制转换为十进制并打印该十进制 而且 我对这个 小数 不感兴趣 我只想打印它 但是 正如我上面所写 我只知道两种将二进制转换为十进制的方法 并且它们都需要加法 因此 我正在
  • 将预测映射回 ID - Python Scikit Learn DecisionTreeClassifier

    我有一个具有唯一标识符和其他功能的数据集 看起来像这样 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