12/100 缺失值處理(刪除、填補、插值) 🕳 用最適合的方法補缺值,避免 AI 做錯決策!

AI時代系列(1) 機器學習三部曲: 🔹 第一部:《機器學習 —— AI 智慧的啟航》


12/100 第二週:資料處理與特徵工程


12. 缺失值處理(刪除、填補、插值) 🕳 用最適合的方法補缺值,避免 AI 做錯決策!


🕳

用最適合的方法補缺值,避免 AI 做錯決策! 🚀


缺失值 (Missing Values) 是機器學習中最常見的數據問題之一。如果不處理缺失值,AI 可能會:


學習錯誤模式,導致預測不準確

無法訓練模型,因為某些演算法無法處理 NaN (如 Scikit-learn)

影響特徵工程,導致特徵無效


今天,我們將學習 刪除、填補、插值 三種處理缺失值的方法,讓 AI 學得更準確! 💡

________________________________________


📌 2.1 為什麼數據會有缺失值?


缺失值可能來自於以下幾個原因:


✅ 人工錯誤:使用者未填寫完整表單

✅ 感測器故障:IoT 設備或測量儀器遺漏數據

✅ 資料合併問題:來自不同數據源的資料欄位不匹配

✅ 條件性遺漏:某些數據只適用於特定條件 (如男性不填寫懷孕次數)


📌 範例數據

python


import pandas as pd

import numpy as np


# 創建包含缺失值的數據集

data = {

"姓名": ["Alice", "Bob", "Charlie", "David", "Eve"],

"年齡": [25, np.nan, 30, 35, np.nan],

"收入": [50000, 60000, np.nan, 80000, 70000],

"城市": ["台北", np.nan, "台中", "高雄", "台北"]

}


df = pd.DataFrame(data)

print("原始數據:")

print(df)


輸出:

r


姓名 年齡 收入 城市

0 Alice 25.0 50000 台北

1 Bob NaN 60000 NaN

2 Charlie 30.0 NaN 台中

3 David 35.0 80000 高雄

4 Eve NaN 70000 台北

________________________________________


📌 2.2 缺失值處理方法


處理缺失值的方法主要有 刪除、填補、插值 三種方式,選擇哪種方法取決於數據的性質與應用場景。


🔹 1️⃣ 刪除缺失值 (Dropping Missing Values)


👉 適用於缺失值較少的情況,但如果缺失值過多,可能會導致數據不足。


📌 方法:

✅ 刪除含有 NaN 的整行 (dropna())

✅ 刪除含有 NaN 的整列 (dropna(axis=1))


📌 Python 實作


# 刪除含有缺失值的行

df_dropped_rows = df.dropna()

print("\n刪除含有 NaN 的行:")

print(df_dropped_rows)


# 刪除含有缺失值的列

df_dropped_columns = df.dropna(axis=1)

print("\n刪除含有 NaN 的列:")

print(df_dropped_columns)


📌 優缺點


在進行資料清理時,針對缺失值的處理方法有刪除行與刪除列兩種常見做法。刪除行的方式簡單且快速,適用於缺失值比例較低的情況,但若缺失值過多,可能會導致大量數據被刪除,影響分析效果。而刪除列則適合用於大部分數據缺失的特徵,能有效移除問題欄位,但同時也存在丟失關鍵資訊的風險。因此,在選擇這兩種方法時,需根據數據情況權衡利弊,以免對後續分析造成負面影響。

________________________________________


🔹 2️⃣ 填補缺失值 (Imputation)


👉 適用於缺失值較多,但仍希望保留數據的情況。


📌 方法:

✅ 使用固定數值填補 (fillna())

✅ 使用統計值填補 (均值/中位數/眾數)

✅ 使用其他列數據填補 (例如根據年齡段預測收入)


📌 Python 實作


# 使用固定值填補

df_filled_zero = df.fillna(0)

print("\n使用 0 填補缺失值:")

print(df_filled_zero)


# 使用均值填補

df["年齡"].fillna(df["年齡"].mean(), inplace=True)

df["收入"].fillna(df["收入"].median(), inplace=True) # 使用中位數填補

print("\n使用均值/中位數填補後:")

print(df)


# 使用眾數填補類別變數

df["城市"].fillna(df["城市"].mode()[0], inplace=True)

print("\n使用眾數填補類別變數:")

print(df)

📌 優缺點

方法 優點 缺點

固定值填補 適用於特定變數 (如 0 代表無數據) 可能產生偏差

均值/中位數填補 簡單且不會影響整體趨勢 可能影響變異性

眾數填補 適用於類別變數 (如城市) 當數據不均衡時可能不準確

________________________________________


🔹 3️⃣ 插值法 (Interpolation)


👉 適用於連續數據 (如時間序列) 的缺失值填補。


📌 方法:

✅ 線性插值 (interpolate(method='linear'))

✅ 多項式插值 (interpolate(method='polynomial', order=2))

✅ 時間序列插值 (interpolate(method='time'))


📌 Python 實作


# 創建時間序列數據

