Skip to article frontmatterSkip to article content

Vježba 1e

Učitajte podatke iz datoteke podaci_np.csv i primijenite np.polyfit da bi saznali kojeg stupnja je polinom koji se koristio za generiranje drugog stupca tih podataka. U prvom stupcu je značajka, a u drugom target vrijednosti. Krenite od polinoma prvog stupnja (vrijednost: 1) i gledajte kolika je greška (RMSE). Povećavajte stupanj polinoma za jedan i kad pogodite stupanj, greška će biti znatno manja od 1. Predajte gotov program (.ipynb) kad vam greška bude manja od 1.

import numpy as np
import pandas as pd
from sklearn import model_selection
from sklearn import metrics
df = pd.read_csv("podaci_np.csv")
df.head()
Loading...
features = df["X"]
target = df["Y"]
(train_features, test_features, train_target, test_target) = model_selection.train_test_split(features, target, test_size=len(features)//2)

rmse=1000000
stupanj=1
while rmse > 1:
    model = np.poly1d(np.polyfit(train_features, train_target, stupanj))
    predictions = model(test_features)
    rmse=np.sqrt(metrics.mean_squared_error(test_target, predictions))
    print(f"RMSE kod stupnja {stupanj}:", rmse)
    stupanj+=1
RMSE kod stupnja 1: 13903.428779947704
RMSE kod stupnja 2: 2447.7524358750443
RMSE kod stupnja 3: 9.487030992475283e-12