Ինչպե՞ս պատրաստել խտության սխեման Python-ում Altair-ի միջոցով:


Altair-ը մի տեսակ վիճակագրական վիզուալիզացիայի գրադարան է Python-ում: Այս գրադարանը հիմնված է vega և vega-lite javascript գրադարանների վրա: Ավելին, մենք կարող ենք պատկերացնել տվյալների բաշխումը Python-ում խտության սյուժեի տեսքով: Այս սյուժեները օգտակար են անկախ նրանից, թե մենք պետք է համեմատենք փոփոխական բաշխումը տարբեր խմբերի միջև, թե մենք պետք է պատկերացնենք բաշխման ձևը: Խտության գծապատկերների օգտակար կիրառությունները, ինչպիսիք են տվյալների ձևի պատկերացումը, արտաքին տեսքի հայտնաբերումը, բաշխման և մոդելի ընտրությունը համեմատելը: Խտության սյուժեն ցուցադրված է այս հոդվածում Python կոդի օգնությամբ։ Ավելի լավ հասկանալու համար մենք դիտարկում ենք մի օրինակ, որը տրված է ստորև՝ բոլոր քայլերով:

Օրինակ 1. Կազմեք խտության գծապատկեր՝ օգտագործելով Altair գրադարանը Python-ում:

Օգտագործողի ընթացիկ գտնվելու վայրի հայտնաբերում և HTML էջում տեղադրության կոորդինատների ցուցադրում:

Կոդի բացատրություն՝ անհրաժեշտ քայլերով

Քայլ 1. Նախևառաջ ներմուծեք անհրաժեշտ գրադարանները.

import altair as altr
import pandas as pd

Քայլ 2. Բեռնել տվյալները

Այս դեպքում օգտագործվում է «titanic_data», որը պարունակում է բոլոր տեղեկությունները Titanic նավի ուղևորների մասին:

Քայլ 3. Ստեղծեք գծապատկերի օբյեկտ

Գծապատկեր=altr.chart(titanic_data)

Քայլ 4. Փոխակերպեք տվյալները:

Փոփոխականների խտության գնահատումը հաշվարկվում է «փոխակերպման_խտություն» մեթոդով:

Քայլ 5. Ավելացնել տարածքի սահմանազատում: Տարածքի հողամաս ստեղծելիս մենք օգտագործում ենք ‘mark_area’ մեթոդը:

Քայլ 6. Կոդավորեք x առանցքը բոլոր այն փոփոխականներով, որոնք դուք պետք է գծագրեք: Փոփոխականները պետք է քարտեզագրվեն x առանցքի վրա՝ օգտագործելով «encode» մեթոդը:

Քայլ 7. «Կոդավորեք» y առանցքը այն խտությամբ, որը դուք պետք է գծագրեք: Խտության փոփոխականները պետք է քարտեզագրվեն x առանցքի վրա՝ օգտագործելով «կոդավորման» մեթոդը:

Քայլ 8. «Կոդավորել» գունային փոփոխականները, որոնք ձեզ անհրաժեշտ են սյուժեում: Հողամասի գույնի փոփոխականները պետք է քարտեզագրվեն՝ օգտագործելով կոդավորման մեթոդը և 0 և 1 գույներով արգումենտների քարտեզները:

Քայլ 9. Ներառեք tooltip տեղեկատվությունը, մինչդեռ Tooltip-ը թռուցիկ պատուհան է, այն հայտնվում է, երբ օգտվողները սավառնում են գծապատկերի կամ գրաֆիկի տվյալների կետերի վրա:

Քայլ 10. Սահմանեք գծապատկերի հատկությունները: «Հատկություններ» մեթոդը պետք է օգտագործվի գծապատկերի անվանումը և չափը սահմանելու համար:

Քայլ 11. Ցուցադրել գծապատկերը: Գծապատկերը ցուցադրելու համար այստեղ օգտագործվում է ցուցադրման մեթոդը:

Օրինակ կոդ Python-ում, օգտագործելով Jupyter Notebook-ը

