పైథాన్‌లో మీ మొదటి మెషిన్ లెర్నింగ్ వర్గీకరణను నిర్మించడం



స్క్రాచ్ నుండి పైథాన్‌లో మెషిన్ లెర్నింగ్ క్లాస్‌ఫైయర్‌ను రూపొందించడానికి ఈ వ్యాసం మీకు సహాయం చేస్తుంది. ఇది మీకు వర్గీకరణ యొక్క వివరణాత్మక జ్ఞానాన్ని కూడా అందిస్తుంది.

ప్రస్తుతం బస్‌వర్డ్. యంత్ర అభ్యాసం సహాయంతో కొన్ని నమ్మశక్యం కాని విషయాలు జరుగుతున్నాయి. మా నుండి వ్యక్తిగత సహాయకుడు , మా నిర్ణయించడానికి ప్రయాణ మార్గాలు , షాపింగ్ చేయడానికి మాకు సహాయపడటం, మా వ్యాపారాలను నడిపించడంలో మాకు సహాయపడటం, మా జాగ్రత్తలు తీసుకోవడం ఆరోగ్యం మరియు ఆరోగ్యం, యంత్ర అభ్యాసం అటువంటి ప్రాథమిక స్థాయిలలో మన రోజువారీ ఉనికికి అనుసంధానించబడి ఉంది, ఎక్కువ సమయం మనం దానిపై ఆధారపడుతున్నామని గ్రహించలేము. ఈ వ్యాసంలో, పైథాన్‌లో ప్రామాణిక యంత్ర అభ్యాస వర్గీకరణను అమలు చేయడానికి మేము ఒక అనుభవశూన్యుడు యొక్క విధానాన్ని అనుసరిస్తాము.

యంత్ర అభ్యాసం యొక్క అవలోకనం

మెషిన్ లెర్నింగ్ అనేది ఒక భావన, ఇది యంత్రాలను ఉదాహరణలు మరియు అనుభవం నుండి నేర్చుకోవడానికి అనుమతిస్తుంది, మరియు అది కూడా స్పష్టంగా ప్రోగ్రామ్ చేయకుండా. కాబట్టి మీరు కోడ్ రాయడానికి బదులుగా, మీరు చేసేది మీరు సాధారణ అల్గోరిథంకు డేటాను తినిపించడం మరియు అల్గోరిథం / మెషిన్ ఇచ్చిన డేటా ఆధారంగా తర్కాన్ని నిర్మిస్తుంది.





మెషిన్ లెర్నింగ్ వర్గీకరణ

మెషిన్ లెర్నింగ్‌లో నిర్ణయాలు తీసుకునే యంత్రాల సామర్థ్యం, ​​వారి చర్యల ఫలితాలను అంచనా వేయడం మరియు వరుసగా మంచి ఫలితాలను పొందడానికి వారి ప్రవర్తనను మెరుగుపరచడం వంటివి ఉంటాయి.



అభ్యాస ప్రక్రియ మూడు ప్రధాన మార్గాల్లో జరుగుతుంది

  • పర్యవేక్షించిన అభ్యాసం
  • పర్యవేక్షించబడని అభ్యాసం
  • ఉపబల అభ్యాసం

మెషిన్ లెర్నింగ్ వర్గీకరణదారుల కోసం ఒక మూస

మెషిన్ లెర్నింగ్ టూల్స్ స్కికిట్-లెర్న్ అని పిలువబడే పైథాన్ లైబ్రరీలో చాలా సౌకర్యవంతంగా అందించబడతాయి, ఇవి యాక్సెస్ చేయడానికి మరియు దరఖాస్తు చేయడానికి చాలా సులభం.



దీన్ని ఉపయోగించి కమాండ్ ప్రాంప్ట్ ద్వారా స్కికిట్-లెర్న్‌ను ఇన్‌స్టాల్ చేయండి:

పైప్ ఇన్‌స్టాల్ -యు స్కికిట్-లెర్న్

