機器學習數據集加載全攻略:從本地到網絡

目錄

一、加載內置數據集

1.1 Iris鳶尾花數據集

1.2 其他常用內置數據集

二、加載網絡數據集

2.1 20 Newsgroups數據集

三、加載本地數據集

3.1 使用pandas加載CSV文件

3.2 處理常見問題

四、數據加載最佳實踐

五、總結


在機器學習項目中,數據的加載是第一步也是至關重要的一步。本文將全面介紹如何使用Python中的scikit-learn和pandas庫加載各種類型的數據集,包括內置數據集、網絡數據集和本地數據集。

一、加載內置數據集

1.1 Iris鳶尾花數據集

Iris數據集是機器學習中最經典的數據集之一,包含150個樣本,每個樣本有4個特征:

from sklearn.datasets import load_iris
iris = load_iris()#鳶尾花數據 
# 數據集中的特征數據(x,data,樣本集)
print(iris.data,type(iris.data),iris.data.shape,iris.data.dtype)
# data特征數據中的每一條數據的每一個特征值的名字
print(iris.feature_names)
# 標簽,target,結果,有,目標值
# data特征數據中的每一條數據對應的標簽
print(iris.target,iris.target.shape)
# target_names標簽的名稱
print(iris.target_names) # Setosa山鳶尾 versicolor變色鳶尾 virginica維吉尼亞鳶尾
print(iris.filename) # iris.csv 保存后的文件名
print(iris.DESCR) # 數據集的描述

關鍵屬性和方法

  • iris.data: 特征數據矩陣,形狀為(150, 4)

  • iris.target: 標簽數組,形狀為(150,)

  • iris.feature_names: 特征名稱列表

  • iris.target_names: 類別名稱列表

  • iris.DESCR: 數據集的詳細描述

使用場景

  • 分類算法測試

  • 數據可視化練習

  • 特征工程演示

1.2 其他常用內置數據集

scikit-learn還提供了許多其他內置數據集:

  • load_boston(): 波士頓房價數據集(回歸問題)

  • load_digits(): 手寫數字數據集(分類問題)

  • load_wine(): 葡萄酒數據集(分類問題)

二、加載網絡數據集

2.1 20 Newsgroups數據集

20 Newsgroups是一個文本分類數據集,包含約20,000篇新聞組文檔:

# 加載互聯網數據集
import sklearn.datasets as datasets
from sklearn.datasets import fetch_20newsgroups
path=datasets.get_data_home() # 獲取數據集的路徑
print(path)news=fetch_20newsgroups(data_home="./src",subset='all') # 下載所有數據集
print(len(news.data),type(news.data),news.data[:5]) # 文本數據
print(news.target[:5])
print(news.target_names)

關鍵參數

  • subset: 可選'train'、'test'或'all'

  • categories: 指定要加載的類別列表

  • data_home: 指定數據集下載和緩存目錄

重要屬性

  • news.data: 原始文本數據列表

  • news.target: 類別標簽數組

  • news.target_names: 類別名稱列表

使用技巧

  • 對于文本分類任務,通常需要進一步進行文本向量化

  • 可以使用TfidfVectorizerCountVectorizer進行特征提取

三、加載本地數據集

3.1 使用pandas加載CSV文件

pandas是Python中最強大的數據處理庫之一,可以輕松加載本地CSV文件:

# 加載本地數據集
import pandas as pd
df = pd.read_csv("./src/ss.csv") # 加載本地csv文件
print(df)

常用參數

  • header: 指定作為列名的行號

  • sep: 分隔符,默認為','

  • index_col: 用作行索引的列編號或列名

  • encoding: 文件編碼格式

3.2 處理常見問題

  1. 編碼問題:嘗試不同的編碼格式如'utf-8'、'gbk'、'latin1'

  2. 缺失值處理:使用na_values參數指定缺失值標記

  3. 大數據集:使用chunksize參數分塊讀取

四、數據加載最佳實踐

  1. 數據緩存:對于網絡數據集,設置data_home參數避免重復下載

  2. 內存管理:對于大型數據集,考慮使用生成器或分塊加載

  3. 數據驗證:加載后立即檢查數據形狀和基本信息

  4. 版本控制:將原始數據與處理后的數據分開存儲

五、總結

