ඔබ ආරම්භ කිරීමට කැමතිද? යන්ත්ර ඉගෙනීම?
මම සම්පූර්ණ ආරම්භකයින් සඳහා සරල සහ පහසු නිබන්ධනයක් නිර්මාණය කර ඇත. යන්ත්ර ඉගෙනීමේ ආකෘතියක් පුහුණු කිරීමේ මූලික පියවරයන් අපි එක්ව ගනිමු.
ආකෘතියක් පුහුණු කිරීමේ පියවර එකින් එක පැහැදිලි කරන අතරම, මම යන්ත්ර ඉගෙනීමේ ගැටලුවක් සඳහා ඉතා මූලික උදාහරණයක් ද දෙන්නෙමි. එබැවින්, ඔබ අනුගමනය කිරීමට කැමති නම්, ඔබට මෙම නියැදි දත්ත කට්ටලය මෙයින් බාගත හැකිය ලින්ක්.
මෙය ඔබට යන්ත්ර ඉගෙනීම ආරම්භ කිරීමට උපකාර වන නියැදි දත්ත කට්ටලයක් පමණි.
ඔවුන්ගේ ප්රියතම සංගීතය නිර්වචනය කර ඇති විවිධ වයස්වල සහ ලිංගභේදවල පුද්ගලයින්ගේ අගයන් 18ක් අප සතුව ඇත. "වයස" සහ "ලිංගභේදය" යන අංගයන් භාවිතා කිරීමෙන් අපි ඔවුන්ගේ ප්රියතම සංගීත ප්රභේදය අනුමාන කිරීමට උත්සාහ කරමු.
සටහන: 1 සහ 0 මෙම දත්ත කට්ටලයේ ස්ත්රී පුරුෂ වශයෙන් ස්ත්රී පුරුෂ භාවයට පවරා ඇත.
කෙසේ වෙතත්, ඔබට ආදර්ශය අනුගමනය කිරීමට අවශ්ය නැතිනම්, එය ද පරිපූර්ණයි. මම මෙම සියලු පියවර විස්තරාත්මකව විස්තර කරමි. ඉතින්, අපි කිමිදෙමු!
මුලින්ම දැනගත යුතු දේ
ආකෘතියක් පුහුණු කිරීමේ පියවර වෙත යාමට පෙර, කරුණු කිහිපයක් පැහැදිලි කරමු. යන්ත්ර ඉගෙනීම යනු අ කෘතිම බුද්ධිය දත්ත වලින් ඉගෙන ගත හැකි ඇල්ගොරිතම සංවර්ධනය කිරීම කෙරෙහි අවධානය යොමු කරන විනය.
මෙය සිදු කිරීම සඳහා, යන්ත්ර ඉගෙනුම් ආකෘති නිවැරදි පුරෝකථනය කරන ආකාරය හෝ ආකෘතියට උගන්වන දත්ත කට්ටලයක් මත පුහුණු කරනු ලැබේ. වර්ගීකරණයන් නැවුම්, කලින් නොදන්නා දත්ත මත.
ඉතින්, මෙම ආකෘති මොනවාද? ඒ යන්ත්ර ඉගෙනීමේ ආකෘතිය දත්ත අනාවැකි හෝ තේරීම් උත්පාදනය කිරීමට පරිගණකයක් භාවිතා කරන වට්ටෝරුවකට සමාන වේ.
වට්ටෝරුවක් වැනි ආකෘතියක්, දත්ත ඇගයීමට සහ දත්තවල ඇති රටා මත පදනම්ව අනාවැකි හෝ විනිශ්චයන් ජනනය කිරීමට උපදෙස් මාලාවක් අනුගමනය කරයි. ආකෘතිය පුහුණු කරන ලද වැඩි දත්ත, එහි අනාවැකි වඩාත් නිවැරදි වේ.
අපට පුහුණු කළ හැක්කේ කුමන ආකාරයේ ආකෘතිද?
අපි බලමු මූලික යන්ත්ර ඉගෙනුම් ආකෘති මොනවාද කියා.
- රේඛීය ප්රතිගාමීත්වය: ආදාන විචල්ය එකකින් හෝ වැඩි ගණනකින් අඛණ්ඩ ඉලක්ක විචල්යයක් පුරෝකථනය කරන ආකෘතියකි.
- ස්නායු ජාල: දත්තවල සංකීර්ණ රටා හඳුනා ගැනීමට ඉගෙන ගත හැකි සම්බන්ධිත නෝඩ් ජාලයක්.
- Decision Trees: අතු බෙදන if-else ප්රකාශ දාමයක් මත ගොඩනැගුණු තීරණ ගැනීමේ ප්රවේශයකි.
- Clustering: සමානත්වය මත පදනම්ව සංසන්දනාත්මක දත්ත ලක්ෂ්ය කාණ්ඩගත කරන ආකෘති සමූහයකි.
- ලොජිස්ටික් ප්රතිගමනය: ඉලක්ක විචල්යයට විභව අගයන් දෙකක් ඇති ද්විමය වර්ගීකරණ ගැටළු සඳහා ආදර්ශයකි.
- Decision Trees: අතු බෙදන if-else ප්රකාශ දාමයක් මත ගොඩනැගුණු තීරණ ගැනීමේ ප්රවේශයකි.
- සසම්භාවී වනාන්තරය: තීරණ ගැනීමේ ගස් රාශියකින් සමන්විත සමූහ ආකෘතියකි. ඒවා වර්ගීකරණය සහ ප්රතිගාමී යෙදුම් සඳහා නිතර භාවිතා වේ.
- K-ළඟම අසල්වැසියන්: පුහුණු කට්ටලයේ k-ළඟම දත්ත ලක්ෂ්ය භාවිතයෙන් ඉලක්ක විචල්යය පුරෝකථනය කරන ආකෘතියකි.
අපගේ ගැටලුව සහ දත්ත කට්ටලය මත පදනම්ව, අපගේ තත්වයට වඩාත්ම ගැලපෙන යන්ත්ර ඉගෙනුම් ආකෘතිය කුමක්දැයි අපි තීරණය කරමු. කෙසේ වෙතත්, අපි පසුව මේ වෙත ආපසු එන්නෙමු. දැන් අපි අපේ ආකෘතිය පුහුණු කිරීමට පටන් ගනිමු. ඔබ දැනටමත් බාගත කර ඇතැයි මම බලාපොරොත්තු වෙමි දත්ත කට්ටලය ඔබ අපගේ ආදර්ශය අනුගමනය කිරීමට කැමති නම්.
එසේම, මම නිර්දේශ කරමි ජුපිටර් නෝට්බුක් ඔබගේ දේශීය යන්ත්රයේ ස්ථාපනය කර එය ඔබගේ යන්ත්ර ඉගෙනුම් ව්යාපෘති සඳහා භාවිතා කරයි.
1: ගැටලුව නිර්වචනය කරන්න
තුළ පළමු අදියර යන්ත්ර ඉගෙනීම පුහුණු කිරීම ආකෘතිය විසඳිය යුතු ගැටළුව නිර්වචනය කරයි. මෙයින් අදහස් වන්නේ ඔබ පුරෝකථනය කිරීමට බලාපොරොත්තු වන විචල්යයන් (ඉලක්ක විචල්යය ලෙස හැඳින්වේ) සහ එම අනාවැකි උත්පාදනය කිරීමට භාවිතා කරන විචල්යයන් (විශේෂාංග හෝ අනාවැකි ලෙස හැඳින්වේ) තෝරා ගැනීමයි.
ඔබ කුමන ආකාරයේ යන්ත්ර ඉගෙනීමේ ගැටලුවක් ආමන්ත්රණය කිරීමට උත්සාහ කරන්නේද (වර්ගීකරණය, ප්රතිගමනය, පොකුරු කිරීම සහ යනාදිය) සහ ඔබේ ආකෘතිය පුහුණු කිරීමට ඔබට රැස් කිරීමට හෝ ලබා ගැනීමට අවශ්ය දත්ත වර්ගයද ඔබ තීරණය කළ යුතුය.
ඔබ භාවිතා කරන මාදිලියේ වර්ගය ඔබ විසඳීමට ඉලක්ක කරන යන්ත්ර ඉගෙනීමේ ගැටලුවේ වර්ගය අනුව තීරණය වේ. වර්ගීකරණය, ප්රතිගමනය සහ පොකුරු ප්රධාන වර්ග තුනයි යන්ත්ර ඉගෙනීමේ අභියෝග. ඔබට විද්යුත් තැපෑලක් අයාචිත තැපෑලක්ද නැද්ද වැනි වර්ගීකරණ විචල්යයක් පුරෝකථනය කිරීමට අවශ්ය වූ විට, ඔබ වර්ගීකරණය භාවිතා කරයි.
නිවසක මිල වැනි අඛණ්ඩ විචල්යයක් පුරෝකථනය කිරීමට ඔබට අවශ්ය වූ විට, ඔබ ප්රතිගාමීත්වය භාවිතා කරයි. සංසන්දනාත්මක දත්ත අයිතම ඒවායේ පොදු බව මත පදනම්ව එකට තැබීමට පොකුරු කිරීම භාවිතා කරයි.
අපගේ උදාහරණය දෙස බැලුවහොත්; අපගේ අභියෝගය වන්නේ පුද්ගලයෙකුගේ ලිංගභේදය සහ වයස අනුව ඔහු කැමති සංගීත ශෛලිය තීරණය කිරීමයි. අපි මෙම උදාහරණය සඳහා පුද්ගලයින් 18 දෙනෙකුගේ දත්ත කට්ටලයක් සහ ඔවුන්ගේ වයස, ස්ත්රී පුරුෂ භාවය සහ ප්රියතම සංගීත විලාසය පිළිබඳ තොරතුරු භාවිතා කරන්නෙමු.
2. දත්ත සකස් කරන්න
ඔබ ගැටලුව සඳහන් කළ පසු, ඔබ ආකෘතිය පුහුණු කිරීම සඳහා දත්ත සකස් කිරීමට අවශ්ය වනු ඇත. මෙය දත්ත පිරිසිදු කිරීම සහ සැකසීම ඇතුළත් වේ. එබැවින්, එය ආකෘතියකින් බව අපට සහතික කළ හැකිය යන්ත්ර ඉගෙනීමේ ඇල්ගොරිතම භාවිතා කළ හැකිය.
මෙයට නැතිවූ අගයන් මකා දැමීම, වර්ගීකරණ දත්ත සංඛ්යාත්මක දත්ත බවට පරිවර්තනය කිරීම, සහ සියලු ලක්ෂණ එකම පරිමාණයේ ඇති බව සහතික කිරීම සඳහා දත්ත පරිමාණය කිරීම හෝ සාමාන්යකරණය කිරීම වැනි ක්රියාකාරකම් ඇතුළත් විය හැකිය.
උදාහරණයක් ලෙස, ඔබ නැතිවූ අගයන් මකා දමන ආකාරය මෙයයි:
import pandas as pd
# Load the data into a pandas DataFrame
data = pd.read_csv('data.csv')
# Check for missing values
print(data.isnull().sum())
# Drop rows with missing values
data.dropna(inplace=True)
# Check that all missing values have been removed
print(data.isnull().sum())
කුඩා සටහන: o " පේළියේimport pandas as pd",
අපි Pandas පුස්තකාලය ආනයනය කර එහි කාර්යයන් සහ වස්තූන් පසුව කේතයේ සඳහන් කිරීම පහසු කිරීම සඳහා "pd" යන අන්වර්ථ නාමය පවරමු.
Pandas යනු දත්ත හැසිරවීම සහ විශ්ලේෂණය සඳහා Python සඳහා ප්රසිද්ධ මොඩියුලයකි, විශේෂයෙන් ව්යුහගත හෝ වගු දත්ත සමඟ වැඩ කරන විට.
සංගීත ප්රභේද නිර්ණය කිරීමේ අපගේ උදාහරණයේ. අපි මුලින්ම දත්ත කට්ටලය ආනයනය කරන්නෙමු. මම එය music.csv ලෙස නම් කර ඇත, කෙසේ වෙතත්, ඔබට එය ඔබට අවශ්ය පරිදි නම් කළ හැකිය.
යන්ත්ර ඉගෙනුම් ආකෘතියක් පුහුණු කිරීම සඳහා දත්ත සකස් කිරීම සඳහා, අපි එය ගුණාංග (වයස සහ ස්ත්රී පුරුෂ භාවය) සහ අරමුණු (සංගීත ප්රභේදය) ලෙස බෙදා ඇත.
අපගේ ආකෘතියේ කාර්ය සාධනය තක්සේරු කිරීමට සහ අධික ලෙස ගැලපීම වළක්වා ගැනීමට අපි අමතර වශයෙන් දත්ත 80:20 පුහුණු සහ පරීක්ෂණ කට්ටලවලට බෙදන්නෙමු.
# Import necessary libraries
import pandas as pd
from sklearn.model_selection import train_test_split
# Load data from CSV file/code>
music_data = pd.read_csv('music.csv')
# Split data into features and target
X = music_data.drop(columns=['genre'])
y = music_data['genre']
# Split data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
3. යන්ත්ර ඉගෙනීමේ ආකෘතියක් තෝරන්න.
ඔබ දත්ත සකස් කිරීමෙන් පසු, ඔබ ඔබේ කාර්යයට ගැලපෙන යන්ත්ර ඉගෙනුම් ආකෘතියක් තෝරාගත යුතුය.
තීරන ගස්, ලොජිස්ටික් ප්රතිගමනය, ආධාරක දෛශික යන්ත්ර, ස්නායු ජාල සහ වෙනත් අය වැනි ඇල්ගොරිතම කිහිපයක් තෝරා ගත හැකිය. ඔබ තෝරන ඇල්ගොරිතම ඔබ පිළිතුරු දීමට උත්සාහ කරන ගැටළු වර්ගය, ඔබ සතුව ඇති දත්ත වර්ගය සහ ඔබේ කාර්ය සාධන අවශ්යතා අනුව තීරණය වේ.
අපි වර්ගීකරණ ගැටලුවක් සමඟ (වර්ගගත දත්ත පුරෝකථනය කරමින්) වැඩ කරන නිසා අපි මෙම උදාහරණය සඳහා තීරණ ගස් වර්ගීකාරකයක් භාවිතා කරන්නෙමු.
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
Decision Tree Classifier ක්රියා කරන ආකාරය පිළිබඳ දෘශ්යකරණයක් මෙන්න:
4. ආකෘතිය පුහුණු කරන්න
ඔබ පිළිගත හැකි යන්ත්ර ඉගෙනීමේ ඇල්ගොරිතමයක් තෝරා ගත් විට ඔබට ආකෘතිය පුහුණු කිරීම ආරම්භ කළ හැක. නැවුම්, පෙර නොදුටු දත්ත පිළිබඳ පුරෝකථනය කරන්නේ කෙසේද යන්න පිළිබඳ ඇල්ගොරිතම දැනුවත් කිරීම සඳහා කලින් ජනනය කළ දත්ත භාවිතා කිරීම මෙයට ඇතුළත් වේ.
ඇල්ගොරිතම එහි පුරෝකථනය කළ අගයන් සහ පුහුණු දත්තවල සැබෑ අගයන් අතර වෙනස අවම කිරීම සඳහා පුහුණුව අතරතුර එහි අභ්යන්තර පරාමිතීන් වෙනස් කරනු ඇත. පුහුණුව සඳහා භාවිතා කරන දත්ත ප්රමාණය මෙන්ම ඇල්ගොරිතමයේ නිශ්චිත පරාමිති සියල්ලම ප්රතිඵල ආකෘතියේ නිරවද්යතාවයට බලපෑමක් ඇති කළ හැකිය.
අපගේ නිශ්චිත උදාහරණයේ දී, දැන් අපි ක්රමයක් තීරණය කර ඇති බැවින්, අපට පුහුණු දත්ත සමඟ අපගේ ආකෘතිය පුහුණු කළ හැකිය.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. ආකෘතිය ඇගයීම
ආකෘතිය පුහුණු කිරීමෙන් පසුව, එය නිවැරදි සහ විශ්වාසනීය බව සහතික කිරීම සඳහා නව දත්ත මත එය ඇගයීමට ලක් කළ යුතුය. පුහුණුව අතරතුර භාවිතා නොකළ දත්ත සමඟ ආකෘතිය පරීක්ෂා කිරීම සහ එහි ප්රක්ෂේපිත අගයන් පරීක්ෂණ දත්තවල සැබෑ අගයන් සමඟ සංසන්දනය කිරීම මෙයට ඇතුළත් වේ.
මෙම සමාලෝචනයට ඕනෑවට වඩා ගැළපීම හෝ නොගැලපීම වැනි ඕනෑම ආදර්ශ දෝෂ හඳුනා ගැනීමට සහය විය හැකි අතර, අවශ්ය විය හැකි ඕනෑම සියුම් සුසර කිරීමකට මඟ පෑදිය හැක.
පරීක්ෂණ දත්ත භාවිතා කරමින්, අපි අපගේ ආකෘතියේ නිවැරදි බව තක්සේරු කරමු.
# Import necessary libraries
from sklearn.metrics import accuracy_score
# Predict the music genre for the test data
predictions = model.predict(X_test)
# Evaluate the model's accuracy
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: ", accuracy)
නිරවද්යතා ලකුණු දැනට එතරම් නරක නැත. 🙂 ඔබේ නිරවද්යතා ලකුණු වැඩි දියුණු කිරීමට, ඔබට සැම විටම දත්ත වැඩිපුර පිරිසිදු කිරීමට හෝ වැඩිම ලකුණු ලබා දෙන්නේ කුමන එකදැයි බැලීමට විවිධ යන්ත්ර ඉගෙනුම් ආකෘති උත්සාහ කිරීමට හැකිය.
6. ආකෘතිය මනාව සකස් කරන්න
ආකෘතියේ කාර්යක්ෂමතාව ප්රමාණවත් නොවේ නම්, ඔබට විවිධ ඇල්ගොරිතම පරාමිතීන් වෙනස් කිරීමෙන් හෝ සම්පූර්ණයෙන්ම නව ඇල්ගොරිතම අත්හදා බැලීමෙන් එය මනාව සකස් කළ හැක.
මෙම ක්රියා පටිපාටියට විකල්ප ඉගෙනුම් අනුපාත සමඟ අත්හදා බැලීම, විධිමත් කිරීමේ සැකසුම් වෙනස් කිරීම හෝ ස්නායුක ජාලයක සැඟවුණු ස්ථර ගණන හෝ ප්රමාණය වෙනස් කිරීම ඇතුළත් විය හැකිය.
7. ආකෘතිය භාවිතා කරන්න
ඔබ ආකෘතියේ කාර්ය සාධනය ගැන සතුටු වූ පසු, ඔබට නව දත්ත පිළිබඳ අනාවැකි ජනනය කිරීමට එය භාවිතා කිරීම ආරම්භ කළ හැක.
මෙය ආකෘතියට නැවුම් දත්ත සංග්රහ කිරීම සහ එම දත්ත පිළිබඳ අනාවැකි ජනනය කිරීමට ආකෘතියේ උගත් පරාමිති භාවිතා කිරීම හෝ ආකෘතිය පුළුල් යෙදුමකට හෝ පද්ධතියකට ඒකාබද්ධ කිරීම ඇතුළත් විය හැකිය.
නව දත්තවල නිරවද්යතාවය පිළිබඳව අප සතුටු වූ පසු එහි අනාවැකි ජනනය කිරීමට අපට අපගේ ආකෘතිය භාවිත කළ හැක. ඔබට ස්ත්රී පුරුෂ භාවය සහ වයස පිළිබඳ විවිධ අගයන් උත්සාහ කළ හැකිය.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
අවසන් කරන්න
අපි අපේ පළමු යන්ත්ර ඉගෙනුම් ආකෘතිය පුහුණු කර අවසන්.
ඔබට එය ප්රයෝජනවත් වී ඇතැයි මම බලාපොරොත්තු වෙමි. ඔබට දැන් Linear Regression හෝ Random Forest වැනි විවිධ යන්ත්ර ඉගෙනුම් ආකෘති භාවිතා කිරීමට උත්සාහ කළ හැක.
බොහෝ දත්ත කට්ටල සහ අභියෝග ඇත කග්ගල් ඔබ ඔබේ කේතීකරණය සහ යන්ත්ර ඉගෙනීම පිළිබඳ අවබෝධය වැඩි දියුණු කිරීමට කැමති නම්.
ඔබමයි