के तपाईं सुरु गर्न चाहनुहुन्छ मेशिन सिकाइ?
मैले पूर्ण शुरुआतीहरूको लागि सरल र सजिलो ट्यूटोरियल सिर्जना गरेको छु। सँगै, हामी मेसिन लर्निङ मोडेललाई प्रशिक्षण दिने आधारभूत चरणहरूमा जानेछौं।
एक-एक गरी एउटा मोडेललाई तालिम दिने चरणहरू व्याख्या गर्दा, म मेसिन-लर्निङ समस्याको पनि एक धेरै आधारभूत उदाहरण दिनेछु। त्यसोभए, यदि तपाइँ पछ्याउन चाहनुहुन्छ भने, तपाइँ यसबाट यो नमूना डेटा सेट डाउनलोड गर्न सक्नुहुन्छ लिङ्क.
यो मेसिन लर्निङ सुरु गर्न मद्दत गर्नको लागि एउटा नमूना डेटासेट मात्र हो।
हामीसँग विभिन्न उमेर र लिङ्गका व्यक्तिहरूको 18 मानहरू छन् जसमा तिनीहरूको मनपर्ने संगीत परिभाषित छ। प्रयोग गरेर, "उमेर" र "लिंग" को विशेषताहरू हामी अनुमान लगाउन प्रयास गर्नेछौं कि कुन विधाको संगीत उनीहरूको मनपर्ने हो।
नोट: 1 र 0 लाई यस डेटासेटमा महिला र पुरुषको रूपमा लिङ्गलाई तोकिएको छ।
यद्यपि, यदि तपाइँ उदाहरण पछ्याउन चाहनुहुन्न भने, यो पनि पूर्ण रूपमा ठीक छ। म यी सबै चरणहरू विस्तृत रूपमा व्याख्या गर्नेछु। त्यसोभए, भित्र डुबौं!
जान्नको लागि पहिलो कुराहरू
एक मोडेल प्रशिक्षण को चरण मा जानु अघि, केहि बिन्दुहरु स्पष्ट गरौं। मेसिन लर्निङ एउटा हो कृत्रिम बुद्धि डेटाबाट सिक्न सक्ने एल्गोरिदमहरू विकास गर्नमा केन्द्रित हुने अनुशासन।
यसका लागि, मेसिन लर्निङ मोडेलहरूलाई डेटासेटमा तालिम दिइन्छ जसले मोडेललाई सही भविष्यवाणी कसरी गर्ने वा वर्गीकरण ताजा, पहिले अज्ञात डाटामा।
त्यसोभए, यी मोडेलहरू के हुन्? ए मेशिन शिक्षा मोडेल एक नुस्खा जस्तै छ जुन कम्प्युटरले डेटा भविष्यवाणी वा छनौटहरू उत्पन्न गर्न प्रयोग गर्दछ।
एक मोडेल, एक नुस्खा जस्तै, डेटा मूल्याङ्कन गर्न निर्देशनहरूको सेट पछ्याउँछ र डेटामा फेला परेका ढाँचाहरूमा आधारित भविष्यवाणी वा निर्णयहरू उत्पन्न गर्दछ। मोडेललाई जति धेरै डाटामा तालिम दिइन्छ, त्यसको भविष्यवाणीहरू त्यति नै सही हुन्छन्।
हामी कस्तो प्रकारका मोडेलहरू तालिम दिन सक्छौं?
आधारभूत मेसिन लर्निङ मोडेलहरू के हो हेरौं।
- रैखिक प्रतिगमन: एक मोडेल जसले एक वा धेरै इनपुट चरहरूबाट निरन्तर लक्ष्य चरको भविष्यवाणी गर्दछ।
- तंत्रिका नेटवर्क: लिङ्क गरिएको नोडहरूको नेटवर्क जसले डाटामा जटिल ढाँचाहरू पत्ता लगाउन सिक्न सक्छ।
- निर्णय रूखहरू: यदि-अन्य बयानहरू शाखाहरूको श्रृंखलामा निर्मित निर्णय गर्ने दृष्टिकोण।
- क्लस्टरिङ: समानताको आधारमा तुलनात्मक डेटा बिन्दुहरूलाई समूह बनाउने मोडेलहरूको सेट।
- लजिस्टिक रिग्रेसन: बाइनरी वर्गीकरण समस्याहरूको लागि एउटा मोडेल जसमा लक्ष्य चरको दुई सम्भावित मानहरू छन्।
- निर्णय रूखहरू: यदि-अन्य बयानहरू शाखाहरूको श्रृंखलामा निर्मित निर्णय गर्ने दृष्टिकोण।
- अनियमित वन: धेरै निर्णय रूखहरू मिलेर बनेको एउटा टुक्रा मोडेल। तिनीहरू प्राय: वर्गीकरण र रिग्रेसन अनुप्रयोगहरूको लागि प्रयोग गरिन्छ।
- K-नजीकको छिमेकीहरू: तालिम सेटमा k-नजीकको डेटा पोइन्टहरू प्रयोग गरेर लक्ष्य चरको भविष्यवाणी गर्ने मोडेल।
हाम्रो समस्या र डेटासेटको आधारमा, हामी कुन मेसिन लर्निङ मोडेलले हाम्रो परिस्थितिमा सबैभन्दा बढी फिट हुने निर्णय गर्छौं। यद्यपि, हामी यो पछि फर्केर आउनेछौं। अब, हाम्रो मोडेल प्रशिक्षण सुरु गरौं। मलाई आशा छ कि तपाईंले पहिले नै डाउनलोड गर्नुभएको छ डाटासेट यदि तपाईं हाम्रो उदाहरण पछ्याउन चाहनुहुन्छ भने।
साथै, म राख्न सिफारिस गर्दछु Jupyter नोटबुक तपाइँको स्थानीय मेसिनमा स्थापना गरिएको छ र तपाइँको मेसिन लर्निंग परियोजनाहरूको लागि प्रयोग गर्दै।
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 डेटा हेरफेर र विश्लेषणको लागि 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
यहाँ निर्णय रूख वर्गीकरणकर्ताले कसरी काम गर्दछ भन्ने एक दृश्य छ:
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)
शुद्धता स्कोर अहिलेको लागि त्यति खराब छैन। 🙂 आफ्नो शुद्धता स्कोर सुधार गर्न, तपाईले जहिले पनि डेटा थप सफा गर्न सक्नुहुन्छ वा कुनले उच्चतम स्कोर दिन्छ भनेर हेर्न विभिन्न मेसिन-लर्निङ मोडेलहरू प्रयास गर्न सक्नुहुन्छ।
६. मोडेललाई फाइन-ट्यून गर्नुहोस्
यदि मोडेलको दक्षता पर्याप्त छैन भने, तपाईं विभिन्न एल्गोरिदम प्यारामिटरहरू परिवर्तन गरेर वा नयाँ एल्गोरिदमहरू पूर्ण रूपमा प्रयोग गरेर यसलाई राम्रोसँग मिलाउन सक्नुहुन्छ।
यस प्रक्रियामा वैकल्पिक सिकाइ दरहरू प्रयोग गर्ने, नियमितीकरण सेटिङहरू परिमार्जन गर्ने, वा न्यूरल नेटवर्कमा लुकेका तहहरूको संख्या वा आकार परिवर्तन गर्ने समावेश हुन सक्छ।
7. मोडेल प्रयोग गर्नुहोस्
एकचोटि तपाइँ मोडेलको कार्यसम्पादनसँग सन्तुष्ट भएपछि, तपाइँ यसलाई नयाँ डेटामा भविष्यवाणीहरू उत्पन्न गर्न प्रयोग गर्न सुरु गर्न सक्नुहुन्छ।
यसले मोडेलमा ताजा डाटा खुवाउन र त्यस डाटामा भविष्यवाणीहरू उत्पन्न गर्न मोडेलको सिकेका प्यारामिटरहरू प्रयोग गर्न वा फराकिलो अनुप्रयोग वा प्रणालीमा मोडेललाई एकीकृत गर्न समावेश गर्न सक्छ।
हामीले हाम्रो मोडेललाई नयाँ डेटामा भविष्यवाणीहरू उत्पन्न गर्न प्रयोग गर्न सक्छौं जब हामी यसको शुद्धतासँग खुसी छौं। तपाईंले लिङ्ग र उमेरका विभिन्न मानहरू प्रयास गर्न सक्नुहुन्छ।
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
लिपि गर्नुहोस्
हामीले हाम्रो पहिलो मेसिन लर्निङ मोडेलको तालिम पूरा गरेका छौं।
मलाई आशा छ कि तपाईंले यो उपयोगी पाउनुभयो। तपाईं अब लिनियर रिग्रेसन वा रैन्डम फरेस्ट जस्ता विभिन्न मेसिन लर्निङ मोडेलहरू प्रयोग गरी हेर्न सक्नुहुन्छ।
त्यहाँ धेरै डाटासेट र चुनौतीहरू छन् Kaggle यदि तपाईं आफ्नो कोडिङ र मेसिन लर्निङको बुझाइ सुधार गर्न चाहनुहुन्छ भने।
जवाफ छाड्नुस्