python查看数据集的维度、⼤⼩_Python机器学习(⼆⼗
七)Sklearn数据集基本。。。
前⾯章节中,我们加载了SciKit-Learn⾃带的数据集digits,可以通过以下语句查看数据集中包含哪些主要内容:
digits.keys()
输出
dict_keys(['data', 'target', 'target_names', 'images', 'DESCR'])
data 样本数据
target ⽬标值
target_names ⽬标名称
images 图像格式(⼆维)的样本数据
DESCR 描述信息
查看数据集的描述:
print(digits.DESCR)
输出
.. _digits_dataset:
Optical recognition of handwritten digits dataset--------------------------------------------------
**Data Set Characteristics:**:Number of Instances:5620:Number of Attributes:64:Attribute Information: 8x8 image of integer pixelsin the range 0..16.
:Missing Attribute Values: None
:Creator: E. Alpaydin (alpaydin'@')
:Date: July;1998Thisis a copy of the test set of the UCI ML hand-written digits datasets
The data set contains images of hand-written digits: 10classes where
eachclassrefers to a digit.
Preprocessing programs made available by NIST were used to extract
normalized bitmaps of handwritten digitsfroma preprinted form. From a
total of43 people, 30 contributed to the training set and different 13to the test set. 32x32 bitmaps are divided into nonoverlapping blocks of
4x4and the number of on pixels are counted ineach block. This generates
an input matrix of 8x8 where each elementis an integer inthe range
0..16. This reduces dimensionality andgives invariance to small
distortions.
For info on NIST preprocessing routines, see M. D. Garris, J. L. Blue, G.
T. Candela, D. L. Dimmick, J. Geist, P. J. Grother, S. A. Janet,andC.
L. Wilson, NIST Form-Based Handprint Recognition System, NISTIR 5469,1994.
.. topic:: References- C. Kaynak (1995) Methods of Combining Multiple Classifiers andTheir
Applications to Handwritten Digit Recognition, MSc Thesis, Institute of
Graduate Studiesin Science andEngineering, Bogazici University.- E. Alpaydin, C. Kaynak (1998) Cascading Classifiers, Kybernetika.- Ken Tang and Ponnuthurai N. Suganthan and Xi Yao andA. Kai Qin.
Linear dimensionalityreduction using relevance weighted LDA. School of
ElectricalandElectronic Engineering Nanyang Technological University.2005.-Claudio Gentile. A New Approximate Maximal Margin Classification
Algorithm. NIPS.2000.
这是⼀个⼿写数字的数据集。
类似地,你也可以查看其它内容:
#打印数据内容
print(digits.data)#打印⽬标值
print(digits.target)#打印⽬标名称(标签)
print(digits.target_names)
...
注意:如果使⽤read_csv()导⼊数据集,数据集已经分割好,导⼊的数据集中可能没有描述字段,但是你可以使⽤head()或tail()来检查数据。在这种情况下,最好仔细查看数据描述⽂件夹!
接下来,我们进⼀步了解数据集中的数据。
可以看到,数据集中的数据都是numpy数组的格式,可以查看这些数组的数据类型,形状,长度等信息。
importnumpy as np#打印data数组的形状
print(digits.data.shape) #输出:(1797, 64)#打印data数组的类型
print(digits.data.dtype) #输出:float64
#打印target数组的形状
print(digits.target.shape) #输出:(1797,)#打印target数组的类型
print(digits.target.dtype) #输出:int32#打印target数组中包含的唯⼀值数量
print(len(np.unique(digits.target))) #输出:10
#打印target_names数组的形状
print(digits.target_names.shape) #输出:(10,)#打印target_names数组的类型
print(digits.target_names.dtype) #输出:int32
#打印images数组的形状
print(digits.images.shape) #输出:(1797, 8, 8)#打印images数组的类型
print(digits.images.dtype) #输出:float64
可以看出,digits.data中,有1797个样本,每个样本有64个特征值(实际上是像素灰度值)。
digits.target中,包含了上⾯样本数据对应的⽬标值(样本标签),同样有1797个⽬标值,但10个唯⼀值,
即0-9。换句话说,所有1797个⽬标值都由0到9之间的数字组成,这意味着模型要识别的是从0到9的数字。
digits.target_names包含了样本标签的名称: 0~9。
最后,可以看到digits.images数组包含3个维度: 有1797个实例,⼤⼩为8×8像素。digits.images数据与digits.data内容应该相同,只是格式不同。可以通过以下⽅式验证两者内容是否相同:
python怎么读csv数据print(np.all(shape((1797, 64)) == digits.data)) #输出:true
把digits.images改变形状为(1797, 64),与digits.data⽐较,两者相等。numpy⽅法all()可以检测所有数组元素的值是否为True。
以上就是Python机器学习(⼆⼗七)Sklearn 数据集基本信息的全部内容。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论