మీరు అనకొండ వినియోగదారు అయితే, అనకొండ ప్రాంప్ట్‌లో మీరు వీటిని ఉపయోగించవచ్చు:

కాండా ఇన్‌స్టాల్ స్కికిట్-లెర్న్

సంస్థాపనకు మీ సిస్టమ్‌లో NumPy మరియు SciPy ప్యాకేజీల ముందు సంస్థాపన అవసరం.

ప్రిప్రాసెసింగ్: ఏదైనా యంత్ర అభ్యాస-ఆధారిత డేటా విశ్లేషణలో మొదటి మరియు అత్యంత అవసరమైన దశ ప్రీప్రాసెసింగ్ భాగం. ML మోడల్ బాగా శిక్షణ పొందటానికి మరియు దాని సామర్థ్యాన్ని ప్రదర్శించడానికి డేటా యొక్క సరైన ప్రాతినిధ్యం మరియు శుభ్రపరచడం ఖచ్చితంగా అవసరం.

దశ 1 - అవసరమైన లైబ్రరీలను దిగుమతి చేసుకోండి

పిఎమ్‌డి దిగుమతి మాండ్‌ప్లోట్లిబ్.పైప్లాట్‌గా పిఎమ్‌టి వలె ఎన్‌పి దిగుమతి పాండాలను దిగుమతి చేయండి

దశ 2 - డేటాసెట్‌ను దిగుమతి చేయండి

ఉదాహరణతో జావాలో పోజో క్లాస్ అంటే ఏమిటి
డేటాసెట్ = pd.read_csv ()

అప్పుడు మేము డేటాసెట్‌ను స్వతంత్ర మరియు ఆధారిత వేరియబుల్స్‌గా విభజించాము. స్వతంత్ర చరరాశులు ఇన్పుట్ డేటా, మరియు ఆధారిత వేరియబుల్ అవుట్పుట్ డేటా.

X = dataset.iloc []. విలువలు y = dataset.iloc []. విలువలు

దశ 3 - తప్పిపోయిన డేటాను నిర్వహించండి

డేటాసెట్ ఖాళీ లేదా శూన్య విలువలను కలిగి ఉండవచ్చు, ఇది మా ఫలితాల్లో లోపాలను కలిగిస్తుంది. అందువల్ల మనం అలాంటి ఎంట్రీలతో వ్యవహరించాలి. ఆ కాలమ్‌లోని సగటు లేదా చాలా తరచుగా విలువ వంటి శూన్య విలువలను సాధారణ విలువతో భర్తీ చేయడం ఒక సాధారణ పద్ధతి.

sklearn.preprocessing import నుండి Imputer imputer = Imputer (missing_values ​​= 'NaN', వ్యూహం = 'mean', ax = 0) imputer = imputer.fit (X []) X [] = imputer.transform (X [])

దశ 4 - వర్గీకరణ వేరియబుల్స్ ను సంఖ్యా వేరియబుల్స్ గా మార్చండి

sklearn.preprocessing దిగుమతి నుండి LabelEncoder le_X = LabelEncoder () X [] = le_X.fit_transform (X []) labelencoder_y = LabelEncoder () y = labelencoder_y.fit_transform (y)

ఇప్పుడు, ఎన్కోడింగ్ తరువాత, యంత్రం సంఖ్యా డేటాను ఎన్కోడ్ చేసిన నిలువు వరుసలకు ర్యాంకింగ్‌గా భావించవచ్చు. ఈ విధంగా, సమాన బరువును అందించడానికి, మేము OneHotEncoder తరగతిని ఉపయోగించి సంఖ్యలను ఒక-వేడి వెక్టర్లుగా మార్చాలి.

తోలుబొమ్మ అంటే ఏమిటి
sklearn.preprocessing దిగుమతి నుండి OneHotEncoder oneHE = OneHotEncoder (వర్గీకరణ_ ఫీచర్లు = []) X = oneHE.fit_transform (X) .టోరే ()

దశ 5 - స్కేలింగ్ జరుపుము

