Edytuj stronę Odnośniki Fold/unfold all ODT export Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić. ====== Wprowadzanie do Data Mining ====== Laboratorium w semestrze letnim 2020/2021 odbywa się zdalnie za pośrednictwem platformy Moodle. * termin zajęć: środa godz. 12:15-13:45 * strona kursu w Moodle: https://moodle.umk.pl/WFAIIS/course/view.php?id=40 ===== Zaliczenie zajęć ===== Zaliczenie zajęć odbywa się na podstawie rozwiązań zadań z laboratoriów. **Samodzielnie** wykonane rozwiązania, w postaci notatników Jupyter (pliki *.ipynb), należy terminowo deponować na stronie kursu w Moodle. W celu uzyskania zaliczenia należy rozwiązać min. 50% zadań. ===== Literatura ===== * Robert Layton, //Learning Data Mining with Python//, 2015 (2017 wydanie 2) - dostęp on-line z biblioteki z sieci UMK * Pang-Ning Tan, Michael Steinbach, Anuj Karpatne, //Introduction to Data Mining (Second Edition)//, {{https://www-users.cs.umn.edu/~kumar001/dmbook/index.php|WWW}} ===== Plan ===== - Przegląd metod Data Mining - Nie za długi wstęp do python, jupyter, numpy, pandas, matlibplot, scikit-learn - Preprocessing, analiza statystyczna danych, wizualizacja danych - wykrywanie anomalii, braki w danych, dane odstające - Regresja * Liniowa oraz wielomianowa * problem przeuczenia: underfitting/overfitting - Klasyfikacja i ocena klasyfikatorów * kNN * drzewa decyzyjne * SVM * kroswalidacja - Analiza skupień * k-means - Text mining - Przetwarzanie obrazów - Analiza szeregów czasowych ===== Środowisko pracy ===== Zajęcia realizowane są w języku Python z wykorzystaniem notatników Jupyter. W celu realizacji zadań można zainstalować na swoim komputerze środowisko programistyczne lub skorzystać z usług sieciowych umożliwiających edycje i uruchamianie notatników (Google Colab). Python oraz jupyter-notebook dostępne są również na serwerze studenckim ''polon7.fizyka.umk.pl'' ==== Google Colab lub Binder (zalecane) ==== * [[https://colab.research.google.com/|Google Colab]] * maszyna wirtualna w chmurze * wymagane konto Google * notatniki przechowywane na Dysku Google * Notatniki można tez uruchomić w Binder, nie wymaga założonego konta ==== Lokalnie na własnym sprzęcie ==== Notatniki z zajęć można uruchamiać lokalnie na własnych komputerach. Należy w tym celu skonfigurować środowisko Python i Jupyter Notebook lub JupyterLab Wygodnie w tym celu użyć gotowej dystrybucji [[https://www.anaconda.com/products/individual|Anaconda]], która zawiera Pythona, Jupyter oraz wiele przydatnych pakietów. * [[https://jupyter.readthedocs.io/en/latest/install/notebook-classic.html|Installing the classic Jupyter Notebook interface]] * [[https://jupyterlab.readthedocs.io/en/stable/|JupyterLab]] ==== Serwery wydziałowe ==== Notatniki można również uruchamiać korzystając z serwera ''polon7''. Dostęp z zewnątrz sieci LAN wymaga aktualnego certyfikatu OpenVPN. Usługę notatnika można uruchomić w środowisku graficznym logując się za pomocą VNC lub w terminalu (np. Putty) bez uruchamiania przeglądarki (opcja ''--no-browser'') i tunelując transmisję z portu notatnika (domyślny port to 8888) do lokalnej maszyny. Przy logowaniu na serwer via ''ssh'' można przetunelować port, na którym Jupyter hostuje notatnik (domyślnie ''8888''') tak aby możliwe było wyświetlenie wyników w przeglądarce internetowej. Polecenie, które tuneluje usługę działającą na porcie 8888 na serwerze polon7 i wystawią ja lokalnie na porcie 8888 ssh -L 8888:localhost:8888 user@polon7.fizyka.umk.pl Po zalogowaniu przechodzimy do katalogu, w którym znajdują się notatniki. \\ Notatniki z laboratorium dostępne są w repozytorium GitHub. \\ Klonowanie repozytorium: git clone https://github.com/IS-UMK/WDM_2021/ Uruchamianie usługi hostującej notatniki z bieżącego katalogu: jupyter-notebook --no-browser --port 8888 Domyślnie notatnik uruchamia się na porcie 8888. W przypadku, gdy port ten jest zajęty należy wybrać inny, pamiętając o odpowiedniej zmianie tunelowanego portu przy połączeniu (''-L port:localhost:8888'''). Następnie w przeglądarce (lokalnie) otwieramy adres [[http://localhost:8888]] ===== Laboratoria (notatniki) ===== {{page>zajecia:wdm_2021_1:sidebar&noheader&nofooter}} ===== Kilka przydatnych odnośników ===== * [[https://www.python.org/|Python]] is a programming language that lets you work quickly and integrate systems more effectively * [[https://www.learnpython.org/pl/|www.learnpython.org]] * [[https://jupyter.org/|jupyter]] The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. * [[https://www.dataquest.io/blog/jupyter-notebook-tutorial/|Jupyter Notebook for Beginners: A Tutorial]] * [[https://numpy.org/|NumPy]] NumPy is the fundamental package for scientific computing with Python * [[https://numpy.org/devdocs/user/quickstart.html|NumPy tutorial]] * [[https://pandas.pydata.org/|Pandas]] is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool * [[https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html|10 minutes to pandas]] * [[https://realpython.com/pandas-python-explore-dataset/#using-the-pandas-python-library|Using Pandas and Python to Explore Your Dataset]] by Reka Horvath * [[https://scikit-learn.org/stable/|scikit-learn]] Simple and efficient tools for predictive data analysis * [[https://matplotlib.org/|matplotlib]] comprehensive library for creating static, animated, and interactive visualizations in Python. * [[https://github.com/rougier/matplotlib-tutorial|Matplotlib tutorial for beginner]] by Nicolas P. Rougier * [[https://seaborn.pydata.org/|seaborn]]: statistical data visualization * [[https://www.datacamp.com/community/tutorials/seaborn-python-tutorial|Python Seaborn Tutorial For Beginners]] by Karlijn Willems * [[https://jakevdp.github.io/PythonDataScienceHandbook/04.14-visualization-with-seaborn.html|Visualization with Seaborn]] from Python Data Science Handbook by Jake VanderPlas