Візуалізація у більшій кількості вимірів

Вступ до візуалізації даних у Julia

Gustavo Vieira Suñe

Data Analyst

Навіщо більше вимірів?

  • Помічайте приховані закономірності та тренди
  • Аналізуйте взаємозв'язки між кількома змінними одночасно
  • Визначайте кластери
  • Чітка й наочна подача
  • Інженерія ознак
Вступ до візуалізації даних у Julia

Чи збережуться кластери?

Точкова діаграма: страхова премія залежно від віку страхувальників. Видно три окремі кластери.

  • Чи зберігаються ці кластери за будь-якої кількості дітей?
Вступ до візуалізації даних у Julia

Побудова зрізу

theme(:bright)

# Filter data
no_children = filter(
    row -> row.Children == 0, insurance)

# Plot a slice @df no_children scatter( :Age, :Charges, group=:Smoker, markersize=4, alpha=0.5, legend_title="Smoker") xlabel!("Age") ylabel!("Insurance Premium (USD)")

Точкова діаграма: страхова премія залежно від віку страхувальників без дітей. Видно три окремі кластери.

Вступ до візуалізації даних у Julia

Ще один вимір

theme(:bright)
@df insurance scatter(
    # Pass three columns
    :Children,
    :Age,
    :Charges,

group=:Smoker, markersize=4, alpha=0.5, legend_title="Smoker" ) # Axis labels xlabel!("Number of Children") ylabel!("Age") zlabel!("Insurance Premium (USD)")

Тривимірна точкова діаграма: страхова премія залежно від віку та кількості дітей. Та сама кластерна структура для різної кількості дітей.

Вступ до візуалізації даних у Julia

Порядок осей

theme(:bright)
@df insurance scatter(

# Swap :Age and :Children :Age, :Children, :Charges, group=:Smoker, markersize=4, alpha=0.5, legend_title="Smoker" ) # Axis labels xlabel!("Number of Children") ylabel!("Age") zlabel!("Insurance Premium (USD)")

Вступ до візуалізації даних у Julia

Групування за іншою категорією

Точкова діаграма: страхові нарахування залежно від індексу маси тіла; колір точок — за статусом куріння.

  • Чи можемо згрупувати за статусом куріння та статтю?
Вступ до візуалізації даних у Julia

Додайте категоріальний вимір

theme(:vibrant)

@df insurance scatter(
    :BMI,

# Pass categorical column :Sex,
:Charges, group=:Smoker, markersize=2, legend_title="Smoker", color=[:blueviolet :goldenrod1]) xlabel!("BMI") zlabel!("Insurance Premium (USD)")

Тривимірна точкова діаграма: страхові нарахування залежно від індексу маси тіла та статі; колір — за статусом куріння.

Вступ до візуалізації даних у Julia

Візуалізація густоти точок

Точкова діаграма: страхові нарахування залежно від індексу маси тіла; колір точок — за статусом куріння.

  • Чи можемо чіткіше показати густоту точок?
Вступ до візуалізації даних у Julia

Двовимірні гістограми

# 2d histogram
@df insurance histogram2d(

:BMI, :Charges,
# Fill color scheme fillcolor=:acton,
# Fill empty bins show_empty_bins=true,
) xlabel!("Age") ylabel!("Insurance Premium (USD)")

Двовимірна гістограма розподілу страхових нарахувань та індексу маси тіла.

Вступ до візуалізації даних у Julia

Давайте потренуємось!

Вступ до візуалізації даних у Julia

Preparing Video For Download...