<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>GIS on Łukasz Prokulski, Dane i Analizy</title><link>https://blog.prokulski.science/tags/gis/</link><description>Recent content in GIS on Łukasz Prokulski, Dane i Analizy</description><generator>Hugo</generator><language>pl-PL</language><lastBuildDate>Mon, 13 Apr 2026 15:00:00 +0000</lastBuildDate><atom:link href="https://blog.prokulski.science/tags/gis/index.xml" rel="self" type="application/rss+xml"/><item><title>Multi-agent AI, Medallion Architecture i 40 pytań rekrutacyjnych GenAI</title><link>https://blog.prokulski.science/2026/04/13/multi-agent-ai-medallion-architecture-i-40-pytan-rekrutacyjnych-genai/</link><pubDate>Mon, 13 Apr 2026 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2026/04/13/multi-agent-ai-medallion-architecture-i-40-pytan-rekrutacyjnych-genai/</guid><description>&lt;p&gt;W dzisiejszym wydaniu przyglądamy się ewolucji systemów autonomicznych, które coraz śmielej wychodzą poza ramy prostych asystentów. Architektura oparta na wielu agentach (Multi-agent AI) zaczyna być postrzegana jako nowa iteracja mikroserwisów, oferując niespotykaną dotąd elastyczność w projektowaniu złożonych systemów rozproszonych. To zmiana paradygmatu, która wymaga od nas nie tylko nowych narzędzi integracji, jak protokół MCP, ale przede wszystkim świeżego spojrzenia na inżynierię kontekstu i orkiestrację procesów.&lt;/p&gt;&#10;&lt;p&gt;Równolegle do rewolucji agentowej, świat inżynierii danych przechodzi brutalną weryfikację &amp;ldquo;cargo cultu&amp;rdquo;. Coraz głośniej mówi się o tym, że bez solidnej warstwy semantycznej nawet najnowocześniejszy stos technologiczny nie przyniesie wartości biznesowej. Analizujemy, dlaczego kopiowanie architektury gigantów takich jak Uber może być zgubne dla mniejszych organizacji i jak zamiast tego budować skalowalne platformy oparte na sprawdzonych wzorcach, takich jak Medallion Architecture czy Delta Lake.&lt;/p&gt;</description></item><item><title>Rób produkcyjnie agentów AI, platformy danych i automatyzacje, które naprawdę dowożą</title><link>https://blog.prokulski.science/2026/01/26/rob-produkcyjnie-agentow-ai-platformy-danych-i-automatyzacje-ktore-naprawde-dowoza/</link><pubDate>Mon, 26 Jan 2026 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2026/01/26/rob-produkcyjnie-agentow-ai-platformy-danych-i-automatyzacje-ktore-naprawde-dowoza/</guid><description>&lt;p&gt;To wydanie to mocny pakiet o tym, jak przestać bawić się w „demka” i zacząć budować produkcyjne systemy danych, AI i automatyzacji – od architektury agentów, przez hurtownie, po niskopoziomowe optymalizacje.&lt;/p&gt;&#10;&lt;p&gt;Znajdziesz tu blok tekstów o agentach AI (platformy, orkiestracja, pamięć, narzędzia, realne case’y typu monitoring w Slacku), który pokazuje, co trzeba dostarczyć, żeby agenci nie wybuchli przy pierwszym większym ruchu. Do tego zestaw materiałów o analityce i data engineeringu: dobre EDA, przetwarzanie danych geograficznych z DuckDB + GeoPandas, kontrakty danych, wzorce ETL/ELT (Snowflake + dbt + Airflow, migracja z Airflow do Databricks), patterny pod &lt;em&gt;AI‑ready pipelines&lt;/em&gt; i benchmark DuckDB vs Spark.&lt;/p&gt;</description></item><item><title>Nowy dział low code</title><link>https://blog.prokulski.science/2025/10/06/nowy-dzial-low-code/</link><pubDate>Mon, 06 Oct 2025 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2025/10/06/nowy-dzial-low-code/</guid><description>&lt;p&gt;Kolejny tydzień, kolejna porcja wiedzy z szerokiego świata danych i AI. Jak zwasze przed Tobą materiały, które sprawdzą się zarówno w codziennej pracy, jak i przy zgłębianiu nowych technologii.&lt;/p&gt;&#10;&lt;p&gt;Jeśli zajmujesz się infrastrukturą i &lt;strong&gt;DevOps&lt;/strong&gt;, czekają na Ciebie praktyczne wzorce Dockerfile dla Pythona, które zredukują czas buildów do sekund, oraz dziewięć sprawdzonych technik autoskalowania w Kubernetes, które przetrwają piki ruchu. A dla fanów baz danych – przegląd rozszerzeń PostgreSQL, które działają jak supermoc, oraz porównanie architektur Snowflake, Oracle i PostgreSQL.&lt;/p&gt;</description></item><item><title>Nie tylko obraz tego, co się dzieje, ale jak to wykorzystać w praktyce</title><link>https://blog.prokulski.science/2025/09/29/nie-tylko-obraz-tego-co-sie-dzieje-ale-jak-to-wykorzystac-w-praktyce/</link><pubDate>Mon, 29 Sep 2025 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2025/09/29/nie-tylko-obraz-tego-co-sie-dzieje-ale-jak-to-wykorzystac-w-praktyce/</guid><description>&lt;p&gt;Czy kiedykolwiek marzyłeś o tym, żeby skrócić generowanie raportu z 6 godzin do 15 minut? A może zastąpić tradycyjne procesy ETL jednym narzędziem, które działa nawet 100 razy szybciej niż Spark?&lt;/p&gt;&#10;&lt;p&gt;To nie science fiction – to rzeczywistość dzisiejszego numeru!&lt;/p&gt;&#10;&lt;p&gt;Od &lt;strong&gt;agentic AI&lt;/strong&gt;, które rewolucjonizuje kariery specjalistów IT, po konkretne implementacje MCP w firmach CRM – jak zwykle w tym newsletterze nie tylko obraz tego, co się dzieje, ale przede wszystkim &lt;strong&gt;jak to wykorzystać w praktyce&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Newsletter Dane i Analizy, 2025-05-19</title><link>https://blog.prokulski.science/2025/05/19/newsletter-dane-i-analizy-2025-05-19/</link><pubDate>Mon, 19 May 2025 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2025/05/19/newsletter-dane-i-analizy-2025-05-19/</guid><description>&lt;p&gt;W świecie, który coraz mocniej stawia na wykorzystanie sztucznej inteligencji, OpenAI wprowadza Codex - asystenta AI, który może tworzyć kod na podstawie prostych instrukcji tekstowych. Tymczasem ciekawy eksperyment z czterema różnymi modelami LLM poddanymi zadaniu projektowania architektury oprogramowania pokazuje, gdzie obecnie stoją możliwości AI w zastępowaniu ludzkich specjalistów. Pytanie &lt;strong&gt;&amp;ldquo;co dalej z Eldorado?&amp;rdquo;&lt;/strong&gt; pozostaje w mocy?&lt;/p&gt;&#10;&lt;p&gt;Nie brakuje też w dzisiejszym wydaniu konkretnych tutoriali i praktycznych przewodników - od budowy systemów przetwarzania danych w Airflow 3 z wykorzystaniem AI SDK i analizę danych z League of Legends, albo z Ligi Mistrzów UEFA, po tworzenie efektownych wizualizacji takich jak mapy kafelkowe czy wykresy parlamentarne (mimo, że mamy wybory prezydenckie). Dla fanów uczenia maszynowego mam artykuły o klasycznych algorytmach klasyfikacyjnych i praktycznym łączeniu bibliotek Pandas, NumPy i scikit-learn. Plus &lt;a href="https://www.subscribepage.com/python_data_science/?utm_source=newsletter-dia-2025-05-19&amp;amp;utm_medium=link-wstep&amp;amp;utm_campaign=daneianalizy"&gt;swój własny cykl&lt;/a&gt; uczący analizy danych.&lt;/p&gt;</description></item><item><title>Newsletter Dane i Analizy, 2025-04-07</title><link>https://blog.prokulski.science/2025/04/07/newsletter-dane-i-analizy-2025-04-07/</link><pubDate>Mon, 07 Apr 2025 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2025/04/07/newsletter-dane-i-analizy-2025-04-07/</guid><description>&lt;p&gt;Dzisiaj &amp;ldquo;mapy rozwoju&amp;rdquo; - czyli listy zagadnień, które warto poznać, zgłębić, nauczyć się, aby rozwinąć się w danej dziedzinie. Dziedziny te oczywiście bliskie są tematom przewodnim tego newslettera - przetwarzaniu danych. Zatem jest &amp;ldquo;ścieżka rozwojowa&amp;rdquo; dla inżynierów danych oraz dla zajmujących się machine learningiem (i jego &amp;ldquo;operacjonalizacyjną&amp;rdquo; stroną - MLOps).&lt;/p&gt;&#10;&lt;p&gt;Ciekawe dla Ciebie mogą być również dwa świeże raporty (za 2024 rok) związane z bezpieczeństwem - jeden z CERT, więc bezpieczeństwo raczej ogólne. Drugi z Komisji Nadzoru Finansowego dotyczący instytucji finansowych.&lt;/p&gt;</description></item><item><title>Newsletter Dane i Analizy, 2024-12-30</title><link>https://blog.prokulski.science/2024/12/30/newsletter-dane-i-analizy-2024-12-30/</link><pubDate>Mon, 30 Dec 2024 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2024/12/30/newsletter-dane-i-analizy-2024-12-30/</guid><description>&lt;p&gt;&lt;em&gt;Wskazówki nieubłaganie odmierzają czas, do umownego końca stulecia i tysiąclecia pozostały niespełna trzy tygodnie&amp;hellip;&lt;/em&gt; - tak swoją ostatnią audycję rozpoczął Tomasz Beksiński, a w tym roku mija 25 lat od jego śmierci. Pewnie dlatego dużo na jego temat przewija się przez internet.&lt;/p&gt;&#10;&lt;p&gt;To pożegnanie Tomka cytowane tutaj to tylko zabieg literacki, więc nie należy się obawiać o redaktora naczelnego. W rzeczywistości kończymy 2024 rok – czas pełen przełomów w świecie danych, uczenia maszynowego i technologii. Przed Tobą ostatni w tym roku numer newsletter, z kolejnymi (mam nadzieję) inspiracjami, projektami i ciekawostkami, które pomogą zamknąć ten rok z przytupem i może rozbudzą pomysły na nadchodzący 2025.&lt;/p&gt;</description></item><item><title>Newsletter Dane i Analizy, 2024-12-23</title><link>https://blog.prokulski.science/2024/12/23/newsletter-dane-i-analizy-2024-12-23/</link><pubDate>Mon, 23 Dec 2024 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2024/12/23/newsletter-dane-i-analizy-2024-12-23/</guid><description>&lt;p&gt;Im bliżej roku tym więcej podsumowań roku. Ale podsumowania były w zeszłym numerze (kto przegapił może zobaczyć do &lt;a href="../../2024/12/16/newsletter-dane-i-analizy-2024-12-16/"&gt;archiwum&lt;/a&gt;).&lt;/p&gt;&#10;&lt;p&gt;Dzisiaj zaś ze względu na zbliżające się święta mniej materiału niż zwykle. Bo trzeba odpocząć od komputerów, spędzić czas z najbliższymi, wyjść na spacer, porzucać się śnieżkami&amp;hellip; no może tutaj się zapędzamy nieco (patrząc na prognozę pogody).&lt;br&gt;&#10;Odstawcie modele ML, dostawcie Python, Sparki i Kafki, zajmijcie się uszkami w barszczu i prezentami spod choinki. No, ewentualnie może być Pinot&amp;hellip; ale bardziej Pinot Noir niż Apache Pinot.&lt;/p&gt;</description></item><item><title>Newsletter Dane i Analizy, 2024-04-22</title><link>https://blog.prokulski.science/2024/04/22/newsletter-dane-i-analizy-2024-04-22/</link><pubDate>Mon, 22 Apr 2024 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2024/04/22/newsletter-dane-i-analizy-2024-04-22/</guid><description>&lt;hr&gt;&#10;&lt;h3 id="ai_ml"&gt;#ai_ml&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://towardsdatascience.com/create-an-ai-driven-movie-quiz-with-gemini-llm-python-fastapi-pydantic-rag-and-more-e15322be4f66"&gt;&lt;strong&gt;Create an AI-Driven Movie Quiz!&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&#10;Ciekawy projekt, który tworzy quiz wiedzy na temat filmów. Dane o filmach zebrane są z internetowej bazy, przetworzone przez mechanizmy AI, a cała zabawa odbywa się z wykorzystaniem API. Tekst opisuje projekt, a sam kod dostępny jest na GitHubie&lt;/p&gt;&#10;&lt;h3 id="analiza_danych_koncepcje"&gt;#analiza_danych_koncepcje&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://levelup.gitconnected.com/solid-principles-applied-to-data-science-a76e74d6e2c1"&gt;&lt;strong&gt;SOLID Principles Applied to Data Science&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&#10;Jak zbudować standardowy proces MLowy (wczytanie danych, preprocessing, uczenie modelu i finalna predykcja na nowych danych) w zgrabną architekturę spełniającą zasady SOLID?&lt;/p&gt;</description></item><item><title>Newsletter Dane i Analizy, 2024-02-26</title><link>https://blog.prokulski.science/2024/02/26/newsletter-dane-i-analizy-2024-02-26/</link><pubDate>Mon, 26 Feb 2024 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2024/02/26/newsletter-dane-i-analizy-2024-02-26/</guid><description>&lt;p&gt;Skupiamy się w tym tygodniu na zagadnieniach związanych z budowaniem rozwiązań skonteneryzowanych. Mamy więc coś o Dockerze i pakowaniu do niego naszych aplikacji (napisanych w różnych językach, żeby było &amp;ldquo;dla każdego coś miłego&amp;rdquo;), coś (może nieco więcej niż &amp;ldquo;coś&amp;rdquo;) o Kubernetesie - bo to kolejny krok, a wydaje się to być nieco zakręcone. Do tego garść tricków i porad związanych z tymi zagadnieniami, chociażby o nieznanych (albo raczej: nie używanych) opcjach Gita. Ale to dla prawdziwych wyjadaczy.&lt;/p&gt;</description></item><item><title>Newsletter Dane i Analizy, 2023-10-23</title><link>https://blog.prokulski.science/2023/10/23/newsletter-dane-i-analizy-2023-10-23/</link><pubDate>Mon, 23 Oct 2023 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2023/10/23/newsletter-dane-i-analizy-2023-10-23/</guid><description>&lt;p&gt;Lubię DuckDB i lubię AirFlow. Kafka jest naturalnym sposobem na przesyłanie danych między systemami czy też mikroserwisami. Stąd też dzisiaj kilka tekstów zahaczających o te wszystkie technologie.&lt;/p&gt;&#10;&lt;p&gt;Dodatkowo trochę z obszaru zarządzania - zarówno opis typowego projektu data science jak i metryka opisująca stabilność kolejki prac.&lt;/p&gt;&#10;&lt;p&gt;No i trochę o mapkach, bo mapki są fajne.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h3 id="ai_ml"&gt;#ai_ml&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://pub.towardsai.net/fully-explained-softmax-regression-for-multi-class-label-with-python-782a34283894"&gt;&lt;strong&gt;Fully Explained Softmax Regression for Multi-Class Label with Python&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&#10;Klasyfikacja do wielu klas - o co tutaj chodzi? Przewodnik dla początkujących&lt;/p&gt;</description></item><item><title>Newsletter Dane i Analizy, 2023-09-04</title><link>https://blog.prokulski.science/2023/09/04/newsletter-dane-i-analizy-2023-09-04/</link><pubDate>Mon, 04 Sep 2023 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2023/09/04/newsletter-dane-i-analizy-2023-09-04/</guid><description>&lt;p&gt;Wiecie co jest największym problemem dla analityka danych w dużej organizacji? Jest ich kilka, ale podzielić można je na kilka obszarów:&lt;br&gt;&#10;znajdowanie danych zrozumienie danych uzyskanie dostępu do danych&lt;/p&gt;&#10;&lt;p&gt;Przeczytacie o tym w &lt;a href="https://towardsdatascience.com/5-common-data-governance-pain-points-for-analysts-data-scientists-8efe8a007ac2"&gt;5 Common Data Governance Pain Points for Analysts &amp;amp; Data Scientists&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;I jeszcze na to dochodzi podejście do organizacji zespołów zajmującymi się danymi. Centralnie? A może każdy osobno? O tym pisze SeattleDataGuy w &lt;a href="https://seattledataguy.substack.com/p/centralized-vs-decentralized-vs-federated"&gt;Centralized vs Decentralized vs Federated Data Teams&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Newsletter Dane i Analizy, 2023-05-15</title><link>https://blog.prokulski.science/2023/05/15/newsletter-dane-i-analizy-2023-05-15/</link><pubDate>Mon, 15 May 2023 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2023/05/15/newsletter-dane-i-analizy-2023-05-15/</guid><description>&lt;p&gt;Wielokrotnie w newsletterze znalazły się teksty mówiące o wykorzystaniu Snowflake, BigQuery czy Databricks. Dzisiaj przyszedł jednak czas na szybkie wprowadzenie do tych narzędzi - jak zacząć z nich korzystać? Jak stworzyć konto, jak załadować pierwsze dane?&lt;/p&gt;&#10;&lt;p&gt;A wiecie, że narzędzia Microsoftu - na przykład Excel (poprzez VBA) czy też PowerBI potrafią współpracować z zewnętrznymi skryptami napisanymi w Pythonie albo R? Jeśli nie, to poniżej znajdziecie przykłady takiej współpracy. Swoją drogą - pewnie już ze dwa lata mija od plotek o wprowadzeniu Pythona do Excela&amp;hellip; ale coś nie widać zmiany.&lt;/p&gt;</description></item><item><title>Newsletter Dane i Analizy, 2023-01-30</title><link>https://blog.prokulski.science/2023/01/30/newsletter-dane-i-analizy-2023-01-30/</link><pubDate>Mon, 30 Jan 2023 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2023/01/30/newsletter-dane-i-analizy-2023-01-30/</guid><description>&lt;p&gt;Dzisiaj na początek trochę o orkiestracji za pomocą Apache Airflow. Zobaczymy co potrafi to narzędzie w zakresie sterowania pobieraniem danych i jak sprawuje się na produkcji.&lt;/p&gt;&#10;&lt;p&gt;A jak już mamy pobrane dane to możemy z nimi coś zrobić korzystając z jednej z bibliotek pythonowych. Albo policzyć jakieś modele i z ich pomocą przeanalizować na przykład klientów i ich drogę przez koszyk zakupowy.&lt;/p&gt;&#10;&lt;p&gt;W sumie - u laików - synonimem słowa &amp;ldquo;model&amp;rdquo; jest &amp;ldquo;sztuczna inteligencja&amp;rdquo;. A jak sztuczna inteligencja to może od razu ChatGPT (z którego już dzieciaki korzystają żeby pisać prace domowe)?&lt;/p&gt;</description></item><item><title>Newsletter Dane i Analizy, 2022-08-08</title><link>https://blog.prokulski.science/2022/08/08/newsletter-dane-i-analizy-2022-08-08/</link><pubDate>Mon, 08 Aug 2022 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2022/08/08/newsletter-dane-i-analizy-2022-08-08/</guid><description>&lt;p&gt;Wakacje za półmetkiem, więc tematy w dzisiejszym newsletterze tak pół na pół.&lt;/p&gt;&#10;&lt;p&gt;Z jednej strony mamy ciężkie rzeczy: nowe naukowe &lt;em&gt;pejpery&lt;/em&gt; czy omówienie algorytmu grupowania przestrzennego opartego na gęstości. Ale z drugiej - automatyzację w Excelu czy kilka(naście) inspiracji dotyczących prezentowania danych.&lt;/p&gt;&#10;&lt;p&gt;Dla tych zaś co lubią wdrażanie i Kubernetesy - też coś się znajdzie, chociażby cluster na malinach ;-)&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h3 id="ai_ml"&gt;#AI_ML&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://towardsdatascience.com/6-papers-every-modern-data-scientist-must-read-1d0e708becd"&gt;&lt;strong&gt;6 Papers Every Modern Data Scientist Must Read&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&#10;Przegląd prasy (publikacji naukowych) dla prawdziwych nerdów AI/ML. Jaki &amp;ldquo;pejper&amp;rdquo; czytasz dzisiaj?&lt;/p&gt;</description></item><item><title>Newsletter Dane i Analizy, 2022-06-20</title><link>https://blog.prokulski.science/2022/06/20/newsletter-dane-i-analizy-2022-06-20/</link><pubDate>Mon, 20 Jun 2022 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2022/06/20/newsletter-dane-i-analizy-2022-06-20/</guid><description>&lt;p&gt;Długi weekend się przedłużył&amp;hellip; ale zgodnie z planem (a nie że &amp;ldquo;melanż poniósł za daleko&amp;rdquo; ;-). Newsletter przygotowany, a (prawie) jednodniowe opóźnienie nie powinno zmienić Waszego stosunku do zawartości. Odrobina tęsknoty (mam nadzieję) nikomu jeszcze nie zaszkodziła.&lt;/p&gt;&#10;&lt;p&gt;Deszcz pada w całym kraju, zapraszam zatem do lektury!&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h3 id="ai_ml"&gt;#AI_ML&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://medium.com/analytics-vidhya/fundamentals-of-mlops-part-4-tracking-with-mlflow-deployment-with-fastapi-61614115436"&gt;&lt;strong&gt;Model Tracking with MLFlow &amp;amp; Deployment with FastAPI&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&#10;Fajny tutorial pokazujący jak śledzić wyniki modelu przez MLFlow oraz serwować ten najlepszy przez FastAPI&lt;/p&gt;</description></item><item><title>Newsletter Dane i Analizy, 2022-01-31</title><link>https://blog.prokulski.science/2022/01/31/newsletter-dane-i-analizy-2022-01-31/</link><pubDate>Mon, 31 Jan 2022 15:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2022/01/31/newsletter-dane-i-analizy-2022-01-31/</guid><description>&lt;p&gt;Dzisiaj &lt;em&gt;odcinek&lt;/em&gt; dość pythonowy, ale za to z obszernym tekstem o tworzeniu modeli w R - cały proces opisany po kolei. Polecam!&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h3 id="ai_ml"&gt;#AI_ML&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://www.pinecone.io/learn/nlp/?utm_medium=link&amp;amp;utm_source=data-elixir&amp;amp;utm_campaign=sponsored"&gt;&lt;strong&gt;Natural Language Processing (NLP) for Semantic Search&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&#10;Duża pozycja, która wprowadza w świat NLP&lt;/p&gt;&#10;&lt;h3 id="ciekawostki"&gt;#ciekawostki&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://opendatascience.com/what-does-a-data-driven-government-look-like/"&gt;&lt;strong&gt;What Does a Data-Driven Government Look Like?&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&#10;Teoretycznie więcej danych to lepsze decyzje. Czy zarządzanie maistem albo państwem jest możliwe w oparciu o dane? Jak może to wyglądać?&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://towardsdatascience.com/ai-geospatial-wildfire-risk-prediction-8c6b1d415eb4"&gt;&lt;strong&gt;AI Geospatial Wildfire Risk Prediction&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&#10;Przewidywanie zdarzeń związanych z geografią - pogoda, pożary - ciekawe zagadanienie, a często pomijane przy np. poradnikach ML.&lt;/p&gt;</description></item><item><title>Newsletter Dane i Analizy, 2021-05-14</title><link>https://blog.prokulski.science/2021/05/14/newsletter-dane-i-analizy-2021-05-14/</link><pubDate>Fri, 14 May 2021 09:00:00 +0000</pubDate><guid>https://blog.prokulski.science/2021/05/14/newsletter-dane-i-analizy-2021-05-14/</guid><description>&lt;p&gt;&lt;a href="https://medium.com/swlh/a-modern-set-up-for-python-package-development-f60b27a26bd7"&gt;&lt;strong&gt;A Modern Set-up for Python Package Development&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&#10;From dependency management to quality assurance, documentation, and CI/CD&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="http://blog.adnansiddiqi.me/create-your-first-sales-dashboard-in-apache-superset/"&gt;&lt;strong&gt;Create your first sales dashboard in Apache Superset&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&#10;Superset dashboard tutorial. A step by step guide about how to use Apache Superset to create an interactive e-commerce sales dashboard to track enterprise KPIs. A free and open-source business intelligence tool to create interactive sales dashboard&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="http://blog.adnansiddiqi.me/getting-started-with-elasticsearch-7-in-python/"&gt;&lt;strong&gt;Getting started with Elasticsearch 7 in Python&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&#10;Learn the basics of Elasticsearch 7.x, its setup, and implementation in Python.&lt;/p&gt;</description></item><item><title>Wyniki wyborów prezydenckich 2020 - coś więcej niż mapki</title><link>https://blog.prokulski.science/2020/07/19/wyniki-wyborow-prezydenckich-2020-cos-wiecej-niz-mapki/</link><pubDate>Sun, 19 Jul 2020 21:51:41 +0000</pubDate><guid>https://blog.prokulski.science/2020/07/19/wyniki-wyborow-prezydenckich-2020-cos-wiecej-niz-mapki/</guid><description>&lt;p&gt;Wybraliśmy nowego prezydenta Polski. Jak zwykle internet zalała seria mapek z wynikami. Ale czy mapki to wszystko co można wyciągnąć?&lt;/p&gt;&#10;&lt;p&gt;Mapkami podniecają się wszyscy, ale tak właściwie co one mówią o wynikach wyborów i osobach, które oddały swój głos? Dlaczego Andrzej Duda wygrał w jednych rejonach, a Rafał Trzaskowski w innych?&lt;/p&gt;&#10;&lt;p&gt;Oczywiście media teraz nieco &lt;em&gt;onanizują się&lt;/em&gt; tym, że jeden kandydat wygrał więcej gmin, a inny więcej województw (proporcjonalnie oczywiście). Mapkę narysować można zawsze (zresztą z wynikami po gminach publikowałem na Twitterze jako jeden z pierwszych - dlatego warto śledzić mnie na Twitterze), o tutaj:&lt;/p&gt;</description></item><item><title>Mapy w Pythonie</title><link>https://blog.prokulski.science/2020/02/28/mapy-w-pythonie/</link><pubDate>Fri, 28 Feb 2020 15:07:09 +0000</pubDate><guid>https://blog.prokulski.science/2020/02/28/mapy-w-pythonie/</guid><description>&lt;p&gt;Jakiś czas temu pokazywałem jak w prosty sposób narysować mapę w R. Dzisiaj powtórzymy zadanie dla Pythona.&lt;/p&gt;&#10;&lt;p&gt;Skorzystamy z danych GUS na temat bezrobocia oraz liczby ludności (pomijając dokładność &lt;em&gt;złożenia&lt;/em&gt; danych - interesuje nas rysowanie map, a nie analiza bezrobocia) oraz map z Głównego Urzędu Geodezji i Kartografii.&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;Jeśli potrzebujesz podobnych informacji jak zrobić to wszysto w R sprawdź na początek wszystko co jest w ramach tagu &lt;a href="../../tags/mapa/"&gt;mapa&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h3 id="skąd-pobrać-dane"&gt;Skąd pobrać dane?&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Dane o liczbie ludności&lt;/strong&gt;: &lt;a href="https://bdl.stat.gov.pl/BDL/metadane/cechy/2137"&gt;Ludność / Stan ludności / Ludność wg grup wieku i płci&lt;/a&gt; w tzw. &lt;strong&gt;BDLu&lt;/strong&gt; (czyli Banku Danych Lokalnych GUS) - bierzemy dane z 2018 roku (najnowsze pełne jakie są); Wiek = ogółem, Płeć = ogółem; wszystkie jednostki terytorialne. W wyniku klikania dostaniemy się do tabeli, którą ściągamy lokalnie poprzez &lt;strong&gt;Export / CSV - tablica wielowymiarowa&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;Dokładnie tak samo pozyskujemy &lt;strong&gt;dane o liczbie bezrobotnych&lt;/strong&gt;: &lt;a href="https://bdl.stat.gov.pl/BDL/metadane/cechy/1944"&gt;Rynek pracy / Bezrobocie rejestrowane / Bezrobotni zarejestrowani wg płci w gminach&lt;/a&gt; (znowu: ogółem, 2019 rok, wszystkie jednostki; pobieramy plik CSV dokładnie tak samo jak wyżej).&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Dane mapowe&lt;/strong&gt; bierzemy z &lt;a href="http://www.gugik.gov.pl/pzgik/dane-bez-oplat/dane-z-panstwowego-rejestru-granic-i-powierzchni-jednostek-podzialow-terytorialnych-kraju-prg"&gt;GUGiK&lt;/a&gt; - interesuje nas archiwum &lt;a href="ftp://91.223.135.109/prg/jednostki_administracyjne.zip"&gt;PRG – jednostki administracyjne&lt;/a&gt; (uwaga - to ma 375 MB!). To archiwum rozpakowujemy i (coś co ja robię, żeby później nie było problemów) zmieniamy nazwy plików tak, aby pozbyć się polskich znaków i wszystkie litery w nazwie były małe.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="przygotowanie-danych-z-gus"&gt;Przygotowanie danych z GUS&lt;/h3&gt;&#10;&lt;p&gt;Ale zanim - potrzebne nam będzie kilka pakietów Pythona do dalszej pracy:`&lt;/p&gt;</description></item><item><title>Gdzie są sklepy, drogi czy cokolwiek innego?</title><link>https://blog.prokulski.science/2018/08/10/wykorzystanie-open-street-map-w-r/</link><pubDate>Fri, 10 Aug 2018 18:49:05 +0000</pubDate><guid>https://blog.prokulski.science/2018/08/10/wykorzystanie-open-street-map-w-r/</guid><description>&lt;p&gt;Zastanawialiście się skąd wziąć listę wszystkich miejsc danego typu - na przykład przedszkola w Warszawie - i narysować je na mapie? Jeśli tak, to z tego postu dowiesz się jak to zrobić. Wpis techniczny, żadna tam analiza. Ale są mapki!&#10;Macie świadomość, że istnieje coś takiego jak Wikipedia, prawda? Zbiór haseł uzupełniany przez ochotników. Istnieje coś podobnego dla map i nazywa się &lt;a href="https://wiki.openstreetmap.org/"&gt;Open Street Map&lt;/a&gt;. Ludzie z całego świata dodają informacje o różnych obiektach na mapach - &lt;em&gt;budują&lt;/em&gt; drogi, &lt;em&gt;stawiają&lt;/em&gt; domki i tak dalej. Dane te można pokazać jako mapy, ale też przeszukiwać. W R mamy pakiet &lt;strong&gt;&lt;a href="https://ropensci.github.io/osmdata/"&gt;osmdata&lt;/a&gt;&lt;/strong&gt; (przygotowany przez zacną inicjatywę &lt;a href="https://ropensci.org/"&gt;rOpenSci&lt;/a&gt;, a jest opakowaniem dla &lt;a href="https://wiki.openstreetmap.org/wiki/Overpass_API"&gt;Overpass API&lt;/a&gt;), który umożliwi nam skorzystanie z tych informacji. W dalszej części do pokazania (na interaktywnych, przesuwanych i skalowanych) map użyjemy pakietu &lt;strong&gt;&lt;a href="http://rstudio.github.io/leaflet/"&gt;leaflet&lt;/a&gt;&lt;/strong&gt; (opierający się na bibliotece JavaScript &lt;a href="https://leafletjs.com/"&gt;Leaflet&lt;/a&gt;, który nota bene również korzysta z Open Street Map.&#10;Ciekawostka na marginesie: ostatnio Google zmienił drastycznie ceny używania Google Maps (ciekawy tekst na ten temat znajdziecie &lt;a href="https://www.gdziepolek.pl/blog/pozegnanie-z-google-maps"&gt;tutaj&lt;/a&gt;), zatem korzystanie z Open Street Map może być wybawieniem.&#10;Zaczniemy od wczytania odpowiednich bibliotek:&lt;/p&gt;</description></item><item><title>Shiny - punkty z mapki</title><link>https://blog.prokulski.science/2018/07/05/shiny-punkty-z-mapki/</link><pubDate>Thu, 05 Jul 2018 10:41:45 +0000</pubDate><guid>https://blog.prokulski.science/2018/07/05/shiny-punkty-z-mapki/</guid><description>&lt;p&gt;Jak pobrać współrzędne punktu wskazanego na mapie?&#10;Czasem istnieje potrzeba, aby w aplikacji (napisanej w Shiny) użytkownik wskazał jakąś lokalizację na mapie. Jak to zrobić?&#10;Bardzo szybki wpis, który rozwiązuje konkretny problem. Ot - takie StackOverflow ;).&#10;Trzeba narysować mapę - do map interaktywnych bardzo wygodny jest pakiet &lt;em&gt;leaflet&lt;/em&gt;, który opakowuje nam bibliotekę &lt;strong&gt;&lt;a href="https://leafletjs.com/"&gt;Leaflet&lt;/a&gt;&lt;/strong&gt; napisaną w Java Script. Przy okazji: podobnie robi &lt;em&gt;plotly&lt;/em&gt; - obie ta biblioteki są proste w użyciu, a dają bardzo atrakcyjne efekty w postaci interaktywnych map czy wykresów.&#10;Po narysowaniu mapy ustawiamy marker na jej środku i dostosowujemy widoczny obszar.&#10;Pozostaje tylko czekać na &lt;em&gt;event&lt;/em&gt; (zdarzenie) z Shiny. Nasza aplikacja zareaguje na zdarzenie w obiekcie mapy. Odpowiednie zmienne zawierają współrzędne klikniętego punktu. Teraz wystarczy usunąć wszystkie dodane &lt;em&gt;markery&lt;/em&gt; i na nowo dodać jednej w klikniętym miejscu. Dodatkowo w poniższym kodzie wypisujemy współrzędne klikniętego punktu.&lt;/p&gt;</description></item><item><title>Mapy hipsometryczne</title><link>https://blog.prokulski.science/2018/06/28/mapy-hipsometryczne/</link><pubDate>Thu, 28 Jun 2018 09:08:59 +0000</pubDate><guid>https://blog.prokulski.science/2018/06/28/mapy-hipsometryczne/</guid><description>&lt;p&gt;Jak wykorzystać dane o numerycznym modelu terenu (NMT)? Skąd je wziąć i jak przygotować do wygodniej pracy?&#10;Dzisiaj wpis mocno techniczny, bez szczególnych analiz. Gratka dla osób szukających sposobów na rozdzielenie danych punktowych na gminy, powiaty i województwa oraz wskazówki jak pokazywać takie dane na mapie (i agregować je zgodnie z podziałem terytorialnym). Oprzemy się na danych o wysokości terenu, ale to tylko przykład.&#10;Potrzebne nam będą następujące biblioteki:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6639ba"&gt;library&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;tidyverse&lt;span style="color:#1f2328"&gt;)&lt;/span&gt; &lt;span style="color:#57606a"&gt;# do wszystkiego :)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6639ba"&gt;library&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;rvest&lt;span style="color:#1f2328"&gt;)&lt;/span&gt; &lt;span style="color:#57606a"&gt;# do srappingu strony&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6639ba"&gt;library&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;rgdal&lt;span style="color:#1f2328"&gt;)&lt;/span&gt; &lt;span style="color:#57606a"&gt;# do obsługi plików SHP&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6639ba"&gt;library&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;rgeos&lt;span style="color:#1f2328"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6639ba"&gt;library&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;raster&lt;span style="color:#1f2328"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6639ba"&gt;library&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;ggmap&lt;span style="color:#1f2328"&gt;)&lt;/span&gt; &lt;span style="color:#57606a"&gt;# do wczytania mapy z Google Maps&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6639ba"&gt;library&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;sf&lt;span style="color:#1f2328"&gt;)&lt;/span&gt; &lt;span style="color:#57606a"&gt;# do wczytywania plików SHP i łatwego rysowania&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6639ba"&gt;library&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;RPostgreSQL&lt;span style="color:#1f2328"&gt;)&lt;/span&gt; &lt;span style="color:#57606a"&gt;# do zapisu i odczytu danych z bazy, w tym przypadku baza PostgreSQL&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Kolejne fragmenty kodu to kilka skryptów złączonych w jedno. Stąd mogą trafić się powtórzenia w kodzie albo te same dane pod różnymi nazwami zmiennych. Nie przejmujcie się tym - czytając kod i rozumiejąc go znajdziecie sposób na wybranie tego, co najbardziej Was interesuje.&#10;Zaczniemy od zgromadzenia danych o wysokości terenu. Centralny Ośrodek Dokumentacji Geodezyjnej i Kartograficznej (CODGiK) &lt;a href="http://www.codgik.gov.pl/index.php/darmowe-dane/nmt-100.html"&gt;udostępnia takie dane&lt;/a&gt; w postaci plików tekstowych (jeden plik to jedno województwo). Struktura plików jest bardzo prosta - w każdym wierszu mamy informację dla jednego punktu: współrzędne punktu i jego wysokość nad poziomem morza. Pliki na serwerze CODGiK są spakowane - pobierzmy je i rozpakujmy.&#10;Aby nie bawić się w ręczne pobieranie każdego pliku zeskanujmy automatycznie stronę i wyciągnijmy linki do plików. Nie raz już &lt;em&gt;scrappowaliśmy&lt;/em&gt; strony, więc pójdzie łatwo:&lt;/p&gt;</description></item><item><title>Gdzie Polacy jadą na wakacje?</title><link>https://blog.prokulski.science/2018/04/27/gdzie-polacy-jada-na-wakacje/</link><pubDate>Fri, 27 Apr 2018 09:08:49 +0000</pubDate><guid>https://blog.prokulski.science/2018/04/27/gdzie-polacy-jada-na-wakacje/</guid><description>&lt;p&gt;Gdzie Polacy jadą na wakacje? Jak wyciągnąć w R informacje z PDFa? Jaki związek ma jedno z drugim?&#10;Zgodnie z życzeniem telewidzów ;) wyrażonym w &lt;a href="https://www.facebook.com/DaneAnalizy/posts/1887468214877003"&gt;szybkiej ankiecie&lt;/a&gt; &lt;em&gt;żebro-lajkowej&lt;/em&gt; kilka dni temu&lt;/p&gt;&#10;&lt;p&gt;dzisiaj zajmiemy się wycieczkami (a raczej: zorganizowanymi przez biura podróży wyjazdami) zagranicznymi naszych rodaków. Czyli:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;gdzie Polak jedzie na urlop?&lt;/li&gt;&#10;&lt;li&gt;w ile osób jedzie?&lt;/li&gt;&#10;&lt;li&gt;ile go to kosztuje?&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Bo w ankiecie kciuki w górę wygrały (na obecną chwilę) 69 do 32 z serduszkami.&#10;&lt;strong&gt;Na początek trochę historii.&lt;/strong&gt; Po sukcesie wpisów o &lt;a href="../../2017/04/06/mieszkanie-do-wynajecia/"&gt;mieszkaniach na wynajem&lt;/a&gt; i &lt;a href="../../2018/01/23/sprzedam-opla/"&gt;cenach samochodów&lt;/a&gt; chciałem zająć się wyjazdami z biurami podróży. To byłby hicior. Nawet znalazłem miejsce, z którego trzeba wziąć dane. Takim miejscem są &lt;a href="http://www.pzot.pl/index.php?module=cms/files&amp;amp;group=Raporty%20PZOT"&gt;raporty publikowane przez Polski Związek Organizatorów Turystyki&lt;/a&gt;. Raporty powstają na bazie systemu rezerwacji &lt;a href="http://www.merlinx.pl/"&gt;MerlinX&lt;/a&gt; i to on byłby tym źródłem danych.&#10;Same raporty nie zawierają interesujących mnie danych, na przykład:&lt;/p&gt;</description></item><item><title>Mapy, mapy raz jeszcze</title><link>https://blog.prokulski.science/2017/12/22/mapy-w-r-rgeos/</link><pubDate>Fri, 22 Dec 2017 13:42:57 +0000</pubDate><guid>https://blog.prokulski.science/2017/12/22/mapy-w-r-rgeos/</guid><description>&lt;p&gt;W jakim województwie leży wskazany punkt?&#10;Dzisiaj zajmiemy się obszarami, głównie w oparciu o pakiet &lt;code&gt;rgeos&lt;/code&gt;. Wpis raczej techniczny.&#10;Po załadowaniu poniższych pakietów:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6639ba"&gt;library&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;rgdal&lt;span style="color:#1f2328"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6639ba"&gt;library&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;rgeos&lt;span style="color:#1f2328"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6639ba"&gt;library&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;tidyverse&lt;span style="color:#1f2328"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6639ba"&gt;library&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;broom&lt;span style="color:#1f2328"&gt;)&lt;/span&gt; &lt;span style="color:#57606a"&gt;# for tidy=fortify&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;przygotujemy sobie dwa testowe obszary, na których przykładzie zobaczymy jak działają wybrane funkcje z pakietu &lt;code&gt;rgeos&lt;/code&gt;.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;poly1 &lt;span style="color:#0550ae"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#6639ba"&gt;SpatialPolygons&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#6639ba"&gt;list&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#6639ba"&gt;Polygons&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#6639ba"&gt;list&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#6639ba"&gt;Polygon&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;coords&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6639ba"&gt;matrix&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#6639ba"&gt;c&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#0550ae"&gt;0&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;0&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;0&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;1&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;1&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;0&lt;/span&gt;&lt;span style="color:#1f2328"&gt;),&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ncol&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; byrow&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#cf222e"&gt;FALSE&lt;/span&gt;&lt;span style="color:#1f2328"&gt;))),&lt;/span&gt; ID&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6639ba"&gt;c&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;a&amp;#34;&lt;/span&gt;&lt;span style="color:#1f2328"&gt;)),&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6639ba"&gt;Polygons&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#6639ba"&gt;list&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#6639ba"&gt;Polygon&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;coords&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6639ba"&gt;matrix&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#6639ba"&gt;c&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#0550ae"&gt;0&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;0&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;3&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;3&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&lt;span style="color:#1f2328"&gt;),&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ncol&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; byrow&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#cf222e"&gt;FALSE&lt;/span&gt;&lt;span style="color:#1f2328"&gt;))),&lt;/span&gt; ID&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6639ba"&gt;c&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;b&amp;#34;&lt;/span&gt;&lt;span style="color:#1f2328"&gt;))))&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;poly2 &lt;span style="color:#0550ae"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#6639ba"&gt;SpatialPolygons&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#6639ba"&gt;list&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#6639ba"&gt;Polygons&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#6639ba"&gt;list&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#6639ba"&gt;Polygon&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;coords&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6639ba"&gt;matrix&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#6639ba"&gt;c&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#0550ae"&gt;0&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;0&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;1&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;1&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;0.5&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;3&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;3&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;0&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;0&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&lt;span style="color:#1f2328"&gt;),&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ncol&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; byrow&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#cf222e"&gt;FALSE&lt;/span&gt;&lt;span style="color:#1f2328"&gt;))),&lt;/span&gt; ID&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6639ba"&gt;c&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;c&amp;#34;&lt;/span&gt;&lt;span style="color:#1f2328"&gt;))))&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Szczerze powiedziawszy &lt;em&gt;mechanika&lt;/em&gt; budowania &lt;em&gt;polygonów&lt;/em&gt; jest koszmarna, ale korzystając z przykładów w sieci udało się je przygotować :) Zobaczmy jak wyglądają nasze obszary:&lt;/p&gt;</description></item><item><title>Kalendarz z Policją</title><link>https://blog.prokulski.science/2017/10/14/kalendarz-z-policja/</link><pubDate>Sat, 14 Oct 2017 09:54:47 +0000</pubDate><guid>https://blog.prokulski.science/2017/10/14/kalendarz-z-policja/</guid><description>&lt;p&gt;W jednym z ostatnich odcinków “Ucha prezesa” było coś o tym, że teraz rząd ma mówić o tym, że jest bezpiecznie (zamiast “Przez osiem lat Polki i Polacy…”). Sprawdzimy zatem bezpieczeństwo na polskich drogach. Ale punktem wyjścia będzie specyficzny sposób pokazania danych dziennych.&lt;/p&gt;&#10;&lt;h2 id="widok-kalendarza"&gt;Widok kalendarza&lt;/h2&gt;&#10;&lt;p&gt;Dane dzienne (takie, które mają jedną wartość dla każdego dnia - na przykład średnia temperatura, liczba osób robiących zakupy w sklepie) można pokazać na różne sposoby. Można pokazać je jako wykres punktowy (lub liniowy, kiedy punkty są połączone) - wówczas widać na przykład “falkę” (o ile są cykliczne, na przykład w weekendy jest mniej kupujących niż w tygodniu). Można policzyć średnie (lub zastosować inne miary agregujące) dla każdego dnia tygodnia i wykorzystać najprostszy (i często najlepszy) wykres słupkowy. A można pokazać to samo w formie swego rodzaju heat-mapy rozpiętej na kalendarzu.&#10;Wykres taki ma sens jeśli chcemy pokazać, że w danym dniu tygodnia (i być może poszczególnych tygodniach roku) coś odbiega od normy z całego tygodnia (albo innych miesięcy). Czyli przykładowe weekendy są inne niż dni od poniedziałku do piątku.&#10;Jeśli interesują Cię tylko wyniki przeglądu statystyk policyjnych - &lt;strong&gt;przejdź do &lt;a href="#wypadki-drogowe"&gt;analizy&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Liczba bezrobotnych a liczba mieszkańców</title><link>https://blog.prokulski.science/2017/09/08/liczba-bezrobotnych-a-liczba-mieszkancow/</link><pubDate>Fri, 08 Sep 2017 10:37:26 +0000</pubDate><guid>https://blog.prokulski.science/2017/09/08/liczba-bezrobotnych-a-liczba-mieszkancow/</guid><description>&lt;p&gt;Bezrobocie spada, bo wszyscy wyjechali - czy to prawda?&#10;Z miesiąca na miesiąc spada bezrobocie w Polsce. I co więcej - spada zgodnie z przewidywaniami, zgodnie z najprostszym modelem predykcji szeregów czasowych, co opisywałem &lt;a href="../../2017/04/26/prognoza-stopy-bezrobocia-na-2017-2018/"&gt;pod koniec kwietnia&lt;/a&gt;.&#10;Różne mogą być przyczyny spadku bezrobocia. Może to być &lt;em&gt;prozaiczne&lt;/em&gt; jest więcej pracy (bo gospodarka przyspiesza, firmy mają pieniądze na nowych pracowników). Ale &lt;em&gt;złe ludzkie języki&lt;/em&gt; mogą krytykować rządzących mówiąc, że wszyscy już wyjechali do Anglii czy Irlandii, więc nie ma bezrobotnych. &lt;strong&gt;Sprawdźmy czy to może być prawda.&lt;/strong&gt;&#10;W rozważaniach skorzystamy z danych publikowanych przez GUS i porównamy czy zmiana stopy bezrobocia jest równa (lub porównywalna) zmianie liczby mieszkańców. Jeśli bezrobocie spadło o na przykład 5 punktów procentowych (z 10% na 5%) to czy liczba mieszkańców też spadła o 5% (z 1000 do 950 osób)? Jeśli tak by było to oznaczałoby, że:&lt;/p&gt;</description></item><item><title>Szybka mapka z miastami</title><link>https://blog.prokulski.science/2017/03/30/szybka-mapka-z-miastami/</link><pubDate>Thu, 30 Mar 2017 13:12:19 +0000</pubDate><guid>https://blog.prokulski.science/2017/03/30/szybka-mapka-z-miastami/</guid><description>&lt;p&gt;Jak szybko przygotować mapkę z (mniejszymi) miastami Polski?&#10;Szybki temat, bo i potrzeba była szybka. Żona zapytała jak ma zrobić mapkę z lokalizacją oddziałów jej firmy w poszczególnych miastach Polski. I nie były to miasta wojewódzkie (to znaczy takie też), ale też powiatowe.&#10;Szukanie mapy konturowej naszego kraju, a później szukanie gdzie na owej mapie zaznaczyć jakiś przysłowiowy Pcim Dolny to nie jest zadanie na godzinę dwudziestą trzecią. Zajęłoby (mi) to jakieś dwie albo trzy godziny. Od czego jest R? Rozwiązania na szybko przyszły mi do głowy dwa, oba na podstawie doświadczeń oczywiście. Lubię mapy i dane na mapach, to mam też trochę doświadczenia w tym temacie.&lt;/p&gt;</description></item><item><title>Klikadełko</title><link>https://blog.prokulski.science/2006/07/28/klikadelko/</link><pubDate>Fri, 28 Jul 2006 18:26:15 +0000</pubDate><guid>https://blog.prokulski.science/2006/07/28/klikadelko/</guid><description>&lt;p&gt;W ciągu ostatnich dwóch dni na Wykopie trafiłem na dwa ciekawe linki.&#10;Pierwszy to &lt;a href="http://blog.outer-court.com/click2/"&gt;http://blog.outer-court.com/click2/&lt;/a&gt; który na podstawie kliknięć w regularne (w miarę) kształty rysuje &amp;ldquo;mapę kliknięć&amp;rdquo;. Ciekawie to wygląda dla kliknięć w - bądź co bądź - kwadraty albo kółka.&#10;Drugi link to &lt;a href="http://www.clickdensity.com/"&gt;http://www.clickdensity.com/&lt;/a&gt; - tym razem jest to serwis, który pozwala na stworzenie dokładnie takiej samej &amp;ldquo;mapy kliknięć&amp;rdquo; dla gotowej strony. Zawsze chciałem takie badania przeprowadzić. To gdzie ludzie klikają daje według mnie najlepszą i najbardziej bliską prawdy informacje o tym czego na stronie szukają i jak reagują na nawigację. ClickDensity pozwala na darmowe wypróbowanie swojego narzędzia, co nie omieszkam zrobić. Odwiedzajcie więc &lt;a href="http://www.prokulski.net"&gt;www.prokulski.net&lt;/a&gt; i&amp;hellip; podróżujcie po stronie, a ja sobie pooglądam i przedstawię za jakiś czas wyniki klikalności na głównej stronie.&lt;/p&gt;</description></item></channel></rss>