机器学习初学者 07月16日 02:27
【机器学习】初学者如何获得机器学习和深度学习的练习数据?附几个方法
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了机器学习和深度学习练习数据的获取方法。首先,scikit-learn自带了多个数据集,如鸢尾花、波士顿房价等,可以直接使用。其次,还有一些数据集需要在线下载,如20newsgroups、California Housing等。最后,还可以通过生成数据集的方式获取数据,如make_blobs、make_classification等。此外,本文还推荐了一些常用的数据集平台,如Kaggle、UCI Machine Learning Repository等,以及一些特定领域的数据集,如图像、自然语言处理、音频等。

📚 scikit-learn自带数据集:提供了多个经典数据集,如鸢尾花、波士顿房价等,可以直接使用,方便快捷。

🌐 在线下载的数据集:需要下载的数据集包括20newsgroups、California Housing等,适用于更复杂的任务需求。

✨ 生成数据集:可以通过make_blobs、make_classification等函数生成数据集,适用于测试算法性能和探索数据分布。

🔗 Kaggle:全球最大的数据科学社区之一,包含海量数据集,覆盖图像分类、自然语言处理等场景。

🏛 UCI Machine Learning Repository:经典的学术数据集平台,包含大量结构化数据和多模态数据,适合基础算法验证。

原创 机器学习初学者 2025-07-14 12:02 浙江

本文讲解机器学习和深度学习的练习数据从哪里获取。

0.导语

初学者学习机器学习和深度学习的时候,经常会找不到练习的数据,本文提供了获取数据的一些方法。

一、scikit-learn自带数据集

Scikit-learn内置了很多可以用于机器学习的数据,可以用两行代码就可以使用这些数据。

一、自带数据集

自带的小的数据集为:sklearn.datasets.load_

load_bostonBoston房屋价格回归506*13
fetch_california_housing加州住房回归20640*9
load_diabetes糖尿病回归442*10
load_digits手写字分类1797*64
load_breast_cancer乳腺癌分类、聚类(357+212)*30
load_iris鸢尾花分类、聚类(50*3)*4
load_wine葡萄酒分类(59+71+48)*13
load_linnerud体能训练多分类20

怎么用:

数据集的信息关键字:

    DESCR

    数据集的描述信息

    data

    内部数据(即:X)

    feature_names

    数据字段名

    target

    数据标签(即:y)

    target_names

    标签字段名(回归数据集无此项) 

使用方法(以load_iris为例)

数据介绍:

    一般用于做分类测试

    有150个数据集,共分为3类,每类50个样本。每个样本有4个特征。

    每条记录都有 4 项特征:包含4个特征(Sepal.Length(花萼长度)、Sepal.Width(花萼宽度)、Petal.Length(花瓣长度)、Petal.Width(花瓣宽度)),特征值都为正浮点数,单位为厘米。

    可以通过这4个特征预测鸢尾花卉属于(iris-setosa(山鸢尾), iris-versicolour(杂色鸢尾), iris-virginica(维吉尼亚鸢尾))中的哪一品种。

第一步:

导入数据

from sklearn.datasets import load_iris
iris = load_iris()

第二步:

定义X和y

X, y = iris.data, iris.target

此外,可以看下数据的维度:

X.shape,y.shape

输出为:

((150, 4), (150,))

查看特征名:

iris.feature_names
输出为:
['sepal length (cm)',
 'sepal width (cm)',
 'petal length (cm)',
 'petal width (cm)']

查看标签名:

iris.target_names

输出为:

array(['setosa', 'versicolor', 'virginica'], dtype='

划分训练集和测试集:

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25)

这样就把训练集和测试集按照3比1划分了,接下来就可以用机器学习算法进行训练和测试了。

小技巧:将数据转换为Dataframe格式(两种方法都可以):

import pandas as pd
df_X = pd.DataFrame(iris.data, columns=iris.feature_names)
#这个是X
df_y = pd.DataFrame(iris.target, columns=["target"])
#这个是y
df=pd.concat([df_X,df2],axis=1)#横向合并
df.head()

或者:

import numpy as np
import pandas as pd
col_names = iris['feature_names'] + ['target']
df = pd.DataFrame(data= np.c_[iris['data'], iris['target']], columns=col_names)
df.head()

输出结果一致:

二、可在线下载的数据集(需要下载)

下载的数据集为:sklearn.datasets.fetch_

这类数据需要在线下载,有点慢

fetch_20newsgroups

用于文本分类、文本挖据和信息检索研究的国际标准数据集之一。数据集收集了大约20,000左右的新闻组文档,均匀分为20个不同主题的新闻组集合。返回一个可以被文本特征提取器

fetch_20newsgroups_vectorized

这是上面这个文本数据的向量化后的数据,返回一个已提取特征的文本序列,即不需要使用特征提取器

fetch_california_housing

加利福尼亚的房价数据,总计20640个样本,每个样本8个属性表示,以及房价作为target,所有属性值均为number,详情可调用fetch_california_housing()['DESCR']了解每个属性的具体含义;

fetch_covtype

森林植被类型,总计581012个样本,每个样本由54个维度表示(12个属性,其中2个分别是onehot4维和onehot40维),以及target表示植被类型1-7,所有属性值均为number,详情可调用fetch_covtype()['DESCR']了解每个属性的具体含义


fetch_kddcup99

KDD竞赛在1999年举行时采用的数据集,KDD99数据集仍然是网络入侵检测领域的事实Benckmark,为基于计算智能的网络入侵检测研究奠定基础,包含41项特征

