欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:pandas 解決get

柚子快報邀請碼778899分享:pandas 解決get

http://yzkb.51969.com/

??今天對表格類型的數(shù)據(jù)集做數(shù)據(jù)處理的時候,用pandas中的get_dummies()方法對離散的字符型特征做獨熱編碼處理,碰到一個問題:編碼出來的結(jié)果不是0、1,全是布爾型的True和False,查了網(wǎng)上很多資料,解決問題后特此記錄。 ??one-hot編碼是對離散的特征數(shù)據(jù)進行特征數(shù)字化的常用方法,又稱為一位有效編碼,主要是采用N位狀態(tài)寄存器來對N個狀態(tài)進行編碼,每個狀態(tài)都由他獨立的寄存器位,并且在任意時候只有一位有效。 ??比如對性別特征:[“男”,“女”]進行One-Hot編碼,按照N位狀態(tài)寄存器來對N個狀態(tài)進行編碼的原理,處理后應該是這樣的(有兩種特征,所以N=2):[10,01],就是把原來的特征轉(zhuǎn)化成了n個二元數(shù)值型的特征,原來的特征有多少種就有多少位,是哪種特征該位置上就是1,其他位置就是0,這樣就可以解決分類器不好處理屬性數(shù)據(jù)(字符型)的問題。 ??get_dummies是pandas庫實現(xiàn)one-hot編碼的方式。官方文檔:pandas.get_dummies

pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False, dtype=None)

舉例:

import pandas as pd

df = pd.DataFrame([

['zhang' , 'A'],

['wang' , 'B']])

df.columns = ['name', 'gender']

pd.get_dummies(df)

??這樣就可以對df進行one-hot編碼,也可以只對表格中的某幾種特征進行one-hot編碼:

pd.get_dummies(df,columns=['name','gender'])

??只要指定columns列表就行了,這里要注意一個問題,就是編碼完之后得到的表里只有你編碼的那幾種特征,你要在原來的數(shù)據(jù)表里把這幾種特征刪了,在把get_dummies的結(jié)果加進去。 ??如果你的版本比較新,你可能會得到這么一個結(jié)果: ??查了資料,原因:

get_dummies函數(shù)在pandas1.6.0版本之前返回numpy.uint8,無符號八位整數(shù),在1.6.0版本開始更改為返回numpy.bool_,numpy布爾值。 該修改由#45848提出,認為返回值是無符號整型變量將導致難以跟蹤的錯誤,于#48022中完成修復。

??但是這樣子給模型訓練有可能就會報錯,如果你需要int型的,你需要自己指定:

pd.get_dummies(df,columns=['name','gender'],dtype=int)

??結(jié)果: ??問題解決。

??更新:有些特征值的取值太多會導致ont-hot編碼后的特征矩陣太大無法計算,書接下文:解決one-hot編碼時特征值太多導致矩陣維度太大的問題

柚子快報邀請碼778899分享:pandas 解決get

http://yzkb.51969.com/

精彩內(nèi)容

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19351697.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