Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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)

AltStyle によって変換されたページ (->オリジナル) /