from telnetlib import BM # %% Imports # imports überall im Code möglich, aber die Konvention ist alle benötigten import statements # gleich zu Beginn einer Datei zu machen # numpy ist ein Python-Modul für Numerik, das sowohl Funktionalität als auch Effizienz bietet import numpy as np # pandas ist sehr gut zum Arbeiten mit tabellarischen Daten, egal ob csv, xls oder xlsx import pandas as pd # plotting settings pd.plotting.register_matplotlib_converters() # matplotlib ist ein sehr umfangreiches Modul zum Erstellen von Visualisierungen/Plots import matplotlib.pyplot as plt %matplotlib inline # seaborn erleichtert das Erstellen von oft verwendeten Plot-Typen; # es basiert selbst auf matplotlib und man kann beides kombinieren # eine schöne Einführung in Seaborn: https://www.kaggle.com/learn/data-visualization import seaborn as sns # %% Data data = pd.read_csv("../data/melb_data.csv").dropna() # Ein Outlier, blöder Arsch # TODO: remove outlier from actual data, not just diagram ax = sns.scatterplot(x=data['BuildingArea'], y=data['Price']) ax.set(xlim=(0, 1000)) # %% linear regression X = [] Y = [] for _, row in data.iterrows(): X.append([1]+ [row['BuildingArea']]) Y.append(row['Price']) X = np.array(X) Y = np.array(Y) # aber das ist noch nicht die fertige eingabe, da fehlt die konstante 1! # und mit Y ist auch irgendwas :( w_ana = np.linalg.solve(X.T @ X , X.T @ Y) w_ana