掌握各種數據加載方法是機器學習工程師的基本功。無論是使用內置數據集快速驗證算法,還是處理自定義的本地數據,Python生態都提供了強大的工具支持。在實際項目中,建議:

  1. 從小數據集開始快速迭代

  2. 建立規范的數據加載和處理流程

  3. 記錄數據來源和處理步驟

  4. 考慮數據的版本管理

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/88386.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/88386.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/88386.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【操作系統】進程(二)內存管理、通信

JavaEE—進程(二)內存管理、通信 一、內存管理 1.映射訪問 2.獨立分布 防崩潰 二、通信 1.獨立性保障 2.方式 2.1管道 2.1.2特點 2.1.2.1進程條件 2.1.2.2方向 2.1.2.3同步性 2.1.2.4性能 2.2消息隊列 2.2.1特點 2.2.1.1方向 2.2.1.2同步性 2.2.1.3性能 2.3…

windows 裝了 python2 和 python3 如何切換默認版本

現在執行 python --version 是Python 3.11.3怎么讓 python 默認是 python2,而 python3 --version 是執行 pyhon3 呢cmd 執行 where pythonC:\Users\huyun\AppData\Local\Programs\Python\Python311-32\python.exe C:\Users\huyun\AppData\Local\Microsoft\WindowsAp…

二次封裝element ui pagination組件

vue2中二次封裝element ui pagination組件 html部分 <template><div class"table-pagination"><el-pagination:current-page.sync"currentPage":page-sizes"pageSizes":page-size"pageSize":layout"paginationLay…

SAP學習筆記 - 開發39 - RAP開發 BTP /DMO 官方既存測試數據的使用

上一章講了 RAP開發流程的具體步驟&#xff0c;建表 》建Data Model View 》建 Projection View 》建Service Definition 》 建Service Binding 》Publish 服務。 SAP學習筆記 - 開發37 - RAP開發流程的具體步驟&#xff0c; 建表&#xff0c;Data Model View&#xff0c;Proj…

SQLite - C/C++ 開發與應用詳解

SQLite - C/C++ 開發與應用詳解 引言 SQLite 是一個輕量級的數據庫引擎,它被設計成不需要服務器進程就可以獨立運行。SQLite 在 C/C++ 開發領域具有廣泛的應用,由于其體積小、性能高、易于集成等優點,深受開發者的喜愛。本文將詳細介紹 SQLite 在 C/C++ 開發中的應用,包括…

蔚來測開一面:HashMap從1.7開始到1.8的過程,既然都解決不了并發安全問題,為什么還要進一步解決環形鏈表的問題?

文章目錄問題的根源&#xff1a;JDK 1.7 的設計缺陷為什么必須解決這個問題&#xff1f;1\. 故障等級完全不同 &#x1f4a3;2\. JDK 1.8 的解決方案&#xff1a;一石二鳥 &#x1f985;3\. 為“不小心”的開發者提供一層保障 &#x1f6e1;?結論這是一個非常好的問題&#xf…

AI技術正以前所未有的速度重塑職業生態與行業格局,尤其在自動化測試領域,AI驅動的測試框架通過智能化、低代碼化重構傳統測試流程。

AI技術正以前所未有的速度重塑職業生態與行業格局&#xff0c;尤其在自動化測試領域&#xff0c;AI驅動的測試框架通過智能化、低代碼化重構傳統測試流程。以下從職業影響、技術架構、行業應用及應對策略四個維度展開分析&#xff0c;結合代碼示例與框架設計圖解&#xff1a;一…

在 Mac 上安裝 Java 和 IntelliJ IDEA(完整筆記)

目錄 檢查是否已安裝 Java安裝 Java&#xff08;JDK&#xff09;設置 JAVA_HOME 環境變量安裝 IntelliJ IDEA配置 IntelliJ IDEA 使用 JDK驗證和測試環境是否成功 1. 檢查是否已安裝 Java 打開終端&#xff08;Terminal&#xff09;&#xff0c;輸入&#xff1a; java -vers…

基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一個WebUI自動化框架(2)對框架加入業務邏輯層

在上篇中&#xff0c;我們已經搭建好了框架的基本雛形&#xff0c;但只是引入了頁面層、用例層的思想&#xff0c;我們在實際使用中會發現&#xff0c;如果我們很多的用例需要很多前置工作&#xff0c;這些前置工作又有可能涉及到多個頁面&#xff0c;那么我們在維護的時候就會…

uniapp ruoyi-app 中使用checkbox 無法選中問題

