鳶【音:yuān】尾花(Iris)是單子葉百合目花卉陨帆,是一種比較常見的花斗躏,可能不經(jīng)意間你就能在某個(gè)公園里碰見它,而且鳶尾花的品種較多图云。如果逛公園的時(shí)负蚊,想在女神面前一展才華胁孙,不妨了解下關(guān)于鳶尾花種類識(shí)別的數(shù)據(jù)集:)
鳶尾花數(shù)據(jù)集可能是模式識(shí)別笔横、機(jī)器學(xué)習(xí)等領(lǐng)域里被使用最多的一個(gè)數(shù)據(jù)集了约计,很多教材用這份數(shù)據(jù)來做案例,很多工具木张,包括R众辨、scikit-learn,都會(huì)自帶這些數(shù)據(jù)集舷礼,而且說學(xué)術(shù)界很多論文也應(yīng)用這份數(shù)據(jù)做實(shí)驗(yàn)泻轰,可見這份數(shù)據(jù)的重要意義。
數(shù)據(jù)來源和背景
鳶尾花數(shù)據(jù)集最初由Edgar Anderson 測(cè)量得到且轨,而后在著名的統(tǒng)計(jì)學(xué)家和生物學(xué)家R.A Fisher于1936年發(fā)表的文章「The use of multiple measurements in taxonomic problems」中被使用,用其作為線性判別分析(Linear Discriminant Analysis)的一個(gè)例子虚婿,證明分類的統(tǒng)計(jì)方法旋奢,從此而被眾人所知,尤其是在機(jī)器學(xué)習(xí)這個(gè)領(lǐng)域然痊。
數(shù)據(jù)中的兩類鳶尾花記錄結(jié)果是在加拿大加斯帕半島上至朗,于同一天的同一個(gè)時(shí)間段,使用相同的測(cè)量?jī)x器剧浸,在相同的牧場(chǎng)上由同一個(gè)人測(cè)量出來的锹引。這是一份有著70年歷史的數(shù)據(jù),雖然老唆香,但是卻很經(jīng)典嫌变,詳細(xì)數(shù)據(jù)集可以在UCI數(shù)據(jù)庫(kù)中找到。
數(shù)據(jù)集詳情
鳶尾花數(shù)據(jù)集共收集了三類鳶尾花躬它,即Setosa鳶尾花腾啥、Versicolour鳶尾花和Virginica鳶尾花,每一類鳶尾花收集了50條樣本記錄冯吓,共計(jì)150條倘待。
數(shù)據(jù)集包括4個(gè)屬性,分別為花萼的長(zhǎng)组贺、花萼的寬凸舵、花瓣的長(zhǎng)和花瓣的寬。對(duì)花瓣我們可能比較熟悉失尖,花萼是什么呢啊奄?花萼是花冠外面的綠色被葉渐苏,在花尚未開放時(shí),保護(hù)著花蕾增热。四個(gè)屬性的單位都是cm
整以,屬于數(shù)值變量,四個(gè)屬性均不存在缺失值的情況峻仇,以下是各屬性的一些統(tǒng)計(jì)值如下:
屬性 | 最大值 | 最小值 | 均值 | 方差 |
---|---|---|---|---|
萼長(zhǎng) | 7.9 | 4.3 | 5.84 | 0.83 |
萼寬 | 4.4 | 2.0 | 3.05 | 0.43 |
瓣長(zhǎng) | 6.9 | 1.0 | 3.76 | 1.76 |
瓣寬 | 2.5 | 0.1 | 1.20 | 0.76 |
數(shù)據(jù)探索
在做任何機(jī)器學(xué)習(xí)的任務(wù)之前公黑,需要對(duì)數(shù)據(jù)集進(jìn)行探索,對(duì)其要有基本的認(rèn)識(shí)摄咆,包括數(shù)據(jù)背后的業(yè)務(wù)背景凡蚜、數(shù)據(jù)的量級(jí)、是否有缺失值吭从、數(shù)據(jù)屬性的數(shù)據(jù)類型朝蜘,還有各個(gè)屬性的極值、均值涩金、分布等匯總統(tǒng)計(jì)指標(biāo)谱醇。常用的指標(biāo)包括:
1、頻率和眾數(shù)步做,針對(duì)無序分類數(shù)據(jù)集副渴,其中眾數(shù)是具有最高頻率的值。
2全度、百分位數(shù)煮剧,主要針對(duì)有序數(shù)據(jù)集,比如我們可計(jì)算鳶尾花數(shù)據(jù)集中的四個(gè)屬性的10将鸵、25勉盅、50、75顶掉、90等百分位數(shù)草娜。
3、位置度量一喘,包括均值
和中位數(shù)
驱还。
4、散布度量凸克,主要用極差
和方差
兩個(gè)指標(biāo)议蟆,跟均值和中位數(shù)一樣,多用于描述連續(xù)數(shù)據(jù)屬性萎战。因?yàn)闃O差和方差均對(duì)離群值敏感咐容,所以還可以采用絕對(duì)平均偏差
、中位數(shù)絕對(duì)偏差
和四分位數(shù)極差
等指標(biāo)來度量蚂维。
5戳粒、在多元屬性的數(shù)據(jù)集中路狮,每個(gè)屬性的散布度量可獨(dú)立其他屬性,使用4中的指標(biāo)來計(jì)算蔚约,但對(duì)于連續(xù)變量的數(shù)據(jù)奄妨,散布度量會(huì)更多采用協(xié)方差
來表示。
數(shù)據(jù)探索不僅需要匯總統(tǒng)計(jì)苹祟,有時(shí)適當(dāng)?shù)目梢暬梢詭砀庇^的效果砸抛。對(duì)數(shù)據(jù)的可視化,可以讓我們更快速更有效的了解數(shù)據(jù)的信息树枫。Python中有強(qiáng)大的工具可讓我們做這些數(shù)據(jù)探索直焙,屬性的匯總統(tǒng)計(jì)指標(biāo)使用numpy
中的統(tǒng)計(jì)函數(shù)計(jì)算,而matplotlib
用來做數(shù)據(jù)的可視化也是非常方便砂轻。
常見的可視化技術(shù)奔誓,比如針對(duì)少量屬性的可視化,多采用直方圖搔涝、盒裝圖厨喂、餅圖、散布圖庄呈、百分位數(shù)圖等杯聚。以萼長(zhǎng)、萼寬屬性為例抒痒,可得到三類鳶尾花在萼長(zhǎng)和萼寬上的散布圖,如下:
給出繪制該散步圖的代碼:
from matplotlib import pyplot
from sklearn.datasets import load_iris
iris = load_iris()
setosa_sepal_len = iris.data[:50, 0]
setosa_sepal_width = iris.data[:50, 1]
versi_sepal_len = iris.data[50:100, 0]
versi_sepal_width = iris.data[50:100, 1]
vergi_sepal_len = iris.data[100:, 0]
vergi_sepal_width = iris.data[100:, 1]
pyplot.scatter(setosa_sepal_len, setosa_sepal_width, marker = 'o', c = 'b', s = 30, label = 'Setosa')
pyplot.scatter(versi_sepal_len, versi_sepal_width, marker = 'o', c = 'r', s = 50, label = 'Versicolour')
pyplot.scatter(vergi_sepal_len, vergi_sepal_width, marker = 'o', c = 'y', s = 35, label = 'Virginica')
pyplot.xlabel("sepal length")
pyplot.ylabel("sepal width")
pyplot.title("sepal length and width scatter")
pyplot.legend(loc = "upper right")
(全文完)