Module 10 of 10

Conclusion & Extensions

අපේ ගමන නිමයි! අපි ඉගෙනගත් දේ, එහි සීමාවන්, සහ Data Science ලෝකයේ මීළඟට යා හැකි තැන් ගැන කතා කරමු.

සුභ පැතුම්! ඔබ "Student Exam Marks → Predict 1st Place Student" Machine Learning මිනි කෝස් එක සාර්ථකව නිම කර ඇත. ඔබ, අදහසක් පමණක්ව තිබූ ගැටළුවක් ගෙන, දත්ත නිර්මාණය කර, Python සහ Pandas භාවිතයෙන් එය විශ්ලේෂණය කර, Scikit-learn භාවිතයෙන් Machine Learning model එකක් පුහුණු කර, අනාවැකි ලබාගෙන, ප්‍රතිඵල දෘශ්‍යමාන කර, අවසානයේදී අපගේ මූලික අරමුණ ඉටු කර ගැනීමට සමත් වී ඇත. මෙය සුළුපටු ජයග්‍රහණයක් නොවේ. ඔබ දැන්, Data Science ව්‍යාපෘතියක සම්පූර්ණ ජීවන චක්‍රය (end-to-end lifecycle) පිළිබඳව ප්‍රායෝගික අත්දැකීමක් ලබා ඇත.

මෙම අවසන් මොඩියුලයේදී, අපි code ලියන්නේ නැත. ඒ වෙනුවට, අපි විද්‍යාඥයින් ලෙස සිතමු. අපි අපගේ ව්‍යාපෘතිය දෙස විවේචනාත්මකව (critically) බලා, එහි සාර්ථකත්වය, එහි දුර්වලතා, සහ මෙම දැනුම පදනම් කරගෙන අපට ගොඩනැගිය හැකි තවත් අනාගත ව්‍යාපෘති මොනවාදැයි සාකච්ඡා කරමු.

Insights: Does ML Predict Correctly?

අපගේ model එක කෙතරම් සාර්ථකද? Module 7 සහ 9 හිදී අප දුටු පරිදි, අපගේ Linear Regression model එකේ අනාවැකි, සැබෑ ලකුණු වලට ඉතා ආසන්නව පිහිටා තිබුණි. Scatter plot එකේදී, දත්ත ලක්ෂ්‍යයන්, පරිපූර්ණ අනාවැකිය නිරූපණය කරන විකර්ණ රේඛාවට ඉතා ආසන්නව ගොනු වී තිබුණි. Bar chart එකේදී, එක් එක් ශිෂ්‍යයා සඳහා සැබෑ සහ අනාවැකි තීරු අතර උසෙහි වෙනස ඉතා කුඩා විය.

මෙයින් අපට ගත හැකි නිගමනය කුමක්ද? විෂය ලකුණු (`Math`, `Science`, `English`) සහ අවසාන ලකුණ (`FinalScore`) අතර ශක්තිමත් රේඛීය සම්බන්ධතාවයක් (a strong linear relationship) පවතී. අපගේ model එක එම සම්බන්ධතාවය සාර්ථකව හඳුනාගෙන, ගණිතමය සමීකරණයක් (`y = m1*X1 + m2*X2 + m3*X3 + c`) බවට පත් කිරීමට සමත් විය. මෙම කුඩා, සරල dataset එක සඳහා, Linear Regression ඇල්ගොරිතමය ඉතා හොඳ තේරීමක් බව ඔප්පු විය.

Limitations (අපේ ව්‍යාපෘතියේ සීමාවන්)

ඕනෑම විද්‍යාත්මක පර්යේෂණයකදී මෙන්, අපගේ කාර්යයේ සීමාවන් අවංකව හඳුනා ගැනීම ඉතා වැදගත් වේ. මෙය අපව වඩා හොඳ Data Scientists ලා බවට පත් කරයි.

Small Dataset (කුඩා දත්ත කට්ටලය)

අපගේ ලොකුම සීමාව වූයේ අපගේ දත්ත කට්ටලයේ ප්‍රමාණයයි. අපි භාවිතා කළේ ශිෂ්‍යයින් 10 දෙනෙකුගේ දත්ත පමණි. සැබෑ ලෝකයේදී, Machine Learning models, දහස් ගණනක්, මිලියන ගණනක්, හෝ ඊටත් වඩා වැඩි දත්ත ලක්ෂ්‍යයන් මත පුහුණු කරනු ලැබේ. දත්ත ප්‍රමාණය වැඩි වන තරමට, model එකට වඩාත් සාමාන්‍යකරණය වූ (generalized) සහ ශක්තිමත් රටා ඉගෙන ගැනීමට හැකියාව ලැබේ. ශිෂ්‍යයින් 10 දෙනෙකුගේ දත්ත වලින් ඉගෙනගත් model එකක්, සම්පූර්ණ පාසලකම ශිෂ්‍යයින් සඳහා නිවැරදි අනාවැකි පළ කරනු ඇතැයි අපට විශ්වාස කළ නොහැක.

