Machine learning model එකක් train කරන්න කලින් අපි ලඟ තියෙන dataset එක ප්‍රධාන ලෙස කොටස් දෙකකට බෙදා ගන්නවා.

එක කොටසක් බෙදා ගන්න පුළුවන් Model එක train කරන්න. අනිත් කොටස බෙදා ගන්න පුළුවන් model එක test කරන්න.

ඇයි මේ විදියට data set එක බෙදා ගන්නේ හා  කොහොම ද බෙදා ගන්නේ කියලා මේ post එකෙන් කතා කරනවා.

අපි මේක පැහැදිලි කරන්න පහත සඳහන් කුඩා dataset එක ගන්න පුළුවන්




ඉහත දක්වලා තියන dataset එකේ තියනවා පාඩම් කරන පැය ගණන අනුව ලැබෙන ප්‍රතිඵලය.

කවුරු හරි කෙනෙකු පාඩම් කරන පැය ගණන ලබා දුන්නම එයාට ඒකට ලැබෙන ප්‍රතිඵලය කියන්න පුළුවන් වෙන්න ඕනි.ඒකට අපි machine learning model එක train කරනවා එතකොට අපි ආදාන විදියට පැය ගණන දුන්නම ලැබිය හැකි ප්‍රතිඵලය ලබා දෙන්න ඕනි.

එතකොට අපි කොහොම ද දැනගන්නේ මේ model එකෙන් හරිම ප්‍රතිඵලය දෙනවා කියලා. ඒකට තමයි අපි මේ dataset එක කොටස් දෙකකට බෙදා ගන්නේ. එක කොටසකින් මේ model එක train කරනවා. අනිත් කොටසින් මේ model එක test කරලා බලනවා මේ model එක කොච්චර දුරට සාර්ථකයි ද කොච්චර දුරට නිවැරදිද කියලා. දැන් අවබෝධ වුනා ද මේ dataset එක බෙදා ගන්නේ ඇයි කියලා.

මෙතනදී dataset එකේ data තෝර ගනිද්දී අහඹු වශයෙන් data තෝරා ගන්න ඕනි.

මෙතන තියෙන්නේ ඉතා අඩු දත්ත ප්‍රමාණයක්. නමුත් ඇත්තටම අපිට විශාල දත්ත සමඟ වැඩ කරන්න වෙනවා. එතකොට තෝර තෝර දත්ත ගන්න අමාරුයි. එතකොට අපි කරන්න ඕනි අහඹු ලෙස දත්ත තෝරා ගැනීමයි.

දැන් අපි බලමු හදා ගන්න model එකේ නිවැරදිතාවය කොහොමද ගණනය කරන්නේ කියලා.අපි මුලින්ම කරන්නේ මේ Train dataset එකේන් model එක train කරනවා. ඒ Model එකෙන් තමයි නිවැරදිතාව බලන්නේ test කරන්න ගත්ත dataset එකක් භාවිතා කරලා.

ඉහත පෙන්වලා තියෙන්නේ Test කරන්න ගත්ත dataset එක.

අපි ගත්ත model එකට අපි දෙනවා Test කරන්න ගත්ත dataset එකේ X values. ඒ දත්ත ටික දුන්නම එ් model එකෙන් දෙන ප්‍රතිදානය වන්නේ model එක predict කරන output එක. පහත රූප සටහනේ පෙන්වලා තියනවා




ඉහත ප්‍රතිදානයේ predicted output එක බැලුවම පැය 16 පාඩම් කරන කෙනාගේ Test data වල ප්‍රතිදානය A වන අතර ඒ පැය ගණන model එකට දීලා train කරලා ලැබුන predicted එකත් A. ඒ වගේම පැය 12 හා පැය 7 data වලත් output වල වෙනසක් නැහැ. නමුත් පැය 6 ක test data එකේ ඒක model එකට දුන්නම ලැබුන output එක B. මේකදී ප්‍රතිදාන 3 ක් වෙනසක් නැහැ. එකක් විතරක් වෙනස්. ඒ කියන්නේ නිවැරදිභාවය 75%යි.

අපිට මේ කතා කරපු දේවල් කරන්න පුළුවන් ලෙසියෙන්ම Python Library භාවිතා කරලා. අපි බලමු දැන් Python භාවිතා කරලා මේක කරන්නේ කොහොම ද කියලා.


python code

import numpy as np

from sklearn.model_selection import train_test_split

x=np.array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])

y=np.array(['S','S','C','C','S','C','C','B','C','B','B','A','A','B','A','A','A','B','A','A'])

x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2) #train කරන data වලින් 20%

print(x_train) #randomly select values

print(y_train)

print(x_test)

print(y_test)

output