లాభాలు:
- సమస్య రకం (వర్గీకరణ, రిగ్రెషన్, క్లస్టరింగ్) మరియు ఉద్యోగం యొక్క వాస్తవ ధర ప్రకారం విజయ ప్రమాణాలను నిర్వచించగల సామర్థ్యం
- డేటాను నిజాయితీగా విభజించే సామర్థ్యం (పరీక్ష సెట్ను తాకకుండా; కాలక్రమానుసారంగా సమయ శ్రేణిలో) మరియు లీక్-రహిత మూల్యాంకన ప్రాతిపదికను ఏర్పాటు చేయడం
- సరళమైన బేస్లైన్తో ప్రారంభించడం ద్వారా మరియు సంక్లిష్టతను జోడించడం ద్వారా అర్థం చేసుకోదగిన మోడల్ను ఎంచుకోగల సామర్థ్యం.
ఇప్పటివరకు మేము డేటాను సేకరించాము, దానిని శుభ్రం చేసాము, దానిని అన్వేషించాము మరియు లక్షణాలను రూపొందించాము. ఇప్పుడు మేము నిజమైన పనికి వచ్చాము, ఒక నమూనాను నిర్మించాము. మోడల్ అనేది డేటా నుండి నమూనాను నేర్చుకునే మరియు కొత్త పరిస్థితుల కోసం అంచనాలను రూపొందించే గణిత నిర్మాణం. కానీ మోడల్ను రూపొందించడంలో అత్యంత కీలకమైన భాగం కోడ్ కాదు, కానీ దానికి ముందు ఉన్న రెండు నిర్ణయాలు: సరైన సమస్యను నిర్వచించడం మరియు డేటాను సరిగ్గా విభజించడం. AI అనేది అల్గారిథమ్ ఎంపిక, కోడ్ రైటింగ్ మరియు పారామీటర్ ట్యూనింగ్లో శక్తివంతమైన సలహాదారు; కానీ ఏది అంచనా వేయాలో మరియు విజయం అంటే ఏమిటో నిర్ణయించుకోవడం ఎవరికి ఇష్టం. సరిగ్గా వ్రాసిన మోడల్తో కూడా తప్పుగా నిర్వచించబడిన సమస్య పని చేయదు.
మొదట సమస్య నిర్వచనం: మనం ఏమి అంచనా వేస్తాము
ప్రతి మోడలింగ్ ఉద్యోగం ఒక ప్రశ్నతో ప్రారంభమవుతుంది మరియు ఈ ప్రశ్న మోడల్ రకాన్ని నిర్ణయిస్తుంది. వర్గీకరణ — అవుట్పుట్ అనేది ఒక వర్గం: "ఈ కస్టమర్ వెళ్లిపోతారా లేదా ఉంటారా?", "ఈ లావాదేవీ నకిలీదా?". రిగ్రెషన్ (ఇంగ్లీష్ రిగ్రెషన్లో - అవుట్పుట్ సంఖ్య): "ఈ ఇంటి విలువ ఎంత?", "వచ్చే నెలలో ఎన్ని ఆర్డర్లు వస్తాయి?". క్లస్టరింగ్ (లేబుల్ చేయని డేటాను సహజ సమూహాలుగా విభజించడం): "నా కస్టమర్లు ఎన్ని సహజ విభాగాలుగా విభజించబడ్డారు?".
సమస్య ప్రకటన యొక్క రెండవ భాగం విజయ ప్రమాణం: ఈ మోడల్ "మంచిది" అంటే ఏమిటి? ఫ్రాడ్ మోడల్లో, ఒక మోసగాడిని మిస్ చేయడం అనేది నిజాయితీగల కస్టమర్ని అనుకోకుండా నిరోధించడం కంటే చాలా ఖరీదైనది; అందువల్ల, "సాధారణ ఖచ్చితత్వం" కాదు, "మోసగాళ్లను పట్టుకునే రేటు" తెరపైకి వస్తుంది. మీరు మొదటి నుండి ఈ ప్రమాణాన్ని నిర్వచించకపోతే, వ్యాపార యజమానితో కలిసి, మీరు పని చేయని "అత్యంత ఖచ్చితమైన" మోడల్తో ముగుస్తుంది (మేము యూనిట్ 7లోని కొలమానాలకు లోతుగా వెళ్తాము).
హెచ్చరిక: "ఖచ్చితత్వం" తప్పుదారి పట్టించేది కావచ్చు. 1000 లావాదేవీల్లో 10 మోసపూరితమైనవే అయితే, "ఏదీ మోసపూరితం కాదు" అని చెప్పే మూర్ఖపు మోడల్ 99% ఖచ్చితత్వాన్ని ఇస్తుంది కానీ ఒక్క మోసగాడిని కూడా పట్టుకోదు. సమస్య యొక్క నిజమైన ధర ఆధారంగా విజయ ప్రమాణాలను ఎంచుకోండి.
శిక్షణ/పరీక్ష విభజన: మోడల్ యొక్క నిజాయితీ పరీక్ష
ఒక మోడల్ను అది నేర్చుకున్న డేటాతో పరీక్షించడం అనేది విద్యార్థిని అతను/ఆమె పరీక్షలో చదివిన అదే ప్రశ్నలను అడగడం లాంటిది; అతను ఎక్కువ మార్కులు తెచ్చుకుంటాడు కానీ అతనికి నిజంగా ఏమి తెలుసు అని చూపించడు. కాబట్టి మేము డేటాను రెండుగా విభజించాము (తరచుగా మూడు):
- శిక్షణ సెట్ (ఇంగ్లీష్లో శిక్షణ సెట్, సాధారణంగా 70-80%): మోడల్ దీనిపై నేర్చుకుంటుంది.
- టెస్ట్ సెట్ (పరీక్ష సెట్, సాధారణంగా 20-30%): మోడల్ దీన్ని అస్సలు చూడదు; నిజమైన పనితీరు ఇక్కడ కొలుస్తారు.
- ధ్రువీకరణ సెట్: మోడల్ సెట్టింగ్ కోసం ఉపయోగించే ఇంటర్మీడియట్ సెట్ (ఏ పరామితి మంచిది); పరీక్ష సెట్ను "శుభ్రంగా" ఉంచడానికి.
అత్యంత ప్రాథమిక నియమం: శిక్షణ సమయంలో పరీక్ష సెట్ ఎప్పుడూ తాకబడదు. స్కేలింగ్, కోడింగ్, ఫీచర్ ఎంపిక — అన్నీ కేవలం శిక్షణా సెట్ నుండి నేర్చుకుంటారు, ఆపై పరీక్షకు వర్తింపజేయబడతాయి (యూనిట్ 5 నుండి లీకేజ్ సూత్రం). మోడల్ వాస్తవ ప్రపంచాన్ని చూసిన మొదటి సారి పరీక్ష సెట్; మీరు దీన్ని చాలా త్వరగా ఆన్ చేస్తే, నిజమైన పనితీరు మీకు ఎప్పటికీ తెలియదు.
సమయ శ్రేణి మినహాయింపు: మీ డేటా సమయంపై ఆధారపడి ఉంటే (అమ్మకాలు, స్టాక్ మార్కెట్, డిమాండ్), యాదృచ్ఛిక విభజన జరగదు. ఎందుకంటే యాదృచ్ఛిక విభజన మోడల్ భవిష్యత్తును చూడటానికి మరియు గతాన్ని అంచనా వేయడానికి కారణమవుతుంది - ఇది లీకేజీ. బదులుగా, కాలక్రమానుసారంగా విభజించండి: పాత కాలంతో శిక్షణ, కొత్త కాలంతో పరీక్షించండి.
అల్గోరిథం ఎంపిక: సాధారణ నుండి క్లిష్టమైన వరకు
ప్రారంభకులకు అత్యంత సాధారణ తప్పు అత్యంత క్లిష్టమైన నమూనాతో ప్రారంభించడం. సరైన విధానం వ్యతిరేకం: ముందుగా ఒక సాధారణ బేస్లైన్ను ఏర్పాటు చేయండి. వర్గీకరణలో "ఎల్లప్పుడూ మెజారిటీ తరగతిని అంచనా వేయండి"; రిగ్రెషన్లో "ఎల్లప్పుడూ సగటును అంచనా వేయండి". ఈ స్టుపిడ్ మోడల్ బేస్లైన్ ఇస్తుంది; మీ అసలు మోడల్ దీన్ని పాస్ చేయలేకపోతే, సమస్య ఉంది. అప్పుడు సరళమైన మరియు అర్థమయ్యే నమూనాలకు వెళ్లండి.
మోడల్
సమస్య రకం
బలమైన పాయింట్
బలహీనత
బేస్లైన్ (మెజారిటీ/సగటు)
రెండూ
బెంచ్ మార్క్ ఇస్తుంది
నేర్చుకోడు
లాజిస్టిక్ రిగ్రెషన్
వర్గీకరణ
సరళమైనది, అర్థం చేసుకోదగినది
సరళ సంబంధం మాత్రమే
లీనియర్ రిగ్రెషన్
తిరోగమనం
సాధారణ, వేగవంతమైన
సరళ ఊహ
నిర్ణయం చెట్టు
రెండూ
అర్థం చేసుకోదగిన
సులువైన జ్ఞాపకాలు
యాదృచ్ఛిక అడవి
రెండూ
బలమైన, మన్నికైన
తక్కువ అన్వయించదగినది
గ్రేడియంట్ బూస్టింగ్ (XGBoost మొదలైనవి)
రెండూ
చాలా బలమైన
సర్దుబాటు చేయడం కష్టం, గుర్తుపెట్టుకునే ప్రమాదం
నియమం: సరళమైన "తగినంత మంచి" మోడల్ను ఎంచుకోండి. చాలా వ్యాపార సందర్భాలలో శక్తి కంటే వివరణాత్మకత విలువైనది; "బ్లాక్ బాక్స్ చెప్పినందున" కంటే "మీ అప్పు-ఆదాయ నిష్పత్తి ఎక్కువగా ఉన్నందున" రుణ తిరస్కరణను వివరించడం ఉత్తమం.
మూడు చిన్న కేసులు
కేస్ 1 - తప్పు సమస్య నిర్వచనం. "కస్టమర్ సంతృప్తి చెందారు" అనే దాని ఆధారంగా ఒక బృందం వర్గీకరణ నమూనాను రూపొందించింది, అయితే విజయ ప్రమాణంగా "ఖచ్చితత్వం"ని ఎంచుకుంది. డేటాలో, 88% మంది కస్టమర్లు సంతృప్తి చెందారు; ప్రతి ఒక్కరినీ "సంతృప్తి" అని పిలవడం ద్వారా మోడల్ 88% ఖచ్చితత్వాన్ని పొందింది మరియు అసంతృప్త వ్యక్తులను ఎన్నడూ పట్టుకోలేదు — అసలు లక్ష్యం వారిని కనుగొనడం. పాఠం: నిజమైన ప్రయోజనం ఆధారంగా విజయ ప్రమాణాలను ఎంచుకోండి.
కేస్ 2 - కంపార్ట్మెంట్లో టైమ్ లీక్. డిమాండ్ అంచనా ప్రాజెక్ట్లో, డేటా యాదృచ్ఛికంగా విభజించబడింది. మోడల్ 93% ఖచ్చితత్వాన్ని అందించింది కానీ ఉత్పత్తిలో క్రాష్ అయ్యింది ఎందుకంటే శిక్షణలో జనవరి, తర్వాత నవంబర్, డిసెంబర్ డేటాతో అంచనా వేసింది - ఇది భవిష్యత్తును చూసింది. మేము కాలక్రమ విభజనకు మారినప్పుడు, వాస్తవ పనితీరు 74%కి పెరిగింది. పాఠం: సమయ శ్రేణిలో కాలక్రమ విభజన.
కేసు 3 - అనవసరమైన సంక్లిష్టత. ఒక విశ్లేషకుడు నేరుగా డీప్ న్యూరల్ నెట్వర్క్తో ప్రారంభించి, వారాలపాటు దాన్ని ట్యూన్ చేసి, 81% ఖచ్చితత్వాన్ని పొందారు. అప్పుడు ఒక సహోద్యోగి 20 లైన్ల లాజిస్టిక్ రిగ్రెషన్తో 80% పొందారు - చాలా వేగంగా, అర్థమయ్యేలా మరియు నిర్వహించడం సులభం. పాఠం: బేస్లైన్ మరియు సరళమైన మోడల్తో ప్రారంభించండి, దానికి అర్హత ఉన్నప్పుడు సంక్లిష్టతను జోడించండి.
నాలుగు కాపీ చేయగల టెంప్లేట్లు
1) సమస్య నిర్వచనాన్ని స్పష్టం చేయడం:
మీ పాత్ర: మోడలింగ్ కన్సల్టెంట్. ఈ ఉద్యోగాన్ని నిర్వచించడంలో నాకు సహాయపడండి: "నేను కస్టమర్ల మథనాన్ని తగ్గించాలనుకుంటున్నాను." నన్ను అడగండి మరియు స్పష్టం చేయండి: (1) ఇది వర్గీకరణ లేదా తిరోగమనమా, (2) టార్గెట్ వేరియబుల్ ఖచ్చితంగా ఏమిటి మరియు దానిని ఎలా నిర్వచించాలి, (3) విజయ ప్రమాణాలు ఏమిటి మరియు ఎందుకు ఉండాలి. నిర్ణయం నాదే; మీరు ప్రశ్నలు మరియు ఎంపికలను సమర్పించండి.
2) సురక్షిత శిక్షణ/పరీక్ష కంపార్ట్మెంట్:
నా డిఎఫ్ని శిక్షణ/పరీక్ష 80%/20%గా విభజించండి. తరగతి పంపిణీని నిర్వహించండి (స్ట్రాటిఫై).random_state=42. ఇది సమయ శ్రేణి కాదు (స్వతంత్ర పరిశీలనలు). విభజన తర్వాత ప్రతి సెట్ యొక్క తరగతి నిష్పత్తిని ముద్రించండి. ఎటువంటి పరివర్తనను వర్తింపజేయకుండా పరీక్ష సెట్కు విభజన కోడ్ను ఇవ్వండి.
3) సమయ శ్రేణి కాలక్రమ విభజన:
డేటా సమయం ఆధారపడి ఉంటుంది (తేదీ కాలమ్: order_date). యాదృచ్ఛికంగా కాదు, కాలక్రమానుసారంగా విభజించండి: పురాతన 80% శిక్షణ, సరికొత్త 20% పరీక్ష. శిక్షణ మరియు పరీక్ష తేదీ పరిధులను ప్రింట్ చేయండి, తద్వారా భవిష్యత్తు లీక్ కాలేదని నేను ధృవీకరించగలను.
4) బేస్లైన్ సెట్ చేయడం:
నాకు వర్గీకరణ సమస్య ఉంది (లక్ష్యం: చర్న్ 0/1). ముందుగా బేస్లైన్ను ఏర్పాటు చేయండి: డమ్మీక్లాసిఫైయర్తో శిక్షణ/పరీక్ష ఖచ్చితత్వాన్ని కొలవండి, ఇది ఎల్లప్పుడూ మెజారిటీ తరగతిని అంచనా వేస్తుంది. ఆపై ఒక సాధారణ లాజిస్టిక్ రిగ్రెషన్కు శిక్షణ ఇవ్వండి మరియు అది బేస్లైన్ను బీట్ చేస్తుందో లేదో సరిపోల్చండి. రెండు పక్కపక్కనే కొలమానాలను చూపండి.
బలహీనమైన ప్రాంప్ట్ / బలమైన ప్రాంప్ట్
బలహీనమైన ప్రాంప్ట్:
ఈ డేటాతో అత్యుత్తమ మోడల్ను రూపొందించండి.
"బెస్ట్" నిర్వచించబడలేదు; సమస్య రకం లేదు, లక్ష్యం లేదు, విజయ ప్రమాణాలు లేవు మరియు విభజన వ్యూహం లేదు. AI యాదృచ్ఛిక నమూనాను ఉత్పత్తి చేస్తుంది, బహుశా లీక్ కావచ్చు.
శక్తివంతమైన ప్రాంప్ట్:
మీ పాత్ర: మోడలింగ్ అసిస్టెంట్. సమస్య: వర్గీకరణ, లక్ష్యం "చర్న్" (0/1), తరగతి అసమతుల్యత ఉంది (~12% చర్న్). విజయ ప్రమాణం: మథనపడే వారిని గుర్తుకు తెచ్చుకోవడం ప్రాధాన్యత. డేటా స్వతంత్ర పరిశీలన (సమయ శ్రేణి కాదు). టాస్క్: (1) 80/20% స్ట్రాటిఫైడ్ స్ప్లిట్, (2) డమ్మీక్లాసిఫైయర్ బేస్లైన్, (3) లాజిస్టిక్ రిగ్రెషన్, పైప్లైన్లోని అన్ని పరివర్తనలు మరియు శిక్షణ నుండి మాత్రమే నేర్చుకుంటారు. విభజనకు ముందు పరీక్ష సెట్ను తాకవద్దు.
ఇక్కడ సమస్య రకం, అసమతుల్యత, ప్రమాణం మరియు లీకేజీ కొలత స్పష్టంగా ఉన్నాయి.
సాధారణ తప్పులు
- నిజమైన ప్రయోజనం ప్రకారం విజయ ప్రమాణాలను ఎంచుకోవడం లేదు. అసమతుల్య డేటాలో "ఖచ్చితత్వం" తప్పుదారి పట్టించేది; మీరు మైనారిటీ వర్గాన్ని పట్టుకోవాలనుకుంటే, రీకాల్ తెరపైకి వస్తుంది.
- శిక్షణ సమయంలో పరీక్ష సెట్ను తాకడం. విభజనకు ముందు స్కేలింగ్/ఎన్కోడింగ్ చేయడం లీక్ మరియు నిజమైన పనితీరును దాచిపెడుతుంది.
- సమయ శ్రేణిలో యాదృచ్ఛిక విభజన. మోడల్ భవిష్యత్తును చూస్తుంది, ఉత్పత్తిలో కూలిపోతుంది; కాలానుగుణ విభజన అవసరం.
- బేస్లైన్ను ఏర్పాటు చేయకుండా సంక్లిష్ట నమూనాలోకి దూకడం. బెంచ్మార్క్లు లేకుండా మోడల్ నిజంగా మంచిదో కాదో మీకు తెలియదు.
- వ్యాఖ్యానాన్ని విస్మరించడం. వ్యాపార నిర్ణయాలలో, ఒక సాధారణ వివరించదగిన మోడల్ తరచుగా బ్లాక్ బాక్స్ కంటే విలువైనది.
చిట్కా: మీరు మోడల్ను రూపొందించడానికి ముందు, ఒక వాక్యాన్ని వ్రాయండి: "ఈ మోడల్ _____ని అంచనా వేస్తుంది, దాని విజయం మెట్రిక్ _____ ద్వారా కొలవబడుతుంది, ఎందుకంటే ఉద్యోగం యొక్క నిజమైన ధర _____." మీరు ఈ వాక్యాన్ని పూరించలేకపోతే, మీరు ఇంకా కోడ్ రాయడానికి సిద్ధంగా లేరు.
సారాంశంలో
మోడల్ను రూపొందించడంలో అత్యంత కీలకమైన భాగం కోడ్ కాదు, దానికి ముందు తీసుకునే నిర్ణయాలు: సరైన సమస్యను నిర్వచించడం (వర్గీకరణ లేదా తిరోగమనం, లక్ష్యం ఏమిటి, విజయ ప్రమాణం ఏమిటి) మరియు డేటాను సక్రమంగా విభజించడం (పరీక్ష సెట్ను తాకకుండా; సమయ శ్రేణిలో కాలక్రమం). ఎల్లప్పుడూ సరళమైన బేస్లైన్తో ప్రారంభించండి మరియు సంక్లిష్టతను దానికి అర్హమైనప్పుడు మాత్రమే జోడించండి; చాలా వ్యాపార సందర్భాలలో శక్తి కంటే అర్థవివరణకు విలువ ఇవ్వబడుతుంది. AI అనేది అల్గారిథమ్ ఎంపిక మరియు కోడ్లో శక్తివంతమైన సలహాదారు, కానీ మీరు ఏమి అంచనా వేయాలో మరియు ఎందుకు ఊహించాలో మానవుడు నిర్ణయిస్తాడు.
అప్లికేషన్ టాస్క్
అంచనా సమస్యను నిర్వచించండి మరియు కింది వాక్యాన్ని వ్రాతపూర్వకంగా పూర్తి చేయండి: "ఈ మోడల్ ___ (వర్గీకరణ/రిగ్రెషన్)ను అంచనా వేస్తుంది, లక్ష్యం ___, విజయ ప్రమాణం ___ ఎందుకంటే ___." ఆపై డేటాను సరైన వ్యూహంతో విభజించండి (ఇది సమయ శ్రేణి అయితే కాలక్రమానుసారం), బేస్లైన్ను ఏర్పాటు చేయండి మరియు సాధారణ నమూనా ఆ బేస్లైన్ను విచ్ఛిన్నం చేస్తుందో లేదో కొలవండి.
చెక్లిస్ట్
- [ ] నేను సమస్య రకం (వర్గీకరణ/రిగ్రెషన్) మరియు లక్ష్యాన్ని స్పష్టంగా నిర్వచించానా?
- [] నేను ఉద్యోగం యొక్క వాస్తవ ధర ఆధారంగా విజయ ప్రమాణాలను ఎంచుకున్నానా?
- [] నేను శిక్షణ సమయంలో పరీక్ష సెట్ను తాకకుండా వదిలేశానా?
- [ ] ఇది సమయ శ్రేణి అయితే, నేను దానిని కాలక్రమానుసారంగా విభజించానా?
- [ ] నేను కాంప్లెక్స్ మోడల్కి వెళ్లే ముందు బేస్లైన్ను ఏర్పాటు చేశానా?