Hlavní navigace

Odpověď na názor

Odpovídáte na názor k článku Balíček scikit-learn: modely provádějící regresní analýzu. Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.

  • 16. 8. 2024 12:37

    Fík
    Zlatý podporovatel

    No zakmitávat to jistě bude, ale chyba by i tak měla klesat nebo zůstávat stejná. Tím to není.

    Stejný program v Matlabu a klesá mi to do stupně 22, pak to roste.

    x = linspace(0, 10, 100);
    y = [0.5*rand(1,50),1+0.5*rand(1,50)];
    for i=1:30,
        p = polyfit(x,y,i);
        MSE=sum((polyval(p,x)-y).^2)/length(x)
    end;

    Ale od stupně 12 už to hlásí:

    Warning: Polynomial is badly conditioned. Add points with distinct X values, reduce the degree of the polynomial, or try centering and scaling as described in HELP POLYFIT.

    Takže chyba je v tom, že systém rovnic je špatně podmíněný (blízko singulárnímu) a ve výsledku se projeví velká chyba kvůli pevné přesnosti operací.

    Závěr - polynom od 12 už nemá cenu na tato vstupní data fitovat. Trochu divné je, že scikitu ta špatná podmíněnost nijak nevadí a jede prostě dál.