ఈ దశ వేరియబుల్స్ యొక్క సరిపోలని ప్రమాణాల నుండి ఉత్పన్నమయ్యే వ్యత్యాసాలను పరిష్కరించడం. అందువల్ల, మేము వాటన్నింటినీ ఒకే పరిధికి స్కేల్ చేస్తాము, తద్వారా వారు మోడల్‌కు ఇన్‌పుట్ చేస్తున్నప్పుడు సమాన బరువును పొందుతారు. మేము ఈ ప్రయోజనం కోసం స్టాండర్డ్‌స్కాలర్ క్లాస్ యొక్క వస్తువును ఉపయోగిస్తాము.

sklearn.preprocessing దిగుమతి నుండి StandardScaler sc_X = StandardScaler () X = sc_X.fit_transform (X)

దశ 6 - డేటాసెట్‌ను శిక్షణ మరియు పరీక్ష డేటాగా విభజించండి

ప్రిప్రాసెసింగ్ యొక్క చివరి దశగా, డేటాసెట్‌ను శిక్షణా సమితి మరియు పరీక్షా సమితిగా విభజించాల్సిన అవసరం ఉంది. రైలు-పరీక్ష స్ప్లిట్ యొక్క ప్రామాణిక నిష్పత్తి 75% -25%. మేము అవసరాలకు అనుగుణంగా సవరించవచ్చు. రైలు_టెస్ట్_స్ప్లిట్ () ఫంక్షన్ మన కోసం దీన్ని చేయగలదు.

sklearn.model_selection దిగుమతి రైలు_టెస్ట్_స్ప్లిట్ X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.25)

మోడల్ భవనం: ఈ దశ నిజానికి చాలా సులభం. డేటాపై ఏ మోడల్‌ను వర్తింపజేయాలని మేము నిర్ణయించుకున్నాక, దాని సంబంధిత తరగతి యొక్క ఒక వస్తువును సృష్టించవచ్చు మరియు X_train ను ఇన్‌పుట్‌గా మరియు y_train అవుట్‌పుట్‌గా పరిగణించి, మా శిక్షణా సమితిలో వస్తువును అమర్చవచ్చు.

sklearn నుండి. దిగుమతి వర్గీకరణ = () classifier.fit (X_train, y_train)

మోడల్ ఇప్పుడు శిక్షణ మరియు సిద్ధంగా ఉంది. మేము ఇప్పుడు మా మోడల్‌ను పరీక్షా సెట్‌కు వర్తింపజేయవచ్చు మరియు అంచనా వేసిన అవుట్‌పుట్‌ను కనుగొనవచ్చు.

y_pred = classifier.predict (X_test)

ఫలితాలను చూడటం: వర్గీకరణ యొక్క పనితీరు ఖచ్చితత్వం, ఖచ్చితత్వం, రీకాల్ మరియు ఎఫ్ 1-స్కోరు యొక్క పారామితుల ద్వారా అంచనా వేయబడుతుంది. Classification_report () అని పిలువబడే పద్ధతిని ఉపయోగించి ఈ విలువలను చూడవచ్చు. t ను గందరగోళ మాతృకగా కూడా చూడవచ్చు, ఇది ఎన్ని వర్గాల డేటాను సరిగ్గా వర్గీకరించిందో తెలుసుకోవడానికి మాకు సహాయపడుతుంది.

sklearn.metrics నుండి దిగుమతి గందరగోళం_మాట్రిక్స్ cm = గందరగోళం_మాట్రిక్స్ (y_test, y_pred) ముద్రణ (cm) నుండి sklearn.metrics దిగుమతి classification_report target_names = [] ముద్రణ (వర్గీకరణ_ నివేదిక (y_test, y_pred, target_names = target_names))

మెషిన్ లెర్నింగ్ క్లాస్‌ఫైయర్ సమస్య

