Uczenie maszynowe według wujka Google

    No Comments

    Część pierwsza poradnika Google w zakresie uczenia maszynowego (Machine Learning)

    Budowa pierwszego modelu predykcyjnego w kilku liniach kodu

    Odpowiednik pierwszego programu “hello world” w C.

    Co my tu właściwie mamy ?
    Kawałek kodu w języku Python z zaimportowanym pakietem scikit-learn.
    Dokonujemy klasyfikacji i próbujemy przewidzieć na podstawie wartości dwóch cech owocu (wagi i gładkości powierzchni), czy jest on jabłkiem czy pomarańczą.
    Pod spodem jest drzewo decyzyjne, które pozwala na budowę modelu predykcyjnego.

    Kiedy skończy się identity

    No Comments

    To była długa bezsenna noc. Szczekające psy sąsiada, deszcz bijący o szyby pokoju.
    Czwarta nad ranem, gdy w końcu udało się zasnąć, komórka służbowa zaczęła dzwonić.

    Msg 8115, Level 16, State 1, Line 1
    Arithmetic overflow error converting IDENTITY to data type int.
    Arithmetic overflow occurred.
    Po raz kolejny przepełnił się autonumer jednej z licznych tabel na serwerze produkcyjnym.

    Jak się przed tym obronić ? Jak oszacować kiedy skończy nam się możliwość generowania autonumeracji ?
    Czy da się opracować proaktywny mechanizm wspomagający codziennie utrzymanie systemów ?

    Spróbujmy oszacować to jedynie na podstawie metadanych.

    Co mamy do dyspozycji ?

    Liczbę rekordów w tabeli, jej datę utworzenia, aktualną wartość licznika, maksymalną wartość licznika.

    Zastosowany jest najprostszy z możliwych. algorytmów.

    Zakładamy, że liczba rekordów przyrasta liniowo w czasie, parametry tego wzrostu są tak dopasowane, że w chwili t0 (dla daty utworzenia) liczba rekordów wynosi 0, a dla chwili tk (dla daty katastrofy, czyli przepełnienia typu całkowitego) liczba rekordów jest równa maksymalnej.

    Poniżej umieszczono szkic skryptu:

    Dla tych, których takie rozważania nudzą, ciekawe może się wydać, to że przekroczenie zakresu zmiennej całkowitej spowodowało wiele katastrof, które wynikały ze złego oszacowania czasu pracy oprogramowania i zastosowanego typu zmiennej. Warto o tym pomyśleć podczas projektowania rozwiązania bazodanowego na długie lata.

    https://bulldogjob.pl/news/114-upiorne-bugi-male-bledy-wielkie-katastrofy

    Categories: migawka, t-sql

    Jak sprawdzić czy grupa tabeli ma takie same partycje

    No Comments

    Załóżmy, że w bazie wiele tabel partycjonowanych w ten sam sposób, ale do każdej z nich używamy schematu partycjonowania o dedykowanej nazwie. Chciali byśmy kontrolować, czy liczba partycji na tych tabelach jest taka sama i czy daty poszczególnych przedziałów funkcji partycjonującej się nie rozjechały.

    Mogą w tym pomóc dwa poniższe zapytania:

    Jeżeli w każdym zapytaniu w drugiej kolumnie mamy tylko jedną wartość i jest ona równa ilości wierszy w drugim zapytaniu, to nasze tabele są w porządku.
    Przykładowo:

    tabele_partycje

    W pierwszym zapytaniu w drugiej kolumnie jest tylko wartość 27 i podobnie w drugim zapytaniu wszędzie jest wartość 6. Do tego pierwsze zapytanie zwraca 6 wierszy, a drugie 27.

    Categories: t-sql

    Witaj, świecie!

    No Comments

    Dawno dawno temu w odległej galaktyce….

    Na ekranie komputera dowództwa.

    Categories: t-sql

    Uczenie maszynowe – pierwsza recenzja

    No Comments

    Wydawałoby się ze rozwiązania chmurowe Azure i książki drukowane to dwa różne światy. Producenci usług udostępniają obszerną dokumentację w sieci, pojawiają się nowe usługi , poprawiane są istniejące, a świat drukarski biegnie swoim tempem.
    Z takim właśnie niepokojem zabrałem się do lektury książki Marcina Szeligi “Data Science i uczenie maszynowe” wydawnictwa PWN.
    Co możemy znaleźć w środku? Dowiedziałem się czym jest uczenie maszynowe, obejrzałem przykłady i zbudowałem pierwsze modele, opublikowałem je w formie serwisów webowych.
    Już w pierwszym rozdziale mam do czynienia z przykładowym eksperymentem z dziedziny marketingu. Kolejne rozdziały poświęcono temu, co w praktyce zawiera najwięcej czasu, przynajmniej podczas pierwszych iteracji budowy modelu, mam na myśli mozolną pracę z danymi źródłowymi. Z jakimi typami zmiennych mam do czynienia, jak je uzupełniać, jak je dyskretyzować, jak normalizować, jak eliminować wartości odstające. Znalazłem też podstawy statystyki, bez której nie da się dobrze rozumieć i odczytać informacji zawartych w danych i korelacji między nimi, a co więcej pokazano, jak je weryfikować wizualnie na przykładzie klasycznego kwartetu Ascombe.
    Nie zapomniano też o procesie wzbogacania danych, prognozowaniu ,szeregach czasowych i redukcji wymiarów (PCA).
    Opisano główne techniki uczenia maszynowego, takie jak klasyfikacja, regresja, analiza skupień, rekomendowanie i prognozowanie. Każdy z rozdziałów zawiera odpowiednią liczbę przykładów w stosunku do części teoretycznej.
    Proces budowy i testowania modelu jest cykliczny i często uzyskana jego jakość jest o wiele mniejsza niż spodziewana. Na szczęście rozdział dziesiąty przedstawia metody oceny i poprawy jakości uzyskanych modeli, to rozdział dla tych, którzy przeczytawszy książkę skończyli ją na rozdziale dziewiątym i pełni zapału zabrali się za budowę własnego rozwiązania.
    Z książki korzystałem w praktyce podczas realizacji programu Microsoft Professional Program for Data Science. Dotyczyło to zakresu kursów: DAT203.1x Data Science Essentials, DAT203.2x Principles of Machine Learning, DAT203.3x Applied Machine Learning i końcowego DAT102x Microsoft Professional Capstone : Data Science. Zapewniam, że nie raz do niej sięgnąłem.
    Jeżeli dopiero zaczynasz przygodę z platformą Azure w zakresie uczenia maszynowego, to ta książka jest dla ciebie. Jeśli myślisz, ze po jej przeczytaniu wiesz już wszystko, to się mylisz, to jest dopiero początek drogi w poznawaniu fascynującej wiedzy, która jest nie jest nowym obszarem, ale od kilku lat pojawiają się narzędzia, która znacznie upraszczają i automatyzują budowę modeli predykcyjnych.
    Jednym z nich jest Azure Machine Learning. Dzięki tej usłudze próg wejścia znacznie się zmniejszył. Możemy zbudować pierwsze modele za pomocą interfejsu graficznego bez z jednej linii kodu (!). Co więcej, budowa serwisu webowego, za pomocą którego nasz model komunikuje się na zewnątrz też została mocno uproszczona i producent przygotował szablony w C# , języku R i arkusze Excela.
    Książka Marcina Szeligi jest nie tylko doskonałym uzupełnieniem dokumentacji Microsoftu i warto do niej wracać w kolejnych iteracjach wraz ze wzrostem nabytej wiedzy, ale również pozwala na usystematyzowanie wiedzy, która w dokumentacji producenta jest bardziej rozmyta.
    To czego mi brakuje, to krótkie wprowadzenie do języka R, ale ze względu na powszechną dostępność poradników , nie powinno to być problemem podczas przyswajania wiedzy.

    https://ksiegarnia.pwn.pl/Data-Science-i-uczenie-maszynowe,706763082,p.html

    Categories: Machine Learning, R