亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 後端開發(fā) Python教學(xué) ML 模型的資料預(yù)處理技術(shù)

ML 模型的資料預(yù)處理技術(shù)

Dec 03, 2024 am 10:39 AM

Data Preprocessing Techniques for ML Models

資料預(yù)處理是在將資料集用於機器學(xué)習(xí)或其他任務(wù)之前對資料集執(zhí)行某些操作或步驟的行為。資料預(yù)處理涉及清理、格式化或轉(zhuǎn)換數(shù)據(jù),以提高其品質(zhì)或確保其適合其主要目的(在本例中為訓(xùn)練模型)。乾淨(jìng)且高品質(zhì)的資料集可以增強機器學(xué)習(xí)模型的效能。

低品質(zhì)資料的常見問題包括:

  • 缺失值
  • 格式不一致
  • 重複值
  • 不相關(guān)的功能

在本文中,我將向您展示一些常見的資料預(yù)處理技術(shù),以準備用於訓(xùn)練模型的資料集。您將需要 Python 的基本知識以及如何使用 Python 程式庫和框架。

要求:
為了充分利用本指南,需要滿足以下條件

  • Python 3.12
  • Jupyter Notebook 或您最喜歡的筆記本
  • Numpy
  • 熊貓
  • Scipy
  • Scikit 學(xué)習(xí)
  • 墨爾本住房資料集

您也可以在 Github 上查看這些 Jupyter 筆記本中每個程式碼的輸出。

設(shè)定

如果您還沒有安裝Python,可以從Python網(wǎng)站下載並依照指示進行安裝。

安裝 Python 後,安裝所需的函式庫

pip install numpy scipy pandas scikit-learn

安裝 Jupyter Notebook。

pip install notebook

安裝後,使用以下指令啟動 Jupyter Notebook

jupyter notebook

這將在您的預(yù)設(shè)網(wǎng)頁瀏覽器中啟動 Jupyter Notebook。如果沒有,請檢查終端是否有可以手動貼上到瀏覽器中的連結(jié)。

從「檔案」選單開啟一個新筆記本,匯入所需的庫並執(zhí)行單元

import numpy as np
import pandas as pd
import scipy
import sklearn

前往墨爾本住房資料集網(wǎng)站並下載資料集。使用以下程式碼將資料集載入到筆記本中。您可以複製電腦上的檔案路徑以貼上到 read_csv 函數(shù)中。您也可以將 csv 文件放在與筆記本相同的資料夾中,然後匯入文件,如下所示。

data = pd.read_csv(r"melb_data.csv")

# View the first 5 columns of the dataset
data.head()

將資料分為訓(xùn)練集和驗證集

from sklearn.model_selection import train_test_split

# Set the target
y = data['Price']

# Firstly drop categorical data types
melb_features = data.drop(['Price'], axis=1) #drop the target column

X = melb_features.select_dtypes(exclude=['object'])

# Divide data into training and validation sets
X_train, X_valid, y_train, y_valid = train_test_split(X, y, train_size=0.8, test_size=0.2, random_state=0)

您必須將資料拆分為訓(xùn)練集和驗證集,以防止資料外洩。因此,您對訓(xùn)練特徵集執(zhí)行的任何預(yù)處理技術(shù)都與您對驗證特徵集執(zhí)行的預(yù)處理技術(shù)相同。

現(xiàn)在資料集已準備好進行處理!

資料清理

處理缺失值
資料集中的缺失值就像布料上的洞,應(yīng)該用來縫製裙子。衣服還沒做好就已經(jīng)被它弄壞了。

有 3 種方法來處理資料集中的缺失值。

  1. 刪除包含空白儲存格的行或列
pip install numpy scipy pandas scikit-learn

此方法的問題是您可能會丟失用於訓(xùn)練模型的有價值的資訊。除非刪除的行或列中的大多數(shù)值遺失,否則無需刪除包含空白儲存格的行或列。

  1. 在空白儲存格中估算值 您可以使用該特定欄位中資料的平均值、中位數(shù)或眾數(shù)來估算或填入空白儲存格。 Scikit learn 中的 SimpleImputer 將用於估算空單元格中的值
pip install notebook
  1. 估算並通知 其工作原理是,您在空白儲存格中估算值,但同時建立一個列來指示該儲存格最初為空。
jupyter notebook

重複刪除
重複的單元格意味著重複的數(shù)據(jù),它會影響模型的準確性。對付它們的唯一方法就是丟掉它們。

import numpy as np
import pandas as pd
import scipy
import sklearn

