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

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
Python的執行模型:編譯,解釋還是兩者?Python的執行模型:編譯,解釋還是兩者?May 10, 2025 am 12:04 AM

pythonisbothCompileDIntered。

Python是按線執行的嗎?Python是按線執行的嗎?May 10, 2025 am 12:03 AM

Python不是嚴格的逐行執行,而是基於解釋器的機制進行優化和條件執行。解釋器將代碼轉換為字節碼,由PVM執行,可能會預編譯常量表達式或優化循環。理解這些機制有助於優化代碼和提高效率。

python中兩個列表的串聯替代方案是什麼?python中兩個列表的串聯替代方案是什麼?May 09, 2025 am 12:16 AM

可以使用多種方法在Python中連接兩個列表:1.使用 操作符,簡單但在大列表中效率低;2.使用extend方法,效率高但會修改原列表;3.使用 =操作符,兼具效率和可讀性;4.使用itertools.chain函數,內存效率高但需額外導入;5.使用列表解析,優雅但可能過於復雜。選擇方法應根據代碼上下文和需求。

Python:合併兩個列表的有效方法Python:合併兩個列表的有效方法May 09, 2025 am 12:15 AM

有多種方法可以合併Python列表:1.使用 操作符,簡單但對大列表不內存高效;2.使用extend方法,內存高效但會修改原列表;3.使用itertools.chain,適用於大數據集;4.使用*操作符,一行代碼合併小到中型列表;5.使用numpy.concatenate,適用於大數據集和性能要求高的場景;6.使用append方法,適用於小列表但效率低。選擇方法時需考慮列表大小和應用場景。

編譯的與解釋的語言:優點和缺點編譯的與解釋的語言:優點和缺點May 09, 2025 am 12:06 AM

CompiledLanguagesOffersPeedAndSecurity,而interneterpretledlanguages provideeaseafuseanDoctability.1)commiledlanguageslikec arefasterandSecureButhOnderDevevelmendeclementCyclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesclesandentency.2)cransportedeplatectentysenty

Python:對於循環,最完整的指南Python:對於循環,最完整的指南May 09, 2025 am 12:05 AM

Python中,for循環用於遍歷可迭代對象,while循環用於條件滿足時重複執行操作。 1)for循環示例:遍歷列表並打印元素。 2)while循環示例:猜數字遊戲,直到猜對為止。掌握循環原理和優化技巧可提高代碼效率和可靠性。

python concatenate列表到一個字符串中python concatenate列表到一個字符串中May 09, 2025 am 12:02 AM

要將列表連接成字符串,Python中使用join()方法是最佳選擇。 1)使用join()方法將列表元素連接成字符串,如''.join(my_list)。 2)對於包含數字的列表,先用map(str,numbers)轉換為字符串再連接。 3)可以使用生成器表達式進行複雜格式化,如','.join(f'({fruit})'forfruitinfruits)。 4)處理混合數據類型時,使用map(str,mixed_list)確保所有元素可轉換為字符串。 5)對於大型列表,使用''.join(large_li

Python的混合方法:編譯和解釋合併Python的混合方法:編譯和解釋合併May 08, 2025 am 12:16 AM

pythonuseshybridapprace,ComminingCompilationTobyTecoDeAndInterpretation.1)codeiscompiledtoplatform-Indepententbybytecode.2)bytecodeisisterpretedbybythepbybythepythonvirtualmachine,增強效率和通用性。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 Mac版

SublimeText3 Mac版

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

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具