前面章节中,我们加载了SciKitLearn自带的数据集digits,可以通过以下语句查看数据集中包含哪些主要内容:digits。keys() 输出dictkeys(〔data,target,targetnames,images,DESCR〕)data样本数据target目标值targetnames目标名称images图像格式(二维)的样本数据DESCR描述信息 查看数据集的描述:print(digits。DESCR) 输出。。digitsdataset:OpticalrecognitionofhandwrittendigitsdatasetDataSetCharacteristics::NumberofInstances:5620:NumberofAttributes:64:AttributeInformation:8x8imageofintegerpixelsintherange0。。16。:MissingAttributeValues:None:Creator:E。Alpaydin(alpaydinboun。edu。tr):Date:J1998ThisisacopyofthetestsetoftheUCIMLhandwrittendigitsdatasetshttps:archive。ics。uci。edumldatasetsOpticalRecognitionofHandwrittenDigitsThedatasetcontainsimagesofhandwrittendigits:10classeswhereeachclassreferstoadigit。PreprocessingprogramsmadeavailablebyNISTwereusedtoextractnormalizedbitmapsofhandwrittendigitsfromapreprintedform。Fromatotalof43people,30contributedtothetrainingsetanddifferent13tothetestset。32x32bitmapsarepidedintononoverlappingblocksof4x4andthenumberofonpixelsarecountedineachblock。Thisgeneratesaninputmatrixof8x8whereeachelementisanintegerintherange0。。16。Thisreducesdimensionalityandgivesinvariancetosmalldistortions。ForinfoonNISTpreprocessingroutines,seeM。D。Garris,J。L。Blue,G。T。Candela,D。L。Dimmick,J。Geist,P。J。Grother,S。A。Janet,andC。L。Wilson,NISTFormBasedHandprintRecognitionSystem,NISTIR5469,1994。。。topic::ReferencesC。Kaynak(1995)MethodsofCombiningMultipleClassifiersandTheirApplicationstoHandwrittenDigitRecognition,MScThesis,InstituteofGraduateStudiesinScienceandEngineering,BogaziciUniversity。E。Alpaydin,C。Kaynak(1998)CascadingClassifiers,Kybernetika。KenTangandPonnuthuraiN。SuganthanandXiYaoandA。KaiQin。LineardimensionalityreductionusingrelevanceweightedLDA。SchoolofElectricalandElectronicEngineeringNanyangTechnologicalUniversity。2005。ClaudioGentile。ANewApproximateMaximalMarginClassificationAlgorithm。NIPS。2000。 这是一个手写数字的数据集。 类似地,你也可以查看其它内容:。。digitsdataset:OpticalrecognitionofhandwrittendigitsdatasetDataSetCharacteristics::NumberofInstances:5620:NumberofAttributes:64:AttributeInformation:8x8imageofintegerpixelsintherange0。。16。:MissingAttributeValues:None:Creator:E。Alpaydin(alpaydinboun。edu。tr):Date:J1998ThisisacopyofthetestsetoftheUCIMLhandwrittendigitsdatasetshttps:archive。ics。uci。edumldatasetsOpticalRecognitionofHandwrittenDigitsThedatasetcontainsimagesofhandwrittendigits:10classeswhereeachclassreferstoadigit。PreprocessingprogramsmadeavailablebyNISTwereusedtoextractnormalizedbitmapsofhandwrittendigitsfromapreprintedform。Fromatotalof43people,30contributedtothetrainingsetanddifferent13tothetestset。32x32bitmapsarepidedintononoverlappingblocksof4x4andthenumberofonpixelsarecountedineachblock。Thisgeneratesaninputmatrixof8x8whereeachelementisanintegerintherange0。。16。Thisreducesdimensionalityandgivesinvariancetosmalldistortions。ForinfoonNISTpreprocessingroutines,seeM。D。Garris,J。L。Blue,G。T。Candela,D。L。Dimmick,J。Geist,P。J。Grother,S。A。Janet,andC。L。Wilson,NISTFormBasedHandprintRecognitionSystem,NISTIR5469,1994。。。topic::ReferencesC。Kaynak(1995)MethodsofCombiningMultipleClassifiersandTheirApplicationstoHandwrittenDigitRecognition,MScThesis,InstituteofGraduateStudiesinScienceandEngineering,BogaziciUniversity。E。Alpaydin,C。Kaynak(1998)CascadingClassifiers,Kybernetika。KenTangandPonnuthuraiN。SuganthanandXiYaoandA。KaiQin。LineardimensionalityreductionusingrelevanceweightedLDA。SchoolofElectricalandElectronicEngineeringNanyangTechnologicalUniversity。2005。ClaudioGentile。ANewApproximateMaximalMarginClassificationAlgorithm。NIPS。2000。 注意:如果使用readcsv()导入数据集,数据集已经分割好,导入的数据集中可能没有描述字段,但是你可以使用head()或tail()来检查数据。在这种情况下,最好仔细查看数据描述文件夹! 接下来,我们进一步了解数据集中的数据。 可以看到,数据集中的数据都是numpy数组的格式,可以查看这些数组的数据类型,形状,长度等信息。importnumpyasnp打印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打印targetnames数组的形状print(digits。targetnames。shape)输出:(10,)打印targetnames数组的类型print(digits。targetnames。dtype)输出:int32打印images数组的形状print(digits。images。shape)输出:(1797,8,8)打印images数组的类型print(digits。images。dtype)输出:float64 可以看出,digits。data中,有1797个样本,每个样本有64个特征值(实际上是像素灰度值)。 digits。target中,包含了上面样本数据对应的目标值(样本标签),同样有1797个目标值,但10个唯一值,即09。换句话说,所有1797个目标值都由0到9之间的数字组成,这意味着模型要识别的是从0到9的数字。 digits。targetnames包含了样本标签的名称:09。 最后,可以看到digits。images数组包含3个维度:有1797个实例,大小为88像素。digits。images数据与digits。data内容应该相同,只是格式不同。可以通过以下方式验证两者内容是否相同:print(np。all(digits。images。reshape((1797,64))digits。data))输出:true 把digits。images改变形状为(1797,64),与digits。data比较,两者相等。numpy方法all()可以检测所有数组元素的值是否为True。