如何对新实例进行预处理以进行分类,使特征编码与 Scikit-learn 的模型相同?

2023-12-27

我正在使用数据多类分类创建模型,该模型有 6 个特征。我正在使用 LabelEncoder 使用下面的代码预处理数据。

#Encodes the data for each column.
def pre_process_data(self):
    self.encode_column('feedback_rating')
    self.encode_column('location')
    self.encode_column('condition_id')
    self.encode_column('auction_length')
    self.encode_column('model')
    self.encode_column('gb') 

#Gets the column using the column name, transforms the column data and resets
#the column
def encode_column(self, name):
    le = preprocessing.LabelEncoder()
    current_column = np.array(self.X_df[name]).tolist()
    self.X_df[name] = le.fit_transform(current_column)

当我想要预测一个新实例时,我需要转换新实例的数据,以便特征与模型中的特征匹配相同的编码。有没有一种简单的方法可以实现这一目标?

另外,如果我想保留模型并检索它,那么是否有一种简单的方法来保存编码格式,以便使用它来转换检索到的模型上的新实例?


当我想要预测一个新实例时,我需要转换新实例的数据,以便特征与模型中的特征匹配相同的编码。有没有一种简单的方法可以实现这一目标?

如果不完全确定您的分类“管道”如何运作,但您可以使用适合您的LabelEncoder一些新数据的方法 -le将转换新数据,前提是标签是训练集中存在的标签。

from sklearn import preprocessing
le = preprocessing.LabelEncoder()

# training data
train_x = [0,1,2,6,'true','false']
le.fit_transform(train_x)
# array([0, 1, 1, 2, 4, 3])

# transform some new data
new_x = [0,0,0,2,2,2,'false']
le.transform(new_x)
# array([0, 0, 0, 1, 1, 1, 3])

# transform data with a new feature
bad_x = [0,2,6,'new_word']
le.transform(bad_x)
# ValueError: y contains new labels: ['0' 'new_word']

另外,如果我想保留模型并检索它,那么是否有一种简单的方法来保存编码格式,以便使用它来转换检索到的模型上的新实例?

您可以像这样保存模型/模型的一部分:

import cPickle as pickle
from sklearn.externals import joblib
from sklearn import preprocessing

le = preprocessing.LabelEncoder()
train_x = [0,1,2,6,'true','false']
le.fit_transform(train_x)

# Save your encoding
joblib.dump(le, '/path/to/save/model')
# OR
pickle.dump(le, open( '/path/to/model', "wb" ) )

# Load those encodings
le = joblib.load('/path/to/save/model') 
# OR
le = pickle.load( open( '/path/to/model', "rb" ) )