<view class"flex align-center"> <checkbox-group> <label> <checkbox value"cb" checked"true" /> 記住密碼 </label> </checkbox-group> </view>colorui.css 文件中注釋掉兩處即可全局搜索…

如何快速學習GO語言

https://go.dev/tour/welcome/1 這個是官方的引導&#xff0c;很實用基本重點內容都涵蓋了&#xff0c;并且可以一邊學習一邊練習&#xff0c;非常好用 簡單介紹一下&#xff1a; Hello, 世界 歡迎訪問 Go 編程語言教程。 本教程分為幾個模塊&#xff0c;點擊本頁左上角的 …

AI 產品經理必看:神秘技術架構圖如何打通跨團隊溝通壁壘?

? 你好&#xff0c;我是 三橋君 引言 在AI產品的開發過程中&#xff0c;技術架構圖是連接業務需求與技術實現的橋梁。然而&#xff0c;許多AI產品經理常常面臨以下挑戰&#xff1a;研發團隊認為需求描述不清晰&#xff0c;業務團隊與技術團隊溝通不暢&#xff0c;技術選型時…

【科研繪圖系列】R語言繪制解剖圖

文章目錄 介紹加載R包數據下載導入數據數據預處理畫圖系統信息參考介紹 【科研繪圖系列】R語言繪制解剖圖 加載R包 # install.packages("devtools") # library(devtools) # devtools::install_github("jespermaag/gganatogram")library(gganatogram) li…

【unity編輯器開發與拓展EditorGUILayoyt和GUILayoyt】

EditorGUILayout 與 GUILayout 的核心區別及使用場景詳解 一、對比表特性GUILayoutEditorGUILayout命名空間UnityEngineUnityEditor使用場景運行時 UI 編輯器擴展僅限編輯器擴展控件風格基礎游戲風格&#xff08;無編輯器優化&#xff09;原生 Unity 編輯器風格布局復雜度基礎…

【數據結構】8. 二叉樹

文章目錄一、樹的概念及結構1、樹的概念2、樹的相關概念3、樹的表示4、樹的實際運用二、二叉樹的概念及結構1、二叉樹的概念2、特殊的二叉樹3、二叉樹的性質4、二叉樹的存儲結構三、二叉樹的順序結構及實現1、二叉樹的順序結構2、堆的概念及結構3、堆的實現0&#xff09;準備工…

Spring MVC中異常處理

1.全局異常處理1.1什么是全局異常處理器全局異常處理器是SpringMVC框架中的一種異常處理機制&#xff0c;用于統一處理由控制器拋出的異常。全局異常處理器可以幫助我們捕獲和處理控制器中的異常&#xff0c;并且根據不同的異常類型進行不同的處理操作&#xff0c;從而保障應用…

imx6ull-系統移植篇2—— U-Boot 命令使用(上)

目錄 前言 U-Boot 命令 help 信息查詢命令 bdinfo printenv version 環境變量操作命令 setenv 和 saveenv 修改環境變量 新建環境變量 刪除環境變量 內存操作命令 md nm mm mw cp cmp 網絡操作命令 ping 命令 dhcp 命令 nfs 命令 tftp 命令 EMMC 和 S…

vector之動態二維數組的底層

引言&#xff1a;在計算機編程領域&#xff0c;二維動態數組是一種能夠在程序運行期間動態調整其大小的二維數組數據結構。它與靜態二維數組的關鍵區別在于&#xff0c;靜態二維數組在編譯時就需要確定其大小&#xff0c;而二維動態數組的大小可以在程序運行過程中根據實際需求…

第十六天,7月10日,八股

1、mybatis的延遲加載需要時才加載關聯對象&#xff0c;而不是查詢主對象時&#xff0c;立刻加載所有關聯對象&#xff0c;這樣可以提高查詢性能并減少不必要的數據庫訪問&#xff0c;例如&#xff1a;一個訂單表包含著商品列表&#xff08;一對多&#xff09;&#xff0c;當查…

CSS中的Element語法

1.1 Element語法1.1.1 案例 1. 快速生成10個div,并且每個div里面是從1到10的內容2.生成一個div標簽&#xff0c;類名為one,并且同時生成一個id為first的p標簽1.1.2 快速生成CSS樣式語法 CSS基本采取簡寫形式即可 比如w22 按住tab鍵 可以生成 width:200px比如lh26px 按住tab鍵 可…