處理異常值
異常值是與資料集中的其他值顯著不同的值。與其他資料值相比,它們可能異常高或異常低。它們可能是由於輸入錯誤而出現(xiàn),也可能確實是異常值。

處理異常值非常重要,否則它們將導(dǎo)致數(shù)據(jù)分析或模型不準確。檢測異常值的一種方法是計算 z 分數(shù)。

它的工作方式是使用 z 分數(shù)來檢查資料點是否距離平均值 3 點或更多。此計算針對每個數(shù)據(jù)點進行。如果資料點的 z 分數(shù)等於 3 或更高值,則該資料點為異常值。

data = pd.read_csv(r"melb_data.csv")

# View the first 5 columns of the dataset
data.head()

資料轉(zhuǎn)換

標準化
您對特徵進行標準化,以便將它們描述為常態(tài)分佈。

常態(tài)分佈(也稱為高斯分佈)是一種統(tǒng)計分佈,其中平均值上方和下方的距離或分佈大致相等。常態(tài)分佈資料的資料點圖形形成鐘形曲線。

標準化資料的要點是您要使用的機器學(xué)習(xí)演算法是否假設(shè)資料呈常態(tài)分佈。一個例子是高斯樸素貝葉斯模型。

from sklearn.model_selection import train_test_split

# Set the target
y = data['Price']

# Firstly drop categorical data types
melb_features = data.drop(['Price'], axis=1) #drop the target column

X = melb_features.select_dtypes(exclude=['object'])

# Divide data into training and validation sets
X_train, X_valid, y_train, y_valid = train_test_split(X, y, train_size=0.8, test_size=0.2, random_state=0)

標準化
標準化將資料集的特徵轉(zhuǎn)換為平均值 0 和標準差 1。此過程對每個特徵進行縮放,使其在資料中具有相似的範圍。這確保了每個功能對模型訓(xùn)練的貢獻平等。

在以下情況下使用標準化:

  • 資料中的特徵具有不同的尺度或單位。
  • 您想要使用的機器學(xué)習(xí)模型是基於距離或梯度最佳化(例如線性迴歸、邏輯迴歸、K 均值聚類)。

您可以使用 sklearn 庫中的 StandardScaler() 來標準化特徵。

pip install numpy scipy pandas scikit-learn

結(jié)論

資料預(yù)處理不只是一個初步階段。這是建立準確的機器學(xué)習(xí)模型過程的一部分。它還可以進行調(diào)整以滿足您正在使用的資料集的需求。

與大多數(shù)活動一樣,熟能生巧。當(dāng)您繼續(xù)預(yù)處理資料時,您的技能和模型都會提高。

我很想聽聽您對此的想法?

以上是ML 模型的資料預(yù)處理技術(shù)的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Python類中的多態(tài)性 Python類中的多態(tài)性 Jul 05, 2025 am 02:58 AM

多態(tài)是Python面向?qū)ο缶幊讨械暮诵母拍睿浮耙环N接口,多種實現(xiàn)”,允許統(tǒng)一處理不同類型的對象。 1.多態(tài)通過方法重寫實現(xiàn),子類可重新定義父類方法,如Animal類的speak()方法在Dog和Cat子類中有不同實現(xiàn)。 2.多態(tài)的實際用途包括簡化代碼結(jié)構(gòu)、增強可擴展性,例如圖形繪製程序中統(tǒng)一調(diào)用draw()方法,或遊戲開發(fā)中處理不同角色的共同行為。 3.Python實現(xiàn)多態(tài)需滿足:父類定義方法,子類重寫該方法,但不要求繼承同一父類,只要對象實現(xiàn)相同方法即可,這稱為“鴨子類型”。 4.注意事項包括保持方

Python函數(shù)參數(shù)和參數(shù) Python函數(shù)參數(shù)和參數(shù) Jul 04, 2025 am 03:26 AM

參數(shù)(parameters)是定義函數(shù)時的佔位符,而傳參(arguments)是調(diào)用時傳入的具體值。 1.位置參數(shù)需按順序傳遞,順序錯誤會導(dǎo)致結(jié)果錯誤;2.關(guān)鍵字參數(shù)通過參數(shù)名指定,可改變順序且提高可讀性;3.默認參數(shù)值在定義時賦值,避免重複代碼,但應(yīng)避免使用可變對像作為默認值;4.args和*kwargs可處理不定數(shù)量的參數(shù),適用於通用接口或裝飾器,但應(yīng)謹慎使用以保持可讀性。

