Python 之Scikit-learn(五) -- Scikit-learn提供的数据集及其详细介绍

目录

[1. 鸢尾花数据集 (Iris Dataset)](#1. 鸢尾花数据集 (Iris Dataset))

[2. 波士顿房价数据集 (Boston Housing Dataset)](#2. 波士顿房价数据集 (Boston Housing Dataset))

[3. 糖尿病数据集 (Diabetes Dataset)](#3. 糖尿病数据集 (Diabetes Dataset))

[4. 手写数字数据集 (Digits Dataset)](#4. 手写数字数据集 (Digits Dataset))

[5. 乳腺癌数据集 (Breast Cancer Dataset)](#5. 乳腺癌数据集 (Breast Cancer Dataset))

获取数据的方法

使用数据集进行机器学习任务


Scikit-learn库中包含了一些内置的标准数据集,这些数据集通常用于学习、测试和验证机器学习算法。以下是一些常见的Scikit-learn内置数据集及其详细介绍,以及如何获取这些数据的方法。

  1. 鸢尾花数据集 (Iris Dataset)
  • 描述:鸢尾花数据集是一个经典的机器学习数据集。它包含150个样本,每个样本有4个特征:花萼长度、花萼宽度、花瓣长度和花瓣宽度。这些样本属于3个不同的鸢尾花种类:Setosa、Versicolor和Virginica。
  • 用途:分类任务,特别是线性分类器和聚类算法的教学和研究。
  • 获取方法
python 复制代码
from sklearn.datasets import load_iris
iris = load_iris()
  1. 波士顿房价数据集 (Boston Housing Dataset)
  • 描述:该数据集包含波士顿地区506个房屋的13个特征,以及这些房屋的中位数房价。特征包括犯罪率、住宅用地比例、非零售商业用地比例、氮氧化物浓度、平均房间数、房龄、距离就业中心的距离、公路通达性、财产税率、师生比例、黑人比例、低收入人群比例等。
  • 用途:回归任务,尤其是线性回归模型的教学和研究。
  • 获取方法
python 复制代码
from sklearn.datasets import load_boston
boston = load_boston()
  1. 糖尿病数据集 (Diabetes Dataset)
  • 描述:糖尿病数据集包含442个样本和10个特征,特征包括年龄、性别、体质指数、血压、六种血清测量值。这些特征用于预测一年后的疾病进展。
  • 用途:回归任务,适用于线性回归模型的测试和验证。
  • 获取方法
python 复制代码
from sklearn.datasets import load_diabetes
diabetes = load_diabetes()
  1. 手写数字数据集 (Digits Dataset)
  • 描述:手写数字数据集包含1797个手写数字样本,每个样本是一个8x8的灰度图像,表示0到9的数字。每个图像有64个特征,每个特征表示像素的灰度值。
  • 用途:分类任务,尤其适合用于图像分类和降维算法的研究。
  • 获取方法
python 复制代码
from sklearn.datasets import load_digits
digits = load_digits()
  1. 乳腺癌数据集 (Breast Cancer Dataset)
  • 描述:乳腺癌数据集包含569个样本和30个特征,这些特征是基于细胞核的测量值。目标是区分良性和恶性肿瘤。
  • 用途:分类任务,广泛用于二分类问题的研究。
  • 获取方法
python 复制代码
from sklearn.datasets import load_breast_cancer
breast_cancer = load_breast_cancer()

获取数据的方法

Scikit-learn提供的内置数据集可以通过sklearn.datasets模块直接加载,这些数据集一般以字典的形式返回。主要包括以下几个键:

  • data:特征数据,通常是一个二维数组。
  • target:目标标签,通常是一维数组。
  • DESCR:数据集的详细描述。
  • feature_names:特征名称。
  • target_names:目标名称(分类任务中)。

下面是如何加载这些数据集的示例:

python 复制代码
from sklearn.datasets import load_iris

# 加载数据集
iris = load_iris()
# 查看数据集描述
print(iris.DESCR)
# 查看特征数据
print(iris.data)
# 查看目标标签
print(iris.target)
# 查看特征名称
print(iris.feature_names)
# 查看目标名称
print(iris.target_names)

使用数据集进行机器学习任务

一旦数据集加载到内存中,可以直接用于训练和评估机器学习模型。例如,使用鸢尾花数据集进行分类任务:

python 复制代码
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target

# 分割数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 训练模型
model = RandomForestClassifier()
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 评估模型
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")
相关推荐
小刘在重生~1 分钟前
Java 常用类|包装类 装箱拆箱、Integer 缓存面试题
java·python·缓存
2601_9620994620 分钟前
Python xlwt设置excel单元格字体及格式
python·excel·xlwt·样式设置·单元格格式
菜鸟~noob23331 分钟前
【电子战】 第01篇:噪声、门限与虚警/检测概率(PFA/PD)【含matlab代码】
开发语言·matlab
奇牙coding12333 分钟前
GPT-6-Astra API 接入教程:OpenRouter 路由配置 + Python/curl 示例 + 静默降级踩坑
开发语言·python·gpt·ai
2601_962298271 小时前
Python与Selenium结合的Web自动化测试全流程实践教程
自动化测试·python·selenium·web测试·pageobjectmodel
lzx_0021 小时前
C++11(一)
开发语言·c++·算法
天衍四九-1 小时前
第一章:从 LLM 到 Agent —— DeepSeek Harness 入门
网络·数据库·人工智能·python
529宝宝起名网2 小时前
用 Python 实现名字寓意评分算法:基于 NLP 语义分析的名字内涵深度评估
python·算法·自然语言处理
2601_962298672 小时前
Python:对象缓存优化机制(CPython)
python·性能优化·内存优化·cpython·对象缓存
未来之窗软件服务2 小时前
计算机二级[英文]-C 字符串移动—东方仙盟
c语言·开发语言·仙盟创梦ide·东方仙盟