資料預處理系列 (六)標籤特徵二元化

2021-07-14 00:12:05 字數 2590 閱讀 9985

博主簡介:風雪夜歸子(英文名: allen),機器學習演算法攻城獅,喜愛鑽研machine learning的黑科技,對deep learning和artificial intelligence充滿興趣,經常關注kaggle資料探勘競賽平台,對資料、machine learning和artificial intelligence有興趣的各位童鞋可以一起**哦,個人csdn部落格: 

在這個主題中,我們將用另一種方式來演示分類變數。有些時候只有一兩個分類特徵是重要的,這時就要避免多餘的維度,如果有多個分類變數就有可能會出現這些多餘的維度。

處理分類變數還有另一種方法,不需要通過onehotencoder,我們可以用labelbinarizer。這是乙個閾值與分類變數組合的方法。演示其用法之前,讓我們載入iris資料集:

in [1]:

from

sklearn

import

datasetsasd

iris=d

.load_iris

()target

=iris

.target

匯入labelbinarizer()建立乙個物件:

in [2]:

from

sklearn.preprocessing

import

labelbinarizer

label_binarizer

=labelbinarizer

()

現在,將因變數的值轉換成乙個新的特徵向量:

in [3]:

new_target

=label_binarizer

.fit_transform

(target

)

讓我們看看new_targetlabel_binarizer物件的結果:

in [4]:

new_target

.shape

(150, 3)

in [5]:

new_target[:5

]

array([[1, 0, 0],

[1, 0, 0],

[1, 0, 0],

[1, 0, 0],

[1, 0, 0]])

in [6]:

new_target[-

5:]

array([[0, 0, 1],

[0, 0, 1],

[0, 0, 1],

[0, 0, 1],

[0, 0, 1]])

in [9]:

label_binarizer

.classes_

array([0, 1, 2])

iris的因變數基數為3,就是說有三種值。當labelbinarizer將n×

1 n×1

向量轉換成n×

c n×c

矩陣時,

c c就是n

×1n×1

向量的基數。需要注意的是,當label_binarizer處理因變數之後,再轉換基數以外的值都是[0,0,0]

in [15]:

label_binarizer

.transform([4

])

array([[0, 0, 0]])

0和1並不一定都是表示因變數中的陽性和陰性例項。例如,如果我們需要用1000表示陽性值,用-1000表示陰性值,我們可以用label_binarizer處理:

in [22]:

label_binarizer

=labelbinarizer

(neg_label

=-1000

,pos_label

=1000

)label_binarizer

.fit_transform

(target

)[:5

]

array([[ 1000, -1000, -1000],

[ 1000, -1000, -1000],

[ 1000, -1000, -1000],

[ 1000, -1000, -1000],

[ 1000, -1000, -1000]])

陽性和陰性值的唯一限制是,它們必須為整數。

特徵預處理

一 定義 通過特定的統計方法 數學方法 將資料轉換成演算法要求的資料。二 方法 一 數值型資料 標準縮放 1 歸一化 2 標準化 3 缺失值 二 類別型資料 one hot編碼 三 時間型別 時間的切分 三 sklearn特徵處理api sklearn.preprocessing 四 歸一化 一 原...

特徵預處理,特徵選擇

統一量綱 特徵規格不一樣,不能放在一起比較。主要看模型,比如樹模型就不太需要,而計算距離之類的模型,或者神經網路就需要 主要有標準化,區間放縮,歸一化。標準化 標準化,均值為0,方差為1 from sklearn.preprocessing import standardscaler 標準化,返回值...

特徵工程與資料預處理

通常而言,特徵選擇是指選擇獲得相應模型和演算法最好效能的特徵集。資料和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已。從這個概念可以看出,特徵工程其實是乙個如何展示和表現資料的問題,在實際工作中需要把資料以一種 良好 的方式展示出來,使得能夠使用各種各樣的機器學習模型來得到更好的效果。...