使用sklearn之LabelEncoder将Label标准化的方法


Posted in Python onJuly 11, 2018

LabelEncoder可以将标签分配一个0—n_classes-1之间的编码

将各种标签分配一个可数的连续编号:

>>> from sklearn import preprocessing
>>> le = preprocessing.LabelEncoder()
>>> le.fit([1, 2, 2, 6])
LabelEncoder()
>>> le.classes_
array([1, 2, 6])
>>> le.transform([1, 1, 2, 6]) # Transform Categories Into Integers
array([0, 0, 1, 2], dtype=int64)
>>> le.inverse_transform([0, 0, 1, 2]) # Transform Integers Into Categories
array([1, 1, 2, 6])
>>> le = preprocessing.LabelEncoder()
>>> le.fit(["paris", "paris", "tokyo", "amsterdam"])
LabelEncoder()
>>> list(le.classes_)
['amsterdam', 'paris', 'tokyo']
>>> le.transform(["tokyo", "tokyo", "paris"]) # Transform Categories Into Integers
array([2, 2, 1], dtype=int64)
>>> list(le.inverse_transform([2, 2, 1])) #Transform Integers Into Categories
['tokyo', 'tokyo', 'paris']

将DataFrame中的所有ID标签转换成连续编号:

from sklearn.preprocessing import LabelEncoder
import numpy as np
import pandas as pd
df=pd.read_csv('testdata.csv',sep='|',header=None)
0 1 2 3 4 5
0 37 52 55 50 38 54
1 17 32 20 9 6 48
2 28 10 56 51 45 16
3 27 49 41 30 53 19
4 44 29 8 1 46 13
5 11 26 21 14 7 33
6 0 39 22 33 35 43
7 18 15 47 5 25 34
8 23 2 4 9 3 31
9 12 57 36 40 42 24
le = LabelEncoder()
le.fit(np.unique(df.values))
df.apply(le.transform)
0 1 2 3 4 5
0 37 52 55 50 38 54
1 17 32 20 9 6 48
2 28 10 56 51 45 16
3 27 49 41 30 53 19
4 44 29 8 1 46 13
5 11 26 21 14 7 33
6 0 39 22 33 35 43
7 18 15 47 5 25 34
8 23 2 4 9 3 31
9 12 57 36 40 42 24

将DataFrame中的每一行ID标签分别转换成连续编号:

import pandas as pd
from sklearn.preprocessing import LabelEncoder
from sklearn.pipeline import Pipeline
class MultiColumnLabelEncoder:
 def __init__(self,columns = None):
 self.columns = columns # array of column names to encode
 def fit(self,X,y=None):
 return self # not relevant here
 def transform(self,X):
 '''
 Transforms columns of X specified in self.columns using
 LabelEncoder(). If no columns specified, transforms all
 columns in X.
 '''
 output = X.copy()
 if self.columns is not None:
  for col in self.columns:
  output[col] = LabelEncoder().fit_transform(output[col])
 else:
  for colname,col in output.iteritems():
  output[colname] = LabelEncoder().fit_transform(col)
 return output
 def fit_transform(self,X,y=None):
 return self.fit(X,y).transform(X)
MultiColumnLabelEncoder(columns = [0, 1, 2, 3, 4, 5]).fit_transform(df)

或者

df.apply(LabelEncoder().fit_transform)
0 1 2 3 4 5
0 8 8 8 7 5 9
1 3 5 2 2 1 8
2 7 1 9 8 7 1
3 6 7 6 4 9 2
4 9 4 1 0 8 0
5 1 3 3 3 2 5
6 0 6 4 5 4 7
7 4 2 7 1 3 6
8 5 0 0 2 0 4
9 2 9 5 6 6 3
# Create some toy data in a Pandas dataframe
fruit_data = pd.DataFrame({
 'fruit': ['apple','orange','pear','orange'],
 'color': ['red','orange','green','green'],
 'weight': [5,6,3,4]
})
color fruit weight
0 red apple 5
1 orange orange 6
2 green pear 3
3 green orange 4
MultiColumnLabelEncoder(columns = ['fruit','color']).fit_transform(fruit_data)

或者

fruit_data[['fruit','color']]=fruit_data[['fruit','color']].apply(LabelEncoder().fit_transform)
color fruit weight
0 2 0 5
1 1 1 6
2 0 2 3
3 0 1 4

以上这篇使用sklearn之LabelEncoder将Label标准化的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
仅用50行代码实现一个Python编写的计算器的教程
Apr 17 Python
windows上安装Anaconda和python的教程详解
Mar 28 Python
Python实现KNN邻近算法
Jan 28 Python
Python实现统计给定列表中指定数字出现次数的方法
Apr 11 Python
python获取中文字符串长度的方法
Nov 14 Python
pytorch permute维度转换方法
Dec 14 Python
Python实现KNN(K-近邻)算法的示例代码
Mar 05 Python
Flask模板引擎之Jinja2语法介绍
Jun 26 Python
Python模拟登录之滑块验证码的破解(实例代码)
Nov 18 Python
tensorflow实现从.ckpt文件中读取任意变量
May 26 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
Jul 09 Python
Python Pandas数据分析之iloc和loc的用法详解
Nov 11 Python
Python实现识别图片内容的方法分析
Jul 11 #Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
Jul 11 #Python
python对离散变量的one-hot编码方法
Jul 11 #Python
Python基于多线程操作数据库相关问题分析
Jul 11 #Python
pandas 按照特定顺序输出的实现代码
Jul 10 #Python
Python OpenCV处理图像之图像直方图和反向投影
Jul 10 #Python
Python中 map()函数的用法详解
Jul 10 #Python
You might like
PHP导出Excel实例讲解
2016/01/24 PHP
全面解读PHP的Yii框架中的日志功能
2016/03/17 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
2017/02/09 PHP
JavaScript 原型与继承说明
2010/06/09 Javascript
JQuery跨Iframe选择实现代码
2010/08/19 Javascript
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
JavaScript插件化开发教程 (四)
2015/01/27 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
AngularJS入门示例之Hello World详解
2017/01/04 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
JS简单封装的图片无缝滚动效果示例【测试可用】
2017/03/22 Javascript
react-native之ART绘图方法详解
2017/08/08 Javascript
使用JS实现图片轮播的实例(前后首尾相接)
2017/09/21 Javascript
Node.js创建Web、TCP服务器
2017/12/05 Javascript
vue项目打包部署到服务器的方法示例
2018/08/27 Javascript
Vue引用Swiper4插件无法重写分页器样式的解决方法
2018/09/27 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
2019/05/06 Javascript
npm全局环境变量配置详解
2020/12/15 Javascript
[01:10:02]IG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python 面向对象 成员的访问约束
2008/12/23 Python
Python读写unicode文件的方法
2015/07/10 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
django将数组传递给前台模板的方法
2019/08/06 Python
Django ORM 查询表中某列字段值的方法
2020/04/30 Python
浅谈优化Django ORM中的性能问题
2020/07/09 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
Python中lru_cache的使用和实现详解
2021/01/25 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
Chain Reaction Cycles俄罗斯:世界上最大的在线自行车商店
2019/08/27 全球购物
应届生服务员求职信
2013/10/31 职场文书
小学敬老月活动方案
2014/02/11 职场文书
结婚周年感言
2014/02/24 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
浅谈Python响应式类库RxPy
2021/06/14 Python