Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
ed:lab_04 [2024/03/10 19:39] pszwed [Funkcja do rysowania wykresów] |
ed:lab_04 [2024/03/21 02:25] (current) pszwed [Funkcja do rysowania wykresów] |
||
---|---|---|---|
Line 12: | Line 12: | ||
===== 1. Cechy wielomianowe 2 stopnia ===== | ===== 1. Cechy wielomianowe 2 stopnia ===== | ||
**Umieść kod w klasie | **Umieść kod w klasie | ||
+ | |||
+ | **Ponieważ przetwarzane są kolejne zbiory, najwygodniej będzie umieścić kod w funkcji postaci\\ | ||
+ | '' | ||
+ | |||
**1.** Dodaj do zbioru danych kolumnę '' | **1.** Dodaj do zbioru danych kolumnę '' | ||
Line 42: | Line 46: | ||
**4.** Wyświetl wyniki. Przy wyświetlaniu aproksymowanej funkcji wywoływana jest funkcja '' | **4.** Wyświetl wyniki. Przy wyświetlaniu aproksymowanej funkcji wywoływana jest funkcja '' | ||
- | **5.** Przetwórz wszystkie pliki i wyświetl ich wykresy. | + | **5.** Przetwórz wszystkie pliki i wyświetl ich wykresy |
Niewątpliwie ciekawym wykresem jest dopasowanie wielomianu 2-stopnia do danych wygenerowanych z wielomianu 3 stopnia | Niewątpliwie ciekawym wykresem jest dopasowanie wielomianu 2-stopnia do danych wygenerowanych z wielomianu 3 stopnia | ||
Line 96: | Line 100: | ||
**Kod umieść w klasie '' | **Kod umieść w klasie '' | ||
- | **Ponieważ przetwarzane są kolejne zbiory, | + | **Ponieważ przetwarzane są kolejne zbiory, |
'' | '' | ||
- | Dodawanie manualne cech jako kolumn zbioru danych jest zbyt żmudne - zachodzi konieczność nazywania tych kolumn, później modyfikacji kodu w kilku miejscach. Raczej buduje się ciąg przetwarzania: | + | Dodawanie manualne cech jako kolumn zbioru danych jest zbyt żmudne - zachodzi konieczność nazywania tych kolumn, później modyfikacji kodu w kilku miejscach. Raczej buduje się ciąg przetwarzania: |
+ | |||
+ | Rozszerzenie cech o cechy wielomianowe jest dokonywane za pomocą odpowiedniej funkcji transformującej dane tablicowe : '' | ||
==== Budowa ciągu przetwarzania | ==== Budowa ciągu przetwarzania | ||
Line 173: | Line 179: | ||
**2.** Zamiana wartości double na '' | **2.** Zamiana wartości double na '' | ||
- | Przeiteruj przez elementy fx i dla każdego z nich utwórz obiekt '' | + | Przeiteruj przez elementy fx i dla każdego z nich utwórz obiekt '' |
**3.** Zdefiniuj schemat i utwórz zbiór danych: | **3.** Zdefiniuj schemat i utwórz zbiór danych: | ||
Line 282: | Line 288: | ||
* '' | * '' | ||
- | Zapisz rysunki, zbierz | + | Zapisz rysunki |
==== Rozwiązanie 2 ==== | ==== Rozwiązanie 2 ==== | ||
Line 299: | Line 305: | ||
Można oczywiście ustawić seed i otrzymać powtarzalne wyniki (np. seed =3 wydaje się całkiem dobry). | Można oczywiście ustawić seed i otrzymać powtarzalne wyniki (np. seed =3 wydaje się całkiem dobry). | ||
- | **2.** Zbierz w tabelce metryki dla obu sposobów ustalania podziału | + | **2.** Wróć do poprzedniego rozwiązania |
- | + | ||
- | **3.** Wróć do poprzedniego rozwiązania | + | |
Stały podział może być całkiem dobry, jeżeli wcześniej dane zostały losowo pomieszane. Jest to częste podejście przy publikacji zbiorów testowych. | Stały podział może być całkiem dobry, jeżeli wcześniej dane zostały losowo pomieszane. Jest to częste podejście przy publikacji zbiorów testowych. | ||
Line 309: | Line 313: | ||
df = df.orderBy(org.apache.spark.sql.functions.rand(3)); | df = df.orderBy(org.apache.spark.sql.functions.rand(3)); | ||
</ | </ | ||
+ | |||
+ | **3.** Zbierz w tabelce metryki dla wszystkich sposobów ustalania podziału | ||
+ | |||