导入breast_cancer数据集

  • 发布日期:2019-10-22
  • 难度:简单
  • 类别:分类与预测、数据集
  • 标签:Python、scikit-learn、breast_cancer、乳腺癌数据集

1. 问题描述

乳腺癌数据集记录了乳腺癌肿瘤的临床测量数据。每个肿瘤都被标记为“良性”(Benign)或“恶性”(Malignant),其任务是基于人体组织的测量数据来学习预测肿瘤是否为恶性。该数据集字典目录包括data(数据),target(目标特征),target_names(目标特征名称),DESCR(数据的更多详细信息),和feature_names(输入特征名称)。乳腺癌数据集共包含569个数据点,每个数据点有30个特征,但是实际上它只关注了10个关键特征: 1、radius,半径,即病灶中心点离边界的平均距离; 2、texture,纹理,灰度值的标准偏差; 3、perimeter,周长,即病灶的大小; 4、area,面积,反映病灶大小的一个指标; 5、smoothness,平滑度,即半径的变化幅度; 6、compactness,密实度,周长的平方除以面积的商后再减1; 7、concavity,凹度,凹陷部分轮廓的严重程度; 8、concave points,凹点,凹陷轮廓的数量; 9、symmetry,对称性; 10、fractal dimension,分形维度。 可以看出,有些指标属于复合指标,即由其他指标经过运算得到的;有些指标是衍生的,例如对每个特征构造其标准差或最大值。

2. 程序实现

In [1]:
#导入乳腺癌数据
from sklearn.datasets import load_breast_cancer
cancer=load_breast_cancer()
#查看数据集字典目录
print(cancer.keys())
dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names'])
In [2]:
#查看输入特征标签
print(cancer.feature_names)
['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']
In [4]:
#查看数据集的数据点数量及特征数量
print(cancer.data.shape)
(569, 30)
In [5]:
#查看数据集的第一个元素
print(cancer.data[1])
[  2.05700000e+01   1.77700000e+01   1.32900000e+02   1.32600000e+03
   8.47400000e-02   7.86400000e-02   8.69000000e-02   7.01700000e-02
   1.81200000e-01   5.66700000e-02   5.43500000e-01   7.33900000e-01
   3.39800000e+00   7.40800000e+01   5.22500000e-03   1.30800000e-02
   1.86000000e-02   1.34000000e-02   1.38900000e-02   3.53200000e-03
   2.49900000e+01   2.34100000e+01   1.58800000e+02   1.95600000e+03
   1.23800000e-01   1.86600000e-01   2.41600000e-01   1.86000000e-01
   2.75000000e-01   8.90200000e-02]
In [6]:
#查看目标特征的取值
print(cancer.target_names)
['malignant' 'benign']