{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Regression\n", "\n", "Hier führen wir eine einfache Regression von zwei Features (also in zwei Dimensionen durch), da dies sich leichter visualisieren lässt. Tatsächlich ist man aber in der Anzahl an Features nicht eingeschränkt. Ziel ist es ein Regression-Model zu erstellen, in dem man einen numerischen Eingabe-Wert (x) eingibt und einen numerischen Ausgabe-Wert (y) erhält." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# Wir erzeugen und ein künstlichen Datenset von 500 Datenpunkten\n", "# mit Hilfe der Funktion make_regression. Mit dem Parameter \n", "# \"noise\" können wir angeben, wie sehr die Daten verauscht sein sollen.\n", "from sklearn.datasets import make_regression\n", "X_reg, y_reg = make_regression(n_samples=500, n_features=1, noise=20, random_state=1)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-1.91835552e-01],\n", " [-5.37223024e-01],\n", " [ 5.64382855e-01],\n", " [ 1.93752881e+00],\n", " [ 1.20205486e+00],\n", " [-2.43483776e+00],\n", " [ 2.10025514e+00],\n", " [ 1.00088142e+00],\n", " [-7.67309826e-01],\n", " [-7.77858827e-01],\n", " [-1.09991490e-01],\n", " [-4.48738033e-01],\n", " [ 6.74570707e-01],\n", " [ 1.74481176e+00],\n", " [-2.26314243e-01],\n", " [ 1.62765075e+00],\n", " [ 3.69492716e-01],\n", " [ 8.25029824e-01],\n", " [ 8.65407629e-01],\n", " [ 3.67231814e-01],\n", " [ 7.78211279e-02],\n", " [ 1.04444209e+00],\n", " [ 8.52704062e-01],\n", " [ 5.82815214e-01],\n", " [-6.70662286e-01],\n", " [ 5.92472801e-01],\n", " [ 4.41364444e-01],\n", " [-2.46169559e-02],\n", " [ 1.38877940e+00],\n", " [ 4.77610182e-01],\n", " [ 1.61694960e+00],\n", " [-7.00398505e-01],\n", " [ 1.62284909e+00],\n", " [ 1.04008915e+00],\n", " [ 3.86539145e-01],\n", " [ 2.19069973e+00],\n", " [ 2.11124755e-01],\n", " [ 8.38983414e-01],\n", " [-3.52249846e-01],\n", " [-1.02188594e+00],\n", " [ 2.18697965e+00],\n", " [-1.61577235e+00],\n", " [ 3.15159392e-01],\n", " [ 1.27852808e+00],\n", " [ 6.18539131e-01],\n", " [ 7.63804802e-02],\n", " [-6.65754518e-01],\n", " [-6.46916688e-01],\n", " [ 6.61020288e-01],\n", " [-4.42229280e-01],\n", " [ 1.03882460e+00],\n", " [ 6.02319280e-01],\n", " [ 1.65275673e-02],\n", " [-1.18231813e+00],\n", " [-2.81736269e-01],\n", " [ 4.35968568e-02],\n", " [ 1.33145711e+00],\n", " [-1.35977326e-01],\n", " [ 1.15528789e+00],\n", " [-7.49969617e-01],\n", " [ 6.23362177e-01],\n", " [ 3.15634947e-01],\n", " [-3.96753527e-01],\n", " [ 7.50411640e-01],\n", " [ 3.23527354e-01],\n", " [-9.35769434e-01],\n", " [ 1.60037069e-01],\n", " [-1.74180344e-01],\n", " [-1.21974440e+00],\n", " [ 4.10051647e-01],\n", " [-7.33271604e-01],\n", " [-8.30168864e-01],\n", " [ 2.32494559e-01],\n", " [ 8.40861558e-01],\n", " [-3.26499498e-01],\n", " [ 6.21082701e-01],\n", " [-4.34956683e-01],\n", " [-1.62743834e+00],\n", " [ 1.14690038e+00],\n", " [-9.01634490e-01],\n", " [ 7.21711292e-01],\n", " [-2.66218506e-01],\n", " [-3.22417204e-01],\n", " [-1.10447026e-01],\n", " [ 1.19783084e+00],\n", " [-7.55717130e-02],\n", " [ 3.24274243e-01],\n", " [ 7.73400683e-02],\n", " [ 3.00170320e-01],\n", " [-2.30839743e-01],\n", " [-1.23685338e+00],\n", " [-1.26645989e-02],\n", " [-8.26097432e-01],\n", " [ 8.84908814e-01],\n", " [-1.09491185e+00],\n", " [ 1.86647138e+00],\n", " [-8.67768678e-01],\n", " [-9.53700602e-01],\n", " [-8.51455657e-01],\n", " [ 1.09899633e+00],\n", " [ 1.98299720e-01],\n", " [-1.16017010e+00],\n", " [-8.80577600e-01],\n", " [ 1.11105670e+00],\n", " [-6.94920901e-01],\n", " [-4.79184915e-01],\n", " [ 7.58805660e-01],\n", " [ 5.20576337e-01],\n", " [-2.02220122e+00],\n", " [ 1.90915485e-01],\n", " [ 9.01486892e-01],\n", " [-5.32234021e-01],\n", " [ 1.33526763e-02],\n", " [-8.87628964e-01],\n", " [-2.79097722e-01],\n", " [-1.09989127e+00],\n", " [-2.96641152e-01],\n", " [ 5.08077548e-02],\n", " [ 4.50155513e-01],\n", " [-6.38730407e-01],\n", " [ 8.01861032e-01],\n", " [ 6.30195671e-01],\n", " [-1.30653407e+00],\n", " [ 1.37701210e-01],\n", " [-6.03920628e-01],\n", " [-3.74804687e-01],\n", " [ 5.03184813e-01],\n", " [ 1.25286816e+00],\n", " [-7.25597119e-01],\n", " [ 1.77187720e-01],\n", " [ 8.75838928e-01],\n", " [ 9.31102081e-01],\n", " [ 6.18380262e-01],\n", " [ 2.13533901e-01],\n", " [-6.61344243e-01],\n", " [-3.10984978e-01],\n", " [-6.18036848e-01],\n", " [-4.47128565e-01],\n", " [ 2.05462410e+00],\n", " [-7.54397941e-01],\n", " [ 3.50545979e-01],\n", " [ 1.45142926e+00],\n", " [ 7.27813500e-01],\n", " [ 2.18628366e-02],\n", " [ 5.02494339e-01],\n", " [-2.30153870e+00],\n", " [ 1.12948391e+00],\n", " [-2.09424782e+00],\n", " [ 6.08514698e-01],\n", " [ 1.01012718e+00],\n", " [ 4.29526140e-01],\n", " [ 7.94528240e-01],\n", " [ 5.50537496e-01],\n", " [ 1.14472371e+00],\n", " [-4.11639163e-01],\n", " [ 5.93578523e-01],\n", " [-5.62305431e-01],\n", " [-1.36444744e-01],\n", " [ 8.64644065e-02],\n", " [-2.41350300e+00],\n", " [-4.22856961e-01],\n", " [-3.10116774e-01],\n", " [-4.43171931e-01],\n", " [ 4.65672984e-02],\n", " [-1.23005814e+00],\n", " [ 4.22137467e-02],\n", " [-1.06793987e-01],\n", " [ 2.06578332e+00],\n", " [-3.19801599e-01],\n", " [ 1.71647264e-02],\n", " [-6.91660752e-01],\n", " [ 6.07501958e-02],\n", " [ 7.92806866e-01],\n", " [-5.11884476e-02],\n", " [-1.34267579e+00],\n", " [ 1.19008646e-01],\n", " [-2.48634778e-01],\n", " [ 1.20845633e+00],\n", " [-1.89636092e+00],\n", " [ 1.61336137e+00],\n", " [ 1.45810824e+00],\n", " [-1.39662042e+00],\n", " [ 1.70459417e+00],\n", " [ 1.23616403e+00],\n", " [-6.87172700e-01],\n", " [-1.11911540e+00],\n", " [ 1.56263850e-01],\n", " [-8.77281519e-01],\n", " [-1.11487105e+00],\n", " [ 8.70969803e-01],\n", " [-1.75458969e-01],\n", " [ 2.05635552e+00],\n", " [ 1.81053491e+00],\n", " [-9.55425262e-01],\n", " [ 8.85141164e-01],\n", " [ 1.96710175e+00],\n", " [-1.44087602e+00],\n", " [-1.94332341e+00],\n", " [-1.94258918e+00],\n", " [-3.84054355e-01],\n", " [-2.78253447e+00],\n", " [-2.23708651e+00],\n", " [ 4.38166347e-01],\n", " [-2.67888080e-01],\n", " [-5.08457134e-01],\n", " [ 8.24005618e-01],\n", " [-1.85798186e+00],\n", " [-4.75372875e-01],\n", " [-2.03720123e+00],\n", " [-5.68244809e-02],\n", " [-1.98837863e-01],\n", " [-1.76068856e+00],\n", " [ 9.39168744e-01],\n", " [ 1.12232832e+00],\n", " [ 1.54335911e+00],\n", " [-7.85533997e-01],\n", " [ 1.55880554e+00],\n", " [-1.04458938e+00],\n", " [ 5.85910431e-01],\n", " [ 2.62467445e-01],\n", " [-1.05344713e-01],\n", " [-8.77858418e-01],\n", " [ 6.74711526e-01],\n", " [-1.72428208e-01],\n", " [-6.06524918e-02],\n", " [ 8.09271010e-02],\n", " [ 2.11060505e+00],\n", " [-1.68405999e+00],\n", " [ 1.29101580e-01],\n", " [ 6.59049796e-01],\n", " [-1.01745873e-01],\n", " [-7.75161619e-01],\n", " [-1.89148284e-03],\n", " [ 1.13162939e+00],\n", " [ 3.03085711e+00],\n", " [ 2.48799161e-01],\n", " [ 1.39984394e+00],\n", " [ 2.80665077e-01],\n", " [-7.61206901e-01],\n", " [ 4.03491642e-01],\n", " [ 1.40754000e+00],\n", " [ 9.54250872e-02],\n", " [ 2.18557541e+00],\n", " [ 1.34048197e-01],\n", " [ 4.66643267e-01],\n", " [-1.74703160e-01],\n", " [ 8.24584625e-01],\n", " [-1.17598267e+00],\n", " [ 4.61164100e-01],\n", " [ 9.21450069e-01],\n", " [ 8.08844360e-01],\n", " [-5.17094458e-01],\n", " [ 1.78975468e+00],\n", " [ 6.82551407e-01],\n", " [-2.14246673e+00],\n", " [ 1.13376944e+00],\n", " [ 6.17203110e-01],\n", " [ 5.15413802e-01],\n", " [-1.15985185e-01],\n", " [-3.06204013e-01],\n", " [ 1.16033857e+00],\n", " [ 6.74396105e-01],\n", " [ 1.95487808e+00],\n", " [-8.59515941e-01],\n", " [-7.22391905e-01],\n", " [-6.11756414e-01],\n", " [ 8.63345318e-01],\n", " [ 3.38011697e-01],\n", " [-2.22328143e-01],\n", " [-9.18440038e-01],\n", " [ 1.35010682e+00],\n", " [ 4.92336556e-01],\n", " [ 1.79215821e+00],\n", " [ 5.02740882e-01],\n", " [-1.80920302e-01],\n", " [-4.97025792e-02],\n", " [ 3.77563786e-01],\n", " [-6.20000844e-01],\n", " [ 5.34095368e-02],\n", " [-2.49370375e-01],\n", " [-4.00878192e-01],\n", " [ 1.23289919e+00],\n", " [-3.75284950e-01],\n", " [ 1.83471763e+00],\n", " [-5.28171752e-01],\n", " [-2.54179868e-01],\n", " [-1.77756638e+00],\n", " [ 1.19891788e+00],\n", " [-4.29142278e-01],\n", " [-6.71246131e-01],\n", " [ 5.12929820e-01],\n", " [-1.90221025e-01],\n", " [-5.45774168e-01],\n", " [-4.98213564e-01],\n", " [ 9.86335188e-01],\n", " [ 1.11570180e+00],\n", " [-2.28765829e-01],\n", " [ 9.20615118e-01],\n", " [ 1.76024923e+00],\n", " [ 1.86561391e-01],\n", " [ 2.13782807e+00],\n", " [ 3.13547720e-01],\n", " [ 7.84770651e-01],\n", " [-2.36436952e-01],\n", " [-7.81911683e-01],\n", " [-7.01344426e-01],\n", " [ 1.12341216e+00],\n", " [ 2.40737092e-01],\n", " [ 8.36004719e-01],\n", " [-4.68673816e-01],\n", " [-1.20464572e-01],\n", " [-5.33020326e-01],\n", " [-6.72448039e-01],\n", " [-6.23530730e-01],\n", " [-2.98092835e-01],\n", " [-7.97269785e-01],\n", " [ 3.53600971e-02],\n", " [-3.84832249e-01],\n", " [ 2.30094735e-01],\n", " [-2.00758069e-01],\n", " [-1.18771172e-01],\n", " [ 2.76499305e-01],\n", " [ 1.69382433e-01],\n", " [-2.08894233e-01],\n", " [-1.84176326e-01],\n", " [-6.94693595e-01],\n", " [-8.45205641e-01],\n", " [-3.43853676e-01],\n", " [-3.43900709e-01],\n", " [-1.86569772e-01],\n", " [-3.49342722e-01],\n", " [-9.97026828e-01],\n", " [ 1.04499441e+00],\n", " [-4.13029310e-01],\n", " [ 6.21803504e-01],\n", " [-1.14251820e+00],\n", " [-6.17362064e-01],\n", " [ 5.84646610e-01],\n", " [-1.95210529e+00],\n", " [ 4.88518147e-01],\n", " [ 8.46160648e-01],\n", " [-6.93286967e-02],\n", " [-4.79157099e-01],\n", " [-1.00155233e-01],\n", " [-1.68198840e-01],\n", " [-1.10771250e+00],\n", " [ 9.01590721e-01],\n", " [-1.10061918e+00],\n", " [ 4.36689932e-02],\n", " [ 9.00855949e-01],\n", " [ 4.23494354e-01],\n", " [ 1.22450770e+00],\n", " [-3.86955093e-02],\n", " [-1.52568032e+00],\n", " [-7.05840507e-01],\n", " [ 1.11813340e+00],\n", " [-6.83727859e-01],\n", " [-1.12201873e+00],\n", " [-4.47895185e-01],\n", " [ 4.51122939e-01],\n", " [-7.47158294e-01],\n", " [-2.87307863e-01],\n", " [ 1.85156417e-01],\n", " [-1.02887218e-01],\n", " [-1.07296862e+00],\n", " [ 2.42669441e-01],\n", " [-9.33914656e-01],\n", " [ 1.95607890e+00],\n", " [ 1.65980218e+00],\n", " [ 7.77419205e-01],\n", " [ 4.51615951e-01],\n", " [-1.95057341e-01],\n", " [-1.44411381e+00],\n", " [-1.11647002e+00],\n", " [ 8.54894544e-03],\n", " [ 4.17302005e-01],\n", " [ 1.19268607e+00],\n", " [ 1.06222724e-01],\n", " [-8.67787223e-01],\n", " [-8.90555584e-01],\n", " [ 2.05117344e+00],\n", " [ 5.30355467e-01],\n", " [-1.86578994e-01],\n", " [ 3.19039096e-01],\n", " [-6.36995647e-01],\n", " [ 1.29322588e+00],\n", " [ 1.20158952e-01],\n", " [-1.75592564e+00],\n", " [-1.19054188e-01],\n", " [-2.11416392e+00],\n", " [ 5.85662000e-01],\n", " [ 1.12141771e+00],\n", " [ 5.62761097e-01],\n", " [ 1.69245460e+00],\n", " [-1.42655542e+00],\n", " [-6.80678141e-01],\n", " [-1.53879325e+00],\n", " [ 4.95211324e-01],\n", " [-1.47115693e+00],\n", " [-1.30572692e+00],\n", " [-1.33195167e+00],\n", " [ 1.21821271e-01],\n", " [ 4.08900538e-01],\n", " [ 8.05393424e-01],\n", " [ 1.11438298e+00],\n", " [ 1.76533510e+00],\n", " [ 8.76168921e-01],\n", " [ 1.10417433e+00],\n", " [ 1.03368687e+00],\n", " [-2.50644065e+00],\n", " [ 5.15073614e-01],\n", " [-5.93843067e-01],\n", " [-2.37941936e-01],\n", " [ 8.10951673e-01],\n", " [ 2.52832571e+00],\n", " [ 3.52494364e-01],\n", " [-5.86523939e-01],\n", " [-3.44987210e-01],\n", " [ 4.20282204e-01],\n", " [ 7.40556451e-01],\n", " [ 7.95026094e-01],\n", " [ 3.10272288e-01],\n", " [-1.37311732e+00],\n", " [ 1.09402696e-01],\n", " [-1.77183179e-02],\n", " [-2.06014071e+00],\n", " [-2.03394449e-01],\n", " [-1.87316098e+00],\n", " [ 8.27974643e-01],\n", " [-5.57494722e-01],\n", " [-8.22467189e-01],\n", " [-1.31228341e+00],\n", " [ 2.85587325e-01],\n", " [ 6.80069840e-01],\n", " [-1.98998184e-01],\n", " [-7.31127037e-02],\n", " [-4.14846901e-01],\n", " [-3.74438319e-01],\n", " [-5.04465863e-01],\n", " [-2.97361883e-01],\n", " [ 1.46089238e+00],\n", " [ 6.98032034e-01],\n", " [ 2.82675712e-01],\n", " [ 6.54580153e-01],\n", " [ 3.66332015e-01],\n", " [ 8.68886157e-01],\n", " [ 1.62434536e+00],\n", " [-2.79308500e+00],\n", " [-3.31283170e-01],\n", " [-5.99804531e-01],\n", " [-1.40232915e+00],\n", " [ 5.28879746e-01],\n", " [-1.65072127e+00],\n", " [-1.27255876e+00],\n", " [ 3.05267040e-01],\n", " [-4.18937898e-01],\n", " [-3.53679249e-02],\n", " [ 4.51284016e-01],\n", " [-8.28627979e-01],\n", " [ 3.50167159e-01],\n", " [ 1.76795995e+00],\n", " [-8.30171895e-01],\n", " [ 7.14789597e-01],\n", " [-1.23312074e+00],\n", " [-4.37508983e-01],\n", " [ 5.29465324e-01],\n", " [ 2.34415698e-01],\n", " [-1.00016919e+00],\n", " [ 7.42044161e-01],\n", " [ 4.51946037e-01],\n", " [-8.61316361e-01],\n", " [ 2.84748111e-01],\n", " [-1.39649634e+00],\n", " [ 3.26145467e-02],\n", " [ 5.86623191e-01],\n", " [ 2.01830179e-01],\n", " [ 6.17985534e-01],\n", " [-1.67419581e+00],\n", " [ 8.53281222e-01],\n", " [-1.14434139e+00],\n", " [-1.11731035e+00],\n", " [ 1.11584111e+00],\n", " [ 9.56121704e-01],\n", " [ 1.46210794e+00],\n", " [ 9.20017933e-01],\n", " [-1.22890226e-01],\n", " [ 1.23225307e+00],\n", " [-1.57915629e+00],\n", " [ 1.51981682e+00],\n", " [ 1.27375593e+00],\n", " [-8.45080274e-02],\n", " [ 1.90465871e+00],\n", " [-1.08392067e-01],\n", " [-6.06998398e-01],\n", " [ 1.74094083e-02],\n", " [-1.19926803e+00],\n", " [ 2.44936865e+00],\n", " [-9.97019796e-01],\n", " [-6.25342001e-01],\n", " [ 7.62011180e-01]])" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_reg" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(500, 1)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_reg.shape" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(500,)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_reg.shape" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Wir können die Daten zweidimensional plotten.\n", "# Die x-Achse stellt die Eingangswerte dar, die y-Achse\n", "# die davon abhängigen Werte.\n", "# (mit \"X_reg[:,0]\" wird die erste und einzige Spalte, der prinzipiell\n", "# n-dimensionalen Input-Werte-Matrix genutzt)\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "plt.plot(X_reg[:,0], y_reg, \".\")" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# Wir möchten für diese Daten eine lineares Regression-Modell erstellen,\n", "# laden dafür die nötige Klasse und erstellen eine Instanz davon.\n", "\n", "# Noch einmal zur Erinnerung - ein lineare Modell wir durch folgende Formel beschrieben:\n", "\n", "# y = w_1 * x_1 + w_2 * x_2 + ... + w_n * x_n + b\n", "\n", "# Beim Fitten werden die w-Parameter und der b-Parameter mit Werten versehen.\n", "\n", "from sklearn.linear_model import LinearRegression\n", "linear_regression = LinearRegression()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# Wir teilen unsere Daten für eine spätere Bewertung der Güte in ein \n", "# Trainings- und ein Testset auf.\n", "from sklearn.model_selection import train_test_split\n", "X_reg_train, X_reg_test, y_reg_train, y_reg_test = train_test_split(X_reg, y_reg)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Das Fitting der Parameter erfolg mit der Methode \"fit\"\n", "linear_regression.fit(X_reg_train, y_reg_train)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([22.02728673])" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Wir können uns jetzt die Koeffizienten alss in diesem nut Fall w_1 anschauen. \n", "# Die Gerade hat also die Steigung 21.4\n", "linear_regression.coef_" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.4812072549676638" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Zudem gibt es noch den y-Achsen-Abschnit bei 0 (Intercept)\n", "linear_regression.intercept_" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Wir können nun die Trainingsdaten und die Gerade, die\n", "# das lineare Modell repräsentiert, in einem Plot darstellen.\n", "plt.plot(X_reg_train, y_reg_train, \".\")\n", "y_lm_predicted = linear_regression.predict(X_reg_train)\n", "plt.plot(X_reg_train, y_lm_predicted, \".\")" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 9.51353246, 19.7808313 , -13.55007849, -3.99902059,\n", " 23.25052428, -29.09429734, -8.65674439, -31.3287016 ,\n", " 3.16459932, -2.52430024, 43.15970997, -5.11768557,\n", " -3.50397611, -18.63338222, -0.61360571, 25.18299665,\n", " 8.24570169, -16.28611541, -11.15298337, 67.24276589,\n", " -5.41964029, 10.41822157, -8.61670778, 10.2032684 ,\n", " 34.81746385, 39.42456795, 25.45507184, -18.63379072,\n", " -6.81606212, -12.59954426, -14.30452373, -4.60356595,\n", " -34.30332103, -17.63551334, -13.11760394, 4.84921205,\n", " 32.68747801, -5.84740543, 23.49959874, 8.99561584,\n", " 19.97846547, 11.24193654, -15.06654398, 2.38578353,\n", " -19.37935419, 39.95758998, -13.29338031, 0.66951733,\n", " 16.37854882, 20.99085977, -14.82601469, -44.06239874,\n", " -14.08641201, 25.92906477, 1.41106156, -44.89810285,\n", " -24.72552865, 19.97334744, -10.90898063, -7.77472306,\n", " 9.73888386, 18.14403012, -9.36782184, -7.76665296,\n", " 18.34427227, -30.27981794, 20.3385175 , 42.43567074,\n", " -1.94160684, -3.22375681, -0.85480257, 19.27667739,\n", " -1.04591583, -2.22573098, 20.74670606, 0.86468928,\n", " -22.02816745, 36.33393708, 14.99828608, -12.8893205 ,\n", " 15.33632362, 0.2022405 , -6.34982383, -8.83318428,\n", " -14.65534284, 31.07224922, -19.13531594, 3.51439129,\n", " -18.8429243 , -17.80516034, 19.26396411, -20.09039864,\n", " 25.69636463, 45.73900147, -33.12539052, -3.62841861,\n", " 11.77965948, 27.45378957, -7.11792494, 36.01918084,\n", " 37.76139002, 18.29785389, 20.77825212, -7.99560303,\n", " -24.23382099, 4.55970075, 8.79791303, 18.64456922,\n", " 8.57032771, 15.34327149, 13.38722432, -5.38286411,\n", " -14.57946234, -25.93541355, 6.57173672, -38.3019845 ,\n", " 2.58316301, 13.35938578, -26.68109675, 1.65767444,\n", " -26.76331671, 1.81936924, -18.85563182, -8.74685794,\n", " 7.43378874])" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Dieses trainierte Modell kann nun auf neue Werte angewandt werden\n", "# zum Beipiel unserer Test-Datenset\n", "linear_regression.predict(X_reg_test)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.5335325453069599" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Für das Testdatenset kennen wir die tatsächlichen y-Werte und\n", "# können mit der Methode \"score\" eine Vorraussage durchführen und\n", "# diese mit den Werten vergleichen um die Güte der Voraussage zu bewerten.\n", "linear_regression.score(X_reg_test, y_reg_test)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.44074109415488927" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Das gleiche Vorgehene können wir nun mit anderen Regression-Methoden\n", "# nutzen. Zum Beispiel mit der SVM-Methode\n", "from sklearn.svm import SVR\n", "svm_regression = SVR()\n", "svm_regression.fit(X_reg_train, y_reg_train)\n", "svm_regression.score(X_reg_test, y_reg_test)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(X_reg_train, y_reg_train, \".\")\n", "y_svm_predicted = svm_regression.predict(X_reg_train)\n", "plt.plot(X_reg_train, y_svm_predicted, \".\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 2 }