這里我們一步步的構(gòu)造使用k-近鄰分類器的手寫識(shí)別系統(tǒng),為了簡(jiǎn)單起見,這里構(gòu)造的系統(tǒng)只能識(shí)別數(shù)字0到9,參考圖2-6,需要識(shí)別的數(shù)字已經(jīng)使用圖形處理軟件,處理成具有相同的色彩和大?。簩捀呤?2像素*32像素的黑白圖形。盡管采用文本格式存儲(chǔ)圖形不能有效地利用內(nèi)存空間,但是為了方便理解,我們還是將圖像轉(zhuǎn)化為文本格式。
1.1,使用k-近鄰算法的手寫識(shí)別系統(tǒng)步驟
(1)收集數(shù)據(jù):提供文本文件
(2)準(zhǔn)備數(shù)據(jù):編寫函數(shù)classify0(),將圖像格式轉(zhuǎn)換為分類器使用的list格式
(3)分析數(shù)據(jù):在Python命令提示符中檢查數(shù)據(jù),確保它符合要求
(4)訓(xùn)練算法:此步驟不適用與k-近鄰算法
(5)測(cè)試算法:編寫函數(shù)使用提供的部分?jǐn)?shù)據(jù)集作為測(cè)試樣本,測(cè)試樣本與非測(cè)試樣本的區(qū)別在于測(cè)試樣本是已經(jīng)完成分類的數(shù)據(jù),如果預(yù)測(cè)分類與實(shí)際類別不同,則標(biāo)記為一個(gè)錯(cuò)誤
(6)使用算法:本例沒有完成此步驟,如果感興趣的話,可以構(gòu)建完整的應(yīng)用程序,從圖形中提取數(shù)字,并完成數(shù)字識(shí)別
1.2,準(zhǔn)備數(shù)據(jù):將圖像轉(zhuǎn)換為測(cè)試向量
實(shí)際圖形存儲(chǔ)在源碼的兩個(gè)子目錄中:目標(biāo)trainingDigits中包含了大約2000個(gè)例子,每個(gè)例子如圖2-6所示,每個(gè)數(shù)字大約有200個(gè)樣本;目錄testDigits中包含了大約900個(gè)測(cè)試數(shù)據(jù),我們使用目錄trainingDigits中的數(shù)據(jù)訓(xùn)練分類器,使用目錄testDigits中的數(shù)據(jù)測(cè)試分類器的效果,兩組數(shù)據(jù)沒有覆蓋,你可以檢查一下這些文件夾的文件是否符合要求。
以上內(nèi)容為大家介紹了基于PythonK-近鄰算法的手寫識(shí)別系統(tǒng),希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。