Overfitting (අධි-ගැළපීම)

Overfitting යනු Machine Learning හි ඇති පොදු ගැටළුවකි. මෙය සිදුවන්නේ, model එක, පුහුණු දත්ත (training data) වලට පමණට වඩා හොඳින් "ගැළපෙන" විටයි. එය දත්ත වල යටින් පවතින සැබෑ රටාව ඉගෙන ගන්නවා වෙනුවට, පුහුණු දත්ත වල ඇති "හඬ" (noise) සහ අහඹු උච්චාවචනයන් (random fluctuations) පවා කටපාඩම් කිරීමට පටන් ගනී.

සරල උපමාවක්: Module 6 හිදී අප කතා කළ Past Papers කටපාඩම් කරන ශිෂ්‍යයාගේ කතාව මතකද? ඔහු training data (Past Papers) වලට 100% ක් නිවැරදි පිළිතුරු ලබා දෙයි, නමුත් මින් පෙර නොදුටු testing data (සැබෑ විභාගය) වලදී අසමත් වේ. Overfitting යනු එයයි. අපගේ model එක, ශිෂ්‍යයින් 10 දෙනාගේ දත්ත වලට පමණක් විශේෂිත වූ රටා ඉගෙනගෙන, අලුත් ශිෂ්‍යයෙකුගේ දත්ත දුන් විට, වැරදි අනාවැකි පළ කිරීමට ඉඩ ඇත.

අපගේ ව්‍යාපෘතියේදී, train-test split එකක් සිදු නොකිරීමට (කුඩා dataset එක නිසා) තීරණය කිරීම, Overfitting අවදානම වැඩි කරයි. සැබෑ ව්‍යාපෘතියකදී, testing set එකේ ක්‍රියාකාරීත්වය මැනීම, Overfitting සිදුවී ඇත්දැයි හඳුනා ගැනීමට ඇති හොඳම ක්‍රමයයි.

Extensions (මෙම ව්‍යාපෘතිය දියුණු කළ හැකි ආකාර)

මෙම කුඩා ව්‍යාපෘතිය, විශාල දේවල් සඳහා වන ආරම්භක ලක්ෂ්‍යයකි. අපගේ දැනුම සහ කුසලතා මත පදනම්ව, අපට මෙම ව්‍යාපෘතිය තවත් බොහෝ දිශාවන්ට ගෙන යා හැකිය.

🚀 Predict Future Marks (අනාගත ලකුණු අනාවැකි කීම)

අපට තවත් features එකතු කළ හැකිය. උදාහරණයක් ලෙස, පළමු වාරයේ, දෙවන වාරයේ ලකුණු, පැමිණීම (attendance), සහ ගෙදර වැඩ වල ලකුණු වැනි දත්ත එකතු කර, අවසාන විභාගයේ ලකුණු පුරෝකථනය කරන model එකක් නිර්මාණය කළ හැකිය.

🎯 Classify Pass/Fail (සමත්/අසමත් ලෙස වර්ගීකරණය)

අප මෙතෙක් කළේ Regression (සංඛ්‍යාත්මක අගයක් predict කිරීම) කාර්යයකි. අපට ගැටළුව වෙනස් කර, ශිෂ්‍යයෙකුගේ විෂය ලකුණු මත, ඔහු/ඇය විභාගය "සමත්" වේවිද "අසමත්" වේවිද යන්න predict කළ හැකිය. මෙය Classification (වර්ගීකරණය) නම් ML කාර්යයකි. இதற்காக Logistic Regression বা Decision Tree වැනි වෙනත් ඇල්ගොරිතම භාවිතා කිරීමට සිදුවේ.

🏆 Rank All Students (සියලුම ශිෂ්‍යයින් ශ්‍රේණිගත කිරීම)

අපි පළමු ස්ථානය පමණක් සොයා ගත්තෙමු. අපට `PredictedScore` තීරුව, අවරෝහණ අනුපිළිවෙලට (descending order) සකස් කර (sort), සියලුම ශිෂ්‍යයින් සඳහා අපේක්ෂිත ශ්‍රේණිගත කිරීමක් (expected rank) ලබා දිය හැකිය. මෙය Pandas හි `.sort_values()` function එක භාවිතයෙන් පහසුවෙන් කළ හැක.

ඔබේ ගමන දැන් ආරම්භ විය!

මෙම මිනි කෝස් එක, Data Science සහ Machine Learning නම් වූ વિશાળ සාගරයේ ඔබ තැබූ පළමු පියවර පමණි. ඔබ දැන් ගැටළුවක් දත්ත-මත-පදනම්ව (data-driven) විසඳන ආකාරය පිළිබඳව මූලික කුසලතා ලබා ඇත. නිරන්තරයෙන් ඉගෙන ගන්න, කුතුහලයෙන් ප්‍රශ්න අසන්න, තවත් datasets සොයාගෙන, ඔබගේම ව්‍යාපෘති ගොඩනගන්න. Data Science ලෝකය ඔබව සාදරයෙන් පිළිගනී!

← Back to Course Home