解釋Python發(fā)電機和迭代器。 解釋Python發(fā)電機和迭代器。 Jul 05, 2025 am 02:55 AM

迭代器是實現(xiàn)__iter__()和__next__()方法的對象,生成器是簡化版的迭代器,通過yield關(guān)鍵字自動實現(xiàn)這些方法。 1.迭代器每次調(diào)用next()返回一個元素,無更多元素時拋出StopIteration異常。 2.生成器通過函數(shù)定義,使用yield按需生成數(shù)據(jù),節(jié)省內(nèi)存且支持無限序列。 3.處理已有集合時用迭代器,動態(tài)生成大數(shù)據(jù)或需惰性求值時用生成器,如讀取大文件時逐行加載。注意:列表等可迭代對像不是迭代器,迭代器到盡頭後需重新創(chuàng)建,生成器只能遍歷一次。

python`@classmethod'裝飾師解釋了 python`@classmethod'裝飾師解釋了 Jul 04, 2025 am 03:26 AM

類方法是Python中通過@classmethod裝飾器定義的方法,其第一個參數(shù)為類本身(cls),用於訪問或修改類狀態(tài)。它可通過類或?qū)嵗{(diào)用,影響的是整個類而非特定實例;例如在Person類中,show_count()方法統(tǒng)計創(chuàng)建的對像數(shù)量;定義類方法時需使用@classmethod裝飾器並將首參命名為cls,如change_var(new_value)方法可修改類變量;類方法與實例方法(self參數(shù))、靜態(tài)方法(無自動參數(shù))不同,適用於工廠方法、替代構(gòu)造函數(shù)及管理類變量等場景;常見用途包括從

如何處理Python中的API身份驗證 如何處理Python中的API身份驗證 Jul 13, 2025 am 02:22 AM

處理API認證的關(guān)鍵在於理解並正確使用認證方式。 1.APIKey是最簡單的認證方式,通常放在請求頭或URL參數(shù)中;2.BasicAuth使用用戶名和密碼進行Base64編碼傳輸,適合內(nèi)部系統(tǒng);3.OAuth2需先通過client_id和client_secret獲取Token,再在請求頭中帶上BearerToken;4.為應(yīng)對Token過期,可封裝Token管理類自動刷新Token;總之,根據(jù)文檔選擇合適方式,並安全存儲密鑰信息是關(guān)鍵。

什麼是python魔法方法或dunder方法? 什麼是python魔法方法或dunder方法? Jul 04, 2025 am 03:20 AM

Python的magicmethods(或稱dunder方法)是用於定義對象行為的特殊方法,它們以雙下劃線開頭和結(jié)尾。 1.它們使對象能夠響應(yīng)內(nèi)置操作,如加法、比較、字符串表示等;2.常見用例包括對像初始化與表示(__init__、__repr__、__str__)、算術(shù)運算(__add__、__sub__、__mul__)及比較運算(__eq__、__lt__);3.使用時應(yīng)確保其行為符合預(yù)期,例如__repr__應(yīng)返回可重構(gòu)對象的表達式,算術(shù)方法應(yīng)返回新實例;4.應(yīng)避免過度使用或以令人困惑的方

Python內(nèi)存管理如何工作? Python內(nèi)存管理如何工作? Jul 04, 2025 am 03:26 AM

Pythonmanagesmemoryautomaticallyusingreferencecountingandagarbagecollector.Referencecountingtrackshowmanyvariablesrefertoanobject,andwhenthecountreacheszero,thememoryisfreed.However,itcannothandlecircularreferences,wheretwoobjectsrefertoeachotherbuta

描述Python中的Python垃圾收集。 描述Python中的Python垃圾收集。 Jul 03, 2025 am 02:07 AM

Python的垃圾回收機制通過引用計數(shù)和周期性垃圾收集來自動管理內(nèi)存。其核心方法是引用計數(shù),當(dāng)對象的引用數(shù)為零時立即釋放內(nèi)存;但無法處理循環(huán)引用,因此引入了垃圾收集模塊(gc)來檢測並清理循環(huán)。垃圾回收通常在程序運行中引用計數(shù)減少、分配與釋放差值超過閾值或手動調(diào)用gc.collect()時觸發(fā)。用戶可通過gc.disable()關(guān)閉自動回收、gc.collect()手動執(zhí)行、gc.set_threshold()調(diào)整閾值以實現(xiàn)控制。並非所有對像都參與循環(huán)回收,如不包含引用的對象由引用計數(shù)處理,內(nèi)置

See all articles