Skip to content

Commit 99e082f

Browse files
committed
同时预测,Fail
1 parent 69d8cb9 commit 99e082f

File tree

5 files changed

+45
-9
lines changed

5 files changed

+45
-9
lines changed

ch46-机器学习-K近邻/2-英文字母的OCR.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,11 @@
2828

2929
correct = np.count_nonzero(result == labels)
3030
accuracy = correct * 100.0 / 10000
31-
print(accuracy)
31+
print('准确率', accuracy)#93.06
3232
#准确率 到了 93.22%。同样你可以 增加训练样本的数量来提 准确率。
3333

34-
with np.load('knn_data_alphabet.npz') as data:
35-
print(data.files)
36-
train = data['train']
37-
train_labels = data['train_labels']
38-
test = data['test']
39-
test_labels = data['test_labels']
34+
35+
# save the data
36+
np.savez('knn_data_alphabet.npz', train_alphabet=train, train_labels_alphabet=responses,test_alphabet=testData,test_labels_alphabet=labels)
4037

4138
#怎样预测字母?跟预测数字的一样
1.34 MB
Binary file not shown.
File renamed without changes.

ch46-机器学习-K近邻/同时预测数字和英文字母1.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,40 @@
88
同时预测数字和英文字母1.py:
99
"""
1010

11+
12+
13+
import numpy as np
14+
import cv2
15+
from matplotlib import pyplot as plt
16+
17+
with np.load('knn_data_num.npz') as data:
18+
print(data.files) # ['train', 'train_labels', 'test', 'test_labels']
19+
train = data['train']
20+
train_labels = data['train_labels']
21+
test = data['test']
22+
test_labels = data['test_labels']
23+
24+
with np.load('knn_data_alphabet.npz') as data:
25+
print(data.files)
26+
train_alphabet = data['train_alphabet']
27+
train_labels_alphabet = data['train_labels_alphabet']
28+
test_alphabet = data['test_alphabet']
29+
test_labels_alphabet = data['test_labels_alphabet']
30+
31+
# shape不一致,无法合并
32+
# train.shape #(2500, 400)
33+
# train_alphabet.shape#(10000, 17)
34+
# print('合并-数字-字母数据')
35+
# train = np.append(train, train_alphabet)
36+
# tratrain_labelsin = np.append(train_labels,train_labels_alphabet)
37+
# test = np.append(test, test_alphabet)
38+
# test_labels = np.append(test_labels, test_labels_alphabet)
39+
40+
print('加载KNN,数据')
41+
knn = cv2.ml.KNearest_create()
42+
knn.train(train, cv2.ml.ROW_SAMPLE, train_labels)
43+
knn.train(train_alphabet, cv2.ml.ROW_SAMPLE, train_labels_alphabet)
44+
45+
ret, result, neighbours, dist = knn.findNearest(
46+
test, k=5)# shape不一致
47+
#出错,knearest.cpp:325: error: (-215) test_samples.type() == CV_32F && test_samples.cols == samples.cols in function findNearest

ch46-机器学习-K近邻/预测手写数字1.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,17 @@
66

77
"""
88
预测手写数字1.py:
9+
10+
验证码
11+
https://login.bthhotels.com/
912
"""
1013

1114
import numpy as np
1215
import cv2
1316
from matplotlib import pyplot as plt
1417

1518
with np.load('knn_data_num.npz') as data:
16-
print(data.files)
19+
print(data.files) # ['train', 'train_labels', 'test', 'test_labels']
1720
train = data['train']
1821
train_labels = data['train_labels']
1922
test = data['test']
@@ -22,7 +25,6 @@
2225
print('加载KNN,数据')
2326
knn = cv2.ml.KNearest_create()
2427
knn.train(train, cv2.ml.ROW_SAMPLE, train_labels)
25-
ret, result, neighbours, dist = knn.findNearest(test, k=5)
2628

2729
# 加载相片
2830
print('加载相片')

0 commit comments

Comments
 (0)