# python 机器学习 sklearn——一起识别数字吧

## 数据处理

### 数据分离

def shuju(tr_path,ts_path,sep='\t'):
#特征和结果分离
train_features=train.iloc[:,:-1].values
train_labels=train.iloc[:,-1].values
test_features = test.iloc[:, :-1].values
test_labels = test.iloc[:, -1].values
return train_features,test_features,train_labels,test_labels

### 训练数据

#训练数据
def train_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)))
#返回学习模型
return clf

### 数据可视化

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 pd
from sklearn.tree import DecisionTreeClassifier
import matplotlib.pyplot as plt
def shuju(tr_path,ts_path,sep='\t'):
#特征和结果分离
train_features=train.iloc[:,:-1].values
train_labels=train.iloc[:,-1].values
test_features = test.iloc[:, :-1].values
test_labels = test.iloc[:, -1].values
return train_features,test_features,train_labels,test_labels
#训练数据
def train_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)))
#返回学习模型
return clf
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')
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)

|
2天前
|

【机器学习】Python与深度学习的完美结合——深度学习在医学影像诊断中的惊人表现
【机器学习】Python与深度学习的完美结合——深度学习在医学影像诊断中的惊人表现
14 3
|
4天前
|

22 5
|
6天前
|

12 0
|
6天前
|

4 0
|
6天前
|

【从零开始学习深度学习】45. Pytorch迁移学习微调方法实战：使用微调技术进行2分类图片热狗识别模型训练【含源码与数据集】
【从零开始学习深度学习】45. Pytorch迁移学习微调方法实战：使用微调技术进行2分类图片热狗识别模型训练【含源码与数据集】
18 0
|
6天前
|

【6月更文挑战第13天】文本分类是机器学习在数字化时代的关键应用，涉及文本预处理、特征提取和模型训练等步骤。常见方法包括基于规则、关键词和机器学习，其中机器学习（如朴素贝叶斯、SVM、深度学习）是主流。在Python中，可使用scikit-learn进行文本分类，例如通过TF-IDF和朴素贝叶斯对新闻数据集进行处理和预测。随着技术发展，未来将深入探索深度学习和多模态数据在文本分类中的应用。
23 2
|
6天前
|

Python机器学习工具与库的现状，并展望其未来的发展趋势
【6月更文挑战第13天】本文探讨了Python在机器学习中的核心地位，重点介绍了Scikit-learn、TensorFlow、PyTorch等主流库的现状。未来发展趋势包括自动化、智能化的工具，增强可解释性和可信赖性的模型，跨领域融合创新，以及云端与边缘计算的结合。这些进展将降低机器学习门槛，推动技术在各领域的广泛应用。
11 3
|
7天前
|

【6月更文挑战第12天】Python和Scikit-learn降低了机器学习的门槛，让初学者也能轻松涉足。Python以其易用性及丰富的库支持成为机器学习首选语言，而Scikit-learn作为开源机器学习库，提供多种算法和工具。通过简单示例展示了如何使用两者处理鸢尾花数据集进行分类，体现其在实践中的高效便捷。掌握这两者，能助你在机器学习领域不断探索和创新。
6 1
|

Python之sklearn2pmml：sklearn2pmml库函数的简介、安装、使用方法之详细攻略daiding
Python之sklearn2pmml：sklearn2pmml库函数的简介、安装、使用方法之详细攻略daiding
630 0
|

Python之sklearn2pmml：sklearn2pmml库函数的简介、安装、使用方法之详细攻略
Python之sklearn2pmml：sklearn2pmml库函数的简介、安装、使用方法之详细攻略
821 0