మీరు ప్రారంభించాలనుకుంటున్నారా యంత్ర అభ్యాసం?
పూర్తి ప్రారంభకులకు నేను సరళమైన మరియు సులభమైన ట్యుటోరియల్ని సృష్టించాను. కలిసి, మేము మెషిన్ లెర్నింగ్ మోడల్కు శిక్షణ ఇచ్చే ప్రాథమిక దశలను పరిశీలిస్తాము.
ఒక మోడల్కు శిక్షణ ఇచ్చే దశలను ఒక్కొక్కటిగా వివరిస్తూ, నేను మెషిన్-లెర్నింగ్ సమస్యకు చాలా ప్రాథమిక ఉదాహరణ కూడా ఇస్తాను. కాబట్టి, మీరు అనుసరించాలనుకుంటే, మీరు దీని నుండి ఈ నమూనా డేటా సెట్ను డౌన్లోడ్ చేసుకోవచ్చు లింక్.
ఇది మెషిన్ లెర్నింగ్ను ప్రారంభించడంలో మీకు సహాయపడే నమూనా డేటాసెట్ మాత్రమే.
మేము వివిధ వయస్సుల మరియు లింగాలకు చెందిన వారి ఇష్టమైన సంగీతాన్ని నిర్వచించిన 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())
చిన్న గమనిక: o " లైన్లోimport pandas as pd",
మేము పాండాస్ లైబ్రరీని దిగుమతి చేస్తాము మరియు కోడ్లో దాని విధులు మరియు వస్తువులను సూచించడాన్ని సులభతరం చేయడానికి "pd" అనే మారుపేరును కేటాయిస్తాము.
పాండాస్ అనేది డేటా మానిప్యులేషన్ మరియు విశ్లేషణ కోసం పైథాన్కు బాగా తెలిసిన మాడ్యూల్, ప్రత్యేకించి నిర్మాణాత్మక లేదా పట్టిక డేటాతో పని చేస్తున్నప్పుడు.
సంగీత కళా ప్రక్రియలను నిర్ణయించే మా ఉదాహరణలో. మేము మొదట డేటాసెట్ను దిగుమతి చేస్తాము. నేను దీనికి 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)
సర్ప్ అప్ చేయండి
మేము మా మొదటి మెషిన్ లెర్నింగ్ మోడల్కు శిక్షణ ఇచ్చాము.
ఇది మీకు ఉపయోగకరంగా ఉందని నేను ఆశిస్తున్నాను. మీరు ఇప్పుడు లీనియర్ రిగ్రెషన్ లేదా రాండమ్ ఫారెస్ట్ వంటి విభిన్న మెషీన్ లెర్నింగ్ మోడల్లను ఉపయోగించి ప్రయత్నించవచ్చు.
అనేక డేటాసెట్లు మరియు సవాళ్లు ఉన్నాయి Kaggle మీరు మీ కోడింగ్ మరియు మెషిన్ లెర్నింగ్పై అవగాహన పెంచుకోవాలనుకుంటే.
సమాధానం ఇవ్వూ