You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/he/3-Data-Visualization/R/10-visualization-distributions
leestott 96f3257873
🌐 Update translations via Co-op Translator
3 weeks ago
..
README.md 🌐 Update translations via Co-op Translator 3 weeks ago
assignment.md 🌐 Update translations via Co-op Translator 3 weeks ago

README.md

ויזואליזציה של התפלגויות

 סקיצה מאת (@sketchthedocs)
ויזואליזציה של התפלגויות - סקיצה מאת @nitya

בשיעור הקודם, למדתם כמה עובדות מעניינות על מערך נתונים של ציפורים ממינסוטה. מצאתם נתונים שגויים על ידי ויזואליזציה של ערכים חריגים ובחנתם את ההבדלים בין קטגוריות הציפורים לפי אורך מקסימלי.

שאלון לפני השיעור

חקר מערך הנתונים של הציפורים

דרך נוספת לחקור נתונים היא על ידי בחינת ההתפלגות שלהם, כלומר איך הנתונים מאורגנים לאורך ציר. אולי, לדוגמה, תרצו ללמוד על ההתפלגות הכללית, עבור מערך הנתונים הזה, של מוטת כנפיים מקסימלית או מסת גוף מקסימלית של ציפורי מינסוטה.

בואו נגלה כמה עובדות על ההתפלגויות של הנתונים במערך הנתונים הזה. בקונסולת R שלכם, ייבאו את ggplot2 ואת מסד הנתונים. הסירו את הערכים החריגים ממסד הנתונים בדיוק כמו שעשיתם בנושא הקודם.

library(ggplot2)

birds <- read.csv("../../data/birds.csv",fileEncoding="UTF-8-BOM")

birds_filtered <- subset(birds, MaxWingspan < 500)
head(birds_filtered)
שם שם מדעי קטגוריה סדר משפחה סוג מצב שימור אורך מינימלי אורך מקסימלי מסת גוף מינימלית מסת גוף מקסימלית מוטת כנפיים מינימלית מוטת כנפיים מקסימלית
0 ברווז שרוק שחור-בטן Dendrocygna autumnalis ברווזים/אווזים/עופות מים Anseriformes Anatidae Dendrocygna LC 47 56 652 1020 76 94
1 ברווז שרוק חלוד Dendrocygna bicolor ברווזים/אווזים/עופות מים Anseriformes Anatidae Dendrocygna LC 45 53 712 1050 85 93
2 אווז שלג Anser caerulescens ברווזים/אווזים/עופות מים Anseriformes Anatidae Anser LC 64 79 2050 4050 135 165
3 אווז רוס Anser rossii ברווזים/אווזים/עופות מים Anseriformes Anatidae Anser LC 57.3 64 1066 1567 113 116
4 אווז לבן-חזית גדול Anser albifrons ברווזים/אווזים/עופות מים Anseriformes Anatidae Anser LC 64 81 1930 3310 130 165

באופן כללי, ניתן להסתכל במהירות על אופן ההתפלגות של הנתונים באמצעות תרשים פיזור כפי שעשינו בשיעור הקודם:

ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
  geom_point() +
  ggtitle("Max Length per order") + coord_flip()

אורך מקסימלי לפי סדר

זה נותן סקירה כללית של ההתפלגות הכללית של אורך גוף לפי סדר הציפורים, אך זו אינה הדרך האופטימלית להציג התפלגויות אמיתיות. משימה זו בדרך כלל מתבצעת על ידי יצירת היסטוגרמה.

עבודה עם היסטוגרמות

ggplot2 מציע דרכים מצוינות לויזואליזציה של התפלגות נתונים באמצעות היסטוגרמות. סוג תרשים זה דומה לתרשים עמודות שבו ההתפלגות נראית דרך עלייה וירידה של העמודות. כדי לבנות היסטוגרמה, אתם צריכים נתונים מספריים. כדי לבנות היסטוגרמה, ניתן ליצור תרשים ולהגדיר את הסוג כ-'hist' עבור היסטוגרמה. תרשים זה מציג את ההתפלגות של MaxBodyMass עבור טווח הנתונים המספריים של מערך הנתונים כולו. על ידי חלוקת מערך הנתונים למקטעים קטנים יותר, ניתן להציג את ההתפלגות של ערכי הנתונים:

ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + 
  geom_histogram(bins=10)+ylab('Frequency')

התפלגות על פני מערך הנתונים כולו

כפי שניתן לראות, רוב 400+ הציפורים במערך הנתונים הזה נמצאות בטווח של מתחת ל-2000 עבור מסת הגוף המקסימלית שלהן. ניתן לקבל תובנות נוספות על הנתונים על ידי שינוי הפרמטר bins למספר גבוה יותר, כמו 30:

ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')

התפלגות-30 מקטעים

תרשים זה מציג את ההתפלגות בצורה מעט יותר מפורטת. ניתן ליצור תרשים פחות מוטה שמאלה על ידי הבטחת בחירת נתונים רק בטווח נתון:

סננו את הנתונים כך שתקבלו רק את הציפורים שמסת הגוף שלהן מתחת ל-60, והציגו 30 bins:

birds_filtered_1 <- subset(birds_filtered, MaxBodyMass > 1 & MaxBodyMass < 60)
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) + 
  geom_histogram(bins=30)+ylab('Frequency')

היסטוגרמה מסוננת

נסו מסננים ונקודות נתונים אחרות. כדי לראות את ההתפלגות המלאה של הנתונים, הסירו את המסנן ['MaxBodyMass'] כדי להציג התפלגויות עם תוויות.