time_series_data = {'日期': pd.date_range(start='2024-01-01', periods=10, freq='D'),

'銷售額': [100, np.nan, np.nan, 130, 140, np.nan, 160, 170, np.nan, 200]}


df_ts = pd.DataFrame(time_series_data)

print("\n原始時間序列數據:")

print(df_ts)


# 使用線性插值填補缺失值

df_ts["銷售額"] = df_ts["銷售額"].interpolate(method='linear')

print("\n線性插值後:")

print(df_ts)


📌 優缺點


在處理缺失值時,常見的插值方法包括線性插值、多項式插值與時間序列插值。線性插值適用於趨勢穩定的數據,透過線性關係預測缺失值,但在面對非線性變化時,可能無法準確捕捉數據趨勢。多項式插值則適合用於變化較為複雜的非線性數據,能夠更靈活地擬合資料走勢,但若階數過高,容易出現過度擬合的風險。至於時間序列插值,則特別適用於時間序列數據的缺失值填補,可以根據時間索引進行預測,不過前提是數據必須具備明確且連續的時間標記。綜合而言,選擇插值方法時應依據數據特性與應用場景,平衡準確性與風險。

________________________________________


📌 2.3 如何選擇適合的缺失值處理方法?


在進行資料前處理時,根據數據特性選擇適當的缺失值處理方法非常重要。


當缺失值比例較低(少於 5%)時,直接刪除缺失數據(如使用 dropna())通常是最簡單且有效的做法。


若數據的可用性較為關鍵,則建議採用均值或中位數填補(fillna()),以保留更多資料樣本。對於類別型數據,使用眾數填補(mode())能有效維持分類的一致性。


而在處理連續時間序列數據時,插值法(interpolate())則能根據時間趨勢合理預測缺失值。綜合而言,選擇合適的方法應根據數據類型與應用場景做出判斷,以確保數據的完整性與分析的準確性。

________________________________________


📌 2.4 測驗:你會處理缺失值嗎?


📝 單選題


1️⃣ 如果一個欄位有 50% 以上的數據缺失,應該怎麼處理?

A. 刪除該欄

B. 用 0 填補

C. 用均值填補

D. 讓 AI 自己決定


✅ 答案:A

📌 解析:如果缺失值過多,填補可能會帶來較大誤差,刪除欄位是較好的選擇。

________________________________________

🎉 恭喜!你現在掌握了缺失值處理的關鍵技巧! 🎯


🚀 下一步:學習數據標準化與正規化,提升 AI 模型的穩定性!


