學習使用 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
下圖顯示了前面的程式碼及其執行後的輸出。
代碼解釋:
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文件,只需點擊左側的資料夾圖標,如下圖所示。
代碼解釋:
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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python更易學且易用,C 則更強大但複雜。 1.Python語法簡潔,適合初學者,動態類型和自動內存管理使其易用,但可能導致運行時錯誤。 2.C 提供低級控制和高級特性,適合高性能應用,但學習門檻高,需手動管理內存和類型安全。

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python在開發效率上優於C ,但C 在執行性能上更高。 1.Python的簡潔語法和豐富庫提高開發效率。 2.C 的編譯型特性和硬件控制提升執行性能。選擇時需根據項目需求權衡開發速度與執行效率。

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。

每天學習Python兩個小時是否足夠?這取決於你的目標和學習方法。 1)制定清晰的學習計劃,2)選擇合適的學習資源和方法,3)動手實踐和復習鞏固,可以在這段時間內逐步掌握Python的基本知識和高級功能。
