OneHot编码

OneHot编码知识点 OneHot编码定性特征转换为定量特征定性特征,表示某个数据点属于某一个类别,或具有某一种类的特性。 定性特征英文用Categorical Variable表示。 常见如:颜色、性别、地址、血型、国籍、省、市、邮政编码,都是定性特征。 维基百科关于Categorical Variable解释 这篇文章对定性特征的定义和数据挖掘中常用处理方法做了很好的讲解Dummy Encoding VS O 阅读详情

1.官网示例

# Author: Tim Head <betatim@gmail.com>
#
# License: BSD 3 clause

import numpy as np
np.random.seed(10)

import matplotlib.pyplot as plt

from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import (RandomTreesEmbedding, RandomForestClassifier,
                              GradientBoostingClassifier)
from sklearn.preprocessing import OneHotEncoder
from sklearn.model_selection import train_test_split
from sklearn.metrics import roc_curve
from sklearn.pipeline import make_pipeline

n_estimator = 10
X, y = make_classification(n_samples=80000)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5)
# It is important to train the ensemble of trees on a different subset
# of the training data than the linear regression model to avoid
# overfitting, in particular if the total number of leaves is
# similar to the number of training samples
X_train, X_train_lr, y_train, y_train_lr = train_test_split(X_train,
                                                            y_train,
                                                            test_size=0.5)

# Unsupervised transformation based on totally random trees
rt = RandomTreesEmbedding(max_depth=3, n_estimators=n_estimator,
    random_state=0)

rt_lm = LogisticRegression()
pipeline = make_pipeline(rt, rt_lm)
pipeline.fit(X_train, y_train)
y_pred_rt = pipeline.predict_proba(X_test)[:, 1]
fpr_rt_lm, tpr_rt_lm, _ = roc_curve(y_test, y_pred_rt)

# Supervised transformation based on random forests
rf = RandomForestClassifier(max_depth=3, n_estimators=n_estimator)
rf_enc = OneHotEncoder()
rf_lm = LogisticRegression()
rf.fit(X_train, y_train)
rf_enc.fit(rf.apply(X_train))
rf_lm.fit(rf_enc.transform(rf.apply(X_train_lr)), y_train_lr)

y_pred_rf_lm = rf_lm.predict_proba(rf_enc.transform(rf.apply(X_test)))[:, 1]
fpr_rf_lm, tpr_rf_lm, _ = roc_curve(y_test, y_pred_rf_lm)

grd = GradientBoostingClassifier(n_estimators=n_estimator)
grd_enc = OneHotEncoder()
grd_lm = LogisticRegression()
grd.fit(X_train, y_train)
grd_enc.fit(grd.apply(X_train)[:, :, 0])
grd_lm.fit(grd_enc.transform(grd.apply(X_train_lr)[:, :, 0]), y_train_lr)

y_pred_grd_lm = grd_lm.predict_proba(
    grd_enc.transform(grd.apply(X_test)[:, :, 0]))[:, 1]
fpr_grd_lm, tpr_grd_lm, _ = roc_curve(y_test, y_pred_grd_lm)


# The gradient boosted model by itself
y_pred_grd = grd.predict_proba(X_test)[:, 1]
fpr_grd, tpr_grd, _ = roc_curve(y_test, y_pred_grd)


# The random forest model by itself
y_pred_rf = rf.predict_proba(X_test)[:, 1]
fpr_rf, tpr_rf, _ = roc_curve(y_test, y_pred_rf)

plt.figure(1)
plt.plot([0, 1], [0, 1], 'k--')
plt.plot(fpr_rt_lm, tpr_rt_lm, label='RT + LR')
plt.plot(fpr_rf, tpr_rf, label='RF')
plt.plot(fpr_rf_lm, tpr_rf_lm, label='RF + LR')
plt.plot(fpr_grd, tpr_grd, label='GBT')
plt.plot(fpr_grd_lm, tpr_grd_lm, label='GBT + LR')
plt.xlabel('False positive rate')
plt.ylabel('True positive rate')
plt.title('ROC curve')
plt.legend(loc='best')
plt.show()

