Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ed:lab_08 [2024/04/09 21:38]
pszwed [4. LogisticRegressionGrid - tworzenie tabeli ocen]
ed:lab_08 [2024/04/24 23:20] (current)
pszwed [4. LogisticRegressionGrid - tworzenie tabeli ocen]
Line 14: Line 14:
  
 === Zbiory danych === === Zbiory danych ===
-  * {{ :ed:egzamin-cpp.csv |egzamin-cpp.csv}} - zanonimizowane wyniki zaliczeń/egzaminu z C i C++ w 2016 roku +  * {{ :ed:egzamin-cpp.csv |egzamin-cpp.csv}} - poddane anonimizacji wyniki zaliczeń/egzaminu z C i C++ w 2016 roku 
   * {{ :ed:grid.csv |grid.csv}} - kombinacje ocen    * {{ :ed:grid.csv |grid.csv}} - kombinacje ocen 
  
Line 88: Line 88:
 </code> </code>
  
-**2.** Regresja logistyczna wymaga, aby atrybutów wejściowe były typu numerycznego. Jets też metodą klasyfikacji binarnej (etykiety powinny mieć wartości 0 i 1)+**2.** Regresja logistyczna wymaga, aby atrybutów wejściowe były typu numerycznego. Jest też metodą klasyfikacji binarnej (etykiety powinny mieć wartości 0 i 1)
   * przekonwertuj datę  za pomocą funkcji ''unix_timestamp'' - nadaj nowej kolumnie nazwę ''timestamp''   * przekonwertuj datę  za pomocą funkcji ''unix_timestamp'' - nadaj nowej kolumnie nazwę ''timestamp''
   * Dodaj kolumnę ''Wynik'' będącą wynikiem testu, czy ''Egzamin>=3.0'' - użyj funkcji SQL IF()   * Dodaj kolumnę ''Wynik'' będącą wynikiem testu, czy ''Egzamin>=3.0'' - użyj funkcji SQL IF()
Line 139: Line 139:
 **3.** Zinterpretuj współczynniki równania regresji (napisz kod lub zamieść wykonane obliczenia). Pamiętaj, że timestamp jest wyrażony w sekundach. **3.** Zinterpretuj współczynniki równania regresji (napisz kod lub zamieść wykonane obliczenia). Pamiętaj, że timestamp jest wyrażony w sekundach.
  
-Poniższe wyniki były wygenerowane za pomocą kodu. W praktyce wynik nie zależy od daty...+Poniższe wyniki były wygenerowane programowo. W praktyce wynik nie zależy od daty...
 <code> <code>
 Wzrost OcenaC o 1 zwiększa logit o 0.719097, a szanse zdania razy 2.052578 czyli o 105.257821% Wzrost OcenaC o 1 zwiększa logit o 0.719097, a szanse zdania razy 2.052578 czyli o 105.257821%
Line 242: Line 242:
 ===== 3. LogisticRegressionScores - ocena wyników ===== ===== 3. LogisticRegressionScores - ocena wyników =====
  
-Napisz funkcję tarinAndTest, która:+Napisz funkcję trainAndTest, która:
  
   * dokona podziału na zbiór treningowy i testowy   * dokona podziału na zbiór treningowy i testowy
Line 430: Line 430:
 </code> </code>
  
-**Uwaga:** wynik może się nieco różnić w zależności od konfiguracji+**Uwaga:** wynik może się nieco różnić w zależności od konfiguracji, np. progu prawdopodobieństwa 
  
-**1.** Wytrenuje klasyfikator na zbiorze ''egzamin-cpp.csv''. Wykorzystuj kod z poprzedniej części, ustaw próg prawdopodobieństwa.+**1.** Wytrenuj klasyfikator na zbiorze ''egzamin-cpp.csv''. Wykorzystuj kod z poprzedniej części, ustaw próg prawdopodobieństwa.
  
 **2.** Napisz funkcje **2.** Napisz funkcje
Line 442: Line 442:
 która: która:
   * Wczyta zbiór danych ''grid.csv''   * Wczyta zbiór danych ''grid.csv''
-  * Przetworzy daty+  * Przetworzy daty, tak aby stały się wartościami numerycznymi
   * Skonfiguruje VectorAssembler   * Skonfiguruje VectorAssembler
   * Wywoła funkcję predykcji zmiennej ''lrMpdel''   * Wywoła funkcję predykcji zmiennej ''lrMpdel''
   * Usunie nadmiarowe kolumny   * Usunie nadmiarowe kolumny
-  * Za pomocą zarejestrowanej funkcji użytkownika UDF dokona konwersji etykiet //0->Nie zdał// oraz //1->Zdał//+  * Za pomocą funkcji ''IF()'' SQL lub zarejestrowanej funkcji użytkownika UDF dokona konwersji etykiet //0->Nie zdał// oraz //1->Zdał//
   * Wyświetli wynik   * Wyświetli wynik
   * Zapisze w pliku ''grid-with-classification.csv''    * Zapisze w pliku ''grid-with-classification.csv'' 
ed/lab_08.1712691521.txt.gz · Last modified: 2024/04/09 21:38 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0