国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

使用sklearn之LabelEncoder將Label標準化的方法

2020-02-15 22:20:36
字體:
來源:轉載
供稿:網友

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 Integersarray([0, 0, 1, 2], dtype=int64)>>> le.inverse_transform([0, 0, 1, 2]) # Transform Integers Into Categoriesarray([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 Integersarray([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 LabelEncoderimport numpy as npimport pandas as pddf=pd.read_csv('testdata.csv',sep='|',header=None)
 0 1 2 3 4 50 37 52 55 50 38 541 17 32 20 9 6 482 28 10 56 51 45 163 27 49 41 30 53 194 44 29 8 1 46 135 11 26 21 14 7 336 0 39 22 33 35 437 18 15 47 5 25 348 23 2 4 9 3 319 12 57 36 40 42 24
le = LabelEncoder()le.fit(np.unique(df.values))df.apply(le.transform)
 0 1 2 3 4 50 37 52 55 50 38 541 17 32 20 9 6 482 28 10 56 51 45 163 27 49 41 30 53 194 44 29 8 1 46 135 11 26 21 14 7 336 0 39 22 33 35 437 18 15 47 5 25 348 23 2 4 9 3 319 12 57 36 40 42 24

將DataFrame中的每一行ID標簽分別轉換成連續編號:

import pandas as pdfrom sklearn.preprocessing import LabelEncoderfrom sklearn.pipeline import Pipelineclass 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 50 8 8 8 7 5 91 3 5 2 2 1 82 7 1 9 8 7 13 6 7 6 4 9 24 9 4 1 0 8 05 1 3 3 3 2 56 0 6 4 5 4 77 4 2 7 1 3 68 5 0 0 2 0 49 2 9 5 6 6 3
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 界首市| 苍梧县| 锡林浩特市| 蒙山县| 华坪县| 新津县| 塔河县| 古丈县| 泰顺县| 巫山县| 共和县| 淮南市| 古田县| 上林县| 清丰县| 淮阳县| 潞西市| 临潭县| 兴文县| 基隆市| 象州县| 辛集市| 荥经县| 饶阳县| 凤庆县| 阆中市| 攀枝花市| 闸北区| 济阳县| 长阳| 黑龙江省| 肇庆市| 清涧县| 花莲县| 东海县| 涿州市| 万年县| 益阳市| 朝阳区| 罗山县| 罗山县|