Meta tags:
description= Lerne, wie multiple lineare Regression funktioniert, Koeffizienten interpretiert und Multikollinearität behandelt wird – mit scikit-learn.;
Headings (most frequently used words):
schritt, multiple, regression, modell, für, daten, die, regressionsgleichung, der, datensatz, das, aufbauen, diagnose, von, multikollinearität, residualanalyse, vollständige, pipeline, wann, verwenden, häufige, fehler, nächste, schritte, unterschied, zur, einfachen, linearen, aufteilen, features, skalieren, trainieren, auswerten, koeffizienten, untersuchen, vorhersagen, neue, treffen, überprüfung, mit, einer, korrelationsmatrix,
Text of the page (most frequently used words):
python (56), die (54), der (44), und (35), das (32), ist (31), #regression (28), features (27), von (23), eine (22), auf (22), matplotlib (20), modell (19), feature (19), ein (19), den (19), kopieren (19), koeffizienten (18), import (18), für (17), print (17), lernen (15), multiple (15), des (15), housing (15), sind (13), scaler (13), mysql (13), wenn (12), residuals (12), mongodb (12), axes (11), multikollinearität (10), schritt (10), wie (10), lineare (10), dass (10), oder (10), model (10), sklearn (10), from (10), 000 (9), nicht (9), werden (9), avebedrms (9), daten (9), y_pred (9), mean (9), averooms (8), feature_names (8), rmse (8), y_test (8), predicted (8), squared (8), listen (8), html (7), datensatz (7), was (7), mit (7), kann (7), mittelwert (7), zielwert (7), hat (7), medhouseval (7), null (7), bei (7), sie (7), error (7), strings (7), elemente (7), alle (6), schritte (6), skalierung (6), standardscaler (6), zwischen (6), linearregression (6), vorhersagen (6), color (6), entfernen (6), variablen (6), string (6), w3docs (5), tools (5), diagnose (5), train (5), test (5), hinzufügen (5), vorhersage (5), dem (5), mehr (5), training (5), erste (5), coefficient (5), dataframe (5), x_test (5), x_train (5), als (5), modells (5), plt (5), wert (5), zwei (5), medinc (5), median (5), jedes (5), population (5), mse (5), scikit (5), erstellen (5), tutorial (5), tuples (5), methoden (5), formatter (5), über (4), json (4), generator (4), fehler (4), wann (4), verwenden (4), vollständige (4), split (4), man (4), ohne (4), durch (4), einfache (4), können (4), bevor (4), korreliert (4), zur (4), false (4), coef_df (4), r2_score (4), mean_squared_error (4), x_test_scaled (4), fit (4), x_train_scaled (4), y_train (4), transform (4), train_test_split (4), data (4), fetch_california_housing (4), residuen (4), zeichen (4), standardabweichung (4), erwartete (4), ausgabe (4), sich (4), longitude (4), latitude (4), house (4), sodass (4), siehe (4), einheiten (4), wird (4), learn (4), dateien (4), dictionaries (4), set (4), listenelemente (4), durchlaufen (4), code (3), encoder (3), editor (3), quizze (3), übungen (3), php (3), javascript (3), css (3), pipeline (3), residualanalyse (3), regressionsgleichung (3), einem (3), einzelnen (3), macht (3), dollar (3), verwendet (3), neue (3), während (3), werte (3), aber (3), geografische (3), immer (3), keine (3), modelle (3), pro (3), koeffizient (3), bedeutung (3), beziehung (3), predict (3), fit_transform (3), preprocessing (3), columns (3), pandas (3), numpy (3), konstant (3), scatter (3), actual (3), pyplot (3), durchschnitt (3), std (3), erfasst (3), corr (3), einer (3), sein (3), value (3), block (3), nach (3), anderen (3), diese (3), ihre (3), intercept (3), direkt (3), root (3), 100 (3), gibt (3), durchschnittliche (3), sets (3), zugreifen (3), italiano (2), português (2), español (2), français (2), русский (2), deutsch (2), english (2), beautifier (2), diff (2), password (2), java (2), git (2), bücher (2), beispiele (2), snippets (2), nächste (2), häufige (2), aufbauen (2), this (2), page (2), polynomiale (2), alternative (2), cross (2), validation (2), warum (2), aufteilen (2), scaling (2), erfassen (2), polynomial (2), ols (2), vollständig (2), erklärt (2), linear (2), wurde (2), immobilien (2), überprüfe (2), eingaben (2), trainings (2), liegen (2), hinaus (2), aus (2), zeigen (2), falsch (2), liegt (2), beide (2), effekt (2), dieser (2), wider (2), korrelationsmatrix (2), interpretierbarkeit (2), verwende (2), varianz (2), teile (2), passe (2), allen (2), gradient (2), boosted (2), trees (2), random (2), ridge (2), lasso (2), viele (2), ziel (2), alternativen (2), datenpunkte (2), anzahl (2), wichtig (2), jeder (2), wahl (2), index (2), to_string (2), ascending (2), abs (2), key (2), sort_values (2), coef_ (2), sqrt (2), random_state (2), test_size (2), target (2), metrics (2), model_selection (2), linear_model (2), datasets (2), enthält (2), cluster (2), idealfall (2), streuung (2), unzuverlässig (2), machen (2), vorhergesagt (2), diagonale (2), kurve (2), werten (2), bedeuten (2), einen (2), teil (2), tatsächlich (2), png (2), set_title (2), residual (2), set_ylabel (2), set_xlabel (2), alpha (2), agg (2), use (2), nahe (2), zeigt (2), jedoch (2), tatsächlichen (2), fügt (2), hinzu (2), ändert (2), eines (2), korrelation (2), prädiktor (2), sehr (2), hoch (2), gegenseitig (2), wichtige (2), überprüfung (2), unabhängige (2), stark (2), miteinander (2), vorzeichen (2), selbst (2), interpretieren (2), trainingsdaten (2), angepasst (2), würde (2), gelernt (2), 100_000 (2), prediction (2), new_block_scaled (2), new_block (2), achsenabschnitt (2), vorhergesagte (2), skalierte (2), entspricht (2), blockbevölkerung (2), häuser (2), dies (2), einfluss (2), aveoccup (2), houseage (2), koeffizientenbeträge (2), vergleichbar (2), welche (2), diesen (2), hauspreisen (2), hyperebene (2), erreichen (2), bedeutet (2), bis (2), quadrierten (2), zielwerts (2), auswerten (2), trainieren (2), anpassung (2), testdaten (2), the (2), multiplen (2), zehntausend (2), weil (2), len (2), samples (2), blocks (2), haushalt (2), eingabe (2), gehalten (2), interpretiert (2), seite (2), behandelt (2), linie (2), dimensionen (2), and (2), handling (2), zahlen (2), klassen (2), limit (2), update (2), drop (2), collection (2), delete (2), insert (2), datenbank (2), grid (2), einführung (2), schleifen (2), verbinden (2), ändern (2), hash (2), 2026, rechte, vorbehalten, entwickler, gemacht, sprache, datenschutzrichtlinie, kontakt, uns, unternehmen, probier, üben, kostenlose, tutorials, web, seit, 2014, next, previous, yes, helpful, robustere, korrektes, entscheidend, datenlecks, tiefeneinblick, minmaxscaler, robustscaler, erweitern, kurven, polynomialer, terme, grundlage, methode, lineares, häusern, preisen, 500, trainiert, sollte, bereich, gesehenen, trainingsbereich, extrapolieren, sieht, papier, vernünftig, residualmuster, hochpreisige, bestimmte, regionen, systematisch, residualplots, ignorieren, spiegelt, keiner, zuverlässig, wahren, variable, einzelne, interpretierst, vertrauen, irrelevanter, redundanter, verringern, einführen, generalisierung, beeinträchtigen, domänenwissen, selection, technik, gezielt, auszuwählen, helfen, dadurch, fließen, testsets, zuerst, nur, trainingsanteil, anpassen, aufgeteilt, forests, komplexe, interaktionen, nichtlinearität, logistic, kategorie, zahl, regularisierte, overfitting, risiko, nichtlineare, beziehungen, situation, erwäge, genug, verhältnis, hast, faustregel, mindestens, beobachtungen, willst, komplexere, ausprobierst, schnelle, baseline, klare, jedem, näherungsweise, starke, coefficients, most, important, first, evaluate, scale, before, any, load, hier, alles, oben, genannte, einzelnes, ausführbares, skript, deutlich, getrennte, gruppen, residualplot, darauf, hinweisen, teilpopulationen, städtisch, ländlich, separate, zusätzliche, erfordern, streuen, zufällig, vorhersageniveaus, breitere, höheren, signalisiert, heteroskedastizität, intervallschätzungen, trichterform, punkte, systematische, abweichungen, abflachen, hohen, annahme, wertebereichs, worauf, achten, saved, 120, dpi, savefig, tight_layout, linestyle, axhline, plot, figsize, subplots, fig, unverzerrt, erhebliche, 7457, 0035, should, close, residuum, differenz, plotten, annahmen, erfüllt, y_actual, y_predicted, penalty, korrelierte, aufeinander, schrumpft, stabilisiert, redundante, setzen, regularisiertes, erstelle, abgeleitetes, redundanz, rooms_per_bedroom, kombinieren, versuche, prüfe, vorhersageleistung, wesentlich, korrelierten, warnsignal, siehst, ziehe, betracht, guter, kein, kollinearitätsproblem, gemeinsame, bewegung, gleichen, bedenken, paar, paare, beachten, round, tritt, verhindert, genaue, groß, wechseln, statistisch, insignifikant, schwer, muss, niemals, erneut, neuen, relativ, verschieben, derselbe, 410, 895, 122, 322, new, census, high, income, older, san, francisco, bay, area, treffen, heißt, ihrem, entsprechen, trainingszielwerte, darüber, direkte, geschäftliche, minimale, vorhersagekraft, sobald, berücksichtigt, 002, haben, entgegengesetzte, obwohl, zimmer, schlafzimmer, generell, größere, teurere, hindeuten, klassisches, ausgleichen, interpretiere, isoliert, 294, 339, nördlichere, östlichere, volkszählungsblöcke, tendenziell, günstiger, beiden, geografischen, instabil, 869, 897, abstand, stärkste, erhöhung, medianeinkommens, sagt, anstieg, hauswerts, 400, voraus, konstantem, aller, 854, interpretation, standardskalierung, 0719, 0023, 0408, 1225, 2944, 3393, 8544, 8698, 8969, intercept_, stärksten, beeinflussen, untersuchen, typisch, einfacher, linearer, teilweise, nichtlinear, beinhaltet, gut, algorithmen, diesem, routinemäßig, anteil, variation, reichen, besser, mittelwerts, perfekte, negativer, möglich, schlechter, starkes, etwas, stimmt, bestimmtheitsmaß, quadratwurzel, zurück, denselben, etwa, abweichen, differenzen, quadrieren, bestraft, große, stärker, kleine, quadrat, 000², daher, schwieriger, metriken, 5758, 7456, 558, 5559, löst, problem, analytisch, hyperparameter, wählst, einzuschließenden, entscheidende, regel, auswertung, verfälschen, apply, same, transformation, only, transformiert, eins, wodurch, details, verfügbaren, scalern, spiegeln, gemessen, rohe, winzig, bevölkerung, unwichtig, sondern, einheit, klein, skalieren, 4128, 16512, irgendeine, vorverarbeitung, durchführst, vollständigen, würden, testset, statistiken, einfließen, übermäßig, optimistischen, bewertung, führt, erklärung, hauswert, 200, längengrad, breitengrad, haushaltsbelegung, schlafzimmeranzahl, zimmeranzahl, medianalter, medianeinkommen, beschreibung, head, 20640, shape, 000s, nachfolgenden, enthalten, wohnungsstatistiken, volkszählungsblock, ebene, kalifornien, jahr, 1990, umfasst, 640, california, weitere, dieses, seinen, übrigen, mächtiger, birgt, risiken, insbesondere, partiellen, unterschied, einfachen, linearen, exakte, geschlossene, lösung, learns, keinen, iterativen, gradientenabstieg, benötigt, datensätzen, hunderttausenden, zeilen, nahezu, augenblicklich, ssr, algorithmus, findet, minimierung, ordinary, least, squares, summe, erklären, fehlerterm, viel, einheitszunahme, gleich, βₙxₙ, modelliert, kombination, richtige, modellannahmen, häufigste, fallstrick, unskalierte, vergleicht, korrekt, durchführt, aufbaut, laden, vorverarbeiten, erweitert, indem, kontinuierlichen, anstatt, ziehen, passt, kernwissen, besteht, darin, verstehen, interagieren, irreführend, lerne, funktioniert, http, anfragen, pytest, pakete, virtuelle, umgebungen, tooling, best, practices, threading, asyncio, concurrency, csv, sys, itertools, collections, ausnahmen, auslösen, standard, library, addieren, umkehren, duplikate, how, enums, abstrakte, kapselung, polymorphismus, dataclasses, static, classmethod, property, magic, methods, advanced, oop, match, anweisung, enumerate, zip, map, comprehensions, kontextmanager, rekursion, closures, generatoren, decorators, args, kwargs, type, hints, intermediate, sort, query, find, join, table, order, where, select, tabelle, einstieg, nearest, neighbors, auc, roc, bootstrap, aggregation, means, kategoriale, search, logistische, hierarchisches, clustering, konfusionsmatrix, entscheidungsbaum, streudiagramm, normalverteilung, datenverteilung, perzentil, modus, machine, learning, kreisdiagramme, histogramme, balken, subplot, beschriftungen, marker, plotting, django, scipy, modules, löschen, schreiben, lesen, dateiverarbeitung, file, formatierung, benutzereingabe, try, except, pip, regex, math, datumsangaben, module, scope, iteratoren, vererbung, objekte, arrays, lambda, funktionen, for, while, else, tupeln, gruppieren, operatoren, booleans, casting, datentypen, kommentare, syntax, variablennamen, aktualisieren, tupel, entpacken, tuple, sortieren, slicen, home, ausgabevariablen, verschachtelte, modifizieren, list, comprehension, zusammenführen, globale, format, escape, dictionary, verketten, mehrere, zuweisen, aufrufen, anmelden, durchsuchen, formatters, url, reverse, sha256, md5, length, calculator, colors, hsl, hex, mixer, converter, picker, general, kurse,
Text of the page (random words):
hon booleans python operatoren python listen python tupeln gruppieren python dictionaries python if else python while schleifen python for schleifen python funktionen python lambda python arrays python klassen objekte python vererbung python iteratoren python scope python module python datumsangaben python math python json python regex python pip python try except python benutzereingabe python string formatierung file handling python dateiverarbeitung python dateien lesen python dateien schreiben erstellen python dateien löschen python modules numpy tutorial pandas tutorial scipy tutorial django tutorial python matplotlib matplotlib einführung matplotlib erste schritte matplotlib pyplot matplotlib plotting matplotlib marker matplotlib linie matplotlib beschriftungen matplotlib grid matplotlib subplot matplotlib scatter matplotlib balken matplotlib histogramme matplotlib kreisdiagramme machine learning erste schritte mittelwert median modus standardabweichung perzentil datenverteilung normalverteilung von daten streudiagramm lineare regression polynomiale regression multiple regression skalierung train test entscheidungsbaum konfusionsmatrix hierarchisches clustering logistische regression grid search kategoriale daten k means bootstrap aggregation cross validation auc roc kurve k nearest neighbors python mysql mysql einstieg mysql datenbank erstellen mysql tabelle erstellen mysql insert mysql select mysql where mysql order by mysql delete mysql drop table mysql update mysql limit mysql join python mongodb mongodb erste schritte mongodb datenbank erstellen mongodb collection erstellen mongodb insert mongodb find mongodb query mongodb sort mongodb delete mongodb drop collection mongodb update mongodb limit intermediate python f strings type hints args kwargs decorators generatoren closures rekursion kontextmanager comprehensions enumerate zip map match anweisung advanced oop magic methods property static classmethod dataclasses polymorphismus kapselung abstrakte klassen enums python how to listen duplikate entfernen string umkehren zwei zahlen addieren error handling and the standard library ausnahmen auslösen collections itertools os sys random csv dateien concurrency in python asyncio threading python tooling and best practices virtuelle umgebungen pakete pytest http anfragen multiple regression lerne wie multiple lineare regression funktioniert koeffizienten interpretiert und multikollinearität behandelt wird mit scikit learn multiple lineare regression erweitert die einfache lineare regression indem zwei oder mehr unabhängige variablen zur vorhersage eines kontinuierlichen zielwerts verwendet werden anstatt eine linie durch zwei dimensionen zu ziehen passt das modell eine hyperebene durch so viele dimensionen an wie es features gibt das kernwissen dieser seite besteht darin zu verstehen wie die koeffizienten miteinander interagieren und wann sie irreführend sein können diese seite behandelt die multiple regressionsgleichung und die bedeutung jedes koeffizienten wie man eine vollständige scikit learn pipeline aufbaut laden vorverarbeiten trainieren auswerten warum feature skalierung wichtig ist und wie man sie korrekt durchführt wie man skalierte und unskalierte koeffizienten interpretiert und vergleicht diagnose von multikollinearität der häufigste fallstrick bei der multiplen regression residualanalyse zur überprüfung der modellannahmen wann multiple regression die richtige wahl ist und welche alternativen es gibt die multiple regressionsgleichung multiple lineare regression modelliert den zielwert y als lineare kombination von n eingabe features y β β x β x βₙxₙ ε kopieren β der achsenabschnitt intercept der vorhergesagte wert von y wenn jedes feature gleich null ist β βₙ die koeffizienten um wie viel sich y bei einer einheitszunahme in xᵢ ändert während alle anderen features konstant gehalten werden ε der fehlerterm der teil von y den das modell nicht erklären kann der algorithmus findet die koeffizienten durch minimierung der summe der quadrierten residuen ordinary least squares ssr σ yᵢ ŷᵢ ² kopieren dies hat eine exakte geschlossene lösung sodass scikit learns linearregression keinen iterativen gradientenabstieg benötigt das training ist selbst bei datensätzen mit hunderttausenden von zeilen nahezu augenblicklich unterschied zur einfachen linearen regression einfache lineare regression verwendet ein feature multiple regression fügt weitere features hinzu sodass jeder koeffizient den partiellen effekt dieses features erfasst seinen einfluss auf den zielwert während die übrigen features konstant gehalten werden das ist mächtiger birgt aber neue risiken insbesondere multikollinearität siehe diagnose von multikollinearität der datensatz die nachfolgenden beispiele verwenden den california housing datensatz der in scikit learn enthalten ist er enthält wohnungsstatistiken auf volkszählungsblock ebene für kalifornien im jahr 1990 und umfasst 20 640 datenpunkte über 8 features import pandas as pd from sklearn datasets import fetch_california_housing housing fetch_california_housing df pd dataframe housing data columns housing feature_names df medhouseval housing target median house value in 100 000s print df shape 20640 9 print df head kopieren die 8 eingabe features sind feature beschreibung medinc medianeinkommen im block in zehntausend dollar houseage medianalter der häuser im block averooms durchschnittliche zimmeranzahl pro haushalt avebedrms durchschnittliche schlafzimmeranzahl pro haushalt population blockbevölkerung aveoccup durchschnittliche haushaltsbelegung latitude breitengrad des blocks longitude längengrad des blocks der zielwert medhouseval ist der median hauswert in einheiten von 100 000 sodass ein wert von 2 0 einem wert von 200 000 entspricht das modell schritt für schritt aufbauen schritt 1 daten aufteilen teile die daten immer auf bevor du irgendeine vorverarbeitung durchführst wenn ein scaler auf dem vollständigen datensatz angepasst wird würden testset statistiken in das training einfließen was zu einer übermäßig optimistischen bewertung führt siehe train test split für eine vollständige erklärung from sklearn model_selection import train_test_split x df housing feature_names y df medhouseval x_train x_test y_train y_test train_test_split x y test_size 0 2 random_state 42 print f training samples len x_train 16512 print f test samples len x_test 4128 kopieren schritt 2 features skalieren koeffizienten in der multiplen regression spiegeln die einheiten jedes features wider medinc wird in zehntausend dollar gemessen population ist eine rohe anzahl die bis zu 35 000 erreichen kann ohne skalierung wird der koeffizient für population winzig sein nicht weil bevölkerung unwichtig ist sondern weil ihre einheit klein ist standardscaler transformiert jedes feature so dass es den mittelwert null und eine standardabweichung von eins hat wodurch die koeffizientenbeträge direkt vergleichbar werden siehe feature scaling für details zu den verfügbaren scalern from sklearn preprocessing import standardscaler scaler standardscaler x_train_scaled scaler fit_transform x_train fit only on training data x_test_scaled scaler transform x_test apply the same transformation kopieren die entscheidende regel verwende fit_transform auf den trainingsdaten und transform ohne anpassung auf den testdaten eine anpassung auf den testdaten würde die auswertung verfälschen schritt 3 modell trainieren from sklearn linear_model import linearregression model linearregression model fit x_train_scaled y_train kopieren linearregression fit löst das ols problem analytisch es gibt keine hyperparameter für die einfache multiple regression was du wählst sind die einzuschließenden features schritt 4 modell auswerten import numpy as np from sklearn metrics import mean_squared_error r2_score y_pred model predict x_test_scaled mse mean_squared_error y_test y_pred rmse np sqrt mse r2 r2_score y_test y_pred print f mean squared error mse 4f print f root mean squared error rmse 4f rmse 100_000 0f print f r squared r2 4f kopieren erwartete ausgabe mean squared error 0 5559 root mean squared error 0 7456 74 558 r squared 0 5758 kopieren was die metriken bedeuten mse mean squared error der durchschnitt der quadrierten differenzen zwischen vorhersagen und tatsächlichen werten das quadrieren bestraft große fehler stärker als kleine die einheiten sind das quadrat des zielwerts 100 000² daher ist er schwieriger direkt zu interpretieren rmse root mean squared error die quadratwurzel des mse zurück in denselben einheiten wie der zielwert ein rmse von 0 75 bedeutet dass die vorhersagen des modells im durchschnitt um etwa 75 000 abweichen r² bestimmtheitsmaß der anteil der varianz im zielwert den das modell erklärt ein r² von 0 58 bedeutet dass das modell 58 der variation in den hauspreisen erfasst werte reichen von 0 nicht besser als die vorhersage des mittelwerts bis 1 perfekte vorhersagen ein negativer r² wert ist möglich wenn das modell schlechter als der mittelwert ist das ist ein starkes zeichen dass etwas nicht stimmt ein r² von 0 58 ist typisch für diesen datensatz mit einfacher linearer regression die beziehung zwischen hauspreisen und diesen features ist teilweise nichtlinear und beinhaltet geografische cluster die eine hyperebene nicht gut erfassen kann algorithmen wie gradient boosted trees erreichen auf diesem datensatz routinemäßig 0 80 schritt 5 koeffizienten untersuchen nach der skalierung sind die koeffizientenbeträge direkt vergleichbar sie zeigen welche features die vorhersage am stärksten beeinflussen coef_df pd dataframe feature housing feature_names coefficient model coef_ sort_values coefficient key abs ascending false print coef_df to_string index false print f n intercept model intercept_ 4f kopieren erwartete ausgabe feature coefficient latitude 0 8969 longitude 0 8698 medinc 0 8544 avebedrms 0 3393 averooms 0 2944 houseage 0 1225 aveoccup 0 0408 population 0 0023 intercept 2 0719 kopieren interpretation der koeffizienten nach standardskalierung medinc 0 854 der mit abstand stärkste prädiktor eine erhöhung des medianeinkommens um eine standardabweichung sagt einen anstieg des hauswerts um 85 400 voraus bei konstantem einfluss aller anderen variablen latitude 0 897 und longitude 0 869 das modell hat gelernt dass nördlichere und östlichere volkszählungsblöcke tendenziell günstiger sind diese beiden geografischen features sind jedoch stark korreliert r 0 93 was ihre einzelnen koeffizienten instabil machen kann siehe diagnose von multikollinearität avebedrms 0 339 vs averooms 0 294 diese haben entgegengesetzte vorzeichen obwohl mehr zimmer und mehr schlafzimmer generell auf größere und teurere häuser hindeuten dies ist ein klassisches zeichen für multikollinearität averooms und avebedrms sind korreliert r 0 85 sodass sich ihre koeffizienten gegenseitig ausgleichen interpretiere sie nicht isoliert population 0 002 sehr nahe an null nach der skalierung die blockbevölkerung hat minimale vorhersagekraft sobald die anderen features berücksichtigt werden der achsenabschnitt 2 07 ist der vorhergesagte medhouseval wenn jedes skalierte feature null ist das heißt wenn alle features ihrem trainings mittelwert entsprechen er entspricht dem mittelwert der trainingszielwerte und hat darüber hinaus keine direkte geschäftliche bedeutung schritt 6 vorhersagen für neue daten treffen a new census block high income older house san francisco bay area new_block pd dataframe 8 0 41 0 6 0 1 0 322 2 5 37 88 122 23 columns housing feature_names new_block_scaled scaler transform new_block prediction model predict new_block_scaled print f predicted median house value prediction 0 100_000 0f kopieren erwartete ausgabe predicted median house value 410 895 kopieren der scaler muss derselbe scaler sein der auf den trainingsdaten angepasst wurde passe den scaler niemals erneut auf die neuen daten an das würde die eingaben relativ zu dem verschieben was das modell gelernt hat diagnose von multikollinearität multikollinearität tritt auf wenn zwei oder mehr unabhängige variablen stark miteinander korreliert sind sie verhindert nicht dass das modell genaue vorhersagen macht macht aber die einzelnen koeffizienten unzuverlässig und schwer zu interpretieren koeffizienten können groß werden das vorzeichen wechseln oder statistisch insignifikant werden selbst für tatsächlich wichtige features überprüfung mit einer korrelationsmatrix import matplotlib matplotlib use agg import matplotlib pyplot as plt corr df housing feature_names corr print corr round 2 kopieren wichtige paare die zu beachten sind feature paar korrelation bedenken averooms avebedrms 0 85 hoch koeffizienten gleichen sich gegenseitig aus latitude longitude 0 93 sehr hoch gemeinsame geografische bewegung medinc medhouseval ziel 0 69 guter prädiktor kein kollinearitätsproblem eine korrelation über 0 80 zwischen zwei features ist ein warnsignal wenn du das siehst ziehe in betracht eines der korrelierten features entfernen wenn averooms und avebedrms beide im modell sind versuche avebedrms zu entfernen und prüfe ob sich die vorhersageleistung des modells wesentlich ändert sie kombinieren erstelle ein abgeleitetes feature z b rooms_per_bedroom averooms avebedrms das die beziehung ohne redundanz erfasst ein regularisiertes modell verwenden ridge regression fügt eine l2 penalty hinzu die korrelierte koeffizienten aufeinander zu schrumpft und sie stabilisiert lasso l1 kann redundante features vollständig auf null setzen residualanalyse ein residuum ist die differenz zwischen einem tatsächlichen wert und der vorhersage des modells residual y_actual y_predicted das plotten von residuen zeigt ob die annahmen des modells erfüllt sind residuals y_test y_pred print f mean of residuals residuals mean 4f should be close to 0 print f std of residuals residuals std 4f kopieren erwartete ausgabe mean of residuals 0 0035 std of residuals 0 7457 kopieren der mittelwert liegt nahe null ein zeichen dass das modell im durchschnitt unverzerrt ist die standardabweichung von 0 75 75 000 zeigt jedoch erhebliche streuung import matplotlib matplotlib use agg import matplotlib pyplot as plt fig axes plt subplots 1 2 figsize 12 4 predicted vs actual axes 0 scatter y_test y_pred alpha 0 2 s 8 axes 0 plot 0 5 0 5 r axes 0 set_xlabel actual axes 0 set_ylabel predicted axes 0 set_title predicted vs actual residuals vs predicted axes 1 scatter y_pred residuals alpha 0 2 s 8 axes 1 axhline 0 color r linestyle axes 1 set_xlabel predicted axes 1 set_ylabel residual axes 1 set_title residuals vs predicted plt tight_layout plt savefig residuals png dpi 120 print saved residuals png kopieren worauf zu achten ist vorhergesagt vs tatsächlich im idealfall liegen die punkte auf der diagonale systematische abweichungen von der diagonale eine kurve oder ein abflachen bei hohen werten bedeuten dass die lineare annahme für einen teil des wertebereichs falsch ist residuen vs vorhergesagt im idealfall streuen die residuen zufällig um null bei allen vorhersagen...
|