Erstellung Einer Linearen Regression Mit NumPy
Sie wissen bereits, was eine einfache lineare Regression ist und wie man die am besten passende Gerade für die Daten findet. Nun werden Sie alle Schritte durchgehen, um eine lineare Regression für einen realen Datensatz zu erstellen.
Laden von Daten
Wir haben eine Datei, simple_height_data.csv
, mit den Daten aus unseren Beispielen. Wir laden die Datei und sehen sie uns an:
123456import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file print(df.head()) # Print the first 5 instances from a dataset
Das Datenset enthält zwei Spalten: Die erste ist 'Father'
, welches das Eingabemerkmal darstellt, und die zweite ist 'Height'
, unsere Zielvariable.
Die Zielwerte werden der Variable y
zugewiesen und die Merkmalswerte X
. Anschließend wird ein Streudiagramm erstellt.
12345678910import pandas as pd import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
Parameterbestimmung
NumPy bietet eine praktische Funktion zur Bestimmung der Parameter der linearen Regression.
Lineare Regression ist eine Polynomregression vom Grad 1 (auf Polynomregression gehen wir in späteren Abschnitten ein). Daher muss deg=1
gesetzt werden, um die Parameter für die lineare Regression zu erhalten.
Hier ein Beispiel:
12345678910import pandas as pd import numpy as np file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the files X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
Falls Sie mit der Syntax beta_1, beta_0 = np.polyfit(X,y,1)
nicht vertraut sind: Dies wird als Unpacking bezeichnet. Wenn Sie einen Iterator (z. B. eine Liste, ein NumPy-Array oder eine pandas-Serie) mit zwei Elementen haben, entspricht das Schreiben von
a, b = my_iterator
dem folgenden:
a = my_iterator[0]
b = my_iterator[1]
Da die Rückgabe der Funktion polyfit()
ein NumPy-Array mit zwei Werten ist, kann dies so verwendet werden.
Durchführung der Vorhersagen
Nun können wir die Gerade zeichnen und neue Variablen mithilfe der Parameter vorhersagen.
123456789101112import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
Da wir nun die Parameter haben, können wir die Gleichung der linearen Regression verwenden, um neue Werte vorherzusagen.
1234567891011import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
Es ist also ziemlich einfach, die Parameter der linearen Regression zu bestimmen. Einige Bibliotheken können jedoch auch zusätzliche Informationen bereitstellen.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
What extra information can other libraries provide for linear regression?
Can you explain how to interpret the parameters beta_0 and beta_1?
How can I evaluate the performance of this linear regression model?
Awesome!
Completion rate improved to 5.26
Erstellung Einer Linearen Regression Mit NumPy
Swipe um das Menü anzuzeigen
Sie wissen bereits, was eine einfache lineare Regression ist und wie man die am besten passende Gerade für die Daten findet. Nun werden Sie alle Schritte durchgehen, um eine lineare Regression für einen realen Datensatz zu erstellen.
Laden von Daten
Wir haben eine Datei, simple_height_data.csv
, mit den Daten aus unseren Beispielen. Wir laden die Datei und sehen sie uns an:
123456import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file print(df.head()) # Print the first 5 instances from a dataset
Das Datenset enthält zwei Spalten: Die erste ist 'Father'
, welches das Eingabemerkmal darstellt, und die zweite ist 'Height'
, unsere Zielvariable.
Die Zielwerte werden der Variable y
zugewiesen und die Merkmalswerte X
. Anschließend wird ein Streudiagramm erstellt.
12345678910import pandas as pd import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
Parameterbestimmung
NumPy bietet eine praktische Funktion zur Bestimmung der Parameter der linearen Regression.
Lineare Regression ist eine Polynomregression vom Grad 1 (auf Polynomregression gehen wir in späteren Abschnitten ein). Daher muss deg=1
gesetzt werden, um die Parameter für die lineare Regression zu erhalten.
Hier ein Beispiel:
12345678910import pandas as pd import numpy as np file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the files X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
Falls Sie mit der Syntax beta_1, beta_0 = np.polyfit(X,y,1)
nicht vertraut sind: Dies wird als Unpacking bezeichnet. Wenn Sie einen Iterator (z. B. eine Liste, ein NumPy-Array oder eine pandas-Serie) mit zwei Elementen haben, entspricht das Schreiben von
a, b = my_iterator
dem folgenden:
a = my_iterator[0]
b = my_iterator[1]
Da die Rückgabe der Funktion polyfit()
ein NumPy-Array mit zwei Werten ist, kann dies so verwendet werden.
Durchführung der Vorhersagen
Nun können wir die Gerade zeichnen und neue Variablen mithilfe der Parameter vorhersagen.
123456789101112import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
Da wir nun die Parameter haben, können wir die Gleichung der linearen Regression verwenden, um neue Werte vorherzusagen.
1234567891011import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
Es ist also ziemlich einfach, die Parameter der linearen Regression zu bestimmen. Einige Bibliotheken können jedoch auch zusätzliche Informationen bereitstellen.
Danke für Ihr Feedback!