亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

機器學習 -- 特征二值化

標簽:
機器學習

所涉及到的几种 sklearn 的二值化编码函数:OneHotEncoder(), LabelEncoder(), LabelBinarizer(), 及pandas.get_dummies()

一、构造数据集:

import pandas as pd

from sklearn.preprocessing import OneHotEncoder

from sklearn.preprocessing import LabelEncoder

from sklearn.preprocessing import LabelBinarizer

pd.set_option('display.width',300)

pd.set_option('display.max_columns',300)

testdata = pd.DataFrame({'pet': ['cat', 'dog', 'dog', 'fish'],'age': [4 , 6, 3, 3],'salary':[4, 5, 1, 1]})

二、观察数据:

        这里我们把 pet、age、salary 都看做类别特征,所不同的是 age 和 salary 都是数值型,而 pet 是字符串型。我们的目的很简单: 把他们全都二值化,进行 one-hot 编码。

三、代码实现

        1、对字符串类型特征 pet 做二值化处理:

                方法总共是有两种:

                    第一种:LabelEncoder() + OneHotEncoder()

pet = OneHotEncoder(sparse=False).fit_transform(LabelEncoder().fit_transform(testdata['pet']).reshape(-1,1))

pet = pd.DataFrame(pet,columns=['pet_cat','pet_dog','pet_fish'])

                    第二:直接调用 LabelBinarizer(),用于数字和字符串都是可以的

pet_binarlizer = LabelBinarizer().fit_transform(testdata.pet)

pet = pd.DataFrame(pet_binarlizer,columns=['pet_cat','pet_dog','pet_fish'])

                    输出结果为:

webp

        2、对数字类型特征 age,salary 做二值化处理:

                直接用 OneHotEncoder() 函数

age_and_salary = OneHotEncoder(sparse= False).fit_transform(testdata[['age',"salary"]])

age_and_salary = pd.DataFrame(age_and_salary,columns=['age_3','age_4','age_6','salary_1','salary_4','salary_5'])

                 结果为:

webp

            3、 pandas 的concat() 连接所有数据

print(pd.concat((testdata,pet,age_and_salary),axis=1))

                结果为:

webp

            4、总上,调用 pandas 库 中 get_dummies() 方法

            print(pd.get_dummies(testdata,columns=testdata.columns))

            结果为:

webp



作者:MLGirl
链接:https://www.jianshu.com/p/d95a78e380e4


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
數據庫工程師
手記
粉絲
42
獲贊與收藏
204

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消