plt.figure(2)
plt.xlim(0, 0.2)
plt.ylim(0.8, 1)
plt.plot([0, 1], [0, 1], 'k--')
plt.plot(fpr_rt_lm, tpr_rt_lm, label='RT + LR')
plt.plot(fpr_rf, tpr_rf, label='RF')
plt.plot(fpr_rf_lm, tpr_rf_lm, label='RF + LR')
plt.plot(fpr_grd, tpr_grd, label='GBT')
plt.plot(fpr_grd_lm, tpr_grd_lm, label='GBT + LR')
plt.xlabel('False positive rate')
plt.ylabel('True positive rate')
plt.title('ROC curve (zoomed in at top left)')
plt.legend(loc='best')
plt.show()
Sklearn 机器学习 分类列编码 OneHot编码 机器学习中处理类别型特征的 OneHot 编码方法。 阅读详情

相关推荐

sklearn onehot编码

sklearn onehot编码解读https://www.cnblogs.com/Jerry-home/p/9824085.html 根据训练数据统计特征每一维度的状态数(n_values_属性) 根据每一维度的状态数计算该特征所需位数,然后将各维度特征进行onehot编码之后拼接起来(feature_indices_则是各维特征在onehot编码中的起始索引) from sklearn import preprocessing feature = [['红','重','长'],['黑','轻','

goodxin_ie的博客 1442

机器学习 回归分析(regression analysis)

