<jupyter_start><jupyter_text>Seaborn   Instalar o Seaborn: Caso o Seaborn não esteja instalado, abra o prompt de comando ou terminal e digite: pip install seaborn<jupyter_code>import numpy as np
import pandas as pd
import random
import warnings
warnings.filterwarnings("ignore")
import matplotlib as mat
import matplotlib.pyplot as plt
%matplotlib inline
np.__version__
pd.__version__
mat.__version__
import seaborn as sea
sea.__version__
# Carregando um dos datasets que vem com o Seaborn
dados = sea.load_dataset("tips")
dados.head()<jupyter_output><empty_output><jupyter_text>Regressão linear é uma equação para se estimar a condicional (valor esperado) de uma variável y, dados os valores de algumas outras variáveis x.<jupyter_code># O método joinplot cria plot de 2 variáveis com gráficos bivariados e univariados
sea.jointplot("total_bill", "tip", dados, kind = 'reg');
# O método lmplot() cria plot com dados e modelos de regressão.
sea.lmplot("total_bill", "tip", dados, col = "smoker");
# Construindo um dataframe com Pandas
df = pd.DataFrame()
# Alimentando o Dataframe com valores aleatórios
df['a'] = random.sample(range(1, 100), 25)
df['b'] = random.sample(range(1, 100), 25)
df.head()
# Scatter Plot
sea.lmplot('a', 'b', data = df, fit_reg = True);
# Density Plot
sea.kdeplot(df.b);
sea.kdeplot(df.b, df.a);
sea.distplot(df.a);
# Histograma
plt.hist(df.a, alpha = .3)
sea.rugplot(df.a);
# Box Plot
sea.boxplot([df.b, df.a]);
# Violin Plot
sea.violinplot([df.a, df.b]);
# Heatmap
sea.heatmap([df.b, df.a], annot = True, fmt = "d");
# Clustermap
sea.clustermap(df);<jupyter_output><empty_output><jupyter_text>Temas<jupyter_code># Configurações globais para controlar estilo, tamanho de fonte, cores, etc.
sea.set(context="notebook", style="darkgrid", palette="dark")
# Seaborn possui opções de cores variadas
sea.palplot(sea.color_palette())
sea.palplot(sea.color_palette("husl", 8))
sea.palplot(sea.color_palette("hls", 8))
sea.palplot(sea.color_palette("coolwarm", 7))
sea.palplot(sea.cubehelix_palette(8))
# A função tsplot() foi descontinuada

# O método tsplot cria plots a partir de séries temporais
# gammas = sea.load_dataset("gammas")
# sea.tsplot(gammas, "timepoint", "subject", "ROI", "BOLD signal", color = "muted");<jupyter_output><empty_output><jupyter_text>Outros Plots<jupyter_code># Histogramas com subsets dos dados
sea.set(style = "darkgrid")

dados = sea.load_dataset("tips")
g = sea.FacetGrid(dados, row = "sex", col = "time", margin_titles = True)
bins = np.linspace(0, 60, 13)
g.map(plt.hist, "total_bill", color = "steelblue", bins = bins, lw = 0);
# Diversos plots simultâneos
sea.set(style = "white", palette = "muted")
f, axes = plt.subplots(2, 2, figsize = (7, 7), sharex = True)
sea.despine(left = True)

rs = np.random.RandomState(10)

b, g, r, p = sea.color_palette("muted", 4)

d = rs.normal(size = 100)

sea.distplot(d, kde = False, color = b, ax = axes[0, 0])
sea.distplot(d, hist = False, rug = True, color = r, ax = axes[0, 1])
sea.distplot(d, hist = False, color = g, kde_kws = {"shade": True}, ax = axes[1, 0])
sea.distplot(d, color = p, ax = axes[1, 1])

plt.setp(axes, yticks = [])
plt.tight_layout()
# Plot com distribuições marginais
from scipy.stats import kendalltau
sea.set(style="ticks")

rs = np.random.RandomState(11)
x = rs.gamma(2, size = 1000)
y = -.5 * x + rs.normal(size = 1000)
sea.jointplot(x, y, kind = "hex", stat_func = kendalltau, color = "#4CB391");
# Regressão Logística
sea.set(style = "darkgrid")
df = sea.load_dataset("titanic")

pal = dict(male = "#6495ED", female = "#F08080")
g = sea.lmplot("age", "survived", col = "sex", hue = "sex", data = df, palette = pal, 
               y_jitter = .02, logistic = True)
g.set(xlim=(0, 80), ylim = (-.05, 1.05));
# Regressão Linear com Distribuições Marginais
sea.set(style = "darkgrid")
tips = sea.load_dataset("tips")
color = sea.color_palette()[2]
g = sea.jointplot("total_bill", "tip", data = tips, kind = "reg", xlim = (0, 60), 
                  ylim = (0, 12), color = color, size = 7);
# Pair Plots
sea.set(style = "darkgrid")
df = sea.load_dataset("iris")
sea.pairplot(df, hue = "species", size = 2.5);<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.15645277577505406, 'fraction_numerical': 0.02090843547224225, 'mean_word_length': 5.165925925925926, 'pattern_counts': {'":': 1, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '4', 'dir': 'jupyter-structured-clean-dedup', 'id': '67868', 'license': 'MIT', 'n_tokens_mistral': 1714, 'n_tokens_neox': 1606, 'n_words': 426, 'path': 'pyfund/8 - Modulos Python para analise de dados/cap 08 - 08 - Seaborn.ipynb', 'repo_name': 'guimaraesalves/Data-Science-Academy', 'size': '4161'}