KNN实现识别手写英文字母

本文介绍了如何使用KNN算法对手写英文字母进行识别,数据集来源于作者之前的博客分享,详细探讨了数据预处理、特征提取及模型训练过程。
摘要由CSDN通过智能技术生成
import numpy as np
import pandas as pd


train=pd.read_csv("D:\PyCharm_test\keras\\train_data.csv",header=None)
test=pd.read_csv("D:\PyCharm_test\keras\\test_data.csv",header=None)

(train_data,train_labels)=(np.array(train.loc[:,1:]),np.array(train.loc[:,0]))
(test_data,test_labels)=(np.array(test.loc[:,1:]),np.array(test.loc[:,0]))

train_data=np.where(train_data>0,1,0)
test_data=np.where(test_data>0,1,0)

print(test_data.shape[0])
def countXsd(train_data,test_data):
    n=0
    for test,testlab in zip(test_data,test_labels):
        n=n+fenlei(train_labels,np.sum(((train_data-test)*(train_data-test)),axis=1),testlab)
    return n

def fenlei(train_labels,test_train,testlab):
    t_array=np.vstack((test_train,train_labels))
    t_array=t_array[:,t_array[0].argsort()]
    # 排序
    d=dict(pd.DataFrame(t_array[:,:100]).loc[1].value_counts())
    n=max(d, key=d.get)
    if n==test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值