mirror of
https://github.com/3x4byte/StreetsignRecognition.git
synced 2025-12-22 01:45:52 +00:00
49 lines
2.1 KiB
Python
49 lines
2.1 KiB
Python
import csv
|
|
import os
|
|
from random import randint
|
|
import random
|
|
|
|
from classes.learner import Learner
|
|
from classes.concept import Concept
|
|
|
|
all_data = os.path.abspath(os.path.join(__file__, "..", "all_feature_vectors.csv"))
|
|
path_to_data = os.path.abspath(os.path.join(__file__, "..", "..", "data"))
|
|
training = os.path.abspath(os.path.join(__file__, "..", "training.csv"))
|
|
testing = os.path.abspath(os.path.join(__file__, "..", "testing.csv"))
|
|
|
|
def split_all_data(all_data_path: str, future_training_path: str, future_testing_path: str):
|
|
training_data = []
|
|
testing_data = []
|
|
with open(all_data_path, "r") as all_data:
|
|
reader = csv.reader(all_data, delimiter=';')
|
|
next(reader)
|
|
for row in reader:
|
|
is_training = randint(0, 9) < 8
|
|
if is_training:
|
|
training_data.append(row)
|
|
else:
|
|
testing_data.append(row)
|
|
|
|
random.shuffle(training_data)
|
|
random.shuffle(testing_data)
|
|
with open(future_training_path, 'w') as csv_file:
|
|
writer = csv.writer(csv_file, delimiter=";", lineterminator="\n")
|
|
writer.writerow(['brightness','filename','concept', 'vector'])
|
|
for sing in training_data:
|
|
writer.writerow(sing)
|
|
|
|
with open(future_testing_path, 'w') as csv_file:
|
|
writer = csv.writer(csv_file, delimiter=";", lineterminator="\n")
|
|
writer.writerow(['brightness','filename','concept', 'vector'])
|
|
for sing in testing_data:
|
|
writer.writerow(sing)
|
|
|
|
split_all_data(all_data, training, testing)
|
|
|
|
# learner = Learner(k_paramater=3)
|
|
# learner.learn(path_to_data_set)
|
|
|
|
# #TODO: add feature vector
|
|
# distances = learner.classify([0, 57, 0, 19, 0, 24, 0, 20, 0, 10, 0, 70, 0, 63, 0, 26, 0, 11, 0, 78, 0, 11, 0, 11, 0, 19, 0, 10, 0, 71, 0, 71, 0, 17, 0, 12, 0, 37, 0, 62, 0, 1, 0, 66, 0, 33, 0, 1, 0, 77, 0, 12, 0, 11, 0, 76, 0, 13, 0, 11, 0, 100, 0, 0, 0, 0, 0, 63, 0, 36, 0, 1, 0, 76, 0, 13, 0, 11, 0, 17, 0, 11, 0, 72, 0, 75, 0, 14, 0, 11, 0, 65, 0, 23, 0, 12, 0, 17, 0, 11, 0, 72, 18, 35, 2])
|
|
|
|
# print(learner.analyse(distances, Concept.RECHTS_ABBIEGEN)) |