当前位置: 首页 > news >正文

机器学习数据集加载全攻略:从本地到网络

目录

一、加载内置数据集

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.lryc.cn/news/584991.html

相关文章:

  • 【读代码】开源音乐分离工具Spleeter
  • 深度学习14(循环神经网络)
  • 深度学习篇---昇腾NPUCANN 工具包
  • JVM故障处理与类加载全解析
  • 数据结构自学Day5--链表知识总结
  • 大规模集群下 Prometheus 监控架构实战经验分享
  • LTR相关记录
  • 牛客周赛 Round 99
  • 【Dify(v1.x) 核心源码深入解析】mcp 模块
  • 4.丢出异常捕捉异常TryCatch C#例子
  • USB数据丢包真相:为什么log打印会导致高频USB数据丢包?
  • mysql数据库导入导出命令
  • 【Linux-云原生-笔记】系统引导修复(grub、bios、内核、系统初始化等)
  • Grok-4 发布会图文总结
  • 苹果UI 设计
  • SLICEGPT: COMPRESS LARGE LANGUAGE MODELSBY DELETING ROWS AND COLUMNS
  • Deepseek-如何从零开始开发需要专业知识的prompt
  • 8155平台SPI学习笔记
  • 从零实现一个GPT 【React + Express】--- 【4】实现文生图的功能
  • 深入剖析Spring Bean生命周期:从诞生到消亡的全过程
  • 英文国际期刊推荐:MEDS Chinese Medicine,中医药方向可发
  • 47-RK3588 用瑞芯微官方提供recovery进行OTA升级
  • Auto-GPT 简易教程
  • 前端抓包(不启动前端项目就能进行后端调试)--whistle
  • UI前端与数字孪生融合新领域:智慧环保的垃圾分类与回收系统
  • Windos服务器升级MySQL版本
  • 中国银联豪掷1亿采购海光C86架构服务器
  • 如何查看自己本地的公网IP地址?内网环境网络如何开通服务器公网ip提供互联网访问?
  • 电力分析仪的“双语对话”:CCLinkIE与Modbus TCP的无缝连接
  • 从《哪吒 2》看个人IP的破局之道|创客匠人