நீங்கள் தொடங்க விரும்புகிறீர்களா இயந்திர கற்றல்?
முழு தொடக்கநிலையாளர்களுக்கான எளிய மற்றும் எளிதான பயிற்சியை நான் உருவாக்கியுள்ளேன். ஒன்றாக, இயந்திர கற்றல் மாதிரியைப் பயிற்றுவிப்பதற்கான அடிப்படை படிகளை நாங்கள் மேற்கொள்வோம்.
ஒரு மாதிரியைப் பயிற்றுவிப்பதற்கான படிகளை ஒவ்வொன்றாக விளக்கும் போது, இயந்திரக் கற்றல் பிரச்சனைக்கான மிக அடிப்படையான உதாரணத்தையும் தருகிறேன். எனவே, நீங்கள் பின்தொடர விரும்பினால், இதிலிருந்து இந்த மாதிரி தரவுத் தொகுப்பைப் பதிவிறக்கலாம் இணைப்பு.
மெஷின் லேர்னிங்கைத் தொடங்க உங்களுக்கு உதவும் மாதிரி தரவுத்தொகுப்பு இது.
வெவ்வேறு வயது மற்றும் பாலின மக்களின் 18 மதிப்புகள் எங்களிடம் உள்ளன, அவை அவர்களுக்குப் பிடித்த இசையை வரையறுக்கின்றன. "வயது" மற்றும் "பாலினம்" ஆகியவற்றின் அம்சங்களைப் பயன்படுத்துவதன் மூலம், எந்த இசை வகை அவர்களுக்குப் பிடித்தமானது என்பதை யூகிக்க முயற்சிப்போம்.
குறிப்பு: இந்தத் தரவுத்தொகுப்பில் பெண் மற்றும் ஆண் என பாலினங்களுக்கு 1 மற்றும் 0 ஒதுக்கப்பட்டுள்ளன.
இருப்பினும், நீங்கள் முன்மாதிரியைப் பின்பற்ற விரும்பவில்லை என்றால், அதுவும் நன்றாக இருக்கிறது. இந்த படிகள் அனைத்தையும் நான் விரிவாக விளக்குவேன். எனவே, உள்ளே நுழைவோம்!
தெரிந்து கொள்ள வேண்டிய முதல் விஷயங்கள்
ஒரு மாதிரியைப் பயிற்றுவிப்பதற்கான படிகளுக்குச் செல்வதற்கு முன், சில புள்ளிகளை தெளிவுபடுத்துவோம். இயந்திர கற்றல் என்பது ஒரு செயற்கை நுண்ணறிவு தரவிலிருந்து கற்றுக்கொள்ளக்கூடிய வழிமுறைகளை உருவாக்குவதில் கவனம் செலுத்தும் ஒழுக்கம்.
இதைச் செய்ய, இயந்திர கற்றல் மாதிரிகள் ஒரு தரவுத்தொகுப்பில் பயிற்சியளிக்கப்படுகின்றன, இது மாதிரிக்கு சரியான கணிப்புகளை எவ்வாறு செய்வது அல்லது வகைப்பாடுகள் புதிய, முன்பு அறியப்படாத தரவுகளில்.
எனவே, இந்த மாதிரிகள் என்ன? ஏ இயந்திர கற்றல் மாதிரி தரவு கணிப்புகள் அல்லது தேர்வுகளை உருவாக்க கணினி பயன்படுத்தும் செய்முறையைப் போன்றது.
ஒரு மாதிரி, ஒரு செய்முறையைப் போன்றது, தரவை மதிப்பிடுவதற்கும், தரவுகளில் காணப்படும் வடிவங்களின் அடிப்படையில் கணிப்புகள் அல்லது தீர்ப்புகளை உருவாக்குவதற்கும் வழிமுறைகளின் தொகுப்பைப் பின்பற்றுகிறது. மாடல் எவ்வளவு தரவு பயிற்சியளிக்கப்படுகிறதோ, அவ்வளவு துல்லியமாக அதன் கணிப்புகள் இருக்கும்.
என்ன மாதிரியான மாடல்களை நாம் பயிற்சி செய்யலாம்?
அடிப்படை இயந்திர கற்றல் மாதிரிகள் என்னவென்று பார்ப்போம்.
- நேரியல் பின்னடைவு: ஒன்று அல்லது அதற்கு மேற்பட்ட உள்ளீட்டு மாறிகளிலிருந்து தொடர்ச்சியான இலக்கு மாறியைக் கணிக்கும் மாதிரி.
- நரம்பியல் வலையமைப்புகள்: தரவுகளில் சிக்கலான வடிவங்களைக் கண்டறிய கற்றுக்கொள்ளக்கூடிய இணைக்கப்பட்ட முனைகளின் நெட்வொர்க்.
- முடிவெடுக்கும் மரங்கள்: ஒரு முடிவெடுக்கும் அணுகுமுறை, பிரித்தல் என்றால்-வேறு அறிக்கைகளின் சங்கிலியில் கட்டமைக்கப்பட்டுள்ளது.
- கிளஸ்டரிங்: ஒற்றுமையின் அடிப்படையில் ஒப்பிடக்கூடிய தரவுப் புள்ளிகளைக் குழுவாக்கும் மாதிரிகளின் தொகுப்பு.
- லாஜிஸ்டிக் பின்னடைவு: இலக்கு மாறி இரண்டு சாத்தியமான மதிப்புகளைக் கொண்டிருக்கும் பைனரி வகைப்பாடு சிக்கல்களுக்கான மாதிரி.
- முடிவெடுக்கும் மரங்கள்: ஒரு முடிவெடுக்கும் அணுகுமுறை, பிரித்தல் என்றால்-வேறு அறிக்கைகளின் சங்கிலியில் கட்டமைக்கப்பட்டுள்ளது.
- ரேண்டம் ஃபாரஸ்ட்: பல முடிவு மரங்களைக் கொண்ட ஒரு குழும மாதிரி. அவை அடிக்கடி வகைப்படுத்தல் மற்றும் பின்னடைவு பயன்பாடுகளுக்குப் பயன்படுத்தப்படுகின்றன.
- K-Nearest Neighbours: பயிற்சித் தொகுப்பில் உள்ள k-nearest தரவுப் புள்ளிகளைப் பயன்படுத்தி இலக்கு மாறியைக் கணிக்கும் மாதிரி.
எங்கள் சிக்கல் மற்றும் தரவுத்தொகுப்பைப் பொறுத்து, எந்த இயந்திர கற்றல் மாதிரி நமது சூழ்நிலைக்கு மிகவும் பொருத்தமானது என்பதை நாங்கள் தீர்மானிக்கிறோம். இருப்பினும், நாங்கள் இதற்குப் பிறகு வருவோம். இப்போது, எங்கள் மாதிரியைப் பயிற்றுவிப்போம். நீங்கள் ஏற்கனவே பதிவிறக்கம் செய்துள்ளீர்கள் என்று நம்புகிறேன் தரவுத்தொகுப்பைக் நீங்கள் எங்கள் முன்மாதிரியைப் பின்பற்ற விரும்பினால்.
மேலும், நான் பரிந்துரைக்கிறேன் ஜூபிட்டர் நோட்புக் உங்கள் உள்ளூர் கணினியில் நிறுவப்பட்டு, உங்கள் இயந்திர கற்றல் திட்டங்களுக்கு அதைப் பயன்படுத்துகிறது.
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())
சிறிய குறிப்பு: ஓ " என்ற வரியில்import pandas as pd",
நாங்கள் பாண்டாஸ் நூலகத்தை இறக்குமதி செய்து, அதன் செயல்பாடுகள் மற்றும் பொருட்களை பின்னர் குறியீட்டில் குறிப்பிடுவதை எளிதாக்குவதற்கு "pd" என்ற மாற்றுப்பெயரை ஒதுக்குகிறோம்.
Pandas என்பது பைத்தானின் தரவு கையாளுதல் மற்றும் பகுப்பாய்வுக்கான நன்கு அறியப்பட்ட தொகுதியாகும், குறிப்பாக கட்டமைக்கப்பட்ட அல்லது அட்டவணை தரவுகளுடன் பணிபுரியும் போது.
இசை வகைகளைத் தீர்மானிப்பதற்கான எங்கள் எடுத்துக்காட்டில். முதலில் தரவுத்தொகுப்பை இறக்குமதி செய்வோம். நான் இதற்கு 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
டிசிஷன் ட்ரீ வகைப்படுத்தி எவ்வாறு செயல்படுகிறது என்பதற்கான காட்சிப்படுத்தல் இங்கே:
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)
மடக்கு
எங்களின் முதல் இயந்திர கற்றல் மாதிரியைப் பயிற்றுவித்துவிட்டோம்.
உங்களுக்கு பயனுள்ளதாக இருக்கும் என்று நம்புகிறேன். லீனியர் ரிக்ரஷன் அல்லது ரேண்டம் ஃபாரஸ்ட் போன்ற பல்வேறு இயந்திர கற்றல் மாதிரிகளைப் பயன்படுத்தி இப்போது முயற்சி செய்யலாம்.
பல தரவுத்தொகுப்புகள் மற்றும் சவால்கள் உள்ளன Kaggle உங்கள் குறியீட்டு முறை மற்றும் இயந்திர கற்றல் பற்றிய புரிதலை மேம்படுத்த விரும்பினால்.
ஒரு பதில் விடவும்