Python -Tutorial

Python-HOME Python-Einführung Python-Erste Schritte Python-Syntax Python-Kommentare Python-Variablen Python-Datentypen Python-Zahlen Python-Casting Python-Strings Python-Booleans Python-Operatoren Python-Listen Python-Tupel Python-Sets Python-Wörterbücher Python Wenn ... Sonst Python-While-Schleifen Python-For-Schleifen Python-Funktionen Python-Lambda Python-Arrays Python-Klassen/Objekte Python-Vererbung Python-Iteratoren Python-Bereich Python-Module Python-Daten Python-Mathematik Python-JSON Python-RegEx Python-PIP Python Versuchen ... Außer Python-Benutzereingabe Formatierung von Python-Strings

Umgang mit Dateien

Umgang mit Python-Dateien Python-Dateien lesen Python-Dateien schreiben/erstellen Python-Dateien löschen

Python-Module

NumPy-Tutorial Panda-Komplettlösung Scipy-Tutorial

Python-Matplotlib

Matplotlib-Einführung Matplotlib loslegen Matplotlib-Pyplot Matplotlib-Plotten Matplotlib-Marker Matplotlib-Linie Matplotlib-Labels Matplotlib-Raster Matplotlib-Subplots Matplotlib-Scatter Matplotlib-Bars Matplotlib-Histogramme Matplotlib-Kreisdiagramme

Maschinelles Lernen

Einstieg Mittlerer Medianmodus Standardabweichung Perzentil Datenverteilung Normale Datenverteilung Streudiagramm Lineare Regression Polynomiale Regression Mehrfache Regression Skala Trainieren/Testen Entscheidungsbaum

Python-MySQL

MySQL-erste Schritte MySQL-Datenbank erstellen MySQL-Tabelle erstellen MySQL-Einfügung MySQL-Auswahl MySQL-Wo MySQL-Reihenfolge nach MySQL löschen MySQL-Drop-Tabelle MySQL-Update MySQL-Limit MySQL-Beitritt

Python-MongoDB

Beginnen Sie mit MongoDB MongoDB Datenbank erstellen MongoDB-Create-Sammlung MongoDB-Einfügung MongoDB-Suche MongoDB-Abfrage MongoDB-Sortierung MongoDB löschen MongoDB-Drop-Sammlung MongoDB-Update MongoDB-Limit

Python-Referenz

Python-Übersicht Eingebaute Python-Funktionen Python-String-Methoden Python-Listenmethoden Methoden des Python-Wörterbuchs Python-Tupelmethoden Python-Set-Methoden Python-Dateimethoden Python-Schlüsselwörter Python-Ausnahmen Python-Glossar

Modulreferenz

Zufallsmodul Anforderungsmodul Statistikmodul Mathe-Modul cMath-Modul

Python-Anleitung

Listenduplikate entfernen Einen String umkehren Fügen Sie zwei Zahlen hinzu

Python-Beispiele

Python-Beispiele Python-Compiler Python-Übungen Python-Quiz Python-Zertifikat

Maschinelles Lernen – Multiple Regression


Mehrfache Regression

Die multiple Regression ist wie die lineare Regression , aber mit mehr als einem unabhängigen Wert, was bedeutet, dass wir versuchen, einen Wert basierend auf zwei oder mehr Variablen vorherzusagen .

Schauen Sie sich den Datensatz unten an, er enthält einige Informationen über Autos.

Wagen Modell Volumen Gewicht CO2
Toyota Aygo 1000 790 99
Mitsubishi Weltraumstern 1200 1160 95
Skoda Citigo 1000 929 95
Fiat 500 900 865 90
Mini Cooper 1500 1140 105
VW Hoch! 1000 929 105
Skoda Fabia 1400 1109 90
Mercedes Eine Klasse 1500 1365 92
Ford Fest 1500 1112 98
Audi A1 1600 1150 99
Hyundai I20 1100 980 99
Suzuki Schnell 1300 990 101
Ford Fest 1000 1112 99
Honda Bürgerlich 1600 1252 94
Hyundai I30 1600 1326 97
Opel Astra 1600 1330 97
BMW 1 1600 1365 99
Mazda 3 2200 1280 104
Skoda Schnell 1600 1119 104
Ford Fokus 2000 1328 105
Ford Mondeo 1600 1584 94
Opel Insignien 2000 1428 99
Mercedes C-Klasse 2100 1365 99
Skoda Oktavia 1600 1415 99
Volvo S60 2000 1415 99
Mercedes CLA 1500 1465 102
Audi A4 2000 1490 104
Audi A6 2000 1725 114
Volvo V70 1600 1523 109
BMW 5 2000 1705 114
Mercedes E-Klasse 2100 1605 115
Volvo XC70 2000 1746 117
Ford B-max 1600 1235 104
BMW 2 1600 1390 108
Opel Zafira 1600 1405 109
Mercedes SLK 2500 1395 120

