diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2016-03-06 14:36:32 +0100 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2016-03-06 14:36:32 +0100 |
| commit | cfb78b245164f1088fd450200fcd846adca82ba3 (patch) | |
| tree | e62d00a39b31fb707c73be8f8bfd0afb11359dab | |
| parent | 71da733b64e476fe97c9635656e94b43bc0af0aa (diff) | |
| download | boston-neuralnet-cfb78b245164f1088fd450200fcd846adca82ba3.tar.gz boston-neuralnet-cfb78b245164f1088fd450200fcd846adca82ba3.zip | |
lineare Regression dokumentiert; lineare Regression trainiert Testdaten nicht mehr…
| -rw-r--r-- | linear.py | 33 |
1 files changed, 18 insertions, 15 deletions
@@ -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) |
