前言
嗨嘍~大家好呀,這里是魔王吶 !
最近鄰 (k Nearest Neighbors, KNN)演算法是一種分類演算法
1968年由Cover和Hart提出,應用場景有寧符識別、文本分類、 影像識別等領域,
手寫數字識別是一個經典的機器學習問題,通過識別手寫體圖片來判斷數字
因為數字類別是0——9,所以是十分類問題
那今天博主就來教大家探索手寫數字的識別
環境使用:
- Python 3.8 <建議最好是和一樣版本>
- Pycharm
第三方模塊使用:
-
Scikit-learn(以前稱為scikits.learn,也稱為sklearn)
是針對Python 編程語言的免費軟體機器學習庫 ,
它具有各種分類,回歸和聚類演算法,包括支持向量機,隨機森林,梯度提升,k均值和DBSCAN,并且旨在與Python數值科學庫NumPy和SciPy聯合使用,
-
matplotlib
是一個 Python 的 2D繪圖庫
它以各種硬拷貝格式和跨平臺的互動式環境生成出版質量級別的圖形,
如何安裝python第三方模塊:
- win + R 輸入 cmd 點擊確定, 輸入安裝命令 pip install 模塊名 (pip install requests) 回車
- 在pycharm中點擊Terminal(終端) 輸入安裝命令
代碼展示
from sklearn.neighbors import KNeighborsClassifier from sklearn.datasets import load_digits from sklearn.model_selection import train_test_split import matplotlib.pyplot as plt
加載資料
digits = load_digits() data = https://www.cnblogs.com/Qqun261823976/p/digits.data
資料探索
data里面每個元素代表一張圖片
print(data[0])

查看第一幅影像
print(digits.images[0])
第一幅影像代表的數字含義
print(digits.target[0])
將第一幅影像顯示出來
plt.imshow(digits.images[0]) plt.show()
?? <font color =red size=4>更多免費原始碼、解答領取處:點擊</font>

基本上都是這張圖,下面就不放出來了~
分割資料
將25%的資料作為測驗集,其余作為訓練集(你也可以指定其他比例的資料作為訓練集)
train_x, test_x, train_y, test_y = train_test_split(data, digits.target, test_size=0.25, random_state=33) print(train_x)

創建KNN分類器
knn = KNeighborsClassifier(n_neighbors=5) knn.fit(train_x, train_y) print("KNN訓練集得分: %.4lf" % knn.score(train_x, train_y)) print("KNN測驗集得分: %.4lf" % knn.score(test_x, test_y))

測驗分類效果
print(knn.predict(data))

?? <font color =red size=4>博主所有文章素材、解答、原始碼領取處:點擊</font>
推薦往期文章
對python感興趣的小伙伴也可以看一下博主其他相關文章哦~
python小介紹:
python是什么?作業前景如何?怎么算有基礎?爬資料違法嘛?,,
python資料分析前景:
用python分析“資料分析”到底值不值得學習,以及學完之后大概能拿到多少工資
python基礎自測題:
Python 800 道習題 (°ー°〃) 測驗你學廢了嘛
最后推薦一套Python視頻給大家,希望對大家有所幫助:
全套教程!你和大佬只有一步之遙【python教程】
尾語
要成功,先發瘋,下定決心往前沖!
學習是需要長期堅持的,一步一個腳印地走向未來!
未來的你一定會感謝今天學習的你,
—— 心靈雞湯
本文章到這里就結束啦~感興趣的小伙伴可以復制代碼去試試哦 ??
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/528733.html
標籤:Python
上一篇:重溫Python基礎——串列
