स्किकिट-लर्न: मल्टी-कॉलम लेबल कोडिंग का उपयोग करें
मशीन लर्निंग में, लेबल एन्कोडिंग एक श्रेणीबद्ध चर के मानों को पूर्णांक मानों में परिवर्तित करने की प्रक्रिया है।
उदाहरण के लिए, निम्नलिखित स्क्रीनशॉट दिखाता है कि टीम नामक श्रेणीबद्ध चर के प्रत्येक अद्वितीय मान को वर्णमाला क्रम के आधार पर पूर्णांक मान में कैसे परिवर्तित किया जाए:
आप पायथन में मल्टी-कॉलम लेबल एन्कोडिंग करने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:
from sklearn. preprocessing import LabelEncoder #perform label encoding on col1, col2 columns df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. apply (LabelEncoder(). fit_transform )
निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।
उदाहरण: पायथन में एन्कोडिंग लेबल
मान लीजिए कि हमारे पास निम्नलिखित पांडा डेटाफ़्रेम है जिसमें विभिन्न बास्केटबॉल खिलाड़ियों के बारे में जानकारी है:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'D'],
' position ': ['G', 'F', 'G', 'F', 'F', 'G', 'G', 'F'],
' all_star ': ['Y', 'N', 'Y', 'Y', 'Y', 'N', 'Y', 'N'],
' points ': [11, 8, 10, 6, 6, 5, 9, 12]})
#view DataFrame
print (df)
team position all_star points
0 AGY 11
1 AFN 8
2 BGY 10
3 BFY 6
4 BFY 6
5 CGN 5
6 CGY 9
7 DFN 12
हम टीम , स्थिति और ऑल_स्टार कॉलम में प्रत्येक श्रेणीगत मान को पूर्णांक मान में बदलने के लिए लेबल एन्कोडिंग करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:
from sklearn. preprocessing import LabelEncoder #perform label encoding across team, position, and all_star columns df[[' team ', ' position ', ' all_star ']] = df[[' team ', ' position ', ' all_star ']]. apply (LabelEncoder(). fit_transform ) #view udpated DataFrame print (df) team position all_star points 0 0 1 1 11 1 0 0 0 8 2 1 1 1 10 3 1 0 1 6 4 1 0 1 6 5 2 1 0 5 6 2 1 1 9 7 3 0 0 12
परिणाम से, हम देख सकते हैं कि टीम , स्थिति और ऑल_स्टार कॉलम के प्रत्येक मान को पूर्णांक मानों में बदल दिया गया है।
उदाहरण के लिए, टीम कॉलम में हम देख सकते हैं:
- प्रत्येक “ए” मान को 0 में बदल दिया गया है।
- प्रत्येक “बी” मान को 1 में बदल दिया गया है।
- प्रत्येक “सी” मान को 2 में परिवर्तित किया गया था।
- प्रत्येक “डी” मान को 3 में परिवर्तित किया गया था।
ध्यान दें कि इस उदाहरण में हमने डेटाफ़्रेम के तीन कॉलमों पर लेबल एन्कोडिंग की है, लेकिन हम जितने चाहें उतने श्रेणीगत कॉलमों पर लेबल एन्कोडिंग करने के लिए समान सिंटैक्स का उपयोग कर सकते हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि पायथन में अन्य सामान्य कार्य कैसे करें:
पंडों में श्रेणीबद्ध चर को संख्यात्मक में कैसे परिवर्तित करें
पांडा में बूलियन मानों को पूर्णांक मानों में कैसे परिवर्तित करें
पंडों में स्ट्रिंग्स को संख्याओं के रूप में एन्कोड करने के लिए फ़ैक्टराइज़() का उपयोग कैसे करें