Eng yaxshi kurslardan biri bu bir yillik ma'lumot olimi kasbi: Skillbox-dan ma'lumotlarni tahlil qilish .Ivi, QIWI, Rambler va Epam tahlilchilari ma'lumotlar bilan ishlash va uy vazifasini sharhlash usullarini o'rgatishadi.
Ma'lumotlarni vizualizatsiya qilish ma'lumotlar olimlari ishining katta qismidir. Loyihani ishlab chiqishning dastlabki bosqichlarida ko'pincha ma'lumotlar ochib beradigan naqshlarni aniqlash uchun Exploratory Data Analysis (EDA) ni amalga oshirish kerak bo'ladi. Ma'lumotlarni vizualizatsiya qilish katta va murakkab ma'lumotlar to'plamini oddiy va vizual tarzda taqdim etishga yordam beradi. Loyihani yakunlash bosqichida uning natijalari haqida shunday hisobot bera olish muhimki, hatto texnik bilimga ega bo'lmagan noprofessionallar ham aniq va tushunarli bo'ladi.
Matplotlib - bu Python-da yozilgan mashhur ma'lumotlarni vizualizatsiya qilish kutubxonasi. Foydalanish juda oson bo'lsa-da, har bir yangi loyiha uchun ma'lumotlar, parametrlar, grafiklarni o'rnatish va renderlash zerikarli va zerikarli ishdir. Ushbu postda biz Matplotlib Python kutubxonasi yordamida ma'lumotlarni vizuallashtirish va ularni amalga oshirish uchun tez va oddiy funksiyalarni yozishning 6 usulini o'rganamiz. Ayni paytda, ma'lumotlarni vizualizatsiya qilishning to'g'ri turini tanlashga yordam beradigan ushbu chiroyli grafikani ko'rib chiqing!
Ikki o'zgaruvchi o'rtasidagi munosabatni ko'rsatishni istasangiz, ulardan foydalaning, chunki ular sizga ma'lumotlarning taxminiy taqsimotini ko'rsatishga imkon beradi. Bundan tashqari, turli xil ma'lumotlar guruhlari o'rtasidagi munosabatlarni turli ranglar bilan bo'yash orqali ko'rsatishi mumkin. Uchta o'zgaruvchi o'rtasidagi munosabatni ko'rsatish kerakmi? Muammo yo'q! Ushbu uchinchi o'zgaruvchini kodlash uchun oddiygina nuqta o'lchami kabi qo'shimcha parametrlarni qo'shing, xuddi pastdan ikkinchi chizmada bo'lgani kabi.
Ranglar bo'yicha guruhlangan tarqalish sxemasi
Scatterplot -th parametrini ko'rsatish uchun rang va o'lcham bo'yicha guruhlangan - mamlakat o'lchami Endi kod uchun. Birinchidan, biz Matplotlib kutubxonasini, toʻgʻrirogʻi uning pyplot modulini Python-ga qisqacha “plt” qisqartmasidan foydalanib import qilamiz.
Yangi uchastka yaratish uchun biz plt.subplots(). Keyin biz x o'qi va y o'qi ma'lumotlarini funktsiyaga o'tkazamiz va keyin biz hamma narsani birgalikda funktsiyaga ax.scatter()tarqalish sxemasini qurish uchun o'tkazamiz. Shuningdek, biz nuqta o'lchamini, nuqta rangini va alfa shaffofligini o'rnatishimiz mumkin. Hatto y o'qi uchun logarifmik shkaladan ham foydalanishingiz mumkin. Keyin biz o'qlar uchun sarlavha va teglarni o'rnatamiz. Foydalanish oson bo'lgan bu xususiyat sizga noldan boshlab scatterplot yaratish va chizish imkonini beradi!
Bir o'zgaruvchi boshqa o'zgaruvchidan katta farq qilsa, boshqacha aytganda, ular yuqori kovariatsiyaga ega bo'lsa, uchastkalardan eng yaxshi foydalaniladi. Buni tushuntirish uchun quyidagi rasmga qaraylik. Grafik ma'lum bir vaqt oralig'ida katta foiz tarqalishini aniq ko'rsatadi. Agar biz bir xil ma'lumotlarni scatterplot shaklida taqdim qilsak, u juda chigal va murakkab bo'lar edi, bu esa ko'rib chiqilayotgan bog'liqlikni tushunish va tasavvur qilishni qiyinlashtiradi. Chiziqli diagrammalar bu vaziyat uchun ideal, chunki ular ikkita o'zgaruvchining kovariatsiyasini ko'rsatadi (bu holda, foiz va vaqt oralig'i). Oldingi misolda bo'lgani kabi, biz rang bo'yicha guruhlashimiz mumkin.Diagramma misoli. Bu AQShda ayollarga berilgan bakalavr darajalarining foizini ko'rsatadi (1970–2012)Quyida chiziqli grafik yaratish uchun kod mavjud. Bu o'zgaruvchilarda ba'zi kichik o'zgarishlar bilan yuqorida muhokama qilingan scatterplotni dasturlash kodiga o'xshaydi.
Gistogrammalar.Gistogrammalar ma'lumotlarning taqsimlanishini ifodalash (yoki hatto ochish) uchun foydalidir. Quyidagi misolga qarang, biz chastota va IQ gistogrammasini chizganmiz. Biz kontsentratsiyani markazga yaqinroqda osongina ko'rishimiz mumkin va qiymatlarning medianasi ham aniq ko'rinadi. Bundan tashqari, biz uning Gauss taqsimotiga amal qilishini ko'ramiz. Barlardan foydalanish (masalan, tarqalish nuqtalari o'rniga) bizga har bir intervalning chastotasi o'rtasidagi nisbiy farqni aniq tasavvur qilish imkonini beradi. Bandlardan foydalanish (intervallar = namuna olish) bizga "katta rasm" ni ko'rishga yordam beradi. Agar bir xil ma'lumotlar intervallarni ajratib ko'rsatmasdan alohida nuqtalar sifatida taqdim etilsa, diagrammada juda ko'p shovqin paydo bo'ladi, bu esa ushbu ma'lumotlardan foydalangan holda tasvirlangan tendentsiyani tushunishni qiyinlashtiradi.
Quyida Matplotlib-dagi shtrixli diagramma kodi. Ikki variantga e'tibor bering. Birinchidan, n_bins parametrlari gistogrammamizga qancha alohida qutini sig'dirishimiz kerakligini aniqlaydi. Ko'proq intervallar bizga aniqroq ma'lumot beradi, lekin axborot shovqinini keltirib chiqarishi va bizni katta rasmni tushunishdan chalg'itishi mumkin; boshqa tomondan, kamroq intervallar bizga qushning ko'rinishini va sodir bo'layotgan voqealarning yaxlit tasvirini beradi, shu bilan birga uni eng kichik tafsilotlar bilan ortiqcha yuklamaydi. Ikkinchidan, kümülatif parametr mantiqiy (ya'ni 1 yoki 0) bo'lib, bu bizning histogramamiz kümülatif yoki yo'qligini tanlash imkonini beradi. Boshqacha qilib aytganda, biz ehtimollik zichligini ( Probability Density Function (PDF)) yoki kümülatif taqsimot funksiyasini (Kumulyativ zichlik funktsiyasi (CDF)) belgilaymiz.
Endi tasavvur qiling-a, biz ma'lumotlarimizdagi ikkita o'zgaruvchining taqsimlanishini solishtirmoqchimiz. Aqlga keladigan birinchi fikr ikkita alohida gistogramma yaratish va aniqlik uchun ularni yonma-yon joylashtirishdir. Ammo aslida yaxshiroq yo'l bor: biz histogrammalarni turli shaffoflik bilan qoplashimiz mumkin. Quyidagi rasmga qarang.
Overlay histogrammalarini yaratish uchun kodda o'rnatilishi kerak bo'lgan bir nechta parametrlar mavjud. Birinchidan, ikkala taqsimotning o'zgaruvchilarini joylashtirish uchun gorizontal diapazonni o'rnatamiz. Ushbu diapazonga va kerakli miqdordagi qutilarga ko'ra, biz har bir qutining, har bir bandning kengligini hisoblashimiz mumkin. Nihoyat, biz bir xil maydonda ikkita gistogramma quramiz va ulardan biri shaffofroq bo'lishi kerak.
Ustunli diagrammalar ma'lumotlarni toifalar sifatida tasavvur qilish kerak bo'lganda eng samarali hisoblanadi, agar toifalar soni 10 dan oshmasa. Agar bizda juda ko'p toifalar mavjud bo'lsa, u holda chiziqlar diagrammani chigallashtiradi va tushunish qiyin bo'ladi. Ular kategoriyalangan ma'lumotlar uchun yaxshi, chunki ustunning o'lchamiga (masalan, kattalik) qarab toifalar orasidagi farqni osongina ko'rishingiz mumkin; toifalar ham osongina shakllantirilishi va ranglar bilan ta'kidlanishi mumkin. Uch xil turdagi shtrixli diagrammalar mavjud, biz ularni keyin ko'rib chiqamiz: oddiy, guruhlangan va stacked. Biz ushbu turlarning har birini o'z navbatida ko'rib chiqamiz.Odatiy chiziqli diagramma pastdan birinchi rasmda joylashgan. Funktsiyada barplot()x_datax o'qi bo'yicha teglarni y_datao'rnatadi va y o'qi bo'yicha ustun balandligini o'rnatadi.
Guruhlangan chiziqli diagrammalar bir nechta o'zgaruvchilarni solishtirish imkonini beradi. Pastki qismdan ikkinchi diagrammaga qarang. Biz solishtiradigan birinchi o'zgaruvchi bu ballar guruhdan guruhga qanday o'zgarishi (G1, G2, ... va boshqalar). Shuningdek, biz jinslarning taqsimlanishini bir-biri bilan taqqoslaymiz, bu rang kodlangan. Endi kodni ko'rib chiqing - o'zgaruvchi endi ro'yxatlar ro'yxati ekanligini ko'rasiz, y_data_listhar bir joylashtirilgan ro'yxat boshqa guruhni ifodalaydi. Keyin biz har bir guruhni aylanib chiqamiz va har bir guruh uchun x o'qi bo'yicha har bir yorliq uchun ustunni chizamiz; barcha guruhlar ham qo'shimcha ravishda bo'yalgan.
Yig'ilgan chiziqli diagrammalar turli xil o'zgaruvchilar to'plamini vizualizatsiya qilish uchun juda yaxshi. Quyidagi rasmda qatorlar bo'yicha ajratilgan holda, biz haftaning kuni bo'yicha server yukining o'zgarishini kuzatamiz. Ranglar to'plami yordamida biz istalgan kunda qaysi serverlar eng ko'p ishlayotganini va umuman barcha serverlarda yuk kunlar bo'yicha qanday taqsimlanganini osongina ko'rishimiz va tushunishimiz mumkin.
Xulosa
Ma'lumotlar turli formatlarda jadallik bilan yaratilmoqda. Va kompaniyalar ushbu ma'lumotlardan qimmatli ma'lumotlar va yashirin tushunchalarni olish uchun ma'lumotlar tahliliga tayanadilar. Ushbu "Python yordamida ma'lumotlar tahlili" maqolasini o'qib bo'lgach, siz ma'lumotlar tahlili nima ekanligini va ma'lumotlar tahlilining turli xil ilovalarini bilib olgan bo'lar edingiz. Shuningdek, siz turli xil ma'lumotlar tahlili va jarayon bosqichlarini ko'rib chiqdingiz. Nihoyat, siz Pythonning NumPy, Pandas va Matplotlib kutubxonalaridan foydalangan holda ma'lumotlar tahlilini amalga oshirdingiz.
Agar shunday bo'lsa, iltimos, ushbu maqolaning sharhlar bo'limiga qo'ying. Bizning mutaxassislarimiz sizning so'rovlaringizni eng qisqa vaqt ichida hal qilishga yordam beradi.
Ma'lumotlarni tahlil qilish uchun mukammal tilni topish deyarli mumkin emas, chunki ularning har biri o'zining afzalliklari va kamchiliklariga ega. Biri vizualizatsiya uchun yaxshiroq, ikkinchisi esa katta hajmdagi ma'lumotlar bilan yaxshiroq ishlaydi. Tanlov, shuningdek, ishlab chiquvchining shaxsiy imtiyozlariga bog'liq.
Ma’lumki, axborotlar matnli, raqamli, ovozli, grafik va boshqa shakllarda uzatilishi mumkin. Bunday axborotlarni dasturlash tillarida qayta ishlash uchun, ularni turlarga ajratish lozim. Dasturlarda foydalaniladigan ma’lumotlar turlari dasturning maqsadiga bog’liq bo’ladi: oddiy kalkulyator sonlardan foydalanadi, elektron pochta manzillarini tekshirishga mo’ljallangan dastur esa matnlar bilan ish ko’radi. Sonlar natural, butun va haqiqiy sonlarga ajratiladi. Matnli axborotlar esa belgilar yoki satrli ma’lumotlardan iborat bo’lishi mumkin.Ma’lumotlar turi – kompyuter xotirasidagi yacheykada saqlanadigan ma’lumotlar shakli.