diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2016-03-13 18:31:29 +0100 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2016-03-13 18:31:29 +0100 |
| commit | c190cef2867b1815cfeeea93a2d60b82298da469 (patch) | |
| tree | 859113538ffd50595d90369007b047320537d2cc /linearregression.py | |
| parent | 0d6e932c643bd24be4986769de072ec2d18bcbba (diff) | |
| download | boston-neuralnet-c190cef2867b1815cfeeea93a2d60b82298da469.tar.gz boston-neuralnet-c190cef2867b1815cfeeea93a2d60b82298da469.zip | |
rename
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) |