fetch_lfw_pairs

该任务称为人脸验证:给定一对两张图片,二分类器必须预测这两个图片是否来自同一个人。

fetch_lfw_people

打好标签的人脸数据集

fetch_mldata

 mldata.org 中下载数据集

fetch_olivetti_faces

Olivetti 脸部图片数据集

fetch_rcv1

路透社新闻语聊数据集

fetch_species_distributions

物种分布数据集

使用方法与自带数据集一致,只是多了下载过程(示例:fetch_20newsgroups

from sklearn.datasets import fetch_20newsgroups
news = fetch_20newsgroups(subset='all'#本次使用的数据需要到互联网上下载
from sklearn.model_selection import train_test_split
#对数据训练集和测试件进行划分
X_train, X_test, y_train, y_test = train_test_split(
    news.data, news.target, test_size=0.25, random_state=33)

三、生成数据集

可以用来分类任务,可以用来回归任务,可以用来聚类任务,用于流形学习的,用于因子分解任务的,用于分类任务和聚类任务的:这些函数产生样本特征向量矩阵以及对应的类别标签集合

    make_blobs:多类单标签数据集,为每个类分配一个或多个正态分布的点集

    make_classification:多类单标签数据集,为每个类分配一个或多个正态分布的点集,提供了为数据添加噪声的方式,包括维度相关性,无效特征以及冗余特征等

    make_gaussian-quantiles:将一个单高斯分布的点集划分为两个数量均等的点集,作为两类

    make_hastie-10-2:产生一个相似的二元分类数据集,有10个维度

    make_circle和make_moons:产生二维二元分类数据集来测试某些算法的性能,可以为数据集添加噪声,可以为二元分类器产生一些球形判决界面的数据

举例:

import matplotlib.pyplot as plt
from sklearn.datasets import make_moons
X, y = make_moons(n_samples=100, noise=0.15, random_state=42)
plt.title('make_moons function example')
plt.scatter(X[:,0],X[:,1],marker='o',c=y)
plt.show()

深度学习数据集

1.通用综合平台

    Kaggle(https://www.kaggle.com/datasets)

    全球最大的数据科学社区之一,包含海量来自企业、研究机构的数据集,覆盖图像分类(如 “CIFAR-10”)、自然语言处理(如 “IMDb 影评”)、推荐系统等场景,支持直接下载或通过 API 调用。

    UCI Machine Learning Repository(https://archive.ics.uci.edu/ml/index.php)

    经典的学术数据集平台,包含大量结构化数据(如 “鸢尾花数据集”“波士顿房价数据集”)和多模态数据,适合基础算法验证。

    Google Dataset Search(https://datasetsearch.research.google.com/)

    谷歌推出的数据集搜索引擎,可检索全球范围内的公开数据集,支持按领域(如医疗、环境)、格式(如 CSV、JSON)筛选。

2. 图像与计算机视觉

    ImageNet(https://www.image-net.org/)

    最著名的图像数据集之一,包含超过 1400 万张标注图像,涵盖 2 万多个类别,是图像分类、目标检测等任务的基准数据集。

    COCO(Common Objects in Context,https://cocodataset.org/)

    包含 33 万张图像,标注了目标检测、分割、关键点等信息,适合复杂场景下的视觉任务(如 “YOLO” 模型训练)。

    MNIST(http://yann.lecun.com/exdb/mnist/)

    手写数字数据集(0-9),共 6 万张训练图和 1 万张测试图,是深度学习入门的经典案例数据。

3. 自然语言处理(NLP)

    GLUE(General Language Understanding Evaluation,https://gluebenchmark.com/)

    包含 10 个 NLP 任务的数据集(如情感分析、语义相似度),用于评估预训练模型(如 BERT)的通用能力。

    Hugging Face Datasets(https://huggingface.co/datasets)

    集成了数千个 NLP 数据集(如 “中文维基百科”“豆瓣影评”),支持直接与 Hugging Face 的模型库(Transformers)对接,方便快速训练。

    中文数据集

    :如 “THUCNews”(中文新闻分类)、“CLUECorpusSmall”(中文预训练语料)、“Weibo 情感分析数据集” 等,可通过 GitHub 或国内平台获取。

4. 音频与语音

    LibriSpeech(https://www.openslr.org/12/)

    基于有声书籍的英语语音数据集,包含 1000 小时语音及对应文本,适合语音识别任务。

    ESC-50(https://github.com/karoldvl/ESC-50)

    环境声音分类数据集,包含 50 类声音(如狗叫、雨声),共 2000 个音频片段。

    中文语音

    :如 “THCHS-30”(清华大学中文语音数据集)、“AISHELL”(开源中文语音语料库)。

5. 视频与时序数据

其它数据集

天池:

https://tianchi.aliyun.com/dataset

搜狗实验室:

http://www.sogou.com/labs/resource/list_pingce.php

DC竞赛:

https://www.pkbigdata.com/common/cmptIndex.html

DF竞赛:

https://www.datafountain.cn/datasets

科赛网

https://www.kesci.com/home/dataset

微软数据集

https://msropendata.com/

总结

本文为机器学习初学者提供了使用scikit-learn内置数据的方法,用两行代码就可以使用这些数据,可以进行大部分的机器学习实验了。

参考

https://scikit-learn.org/stable/datasets/index.html

阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

机器学习 深度学习 数据集 scikit-learn Kaggle
相关文章