index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html
![]()
本文为机器学习和深度学习初学者提供了获取练习数据的实用方法。首先介绍了如何利用scikit-learn内置的多种数据集,如用于回归的Boston房屋价格、加州住房数据,以及用于分类的鸢尾花、乳腺癌等数据集,并详细展示了如何加载、查看数据信息、划分训练集和测试集,以及转换为Pandas DataFrame格式。其次,文章列举了需要在线下载的数据集,包括文本分类的fetch_20newsgroups、人脸识别的fetch_lfw_people等,并说明了其用途。此外,还介绍了如何使用make_blobs、make_classification等函数生成用于不同任务的数据。最后,文章汇总了Kaggle、UCI Machine Learning Repository、ImageNet、COCO、MNIST等通用和专业的数据集平台,涵盖图像、NLP、音频、视频等领域,为学习者提供了丰富的资源。
📊 **便捷的数据集获取:** scikit-learn库内置了多种可以直接调用的数据集,如用于回归的Boston房屋价格、加州住房数据,以及用于分类的鸢尾花、乳腺癌等。用户只需导入并加载即可使用,大大简化了数据准备流程,并提供了查看数据描述、特征名、标签名等详细信息的功能,同时演示了如何将数据转换为DataFrame格式,方便后续处理。
🌐 **多样化的在线数据集:** 文章还介绍了需要在线下载的数据集,如用于文本分类和挖掘的fetch_20newsgroups,以及人脸识别的fetch_lfw_people、fetch_lfw_pairs等。这些数据集通常更大、更复杂,适用于更深入的研究和模型训练,并说明了fetch_20newsgroups等数据集的使用方法。
🛠️ **数据生成与实验:** 对于需要自定义数据集的场景,文章提供了scikit-learn的生成函数,如make_blobs、make_classification、make_moons等,可以生成用于分类、回归、聚类等任务的合成数据,并以make_moons为例展示了数据生成和可视化过程,方便进行算法的初步测试和验证。
📚 **综合性数据资源平台:** 为了满足更广泛的学习需求,文章汇总了多个知名的公共数据集平台,包括通用的Kaggle、UCI Machine Learning Repository、Google Dataset Search,以及专注于图像(ImageNet, COCO, MNIST)、自然语言处理(GLUE, Hugging Face Datasets)、音频(LibriSpeech, ESC-50)和视频(UCF101, Kinetics)等领域的专业平台,为学习者提供了丰富的学习和实践资源。
原创 机器学习初学者 2025-07-14 12:02 浙江
本文讲解机器学习和深度学习的练习数据从哪里获取。

0.导语初学者学习机器学习和深度学习的时候,经常会找不到练习的数据,本文提供了获取数据的一些方法。 一、scikit-learn自带数据集Scikit-learn内置了很多可以用于机器学习的数据,可以用两行代码就可以使用这些数据。
一、自带数据集自带的小的数据集为:sklearn.datasets.load_
load_bostonBoston房屋价格回归506*13fetch_california_housing加州住房回归20640*9load_diabetes糖尿病回归442*10load_digits手写字分类1797*64load_breast_cancer乳腺癌分类、聚类(357+212)*30load_iris鸢尾花分类、聚类(50*3)*4load_wine葡萄酒分类(59+71+48)*13load_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和yX, 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_kddcup99KDD竞赛在1999年举行时采用的数据集,KDD99数据集仍然是网络入侵检测领域的事实Benckmark,为基于计算智能的网络入侵检测研究奠定基础,包含41项特征fetch_lfw_pairs该任务称为人脸验证:给定一对两张图片,二分类器必须预测这两个图片是否来自同一个人。fetch_lfw_people打好标签的人脸数据集fetch_mldata从 mldata.org 中下载数据集fetch_olivetti_facesOlivetti 脸部图片数据集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.通用综合平台
2. 图像与计算机视觉
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. 音频与语音
5. 视频与时序数据
其它数据集天池:https://tianchi.aliyun.com/dataset
搜狗实验室:http://www.sogou.com/labs/resource/list_pingce.phpDC竞赛:https://www.pkbigdata.com/common/cmptIndex.htmlDF竞赛:https://www.datafountain.cn/datasets科赛网https://www.kesci.com/home/dataset微软数据集https://msropendata.com/总结本文为机器学习初学者提供了使用scikit-learn内置数据的方法,用两行代码就可以使用这些数据,可以进行大部分的机器学习实验了。参考https://scikit-learn.org/stable/datasets/index.html 阅读原文
跳转微信打开