Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
kurse:efcomputergrafik:kw09 [2020/02/25 12:55] Simon Knaus |
kurse:efcomputergrafik:kw09 [2020/03/03 15:18] (current) Simon Knaus |
||
---|---|---|---|
Line 68: | Line 68: | ||
=== Einstiegsfragen === | === Einstiegsfragen === | ||
- Welches sind Klassifizierungsaufgaben bei Clearview? Was ist der Feature Space? Was ist $|\mathcal{Y}|$? | - Welches sind Klassifizierungsaufgaben bei Clearview? Was ist der Feature Space? Was ist $|\mathcal{Y}|$? | ||
- | - Welches sind Klassifzierungsaufgaben beim Slaugherbots? | + | - Welches sind Klassifzierungsaufgaben beim Slaugherbots? |
=== Regression === | === Regression === | ||
Line 74: | Line 74: | ||
== Univariate Lineare Regression == | == Univariate Lineare Regression == | ||
- | - Setze ein Modell $y_i=f(x_i)=\beta x_i+\epsilon_i$ voraus, $y_i$ sind dabei die Preise | + | - Setze ein Modell $y_i=f(x_i)=\beta x_i+\epsilon_i$ voraus, $y_i$ sind dabei die gefahrenen Kilometer |
- Berechne $\beta$ in Python ohne Hilfsmittel, | - Berechne $\beta$ in Python ohne Hilfsmittel, | ||
- | - Verwende dann [[https:// | + | - Verwende dann [[https:// |
- | - Leite die Formel für $\alpha$ und $\beta$ im Modell $f(y_i)=\alpha+\beta x_i$ her. | + | - Installiere zuerst scikit. Frage Ks oder eine/n der erfahrenen Programmierer/ |
+ | - Arbeite die Lösung unten Schritt für Schritt durch, falls du noch nicht klar kommst. | ||
+ | - Leite die Formel für $\alpha$ und $\beta$ im Modell $f(y_i)=\alpha+\beta x_i$ her: Das Prinzip ist dasselbe: Wir haben neu eine Funktion $f$, welche von $\alpha$ und $\beta$ abhängt, das heisst, um $\alpha$ und $\beta$ zu bestimmen, kann $f$ nach $\alpha$ und nach $\beta$ abgeleitet werden, beide gleich Null gesetzt werden und das Gleichungssystem aufgelöst werden. | ||
- Berechne $\alpha$ und $\beta$ wiederum <<von Hand>> | - Berechne $\alpha$ und $\beta$ wiederum <<von Hand>> | ||
+ | - Du hast nun ein Modell: $y=f(x)=\alpha+\beta x$. Berechne Forecasts auf {{kurse: | ||
<hidden Lösung Afg.1 > | <hidden Lösung Afg.1 > | ||
- | Der Ausdruck $\sum_{i=1}^n (y_i\beta x_i)^2$ ist eigentlich ein quadratisches Polynom in $\beta$. Die Werte $x_i$ und $y_i$ sind Zahlen und bekannt. Folglich kann man die Summe als Funktion von $\beta$ aufassen und ableiten. Leitet man dann also $f(\beta)=\sum_{i=1}^n (y_i-\beta x_i)^2$ ab, erhält man \[f' | + | Der Ausdruck $\sum_{i=1}^n (y_i-\beta x_i)^2$ ist eigentlich ein quadratisches Polynom in $\beta$. Die Werte $x_i$ und $y_i$ sind Zahlen und bekannt. Folglich kann man die Summe als Funktion von $\beta$ aufassen und ableiten. Leitet man dann also $f(\beta)=\sum_{i=1}^n (y_i-\beta x_i)^2$ ab, erhält man \[f' |
\[ | \[ | ||
\beta = \frac{\sum_{i=1}^n x_iy_i}{\sum_{i=1}^nx_i^2}. | \beta = \frac{\sum_{i=1}^n x_iy_i}{\sum_{i=1}^nx_i^2}. | ||
Line 89: | Line 92: | ||
</ | </ | ||
- | <hidden Stub Afg. 2 stubafg02.py> | + | <hidden Stub Afg. 2> |
- | <code python> | + | <code python |
import csv | import csv | ||
path = " | path = " | ||
Line 161: | Line 164: | ||
Genau wie bei der univariaten Regression, kann das Problem als Polynom in $\alpha$ und $\beta$ aufgefasst werden. Leite wir $f$ nach $\alpha$ und $\beta$ ab und setzen beides gleich $0$ und lösen nach $\alpha$ und $\beta$ auf, erhalten wir: | Genau wie bei der univariaten Regression, kann das Problem als Polynom in $\alpha$ und $\beta$ aufgefasst werden. Leite wir $f$ nach $\alpha$ und $\beta$ ab und setzen beides gleich $0$ und lösen nach $\alpha$ und $\beta$ auf, erhalten wir: | ||
\[ | \[ | ||
- | \beta= \frac{\sum(x_i-\bar{x})(y_i-\bar{y})}{\sum(x_i-\bar{x})^2} \text{ und } \alpha=\bar{y}-\widehat{\beta}_1\bar{x} | + | \beta= \frac{\sum(x_i-\bar{x})(y_i-\bar{y})}{\sum(x_i-\bar{x})^2} \text{ und } \alpha=\bar{y}-{\beta}\bar{x} |
\] | \] | ||
wobei $\bar{y}=\frac{1}{n}\sum_{i=1}^n y_i$ und $\bar{x}=\frac{1}{n}\sum_{i=1}^n x_i$ ist. | wobei $\bar{y}=\frac{1}{n}\sum_{i=1}^n y_i$ und $\bar{x}=\frac{1}{n}\sum_{i=1}^n x_i$ ist. | ||
Line 176: | Line 179: | ||
Wenn also z.B. $p=2$ ist suchen wir also eine Ebene, welche die quadrierten Abstände der Datenpunkte von der Ebene minimiert. | Wenn also z.B. $p=2$ ist suchen wir also eine Ebene, welche die quadrierten Abstände der Datenpunkte von der Ebene minimiert. | ||
+ | |||
+ | ==== Tafeln ==== | ||
+ | {{ : | ||
+ | |||
+ | ==== Prüfung / OOP ==== | ||
+ | <code python | prA3.py> | ||
+ | |||
+ | class Foo: | ||
+ | def __init__(self, | ||
+ | self.n = a | ||
+ | def mehr(self): | ||
+ | self.n+=1 | ||
+ | def show(self): | ||
+ | print(self.n) | ||
+ | | ||
+ | | ||
+ | a=Foo(3) | ||
+ | b=Foo(5) | ||
+ | a.mehr() | ||
+ | b.show() | ||
+ | print(b.n) | ||
+ | b.mehr() | ||
+ | b.show() | ||
+ | print(b.n) | ||
+ | a.show() | ||
+ | print(a.n) | ||
+ | |||
+ | #a.n ist analog zu reg.coef_ oder reg.intercept_ | ||
+ | </ |