____tz_zs学习笔记监督学习(Supervised Learning)监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等),如果预测的变量是连续的,我们称其为回归。回归(Regression):Y变量为连续数值型(continuous numerical variable)如:房价,人数,降雨量分类(Classification): Y变量为类别型(categoric...

tz_zs的博客 1万+

[数据预处理] onehot编码:是什么,为什么,怎么样

[数据预处理] onehot编码:是什么,为什么,怎么样 文章目录[数据预处理] onehot编码:是什么,为什么,怎么样什么是onehot编码为什么要进行onehot编码对labels进行onehot编码的原因对特征进行onehot编码的原因如何进行onehot编码 什么是onehot编码 在机器学习算法中,我们经常会遇到离散化的特征或标签。 one-hot编码,又称“独热编码”。其实就是用N位...

真理无穷,进一步有进一步的欢喜 1801

机器学习(二)线性回归

简单线性回归和多元线性回归,其原理以及Python实现

就随便写写.... 1199

【无人机设计与控制】基于PID控制的四旋翼无人机系统Matlab仿真

本文设计并仿真了基于PID控制的四旋翼无人机系统。首先,建立了四旋翼无人机的数学模型,涵盖了无人机的动力学和控制系统。通过PID控制器对四旋翼的姿态和位置进行控制,以实现其稳定飞行。使用MATLAB/Simulink对该系统进行仿真,验证了PID控制算法在四旋翼控制中的有效性。仿真结果表明,PID控制能够较好地调节四旋翼的飞行姿态,并有效抑制外部干扰,使得无人机能够保持平稳飞行。

2401_84610415的博客 1804

避开集成插件!手把手教你用URL登录实现Finereport与致远OA的无缝跳转

本文详细介绍了如何通过URL登录机制实现Finereport与致远OA的无缝跳转,无需复杂插件配置。文章涵盖用户体系同步、环境配置、URL登录核心设置及安全加固方案,特别适合企业数字化转型中BI工具与OA系统的轻量化集成需求。

weixin_29215815的博客 75

one-hot编码

one-hot编码,又称独热编码、一位有效编码。one hot在特征提取上属于词袋模型(bag of words)优缺点分析 优点: - 一是解决了分类器不好处理离散数据的问题 - 二是在一定程度上也起到了扩充特征的作用(上面样本特征数从3扩展到了9) 缺点: - 它是一个词袋模型,不考虑词与词之间的顺序 - 它假设词与词相互独立(在大多数情况下,词与词是相互影响的) - 它得到的特征是离散稀疏的

躺平yyds的博客 2万+

魔兽世界怀旧服宏命令全解析:从自动换装到智能判定,老玩家才知道的黑科技

本文全面解析魔兽世界怀旧服宏命令的高级应用,从自动换装到智能判定,揭秘老玩家专属的黑科技技巧。深入探讨怀旧服特有的宏命令机制,包括施法队列、装备切换系统和职业专属技巧,帮助玩家在经典旧世版本中提升战斗效率。

weixin_29230865的博客 732

One-hot编码

目录One-hot编码概念One-hot编码的优缺点One-Hot 编码,又称一位有效编码。其方法是使用 N 位状态寄存器来对 N 个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。One-Hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除了整数的索引之外,它都是零值,它被标记为1。 举个栗子:按照 N位状态寄存器 来 对N个状态 进行编码的原理,处理后应该是这样的性别特征:["男","女"] (这里只有两个特征,

Billie使劲学的博客 4781

RK3568驱动XS9922B:AHD/CVBS双模摄像头兼容性实战

在嵌入式视频开发中,摄像头驱动的稳定性与兼容性往往决定项目交付质量。Linux内核的V4L2框架提供了统一的视频采集抽象,从v4l2_subdev子设备到media controller链路,再到用户态视频节点,每一层都需要精确配置。对于RK3568这类边缘计算平台,其MIPI CSI接口和自研ISP配合RKCIF,构成了完整的多路视频接入通路。当需要接入模拟视频解码芯片时,驱动设计就需同时考虑AHD高清协议与CVBS标清信号的模式切换、格式协商以及寄存器配置。XS9922B作为支持双模输入的解码芯片,可与

weixin_34216614的博客 350

基于AI的智能开发环境—Trae在Web开发中的应用实战与性能评估【Trae项目实战】

Trae 是一款与 AI 深度集成的开发工具,提供智能问答、代码自动补全和基于 Agent 的 AI 自动编程能力,极大提升开发效率。它具备完备的 IDE 功能,如代码编写、项目管理和源代码管理等,同时还具备强大的 AI 助手,能够提供智能问答、实时代码建议、代码片段生成等服务。开发者可以通过自然语言与 AI 协作,从 0 到 1 开发项目,AI 会根据需求自动生成代码或创建文件。

一键难忘的博客 3万+

机器学习One-Hot编码

目录 1 什么是One-Hot编码 ? 2 One-Hot编码示例 3 sklearn中的OneHotEncoder 4 One-hot编码在机器学习领域的应用 1 什么是One-Hot编码 ? 在计算机科学中,数据可以用很多不同的方式表示,自然而然地,每一种方式在某些领域都有其优点和缺点。 由于计算机无法处理分类数据,因为这些类别对它们没有意义,如果我们希望计算机能够处理这些信息,就必须准备好这些信息。...

赵广陆 7278

GEE土地分类:土地分类精度评定和分类后影像进行(Kmeans,Gmeans,SNIC (Simple Non-Iterative Clustering)聚类分析和滤波(focal_mode)分析

使用聚类分析和滤波分析来进一步处理土地分类后的影像数据。聚类分析可以帮助您识别影像中的相似区域。您可以使用聚类算法,如K均值聚类或层次聚类,将像素分组到具有相似像素值的群集中。这可以帮助您更好地理解图像中的空间模式和结构,并可能揭示有用的信息。滤波分析可以帮助您平滑图像并去除噪声。常见的滤波器包括中值滤波器和高斯滤波器。这些滤波器可以帮助您消除图像中的随机变化,并使其更易于解释和分析。

此星光明博客 2518

python onehot编码_Python数据预处理中OneHot编码的方法

背景 在进行数据建模时(有时也叫训练模型),我们需要先经过数据清洗、特征选择与特征构造等预处理步骤,然后构造一个模型进行训练,其中One-Hot编码属于数据清洗步骤里面。One-Hot意义 在进行特征处理时,分类数据和顺序数据这种字符型变量,无法直接用于计算,那么就需要进行数值化处理。其中分类数据,比如一个特征包含红(R),绿(G),蓝(B)3个分类,那么怎么给这3个分类进行数值化处理呢...

weixin_39649660的博客 4493

DW3000芯片驱动API介绍

详细介绍DW3000驱动程序API的调用流程说明和中断处理程序流程说明

DT程序员的博客 1524

《从零学会 CST 仿真全流程》专栏简介

本专栏系统讲解CSTPCBStudio与MWSStudio在高速PCB仿真中的应用,涵盖SI/PI仿真全流程。重点介绍CSTPCBStudio用于板级信号完整性分析,CSTMWS用于3D高频电磁仿真,以及电缆、低频、多物理场等配套工具。课程以实战为导向,通过USB3.1、LPDDR4等案例,手把手教学软件操作与工程应用,适合硬件工程师、EMC工程师及电子专业学生学习。内容注重实操,弱化理论,帮助快速掌握仿真核心技能。

一只豌豆象的博客 697

特征工程技巧——OneHot编码

我们以Kaggle比赛里面的一个数据集跟一个公开代码为例去解释我们的OneHot编码。独热编码的主要优点是它将类别之间的关系消除,使得数据更适合用于机器学习算法,因为它避免了算法误认为类别之间存在顺序或距离关系。

Jochen12345的博客 1106

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

onehot逆编码,把onehot编码的矩阵变为一维向量

onehot逆编码,把onehot编码的矩阵变为一维向量 如下

Poisson_SHAN的博客 2077

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

机器学习中的编码:Index编码、OneHot编码和Multiple编码及其对比

文章目录一、 Index编码二、 OneHot编码独热编码优缺点什么情况下(不)用独热编码?什么情况下(不)需要归一化?三、 Multiple编码如何使用Multiple编码呢?四、 编码比较参考文献 一、 Index编码 用来对离散的类型特征进行编码,如,不连续的数值、文本,将离散的特征转换成连续的数值型变量。基于索引的编码可以起到数据归一化的作用,如,id为1和10000,当id作为LR的特征...

WaltSmith的博客 6383

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

onehot 编码与解码

import numpy as np from keras.utils import to_categorical data = np.array([1, 5, 3, 8]) print(data) def encode(data): print('Shape of data (BEFORE encode): %s' % str(data.shape)) encoded = ...

齐天大胜 1443

OneHot编码与OrdinalEncoder编码的区别与应用解析

OneHot编码是一种将每个类别特征转换为二进制向量的方式。每个类别值被表示为一个长度为类别数的向量,其中只有对应类别的位置为1,其他位置为0。红色 -> [1, 0, 0]绿色 -> [0, 1, 0]蓝色 -> [0, 0, 1]OrdinalEncoder编码用于将具有顺序关系的类别变量转换为整数值。它通过将类别值映射到一个数字标识符上来表示类别之间的有序关系。通常,这些数字是从0开始的整数。低 -> 0中 -> 1高 -> 2。

00后诚续缘 1014

多维数组转onehot编码

目的:随机生成的三维数组中,shape如(2,4,10)中,找到10(axis=2)中最大的数的索引,生成2维的索引数组。          将2维索引shape(2,4)中每个位置的值转成(2,4*10)的onehot编码。        如[[1,2,3,4],[2,1,4,3]]中的   4转为0000100000   ;   1转成 0100000000代码如下:import numpy ...

qq_32791307的博客 2019

pandas 中对特征进行硬编码和onehot编码

首先介绍两种编码方式硬编码和onehot编码,在模型训练所需要数据中,特征要么为连续,要么为离散特征,对于那些值为非数字的离散特征,我们要么对他们进行硬编码,要么进行onehot编码,转化为模型可以用于训练的特征 初始化一个DataFrame import pandas as pd df = pd.DataFrame([ ['green', 'M', 20, 'class1'], ...

很吵请安静 1万+

python onehot_Python中的标签编码器和OneHot编码器

python onehotMachine Learning algorithms understand the numbers and not texts. Hence, all the “text” columns must be converted into “numerical” columns to make it understandable for the algorithm. 中号 ...

weixin_26737625的博客 666

独热编码onehot

整数编码转换为独热编码 from numpy import array from numpy import argmax from sklearn.preprocessing import LabelEncoder from sklearn.preprocessing import OneHotEncoder # define example ...

Tuluzhongsheng的博客 340

快速进行OneHot编码——get_dummies()函数

当我们的数据中出现的离散的类别信息时,我们通常将其转化为onehot编码形式,以便于对于我们的模型能有更好的效果。 此处主要介绍的是pandas库中的一个函数——get_dummies(),它能直接将我们需要转换的列直接进行转换,下面来具体介绍: 1.参数说明 pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False) ..

qq_51167531的博客 8680
上一篇: Python 常用库及其作用
下一篇: 数据预处理
RuDing
博客等级 码龄9年 19粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值