您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)大數(shù)據(jù)中如何使用機(jī)器學(xué)習(xí)模型快速進(jìn)行圖像分類識(shí)別,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
我們介紹借助sklearn庫(kù)創(chuàng)建用于進(jìn)行分類預(yù)測(cè)的機(jī)器學(xué)習(xí)模型。對(duì)分類問(wèn)題進(jìn)行預(yù)測(cè)同樣屬于監(jiān)督學(xué)習(xí)的范疇,通過(guò)對(duì)已知數(shù)據(jù)的類別的標(biāo)記,來(lái)實(shí)現(xiàn)對(duì)未知數(shù)據(jù)的類別的預(yù)測(cè)和判定。
常見的應(yīng)用領(lǐng)域包括:垃圾郵件識(shí)別、垃圾短信識(shí)別、圖像分類識(shí)別等等。
常見的應(yīng)用算法則有:SVM(支持向量機(jī))、K緊鄰、樸素貝葉斯、隨機(jī)森林等等。
下面,我們就通過(guò)Digits手寫數(shù)字集來(lái)進(jìn)行機(jī)器學(xué)習(xí)分類模型的介紹。
本篇選用的手寫數(shù)字?jǐn)?shù)據(jù)集同樣來(lái)自有sklearn.datasets子模塊,其由著名的UCI 機(jī)器學(xué)習(xí)庫(kù)提供:
該數(shù)據(jù)集由1797個(gè)8x8圖像組成。每個(gè)圖像,都是手寫數(shù)字。
就像上一篇導(dǎo)入波士頓數(shù)據(jù)集一樣,我們從sklearn模塊中進(jìn)行導(dǎo)入:
接著查看數(shù)據(jù)集中包含的子方法:
與波士頓數(shù)據(jù)集類似,其提供了images、target_names、target、data、DESCR等方法。其中:
images:表示圖像的原始數(shù)組;
target_names:表示圖像分類中所有的數(shù)字;
target:表示圖像數(shù)組對(duì)應(yīng)的數(shù)字名稱;
data:表示圖像的一維特征數(shù)組;
DESCR:表示數(shù)據(jù)集描述信息;
從這兩個(gè)數(shù)據(jù)集可以發(fā)現(xiàn),sklearn的API還是挺統(tǒng)一和規(guī)范的,很方便進(jìn)行學(xué)習(xí)和調(diào)用。接下來(lái),我們看看每個(gè)方法中到底都是些什么。
通過(guò)查看images的形狀,以及已知的圖像為8×8的形狀,我們可以得知,這個(gè)數(shù)據(jù)集中有1797個(gè)圖像??纯雌渲幸粋€(gè)圖像的內(nèi)容:
這就是一個(gè)圖像轉(zhuǎn)換成數(shù)組之后的形式,我們?cè)趺粗肋@是個(gè)什么圖像呢?可以借助于matplotlib模塊來(lái)將圖像數(shù)組還原為圖像。
可能之前搭建環(huán)境的時(shí)候沒有安裝這個(gè)模塊,我們先來(lái)安裝一下:
然后引入matplotlib模塊,調(diào)用imshow()方法:
可以發(fā)現(xiàn),iamges中的第一個(gè)圖像似乎數(shù)字0。我們繼續(xù)看下面的內(nèi)容。
data的target_name信息顯示,我們的數(shù)據(jù)代表的數(shù)字分類類別為0到9。
數(shù)據(jù)的目標(biāo)值與數(shù)據(jù)集時(shí)匹配的,最后再看看data的data:
數(shù)據(jù)量還是1797條,但是形狀已經(jīng)從二維的(8, 8)變成了一維的64,我們從一個(gè)具體的數(shù)據(jù)中看看:
可以發(fā)現(xiàn),data.data中的數(shù)組將之前8*8的數(shù)組合成為了一個(gè)數(shù)組,這樣才能方便對(duì)圖像的數(shù)組運(yùn)用算法進(jìn)行訓(xùn)練和計(jì)算。那又如何將一維的圖像數(shù)組還原為圖像呢,通過(guò)是上面的方法,但是需要先將一維數(shù)組轉(zhuǎn)換一下形狀:
我們同樣將數(shù)據(jù)集的特征和目標(biāo)轉(zhuǎn)換為pandas的DataFrame,方便各位同學(xué)理解數(shù)據(jù)集的形狀:
同樣使用sklearn提供的train_test_split方法來(lái)對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練集和測(cè)試集的分割:
在此,我們同樣選擇隨機(jī)森林算法 作為機(jī)器學(xué)習(xí)模型估計(jì)器的基本算法來(lái)創(chuàng)建一個(gè)機(jī)器學(xué)習(xí)分類器并進(jìn)行訓(xùn)練:
在訓(xùn)練完成模型之后,我們同樣可以使用模型的predict()方法獲取到測(cè)試集的預(yù)測(cè)結(jié)果:
在面對(duì)回歸模型的時(shí)候,我們可以使用平均絕對(duì)誤差、均方差等方法對(duì)模型的效果進(jìn)行評(píng)估,而在分類算法模型中,我們使用其他的方法進(jìn)行模型效果的評(píng)估,比如:精度分類評(píng)分、召回評(píng)分等。而這些方法,也都在sklearn模塊的metrics子模塊下。
我們來(lái)對(duì)分類模型進(jìn)行效果評(píng)估:
兩種評(píng)估方法的最佳結(jié)果值都是1,看起來(lái)我們的模型準(zhǔn)確度還是蠻高的,大家可以嘗試其他的算法構(gòu)建分類模型。
以上就是大數(shù)據(jù)中如何使用機(jī)器學(xué)習(xí)模型快速進(jìn)行圖像分類識(shí)別,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。