[wpdm_package id=’5649′]
import pandas as pd
df = pd.read_csv("./input2.csv")
df.head()
# Beispiel: Normale, lineare Regression
X = df[["laenge", "weite"]].values
Y = df[["marge"]].values
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, Y, random_state = 42, test_size = 0.25)
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)
print(model.score(X_test, y_test))
Ergebnis: 0.915137409704
from sklearn.preprocessing import PolynomialFeatures
PolynomialFeatures?
pf = PolynomialFeatures(degree = 2, include_bias = False)
pf.fit(X_train)
X_train_transformed = pf.transform(X_train)[:, [0, 2]]
X_test_transformed = pf.transform(X_test)[:, [0, 2]]
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train_transformed, y_train)
print(model.score(X_test_transformed, y_test))
Ergebnis: 0.988184054931
print(pf.powers_)
# width ^ 1 * length ^ 0
# width ^ 2 * length ^ 0
Ergebnis:
[[1 0]
[0 1]
[2 0]
[1 1]
[0 2]]