Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Lämpökartta | Visualisointi Seabornilla
Huipputason Visualisointi Pythonilla

Pyyhkäise näyttääksesi valikon

book
Lämpökartta

Note
Määritelmä

Heatmap eli lämpökartta on menetelmä kaksiulotteisen datan visualisointiin, jossa arvojen suuruudet esitetään väreinä.

Tässä esimerkissä lämpökarttaa käytetään kuvaamaan muuttujien välisiä korrelaatioita aineistossa.

Yksinkertaisen lämpökartan luominen

seaborn-kirjastossa on funktio nimeltä heatmap(). Sen ainoa pakollinen parametri on data, jonka tulee olla kaksiulotteinen (suorakulmainen) aineisto.

Yksi yleisimmistä lämpökartan käyttötarkoituksista on korrelaatiomatriisin visualisointi, kuten yllä olevassa esimerkissä. Kun käytössä on DataFrame, kutsutaan ensin sen corr()-metodia korrelaatiomatriisin saamiseksi, ja tämän jälkeen tämä matriisi annetaan argumenttina heatmap()-funktiolle:

Yleinen käyttötapa lämpökartalle on korrelaatiomatriisin esittäminen. Kun käytössä on DataFrame, kutsu ensin sen corr()-metodia saadaksesi korrelaatiomatriisin ja anna sitten tämä matriisi argumenttina heatmap()-funktiolle.

123456789101112131415
import seaborn as sns import matplotlib.pyplot as plt import pandas as pd # Loading the dataset with the countries data url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/countries_data.csv' countries_df = pd.read_csv(url, index_col=0) # Creating a correlation matrix with all numeric variables correlation_matrix = countries_df.corr(numeric_only=True) # Creating a heatmap based on the correlation matrix sns.heatmap(correlation_matrix) plt.show()
copy

Korrelaatiomatriisi luotiin käyttämällä vain numeerisia sarakkeita DataFrame-rakenteesta. Merkkijonoja sisältävät sarakkeet jätettiin pois asettamalla numeric_only=True.

Annotaatiot ja värit

Tätä lämpökarttaa voidaan tehdä informatiivisemmaksi kirjoittamalla sopiva arvo (korrelaatiokerroin tässä tapauksessa) jokaiseen soluun. Tämä onnistuu yksinkertaisesti asettamalla annot-parametri arvoon True.

Note
Huomio

On myös mahdollista muuttaa lämpökartan värejä asettamalla cmap-parametri (voit tutustua siihen "Choosing color palettes" -artikkelissa).

123456789101112131415
import seaborn as sns import matplotlib.pyplot as plt import pandas as pd # Loading the dataset with the countries data url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/countries_data.csv' countries_df = pd.read_csv(url, index_col=0) # Creating a correlation matrix with all numeric variables correlation_matrix = countries_df.corr(numeric_only=True) # Setting annotation and color palette sns.heatmap(correlation_matrix, annot=True, cmap='viridis') plt.show()
copy

Väripalkin oikealla puolella voi poistaa asettamalla cbar=False.

Note
Lisätietoa

Useimmissa tapauksissa tämä riittää lämpökartan mukauttamiseen, mutta voit aina tutustua lisää heatmap() dokumentaatiossa.

Luettavuuden parantaminen

Viimeinen asia, joka parantaa lämpökarttamme luettavuutta, on asteikkojen kiertäminen käyttämällä jo tuttuja xticks() ja yticks() -funktioita:

12345678910111213141516171819
import seaborn as sns import matplotlib.pyplot as plt import pandas as pd # Loading the dataset with the countries data url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/countries_data.csv' countries_df = pd.read_csv(url, index_col=0) # Creating a correlation matrix with all numeric variables correlation_matrix = countries_df.corr(numeric_only=True) # Creating a heatmap based on the correlation matrix sns.heatmap(correlation_matrix, annot=True, cmap='viridis') # Rotating the ticks by 20 degrees counterclockwise plt.xticks(rotation=20) plt.yticks(rotation=20) plt.show()
copy
Tehtävä

Swipe to start coding

  1. Käytä oikeaa menetelmää korrelaatiomatriisin luomiseen.
  2. Aseta menetelmän argumentiksi, että mukaan otetaan vain numeeriset muuttujat.
  3. Käytä oikeaa funktiota lämpökartan luomiseen.
  4. Aseta correlation_matrix lämpökartan dataksi määrittämällä se ensimmäiseksi argumentiksi.
  5. Lisää matriisin jokaisen solun arvot määrittämällä toinen argumentti.
  6. Aseta lämpökartan paletti (värikartta) arvoksi 'crest' määrittämällä se kolmanneksi (oikeanpuoleisimmaksi) argumentiksi.
  7. Kierrä x- ja y-akselin asteikkoja 15 astetta vastapäivään määrittämällä avainsana-argumentti xticks()- ja yticks()-funktioissa.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 7
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?

Kysy tekoälyä

expand
ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

book
Lämpökartta

Note
Määritelmä

Heatmap eli lämpökartta on menetelmä kaksiulotteisen datan visualisointiin, jossa arvojen suuruudet esitetään väreinä.

Tässä esimerkissä lämpökarttaa käytetään kuvaamaan muuttujien välisiä korrelaatioita aineistossa.

Yksinkertaisen lämpökartan luominen

seaborn-kirjastossa on funktio nimeltä heatmap(). Sen ainoa pakollinen parametri on data, jonka tulee olla kaksiulotteinen (suorakulmainen) aineisto.

Yksi yleisimmistä lämpökartan käyttötarkoituksista on korrelaatiomatriisin visualisointi, kuten yllä olevassa esimerkissä. Kun käytössä on DataFrame, kutsutaan ensin sen corr()-metodia korrelaatiomatriisin saamiseksi, ja tämän jälkeen tämä matriisi annetaan argumenttina heatmap()-funktiolle:

Yleinen käyttötapa lämpökartalle on korrelaatiomatriisin esittäminen. Kun käytössä on DataFrame, kutsu ensin sen corr()-metodia saadaksesi korrelaatiomatriisin ja anna sitten tämä matriisi argumenttina heatmap()-funktiolle.

123456789101112131415
import seaborn as sns import matplotlib.pyplot as plt import pandas as pd # Loading the dataset with the countries data url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/countries_data.csv' countries_df = pd.read_csv(url, index_col=0) # Creating a correlation matrix with all numeric variables correlation_matrix = countries_df.corr(numeric_only=True) # Creating a heatmap based on the correlation matrix sns.heatmap(correlation_matrix) plt.show()
copy

Korrelaatiomatriisi luotiin käyttämällä vain numeerisia sarakkeita DataFrame-rakenteesta. Merkkijonoja sisältävät sarakkeet jätettiin pois asettamalla numeric_only=True.

Annotaatiot ja värit

Tätä lämpökarttaa voidaan tehdä informatiivisemmaksi kirjoittamalla sopiva arvo (korrelaatiokerroin tässä tapauksessa) jokaiseen soluun. Tämä onnistuu yksinkertaisesti asettamalla annot-parametri arvoon True.

Note
Huomio

On myös mahdollista muuttaa lämpökartan värejä asettamalla cmap-parametri (voit tutustua siihen "Choosing color palettes" -artikkelissa).

123456789101112131415
import seaborn as sns import matplotlib.pyplot as plt import pandas as pd # Loading the dataset with the countries data url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/countries_data.csv' countries_df = pd.read_csv(url, index_col=0) # Creating a correlation matrix with all numeric variables correlation_matrix = countries_df.corr(numeric_only=True) # Setting annotation and color palette sns.heatmap(correlation_matrix, annot=True, cmap='viridis') plt.show()
copy

Väripalkin oikealla puolella voi poistaa asettamalla cbar=False.

Note
Lisätietoa

Useimmissa tapauksissa tämä riittää lämpökartan mukauttamiseen, mutta voit aina tutustua lisää heatmap() dokumentaatiossa.

Luettavuuden parantaminen

Viimeinen asia, joka parantaa lämpökarttamme luettavuutta, on asteikkojen kiertäminen käyttämällä jo tuttuja xticks() ja yticks() -funktioita:

12345678910111213141516171819
import seaborn as sns import matplotlib.pyplot as plt import pandas as pd # Loading the dataset with the countries data url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/countries_data.csv' countries_df = pd.read_csv(url, index_col=0) # Creating a correlation matrix with all numeric variables correlation_matrix = countries_df.corr(numeric_only=True) # Creating a heatmap based on the correlation matrix sns.heatmap(correlation_matrix, annot=True, cmap='viridis') # Rotating the ticks by 20 degrees counterclockwise plt.xticks(rotation=20) plt.yticks(rotation=20) plt.show()
copy
Tehtävä

Swipe to start coding

  1. Käytä oikeaa menetelmää korrelaatiomatriisin luomiseen.
  2. Aseta menetelmän argumentiksi, että mukaan otetaan vain numeeriset muuttujat.
  3. Käytä oikeaa funktiota lämpökartan luomiseen.
  4. Aseta correlation_matrix lämpökartan dataksi määrittämällä se ensimmäiseksi argumentiksi.
  5. Lisää matriisin jokaisen solun arvot määrittämällä toinen argumentti.
  6. Aseta lämpökartan paletti (värikartta) arvoksi 'crest' määrittämällä se kolmanneksi (oikeanpuoleisimmaksi) argumentiksi.
  7. Kierrä x- ja y-akselin asteikkoja 15 astetta vastapäivään määrittämällä avainsana-argumentti xticks()- ja yticks()-funktioissa.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 7
Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?
some-alt