# Then use as normal
new_x = [0,0,0,2,2,2,'false']
le.transform(new_x)
# array([0, 0, 0, 1, 1, 1, 3])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何对新实例进行预处理以进行分类,使特征编码与 Scikit-learn 的模型相同? 的相关文章

  • Python:记录垃圾收集器

    我有一个 python 应用程序 有一些性能问题 我想将垃圾收集器的事件 特别是何时调用 添加到我的日志中 是否可以 thanks http docs python org library gc html gc set debug http
  • Python 中的安全解除引用

    Groovy 有一个很好的安全取消引用运算符 这有助于避免 NullPointerExceptions variable method The method仅当以下情况时才会被调用variable is not null 有没有办法在 Py
  • Python,将迭代函数变成递归函数

    我创建了一个输出 4 3 2 1 0 1 2 3 4 的迭代函数 def bounce2 n s n for i in range n print n n n 1 if n lt 0 for i in range s 1 print n n
  • Pyspark 数据框逐行空列列表

    我有一个 Spark 数据框 我想创建一个新列 其中包含每行中具有 null 的列名称 例如 原始数据框是 col 1 col 2 col 3 62 45 null 62 49 56 45 null null null null null
  • 在Python中创建一个新表

    我正在尝试从数控机床中提取数据 事件每毫秒发生一次 我需要过滤掉一些用管道 分隔的变量分隔符 PuTTy exe 程序生成的日志文件 我尝试阅读熊猫 但列不在同一位置 df pd read table data log sep 日志文件的一
  • Django 的 URL 覆盖率测试为 0%,为什么?

    使用姜戈鼻子 我对 URL 进行了测试 但 URL 覆盖率仍然为 0 为什么 python manage py 测试配置文件 这是我的报道 Name Stmts Miss Cover Missing profiles 0 0 100 pro
  • 在 Flask (WSGI) 中使用全局单例,我是否需要担心竞争条件? [复制]

    这个问题在这里已经有答案了 Flask 的 hello world 演示是 from flask import Flask app Flask name app route def hello return Hello World if n
  • 网页抓取 - 前往第 2 页

    如何访问数据集的第二页 无论我做什么 它都只返回第 1 页 import bs4 from urllib request import urlopen as uReq from bs4 import BeautifulSoup as sou
  • 在Python中删除带有重音符号的字符串中的所有非字母字符

    我正在尝试使用 Python 3 7 从包含重音符号的字符串中删除所有非字母字符 空格除外 我尝试了以下方法 import re text 29 1981 4 2008 clean text re sub W d text print cl
  • Matplotlib 图例不工作

    自从升级 matplotlib 以来 每当尝试创建图例时 我都会收到以下错误 usr lib pymodules python2 7 matplotlib legend py 610 UserWarning Legend does not
  • 求解不等式系统时“多项式错误:仅允许使用单变量多项式”

    我想找到以下两个常数的区间cons1 and cons2我写了下面的代码 from sympy import Poly from sympy import Abs from sympy solvers inequalities import
  • 从 IMDbPy 结果中的片目中获取电影 ID

    我正在尝试创建一个数据集 允许我根据 Python IMDb API 中的演员 ID 和电影 ID 加入演员和电影 现在 我正在尝试从演员的电影作品中提取电影 ID 列表 但无法做到 例如 我知道 Rodney Dangerfield 在
  • 如何在C++中列出Python模块的所有函数名称?

    我有一个 C 程序 我想导入一个 Python 模块并列出该模块中的所有函数名称 我该怎么做 我使用以下代码从模块中获取字典 PyDictObject pDict PyDictObject PyModule GetDict pModule
  • Django 接受 AM/PM 作为表单输入

    我试图弄清楚如何使用 DateTime 字段在 Django 中接受 am pm 作为时间格式 但我遇到了一些麻烦 我尝试在 forms py 文件中这样设置 pickup date time from DateTimeField inpu
  • 大型数据集上的 Sklearn-GMM

    我有一个很大的数据集 我无法将整个数据放入内存中 我想在这个数据集上拟合 GMM 我可以用吗GMM fit sklearn mixture GMM 重复小批量数据 没有理由重复贴合 只需随机采样您认为机器可以在合理时间内计算的尽可能多的数据
  • 如何向 SCons 构建添加预处理和后处理操作?

    我正在尝试在使用 SCons 构建项目时添加预处理和后处理操作 SConstruct 和 SConscript 文件位于项目的顶部 预处理动作 生成代码 通过调用不同的工具 gt 不知道在此预处理之后将生成的确切文件 可以创建用于决定生成哪
  • 为什么 bot.get_channel() 会产生 NoneType?

    我正在制作一个 Discord 机器人来处理公告命令 当使用该命令时 我希望机器人在特定通道中发送一条消息 并向用户发送一条消息以表明该命令已发送 但是 我无法将消息发送到频道 我尝试了这段代码 import discord import
  • 在游戏中实现功能

    我在完成这部分作业时遇到了麻烦 我必须宣布游戏的获胜者 然后输入到函数中 输入所有 if 语句后 我必须创建一个函数def playGame 这必须包括 showRules user getUserChoice computer getCo
  • Python 枚举子集迭代

    我想迭代以下枚举的子集 class Items enum Enum item1 0 item2 1 item3 2 item4 3 item5 4 item6 5 item7 6 item8 7 说我想 for item in Items
  • 在Python 3.2中,我可以使用http.client打开并读取HTTPS网页,但urllib.request无法打开同一页面

    我想打开并阅读https yande re https yande re with urllib request 但我收到 SSL 错误 我可以使用以下方式打开并阅读页面http client用这个代码 import http client

