Course 01 – Data Analytics / Data Science Basics

Module 06 – Data Visualization

දත්ත පිරිසිදු කර, විශ්ලේෂණයට සූදානම් කළ පසු, ඊළඟ වැදගත්ම පියවර වන්නේ එම දත්ත තුළ සැඟවී ඇති කතාව දෘශ්‍යමාන කිරීමයි. **"A picture is worth a thousand words"** (චිත්‍රයක් වචන දහසක් වටී) යන කියමන දත්ත විශ්ලේෂණයටත් හොඳින්ම ගැලපේ. සංඛ්‍යාත්මක දත්ත පේළි දහස් ගණනක් දෙස බලා සිටිනවාට වඩා, එම දත්ත මනාව සකස් කළ ප්‍රස්තාරයක් (chart or graph) මගින් බැලූ විට, එහි ඇති රටා (patterns), ප්‍රවණතා (trends) සහ සම්බන්ධතා (relationships) ඉතා පහසුවෙන් හඳුනාගත හැකිය.

මෙම ක්‍රියාවලිය **Data Visualization** ලෙස හඳුන්වයි. Python වල මේ සඳහා භාවිතා වන ප්‍රබල libraries දෙකක් වන **Matplotlib** සහ **Seaborn** ගැන අපි මෙම මොඩියුලයෙන් ඉගෙන ගනිමු.


Visualization Libraries: Matplotlib සහ Seaborn

Matplotlib: මෙය Python සඳහා ඇති මූලිකම සහ පැරණිතම plotting library එකයි. ඔබට අවශ්‍ය ඕනෑම ආකාරයක ප්‍රස්තාරයක් පාහේ මුල සිට නිර්මාණය කිරීමේ හැකියාව සහ පාලනය Matplotlib මගින් ලැබේ.

Seaborn: මෙය Matplotlib මත පදනම්ව නිර්මාණය කරන ලද, වඩාත් ඉහළ මට්ටමේ (high-level) library එකකි. අඩු කේත ප්‍රමාණයකින්, සංඛ්‍යානමය වශයෙන් වඩාත් තොරතුරු සහිත සහ පෙනුමෙන් ඉතා අලංකාර ප්‍රස්තාර නිර්මාණය කිරීමට Seaborn ඉඩ සලසයි.

ආරම්භකයින් ලෙස, අපි මූලික සංකල්ප තේරුම් ගැනීමට Matplotlib basics ස්වල්පයක් ඉගෙන ගෙන, පසුව වඩාත් පහසු සහ ප්‍රායෝගික වන Seaborn වෙත යොමු වෙමු.


Seaborn භාවිතයෙන් ප්‍රධාන ප්‍රස්තාර වර්ග

ප්‍රස්තාර නිර්මාණය කිරීමට පෙර, අපි උදාහරණයක් ලෙස Pandas DataFrame එකක් සකස් කර ගනිමු.

# අවශ්‍ය libraries import කර ගැනීම import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # නියැදි DataFrame එකක් නිර්මාණය කිරීම data = { 'Month': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'], 'Sales': [150, 180, 220, 190, 240, 270], 'Category': ['A', 'B', 'A', 'B', 'A', 'C'], 'Customer_Age': [25, 34, 45, 22, 31, 40] } df = pd.DataFrame(data)
1. Bar Chart (තීරු ප්‍රස්තාරය)

විවිධ කාණ්ඩ (categories) අතර අගයන් සංසන්දනය කිරීමට Bar charts ඉතා යෝග්‍ය වේ. උදාහරණයක් ලෙස, එක් එක් කාණ්ඩයේ (`Category`) මුළු විකුණුම් (`Sales`) කොපමණදැයි බැලීමට මෙය භාවිතා කළ හැක.

plt.figure(figsize=(8, 6)) # ප්‍රස්තාරයේ ප්‍රමාණය සැකසීම sns.barplot(x='Category', y='Sales', data=df) plt.title('Total Sales by Category') # ಶೀರ್ಷಿಕೆ එක් කිරීම plt.xlabel('Product Category') # X-අක්ෂයේ ලේබලය plt.ylabel('Total Sales') # Y-අක්ෂයේ ලේබලය plt.show() # ප්‍රස්තාරය පෙන්වීම
2. Line Chart (රේඛීය ප්‍රස්තාරය)

කාලයත් සමඟ දත්ත වල සිදුවන වෙනස (ප්‍රවණතාව) නිරීක්ෂණය කිරීමට Line charts ඉතා සුදුසුය. උදාහරණයක් ලෙස, මාසයෙන් මාසයට විකුණුම් (`Sales`) වර්ධනය වන ආකාරය බැලීමට මෙය යොදාගත හැක.

plt.figure(figsize=(10, 6)) sns.lineplot(x='Month', y='Sales', data=df, marker='o') plt.title('Monthly Sales Trend') plt.xlabel('Month') plt.ylabel('Sales') plt.grid(True) # පසුබිමේ කොටු ජාලයක් එක් කිරීම plt.show()
3. Histogram (සංඛ්‍යාත ව්‍යාප්ති සටහන)

සංඛ්‍යාත්මක දත්තයක ව්‍යාප්තිය (distribution) තේරුම් ගැනීමට Histogram භාවිතා කරයි. එනම්, කුමන අගය පරාසයන් තුළ දත්ත වැඩිපුරම ගොනු වී ඇත්දැයි පෙන්වයි. උදාහරණයක් ලෙස, පාරිභෝගිකයින්ගේ වයස් ව්‍යාප්තිය (`Customer_Age`) බැලීමට මෙය යොදාගත හැක.

plt.figure(figsize=(8, 6)) sns.histplot(df['Customer_Age'], bins=5, kde=True) # bins = තීරු ගණන, kde = ඝනත්ව වක්‍රය plt.title('Distribution of Customer Ages') plt.xlabel('Age') plt.ylabel('Frequency (Count)') plt.show()
4. Heatmap (උෂ්ණත්ව සිතියම)

Heatmap එකක් මගින් දත්ත matrix එකක අගයන්, වර්ණ මගින් නිරූපණය කරයි. විචල්‍යයන් කිහිපයක් අතර ඇති සම්බන්ධතාව (correlation) බැලීමට මෙය බහුලව භාවිතා වේ. වැඩි සම්බන්ධතාවක් ඇති තැන් තද පැහැයෙන්ද, අඩු සම්බන්ධතාවක් ඇති තැන් ලා පැහැයෙන්ද දැක්වේ.

# Heatmap සඳහා සංඛ්‍යාත්මක දත්ත පමණක් තෝරාගනිමු numeric_df = df[['Sales', 'Customer_Age']] correlation_matrix = numeric_df.corr() # Correlation matrix එක සෑදීම plt.figure(figsize=(7, 5)) sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm') # annot=True මගින් අගයන් පෙන්වයි plt.title('Correlation Heatmap') plt.show()
මෙම Module එකේදී...
  • Data Visualization වල වැදගත්කම.
  • Matplotlib සහ Seaborn හැඳින්වීම.
  • **Bar Chart:** කාණ්ඩ සංසන්දනය.
  • **Line Chart:** කාලය සමග වෙනස්වීම.
  • **Histogram:** දත්ත ව්‍යාප්තිය.
  • **Heatmap:** සම්බන්ධතා දැක්වීම.