日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

机器学习(4)特征预处理

發(fā)布時間:2023/11/27 生活经验 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习(4)特征预处理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

一、基礎(chǔ)理論

1、定義

2、特征數(shù)據(jù)的無量綱化

3、歸一化、標(biāo)準(zhǔn)化分析

歸一化

標(biāo)準(zhǔn)化? ? ? ?

二、歸一化

1、歸一化基本原理

過程:

?1、讀取待處理數(shù)據(jù)

2、創(chuàng)建歸一化轉(zhuǎn)換器

3、歸一化處理(調(diào)用fit_transform)

代碼

三、標(biāo)準(zhǔn)化

1、標(biāo)準(zhǔn)化基本原理

2、API

過程:

1、讀取待處理數(shù)據(jù)

2、創(chuàng)建標(biāo)準(zhǔn)化轉(zhuǎn)換器

3、標(biāo)準(zhǔn)化處理

代碼

總代碼


一、基礎(chǔ)理論

1、定義

特征預(yù)處理:通過一些轉(zhuǎn)換函數(shù),將特征數(shù)據(jù)轉(zhuǎn)換成更加適合計算的算法模型

2、特征數(shù)據(jù)的無量綱化

歸一化、標(biāo)準(zhǔn)化

3、歸一化、標(biāo)準(zhǔn)化分析

歸一化

????????歸一化要用到最大值、最小值對數(shù)據(jù)處理,那如果最大、最小值出了問題,歸一化結(jié)果很容易受到影響。 (魯棒性(健壯性)較差)

標(biāo)準(zhǔn)化? ? ? ?

????????標(biāo)準(zhǔn)化要用到均值、標(biāo)準(zhǔn)差對數(shù)據(jù)處理,有較強的魯棒性(健壯性)

缺點顯而易見,所以,標(biāo)準(zhǔn)化更常用。(標(biāo)準(zhǔn)化更適合嘈雜的大數(shù)據(jù)場景

二、歸一化

1、歸一化基本原理

對原始數(shù)據(jù)進行變換,把數(shù)據(jù)映射到(0,1)之間。

?(max、min分別為某一特征最大、最小值)(默認值:mx為1,mi為0)

過程:

?1、讀取待處理數(shù)據(jù)

讀取數(shù)據(jù):

# 1、讀取待歸一化的數(shù)據(jù)data = pd.read_csv('dating.txt')print(data)

保留待歸一化的數(shù)據(jù)(忽略掉不需要歸一化的部分):

# 保留需要歸一化的數(shù)據(jù)(前三列)data = data.iloc[:, :3]print(data)

2、創(chuàng)建歸一化轉(zhuǎn)換器

# 2、創(chuàng)建歸一化轉(zhuǎn)換器transfer = MinMaxScaler()

3、歸一化處理(調(diào)用fit_transform)

# 3、歸一化處理(調(diào)用fit_transform)new_data = transfer.fit_transform(data)print(new_data)

歸一化缺陷:由于本身是根據(jù)最大、最小值求出來的,那如果最大、最小值出了問題,歸一化結(jié)果很容易受到影響。 (魯棒性較差)

代碼

# 歸一化處理
def Normalize():# 1、讀取待歸一化的數(shù)據(jù)data = pd.read_csv('dating.txt')# print(data)# 保留需要歸一化的數(shù)據(jù)(前三列)data = data.iloc[:, :3]print(data)# 2、創(chuàng)建歸一化轉(zhuǎn)換器transfer = MinMaxScaler()# 3、歸一化處理(調(diào)用fit_transform)new_data = transfer.fit_transform(data)print(new_data)

三、標(biāo)準(zhǔn)化

1、標(biāo)準(zhǔn)化基本原理

定義:

通過對原始數(shù)據(jù)進行變換,把數(shù)據(jù)變換到均值為0,標(biāo)準(zhǔn)差為1的范圍。

公式:?

(即:result = (x-均值)/標(biāo)準(zhǔn)差

標(biāo)準(zhǔn)化優(yōu)勢:

便于處理異常點。(少量異常點對均值和標(biāo)準(zhǔn)差影響不大)

?

2、API

sklearn.preprocessing.StandardScaler

?

過程:

1、讀取待處理數(shù)據(jù)

和上面一樣?

# 1、讀取待歸一化的數(shù)據(jù)data = pd.read_csv('dating.txt')# print(data)# 保留需要標(biāo)準(zhǔn)化的數(shù)據(jù)(前三列)data = data.iloc[:, :3]print(data)

2、創(chuàng)建標(biāo)準(zhǔn)化轉(zhuǎn)換器

# 2、創(chuàng)建標(biāo)準(zhǔn)化轉(zhuǎn)換器transfer = StandardScaler()

3、標(biāo)準(zhǔn)化處理

# 3、標(biāo)準(zhǔn)化處理(調(diào)用fit_transform)new_data = transfer.fit_transform(data)print(new_data)

代碼

# 標(biāo)準(zhǔn)化處理
def Standardize():# 1、讀取待歸一化的數(shù)據(jù)data = pd.read_csv('dating.txt')# print(data)# 保留需要標(biāo)準(zhǔn)化的數(shù)據(jù)(前三列)data = data.iloc[:, :3]print(data)# 2、創(chuàng)建標(biāo)準(zhǔn)化轉(zhuǎn)換器transfer = StandardScaler()# 3、標(biāo)準(zhǔn)化處理(調(diào)用fit_transform)new_data = transfer.fit_transform(data)print(new_data)

總代碼

# 數(shù)據(jù)預(yù)處理 -- 歸一化和標(biāo)準(zhǔn)化
from sklearn.feature_extraction.text import CountVectorizer
import pandas as pd
from sklearn.preprocessing import MinMaxScaler, StandardScaler# 數(shù)據(jù)集
data = ['我雖然是一只小菜雞', '目前比較菜', '但是在不斷干飯', '努力成為戰(zhàn)斗雞']# 歸一化處理
def Normalize():# 1、讀取待歸一化的數(shù)據(jù)data = pd.read_csv('dating.txt')# print(data)# 保留需要歸一化的數(shù)據(jù)(前三列)data = data.iloc[:, :3]print(data)# 2、創(chuàng)建歸一化轉(zhuǎn)換器transfer = MinMaxScaler()# 3、歸一化處理(調(diào)用fit_transform)new_data = transfer.fit_transform(data)print(new_data)# 標(biāo)準(zhǔn)化處理
def Standardize():# 1、讀取待歸一化的數(shù)據(jù)data = pd.read_csv('dating.txt')# print(data)# 保留需要標(biāo)準(zhǔn)化的數(shù)據(jù)(前三列)data = data.iloc[:, :3]print(data)# 2、創(chuàng)建標(biāo)準(zhǔn)化轉(zhuǎn)換器transfer = StandardScaler()# 3、標(biāo)準(zhǔn)化處理(調(diào)用fit_transform)new_data = transfer.fit_transform(data)print(new_data)if __name__ == '__main__':# 歸一化處理# Normalize()# 標(biāo)準(zhǔn)化處理Standardize()

總結(jié)

以上是生活随笔為你收集整理的机器学习(4)特征预处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。