diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2016-07-24 22:47:08 +0200 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2016-07-24 22:47:08 +0200 |
| commit | 81ab21d0a81afdbab93ed63bde1a77627aa43498 (patch) | |
| tree | 9ec7dd3a466beb22a70119621f0db3eec5d94440 /cd/code/linearregression.py | |
| download | facharbeit-neuralnet-master.tar.gz facharbeit-neuralnet-master.zip | |
Diffstat (limited to 'cd/code/linearregression.py')
| -rw-r--r-- | cd/code/linearregression.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/cd/code/linearregression.py b/cd/code/linearregression.py new file mode 100644 index 0000000..4f57970 --- /dev/null +++ b/cd/code/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) |