ההיסטוגרמה מציעה גם שיפורים בצבע ובתוויות שכדאי לנסות:

צרו היסטוגרמה דו-ממדית כדי להשוות את הקשר בין שתי התפלגויות. בואו נשווה בין MaxBodyMass ל-MaxLength. ggplot2 מציע דרך מובנית להציג התכנסות באמצעות צבעים בהירים יותר:

ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
  geom_bin2d() +scale_fill_continuous(type = "viridis")

נראה שיש מתאם צפוי בין שני האלמנטים הללו לאורך ציר צפוי, עם נקודת התכנסות חזקה במיוחד אחת:

תרשים דו-ממדי

היסטוגרמות עובדות היטב כברירת מחדל עבור נתונים מספריים. מה אם אתם צריכים לראות התפלגויות לפי נתונים טקסטואליים?

חקר מערך הנתונים להתפלגויות באמצעות נתונים טקסטואליים

מערך הנתונים הזה כולל גם מידע טוב על קטגוריית הציפורים, סוגן, מינן ומשפחתן, כמו גם על מצב השימור שלהן. בואו נחקור את המידע על מצב השימור. מהי ההתפלגות של הציפורים לפי מצב השימור שלהן?

במערך הנתונים, נעשה שימוש בכמה ראשי תיבות לתיאור מצב השימור. ראשי תיבות אלו מגיעים מ-קטגוריות הרשימה האדומה של IUCN, ארגון שמקטלג את מצבם של מינים.

  • CR: בסכנת הכחדה חמורה
  • EN: בסכנת הכחדה
  • EX: נכחד
  • LC: ללא חשש
  • NT: קרוב לסיכון
  • VU: פגיע

אלו ערכים מבוססי טקסט ולכן תצטרכו לבצע טרנספורמציה כדי ליצור היסטוגרמה. באמצעות מסגרת הנתונים filteredBirds, הציגו את מצב השימור שלה לצד מוטת הכנפיים המינימלית שלה. מה אתם רואים?

birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'EX'] <- 'x1' 
birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'CR'] <- 'x2'
birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'EN'] <- 'x3'
birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'NT'] <- 'x4'
birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'VU'] <- 'x5'
birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'LC'] <- 'x6'

ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
  geom_histogram(position = "identity", alpha = 0.4, bins = 20) +
  scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))

מוטת כנפיים ומצב שימור

נראה שאין מתאם טוב בין מוטת כנפיים מינימלית למצב השימור. בדקו אלמנטים אחרים במערך הנתונים באמצעות שיטה זו. תוכלו לנסות מסננים שונים גם כן. האם אתם מוצאים מתאם כלשהו?

תרשימי צפיפות

ייתכן ששמתם לב שההיסטוגרמות שראינו עד כה הן 'מדורגות' ואינן זורמות בצורה חלקה בקשת. כדי להציג תרשים צפיפות חלק יותר, תוכלו לנסות תרשים צפיפות.

בואו נעבוד עכשיו עם תרשימי צפיפות!

ggplot(data = birds_filtered_1, aes(x = MinWingspan)) + 
  geom_density()

תרשים צפיפות

ניתן לראות כיצד התרשים משקף את התרשים הקודם עבור נתוני מוטת כנפיים מינימלית; הוא פשוט מעט חלק יותר. אם תרצו לחזור לקו המדרגות של MaxBodyMass בתרשים השני שבניתם, תוכלו להחליק אותו היטב על ידי יצירתו מחדש באמצעות שיטה זו:

ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) + 
  geom_density()

צפיפות מסת גוף

אם תרצו קו חלק, אך לא חלק מדי, ערכו את הפרמטר adjust:

ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) + 
  geom_density(adjust = 1/5)

מסת גוף פחות חלקה

קראו על הפרמטרים הזמינים עבור סוג תרשים זה ונסו להתנסות!

סוג תרשים זה מציע ויזואליזציות מסבירות בצורה יפה. עם כמה שורות קוד, לדוגמה, תוכלו להציג את צפיפות מסת הגוף המקסימלית לפי סדר הציפורים:

ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
  geom_density(alpha=0.5)

מסת גוף לפי סדר

🚀 אתגר

היסטוגרמות הן סוג תרשים מתוחכם יותר מאשר תרשימי פיזור בסיסיים, תרשימי עמודות או תרשימי קו. חפשו באינטרנט דוגמאות טובות לשימוש בהיסטוגרמות. כיצד הן משמשות, מה הן מדגימות, ובאילו תחומים או תחומי מחקר הן נוטות להיות בשימוש?

שאלון לאחר השיעור

סקירה ולימוד עצמי

בשיעור זה, השתמשתם ב-ggplot2 והתחלתם לעבוד על הצגת תרשימים מתוחכמים יותר. בצעו מחקר על geom_density_2d() "עקומת צפיפות הסתברות רציפה בממד אחד או יותר". קראו את התיעוד כדי להבין כיצד זה עובד.

משימה

יישמו את הכישורים שלכם


כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. בעוד שאנו שואפים לדיוק, יש להיות מודעים לכך שתרגומים אוטומטיים עשויים להכיל שגיאות או אי-דיוקים. המסמך המקורי בשפתו המקורית נחשב למקור הסמכותי. למידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי מתרגם אנושי. איננו נושאים באחריות לכל אי-הבנה או פרשנות שגויה הנובעת משימוש בתרגום זה.