python机器学习sklearn实现识别数字
目录
- 简介
- 数据集
- 数据处理
- 数据分离
- 训练数据
- 数据可视化
- 完整代码
简介 本文主要简述如何通过sklearn模块来进行预测和学习,最后再以图表这种更加直观的方式展现出来
数据集 学习数据
预测数据
数据处理
数据分离
因为我们打开我们的的学习数据集,最后一项是我们的真实数值,看过小唐上一篇的人都知道,老规矩先进行拆分,前面的特征放一块,后面的真实值放一块,同时由于数据没有列名,我们选择使用iloc[]来实现分离
def shuju(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].valuestrain_labels=train.iloc[:,-1].valuestest_features = test.iloc[:, :-1].valuestest_labels = test.iloc[:, -1].valuesreturn train_features,test_features,train_labels,test_labels
训练数据 我们在这里直接使用sklearn函数,通过选择模型,然后直接生成其识别规则
#训练数据def train_tree(*data):x_train, x_test, y_train, y_test=dataclf=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)))#返回学习模型return clf
数据可视化 为了让我们的观察更加直观,我们还可以使用matplotlib来进行观测
def plot_imafe(test,test_labels,preds):plt.ion()plt.show()for i in range(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')
结果
文章图片
文章图片
文章图片
文章图片
完整代码
import pandas as pdfrom sklearn.tree import DecisionTreeClassifierimport matplotlib.pyplot as pltdef shuju(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].valuestrain_labels=train.iloc[:,-1].valuestest_features = test.iloc[:, :-1].valuestest_labels = test.iloc[:, -1].valuesreturn train_features,test_features,train_labels,test_labels#训练数据def train_tree(*data):x_train, x_test, y_train, y_test=dataclf=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)))#返回学习模型return clfdef plot_imafe(test,test_labels,preds):plt.ion()plt.show()for i in range(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(train_features,test_features,train_labels,test_labels)preds=clf.predict(test_features)plot_imafe(test_features,test_labels,preds)
【python机器学习sklearn实现识别数字】到此这篇关于python机器学习sklearn实现识别数字的文章就介绍到这了,更多相关python sklearn识别数字内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- Python实现xml格式转txt格式的示例代码
- 机器学习|pyhton 机器学习 sklearn——手把手教你预测心脏病
- python|python机器学习基础01——sklearn开启
- python|python机器学习基础05——sklearn之逻辑回归+分类评价指标
- 机器学习|机器学习—KNN算法
- 一些好玩的事|我赌你没有了解过——Python 图像加密
- Python|机器学习1——手写数字识别
- python图像识别数字_sklearn例程:识别图像中的手写数字
- 基于python的数字识别_基于sklearn数字识别(python开发)
- python|python 车牌识别简单_Python利用百度云接口实现车牌识别