Od zera do mistrza Big Data i uczenia maszynowego w Pythonie. Część 2

wpis w: migawka, Python | 4

Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /var/www/html/wp-content/plugins/nbconvert/nbconvert.php on line 87

Warning: file_get_contents(): Failed to enable crypto in /var/www/html/wp-content/plugins/nbconvert/nbconvert.php on line 87

Warning: file_get_contents(https://nbviewer.jupyter.org/url/github.com/djkormo/PythonForML/blob/master/intro/MapaPolski.ipynb): failed to open stream: operation failed in /var/www/html/wp-content/plugins/nbconvert/nbconvert.php on line 87

Warning: DOMDocument::loadHTML(): Empty string supplied as input in /var/www/html/wp-content/plugins/nbconvert/nbconvert.php on line 121

Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /var/www/html/wp-content/plugins/nbconvert/nbconvert.php on line 87

Warning: file_get_contents(): Failed to enable crypto in /var/www/html/wp-content/plugins/nbconvert/nbconvert.php on line 87

Warning: file_get_contents(https://nbviewer.jupyter.org/url/github.com/djkormo/PythonForML/blob/master/intro/Kurs_1_typy_zmienne.ipynb): failed to open stream: operation failed in /var/www/html/wp-content/plugins/nbconvert/nbconvert.php on line 87

Warning: DOMDocument::loadHTML(): Empty string supplied as input in /var/www/html/wp-content/plugins/nbconvert/nbconvert.php on line 121

Anaconda i notatniki Jupitera

Do zabawy z Pythonem wykorzystałem Anaconda i dostępne notatniki Jupitera.

Anaconda

Pobrałem wersję 64 bitową z obsługa Pythona 3.

Po pomyślnej instalacji uruchamiamy Anaconda Navigator

Wybieramy jupyter notebook, przycisk Launch i naszym oczom otwiera się strona

http://localhost:8888/tree

Tworzymy notatnik wybierając język Python 3.

Przygotowaliśmy nasz pierwszy notatnik o nazwie Nowy, nazwę można łatwo zmienic z poziomu menu File lub klikając na nazwę.

 

Podstawowe operacje dostępne w notatniku można wylistować za pomocą klawisza H.  Należy pamiętać, by kursor nie był umieszczony w komórce.

Notatnik można rozumieć jako interkatywny skrypt, który składa się z dwóch rodzajów komórek: opisowych (w składni Markdown)  i tych, w których wpisujemy kod języka.

Opis składni Markdown można znaleźć w wielu miejscach. Ja korzystałem z

https://github.com/adam-p/markdown-here/wiki/Markdown-Here-Cheatsheet

Próbujmy sprawdzić wersję  naszych narzędzi

import sys
print ("Używana wersja Pythona to: ", sys.version)

U mnie wyglada to tak:

Używana wersja Pythona to:  3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 11:57:41) 
[MSC v.1900 64 bit (AMD64)]

Siłą języka, nie tylko w zakresie uczenia maszynowego (ML), jest dostępna ogromna list  gotowych pakietów, które znacznie upraszczają budowę skomplikowanych algorytmów.

Pakiety gromadzone są w repozytorium zwanym PyPI (Python Package Index). Instalacja modułów  może być wykonana również z poziomu notatnika.
Kod zaczynamy od !pip, co oznacza wykorzystanie instrukcji powłoki pip. Przykładem takiego pakietu jest folium pozwalający na obsługę map.

!pip install folium
Collecting folium
  Downloading https://files.pythonhosted.org/packages/07/37/456fb3699ed23caa0011f8b90d9cad94445eddc656b601e6268090de35f5/folium-0.5.0.tar.gz (79kB)
Collecting branca (from folium)
  Downloading https://files.pythonhosted.org/packages/b5/18/13c018655f722896f25791f1db687db5671bd79285e05b3dd8c309b36414/branca-0.3.0-py3-none-any.whl
Requirement already satisfied: jinja2 in c:\users\user\anaconda3\lib\site-packages (from folium)
Requirement already satisfied: requests in c:\users\user\anaconda3\lib\site-packages (from folium)
Requirement already satisfied: six in c:\users\user\appdata\roaming\python\python36\site-packages (from folium)
Requirement already satisfied: MarkupSafe>=0.23 in c:\users\user\anaconda3\lib\site-packages (from jinja2->folium)
Building wheels for collected packages: folium
  Running setup.py bdist_wheel for folium: started
  Running setup.py bdist_wheel for folium: finished with status 'done'
  Stored in directory: C:\Users\User\AppData\Local\pip\Cache\wheels\f8\98\ff\954791afc47740d554f0d9e5885fa09dd60c2265d42578e665
Successfully built folium
Installing collected packages: branca, folium
Successfully installed branca-0.3.0 folium-0.5.0

Krótka demonstracja możliwości

# importujemy pakiet folium
import folium
# konfiguracja obiektu mapy Polski, 
mapa = folium.Map(location=[52.325, 18.94], zoom_start=6)
# wyswietlamy mape
mapa

Kod umieszczony na GitHub

Podgląd:

https://nbviewer.jupyter.org/github/djkormo/PythonForML/blob/master/intro/MapaPolski.ipynb

Uruchomienie:

https://mybinder.org/v2/gh/djkormo/PythonForML/master?filepath=intro/MapaPolski.ipynb

Po uruchomieniu kontenera należy wyczyścić informacje wyjściowe za pomocą menu Kernel -> Restart & Clear Output.

Reenderowane wtyczką WP:

Na tym kończę pierwszą demonstrację. Nie można być astronautą z marszu.

Wracamy do podstaw

  • Na początku warto zaznajomić się z czterema podstawowymi typami skalarnymi:
    całkowitym,
    rzeczywistym,
    logicznym,
    łańcuchowym
    Należy zwrócić uwagę na to, że mamy do czynienia z dynamicznym typowaniem, co w praktyce oznacza zmianę typu zmiennej w czasie i wymaga kontroli typu przez programistę. To na czym chcę się dodatkowo skoncentrować to jawna konwersja typów, system pomocy, wbudowane funkcje.

Przykładowy  notatnik  umieszczony na githubie:

https://github.com/djkormo/PythonForML/blob/master/intro/Kurs_1_typy_zmienne.ipynb

Podgląd:

https://nbviewer.jupyter.org/github/djkormo/PythonForML/blob/master/intro/Kurs_1_typy_zmienne.ipynb

Uruchomienie:

https://mybinder.org/v2/gh/djkormo/PythonForML/master?filepath=intro/Kurs_1_typy_zmienne.ipynb

Po uruchomieniu kontenera należy wyczyścić informacje wyjściowe za pomocą menu Kernel -> Restart & Clear Output.

Reenderowane wtyczką WP:

Literatura:
Opis podłączenia notatnika z Githuba do WordPressa

https://github.com/ghandic/nbconvert

Cheat sheet

https://perso.limsi.fr/pointal/_media/python:cours:mementopython3-english.pdf

Tutorial z Kaggle

https://www.kaggle.com/learn/python

 

Poprzednia część

Następna część

 

4 Responses

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.