दिलचस्प पोस्ट
(नोड: 3341) अपवित्रीकरण चेतावनी: मोंगोज़: एमप्रोमिस अजगर – सूची की सूची के माध्यम से चलना सामग्री ऊंचाई के अनुसार iframe की ऊंचाई का आकार बदलें रिपॉज़िटरी पैटर्न का उपयोग नहीं करना, जैसा कि ओआरएम (ईएफ) PHP वैरिएबल – कंसनेनेट वैरिएबल नाम सी में atoi () का उपयोग करते हुए मुझे यह अनपेक्षित परिणाम क्यों मिलता है? यदि वैरिएबल नाम स्ट्रिंग के रूप में संग्रहीत है तो एक वैरिएबल वैल्यू कैसे प्राप्त करें? ES6 वर्ग तरीकों पर विस्फोटक UIView autoresizingMask – संहिता के लिए इंटरफ़ेस बिल्डर – प्रोग्राममैटिक स्ट्रट्स और स्प्रिंग्स बनाएं – स्विफ्ट या ऑब्जेक्टिव-सी वास्तव में "जैसा-अगर" नियम क्या है? सही ढंग से निर्धारित करें कि तिथि स्ट्रिंग उस स्वरूप में मान्य दिनांक है या नहीं पायथन सॉकेट बफर बनाम भेजें। Str MySQL में एपॉस्ट्रॉफी (') कैसे बचें? एक्सेल VBA का उपयोग कर कमांड प्रॉम्प्ट में एक कमांड निष्पादित करें इनो सेटअप का उपयोग करके फ़ाइल पर 'व्यवस्थापक के रूप में चलाएं' को कैसे सेट करें

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

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

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