๐Ÿ Python

[Python]Seaborn:ํ–ฅ์ƒ๋œ ์‹œ๊ฐํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๋‰ด์ด NUEY 2024. 6. 19. 23:06
๋ฐ˜์‘ํ˜•

 

Seaborn ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๊ตฌ๊ธ€์— ๊ฒ€์ƒ‰ํ•ด์„œ ๋“ค์–ด๊ฐ€๋ฉด
์ƒ๋‹จ Gallery๋ฅผ ์„ ํƒํ•ด๋ณด๋ฉด ์ด๋ ‡๊ฒŒ ๋ฉ‹์ง„ ๊ทธ๋ž˜ํ”„๋“ค์„ ์“ธ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

  • Matplotlib ๊ธฐ๋ฐ˜.
  • Matplotlib๋ณด๋‹ค ์ ์€ ์ฝ”๋“œ๋กœ ๊ณ ๊ธ‰์ง„ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

 

์›ํ•˜๋Š” ๊ทธ๋ž˜ํ”„๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉ๋ฒ•๋„ ์ ํ˜€์žˆ๋‹ค.

  • sns.set_them
    → ํ…Œ๋งˆ์„ค์ •ํ•˜๊ณ 
  • df = sns.load_dataset
    ํŽญ๊ท„์ด๋ž€ data๋ฅผ ๊ฐ€์ ธ์™”๋‹ค.
  • sns.pairplot(df, hue="species")
      sns์— pairplot(x, y๋กœ ๋‚˜๋ˆ ์„œ ๊ทธ๋ ค์ฃผ๊ณ ), hue → ์— ์ ํžŒ ์ปฌ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ์ปฌ๋Ÿผ๋“ค์œผ ๋น„๊ตํ•œ๋‹ค.

seanborn.lmplot(x='์ปฌ๋Ÿผ๋ช…1', y='์ปฌ๋Ÿผ๋ช…2', data=df, hue='์ƒ‰๊น”๋กœ ๊ตฌ๋ถ„์ปฌ๋Ÿผ ๋ช…')
→ ์„ ํ˜• ํšŒ๊ท€ ์‹œ๊ฐํ™”.
linear model plot

์ด๋Ÿฐ ๊ทธ๋ž˜ํ”„์ด๋‹ค. ์ฃผ์‹ ๊ฐ™์€๋ฐ์„œ๋„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š”. ํšŒ๊ท€(๊ตฝ์ด์น˜๋Š” ๊ทธ๋ž˜ํ”„) ์‚ฌ์ด๋กœ ์„ ์„ ๊ทธ์€ ํ˜•ํƒœ.
๊ธฐ๋ณธ์„ค์ •์ด๋ž‘ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์™€์ฃผ๊ณ 

  • hue=์„ฑ๋ณ„์— ๋”ฐ๋ผ ๋‚˜๋ˆด๋‹ค.
  • ์—ฐ๋ น์— ๋”ฐ๋ผ BMI๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ฐ”๋€Œ๋Š” ์ง€.
  • ํŒŒ๋ž€์ƒ‰ ๋ฒ”์œ„(ํŒŒ๋ž€ ์  ๋ง๊ณ )๋Š” ์˜ค์ฐจ๋ฒ”์œ„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • ๊ทธ๋ž˜ํ”„ ํ•ด์„
    ๋ฐ์ดํ„ฐ๊ฐ€ ์ ์–ด ์˜ค์ฐจ๋ฒ”์œ„๊ฐ€ ํฐ ๋ฐ์ดํ„ฐ์ธ๋ฐ
    ์—ฌ์„ฑ์€ ๋‚˜์ด๊ฐ€ ๋“ค์ˆ˜๋ก BMI๊ฐ€ ์ค„์–ด๋“ค๊ณ , ๋‚จ์„ฑ์€ BMI๊ฐ€ ์ผ์ •ํ•œ ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

sns.barplot(data=df)
→ ๋ฐ” ํ”Œ๋กฏ ์‹œ๊ฐํ™”.

๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์ „ ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์›Œ์คฌ๋‹ค. ์ด๋ฆ„์€ index์ž„.

๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆด ๋•Œ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆซ์ž์—ฌ์•ผ ํ•œ๋‹ค.

์ง .


sns.boxplot(data=df)
→ ๋ฐ•์Šค ํ”Œ๋กฏ ์‹œ๊ฐํ™”.

์ € ๋ฐ•์Šค์˜ ์„ ์€ ๋งฝ ๋ฐ‘์ด 0% ๊ทธ ์œ„๊ฐ€ 25%, 50%, 75% ์ตœ๋Œ€์น˜. ์ด๋Ÿฐ ํ˜•ํƒœ๋‹ค


sns.violinplot(data=df)
→ ๋ฐ”์ด์˜ฌ๋ฆฐ ์‹œ๊ฐํ™”.


์„œ๋ธŒ ํ”Œ๋กฏ ์‹œ๊ฐํ™” :
์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ํ•œ๊บผ๋ฒˆ์— ๊ทธ๋ ค์ค€๋‹ค.
g = sns.catplot(data=df, kind='๊ทธ๋ž˜ํ”„ํƒ€์ž…', col='์ปฌ๋Ÿผ๋ช…', col_wrap=ํ•œ์ค„์— ๊ทธ๋ž˜ํ”„ ๋ช‡๊ฐœ)
g.fig.set_size_inches(ํ–‰ํฌ๊ธฐ, ์—ดํฌ๊ธฐ)
g.fig.subplots_adjust(wspace=๊ทธ๋ž˜ํ”„์ขŒ์šฐ๊ฐ„๊ฒฉ, hspace=๊ทธ๋ž˜ํ”„์ƒํ•˜๊ฐ„๊ฒฉ)

sns.catplot( )๋งŒ ์‚ฌ์šฉํ–ˆ์„ ๊ฒฝ์šฐ


sns.pairplot(df, hue="์ปฌ๋Ÿผ๋ช…")
→ hue=์ปฌ๋Ÿผ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ปฌ๋Ÿผ๋“ค๊ณผ ๋น„๊ตํ•˜์—ฌ ์‹œ๊ฐํ™”.

jupyter notebook์—์„œ iris๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋ฉด C:user/seaborn-data๋ž€ ํด๋”์— ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„์ง„๋‹ค. ์œ ์ €๋ช… ์˜์–ด ์•„๋‹ˆ๋ฉด ์˜ค๋ฅ˜๋‚œ๋‹ค๊ณ  ํ•จ.
species(ํ’ˆ์ข…์—) ๋”ฐ๋ผ ๊ทธ ์™ธ์˜ ์ปฌ๋Ÿผ๋“ค๊ณผ ๋น„๊ตํ•œ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ชจ๋‘ ๋ณด์—ฌ์ค€๋‹ค.

 

๋ฐ˜์‘ํ˜•