機器學習--數據預處理

目錄

一、數據清洗:讓數據純凈如新

1、缺失值處理:

2、異常值處理

3、重復值處理

二、數據變換:重塑數據的 “形狀”

1、歸一化

2、標準化

三、總結與展望


機器學習小白必看:數據預處理實戰筆記

? ? ? 最近投身于機器學習的學習海洋,今天在學習過程中接觸到了數據預處理這個極為關鍵的板塊。一開始,我對它的重要性認識不足,總覺得直接拿數據去訓練模型就好。但深入學習后才驚覺,數據預處理簡直是機器學習模型能否良好運行的基石。原始數據往往存在各種問題,就像一塊未經雕琢的璞玉,充滿瑕疵,而數據預處理就是那精細的雕琢過程,讓數據變得干凈、整齊且易于模型 “理解”。接下來就和大家分享下我今天的學習成果。

一、數據清洗:讓數據純凈如新

? ? ? 在實際的數據集中,缺失值、異常值和重復值就像隱藏在暗處的 “小麻煩”,隨時可能影響模型的性能。

1、缺失值處理:

比如在一個記錄乘客信息的數據集中,部分乘客的年齡數據缺失。我學到了幾種處理方式:

? ? ? (1)刪除法:如果缺失值所在的行或列包含的有效信息較少,刪除這些數據對整體影響不大時,就可以采用刪除法。但要是數據本來就不多,刪除太多含缺失值的樣本,可能會導致關鍵信息丟失,所以得謹慎使用。

? ? ? (2)填充法:這是我覺得很巧妙的方法。對于像年齡這樣的數值型數據,如果有缺失,計算其他非缺失年齡的均值或中位數,然后用這個均值或中位數去填補缺失值。我用 Python 實現了均值填充,代碼如下:

import pandas as pd
data = pd.read_csv('your_data.csv')
age_mean = data['Age'].mean()
data['Age'].fillna(age_mean, inplace=True)

? ? ? 運行這段代碼,就能把數據集中缺失的年齡值用計算出的均值填充上,讓數據集在年齡這一特征上更加完整。

2、異常值處理

? ? ? 異常值就像是數據集中的 “搗蛋鬼”,會干擾模型的正常學習。在分析商品價格數據時,發現有個別價格明顯偏離正常范圍。檢測異常值可以用一些統計方法,比如計算 Z - score,它能衡量數據點偏離均值的程度。代碼實現如下:

from scipy import stats
import pandas as pd
data = pd.read_csv('product_price_data.csv')
z = np.abs(stats.zscore(data['Price']))
threshold = 3
outliers = data[(z > threshold).any(axis = 1)]

? ? ? 這里通過計算價格列的 Z - score,設置閾值為 3,把那些 Z - score 大于 3 的數據點識別為異常值。對于這些異常值,可以選擇刪除,或者用合理的值(比如中位數)進行替換。

3、重復值處理

? ? ? 重復值的出現會增加計算量,還可能干擾模型對數據真實特征的學習。在處理用戶訂單數據時,發現有重復的訂單記錄。用 pandas 庫可以輕松刪除這些重復值:

import pandas as pd
data = pd.read_csv('order_data.csv')
data = data.drop_duplicates()

? ? ? 這樣就能確保數據集中的每一條訂單記錄都是唯一的,讓數據更加簡潔有效。

二、數據變換:重塑數據的 “形狀”

? ? ? 為了讓數據更好地適配機器學習模型,需要對數據進行各種變換操作。

1、歸一化

? ? ? 歸一化能把數據的取值范圍縮放到一個特定區間,像 [0, 1] 或 [-1, 1]。在處理包含不同特征的數據時,比如既有年齡(范圍可能是 0 - 100),又有收入(可能是幾千到幾十萬),如果不進行歸一化,收入這種較大范圍的特征可能會在模型訓練中占據主導地位,掩蓋了年齡等其他特征的影響。用 Min - Max Scaler 實現歸一化的代碼如下:

from sklearn.preprocessing import MinMaxScaler
import pandas as pd
data = pd.read_csv('your_data.csv')
scaler = MinMaxScaler()
data[['Age', 'Income']] = scaler.fit_transform(data[['Age', 'Income']])

? ? ? 這段代碼把數據集中的年齡和收入特征進行了歸一化處理,讓它們在模型訓練中能 “公平競爭”,發揮各自應有的作用。

