Hajontakaavio R:ssä käyttäen ggplot2:ta esimerkin avulla

⚡ Älykäs yhteenveto

Hajontakaavio R:ssä ggplot2:lla kuvaa kaksi jatkuvaa muuttujaa x- ja y-akseleille geom_point():lla. Tämä läpikäynti kattaa ryhmänping värin, logaritmisten muunnosten, sovitettujen regressiosuorien, otsikoiden, fasetoinnin, päällekkäiskorjausten, asteikkojen, teemojen ja tallennuksen mukaan.

  • 📍 Perussyntaksi: ggplot(mtcars, aes(x = drat, y = mpg)) + geom_point() rakentaa kuvaajan datasta, kartastapingja geometria.
  • 🎨 Ryhmän väritys: geom_point()-funktion sisällä oleva aes(color = factor(gear)) jakaa pisteet yhteen väriin tekijätasoa kohden.
  • 📈 Trendilinjat: stat_smooth(method = “lm”) asettaa päällekkäin sovitetun regressiosuoran ja se = FALSE poistaa luottamusvälin.
  • 🗂️ Fasetointi: facet_wrap() piirtää yhden paneelin ryhmää kohden jaetulla skaalalla, mikä on parempi kuin kaikkien sarjojen ahtaaminen yhteen kaavioon.
  • 🔁 Ylipiirto: Pienennä alfaa, värise pisteitä tai vaihda geom_hex()-funktioon, kun merkit kasaantuvat päällekkäin.
  • 💾 Viedä: ggsave(“plot.png”, leveys = 8, korkeus = 5, dpi = 300) kirjoittaa viimeisen piirron työhakemistoon.

Hajontakaavio R:ssä käyttäen ggplot2:ta

Miksi graafit ovat tärkeitä data-analyysissä

Kaaviot ovat data-analyysin kolmas osa. Ensimmäinen osa on noin data extracTUKSEN, toinen osa käsittelee tietojen puhdistaminen ja käsittely. Viimeinkin datatieteilijä saattaa tarvita välittää tulokset graafisesti.

Tietotieteilijän työnkulku on tiivistetty alla olevassa kuvassa.

  • Datatieteilijän ensimmäinen tehtävä on määritellä tutkimuskysymys. Tämä tutkimuskysymys riippuu hankkeen tavoitteista ja päämääristä.
  • Sen jälkeen yksi näkyvimmistä tehtävistä on ominaisuussuunnittelu. Datatieteilijän tulee kerätä, käsitellä ja puhdistaa dataa
  • Kun tämä vaihe on valmis, hän voi alkaa tutkia tietojoukkoa. Joskus on tarpeen tarkentaa ja muuttaa alkuperäistä hypoteesia uuden löydön vuoksi.

Scatter Plot in R

  • Kun selittävä analyysi on saavutettu, datatieteilijän on otettava huomioon lukijan kyky ymmärtää taustalla olevat käsitteet ja mallit.
  • Hänen tulokset tulee esittää muodossa, jonka kaikki sidosryhmät ymmärtävät. Yksi parhaista tavoista tiedottaa tulokset ovat kautta a kaavio.
  • Kaaviot ovat uskomaton työkalu monimutkaisen analyysin yksinkertaistamiseen.

Tämän tutoriaalin loppuosassa nuo graafit rakennetaan ggplot2-paketilla.

Ggplot2-paketti

Tämä tutoriaali keskittyy kaavioiden rakentamiseen R:ssä ggplot2:n avulla.

Tässä opetusohjelmassa käytät ggplot2-pakettia. Paketti toteuttaa Leland Wilkinsonin vuonna 2005 kuvaaman grafiikan kieliopin. ggplot2 on joustava, sisältää useita teemoja ja antaa sinun määrittää kuvaajan korkealla abs-tasolla.tracHuomaa, että se ei tuota kolmiulotteista tai interaktiivista grafiikkaa; niihin tarvitaan paketteja, kuten plotly tai rgl.

Ggplot2:ssa kaavio koostuu seuraavista argumenteista:

  • tiedot
  • esteettinen karttaping
  • geometrinen esine
  • tilastollisia muunnoksia
  • asteikot
  • koordinaattijärjestelmä
  • asennon säädöt
  • fasetointi

Opit ohjaamaan näitä argumentteja opetusohjelmassa.

Ggplot2:n perussyntaksi on:

ggplot(data, mapping=aes()) +
geometric object 

