ایا تاسو غواړئ چې سره پیل کړئ ماشین زده کړه?
ما د بشپړ پیل کونکو لپاره یو ساده او اسانه ټیوټوریل رامینځته کړی. په ګډه ، موږ به د ماشین زده کړې ماډل روزنې لومړني مرحلو ته لاړ شو.
په داسې حال کې چې د موډل د روزنې مرحلې یو له بل سره تشریح کوم، زه به د ماشین زده کړې ستونزې یو خورا بنسټیز مثال هم وړاندې کړم. نو، که تاسو غواړئ چې تعقیب یې کړئ، تاسو کولی شئ د دې نمونې ډاټا سیټ له دې څخه ډاونلوډ کړئ مخونه.
دا یوازې د نمونې ډیټاسیټ دی ترڅو تاسو سره د ماشین زده کړې پیل کولو کې مرسته وکړي.
موږ د مختلف عمرونو او جنسونو خلکو 18 ارزښتونه لرو چې د دوی د خوښې میوزیک تعریف شوي. د "عمر" او "جندر" ځانګړتیاوو په کارولو سره، موږ به هڅه وکړو چې اټکل وکړو چې د موسیقۍ کوم ژانر د دوی د خوښې وړ دی.
یادونه: په دې ډیټا سیټ کې 1 او 0 جنډر ته د ښځینه او نارینه په توګه ټاکل شوي.
په هرصورت، که تاسو نه غواړئ مثال تعقیب کړئ، دا هم په بشپړه توګه ښه دی. زه به دا ټول ګامونه په تفصیل سره تشریح کړم. نو، راځئ چې ډوب کړو!
د پوهیدو لپاره لومړی شیان
مخکې لدې چې د ماډل روزنې مرحلو ته لاړشئ ، راځئ چې ځینې ټکي روښانه کړو. د ماشین زده کړه یو مصنوعي هوښیارتیا ډسپلین چې د الګوریتمونو په پراختیا تمرکز کوي چې کولی شي د معلوماتو څخه زده کړي.
د دې کولو لپاره، د ماشین زده کړې ماډلونه په ډیټاسیټ کې روزل کیږي چې ماډل ته درس ورکوي چې څنګه سمې وړاندوینې وکړي یا طبقه په تازه، پخوانیو نامعلومو معلوماتو کې.
نو، دا ماډلونه څه دي؟ الف د ماشین زده کړې ماډل یو ترکیب ته ورته دی چې کمپیوټر یې د معلوماتو وړاندوینې یا انتخابونو رامینځته کولو لپاره کاروي.
یو ماډل، د ترکیب په څیر، د معلوماتو ارزولو لپاره د لارښوونو سیټ تعقیبوي او په ډاټا کې موندل شوي نمونو پراساس وړاندوینې یا قضاوتونه رامینځته کوي. څومره چې موډل په اړه ډیر معلومات روزل کیږي، د هغې وړاندوینې ډیرې دقیقې کیږي.
کوم ډول موډلونه موږ روزلی شو؟
راځئ وګورو چې د ماشین زده کړې لومړني ماډلونه څه دي.
- خطي ریګریشن: یو ماډل چې د یو یا ډیرو ان پټ متغیرونو څخه د دوامداره هدف متغیر وړاندوینه کوي.
- عصبي شبکې: د تړل شوي نوډونو شبکه چې کولی شي په ډیټا کې د پیچلو نمونو موندلو زده کړي.
- د پریکړې ونې: د تصمیم نیولو یوه کړنلاره چې د څانګو په سلسله کې جوړه شوې ده که نور بیانونه.
- کلستر کول: د ماډلونو یوه ټولګه چې د ورته والي پراساس د پرتله کولو وړ ډیټا ټکي ګروپ کوي.
- لوژستیک ریګریشن: د بائنری طبقه بندي ستونزو لپاره ماډل چې په کوم کې د هدف متغیر دوه احتمالي ارزښتونه لري.
- د پریکړې ونې: د تصمیم نیولو یوه کړنلاره چې د څانګو په سلسله کې جوړه شوې ده که نور بیانونه.
- تصادفي ځنګل: یو جوړه ماډل چې د ډیری پریکړې ونو څخه جوړ شوی. دوی په مکرر ډول د طبقه بندي او راجع کولو غوښتنلیکونو لپاره کارول کیږي.
- د K- نږدې ګاونډیان: یو ماډل چې د روزنې سیټ کې د 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())
کوچنۍ یادونه: په کرښه کې "import pandas as pd",
موږ د پانډاس کتابتون واردوو او دا یې د "pd" عرف په توګه وټاکو ترڅو وروسته په کوډ کې د دې دندو او شیانو حواله کول اسانه کړي.
پانډاس د ډیټا مینځلو او تحلیل لپاره د 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)
و نغاړئ
موږ د خپل لومړي ماشین زده کړې ماډل روزنه پای ته ورسوله.
زه امید لرم چې تاسو یې ګټور موندلی وي. تاسو اوس کولی شئ د مختلف ماشین زده کړې ماډلونو کارولو هڅه وکړئ لکه لینر ریګریشن یا بې ترتیب ځنګل.
ډیری ډیټاسیټونه او ننګونې شتون لري کاګل که تاسو غواړئ خپل کوډینګ او د ماشین زده کړې پوهه ښه کړئ.
یو ځواب ورکړئ ووځي