2、標準化

? ? ? 標準化則是讓數據符合均值為 0,標準差為 1 的正態分布。對于很多機器學習算法來說,這種分布的數據能讓模型更快收斂,提高訓練效率。用 StandardScaler 實現標準化:

from sklearn.preprocessing import StandardScaler
import pandas as pd
data = pd.read_csv('your_data.csv')
scaler = StandardScaler()
data[['Feature1', 'Feature2']] = scaler.fit_transform(data[['Feature1', 'Feature2']])

? ? ? 通過標準化,數據的分布更加規整,模型在學習數據特征時會更加高效。

三、總結與展望

? ? ? 今天學習的這些數據預處理知識,看似簡單,實則是機器學習中不可或缺的重要環節。經過數據清洗和變換,數據變得更加 “優質”,為后續模型的訓練打下了堅實基礎。通過自己的實踐和代碼復現,我對這些方法有了更深刻的理解。在未來的學習中,我還會繼續深入探索數據預處理的其他方法,比如數據集成、特征選擇等,不斷提升自己對數據的處理能力,期待能在機器學習這條道路上越走越遠,用數據挖掘出更多有價值的信息。希望我的這些學習分享能給同樣在機器學習領域摸索的小伙伴們一些啟發,大家一起加油!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/93842.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/93842.shtml
英文地址,請注明出處:http://en.pswp.cn/web/93842.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python 數據可視化:Matplotlib 與 Seaborn 實戰

Python 數據可視化:Matplotlib 與 Seaborn 實戰????在當今數據驅動的時代,數據可視化成為了理解和傳達數據信息的關鍵手段。Python 作為一門強大的編程語言,擁有豐富的數據可視化庫,其中 Matplotlib 和 Seaborn 尤為突出。本文…

計算機網絡技術學習-day4《路由器配置》