随机推荐

  • graphstudio 中可用的引脚在代码中不存在

    我正在使用网络摄像头的源过滤器 当我在 graphstudio 中使用过滤器时 它有两个输出引脚 然而 在代码中 对 IEnumPins gt next 的调用始终返回 S FALSE 我还寻找了另一个可以创建引脚的接口 但没有找到这样的东
  • PHP S3上传进度

    这种情况已经发生过很多次了 但我仍然有点困惑 很多答案只关注谈论上传进度条 而不是从 S3 上传获取实际的上传进度 我已经阅读了很多问题并找到了很多软件 但我仍然没有更深入地理解 S3 上传的基本问题 有没有一种方法可以上传到 S3 同时了
  • “TypeError:item.getAttachmentsAsync 不是函数”Outlook 加载项 office-js 与 Vue

    我一直在关注此链接中的教程 https learn microsoft com en us javascript api outlook office messageread view outlook js preview getAttac
  • 如何删除jquery添加的样式属性

    我正在使用具有一些自定义要求的 devExpress 表 更新 休息了一天 然后回去并使用 React Styling 正确完成了它 感谢您的建议 在屏幕截图中 我禁用了某些单元格 但是 用户希望除所选行之外的所有单元格看起来均已禁用 使用
  • 跟随 NavigationLink 并返回后 SwiftUI .toolbar 消失

    我已将 toolbar 添加到 NavigationView 的顶层 最终将用于选择列表中的项目 而无需使用滑动手势 向上按钮 向下按钮等 我还有一个 navigationBar 正在进行 用于访问帐户和设置的其他视图 在大多数情况下 它看
  • D3.js:结合缩放/画笔

    我目前在 Mike Bostock 的工作画笔和缩放 https bl ocks org mbostock 34f08d5e11952a80609169b7917d4172例如 尽管我没有在 svg 上覆盖矩形对象 而是将其附加到我的图表上
  • 在文本文件中求和整数的最快方法

    Question 假设您有一个大型 ASCII 文本文件 每行都有一个随机非负整数 每个整数的范围从 0 到 1 000 000 000 文件中有 100 000 000 行 读取文件并计算所有整数之和的最快方法是什么 限制 我们有 10M
  • 如何通过在最近使用的文本框中单击光标按钮来插入文本?

    我有一个带有多个文本框和一组按钮的表单 使用下面的 Javascript 我可以单击一个按钮并将文本插入到指定的框中之一 单击按钮时是否可以将文本插入到最近 活动的文本框中 目前我有这个 但它使用的是文本框的特定 ID 而不是最近使用 活动
  • 是否可以仅使用免费软件在 C# 中将文档转换为 PDF 或编辑 PDF?

    我有一个愚蠢的想法 即创建一个 docx 或 rtf 或 pdf 格式的模板 然后替换该文档中的文本以生成报告 这似乎是比使用付费报告软件更好的方法 嗯 我相信我现在已经尝试了几乎所有的方法 但我很惊讶用 pdf 做任何事都是不可能的 Tr
  • 可通过 Jetpack Compose 中输入的文本 OutlinedTextField 进行调整

    我有一个 OutlinedTextField 里面有 DropdownMenu 我希望在按下 DropdownMenu 列表内的项目后 该项目的值开始位于 OutlinedTextField 内 并根据文本的长度根据宽度进行调整 我怎样才能
  • 如何在.Net Core中启用nginx反向代理与gRPC配合使用?

    我遇到了一个问题 无法让 nginx 与 gRPC 一起正常工作 我正在使用 Net core 3 1 来提供支持 REST 和 gRPC 的 API 我正在使用下面的 docker 镜像 Net Core 3 1 aspnet 3 1 a
  • 连接 Google 表格中的两个范围

    tl dr 如何使两个范围作为一个函数的参数出现 例如 我想查看 E 列 中的每个单元格except E5 MY FUNCTION somehowjoin E1 E4 E6 E 背景我正在 Google Sheets 中编写项目跟踪器 例如
  • 在选择查询中插入子查询

    我有一个 组 表和一个 参与者 表 现在我需要为每个组插入一名参与者 我将如何自动化这个 INSERT INTO Participants Name FirstName GroupID VALUES GENERIC GENERIC Grou
  • Atom Editor Golang - 转到声明不起作用

    我已经完成了atom的全新安装并安装了go plus软件包 我无法使用的一个功能是 转到声明 这就是为什么我仍然停留在崇高的土地上 有谁知道这是否适用于 golang 我的项目似乎不需要 ctags 对于atom来说 最好的方法是什么 我尝
  • 如何删除两个 UICollectionView 列之间的边距

    我有 UICollectionView 我希望单元格之间没有间距 然而 尽管我尽了一切努力 我似乎 无法删除该空间 Code CGFloat collectionView UICollectionView collectionView la
  • java.lang.LinkageError:违反加载器约束

    今天是个好日子 我遇到过这样的链接错误问题 java lang LinkageError loader constraint violation when resolving method javax xml transform Trans
  • node.js + MySQL 和 JSON 结果 - 回调问题和对客户端没有响应

    我想使用 node js 查询 mySQL 数据库并将结果作为 JSON 返回以在移动应用程序中使用 不幸的是 我的请求有点超时 服务器在 2 分钟内没有执行任何操作 直到日志文件显示我的请求console log 声明 此外 回调不会返回
  • 自定义 jQuery 伪选择器接收未定义的参数

    我正在尝试向 jQuery 添加自定义伪选择器 目前使用的是 v1 8 0 基于我发现的一些不同的教程 我本质上是在尝试实现一个不区分大小写的 contains 选择器 我现在的化身看起来像这样 expr icontains functio
  • Flask-Admin 中的批量编辑

    我正在使用 Flask Admin 我希望能够从列表视图中一次更新许多字段 看来我正在寻找的是自定义操作 我能够让它发挥作用 但我怀疑不是以最好的方式 我想知道是否可以做得更多 烧瓶 我现在做什么 例如 如果我正在更新表中的所有行cars具
  • 如何对新实例进行预处理以进行分类,使特征编码与 Scikit-learn 的模型相同?

    我正在使用数据多类分类创建模型 该模型有 6 个特征 我正在使用 LabelEncoder 使用下面的代码预处理数据 Encodes the data for each column def pre process data self se