首頁  >  文章  >  後端開發  >  學習使用 Python 從資料集中分割訓練和測試數據

學習使用 Python 從資料集中分割訓練和測試數據

DDD
DDD原創
2024-10-30 10:57:02811瀏覽

Aprenda a Dividir em Treinamento e Teste os Dados de um Dataset Utilizando Python

概括

本文教您如何將數據集劃分為訓練數據和測試數據,並將這種劃分保存在 .pkl 文件中,這對於以有組織的方式訓練和評估機器學習模型至關重要。該過程使用 sklearn 和 pickle 庫,讓您在未來的專案中重複使用處理後的資料。本文是資料預處理系列教學的下一步。

主要涵蓋主題:

  • 在 Google Colab 上準備筆記本
  • 將資料集分成訓練資料和測試資料
  • 除法的Python程式碼詳細解釋
  • 使用 pickle 將分割儲存到 .pkl 文件
  • 保存處理後的資料以供將來使用的優點

重要:要閱讀本文,請先按照建議的順序閱讀以下文章。每篇文章都為您提供理解下一篇文章所需的基礎,確保您了解到目前為止的整個工作流程。

第 1 條: 應用機器學習:分類模型入門指南

第 2 條: 探索機器學習中的分類:變數類型

第 3 條: 探索 Google Colab:您寫機器學習模型的盟友

第 4 條:在 Google Colab 上使用 Python 探索資料:使用成人.csv 資料集的實用指南

第 5 條: 使用 LabelEncoder 和 OneHotEncoder 揭露預測器、類別分割和分類屬性處理

第 6 條: 資料擴充:高效率模型的基礎

介紹

在本文中,您將學習如何將資料集分割為訓練和測試,以及如何將分割保存在 .pkl 檔案中。此過程對於確保用於訓練模型的數據和用於評估其性能的數據之間的清晰分離至關重要。

在 Google Colab 中啟動此流程

首先,訪問此筆記本連結並選擇檔案 > 將副本儲存到雲端硬碟。請記住,每個新貼文都需要再次載入資料集(adult.csv)(更多資訊請參閱上面的第4 條),因為每個教學都會建立一個新筆記本,只加入本文中介紹的必要程式碼,但該筆記本帶有到目前為止生成的所有程式碼。筆記本的副本將保存在 Google Drive 的 Colab Notebooks 資料夾中,從而保持流程的有序性和連續性。

為什麼將資料集分為訓練和測試?

劃分資料集是任何機器學習專案的基本步驟,因為它允許模型從部分資料中「學習」(訓練),然後根據以前從未見過的新資料進行評估(測試)。這種做法對於衡量模型的泛化能力至關重要。為了方便監控,我們將使用以下變數:

  • X_adult_treinamento:訓練預測變數
  • X_adult_teste:測試預測變數
  • y_adult_treinamento:訓練目標變數
  • y_adult_teste:測試目標變數

用於分割資料集的Python程式碼

以下是執行訓練資料和測試資料之間的分割的 Python 程式碼:

from sklearn.model_selection import train_test_split

X_adult_treinamento, X_adult_teste, y_adult_treinamento, y_adult_teste = train_test_split(X_adult, y_adult, test_size=0.2, random_state=0)

# Dados para o treinamento
X_adult_treinamento.shape, y_adult_treinamento.shape

# Dados para o teste
X_adult_teste.shape, y_adult_teste.shape

下圖顯示了前面的程式碼及其執行後的輸出。

Aprenda a Dividir em Treinamento e Teste os Dados de um Dataset Utilizando Python

代碼解釋:

train_test_split: sklearn 函式庫中用來分割資料集的函式。
test_size=0.2:表示保留20%的資料用於測試,剩餘80%用於訓練。
random_state=0: 確保分割始終相同,為每次運行產生一致的結果。
shape: 檢查分割後資料的形狀,以確認分割是否正確。

將分割儲存到 .pkl 文件

為了讓工作更輕鬆並確保不同運行之間的一致性,我們將訓練和測試變數保存在 .pkl 檔案中。這使得可以在必要時重複使用數據,而無需再次進行劃分。

使用pickle保存變數的程式碼:

import pickle
with open('adult.pkl', mode='wb') as fl:
  pickle.dump([X_adult_treinamento, y_adult_treinamento, X_adult_teste, y_adult_teste], fl)

要查看筆記本上的adult.pkl文件,只需點擊左側的資料夾圖標,如下圖所示。

Aprenda a Dividir em Treinamento e Teste os Dados de um Dataset Utilizando Python

代碼解釋:

pickle:用於序列化物件的 Python 函式庫,可讓您在檔案中保存複雜變數。
dump: 將變數保存在名為 Adult.pkl 的檔案中。將來會讀取該檔案來載入分為訓練和測試的資料集,優化工作流程。

結論

在本文中,您學習如何將資料集拆分為訓練資料和測試資料並將其保存在 .pkl 檔案中。此過程是機器學習專案的基礎,可確保組織有序且有效率的結構。在下一篇文章中,我們將介紹模型的創建,從樸素貝葉斯演算法開始,並使用adult.pkl檔案繼續開發。

我推薦的書

1.資料科學家實用統計
2. Python計算簡介
3. 2041:未來幾十年人工智慧將如何改變你的生活
4. Python強化課程
5.理解算法。為程式設計師和其他好奇的人提供的圖解指南
6. 人工智慧-李開復
7. 人工智慧簡介 - 非技術方法 - Tom Taulli

全新 Kindle

我對今年推出的新款 Kindle 進行了詳細分析,強調了它們的主要創新和對數位閱讀器的好處。請透過以下連結查看全文:數位閱讀的迷人世界:擁有 Kindle 的優勢

亞馬遜 Prime

加入 Amazon Prime 可享受一系列優勢,包括無限制地觀看數千部電影、連續劇和音樂,以及數百萬種產品的免費送貨和快速交付。會員還可享有Prime Video、Prime Music、Prime Reading等服務的專屬優惠、搶先促銷與福利,讓購物娛樂體驗更便利豐富。

如果您有興趣,請使用以下連結:AMAZON PRIME,它可以幫助我繼續推廣人工智慧和電腦程式設計。

以上是學習使用 Python 從資料集中分割訓練和測試數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn