diff options
Diffstat (limited to 'linearregression.py')
| -rw-r--r-- | linearregression.py | 31 |
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) |
