Zacznij terazZacznij za darmo

Obsługa wartości odstających za pomocą winsoryzacji

Dana jest tabela basetable z dwiema zmiennymi: "sum\_donations" i "donor\_id". Zmienna "sum_donations" może zawierać wartości odstające, gdy darczyńcy wpłacili wyjątkowo wysokie kwoty. Chcesz ją winsoryzować tak, aby 5% najwyższych wartości zostało zastąpionych wartością 95. percentyla.

To ćwiczenie jest częścią kursu

Pośrednia analityka predykcyjna w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Wyświetl minimalną wartość sum_donations i sprawdź, czy wynosi co najmniej 0. Następnie wyświetl maksymalną wartość sum_donations.
  • Podaj odpowiedni dolny limit percentyla. Ponieważ wszystkie wartości większe od 0 są realistyczne i często występują, nie ma potrzeby zastępowania wartości poniżej dolnego limitu.
  • Utwórz nową zmienną „sum_donations_winsorized" jako winsoryzowaną wersję zmiennej „sum_donations".
  • Wyświetl maksymalną wartość sum_donations_winsorized.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

from scipy.stats.mstats import winsorize

# Check minimum sum of donations
print(____["____"].____())
print(____["____"].____())

# Fill out the lower limit
lower_limit = ____

# Winsorize the variable sum_donations
basetable["sum_donations_winsorized"] = ____(____["____"], limits=[lower_limit, 0.05])

# Check maximum sum of donations after winsorization
print(____["____"].____())
Edytuj i uruchom kod