आपण यासह प्रारंभ करू इच्छिता मशीन शिक्षण?
मी पूर्ण नवशिक्यांसाठी एक साधे आणि सोपे ट्यूटोरियल तयार केले आहे. एकत्रितपणे, आम्ही मशीन लर्निंग मॉडेलला प्रशिक्षण देण्याच्या मूलभूत चरणांवर जाऊ.
मॉडेलला प्रशिक्षण देण्याच्या पायऱ्या एकामागून एक समजावून सांगताना, मी मशीन-लर्निंग समस्येचे एक अगदी मूलभूत उदाहरण देखील देईन. त्यामुळे, जर तुम्हाला फॉलो करायचे असेल, तर तुम्ही यावरून हा नमुना डेटा सेट डाउनलोड करू शकता दुवा.
तुम्हाला मशीन लर्निंग सुरू करण्यात मदत करण्यासाठी हा फक्त नमुना डेटासेट आहे.
आमच्याकडे वेगवेगळ्या वयोगटातील आणि लिंगांच्या लोकांची 18 मूल्ये आहेत ज्यात त्यांचे आवडते संगीत परिभाषित केले आहे. “वय” आणि “लिंग” ची वैशिष्ट्ये वापरून, आम्ही संगीताचा कोणता प्रकार त्यांचा आवडता आहे याचा अंदाज लावण्याचा प्रयत्न करू.
टीप: या डेटासेटमध्ये 1 आणि 0 लिंगांना स्त्री आणि पुरुष म्हणून नियुक्त केले आहेत.
तथापि, आपण उदाहरणाचे अनुसरण करू इच्छित नसल्यास, ते देखील उत्तम आहे. मी या सर्व चरणांचे तपशीलवार वर्णन करेन. तर, चला आत जाऊया!
जाणून घेण्यासाठी प्रथम गोष्टी
मॉडेलला प्रशिक्षण देण्याच्या पायऱ्यांमध्ये जाण्यापूर्वी, काही मुद्दे स्पष्ट करूया. मशीन लर्निंग म्हणजे एक कृत्रिम बुद्धिमत्ता डेटामधून शिकू शकणारे अल्गोरिदम विकसित करण्यावर लक्ष केंद्रित करणारी शिस्त.
हे करण्यासाठी, मशीन लर्निंग मॉडेलना डेटासेटवर प्रशिक्षित केले जाते जे मॉडेलला योग्य अंदाज कसा लावायचा किंवा वर्गवार्या ताज्या, पूर्वी अज्ञात डेटावर.
तर, हे मॉडेल काय आहेत? ए मशीन लर्निंग मॉडेल संगणक डेटा अंदाज किंवा निवडी व्युत्पन्न करण्यासाठी वापरत असलेल्या रेसिपीसारखे आहे.
मॉडेल, रेसिपीप्रमाणे, डेटाचे मूल्यमापन करण्यासाठी आणि डेटामध्ये आढळलेल्या नमुन्यांच्या आधारे अंदाज किंवा निर्णय तयार करण्यासाठी सूचनांच्या संचाचे अनुसरण करते. मॉडेलला जितका अधिक डेटा प्रशिक्षित केला जाईल, तितके त्याचे अंदाज अधिक अचूक होतील.
आम्ही कोणत्या प्रकारचे मॉडेल प्रशिक्षित करू शकतो?
मूलभूत मशीन लर्निंग मॉडेल्स काय आहेत ते पाहू या.
- रेखीय प्रतिगमन: एक मॉडेल जे एक किंवा अधिक इनपुट व्हेरिएबल्समधून सतत लक्ष्य व्हेरिएबलचा अंदाज लावते.
- न्यूरल नेटवर्क: लिंक्ड नोड्सचे नेटवर्क जे डेटामधील क्लिष्ट पॅटर्न शोधण्यास शिकू शकते.
- डिसिजन ट्रीज: एक निर्णय घेण्याचा दृष्टीकोन ब्रँचिंग इफ-एलसे स्टेटमेंटच्या साखळीवर बांधला जातो.
- क्लस्टरिंग: मॉडेल्सचा एक संच जो समानतेच्या आधारावर तुलना करण्यायोग्य डेटा पॉइंट्सचे गट करतो.
- लॉजिस्टिक रिग्रेशन: बायनरी वर्गीकरण समस्यांसाठी एक मॉडेल ज्यामध्ये लक्ष्य व्हेरिएबलची दोन संभाव्य मूल्ये आहेत.
- डिसिजन ट्रीज: एक निर्णय घेण्याचा दृष्टीकोन ब्रँचिंग इफ-एलसे स्टेटमेंटच्या साखळीवर बांधला जातो.
- यादृच्छिक वन: असंख्य निर्णय वृक्षांनी बनलेले एक जोडलेले मॉडेल. ते वारंवार वर्गीकरण आणि प्रतिगमन अनुप्रयोगांसाठी वापरले जातात.
- 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())
छोटी टीप: ओळीत "import pandas as pd",
आम्ही पांडा लायब्ररी आयात करतो आणि नंतर कोडमध्ये त्याची कार्ये आणि ऑब्जेक्ट्सचा संदर्भ घेणे सोपे करण्यासाठी त्याला उपनाव "pd" नियुक्त करतो.
डेटा मॅनिपुलेशन आणि विश्लेषणासाठी Python साठी 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)
वर ओघ वळवा
आम्ही आमच्या पहिल्या मशीन लर्निंग मॉडेलचे प्रशिक्षण पूर्ण केले आहे.
मला आशा आहे की तुम्हाला ते उपयुक्त वाटले असेल. तुम्ही आता लिनियर रीग्रेशन किंवा रँडम फॉरेस्ट सारखे भिन्न मशीन लर्निंग मॉडेल वापरून पाहू शकता.
मध्ये अनेक डेटासेट आणि आव्हाने आहेत कागले जर तुम्हाला तुमची कोडिंग आणि मशीन लर्निंगची समज सुधारायची असेल.
प्रत्युत्तर द्या