ఐరిస్-సెటోసా, ఐరిస్-వర్సికలర్ మరియు ఐరిస్-వర్జీనికా అనే 3 వర్గాలలో పువ్వుల కొలతలు కలిగిన చాలా ప్రజాదరణ పొందిన మరియు సరళమైన ఐరిస్ డేటాసెట్‌ను మేము ఉపయోగిస్తాము. డేటాసెట్‌లో 150 ఎంట్రీలు ఉన్నాయి.

# లైబ్రరీలను దిగుమతి చేసుకోవడం np దిగుమతి matplotlib.pyplot ను plt గా plt గా దిగుమతి చేస్తుంది # డేటాసెట్ డేటాసెట్ దిగుమతి = pd.read_csv ('iris.csv')

ఇప్పుడు డేటాసెట్ చూద్దాం.

dataset.head ()

మనకు 4 స్వతంత్ర చరరాశులు ఉన్నాయి (ఐడిని మినహాయించి), అవి కాలమ్ సంఖ్యలు 1-4, మరియు కాలమ్ 5 డిపెండెంట్ వేరియబుల్. కాబట్టి మేము వాటిని వేరు చేయవచ్చు.

X = dataset.iloc [:, 1: 5] .వాల్యూస్ y = dataset.iloc [:, 5]. విలువలు

ఇప్పుడు మనం డేటాసెట్‌ను శిక్షణ మరియు పరీక్షగా విభజించవచ్చు.

# డేటాసెట్‌ను శిక్షణా సెట్‌లోకి విభజించడం మరియు sklearn.model_selection దిగుమతి రైలు_టెస్ట్_స్ప్లిట్ X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.25)

ఇప్పుడు మేము డేటాసెట్‌కు లాజిస్టిక్ రిగ్రెషన్ వర్గీకరణను వర్తింపజేస్తాము.

# Sklearn.linear_model దిగుమతి నుండి నమూనాను నిర్మించడం మరియు శిక్షణ ఇవ్వడం లాజిస్టిక్ రిగ్రెషన్ వర్గీకరణ = లాజిస్టిక్ రిగ్రెషన్ () classifier.fit (X_train, y_train) # పరీక్ష సెట్ ఫలితాలను ic హించడం y_pred = classifier.predict (X_test)

చివరి దశ శిక్షణ పొందిన మోడల్ పనితీరును విశ్లేషించడం.

జావా టోస్ట్రింగ్ ఎలా ఉపయోగించాలి
# Sklearn.metrics నుండి కన్‌ఫ్యూజన్ మ్యాట్రిక్స్ తయారు చేయడం confusion_matrix cm = confusion_matrix (y_test, y_pred) print (cm)

మొదటి వర్గానికి చెందిన 13 ఎంట్రీలు, రెండవ వాటిలో 11 మరియు మూడవ వర్గానికి 9 ఎంట్రీలు మోడల్ ద్వారా సరిగ్గా are హించబడుతున్నాయని ఇది మనకు చూపిస్తుంది.

# Sklearn.metrics నుండి ఖచ్చితత్వం, ఖచ్చితత్వం, రీకాల్ మరియు f1- స్కోర్‌ను ఉత్పత్తి చేస్తుంది. )

మా టెస్ట్ సెట్‌లో మోడల్ యొక్క ఖచ్చితత్వం, రీకాల్, ఎఫ్ 1-స్కోరు మరియు ఖచ్చితత్వ విలువలను నివేదిక చూపిస్తుంది, ఇందులో 38 ఎంట్రీలు (డేటాసెట్‌లో 25%) ఉంటాయి.

అభినందనలు, మీరు పైథాన్‌లో మీ మొదటి యంత్ర అభ్యాస వర్గీకరణను విజయవంతంగా సృష్టించి అమలు చేసారు! లోతైన జ్ఞానం పొందడానికి దాని వివిధ అనువర్తనాలతో పాటు, మీరు 24/7 మద్దతు మరియు జీవితకాల ప్రాప్యతతో ప్రత్యక్ష పైథాన్ ఆన్‌లైన్ శిక్షణ కోసం నమోదు చేసుకోవచ్చు.