学习机器学习算法过程中的常用数据集

以下数据集为学习机器学习算法时,经常会用到的数据集,包括4种:小型模拟分类问题、小型模拟回归问题、中型实际分类问题、中型实际回归问题。这些数据集源自:[德]Andreas C.Muller和[美]Sarah Guido所著的书籍《Python机器学习基础教程》。

【数据集1】forge:小型模拟分类问题数据集

forge数据集是一个小型模拟二分类问题实例,有26个数据点,每个数据有两个特征。数据集中的数据可以通过sklearn模块的make_blobs函数来加载。下列代码绘制一个散点图,将数据的所有数据点可视化,图像以第一个特征为x轴,第二个特征为y轴。每个点的颜色和形状对应其类别。

mport mglearn.datasets
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs


def forge():
    # make_blobs: sklearn内置单标签类数据集
    features, labels = make_blobs(centers=2, random_state=4, n_samples=30)

    # discrete_scatter:数据集可视化
    mglearn.discrete_scatter(features[:, 0], features[:, 1], labels)
    plt.legend(['Class0', 'Class1'], loc=4)
    plt.xlabel('First feature')
    plt.ylabel('Second feature')
    plt.show()

    return features, labels


if __name__ == '__main__':
    X, y = forge()

在这里插入图片描述

【数据集2】wave:小型模拟回归问题数据集

wave数据集是一个小型模拟回归问题实例,有30个数据点,每个数据点有一个特征和一个连续的标签值。数据集中的数据可以通过mglearn模块的make_wave函数来加载。下图绘制的图像中,单一特征位于x轴,标签位于y轴。

import mglearn.datasets
import matplotlib.pyplot as plt


def wave():
    features, labels = mglearn.datasets.make_wave(n_samples=30)

    plt.plot(features, labels, 'o')
    plt.ylim(-3, 3)
    plt.xlabel('Feature')
    plt.ylabel('Target')
    plt.show()

    return features, labels


if __name__ == '__main__':
    X, y = wave()

在这里插入图片描述

【数据集3】cancer:中型实际分类问题数据集

cancer是威斯康星州乳腺癌数据集,记录了乳腺癌肿瘤的临床测量数据。每个肿瘤都被标记为“良性”(benign,表示无害肿瘤)或“恶性”(malignant,表示癌性肿瘤),其任务是基于人体组织的测量数据来预测肿瘤是否为恶性。数据集中包含569个数据,每个数据中包含30个特征和标签。这些数据可以通过sklearn模块中的load_breast_cancer来加载。

from sklearn.datasets import load_breast_cancer


def breast_cancer():
    cancer = load_breast_cancer()
    features = cancer.data
    labels = cancer.target

    return cancer, features, labels


if __name__ == '__main__':
    cancer_data, X, y = breast_cancer()

维度特征较多,难以直接做可视化。可以通过代码继续探查数据内容。

# cancer数据集所有属性
print('cancer.keys(): {}'.format(cancer_data.keys()))
cancer.keys(): dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename', 'data_module'])

# 数据和特征数量
print('Shape of cancer data: {}'.format(X.shape))
Shape of cancer data: (569, 30)

# 良性数量
print('benign count: {}'.format(sum(y)))
benign count: 357

# 恶性数量
print('malignant count: {}'.format(len(y) - sum(y)))
malignant count: 212

# 特征含义
print('Features name: \n{}'.format(cancer_data.feature_names))
Features name: 
['mean radius' 'mean texture' 'mean perimeter' 'mean area'
 'mean smoothness' 'mean compactness' 'mean concavity'
 'mean concave points' 'mean symmetry' 'mean fractal dimension'
 'radius error' 'texture error' 'perimeter error' 'area error'
 'smoothness error' 'compactness error' 'concavity error'
 'concave points error' 'symmetry error' 'fractal dimension error'
 'worst radius' 'worst texture' 'worst perimeter' 'worst area'
 'worst smoothness' 'worst compactness' 'worst concavity'
 'worst concave points' 'worst symmetry' 'worst fractal dimension']

【数据集4】boston:中型实际回归问题数据集

boston是波士顿房价数据集。与这个数据集相关的任务是,利用犯罪率、是否临近查尔斯河、公路可达性等信息,来预测20世纪70年代波士顿地区房屋价格的中位数。数据集中包含506个数据点,有13个基本特征,同时把任意两个基本特征的乘积也作为特征,共计104个特征。

import mglearn.datasets


def boston():
    features, labels = mglearn.datasets.load_extended_boston()
    return features, labels


if __name__ == '__main__':
    X, y = boston()
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值