arguments: 
data: Dataset used to plot the graph
mapping: Control the x and y-axis 
geometric object: The type of plot you want to show. The most common object are:
 
- Point: `geom_point()` 
- Bar: `geom_bar()`
- Line: `geom_line()` 
- Histogram: `geom_histogram()`

Kuinka luoda sirontakaavio R:ssä

Katsotaan kuinka ggplot toimii mtcars-tietojoukon kanssa. Aloitat piirtämällä mpg-muuttujan ja drat-muuttujan hajontakaavion.

Perussironnakaavio

library(ggplot2)
ggplot(mtcars, aes(x = drat, y = mpg)) +
    geom_point()

Code Selitys

  • Välität ensin tietojoukon mtcars ggplotille.
  • Aes()-argumentin sisään lisäät x-akselin ja y-akselin.
  • +-merkki tarkoittaa, että haluat R:n jatkavan koodin lukemista. Se tekee koodista luettavamman rikkomalla sen.
  • Käytä geom_point() geometriselle objektille.

lähtö:

Perushajotuskaavio

Hajakuvaaja ryhmien kanssa

Joskus voi olla mielenkiintoista erottaa arvot tietoryhmän (eli tekijätason datan) perusteella.

ggplot(mtcars, aes(x = mpg, y = drat)) +
    geom_point(aes(color = factor(gear)))

Code Selitys

  • geom_point()-funktion sisällä oleva aes()-metodi ohjaa kunkin ryhmän väriä. Ryhmäping muuttujan on oltava tekijä, joten vaihde sisällytetään factor()-funktioon.
  • Kaiken kaikkiaan sinulla on koodi aes(väri = factor(gear)), joka muuttaa pisteiden väriä.

lähtö:

Hajakuvaaja ryhmien kanssa

Akselin mittakaavan muuttaminen logaritmimuunnoksella

Datan uudelleenskaalaus on suuri osa analyytikon työtä, koska raakamuuttujat harvoin saapuvat perille siistissä kellomuodossa. Logaritmien käyttäminen on yksi tapa tiivistää ääriarvoja ja tehdä kuvaajasta vähemmän herkkä poikkeaville arvoille.

ggplot(mtcars, aes(x = log(mpg), y = log(drat))) +
    geom_point(aes(color = factor(gear)))

Code Selitys

  • Muunnat x- ja y-muuttujat log()-funktiossa suoraan aes()-mapin sisälläping.

Huomaa, että mitä tahansa muuta muunnosta, kuten standardointia tai normalisointia, voidaan soveltaa.

lähtö:

Vaihda akselia

Sirontadiagrammi sovitetuilla arvoilla

Voit lisätä kaavioon toisen tietotason. Voit päällekkäin asettaa sovitetut arvot lineaarinen regressio.

my_graph <- ggplot(mtcars, aes(x = log(mpg), y = log(drat))) +
    geom_point(aes(color = factor(gear))) +
    stat_smooth(method = "lm",
        col = "#C42126",
        se = FALSE,
        size = 1)
my_graph

Code Selitys

  • my_graph: kuvaaja tallennetaan my_graph-objektiin, joten myöhemmissä vaiheissa voidaan lisätä tasoja toistamatta koko kutsua
  • Argumentti stat_smooth() ohjaa tasoitusmenetelmää
  • menetelmä = "lm": Lineaarinen regressio
  • sarake = “#C42126”: Code viivan punaiselle värille
  • se = EPÄTOSI: Älä näytä vakiovirhettä
  • size = 1: viivan paksuus. Ggplot2-versiossa 3.4.0 ja uudemmissa versioissa tämä argumentti nimettiin uudelleen viivanleveydeksi viivojen geometrioissa.

lähtö:

Hajakuvaaja sovitetuilla arvoilla

Huomaa, että muita tasoitusmenetelmiä on saatavilla

  • glm
  • GAM
  • lössi: oletusarvo alle 1 000 havainnolle
  • rlm: vankka lineaarinen malli MASS-paketista

Ennen kaavion muotoilua on syytä tietää, milloin sirontakaavio on oikea valinta.

Hajontakaavio vs. viivakaavio vs. Bubble-kaavio R-kielellä

Kaikki kolme kuvaavat kahta jatkuvaa muuttujaa toisiaan vasten, joten valinta riippuu siitä, mitä lukijan tulisi oppia.