留言
avatar-img
艾韓思 AIHANS|AI 應用工程筆記
46會員
78內容數
AIHANS沙龍是一個結合AI技術實戰、產業策略與自我成長的知識平台,主題涵蓋機器學習、生成式AI、創業經驗、財務規劃及哲學思辨。這裡不只提供系統化學習資源與實作案例,更強調理性思維與行動力的結合。無論你是AI初學者、創業者,還是追求人生升維的行者,都能在這裡找到前進的方向與志同道合的夥伴。
2025/05/24
髒數據是 AI 最大敵人!本單元教你用 Pandas 快速搞定缺失值、異常值、格式錯誤與重複資料,循序示範 dropna、fillna、IQR、astype 等技巧,確保資料純淨,模型準確度瞬間飆升。學完立即用乾淨數據武裝你的機器學習專案,讓 AI 更聰明、更可靠!
Thumbnail
2025/05/24
髒數據是 AI 最大敵人!本單元教你用 Pandas 快速搞定缺失值、異常值、格式錯誤與重複資料,循序示範 dropna、fillna、IQR、astype 等技巧,確保資料純淨,模型準確度瞬間飆升。學完立即用乾淨數據武裝你的機器學習專案,讓 AI 更聰明、更可靠!
Thumbnail
2025/05/24
想快速踏入機器學習?Anaconda+Jupyter Notebook 一次搞定!本單元教你建立虛擬環境、安裝 NumPy/Pandas 至 TensorFlow/PyTorch,並附版本檢測程式碼。十分鐘完成環境配置,立即啟動你的 AI 開發之旅!
Thumbnail
2025/05/24
想快速踏入機器學習?Anaconda+Jupyter Notebook 一次搞定!本單元教你建立虛擬環境、安裝 NumPy/Pandas 至 TensorFlow/PyTorch,並附版本檢測程式碼。十分鐘完成環境配置,立即啟動你的 AI 開發之旅!
Thumbnail
2025/05/24
想真正駕馭AI,就得先打好數學根基!本篇濃縮線性代數、機率統計、微積分三大支柱,帶你看懂向量矩陣、貝氏推理到梯度下降的心跳節奏。讀完你將明白模型運算、決策與最佳化如何彼此呼應,迅速破解常見數學痛點,為深度學習升級鋪路!
Thumbnail
2025/05/24
想真正駕馭AI,就得先打好數學根基!本篇濃縮線性代數、機率統計、微積分三大支柱,帶你看懂向量矩陣、貝氏推理到梯度下降的心跳節奏。讀完你將明白模型運算、決策與最佳化如何彼此呼應,迅速破解常見數學痛點,為深度學習升級鋪路!
Thumbnail
看更多
你可能也想看
Thumbnail
反省就是重寫自己的演算法吧? 假設我就是人工智慧,或心智的可以被看作爲人工智慧的編輯器,那我的程式碼是什麼樣的? 從懵懂無知到一無所知,從自以為是到自我消逝,心智只是執行它的內容,我也需要不斷優化。 最好的優化就是簡化。 最能創造財富的演算法就是關於如何除錯與減少任何風險。
Thumbnail
反省就是重寫自己的演算法吧? 假設我就是人工智慧,或心智的可以被看作爲人工智慧的編輯器,那我的程式碼是什麼樣的? 從懵懂無知到一無所知,從自以為是到自我消逝,心智只是執行它的內容,我也需要不斷優化。 最好的優化就是簡化。 最能創造財富的演算法就是關於如何除錯與減少任何風險。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
本文介紹了人工智慧(AI)及機器學習(ML)的基本概念和關係,探討了數據在機器學習中的重要性,以及深度學習和生成式人工智慧的應用。
Thumbnail
本文介紹了人工智慧(AI)及機器學習(ML)的基本概念和關係,探討了數據在機器學習中的重要性,以及深度學習和生成式人工智慧的應用。
Thumbnail
本文要探討AI的任務與實戰場景。AI技術已深入生活各層面,從違約預測到都市交通管理。AI任務主要有三類:數值型資料處理、自然語言處理(NLP)和電腦影像辨識。時間序列資料和強化學習方法(如AlphaGo)也引起廣泛關注。AI演算法和方法因應不同學派和技術發展而多樣化,了解這些基礎有助選擇適合研究方向
Thumbnail
本文要探討AI的任務與實戰場景。AI技術已深入生活各層面,從違約預測到都市交通管理。AI任務主要有三類:數值型資料處理、自然語言處理(NLP)和電腦影像辨識。時間序列資料和強化學習方法(如AlphaGo)也引起廣泛關注。AI演算法和方法因應不同學派和技術發展而多樣化,了解這些基礎有助選擇適合研究方向
Thumbnail
最新的AI趨勢讓人眼花撩亂,不知要如何開始學習?本文介紹了作者對AI的使用和體驗,以及各類AI工具以及推薦的選擇。最後強調了AI是一個很好用的工具,可以幫助人們節省時間並提高效率。鼓勵人們保持好奇心,不停止學習,並提出了對健康生活和開心生活的祝福。
Thumbnail
最新的AI趨勢讓人眼花撩亂,不知要如何開始學習?本文介紹了作者對AI的使用和體驗,以及各類AI工具以及推薦的選擇。最後強調了AI是一個很好用的工具,可以幫助人們節省時間並提高效率。鼓勵人們保持好奇心,不停止學習,並提出了對健康生活和開心生活的祝福。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
在當今快速變化的數位時代,企業面臨著前所未有的數據處理需求。為了應對這些挑戰,企業紛紛建立自己的大型語言模型(LLM),利用大量數據進行訓練,讓模型能夠理解並生成自然語言,從而實現人機協作,優化業務流程並提升客戶體驗。
Thumbnail
在當今快速變化的數位時代,企業面臨著前所未有的數據處理需求。為了應對這些挑戰,企業紛紛建立自己的大型語言模型(LLM),利用大量數據進行訓練,讓模型能夠理解並生成自然語言,從而實現人機協作,優化業務流程並提升客戶體驗。
Thumbnail
數據分析與解讀 隨著數據的爆炸式增長,能夠分析、解讀和應用數據的能力變得至關重要。這包括熟悉數據分析工具和技術,如統計學、數據挖掘、機器學習等。然而,僅靠短時間的數據分析並不足以提供深入見解。 要熟悉數據分析工具和技術,如統計學、數據挖掘和機器學習,可以從以下幾個方面入手: 基礎知識的學習
Thumbnail
數據分析與解讀 隨著數據的爆炸式增長,能夠分析、解讀和應用數據的能力變得至關重要。這包括熟悉數據分析工具和技術,如統計學、數據挖掘、機器學習等。然而,僅靠短時間的數據分析並不足以提供深入見解。 要熟悉數據分析工具和技術,如統計學、數據挖掘和機器學習,可以從以下幾個方面入手: 基礎知識的學習
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文介紹了AI助手在數據收集和訓練過程中的工作原理和不斷進步的過程。關注的內容包括從公開的網絡資源、書籍、文章等渠道收集數據,數據的清洗和結構化處理,知識庫的增量更新以及訓練算法和模型的優化。如果大家對AI助手的發展還有任何其他感興趣的話題或建議,歡迎隨時告訴我們,讓我們共同探索,攜手進步。
Thumbnail
本文介紹了AI助手在數據收集和訓練過程中的工作原理和不斷進步的過程。關注的內容包括從公開的網絡資源、書籍、文章等渠道收集數據,數據的清洗和結構化處理,知識庫的增量更新以及訓練算法和模型的優化。如果大家對AI助手的發展還有任何其他感興趣的話題或建議,歡迎隨時告訴我們,讓我們共同探索,攜手進步。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News