aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/predict.py22
-rw-r--r--src/theta1
-rw-r--r--src/train.py32
3 files changed, 55 insertions, 0 deletions
diff --git a/src/predict.py b/src/predict.py
new file mode 100644
index 0000000..85c7eac
--- /dev/null
+++ b/src/predict.py
@@ -0,0 +1,22 @@
+class Predictor:
+ def __init__(self, filename='theta'):
+ self.filename = filename
+ self.theta1, self.theta0 = self.read_theta()
+
+ def make_prediction(self, x):
+ return x * self.theta1 + self.theta0
+
+ def read_theta(self):
+ try:
+ with open(self.filename, 'r') as file:
+ strs = file.read().strip().split(",")
+ if len(strs) != 2:
+ raise "wrong theta file format"
+ return int(strs[0]), int(strs[1])
+ except IOError:
+ print(self.filename, "do not exist")
+
+if __name__ == "__main__":
+ p = Predictor()
+ x = int(input("Enter a mileage: "))
+ print("The predicted price for this mileage is", p.make_prediction(x))
diff --git a/src/theta b/src/theta
new file mode 100644
index 0000000..15794e0
--- /dev/null
+++ b/src/theta
@@ -0,0 +1 @@
+0,0
diff --git a/src/train.py b/src/train.py
new file mode 100644
index 0000000..a31d032
--- /dev/null
+++ b/src/train.py
@@ -0,0 +1,32 @@
+class Model:
+ def __init__(self, filename='../data.csv'):
+ self.datafile = filename
+
+ def train(self):
+ pass
+
+ def partial_theta1(self):
+ pass
+
+ def partial_theta0(self):
+ pass
+
+ def gradient_descent(self):
+ pass
+
+ def read_data(self):
+ pass
+
+ def normalize_data(self):
+ pass
+
+ def write_theta(self):
+ pass
+
+
+if __name__ == "__main__":
+ m = Model()
+ m.read_data()
+ m.normalize_data()
+ m.train()
+ m.write_theta()