import numpy as np
from sklearn.datasets import load_digits
from sklearn.preprocessing import LabelBinarizer
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report, confusion_matrix
import matplotlib.pyplot as plt
# load data
digits = load_digits()
print digits.images.shape
# show image
plt.imshow(digits.images[0], cmap='gray')
plt.show()
# data
X = digits.data
# label
y = digits.target
print X.shape
print y.shape
print X[:3]
print y[:3]
# define a nerve network, struct: 64-100-10
# define input layer to hidden layer's value metrics
V = np.random.random((64, 100)) * 2 - 1
# define hidden layer to input layer's value metrics
W = np.random.random((100, 10)) * 2 - 1
# data split
X_train, X_test, y_train, y_test = train_test_split(X, y)
# tag binaryzation
labels_train = LabelBinarizer().fit_transform(y_train)
print y_train[:5]
print labels_train[:5]
# active function
def sigmoid(x):
sklearn手写数字识别
最新推荐文章于 2024-09-13 15:18:18 发布