Փորձարկված կոդը տրված է ստորև, այն առաջացնում է Տիտանիկի ճանապարհորդների տարիքային բաշխման խտության սխեման՝ խմբավորված ըստ նրանց գոյատևման կարգավիճակի՝ օգտագործելով Altair-ը Python-ում:

Օրինակ

import altair as altr
import panda as pd 
titanic_data = pd.read_csv("https://web.stanford.edu/class/archive/cs/cs109/cs109.1166/stuff/titanic.csv")
# Generate the density plot 
chart = altr.Chart(titanic_data).transform_density( 
             density='Age', 
             as_=['Age', 'density'], 
             groupby=['Survived'], 
             extent=[0, 100] 
).mark_area(orient='horizontal', opacity=0.5).encode(    
            x=altr.X('Age:Q', title='Age'), 
            y=altr.Y('density:Q', title='Density'), 
            color=altr.Color('Survived:N', scale=altr.Scale(domain=[0, 1], range=['red', 'blue']),   
           title='Survived'),
          tooltip=['Survived:N', 'Age:Q', 'density:Q']
 ).properties(title='Age Density Plot of Titanic Travellers', width=600, height=300) 
# Render the chart
 chart.display()
chart.show()

Տարբեր մեթոդների հիմնական գործառույթները, որոնք նկարագրվելու են այստեղ, օգտագործվել են այս կոդում:

'transform_density'. 'transform_density' մեթոդն այստեղ օգտագործվում է երկու փոփոխականների խտության գնահատումը հաշվարկելու համար, ինչպիսիք են «տարիքը» և 'survived' փոփոխականներ:

Transform_density-ի կողմից ընդունվել են մի քանի փաստարկներ, ինչպիսիք են՝

  • «խտությունը» այն փոփոխականն է, որտեղ մենք կարող ենք հաշվարկել խտության գնահատումը: Այստեղ դա «Տարիքը» է:

  • ‘որպես_’-ը երկու տողերի ցանկ է, որոնք նշում են ելքային փոփոխականների անունները (Տարիքը, խտությունը):

  • ‘groupby’-ը երկու տողերի ցանկ է, որոնք նշում են տվյալների խումբը (‘Survived’):

  • «ընդլայնումը» ունի արժեքների ցանկ, որը պատկերում է խտության գծապատկերի արժեքների տիրույթը: Միջակայքը [0,100] է, այլ կերպ ասած, այս խտությունը կհաշվարկվի 0-ից 100 տարեկան տարիքում:

«Տարիքը»-ի խտությունը «վերապրած»-ի յուրաքանչյուր արժեքի համար հաշվարկելուց հետո կարող եք համեմատել երկու խմբերի տարիքային բաշխումների արժեքը և նկատել նկատելի տարբերությունը, եթե այն կա: Վերջնական արդյունքում ստացված խտության գծապատկերը ցույց է տալիս երկու խմբերի տարիքի արժեքը x առանցքի և y առանցքի վրա, ինչպես նաև ճանապարհորդների առանձին խմբերի համար տարբեր սյուժեները:

Արդյունքի դիտում - Օրինակ

Արդյունքը տեսնելու համար բացեք Vega խմբագրիչը բրաուզերում: Դուք կարող եք տեսնել Տիտանիկի ճանապարհորդների խտության սյուժեն: Եթե ցանկանում եք իմանալ որոշակի վայրի արժեքը, այժմ սեղմեք որոշակի վայրի վրա, կարող եք արժեքը տեսնել թռուցիկ պատուհանում:

Նկ.2 Տիտանիկ ճանապարհորդների տվյալների խտության սխեման՝ օգտագործելով Altair գրադարանը Python-ում

Նկար 3-ը ցույց է տալիս որոշակի կետի արժեքը Տիտանիկ ճանապարհորդի խտության գծագրում

Altair գրադարանի այս հոդվածում, օգտագործելով Titanic Travelers-ի առցանց տվյալները, մենք կազմում ենք խտության աղյուսակ: Տվյալների բաշխումը կարող է արտացոլվել Python-ի խտության սյուժեներում: