summaryrefslogtreecommitdiff
path: root/linearregression.py
diff options
context:
space:
mode:
Diffstat (limited to 'linearregression.py')
-rw-r--r--linearregression.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/linearregression.py b/linearregression.py
new file mode 100644
index 0000000..4f57970
--- /dev/null
+++ b/linearregression.py
@@ -0,0 +1,31 @@
+#!/usr/bin/python3
+from sklearn.datasets import load_boston
+from sklearn.linear_model import LinearRegression
+from sklearn.cross_validation import train_test_split
+import numpy as np
+
+# Ein gleicher Wert SEED bei der linearen Regression
+# und bei der Implementierung des kNN bewirkt,
+# dass Trainings- und Testreihe gleich sind
+# und damit das Ergebnis vergleichbar.
+SEED = 42
+np.random.seed(SEED)
+
+# Datenreihe laden und in Trainings- und Testreihe aufteilen
+data = load_boston()
+X_train, X_test, y_train, y_test = train_test_split(
+ data.data, data.target, train_size=0.85)
+
+# Die lineare Regression auf die Trainingsdaten anwenden
+model = LinearRegression()
+model.fit(X_train, y_train)
+
+# Die Testdaten vorhersagen
+prediction = model.predict(X_test)
+# Das Quadrat aller Differenzen berechnen
+mse = np.mean([
+ (y_test[n] - prediction[n]) ** 2
+ for n in range(len(prediction))
+])
+
+print(mse)