Wir können den CO2-Ausstoß eines Autos basierend auf der Größe des Motors vorhersagen, aber mit multipler Regression können wir mehr Variablen wie das Gewicht des Autos einbeziehen, um die Vorhersage genauer zu machen.


Wie funktioniert es?

In Python haben wir Module, die die Arbeit für uns erledigen. Beginnen Sie mit dem Importieren des Pandas-Moduls.

import pandas

Erfahren Sie mehr über das Pandas-Modul in unserem Pandas-Tutorial .

Das Pandas-Modul ermöglicht es uns, CSV-Dateien zu lesen und ein DataFrame-Objekt zurückzugeben.

Die Datei ist nur für Testzwecke gedacht, Sie können sie hier herunterladen: cars.csv

df = pandas.read_csv("cars.csv")

Erstellen Sie dann eine Liste der unabhängigen Werte und nennen Sie diese Variable X.

Setzen Sie die abhängigen Werte in eine Variable namens y.

X = df[['Weight', 'Volume']]
y = df['CO2']

Tipp: Es ist üblich, die Liste der unabhängigen Werte mit einem großen X und die Liste der abhängigen Werte mit einem kleinen y zu benennen.

Wir werden einige Methoden aus dem sklearn-Modul verwenden, also müssen wir dieses Modul auch importieren:

from sklearn import linear_model

Aus dem sklearn-Modul verwenden wir die LinearRegression()Methode, um ein lineares Regressionsobjekt zu erstellen.

Dieses Objekt hat eine aufgerufene Methode fit(), die die unabhängigen und abhängigen Werte als Parameter nimmt und das Regressionsobjekt mit Daten füllt, die die Beziehung beschreiben:

regr = linear_model.LinearRegression()
regr.fit(X, y)

Jetzt haben wir ein Regressionsobjekt, das bereit ist, CO2-Werte basierend auf dem Gewicht und Volumen eines Autos vorherzusagen:

#predict the CO2 emission of a car where the weight is 2300kg, and the volume is 1300cm3:
predictedCO2 = regr.predict([[2300, 1300]])

Beispiel

Sehen Sie das gesamte Beispiel in Aktion:

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

regr = linear_model.LinearRegression()
regr.fit(X, y)

#predict the CO2 emission of a car where the weight is 2300kg, and the volume is 1300cm3:
predictedCO2 = regr.predict([[2300, 1300]])

print(predictedCO2)

Ergebnis:

[107.2087328]

Wir haben vorausgesagt, dass ein Auto mit 1,3-Liter-Motor und einem Gewicht von 2300 kg etwa 107 Gramm CO2 für jeden gefahrenen Kilometer freisetzt.



Koeffizient

Der Koeffizient ist ein Faktor, der den Zusammenhang mit einer unbekannten Größe beschreibt.

Beispiel: wenn xeine Variable ist, dann 2xist xzweimal. xist die unbekannte Variable und die Zahl 2ist der Koeffizient.

In diesem Fall können wir nach dem Koeffizientenwert von Gewicht zu CO2 und von Volumen zu CO2 fragen. Die Antwort(en), die wir erhalten, sagen uns, was passieren würde, wenn wir einen der unabhängigen Werte erhöhen oder verringern.

Beispiel

Drucken Sie die Koeffizientenwerte des Regressionsobjekts:

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

regr = linear_model.LinearRegression()
regr.fit(X, y)

print(regr.coef_)

Ergebnis:

[0.00755095 0.00780526]

Ergebnis erklärt

Das Ergebnisarray repräsentiert die Koeffizientenwerte von Gewicht und Volumen.

Gewicht: 0,00755095
Volumen: 0,00780526

Diese Werte sagen uns, dass bei einer Gewichtszunahme von 1 kg die CO2-Emission um 0,00755095 g zunimmt.

Und wenn die Motorgröße (Volumen) um 1 cm 3 zunimmt, steigt die CO2-Emission um 0,00780526 g.

Ich denke, das ist eine faire Vermutung, aber testen wir es!

Wir haben bereits vorhergesagt, dass die CO2-Emissionen bei einem Gewicht von 2300 kg mit einem 1300-cm 3 -Motor etwa 107 g betragen.

Was ist, wenn wir das Gewicht um 1000 kg erhöhen?

Beispiel

Kopieren Sie das vorherige Beispiel, aber ändern Sie das Gewicht von 2300 auf 3300:

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

regr = linear_model.LinearRegression()
regr.fit(X, y)

predictedCO2 = regr.predict([[3300, 1300]])

print(predictedCO2)

Ergebnis:

[114.75968007]

Wir haben vorausgesagt, dass ein Auto mit 1,3-Liter-Motor und einem Gewicht von 3300 kg etwa 115 Gramm CO2 für jeden gefahrenen Kilometer freisetzt.

Was zeigt, dass der Koeffizient von 0,00755095 korrekt ist:

107,2087328 + (1000 * 0,00755095) = 114,75968