summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2016-03-06 14:36:32 +0100
committerschneefux <schneefux+commit@schneefux.xyz>2016-03-06 14:36:32 +0100
commitcfb78b245164f1088fd450200fcd846adca82ba3 (patch)
treee62d00a39b31fb707c73be8f8bfd0afb11359dab
parent71da733b64e476fe97c9635656e94b43bc0af0aa (diff)
downloadboston-neuralnet-cfb78b245164f1088fd450200fcd846adca82ba3.tar.gz
boston-neuralnet-cfb78b245164f1088fd450200fcd846adca82ba3.zip
lineare Regression dokumentiert; lineare Regression trainiert Testdaten nicht mehr…
-rw-r--r--linear.py33
1 files changed, 18 insertions, 15 deletions
diff --git a/linear.py b/linear.py
index bec85db..4f57970 100644
--- a/linear.py
+++ b/linear.py
@@ -1,28 +1,31 @@
#!/usr/bin/python3
-from sklearn.datasets import *
+from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.cross_validation import train_test_split
import numpy as np
-# TODO schön machen und verweisen
-
+# 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)
-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(data.data, data.target)
+model.fit(X_train, y_train)
-p=model.predict(X_test)
-print(p)
-print('diff')
-print('')
-print(y_test - p)
-squares=[]
-for n in range(len(p)):
- squares.append((y_test[n] - p[n])**2)
+# 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(np.mean(squares))
+print(mse)