दिलचस्प पोस्ट
मैं अपने टेम्पलेट के बिना किसी भी MySQL तालिका में सभी डुप्लिकेट रिकॉर्ड कैसे हटाऊं? कैसे संपर्क डेटाबेस में परिवर्तन के लिए सुनने के लिए रिमोट करने का प्रयास करते समय "घातक: एक जीआईटी रिपोजिटरी नहीं" प्राप्त करना डेस्कटॉप और मोबाइल दृश्यों के लिए वस्तुओं को पुन: व्यवस्थित करने के लिए फ्लेक्स ऑर्डर की सुविधा का उपयोग करना मेरी जावास्क्रिप्ट को "नो" एक्सेस-कंट्रोल-अनुमति-मूल-शीर्षक क्यों मिलता है? अनुरोधित संसाधन पर मौजूद है "त्रुटि जब डाकिया नहीं करता है? मैं जावा में एक लिंक्ड सूची डेटा संरचना कैसे बनाऊं? Std :: सदस्य फ़ंक्शन के साथ बाइंडिंग का उपयोग करना, ऑब्जेक्ट पॉइंटर का उपयोग करें या इस तर्क के लिए नहीं? Scoping नियमों का संक्षिप्त विवरण? MYSQL में सामान्यकरण जावास्क्रिप्ट में प्रोटोटाइप विरासत को समझना किसी रिश्तेदार पथ जैसे "../include/header.h" शीर्षक के लिए क्या फायदे हैं? एपीआई स्तर 11 से पहले Android datepicker min max date JLabel में बहुभाषी पाठ "चेतावनी सामग्री शरीर की लंबाई की लंबाई निर्धारित नहीं कर सका" क्या मतलब है और इसे कैसे से छुटकारा मिल सकता है? वेक्टर में प्रत्येक अनूठी तत्व की घटनाओं की संख्या निर्धारित करना

कैसे एक गर्म सांकेतिक शब्दों में बदलना संस्करण की लंबाई विशेषताएं?

संस्करण की लंबाई की विशेषताओं की सूची को देखते हुए:

features = [ ['f1', 'f2', 'f3'], ['f2', 'f4', 'f5', 'f6'], ['f1', 'f2'] ] 

जहां प्रत्येक नमूने में कई प्रकार की विशेषताएं हैं और फीचर dtype str और पहले से ही एक गर्म है

स्केलैन के फीचर चयन उपयोगिताओं का उपयोग करने के लिए, मुझे features को 2 डी-सरणी में कनवर्ट करना होगा जो ऐसा दिखता है:

  f1 f2 f3 f4 f5 f6 s1 1 1 1 0 0 0 s2 0 1 0 1 1 1 s3 1 1 0 0 0 0 

मैं स्केलेर्न या एमएमपी के माध्यम से इसे कैसे हासिल कर सकता हूं?

वेब के समाधान से एकत्रित समाधान "कैसे एक गर्म सांकेतिक शब्दों में बदलना संस्करण की लंबाई विशेषताएं?"

आप साइकोकिट में मल्टीलेबलबिनारिजर का उपयोग कर सकते हैं जो विशेष रूप से ऐसा करने के लिए किया जाता है।

आपके उदाहरण के लिए कोड:

 features = [ ['f1', 'f2', 'f3'], ['f2', 'f4', 'f5', 'f6'], ['f1', 'f2'] ] from sklearn.preprocessing import MultiLabelBinarizer mlb = MultiLabelBinarizer() new_features = mlb.fit_transform(features) 

आउटपुट:

 array([[1, 1, 1, 0, 0, 0], [0, 1, 0, 1, 1, 1], [1, 1, 0, 0, 0, 0]]) 

यह एक अन्य पाइपलाइन में भी इस्तेमाल किया जा सकता है, साथ ही अन्य फीचर्स_सच्ची उपयोगिताओं।

यहां NumPy विधियों और पेंडस डेटाफ्रेम के रूप में आउटपुट के साथ एक दृष्टिकोण है –

 import numpy as np import pandas as pd lens = list(map(len, features)) N = len(lens) unq, col = np.unique(np.concatenate(features),return_inverse=1) row = np.repeat(np.arange(N), lens) out = np.zeros((N,len(unq)),dtype=int) out[row,col] = 1 indx = ['s'+str(i+1) for i in range(N)] df_out = pd.DataFrame(out, columns=unq, index=indx) 

नमूना इनपुट, आउटपुट –

 In [80]: features Out[80]: [['f1', 'f2', 'f3'], ['f2', 'f4', 'f5', 'f6'], ['f1', 'f2']] In [81]: df_out Out[81]: f1 f2 f3 f4 f5 f6 s1 1 1 1 0 0 0 s2 0 1 0 1 1 1 s3 1 1 0 0 0 0