Оё шумо мехоҳед, ки бо омӯзиши машқҳо?
Ман як дастури оддӣ ва осонро барои шурӯъкунандагон пурра сохтаам. Якҷоя, мо қадамҳои асосии омӯзиши модели омӯзиши мошинро баррасӣ хоҳем кард.
Ҳангоми шарҳ додани қадамҳои омӯзиши модел, ман инчунин як мисоли оддии мушкилоти омӯзиши мошинро низ медиҳам. Ҳамин тавр, агар шумо хоҳед, ки пайравӣ кунед, шумо метавонед ин маҷмӯи маълумоти намунавиро аз ин зеркашӣ кунед пайванд.
Ин танҳо як маҷмӯи маълумотест, ки ба шумо дар оғоз кардани омӯзиши мошин кӯмак мекунад.
Мо 18 арзишҳои одамони синну сол ва ҷинсҳои гуногун дорем, ки мусиқии дӯстдоштаи худро муайян кардаанд. Бо истифода аз хусусиятҳои "синну сол" ва "ҷинс" мо кӯшиш хоҳем кард, ки кадом жанри мусиқӣ дӯстдоштаи онҳост.
Эзоҳ: 1 ва 0 дар ин маҷмӯаи маълумот ба ҷинсҳо ҳамчун зан ва мард таъин карда шудаанд.
Аммо, агар шумо намехоҳед ба намуна пайравӣ кунед, он низ комилан хуб аст. Ман ҳамаи ин қадамҳоро ба таври муфассал шарҳ хоҳам дод. Пас, биёед ғарқ шавем!
Аввалин чизҳое, ки бояд донанд
Пеш аз гузаштан ба марҳилаҳои омӯзиши модел, биёед баъзе нуктаҳоро равшан кунем. Омӯзиши мошинсозӣ як аст мағзи маслуӣ фан, ки ба таҳияи алгоритмҳое нигаронида шудааст, ки аз маълумот омӯхта метавонанд.
Барои ин, моделҳои омӯзиши мошинсозӣ дар маҷмӯи додаҳо омӯзонида мешаванд, ки ба модел тарзи пешгӯии дурустро таълим медиҳад ё таснифҳо дар бораи маълумоти тоза, қаблан номаълум.
Пас, ин моделҳо чист? А модели омӯзиши мошин ба дорухат монанд аст, ки компютер барои тавлиди пешгӯиҳо ё интихобҳои додаҳо истифода мебарад.
Модел, ба монанди рецепт, як қатор дастурҳоро барои арзёбии додаҳо ва тавлиди пешгӯиҳо ё доварӣ дар асоси намунаҳои дар додаҳо мавҷудбуда иҷро мекунад. Чӣ қадаре ки модел маълумотро омӯхт, пешгӯиҳои он ҳамон қадар дақиқтар мешаванд.
Мо чӣ гуна моделҳоро таълим дода метавонем?
Биёед бубинем, ки моделҳои асосии омӯзиши мошинсозӣ кадомҳоянд.
- Регрессияи хатӣ: моделе, ки тағирёбандаи доимии ҳадафро аз як ё якчанд тағирёбандаҳои воридотӣ пешгӯӣ мекунад.
- Шабакаҳои нейронӣ: шабакаи гиреҳҳои ба ҳам алоқаманд, ки метавонанд кашф кардани қолабҳои мураккабро дар маълумот омӯзанд.
- Дарахтони қарорҳо: равиши қабули қарорҳо, ки бар занҷири изҳороти шохаҳои if-else сохта шудааст.
- Кластеризатсия: маҷмӯи моделҳо, ки нуқтаҳои муқоисашавандаи додаҳоро дар асоси шабоҳат гурӯҳбандӣ мекунанд.
- Регрессияи логистикӣ: модели мушкилоти таснифоти бинарӣ, ки дар он тағирёбандаи ҳадаф ду арзиши эҳтимолӣ дорад.
- Дарахтони қарорҳо: равиши қабули қарорҳо, ки бар занҷири изҳороти шохаҳои if-else сохта шудааст.
- Ҷангали тасодуфӣ: модели ансамбле, ки аз дарахтони сершумори қарор иборат аст. Онҳо аксар вақт барои барномаҳои тасниф ва регрессия истифода мешаванд.
- 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
Ин аст визуалии он аст, ки чӣ гуна таснифи дарахти қарорҳо кор мекунад:
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)
Ба натиҷа расидан
Мо омӯзонидани аввалин модели омӯзиши мошинамонро анҷом додем.
Ман умедворам, ки шумо онро муфид ёфтед. Ҳоло шумо метавонед истифода бурдани моделҳои гуногуни омӯзиши мошинсозӣ, ба монанди регрессияи хатӣ ё ҷангали тасодуфӣ.
Маҷмӯи додаҳо ва мушкилоти зиёде мавҷуданд Каггл агар шумо хоҳед, ки рамзгузорӣ ва фаҳмиши омӯзиши мошинро беҳтар кунед.
Дин ва мазҳаб