Kriteeri Hajontapiirros Line Chart Bubble Kaavio
Näytä Kahden muuttujan välinen korrelaatio Yhden muuttujan muutos järjestetyn akselin yli Korrelaatio plus kolmas suuruusluokka
X-akseli Mikä tahansa jatkuva muuttuja Yleensä aika tai jokin muu järjestetty asteikko Mikä tahansa jatkuva muuttuja
Pistejärjestys Merkityksetön Kriittiset pisteet ovat yhteydessä toisiinsa Merkityksetön
Kolmas muuttuja Värin tai muodon kautta Erillisten linjojen kautta Läpimenopisteen koko
ggplot2-kutsu geom_piste() geom_line() geom_point(aes(koko = z))

Hajontapisteiden yhdistäminen suoralla, kun x-akselilla ei ole luonnollista järjestystä, on yleinen virhe: se viittaa sarjaan, jota ei ole olemassa. Varaa geom_line() järjestetyille akseleille, kuten päivämäärille. Yhden muuttujan jakaumille käytä laatikko juoni sen sijaan.

Lisää tiedot kaavioon

Toistaiseksi kaavioissa ei ole selittävää tekstiä. Lukijan pitäisi pystyä näkemään tarina datasta pelkästään kaaviosta ilman lisädokumentaatiota, mikä tarkoittaa, että kaavio tarvitsee hyvät otsikot. Voit lisätä otsikoita labs()-funktiolla.

labs()-funktion perussyntaksi on:

labs(title = "Hello Guru99")
arguments:
- title: Main title displayed above the plot
- subtitle: Secondary line below the title
- caption: Note below the plot, usually the data source
- x: Rename the x-axis
- y: Rename the y-axis
- color / fill: Rename the legend

Example: labs(title = "Hello Guru99", subtitle = "My first plot")

Lisää otsikko

Yksi pakollinen lisättävä tieto on tietysti otsikko.

my_graph +
    labs(
        title = "Plot Mile per hours and drat, in log"
         )

Code Selitys

  • my_graph: Käytät tallentamaasi kaaviota. Se välttää kaikkien koodien kirjoittamisen uudelleen joka kerta, kun lisäät kaavioon uutta tietoa.
  • Otsikko sijoitetaan labs()-funktion sisään.

lähtö:

Lisää otsikko

Lisää otsikko dynaamisella nimellä

Dynaaminen otsikko auttaa lisäämään otsikkoon tarkempia tietoja.

Voit käyttää paste()-funktiota staattisen ja dynaamisen tekstin tulostamiseen. Paste():n perussyntaksi on:

paste("This is a text", A)
arguments
- " ": Text inside the quotation marks are the static text
- A: Display the variable stored in A
- Note you can add as much static text and variable as you want. You need to separate them with a comma	

Esimerkiksi:

A <- 2010
paste("The first year is", A)

lähtö:

## [1] "The first year is 2010"
B <- 2018
paste("The first year is", A, "and the last year is", B)

lähtö:

## [1] "The first year is 2010 and the last year is 2018"

Voit lisätä kaavioomme dynaamisen nimen, nimittäin mpg:n keskiarvon.

mean_mpg <- mean(mtcars$mpg)
my_graph + labs(
    title = paste("Plot Mile per hours and drat, in log. Average mpg is", mean_mpg)
)

Code Selitys

  • Luot mpg:n keskiarvon keskiarvolla(mtcars$mpg), joka on tallennettu mean_mpg-muuttujaan
  • Käytät paste() ja mean_mpg luodaksesi dynaamisen otsikon, joka palauttaa mpg:n keskiarvon

lähtö:

Lisää otsikko dynaamisella nimellä

Lisää alaotsikko

Kaksi lisätietoa tekee kaaviosta selkeämmän. Puhutaan alaotsikosta ja kuvatekstistä. Alaotsikko tulee heti otsikon alle. Kuvateksti voi kertoa kuka laskimen teki ja mistä tiedot ovat peräisin.

my_graph +
    labs(
        title =
        "Relation between Mile per hours and drat",
        subtitle =
        "Relationship break down by gear class",
        caption = "Authors own computation"
    )

Code Selitys

  • Labs()-funktion sisällä lisäsit:
    • title = "Tuntimailin ja dratin välinen suhde": Lisää otsikko
    • subtitle = "Suhteen erittely vaihdeluokan mukaan": Lisää alaotsikko
    • caption = "Tekijän oma laskenta: Lisää kuvateksti
    • Erottelet jokaisen uuden tiedon pilkulla,
  • Huomaa, että rikot koodirivit. Se ei ole pakollinen, ja se vain auttaa koodin lukemisessa helpommin

