- Какво е Python Seaborn?
- Видове парцели, които можем да построим с Seaborn
- Работа с множество парцели
- Някои алтернативи за Python Seaborn
Това изглежда много за покриване. Нека започнем сега.
Какво е библиотека на Python Seaborn?
Библиотеката на Seaborn е пакет на Python, който ни позволява да правим инфографики въз основа на статистически данни. Тъй като е направен върху matplotlib, той по своята същност е съвместим с него. Освен това, той поддържа структурата на данни на NumPy и Pandas, така че да може да се направи графика директно от тези колекции.
Визуализирането на сложни данни е едно от най-важните неща, за които Seaborn се грижи. Ако сравним Matplotlib с Seaborn, Seaborn може да улесни онези неща, които е трудно да се постигнат с Matplotlib. Важно е обаче да се отбележи, че Seaborn не е алтернатива на Matplotlib, а е допълнение към него. По време на този урок ще използваме функциите Matplotlib и в кодовите фрагменти. Ще изберете да работите с Seaborn в следните случаи на употреба:
- Имате статистически данни от времеви редове, които да бъдат нанесени с представяне на несигурност около оценките
- За визуално установяване на разликата между две подмножества от данни
- Да се визуализират едномерните и двумерните разпределения
- Добавяне на много повече визуална привързаност към matplotlib парцелите с много вградени теми
- Да се съберат и визуализират модели за машинно обучение чрез линейна регресия с независими и зависими променливи
Само забележка преди започване е, че използваме виртуална среда за този урок, който направихме със следната команда:
python -m virtualenv seabornизточник seaborn / bin / активиране
След като виртуалната среда е активна, можем да инсталираме библиотеката на Seaborn във виртуалната среда, за да могат да бъдат изпълнени примери, които създаваме след това:
pip инсталирайте seabornМожете също да използвате Anaconda, за да стартирате тези примери, което е по-лесно. Ако искате да го инсталирате на вашата машина, погледнете урока, който описва „Как да инсталирате Anaconda Python на Ubuntu 18.04 LTS ”и споделете вашите отзиви. Сега нека преминем към различни видове сюжети, които могат да бъдат конструирани с Python Seaborn.
Използване на Pokemon Dataset
За да поддържаме този урок на практика, ще използваме набор от данни за Pokemon, който може да бъде изтеглен от Kaggle. За да импортираме този набор от данни в нашата програма, ще използваме библиотеката Pandas. Ето всички импорти, които извършваме в нашата програма:
импортирайте панди като pdот matplotlib import pyplot като plt
внос seaborn като sns
Сега можем да импортираме набора от данни в нашата програма и да покажем някои от примерните данни с Pandas като:
df = pd.read_csv ('Покемон.csv ', index_col = 0)df.глава()
Имайте предвид, че за да стартирате горния кодов фрагмент, CSV наборът от данни трябва да присъства в същата директория като самата програма. След като стартираме горния кодов фрагмент, ще видим следния изход (в бележника на Анаконда Юпитер):
Начертаване на крива на линейна регресия
Едно от най-хубавите неща на Seaborn са интелигентните функции за начертаване, които не само визуализират набора от данни, който му предоставяме, но и изграждат регресионни модели около него. Например, възможно е да се изгради график на линейна регресия с един ред код. Ето как да направите това:
sns.lmplot (x = 'Attack', y = 'Defense', data = df)След като стартираме горния кодов фрагмент, ще видим следния изход:
Забелязахме няколко важни неща в горния кодов фрагмент:
- В Seaborn има специална функция за графика
- Използвахме функцията за монтиране и начертаване на Seaborn, която ни осигури линейна регресионна линия, която той моделира сам
Не се страхувайте, ако сте мислили, че не можем да имаме заговор без тази регресивна линия. Ние можем ! Нека опитаме нов кодов фрагмент сега, подобен на последния:
sns.lmplot (x = 'Attack', y = 'Defense', data = df, fit_reg = False)Този път няма да видим линията на регресия в нашия сюжет:
Сега това е много по-ясно (ако нямаме нужда от линейната регресионна линия). Но това още не е приключило. Seaborn ни позволява да направим различен този сюжет и това ще правим.
Изграждане на парцели
Една от най-големите характеристики на Seaborn е как той лесно приема структурата на Pandas Dataframes, за да начертае данни. Можем просто да предадем Dataframe на библиотеката на Seaborn, така че да може да изгради от него кутия:
sns.boxplot (данни = df)След като стартираме горния кодов фрагмент, ще видим следния изход:
Можем да премахнем първото четене на total, тъй като това изглежда малко неудобно, когато всъщност начертаваме отделни колони тук:
# Нов парцел с помощта на stats_df
sns.boxplot (данни = stats_df)
След като стартираме горния кодов фрагмент, ще видим следния изход:
Парцел за рояк с Seaborn
Можем да изградим интуитивен дизайн Swarm сюжет с Seaborn. Отново ще използваме рамката за данни от Pandas, която заредихме по-рано, но този път ще извикаме функцията show на Matplotlib, за да покажем графика, който направихме. Ето кодовия фрагмент:
sns.set_context ("хартия")sns.swarmplot (x = "Attack", y = "Defense", data = df)
plt.покажи ()
След като стартираме горния кодов фрагмент, ще видим следния изход:
Използвайки контекст на Seaborn, ние позволяваме на Seaborn да добави личен щрих и плавен дизайн към сюжета. Възможно е този график да се персонализира още повече с персонализиран размер на шрифта, използван за етикети в сюжета, за да се улесни четенето. За целта ще предадем повече параметри на функцията set_context, която изпълнява точно както звучат. Например, за да променим размера на шрифта на етикетите, ще използваме шрифта.параметър размер. Ето кодовия фрагмент за извършване на модификацията:
sns.swarmplot (x = "Attack", y = "Defense", data = df)
plt.покажи ()
След като стартираме горния кодов фрагмент, ще видим следния изход:
Размерът на шрифта за етикета беше променен въз основа на параметрите, които предоставихме, и стойността, свързана с шрифта.параметър размер. Едно нещо, в което Seaborn е експерт, е да направи сюжета много интуитивен за практическа употреба и това означава, че Seaborn не е просто практичен пакет Python, а всъщност е нещо, което можем да използваме в нашите производствени внедрения.
Добавяне на заглавие към парцели
Лесно е да добавяте заглавия към нашите сюжети. Просто трябва да следваме проста процедура за използване на функциите на ниво оси, където ще извикаме set_title () функция, както показваме в кодовия фрагмент тук:
sns.set_context ("хартия", font_scale = 3, rc = "шрифт.размер ": 8," оси.размер на етикета ": 5)my_plot = sns.swarmplot (x = "Attack", y = "Defense", data = df)
my_plot.set_title ("LH Swarm Plot")
plt.покажи ()
След като стартираме горния кодов фрагмент, ще видим следния изход:
По този начин можем да добавим много повече информация към нашите парцели.
Сиборн срещу Матплотлиб
Както разгледахме примерите в този урок, можем да установим, че Matplotlib и Seaborn не могат да бъдат директно сравнени, но те могат да се разглеждат като взаимно допълващи се. Една от характеристиките, която отнема Seaborn с 1 крачка напред, е начинът, по който Seaborn може да визуализира данните статистически.
За да се възползвате максимално от параметрите на Seaborn, силно препоръчваме да разгледате документацията на Seaborn и да разберете какви параметри да използвате, за да направите вашия парцел възможно най-близо до бизнес нуждите.
Заключение
В този урок разгледахме различни аспекти на тази библиотека за визуализация на данни, която можем да използваме с Python, за да генерираме красиви и интуитивни графики, които могат да визуализират данни във форма, която бизнесът иска от платформа. Seaborm е една от най-важните библиотеки за визуализация, когато става въпрос за инженеринг на данни и представяне на данни в повечето визуални форми, определено умение, което трябва да имаме под колана си, тъй като ни позволява да изграждаме модели на линейна регресия.
Моля, споделете отзивите си за урока в Twitter с @sbmaggarwal и @LinuxHint.