目錄 一、路由器基礎認知 1. 路由器的核心功能 2. 路由器與交換機的區別 二、路由器配置基礎操作 1. CLI(命令行界面)模式體系 2. 基礎配置命令示例 (1)基礎信息配置 (2)接口IP地址配置(…

IDEA(十四) IntelliJ Idea 常用快捷鍵(Mac)

目錄準備:Mac鍵盤符號和修飾鍵說明一、編輯類快捷鍵二、Search/Replace(查詢/替換)三、編譯、運行四、debug 調試五、Navigation(導航)六、Refactoring(重構)七、VCS/Local History八、Live Tem…

八月月報丨MaxKB在教育及教學科研領域的應用進展

在2025年5月的“MaxKB用戶應用月度報告”中,我們對MaxKB開源智能體平臺在教育行業的典型應用場景進行了總結。MaxKB在教育行業的應用主要集中在教學輔助、學術研究、校園服務、行政辦公、財務管理、招生等場景。 目前,“DeepSeekMaxKB”的組合正在被包括…

一周學會Matplotlib3 Python 數據可視化-繪制自相關圖

鋒哥原創的Matplotlib3 Python數據可視化視頻教程: 2026版 Matplotlib3 Python 數據可視化 視頻教程(無廢話版) 玩命更新中~_嗶哩嗶哩_bilibili 課程介紹 本課程講解利用python進行數據可視化 科研繪圖-Matplotlib,學習Matplotlib圖形參數基本設置&…

第三十三天(信號量)

非常非常非常.....的重要在共享內存的代碼里面p1.c實質是有問題lt._flag 1;//這里先置1if(c Q)sprintf(lt._buf,"quit");elsesprintf(lt._buf,"大家好,%d 我系渣渣輝. %d 是兄弟就來砍我吧!!! %d",i,i1,i2);while(*((int *)shmptr));//如果別…

Scikit-learn通關秘籍:從鳶尾花分類到房價預測

點擊 “AladdinEdu,同學們用得起的【H卡】算力平臺”,H卡級別算力,按量計費,靈活彈性,頂級配置,學生專屬優惠。 決策樹/SVM/KNN算法對比 模型評估指標解析 讀者收獲:掌握經典機器學習全流程 …

rsync + inotify 數據實時同步

rsync inotify 數據實時同步 一、rsync簡介 rsync是linux系統下的數據鏡像備份工具。使用快速增量備份工具Remote Sync可以遠程同步, 支持本地復制,或者與其他SSH、rsync主機同步 二、rsync三種命令 Rsync的命令格式常用的有以下三種:&#…

Linux基礎介紹-3——第一階段

文章目錄一、進程管理1.1 進程的基本概念1.2 常見管理命令1.3 進程優先級調整:nice 與 renice二、軟件包管理三、防火墻管理四、shell腳本五、xshell鏈接kali一、進程管理 1.1 進程的基本概念 進程是程序的動態執行實例,每個進程都有唯一的 PID&#x…

python 可迭代對象相關知識點

1. 什么是可迭代對象 (Iterable) 在 Python 里,可迭代對象指的是: 👉 能夠一次返回一個元素的對象,可以被 for 循環遍歷。 常見的可迭代對象有: 序列類型:list、tuple、str集合類型:set、dict&a…

ijkplayer Android 編譯

一、下載編譯庫文件1.1 編譯庫文件環境:ubuntu 20.04 版本liangtao:ffmpeg$lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal1.2 項目源碼下載使用 git 下載 ijkplayer&#…

snn前向推理時間計算(處理器實現)

公式 Tinf(1?sparsity)number of synapsesnumber of sub-processorsSIMD ways T_{\text{inf}} \frac{(1-\text{sparsity})\times \text{number of synapses}} {\text{number of sub-processors}\times \text{SIMD ways}} Tinf?number of sub-processorsSIMD ways(1?sparsity…

Linux------《操作系統全景速覽:Windows·macOS·Linux·Unix 對比及 Linux 發行版實戰指南》

(一)常見操作系統(system)電腦:Windows,Macos,Linux,UnixWindows:微軟公司開發的一款桌面操作系統(閉源系統)。版本有dos,win98,win NT,win XP , …

Three.js 初級教程大全

本文檔旨在為初學者提供一個全面的 Three.js 入門指南。我們將從 Three.js 的基本概念開始,逐步介紹如何創建場景、添加物體、設置材質、使用光照和相機,以及如何實現簡單的動畫和交互。通過本教程,你將能夠掌握 Three.js 的核心知識&#xf…

遙感領域解決方案丨高光譜、無人機多光譜、空天地數據識別與計算

一:AI智慧高光譜遙感實戰:手撕99個案例項目、全覆蓋技術鏈與應用場景一站式提升方案在遙感技術飛速發展的今天,高光譜數據以其獨特的光譜分辨率成為環境監測、精準農業、地質勘探等領域的核心數據源。然而,海量的波段數據、復雜的…

(LeetCode 面試經典 150 題) 114. 二叉樹展開為鏈表 (深度優先搜索dfs+鏈表)

題目:114. 二叉樹展開為鏈表 思路:深度優先搜索dfs鏈表,時間復雜度0(n)。 C版本: /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : …

《線程狀態轉換深度解析:從阻塞到就緒的底層原理》

目錄 一、線程的五種基本狀態 二、線程從 RUNNABLE 進入阻塞 / 等待狀態的三種典型場景 1. 調用sleep(long millis):進入 TIMED_WAITING 狀態 2. 調用wait():進入 WAITING/TIMED_WAITING 狀態 3. 等待 I/O 資源或獲取鎖失敗:進入 BLOCKE…

面經整理-猿輔導-內容服務后端-java實習

部門管理系統設計 題目要求 設計部門 MySQL 數據表實現接口:根據中間部門 ID 獲取其下屬葉子部門 ID設計包含子節點列表的 Java 數據對象,并實現批量獲取功能 一、MySQL 部門表設計 表結構 CREATE TABLE department (id BIGINT PRIMARY KEY AUTO_INCREME…

Openharmony之window_manager子系統源碼、需求定制詳解

1. 模塊概述 Window Manager 模塊是 OpenHarmony 操作系統的核心窗口管理系統,負責窗口的創建、銷毀、布局、焦點管理、動畫效果以及與硬件顯示的交互。該模塊采用客戶端-服務端架構,提供完整的窗口生命周期管理和用戶界面交互支持。 1.1架構總覽 Window Manager Client 應…

《CDN加速的安全隱患與解決辦法:如何構建更安全的網絡加速體系》

CDN(內容分發網絡)作為提升網站訪問速度的關鍵技術,被廣泛應用于各類互聯網服務中。然而,在享受加速優勢的同時,CDN也面臨諸多安全隱患。本文將解析常見的CDN安全問題,并提供實用的解決辦法,幫助…