色控传媒

Skip to Content

什麼是机器学习的资料前置处理?

机器学习(ML)的資料前置處理是指原始資料的準備,并轉換為適合訓練 ML 模型的格式。這是ML (或 AI) 的必要步骤,因為它会直接影响模型的效能和準确性。

資料預先處理涉及多項技術,例如清理資料以處理遺失值、移除離群值、調整特徵、編碼類別變數,以及將資料分成訓練和測試組。這些技術是確保資料在 ML 演算法上維持一致和可用格式的關鍵。

本文涵蓋机器学习資料預先處理所需的一切資訊,包括其功能、優點、步驟和範例。?

什麼是资料处理??

资料预先处理是指原始资料转换為对分析和模型训练更合适、更有意义的格式。资料前置处理在改善惭尝模型的品质和效率方面,扮演了重要角色,解决了资料中遗失值、噪音、不一致和异常值等问题。

机器学习的資料前置處理的優點

机器学习的資料前置處理有許多好處,而這些優點與資料前置處理所涉及的步驟相同。我們來看看。?

1. 資料清理

資料清理是机器学习資料前置處理流程的重要組成部分。它涉及識別和更正資料集中的錯誤或不一致,以確保資料具有高品質,并適合分析或模型訓練。?

资料清理通常包括:

处理遗漏值

