តើអ្នកចង់ចាប់ផ្តើមជាមួយ ការរៀនម៉ាស៊ីន?
ខ្ញុំបានបង្កើតការបង្រៀនដ៏សាមញ្ញ និងងាយស្រួលសម្រាប់អ្នកចាប់ផ្តើមដំបូងពេញលេញ។ រួមគ្នា យើងនឹងឆ្លងកាត់ជំហានជាមូលដ្ឋាននៃការបណ្តុះបណ្តាលគំរូរៀនម៉ាស៊ីន។
ខណៈពេលដែលការពន្យល់អំពីជំហាននៃការបណ្តុះបណ្តាលគំរូម្តងមួយៗ ខ្ញុំនឹងផ្តល់ឧទាហរណ៍ជាមូលដ្ឋាននៃបញ្ហាការរៀនម៉ាស៊ីនផងដែរ។ ដូច្នេះ ប្រសិនបើអ្នកចង់ធ្វើតាម អ្នកអាចទាញយកសំណុំទិន្នន័យគំរូនេះពីនេះ។ តំណភ្ជាប់នេះ .
នេះគ្រាន់តែជាសំណុំទិន្នន័យគំរូ ដើម្បីជួយអ្នកចាប់ផ្តើមជាមួយនឹងការរៀនម៉ាស៊ីន។
យើងមានតម្លៃ 18 នៃមនុស្សដែលមានអាយុ និងភេទខុសៗគ្នា ដែលកំណត់តន្ត្រីដែលពួកគេចូលចិត្ត។ តាមរយៈការប្រើប្រាស់ លក្ខណៈពិសេសនៃ "អាយុ" និង "ភេទ" យើងនឹងព្យាយាមទាយថាតើតន្ត្រីប្រភេទណាដែលពួកគេចូលចិត្ត។
ចំណាំ៖ 1 និង 0 ត្រូវបានកំណត់ទៅភេទជាស្ត្រី និងបុរសក្នុងសំណុំទិន្នន័យនេះ។
ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើអ្នកមិនចង់ធ្វើតាមគំរូទេ វាក៏ល្អឥតខ្ចោះដែរ។ ខ្ញុំនឹងពន្យល់លម្អិតអំពីជំហានទាំងនេះ។ អញ្ចឹងតោះចូលទៅ!
រឿងដំបូងដែលត្រូវដឹង
មុននឹងចូលទៅក្នុងជំហាននៃការបណ្តុះបណ្តាលគំរូមួយ សូមបញ្ជាក់ចំណុចមួយចំនួន។ ការរៀនម៉ាស៊ីនគឺមួយ។ ក្លែងបន្លំ វិន័យដែលផ្តោតលើការអភិវឌ្ឍន៍ algorithms ដែលអាចរៀនពីទិន្នន័យ។
ដើម្បីធ្វើដូច្នេះបាន គំរូសិក្សាម៉ាស៊ីនត្រូវបានបណ្តុះបណ្តាលលើសំណុំទិន្នន័យដែលបង្រៀនគំរូពីរបៀបបង្កើតការទស្សន៍ទាយត្រឹមត្រូវ ឬ ចំណាត់ថ្នាក់ នៅលើទិន្នន័យថ្មី ដែលមិនស្គាល់ពីមុន។
ដូច្នេះតើម៉ូដែលទាំងនេះជាអ្វី? ក គំរូរៀនម៉ាស៊ីន គឺស្រដៀងទៅនឹងរូបមន្តដែលកុំព្យូទ័រប្រើដើម្បីបង្កើតការព្យាករណ៍ទិន្នន័យ ឬជម្រើស។
គំរូមួយ ដូចជារូបមន្តមួយ ធ្វើតាមការណែនាំមួយ ដើម្បីវាយតម្លៃទិន្នន័យ និងបង្កើតការព្យាករណ៍ ឬការវិនិច្ឆ័យដោយផ្អែកលើគំរូដែលមាននៅក្នុងទិន្នន័យ។ ទិន្នន័យកាន់តែច្រើនដែលគំរូត្រូវបានបណ្តុះបណ្តាល នោះការព្យាករណ៍របស់វាកាន់តែមានភាពត្រឹមត្រូវ។
តើម៉ូដែលប្រភេទណាដែលយើងអាចហ្វឹកហាត់?
តោះមើលអ្វីដែលជាគំរូនៃការរៀនម៉ាស៊ីនមូលដ្ឋាន។
- តំរែតំរង់លីនេអ៊ែរ៖ គំរូដែលព្យាករណ៍អថេរគោលដៅបន្តពីអថេរបញ្ចូលមួយ ឬច្រើន។
- បណ្តាញសរសៃប្រសាទ៖ បណ្តាញនៃថ្នាំងដែលបានតភ្ជាប់ដែលអាចរៀនរកឃើញលំនាំស្មុគស្មាញនៅក្នុងទិន្នន័យ។
- Decision Trees: វិធីសាស្រ្តធ្វើសេចក្តីសម្រេចដែលត្រូវបានបង្កើតឡើងនៅលើខ្សែសង្វាក់នៃសេចក្តីថ្លែងការប្រសិនបើផ្សេង។
- ការដាក់ជាក្រុម៖ សំណុំនៃគំរូដែលដាក់ជាក្រុមចំណុចទិន្នន័យដែលអាចប្រៀបធៀបបានដោយផ្អែកលើភាពស្រដៀងគ្នា។
- Logistic Regression៖ គំរូសម្រាប់បញ្ហាចំណាត់ថ្នាក់ប្រព័ន្ធគោលពីរ ដែលអថេរគោលដៅមានតម្លៃសក្តានុពលពីរ។
- Decision Trees: វិធីសាស្រ្តធ្វើសេចក្តីសម្រេចដែលត្រូវបានបង្កើតឡើងនៅលើខ្សែសង្វាក់នៃសេចក្តីថ្លែងការប្រសិនបើផ្សេង។
- ព្រៃចៃដន្យ៖ គំរូក្រុមដែលផ្សំឡើងដោយដើមឈើការសម្រេចចិត្តជាច្រើន។ ពួកវាត្រូវបានប្រើជាញឹកញាប់សម្រាប់កម្មវិធីចំណាត់ថ្នាក់ និងតំរែតំរង់។
- K-Nearest Neighbors៖ គំរូដែលព្យាករណ៍អថេរគោលដៅដោយប្រើចំណុចទិន្នន័យ k-ជិតបំផុតក្នុងសំណុំបណ្ដុះបណ្ដាល។
អាស្រ័យលើបញ្ហា និងសំណុំទិន្នន័យរបស់យើង យើងសម្រេចចិត្តថាតើម៉ូដែលរៀនម៉ាស៊ីនមួយណាសមនឹងស្ថានភាពរបស់យើងបំផុត។ ទោះយ៉ាងណាក៏ដោយ យើងនឹងត្រលប់ទៅរឿងនេះនៅពេលក្រោយ។ ឥឡូវនេះ ចូរចាប់ផ្តើមបណ្តុះបណ្តាលគំរូរបស់យើង។ ខ្ញុំសង្ឃឹមថាអ្នកបានទាញយកកម្មវិធីរួចហើយ សំណុំទិន្នន័យ ប្រសិនបើអ្នកចង់ធ្វើតាមគំរូរបស់យើង។
ដូចគ្នានេះផងដែរខ្ញុំសូមណែនាំឱ្យមាន កុំព្យូទ័រយួរដៃ Jupyter បានដំឡើងនៅលើម៉ាស៊ីនមូលដ្ឋានរបស់អ្នក ហើយប្រើវាសម្រាប់គម្រោងសិក្សាម៉ាស៊ីនរបស់អ្នក។
១៖ កំណត់បញ្ហា
ដំណាក់កាលដំបូងនៅក្នុង ការបណ្តុះបណ្តាលម៉ាស៊ីនរៀន គំរូកំពុងកំណត់បញ្ហាដែលត្រូវដោះស្រាយ។ នេះរួមបញ្ចូលទាំងការជ្រើសរើសអថេរដែលអ្នកចង់ព្យាករណ៍ (ត្រូវបានគេស្គាល់ថាជាអថេរគោលដៅ) និងអថេរដែលនឹងត្រូវបានប្រើដើម្បីបង្កើតការព្យាករណ៍ទាំងនោះ (ត្រូវបានគេស្គាល់ថាជាលក្ខណៈពិសេស ឬការទស្សន៍ទាយ)។
អ្នកក៏គួរសម្រេចចិត្តថាតើបញ្ហាការរៀនម៉ាស៊ីនប្រភេទណាដែលអ្នកកំពុងព្យាយាមដោះស្រាយ (ការចាត់ថ្នាក់ ការតំរែតំរង់ ការដាក់ចង្កោម និងផ្សេងៗទៀត) និងប្រភេទទិន្នន័យអ្វីដែលអ្នកនឹងត្រូវប្រមូល ឬទទួលបានដើម្បីបណ្តុះបណ្តាលគំរូរបស់អ្នក។
ប្រភេទនៃគំរូដែលអ្នកជួលនឹងត្រូវបានកំណត់ដោយប្រភេទនៃបញ្ហារៀនម៉ាស៊ីនដែលអ្នកចង់ដោះស្រាយ។ ការចាត់ថ្នាក់ ការតំរែតំរង់ និងការចង្កោម គឺជាប្រភេទចម្បងទាំងបីនៃ បញ្ហាប្រឈមនៃការរៀនម៉ាស៊ីន. នៅពេលអ្នកចង់ទស្សន៍ទាយអថេរតាមប្រភេទ ដូចជាថាតើអ៊ីមែលជាសារឥតបានការ ឬអត់ នោះអ្នកប្រើការចាត់ថ្នាក់។
នៅពេលអ្នកចង់ព្យាករណ៍អថេរបន្ត ដូចជាតម្លៃផ្ទះ អ្នកប្រើតំរែតំរង់។ ការដាក់ចង្កោមត្រូវបានប្រើដើម្បីដាក់បញ្ចូលគ្នានូវធាតុទិន្នន័យដែលអាចប្រៀបធៀបបានដោយផ្អែកលើភាពធម្មតារបស់វា។
ប្រសិនបើយើងមើលគំរូរបស់យើង; បញ្ហាប្រឈមរបស់យើងគឺដើម្បីកំណត់រចនាប័ទ្មតន្ត្រីដែលមនុស្សចូលចិត្តពីភេទ និងអាយុរបស់ពួកគេ។ យើងនឹងប្រើប្រាស់សំណុំទិន្នន័យរបស់មនុស្ស 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។
មានសំណុំទិន្នន័យ និងបញ្ហាប្រឈមជាច្រើននៅក្នុង Kaggle ប្រសិនបើអ្នកចង់កែលម្អការសរសេរកូដរបស់អ្នក និងការយល់ដឹងអំពីការរៀនម៉ាស៊ីន។
សូមផ្ដល់យោបល់