From 6a05f59d9789a4906dca0fdb2d92fb043a246c55 Mon Sep 17 00:00:00 2001 From: Pawel Felcyn Date: Sat, 27 May 2023 11:34:26 +0200 Subject: [PATCH] read csv with training data --- machine_learning/decisionTree.py | 23 +++++++++++++++++++++++ machine_learning/trainingData.py | 7 +++++++ 2 files changed, 30 insertions(+) create mode 100644 machine_learning/decisionTree.py create mode 100644 machine_learning/trainingData.py diff --git a/machine_learning/decisionTree.py b/machine_learning/decisionTree.py new file mode 100644 index 0000000..17cc4e1 --- /dev/null +++ b/machine_learning/decisionTree.py @@ -0,0 +1,23 @@ +import os +from trainingData import TrainingData + + +def _read_training_data() -> TrainingData: + attributes: list[list[str]] = [] + classes: list[str] = [] + __location__ = os.path.realpath( + os.path.join(os.getcwd(), os.path.dirname(__file__))) + file = open(os.path.join(__location__, 'training_data.csv')) + lines = file.readlines()[1:] + file.close() + for line in lines: + actual_row = line.replace('\n', '') + values = actual_row.split(',') + line_attributes = values[:-1] + line_class = values[-1] + attributes.append(line_attributes) + classes.append(line_class) + return TrainingData(attributes, classes) + +trainning_data = _read_training_data() + \ No newline at end of file diff --git a/machine_learning/trainingData.py b/machine_learning/trainingData.py new file mode 100644 index 0000000..f2b78e6 --- /dev/null +++ b/machine_learning/trainingData.py @@ -0,0 +1,7 @@ +class TrainingData: + attributes: list[list[str]] + classes: list[str] + + def __init__(self, attributes: list[list[str]], classes: list[str]) -> None: + self.attributes = attributes + self.classes = classes \ No newline at end of file