遺失值是現實世界資料集的常見問題,可能對 ML 模型的效能造成不利影響。要找出並處理遺漏的價值:

  • 使用描述性統計資料或視覺化資料,找出遺漏值的欄/功能。遺失值的常見指標包括 NaN(非數字)或 NULL 值。
  • 判断遗漏值对您的分析或模型的影响。考量各栏的遗失值百分比,以及其对整体资料集的重要性。
  • 如果遺失值的百分比很小,而且這些列或欄並不重要,您可以選擇使用 dropna() 等方法或其他工具中的類似功能來移除。
  • 对於数字特徵,您可以使用平均、中位或模式插补(蹿颈濒濒苍补()方法插补缺失值。对於类别功能,您可使用最常用的类别。

您也可以考慮更進階的插補方法,例如迴歸插補、K 最近的鄰居插補,或使用 ML 模型根據其他功能預測遺失值。

处理异常值

離群值是與資料集中其他觀察資料點明顯不同的資料點,可能會扭曲統計分析或机器学习模型。?

若要偵測並处理异常值:

  • 使用箱形图、直方图或散佈图,以视觉化方式呈现数值特徵的分佈,并视觉化方式找出可能的异常值。
  • 計算摘要統計資料,如平均值、標準差、四分位數和四分位距(IQR)。離群值通常定義為低於 Q1 - 1.5 * IQR 或高於 Q3 + 1.5 * IQR 的資料點。
  • 在某些情况下,移除离群值可能是适当的,尤其是由於资料输入错误或异常情况。使用基於统计閾值的筛选技术来移除异常值。
  • 應用日誌轉換、平方根轉換或 Box-Cox 轉換等轉換,使資料更常分配,并減少異常值的影響。
  • 考慮使用對離群值較不敏感的強大机器学习模型,例如支援向量機器(SVM)、隨機森林或組合式方法。

处理重复资料

重复的记录可能会透过夸大某些模式或偏见,而使分析和模型训练变得模糊。?

若要侦测并处理重复项目:

  • 使用 pandas 中的 duplicated()等功能,根據特定欄或整列來識別重複的列。
  • 如果重複的記錄是多餘的,而且沒有提供其他資訊,您可以使用 pandas 中的 drop_duplicates() 功能或其他工具中的類似方法將其移除。
  • 在某些情况下,由於多次输入资料而可能发生重复,但具有独特的识别码。确保您保留唯一识别码或关键栏,以区分重复记录。

遵循這些步驟並使用適當的技術,您可以有效清理和預先處理机器学习任務的資料,從而提高模型預測的品質和可靠性。

2. 資料標準化

標準化是一種資料預先處理技術,用於擴展和標準化資料集內特徵值。標準化的主要目標是將所有功能值導入類似範圍,而不會扭曲值範圍的差異。這點很重要,因為許多机器学习演算法在輸入功能處於類似規模且分佈相似時,效能會更好或融合得更快。

标準化的优势包括:

  • 在模型训练期间,协助防止大规模的各项功能在规模较小的功能上佔有优势。?
  • 当功能正常化时,梯度下降等演算法会更快融合,进而缩短训练时间。?
  • 将所有值都带入界限范围内,降低异常值的影响。标準化资料可以更轻鬆地解读和比较不同功能。

标準化技术

最小-最大扩展?

  • 公式:齿苍辞谤尘?=齿尘补虫??齿尘颈苍?/齿尘补虫??齿尘颈苍??
  • 範圍:將值轉換為介於 0 到 1 之間的範圍。

?

例子:

Z 分數標準化(標準化):

  • 公式:Xstd =σX/μ
  • 範圍:將值轉換為 0 的平均值和 1 的標準差。

?

例子:

应用标準化指南

最小-最大扩展:最低-最高缩放适用於要求输入功能在特定范围内的演算法,例如神经网路和支援向量机器。确保异常值得到适当处理,因為它们会影响扩展。

Z 分數標準化:這適用於 k 平均群集、線性迴歸和羅吉斯迴歸等演算法。它導致以 0 為中心的分佈,標準差為 1,因此非常適合假設常態分佈資料的演算法。

稀疏资料:對於稀疏的資料集(其中大多數值為零),請考慮使用 MaxAbsScaler 或 RobustScaler 等技術進行標準化。

类别资料:对於类别功能,在正常化之前,请考虑使用单热编码等技术,以确保有意义的扩展。

值得注意的是,标準化技术的選擇取決於您資料的特定特性,以及您計畫使用的机器学习演算法需求。實驗和理解對模型效能的影響是有效應用標準化的關鍵。

3. 功能擴展

功能扩充是一种资料预先处理技术,用於标準化资料组的独立变数或功能范围。功能扩展的目标是将所有功能都达到类似的规模或范围,以避免在模型训练或分析期间,有一个功能比其他功能更佔优势。功能扩充可改善最佳化演算法的融合速度,并防止某些功能对模型造成不当影响。

功能扩展在资料预处理中扮演的角色

扩展功能可确保惭尝演算法平等地处理所有功能,防止对更大规模的功能产生偏见。它还增强了融合,因為许多优化演算法(例如,梯度下降)在功能扩展时融合得更快,从而加快模型训练。它还可以防止由於功能量级的巨大差异而产生的数字不稳定问题。最后,扩展可以更轻鬆地解读功能对模型预测的影响。

功能扩展方法

除了上述最低-最高比例和 Z 分數標準化之外,還有:

惭补虫础产蝉厂肠补濒别谤:這會依最大絕對值來調整每個功能,因此產生的值範圍介於 -1 到 1 之間。它適用於保留零條目很重要的稀疏资料,例如文字分類或推薦系統。

稳健的规模:這使用對離群值強健的統計資料,例如中位數和四分位距 (IQR),來擴展特徵。它適用於包含離群值或偏斜分佈的資料集。

应用功能扩展指南

若要套用功能扩展:

  • 當資料遵循常態分佈,或使用線性迴歸、羅吉斯迴歸或 k 平均值叢集等演算法時,應用標準化(Z 分數標準化)。
  • 当您需要资料位於特定范围内时,例如神经网路或支援向量机器,请套用标準化(最小至最大缩放)。
  • 處理稀疏资料時,請使用 MaxAbsScaler,例如文字資料或高維度稀疏功能。
  • 在處理包含離群值或非常態分佈特徵的資料集時,請使用 RobustScaler。

请记住,在应用特徵扩展之前,类别特徵可能需要编码(例如,单热编码),尤其是在标称(未排序类别)的情况下。

4. 處理类别资料

类别变量代表群组或类别,通常為非数字性质,在模型训练期间带来挑战,包括:

  • 非数字表示:類別變數一般使用字串或標籤表示,大多數机器学习演算法無法直接處理。演算法需要數字輸入以進行訓練和預測。
  • 一般變數 vs. 名義變數:类别变数可以是一般变数(有意义顺序)或标称变数(没有特定顺序)。将顺序变数视為标称变数或反之亦然,可能导致不正确的模型解读或偏误预测。
  • 维度的詛咒:单热编码是處理类别资料的常見技術,可能導致資料集的維度增加,尤其是在大量獨特類別中。這會影響模型效能並增加運算複雜性。

类别变数编码技术

类别变数的编码技术包括:

标籤编码:标籤编码會為類別變數中的每個類別指派唯一的數字標籤。它適用於類別之間有意義順序的順序變數。

以下是使用 Python scikit-learn 的範例:

從 sklearn.preprocessing 匯入 LabelEncode

le = LabelEncoder()

encoded_labels = le.fit_transform(['cat', 'dog', 'rabbit', 'dog'])

单热编码:单热编码會為類別變數中的每個類別建立二進位欄,其中每一欄表示該類別的存在與否。它適用於在類別中沒有特定順序的標稱變數。

以下是使用熊猫的范例:

將 pandas 匯入為 pd

df = pd.DataFrame({'category': ['A', 'B', 'C', 'A']})

one_hot_encoded = pd.get_dummies(df【'category'】, prefix='category')

虚拟编码:虚拟编码與单热编码類似,但會捨棄其中一個二元式資料行,以避免線性模型中的多共存問題。它常用於迴歸模型中,其中一個類別作為參考類別。

以下是使用熊猫的范例:

dummy_encoded = pd.get_dummies(df['category'], prefix='category', drop_first=True)

类别资料的處理準則

為了正確處理类别资料,您應該:

了解变数类型:判断类别变数是一般的还是标称的,以选择适当的编码技术。

避免误判:使用标签编码进行标称变数时要谨慎,因為这可能会在资料中引入非预期的常式。

处理高基数:對於具有大量獨特類別的類別變數,請考慮使用諸如頻率編碼、目標編碼或減維技術等技術,如 PCA。

除了处理缺失值和标準化数值资料之外,这一切都是额外的。?

5. 處理不平衡的資料

處理不平衡資料是机器学习的常見挑戰,尤其是在分類任務中,一個類別(少數類別)的實例數量明顯低於其他類別(主要類別)。不平衡的資料會對模型訓練和評估產生深遠的影響,導致偏向多數類別的模型,對少數類別表現不佳。?

以下是关於不平衡资料与处理技术的一些关键要点:

不平衡资料对模型效能的影响

對不平衡資料進行訓練的模型往往在多數類別中優先考慮準確性,同時忽略少數類別。這可能導致少數族群預測的表現不佳。此外,準確度等指標在不平衡的資料集中可能具有誤導性,因為高準確度可能是因為正確預測多數類別,同時忽略少數類別而產生。精準度、召回、F1-score和 ROC 曲線下面積 (AUC-ROC) 等评估指标對於不平衡資料集而言,比單獨使用準確度更為重要。

处理不平衡资料的技巧

处理不平衡资料的最常见技术是超取样和低取样。超採样涉及增加少数族群的案例数量,以平衡其与多数族群的平衡。低取样涉及减少多数类别中的实例数量,以平衡其与少数类别。您还可以透过结合超採样和低採样,採取混合方式。

还有课程权重,您可以在模型训练期间调整课程权重,以惩罚少数族群的错误,而非多数族群的错误。这仅适用於支援类别权重的演算法,例如罗吉斯迴归或支援向量机器。

处理不平衡资料的準则

若要处理不平衡的资料,您应该:

了解资料分配:分析资料集中的类别分佈,以确定不平衡的严重程度。

选择适当的技术:根據您的資料集大小、不平衡比例和運算资源,選擇超採樣、低採樣或混合技術。

评估指标:使用適當的评估指标,如精準度、回收率、F1-score或 AUC-ROC 曲線,來評估兩個類別的模型效能。

交叉验证:在交叉验证資料集中應用技術,以避免資料洩漏,并取得可靠的模型效能預估。

结论

資料前置處理有助於確保 ML 模型接受高品質、正確格式化的資料訓練,進而直接影響模型的效能、準確度和廣義能力。資料前置處理解決了遺失值、異常值、類別變數和類別不平衡等問題,使模型能夠做出更明智準確的預測,從而在現實世界應用中做出更好的決策。

有了適當的資料前置處理,ML 從業人員可以發揮資料的全部潛力,并為跨領域的各種應用程式建立更準確、更可靠的預測模型。

然而,要真正在現實世界中做到這一點,您首先需要有彈性的資料儲存解决方案,如 色控传媒 幫助您加速 AI 和机器学习,并提前推動您的企業 AI 計劃

10/2025
FlashStack for AI: The Foundation for Enterprise AI Factories
FlashStack?? for AI from 色控传媒??, Cisco, and NVIDIA delivers an integrated, validated foundation for building and scaling Enterprise AI Factories.
解决方案簡介
5 頁

查看重要资讯与活动

影片
观看影片:公司级资料云端的价值。

Charlie Giancarlo 討論管理為何管理資料才是未來趨勢,而非儲存設備。發掘整合式做法如何革新企業級 IT 作業。

立即观看
资源
传统储存装置无法驱动未来。

現代化工作負載需求必須達到 AI 級速度、安全性與規模。您的技術棧準備好了嗎?

进行评估
PURE360 示範
探索、認識、體驗 色控传媒。

存取隨取隨用影片與示範,了解 色控传媒 的強大功效。

观赏示范影片
精神领袖
创新竞赛

储存创新最前线的产业领导者最新深度资讯与观点。

了解更多资讯
您的瀏览器已不受支援!

较旧版的瀏览器通常存在安全风险。為让您使用我们网站时得到最佳体验,请更新為这些最新瀏览器其中一个。