python机器学习sklearn实现识别数字_第1页
python机器学习sklearn实现识别数字_第2页
python机器学习sklearn实现识别数字_第3页
python机器学习sklearn实现识别数字_第4页
python机器学习sklearn实现识别数字_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第python机器学习sklearn实现识别数字目录简介数据集数据处理数据分离训练数据数据可视化完整代码

简介

本文主要简述如何通过sklearn模块来进行预测和学习,最后再以图表这种更加直观的方式展现出来

数据集

学习数据

预测数据

数据处理

数据分离

因为我们打开我们的的学习数据集,最后一项是我们的真实数值,看过小唐上一篇的人都知道,老规矩先进行拆分,前面的特征放一块,后面的真实值放一块,同时由于数据没有列名,我们选择使用iloc[]来实现分离

defshuju(tr_path,ts_path,sep='\t'):

train=pd.read_csv(tr_path,sep=sep)

test=pd.read_csv(ts_path,sep=sep)

#特征和结果分离

train_features=train.iloc[:,:-1].values

train_labels=train.iloc[:,-1].values

test_features=test.iloc[:,:-1].values

test_labels=test.iloc[:,-1].values

returntrain_features,test_features,train_labels,test_labels

训练数据

我们在这里直接使用sklearn函数,通过选择模型,然后直接生成其识别规则

#训练数据

deftrain_tree(*data):

x_train,x_test,y_train,y_test=data

clf=DecisionTreeClassifier()

clf.fit(x_train,y_train)

print("学习模型预测成绩:{:.4f}".format(clf.score(x_train,y_train)))

print("实际模型预测成绩:{:.4f}".format(clf.score(x_test,y_test)))

#返回学习模型

returnclf

数据可视化

为了让我们的观察更加直观,我们还可以使用matplotlib来进行观测

defplot_imafe(test,test_labels,preds):

plt.ion()

plt.show()

foriinrange(50):

label,pred=test_labels[i],preds[i]

title='实际值:{},predict{}'.format(label,pred)

img=test[i].reshape(28,28)

plt.imshow(img,cmap="binary")

plt.title(title)

plt.show()

print('done')

结果

完整代码

importpandasaspd

fromsklearn.treeimportDecisionTreeClassifier

importmatplotlib.pyplotasplt

defshuju(tr_path,ts_path,sep='\t'):

train=pd.read_csv(tr_path,sep=sep)

test=pd.read_csv(ts_path,sep=sep)

#特征和结果分离

train_features=train.iloc[:,:-1].values

train_labels=train.iloc[:,-1].values

test_features=test.iloc[:,:-1].values

test_labels=test.iloc[:,-1].values

returntrain_features,test_features,train_labels,test_labels

#训练数据

deftrain_tree(*data):

x_train,x_test,y_train,y_test=data

clf=DecisionTreeClassifier()

clf.fit(x_train,y_train)

print("学习模型预测成绩:{:.4f}".format(clf.score(x_train,y_train)))

print("实际模型预测成绩:{:.4f}".format(clf.score(x_test,y_test)))

#返回学习模型

returnclf

defplot_imafe(test,test_labels,preds):

plt.ion()

plt.show()

foriinrange(50):

label,pred=test_labels[i],preds[i]

title='实际值:{},predict{}'.format(label,pred)

img=test[i].reshape(28,28)

plt.imshow(img,cmap="binary")

plt.title(title)

plt.show()

print('done')

train_features,test_features,train_labels,test_labels=shuju(r"C:\Users\twy\PycharmProjects\1\train_images.csv",r"C:\Users\twy\PycharmProjects\1\test_images.csv")

clf=train_tree

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论