హగ్గింగ్ ఫేస్ లైబ్రరీలో train_test_split అనే నిర్దిష్ట ఫంక్షన్ లేదు. అయితే, మెషీన్ లెర్నింగ్ టాస్క్లలో శిక్షణ మరియు పరీక్ష కోసం డేటాను విభజించడం విషయానికి వస్తే, స్కికిట్-లెర్న్ వంటి ఇతర ప్రసిద్ధ లైబ్రరీలలో రైలు_టెస్ట్_స్ప్లిట్ ఫంక్షన్ సాధారణంగా ఉపయోగించబడుతుంది. ఇక్కడ, scikit-learn నుండి train_test_split ఫంక్షన్లో సాధారణంగా ఉపయోగించే పారామితులను మేము వివరిస్తాము.
హగ్గింగ్ ఫేస్ డేటాసెట్ లైబ్రరీలోని train_test_split పద్ధతి డేటాసెట్ను రెండు ఉపసమితులుగా విభజించడానికి ఉపయోగించబడుతుంది: శిక్షణ ఉపసమితి మరియు పరీక్ష ఉపసమితి. కనిపించని డేటాపై మోడల్ పనితీరును అంచనా వేయడానికి ఈ పద్ధతి సాధారణంగా మెషీన్ లెర్నింగ్లో ఉపయోగించబడుతుంది. శిక్షణ ఉపసమితి మోడల్కు శిక్షణ ఇవ్వడానికి ఉపయోగించబడుతుంది, అయితే పరీక్ష ఉపసమితి దాని పనితీరు మరియు సాధారణీకరణ సామర్థ్యాలను అంచనా వేయడానికి ఉపయోగించబడుతుంది.
హగ్గింగ్ ఫేస్లో train_test_split పద్ధతి యొక్క అవలోకనం ఇక్కడ ఉంది:
- test_size (numpy.random.Generator, ఐచ్ఛికం) : పరీక్ష విభజన పరిమాణం ఈ ఎంపిక ద్వారా నిర్ణయించబడుతుంది. రకం ఫ్లోట్ లేదా పూర్ణాంకం కావచ్చు.
- ఇది ఫ్లోట్గా ఇచ్చినట్లయితే, అది పరీక్ష విభజనలో చేర్చాల్సిన డేటాసెట్ శాతాన్ని ప్రతిబింబించాలి మరియు 0.0 మరియు 1.0 మధ్య ఉండాలి.
- పరీక్ష నమూనాల ఖచ్చితమైన సంఖ్య పూర్ణాంకం వలె సరఫరా చేయబడితే విలువ ద్వారా సూచించబడుతుంది.
- ఇది ఏదీ కాదుకి సెట్ చేయబడితే, రైలు పరిమాణం యొక్క పూరక విలువగా ఉపయోగించబడుతుంది.
- రైలు_పరిమాణం కూడా ఏదీ కానట్లయితే, అది 0.25కి సెట్ చేయబడుతుంది (డేటాసెట్లో 25%).
- ఇది ఫ్లోట్గా ఇచ్చినట్లయితే, అది రైలు విభజనలో చేర్చాల్సిన డేటాసెట్ శాతాన్ని ప్రతిబింబించాలి మరియు 0.0 మరియు 1.0 మధ్య ఉండాలి.
- రైలు నమూనాల ఖచ్చితమైన సంఖ్య పూర్ణాంకం వలె సరఫరా చేయబడితే అది విలువ ద్వారా సూచించబడుతుంది.
- ఇది ఏదీ లేదుకి సెట్ చేయబడితే, విలువ స్వయంచాలకంగా పరీక్ష పరిమాణం యొక్క పూరకానికి మార్చబడుతుంది.
- ఈ పరామితి డేటాను విభజించే ముందు షఫుల్ చేయాలా వద్దా అని నిర్ణయిస్తుంది.
- ఇది ఒప్పుకు సెట్ చేయబడితే, విభజనకు ముందు డేటా యాదృచ్ఛికంగా షఫుల్ చేయబడుతుంది.
- ఇది తప్పుకు సెట్ చేయబడితే, డేటా షఫుల్ చేయకుండా విభజించబడుతుంది.
- ఈ పరామితి నిర్దిష్ట కాలమ్ ఆధారంగా డేటా యొక్క స్తరీకరణ విభజన కోసం ఉపయోగించబడుతుంది.
- అది పేర్కొనబడితే, అది లేబుల్లు లేదా తరగతుల కాలమ్ పేరు అయి ఉండాలి.
- రైలు మరియు టెస్ట్ స్ప్లిట్లలో లేబుల్లు లేదా తరగతుల యొక్క ఒకే విధమైన పంపిణీని నిర్వహించే విధంగా డేటా విభజించబడుతుంది.
- ఈ పరామితి డిఫాల్ట్ BitGeneratorని ప్రారంభించడానికి ఒక విత్తనాన్ని సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
- ఇది ఏదీ కాదుకి సెట్ చేయబడితే, ఆపరేటింగ్ సిస్టమ్ నుండి తాజా, ఊహించలేని ఎంట్రోపీ తీసివేయబడుతుంది.
- పూర్ణాంకం లేదా శ్రేణి లాంటి పూర్ణాంకాలు పాస్ అయినట్లయితే, అవి ప్రారంభ BitGenerator స్థితిని పొందేందుకు ఉపయోగించబడతాయి.
- డేటాసెట్ అడ్డు వరుసల ప్రస్తారణను గణించడానికి NumPy యాదృచ్ఛిక జనరేటర్ను పేర్కొనడానికి ఈ పరామితి మిమ్మల్ని అనుమతిస్తుంది.
- ఇది ఏదీ కాదు (డిఫాల్ట్)కి సెట్ చేయబడితే, అది NumPy యొక్క డిఫాల్ట్ BitGenerator (PCG64) అయిన np.random.default_rngని ఉపయోగిస్తుంది.
- స్ప్లిట్ సూచికలను కాష్ ఫైల్కి వ్రాయడానికి బదులుగా మెమరీలో ఉంచాలా వద్దా అని ఈ పరామితి నిర్ణయిస్తుంది.
- ఇది ఒప్పుకు సెట్ చేయబడితే, విభజన ప్రక్రియలో స్ప్లిట్ సూచికలు మెమరీలో నిల్వ చేయబడతాయి.
- ఇది తప్పుకు సెట్ చేయబడితే, స్ప్లిట్ సూచికలు తర్వాత ఉపయోగం కోసం కాష్ ఫైల్కు వ్రాయబడతాయి.
- స్ప్లిట్ సూచికలను రీకంప్యూట్ చేయడానికి బదులుగా వాటిని లోడ్ చేయడానికి కాష్ ఫైల్ను ఉపయోగించాలో లేదో ఈ పరామితి నిర్ణయిస్తుంది.
- ఇది ఒప్పుకు సెట్ చేయబడి, స్ప్లిట్ సూచికలను నిల్వ చేసే కాష్ ఫైల్ను గుర్తించగలిగితే, అది ఉపయోగించబడుతుంది.
- ఇది తప్పుకు సెట్ చేయబడితే, కాష్ ఫైల్ ఉనికిలో ఉన్నప్పటికీ స్ప్లిట్ సూచికలు తిరిగి గణించబడతాయి.
- కాషింగ్ ప్రారంభించబడితే డిఫాల్ట్ విలువ నిజం.
- రైలు స్ప్లిట్ సూచికలను నిల్వ చేసే కాష్ ఫైల్ కోసం నిర్దిష్ట మార్గం లేదా పేరును అందించడానికి ఈ పరామితి మిమ్మల్ని అనుమతిస్తుంది.
- ఇది పేర్కొనబడితే, రైలు విభజన సూచికలు స్వయంచాలకంగా రూపొందించబడిన కాష్ ఫైల్ పేరుకు బదులుగా ఈ కాష్ ఫైల్లో నిల్వ చేయబడతాయి.
- పరీక్ష స్ప్లిట్ సూచికలను నిల్వ చేసే కాష్ ఫైల్ కోసం నిర్దిష్ట మార్గం లేదా పేరును అందించడానికి ఈ పరామితి మిమ్మల్ని అనుమతిస్తుంది.
- ఇది పేర్కొనబడితే, పరీక్ష స్ప్లిట్ సూచికలు స్వయంచాలకంగా రూపొందించబడిన కాష్ ఫైల్ పేరుకు బదులుగా ఈ కాష్ ఫైల్లో నిల్వ చేయబడతాయి.
- ఈ పరామితి కాష్ ఫైల్ రైటర్ కోసం ప్రతి వ్రాత ఆపరేషన్కు అడ్డు వరుసల సంఖ్యను నిర్ణయిస్తుంది.
- ఇది మెమరీ వినియోగం మరియు ప్రాసెసింగ్ వేగం మధ్య ట్రేడ్-ఆఫ్.
- అధిక విలువలు వ్రాత కార్యకలాపాల సంఖ్యను తగ్గిస్తాయి కానీ ప్రాసెసింగ్ సమయంలో ఎక్కువ మెమరీని వినియోగిస్తాయి.
- తక్కువ విలువలు తక్కువ తాత్కాలిక మెమరీని వినియోగించుకుంటాయి కానీ ప్రాసెసింగ్ వేగాన్ని కొద్దిగా ప్రభావితం చేయవచ్చు.
- ఈ పరామితి పరివర్తనను వర్తింపజేసిన తర్వాత రైలు సెట్ యొక్క కొత్త వేలిముద్రను సూచిస్తుంది.
- ఇది పేర్కొనబడితే, అది రైలు సెట్ కోసం కొత్త వేలిముద్రను అందిస్తుంది.
- ఇది ఏదీ లేదుకి సెట్ చేయబడితే, కొత్త వేలిముద్ర మునుపటి వేలిముద్ర మరియు పరివర్తన ఆర్గ్యుమెంట్ల హాష్ని ఉపయోగించి గణించబడుతుంది.
- ఈ పరామితి పరివర్తనను వర్తింపజేసిన తర్వాత పరీక్ష సెట్ యొక్క కొత్త వేలిముద్రను సూచిస్తుంది.
- ఇది పేర్కొనబడితే, ఇది పరీక్ష సెట్ కోసం కొత్త వేలిముద్రను అందిస్తుంది.
- ఇది ఏదీ లేదుకి సెట్ చేయబడితే, కొత్త వేలిముద్ర మునుపటి వేలిముద్ర మరియు పరివర్తన ఆర్గ్యుమెంట్ల హాష్ని ఉపయోగించి గణించబడుతుంది.
సింటాక్స్:
sklearn.model_selection దిగుమతి train_test_split నుండిX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
X : ఇది మీ డేటాసెట్ యొక్క ఇన్పుట్ లక్షణాలు లేదా స్వతంత్ర వేరియబుల్లను సూచిస్తుంది.
- మరియు : ఇది మీరు అంచనా వేయడానికి ప్రయత్నిస్తున్న అవుట్పుట్ లేదా డిపెండెంట్ వేరియబుల్ని సూచిస్తుంది.
- పరీక్ష_పరిమాణం : ఈ పరామితి పరీక్ష కోసం కేటాయించబడే డేటాసెట్ నిష్పత్తిని నిర్ణయిస్తుంది. దీనిని ఫ్లోట్ (ఉదా., 20%కి 0.2) లేదా పూర్ణాంకం (ఉదా., 200 నమూనాలకు 200)గా పేర్కొనవచ్చు.
- యాదృచ్ఛిక_స్థితి : ఇది యాదృచ్ఛిక సంఖ్య జనరేటర్ కోసం విత్తనాన్ని సెట్ చేయడానికి మిమ్మల్ని అనుమతించే ఐచ్ఛిక పరామితి. ఇది స్ప్లిట్ పునరుత్పత్తి చేయగలదని నిర్ధారిస్తుంది అంటే మీరు అదే యాదృచ్ఛిక స్థితి విలువను ఉపయోగిస్తే మీరు అదే విభజనను పొందుతారు.
Train_test_split ఫంక్షన్ నాలుగు సెట్ల డేటాను అందిస్తుంది:
- X_రైలు : ఇన్పుట్ లక్షణాల శిక్షణా సమితి.
- X_పరీక్ష : ఇన్పుట్ లక్షణాల పరీక్ష సెట్.
- y_రైలు : అవుట్పుట్ లేబుల్ల శిక్షణా సమితి.
- y_test : అవుట్పుట్ లేబుల్ల పరీక్ష సెట్.
ఉదాహరణ : కింది ఉదాహరణ ప్రోగ్రామ్ ఇలా సేవ్ చేయబడింది “ test.py ”.
sklearn.model_selection దిగుమతి train_test_split నుండిడేటాసెట్ల నుండి load_dataset దిగుమతి
# దశ 1: డేటాసెట్ను లోడ్ చేయండి
డేటాసెట్ = లోడ్_డేటాసెట్('imdb')
X = డేటాసెట్['రైలు']['టెక్స్ట్']
y = డేటాసెట్['రైలు']['లేబుల్']
# దశ 2: డేటాసెట్ను విభజించండి
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,
షఫుల్=నిజం, రాండమ్_స్టేట్=42)
# దశ 3: డేటాసెట్ను అన్వేషించండి
ప్రింట్ ('అసలు డేటాసెట్లోని ఉదాహరణల సంఖ్య:', లెన్(X))
ప్రింట్ ('రైలు డేటాసెట్లోని ఉదాహరణల సంఖ్య:', len(X_train))
ప్రింట్ ('పరీక్ష డేటాసెట్లోని ఉదాహరణల సంఖ్య:', లెన్(X_test))
# దశ 4: ఉదాహరణ డేటాను యాక్సెస్ చేయండి మరియు ప్రింట్ చేయండి
ప్రింట్('\nరైలు డేటాసెట్ నుండి ఉదాహరణ:')
ప్రింట్(X_train[0], y_train[0])
ప్రింట్('\nపరీక్ష డేటాసెట్ నుండి ఉదాహరణ:')
ప్రింట్(X_test[0], y_test[0])
ఈ దిగుమతి ప్రకటన స్కికిట్-లెర్న్ నుండి వచ్చింది, హగ్గింగ్ ఫేస్ డేటాసెట్ల లైబ్రరీ నుండి కాదు. దయచేసి మీరు మీ వాతావరణంలో స్కికిట్-లెర్న్ ఇన్స్టాల్ చేశారని నిర్ధారించుకోండి. కింది ఆదేశాన్ని ఉపయోగించి మీరు దీన్ని ఇన్స్టాల్ చేయవచ్చు:
పిప్ ఇన్స్టాల్ స్కికిట్-లెర్న్
వివరణ: ముందుగా, మేము అవసరమైన మాడ్యూల్ని దిగుమతి చేస్తాము: స్కికిట్-లెర్న్ నుండి train_test_split.
- మేము IMDb డేటాసెట్ను load_dataset ('imdb') ఉపయోగించి లోడ్ చేస్తాము మరియు దానిని డేటాసెట్ వేరియబుల్కు కేటాయిస్తాము.
- train_test_splitని ఉపయోగించడానికి, మేము ఇన్పుట్ ఫీచర్లను (X) మరియు సంబంధిత లేబుల్లను (y) వేరు చేయాలి. ఈ సందర్భంలో, డేటాసెట్లో ఇన్పుట్ ఫీచర్లుగా “టెక్స్ట్” మరియు సంబంధిత లేబుల్లుగా “లేబుల్” ఉన్న “రైలు” అనే స్ప్లిట్ ఉందని మేము ఊహిస్తాము. మీరు మీ డేటాసెట్ నిర్మాణం ఆధారంగా కీలను సర్దుబాటు చేయాల్సి రావచ్చు.
- మేము ఇన్పుట్ ఫీచర్లను (X) మరియు లేబుల్లను (y) ఇతర పారామితులతో పాటు train_test_splitకి పాస్ చేస్తాము. ఈ ఉదాహరణలో, మేము test_sizeని 0.2కి సెట్ చేసాము అంటే 20% డేటా పరీక్ష కోసం కేటాయించబడుతుంది. విభజనకు ముందు డేటాను యాదృచ్ఛికంగా షఫుల్ చేయడానికి షఫుల్ పరామితి “ట్రూ”కి సెట్ చేయబడింది మరియు పునరుత్పత్తి కోసం random_state పరామితి 42కి సెట్ చేయబడింది.
- Train_test_split ఫంక్షన్ నాలుగు సెట్ల డేటాను అందిస్తుంది: X_train, X_test, y_train మరియు y_test. ఇవి వరుసగా ఇన్పుట్ ఫీచర్లు మరియు లేబుల్ల శిక్షణ మరియు పరీక్ష ఉపసమితులను సూచిస్తాయి.
- మేము అసలైన డేటాసెట్ (len(X)), శిక్షణ డేటాసెట్ (len(X_train)) మరియు టెస్ట్ డేటాసెట్ (len(X_test))లోని ఉదాహరణల సంఖ్యను ప్రింట్ చేస్తాము. విభజన ప్రక్రియను ధృవీకరించడానికి మరియు ఉపసమితులు సరిగ్గా సృష్టించబడ్డాయని నిర్ధారించుకోవడానికి ఇది మమ్మల్ని అనుమతిస్తుంది.
- చివరగా, మేము శిక్షణ డేటాసెట్ (X_train[0], y_train[0]) మరియు పరీక్ష డేటాసెట్ (X_test[0], y_test[0]) నుండి ఒక ఉదాహరణను యాక్సెస్ చేసి ప్రింట్ చేస్తాము.
అవుట్పుట్ : మేము గతంలో సేవ్ చేసిన ప్రోగ్రామ్ను పైథాన్ “test.py” ఉపయోగించి అమలు చేస్తాము.
ముగింపు
హగ్గింగ్ ఫేస్ డేటాసెట్స్ లైబ్రరీ అందించిన రైలు-పరీక్ష స్ప్లిట్ ఫంక్షనాలిటీ, స్కికిట్-లెర్న్ యొక్క train_test_split ఫంక్షన్తో కలిపి, డేటాసెట్ను ప్రత్యేక శిక్షణ మరియు పరీక్ష ఉపసమితులుగా విభజించడానికి అనుకూలమైన మరియు సమర్థవంతమైన మార్గాన్ని అందిస్తుంది.
train_test_split ఫంక్షన్ని ఉపయోగించడం ద్వారా, మీరు డేటాను షఫుల్ చేయాలా వద్దా అనే పరీక్ష సెట్ పరిమాణాన్ని నియంత్రించవచ్చు మరియు పునరుత్పత్తి కోసం యాదృచ్ఛిక సీడ్ను సెట్ చేయవచ్చు. ఈ సౌలభ్యం కనిపించని డేటాపై మెషిన్ లెర్నింగ్ మోడల్లను సమర్థవంతంగా మూల్యాంకనం చేయడానికి అనుమతిస్తుంది మరియు ఓవర్ ఫిట్టింగ్ లేదా అండర్ ఫిట్టింగ్ వంటి సమస్యలను గుర్తించడంలో సహాయపడుతుంది.
Train_test_split ఫంక్షన్ యొక్క పారామితులు మీరు పరీక్ష సెట్ పరిమాణం (test_size), డేటాను షఫుల్ చేయడం (షఫుల్) మరియు నిర్దిష్ట నిలువు వరుసల (stratify_by_column) ఆధారంగా స్తరీకరించిన విభజనను చేయడం వంటి విభజన యొక్క వివిధ అంశాలను నియంత్రించడానికి మిమ్మల్ని అనుమతిస్తాయి. అదనంగా, మీరు పునరుత్పత్తి కోసం సీడ్ విలువ (సీడ్)ని పేర్కొనవచ్చు మరియు స్ప్లిట్ సూచికలను నిల్వ చేయడానికి కాష్ ఫైల్ పేర్లను అనుకూలీకరించవచ్చు (train_cache_file_name మరియు test_cache_file_name).
హగ్గింగ్ ఫేస్ అందించే కార్యాచరణ మోడల్ శిక్షణ మరియు మూల్యాంకనం కోసం మీ డేటాను సిద్ధం చేయడాన్ని సులభతరం చేస్తుంది. ప్రత్యేక శిక్షణ మరియు పరీక్ష ఉపసమితులను కలిగి ఉండటం ద్వారా, మీరు కనిపించని డేటాపై మీ మోడల్ పనితీరును ఖచ్చితంగా అంచనా వేయవచ్చు, ఓవర్ ఫిట్టింగ్ వంటి సంభావ్య సమస్యలను గుర్తించవచ్చు మరియు మోడల్ మెరుగుదలల కోసం సమాచారంతో నిర్ణయాలు తీసుకోవచ్చు.
మొత్తంమీద, హగ్గింగ్ ఫేస్ డేటాసెట్ల లైబ్రరీలోని రైలు-పరీక్ష స్ప్లిట్ ఫంక్షనాలిటీ, scikit-learn's train_test_splitతో కలిసి, సమర్థవంతమైన డేటా విభజన, మోడల్ మూల్యాంకనం మరియు బలమైన మెషీన్ లెర్నింగ్ సొల్యూషన్ల అభివృద్ధి కోసం శక్తివంతమైన టూల్సెట్ను అందిస్తుంది.