lähtö:

Lisää tekstitys

Nimeä uudelleen x-akseli ja y-akseli

Sarakkeiden nimet ovat harvoin esityskelpoisia. Ne ovat usein lyhennettyjä tai sanojen välissä käytetään alaviivoja, kuten esimerkiksi GDP_CAP-muodossa. Nimeä ne uudelleen kaaviossa ja lisää yksiköt sinne, missä niillä on merkitystä.

my_graph +
    labs(
        x = "Drat definition",
        y = "Mile per hours",
        color = "Gear",
        title = "Relation between Mile per hours and drat",
        subtitle = "Relationship break down by gear class",
        caption = "Authors own computation"
    )

Code Selitys

  • Labs()-funktion sisällä lisäsit:
    • x = "Drat-määrittely": Muuta x-akselin nimeä
    • y = "Maili tunnissa": Muuta y-akselin nimeä

lähtö:

Nimeä uudelleen x-akseli ja y-akseli

Hallitse vaakoja

Voit hallita akselin mittakaavaa.

Funktio seq() on kätevä, kun haluat luoda numerosarjan. Perussyntaksi on:

seq(begin, last, by = x)
arguments:
- begin: First number of the sequence
- last: Last number of the sequence
- by= x: The step. For instance, if x is 2, the code adds 2 to `begin-1` until it reaches `last`	

Esimerkiksi väliltä 0–12, jonka askelväli on 4, saadaan neljä numeroa: 0, 4, 8 ja 12.

seq(0, 12,4)

lähtö:

## [1]  0  4  8 12

Voit ohjata x-akselin ja y-akselin mittakaavaa alla

my_graph +
    scale_x_continuous(breaks = seq(1, 3.6, by = 0.2)) +
    scale_y_continuous(breaks = seq(1, 1.6, by = 0.1)) +
    labs(
        x = "Drat definition",
        y = "Mile per hours",
        color = "Gear",
        title = "Relation between Mile per hours and drat",
        subtitle = "Relationship break down by gear class",
        caption = "Authors own computation"
    )

Code Selitys

  • Funktio scale_y_continuous() ohjaa y-akseli
  • Funktio scale_x_continuous() ohjaa x-akseli.
  • Parametrikatkot ohjaavat akselin jakoa. Voit lisätä numerosarjan manuaalisesti tai käyttää seq()-funktiota:
    • seq(1, 3.6, by = 0.2): Luo sekvenssi luvuista 1 lukuun 3.6 0.2:n välein, eli 14 katkaisupisteellä
    • seq(1, 1.6, by = 0.1): Luo seitsemän lukua luvusta 1 luvuksi 1.6 0.1:n välein.

lähtö:

Hallitse vaakoja

Teema

Lopuksi, ggplot2:ssa voit muokata koko juonen tyyliä yhdellä teemafunktiolla. Paketin mukana toimitetaan kahdeksan kokonaista teemaa:

  • teema_bw()
  • theme_light()
  • teema_klassikko()
  • theme_linedraw()
  • theme_dark()
  • theme_minimal()
  • teema_harmaa()
  • theme_void()
my_graph +
    theme_dark() +
    labs(
        x = "Drat definition, in log",
        y = "Mile per hours, in log",
        color = "Gear",
        title = "Relation between Mile per hours and drat",
        subtitle = "Relationship break down by gear class",
        caption = "Authors own computation"
    )

lähtö:

Teema

Tallenna tontit

Kaikkien näiden vaiheiden jälkeen on aika tallentaa ja jakaa kuvaajasi. Kutsu ggsave(“tiedoston_nimi.png”)-funktiota heti piirtämisen jälkeen, niin kuva kirjoitetaan levylle.

Kaavio tallennetaan työhakemistoon. Voit tarkistaa työhakemiston suorittamalla tämän koodin:

directory <- getwd()
directory

Piirrä valmis kaavio, tallenna se ja tarkista, mihin se päätyi:

my_graph +
    theme_dark() +
    labs(
        x = "Drat definition, in log",
        y = "Mile per hours, in log",
        color = "Gear",
        title = "Relation between Mile per hours and drat",
        subtitle = "Relationship break down by gear class",
        caption = "Authors own computation"
    )

