import os,re,cv2
import numpy as np
def createTrainLabels(train_img_path):
train_list=os.listdir(train_img_path)
train_label_0=re.compile("train\d+_0\.jpg")
train_label_1=re.compile("train\d+_1\.jpg")
train_label=[]
for img_name in train_list:
if re.fullmatch(train_label_0,img_name):
train_label.append(0)
if re.fullmatch(train_label_1,img_name):
train_label.append(1)
#print(train_label)
return train_label
def createTestLabels(test_img_path):
test_list=os.listdir(test_img_path)
test_label_0=re.compile("test\d+_0\.jpg")
test_label_1=re.compile("test\d+_1\.jpg")
test_label=[]
for img_name in test_list:
if re.fullmatch(test_label_0,img_name):
test_label.append(0)
if re.fullmatch(test_label_1,img_name):
test_label.append(1)
print("testlabel",len(test_label))
return test_label
def readImages(img_path):
img_list=os.listdir(img_path)
i=0
IMG=np.zeros([28*28,len(img_list)],dtype=np.uint8)
for img in img_list:
img=cv2.imread(img_path+"\\"+img,0)
img[img<127]=0
img[img>=127]=1
img.resize([28*28,1])
IMG[:,i]=img[:,0]
i+=1
return IMG
if __name__=="__main__":
train_labels=createTrainLabels(r"E:\download_datasets\MNIST\0_1\0_1_train")# return a list
test_labels=createTestLabels(r"E:\download_datasets\MNIST\0_1\0_1_test")# return a list
train_images=readImages(r"E:\download_datasets\MNIST\0_1\0_1_train")# return an array
test_images=readImages(r"E:\download_datasets\MNIST\0_1\0_1_test")# return an array
train_number=len(train_labels)
test_number=len(test_labels)
features=28*28
X=train_images
Y=(np.array(train_labels)).reshape([1,train_number])
r=0.01
W=np.random.random([1,features])
b=np.random.random([1,1])
for i in range(100):
Z=np.dot(W,X)+b
a=1/(1+np.exp(-Z))
dW=np.dot((a-Y),X.T)
db=np.dot((a-Y),np.ones([train_number,features]))[0,0]
#db=db_array
W=W-r*dW
b=b-r*db
Z_t=np.dot(W,test_images)+b
a_t=1/(1+np.exp(-Z_t))
a_t[a_t<0.5]=int(0)
a_t[a_t>=0.5]=int(1)
predict=a_t
print("Predict:",predict)
right=(np.array(test_labels)).reshape([1,test_number])
print("TestLabels:",right)
errors=predict-right
print("Errors:",errors)
没有合适的资源?快使用搜索试试~ 我知道了~
自己做的手写数字样本及knn分类代码
共146个文件
png:130个
npy:8个
xml:5个
需积分: 15 9 下载量 99 浏览量
2018-11-23
12:06:22
上传
评论 1
收藏 361KB ZIP 举报
温馨提示
https://blog.csdn.net/zugexiaodui/article/details/84379028 自己做的一点样本,有knn数字分类代码,与上边链接中我的博客相对应的。
资源推荐
资源详情
资源评论
收起资源包目录
自己做的手写数字样本及knn分类代码 (146个子文件)
ML_PG.iml 398B
trainIMG.npy 120KB
IMG_w.npy 96KB
testIMG.npy 36KB
trainLAB.npy 1KB
trainLabels.npy 480B
testLAB.npy 380B
testLabels.npy 200B
IMG_b.npy 160B
img99.png 3KB
img19.png 3KB
img39.png 3KB
img29.png 3KB
img59.png 3KB
img5.png 3KB
img69.png 3KB
img89.png 3KB
img49.png 3KB
img21.png 3KB
img95.png 3KB
img9.png 3KB
img91.png 3KB
img35.png 3KB
img85.png 3KB
img79.png 3KB
img25.png 3KB
img65.png 3KB
img15.png 3KB
img11.png 3KB
img29.png 3KB
img75.png 3KB
img51.png 3KB
img81.png 3KB
img25.png 3KB
img31.png 3KB
img19.png 3KB
img55.png 3KB
img5.png 3KB
img45.png 3KB
img9.png 3KB
img15.png 3KB
img30.png 3KB
img30.png 3KB
img90.png 3KB
img27.png 3KB
img10.png 3KB
img61.png 3KB
img1.png 3KB
img41.png 3KB
img67.png 3KB
img20.png 3KB
img60.png 3KB
img7.png 3KB
img80.png 3KB
img20.png 3KB
img40.png 3KB
img47.png 3KB
img10.png 3KB
img50.png 3KB
img1.png 3KB
img17.png 3KB
img77.png 3KB
img97.png 3KB
img100.png 3KB
img11.png 3KB
img71.png 3KB
img21.png 3KB
img37.png 3KB
img87.png 3KB
img70.png 3KB
img17.png 3KB
img57.png 3KB
img96.png 3KB
img86.png 3KB
img26.png 3KB
img7.png 3KB
img56.png 3KB
img27.png 3KB
img36.png 3KB
img26.png 3KB
img16.png 2KB
img93.png 2KB
img66.png 2KB
img46.png 2KB
img76.png 2KB
img14.png 2KB
img74.png 2KB
img6.png 2KB
img54.png 2KB
img16.png 2KB
img33.png 2KB
img34.png 2KB
img24.png 2KB
img4.png 2KB
img3.png 2KB
img6.png 2KB
img64.png 2KB
img53.png 2KB
img14.png 2KB
img24.png 2KB
共 146 条
- 1
- 2
资源评论
足各小兑
- 粉丝: 99
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功