ලේබල් නොමැති දත්ත වලින් සැඟවුණු රටා සහ ව්යුහයන් සොයා ගැනීම.
අධීක්ෂිත ඉගෙනුමේදී මෙන් නොව, නිරීක්ෂණ රහිත ඉගෙනුමේදී අපි පරිගණකයට ලේබල් නොකරන ලද දත්ත (unlabeled data) ලබා දෙමු. එනම්, "නිවැරදි පිළිතුර" කුමක්දැයි අපි කියා දෙන්නේ නැත. ඒ වෙනුවට, දත්තවල ඇති සැඟවුණු ව්යුහයන්, සම්බන්ධතා සහ රටා තනිවම සොයා ගැනීමට පරිගණකයට ඉඩ සලසමු.
විවිධ වර්ගයේ, ප්රමාණයේ, සහ වර්ණවලින් යුත් සෙල්ලම් බඩු ගොඩක් දරුවෙකුට දී, කිසිදු උපදෙසක් නොමැතිව ඒවා "කණ්ඩායම් වලට වෙන් කරන්න" යැයි පැවසීමක් වැනිය. දරුවා (ML model) සෙල්ලම් බඩු වල සමානකම් (උදා: සියලුම රතු පාට ඒවා, සියලුම රවුම් ඒවා) හඳුනාගෙන, ඒවා ස්වභාවික කණ්ඩායම් වලට වෙන් කරනු ඇත. "නිවැරදි" කණ්ඩායම් කිරීමක් නොමැත; ඇත්තේ දත්තවල ඇති ව්යුහය මත පදනම් වූ සොයාගැනීමක් පමණි.
ප්රධාන අරමුණ: දත්තවල අභ්යන්තර ව්යුහය (underlying structure) තේරුම් ගැනීම.
අරමුණ: දත්ත ඒවායේ සමානකම් (similarity) මත පදනම්ව ස්වභාවික කණ්ඩායම් (clusters) වලට වෙන් කිරීම. එකම cluster එකක ඇති දත්ත එකිනෙකට බෙහෙවින් සමාන වන අතර, විවිධ cluster වල ඇති දත්ත එකිනෙකට බෙහෙවින් වෙනස් වේ.
මෙම උදාහරණයේදී, අපි දත්ත ලක්ෂ්යයන් ස්වභාවික පොකුරු 3කට වෙන් කරමු.
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
# 1. ලේබල් නොකළ දත්ත කට්ටලයක් නිර්මාණය කිරීම (උදාහරණයක් ලෙස)
# X යනු දත්ත ලක්ෂ්ය වන අතර, y (ලේබල්) අපි භාවිතා නොකරමු.
X, y = make_blobs(n_samples=300, centers=3, cluster_std=0.80, random_state=0)
# 2. KMeans ආකෘතිය නිර්මාණය කර පුහුණු කිරීම
# අපි පොකුරු 3ක් (n_clusters=3) සොයන බව ආකෘතියට කියමු
kmeans = KMeans(n_clusters=3, random_state=0, n_init='auto')
kmeans.fit(X) # මෙහිදී අපි දෙන්නේ X (දත්ත) පමණයි, y (පිළිතුරු) නැත!
# 3. එක් එක් දත්ත ලක්ෂ්යය අයත් වන පොකුර (cluster) ලබා ගැනීම
predicted_clusters = kmeans.labels_
print("පළමු දත්ත ලක්ෂ්ය 10 අයත් වන පොකුරු:", predicted_clusters[:10])
# 4. ප්රතිඵලය දෘශ්යකරණය කිරීම (Optional)
plt.scatter(X[:, 0], X[:, 1], c=predicted_clusters, s=50, cmap='viridis')
centers = kmeans.cluster_centers_
plt.scatter(centers[:, 0], centers[:, 1], c='red', s=200, alpha=0.75)
plt.title('KMeans Clustering ප්රතිඵලය')
plt.show()
අරමුණ: විශාල දත්ත කට්ටලයක, අයිතම අතර ඇති රසවත් සම්බන්ධතා සහ "if-then" රටා සොයා ගැනීම. මෙය "Market Basket Analysis" ලෙසද හැඳින්වේ.
මෙම පාඩමේදී ඔබ, ලේබල් නොමැති දත්ත වලින් ඉගෙන ගන්නා නිරීක්ෂණ රහිත ඉගෙනුම පිළිබඳව ඉගෙන ගත්තා. එහි ප්රධාන යෙදුම් වන පොකුරු ගැසීම (දත්ත කාණ්ඩ කිරීම) සහ ආශ්රිත නීති (සම්බන්ධතා සෙවීම) පිළිබඳව ඔබ දැන් දන්නවා.