lähtö:

Tallenna tontit

ggsave("my_fantastic_plot.png")

lähtö:

## Saving 5 x 4 in image

Huomautuksia: Vain pedagogista tarkoitusta varten loimme toiminnon nimeltä open_folder() avaamaan hakemistokansion puolestasi. Sinun tarvitsee vain suorittaa alla oleva koodi ja katsoa, ​​mihin kuva on tallennettu. Sinun pitäisi nähdä tiedostonimet my_fantastic_plot.png.

# Run this code to create the function
open_folder <- function(dir) {
    if (.Platform['OS.type'] == "windows") {
        shell.exec(dir)
    } else {
        system(paste(Sys.getenv("R_BROWSER"), dir))
    }
}

# Call the function to open the folder
open_folder(directory)

Kuinka luoda fasetoituja sirontakaavioita R:ssä facet_wrap()-funktiolla

Fasetointi on yksi kahdeksasta aiemmin luetellusta ggplot2-komponentista, ja se on selkein ratkaisu ruuhkaiseen kaavioon. Sen sijaan, että jokainen ryhmä puristettaisiin yhteen paneeliin, ggplot2 piirtää pienen monikerran jokaiselle muuttujan tasolle, kaikki samoilla asteikoilla, jotta paneelit pysyvät vertailukelpoisina.

# One panel per gear count
ggplot(mtcars, aes(x = drat, y = mpg)) +
    geom_point() +
    facet_wrap(~ gear) +
    theme_classic()

Kolme argumenttia hoitaa suurimman osan työstä.

  • ncol or nrow: pakota paneelit tiettyyn asetteluun, esimerkiksi facet_wrap(~ gear, ncol = 2).
  • asteikotOletusarvoisesti ”kiinteä”, joten jokainen paneeli jakaa yhden akselialueen. Käytä ”free_y”- tai ”free”-arvoa, kun ryhmät eroavat suuresti suuruudeltaan, mutta huomaa, että vapaat mittakaavat tekevät paneelien visuaalisesta vertailusta harhaanjohtavaa.
  • labeller: korvaa raakatekijätason jokaisessa kaistaleessa, esimerkiksi labeller = label_both tulostaakseen ”gear: 4” arvon ”4” sijaan.

Kaksi ryhmääping muuttujia. Käytä facet_grid()-funktiota paneelimatriisin luomiseen, jossa ensimmäinen muuttuja sijoittuu rivien ja toinen sarakkeiden välille:

ggplot(mtcars, aes(x = drat, y = mpg)) +
    geom_point(aes(color = factor(cyl))) +
    facet_grid(am ~ gear) +
    theme_classic()

Puolia vai värejä? Väri toimii hyvin noin neljään ryhmään asti kaaviossa, joissa päällekkäisyys on rajallista. Tämän lisäksi tai aina, kun ryhmät menevät päällekkäin voimakkaasti, fasetointi on helpompi lukea, koska jokainen paneeli sisältää vain omat pisteensä. Voit yhdistää molemmat: fasetoinnin yhden muuttujan mukaan ja värin toisen mukaan, kuten yllä olevassa facet_grid()-esimerkissä.

Kuinka käsitellä ylikuvaamista R-hajontakaavioissa

Muutamalla kymmenellä havainnolla jokainen piste on näkyvissä. Tuhansilla markkereilla merkit pinoutuvat päällekkäin ja tihein alue näkyy vain yhtenäisenä möykkynä. Eli ylipiirustus, ja ggplot2 tarjoaa neljä vakioratkaisua.

1. Vähennä läpinäkyvyyttä. Halvin ratkaisu. Päällekkäisyysping pisteet tummuvat luonnostaan, joten tiheys tulee näkyviin:

ggplot(diamonds, aes(x = carat, y = price)) +
    geom_point(alpha = 0.05) +
    theme_classic()

2. Jitterin diskreetit arvot. Kun muuttuja ottaa vain muutaman arvon, pisteet päätyvät samoille koordinaateille. Pieni satunnainen siirtymä erottaa ne toisistaan:

ggplot(mtcars, aes(x = factor(cyl), y = mpg)) +
    geom_jitter(width = 0.15, height = 0) +
    theme_classic()

Aseta korkeus = 0, jotta y-arvot, jotka sisältävät todellisen tiedon, eivät koskaan muutu.

3. Heitä lentokone roskiin. Suurissa tietojoukoissa laske havainnot solukohtaisesti ja yhdistä lukumäärä väriin. Kuusikulmaiset laatikot välttävät neliömäisten laatikoiden tuottamat visuaaliset artefaktit:

ggplot(diamonds, aes(x = carat, y = price)) +
    geom_hex(bins = 40) +
    theme_classic()

4. Piirrä tiheyskäyrät. Ääriviivat hahmottelevat alueet, joihin havainnot keskittyvät, ja ne kerrostuvat siististi haalistuneiden pisteiden päälle:

ggplot(diamonds, aes(x = carat, y = price)) +
    geom_point(alpha = 0.05) +
    geom_density_2d(color = "#C42126") +
    theme_classic()

Nykyään alpha käsittelee muutamia tuhansia pisteitä, hexagonal binning kymmeniä tuhansia ja datan näytteistäminen dplyr::slice_sample()-funktiolla on käytännöllinen vaihtoehto.

Hajontakaavio R:ssä: Code Viite

Alla olevassa taulukossa luetellaan ggplot2-kutsu jokaiselle yllä käsitellylle vaihtoehdolle:

Tavoite Code
Perussironnakaavio
ggplot(df, aes(x = x1, y = y)) + geom_point()
Hajontakaavio väriryhmällä
ggplot(df, aes(x = x1, y = y)) + geom_point(aes(color = factor(x2)))
Lisää sovitetut arvot
ggplot(df, aes(x = x1, y = y)) + geom_point() + stat_smooth(method = "lm")
Lisää otsikko
ggplot(df, aes(x = x1, y = y)) + geom_point() + labs(title = paste("Hello Guru99"))
Lisää tekstitys
ggplot(df, aes(x = x1, y = y)) + geom_point() + labs(subtitle = paste("Hello Guru99"))
Nimeä x uudelleen
ggplot(df, aes(x = x1, y = y)) + geom_point() + labs(x = "X1")
Nimeä uudelleen y
ggplot(df, aes(x = x1, y = y)) + geom_point() + labs(y = "y1")
Hallitse mittakaavaa
ggplot(df, aes(x = x1, y = y)) + geom_point() + scale_y_continuous(breaks = seq(10, 35, by = 10)) + scale_x_continuous(breaks = seq(2, 5, by = 1))
Luo lokit
ggplot(df, aes(x = log(x1), y = log(y))) + geom_point()
Teema
ggplot(df, aes(x = x1, y = y)) + geom_point() + theme_classic()
Ryhmän tekemä fasetti
ggplot(df, aes(x = x1, y = y)) + geom_point() + facet_wrap(~ x2)
Käsittele päällekkäispiirtoa
ggplot(df, aes(x = x1, y = y)) + geom_point(alpha = 0.3)
Säästä
ggsave("my_fantastic_plot.png")

UKK

geom_point() piirtää jokaisen havainnon tarkkoihin koordinaatteihinsa. geom_jitter() lisää pienen satunnaisen siirtymän, jotta saman arvon jakavilla pisteillä on erotettavissa olevia arvoja, millä on merkitystä silloin, kun yhdellä akselilla on diskreettejä arvoja.

aes()-funktion sisällä väri kuvaa muuttujan, joten ggplot2 määrittää yhden sävyn tasoa kohden ja luo selitteen. aes()-funktion ulkopuolella väri on kiinteä vakio, jota sovelletaan jokaiseen pisteeseen, eikä selitettä näy.

Lisää stat_smooth(method = “lm”) tai geom_smooth(method = “lm”) geom_point()-funktion jälkeen. Aseta se = FALSE piilottaaksesi luottamusvälin ja käytä method = “loess” epälineaarisen tasoituksen aikaansaamiseksi.

Hajontakaaviot paljastavat ominaisuuksien korrelaation ja poikkeamat ennen koulutusta, ja ne ovat vakiotapa näyttää ennusteet todellisiin arvoihin verrattuna tai visualisoida klustereita ulottuvuuden pienentämisen jälkeen PCA:lla tai t-SNE:llä.

Kyllä. Tekoälyavustajat voivat piirtää tasoja, ehdottaa päällekkäispiirtokorjauksia ja selittää virheitä, kuten puuttuvan aes()-kääreen. Suorita luotu koodi omilla tiedoillasi, koska sarakenimet ja tekijätyypit ovat helppoja erehtyä.

Tiivistä tämä viesti seuraavasti: