मेरे पास एन-आयामी मैट्रिक्स है जिसमें एन पैरामीटर वाले फ़ंक्शन के मान हैं। प्रत्येक पैरामीटर में मूल्यों की एक अलग संख्या होती है। मुझे सभी पैरामीटर पर फ़ंक्शन को अधिकतम करने की आवश्यकता है, लेकिन एक, जिसके परिणामस्वरूप गैर-अधिकतम पैरामीटर के मानों की संख्या के बराबर आकार का एक आयामी वेक्टर होता है। मुझे यह भी सहेजने की ज़रूरत है कि अन्य मानकों द्वारा कौन से मूल्यों को लिया जाता है।धुरी पर numpy.argmax तत्वों के सूचकांक प्राप्त करें
तो मैं iteratively विभिन्न कुल्हाड़ियों से अधिक numpy.max
लागू करने के लिए मैं क्या जरूरत है खोजने के लिए मैट्रिक्स के आयामी स्वरूप को कम करना चाहता था ऐसा करने के लिए। अंतिम वेक्टर तब मेरे द्वारा छोड़े गए पैरामीटर पर निर्भर करेगा।
मुझे अंतिम तत्वों के मूल सूचकांक खोजने में परेशानी हो रही है (जिसमें अन्य मानकों द्वारा उठाए गए मूल्यों के बारे में जानकारी शामिल है)। मैं numpy.argmax
का उपयोग numpy.max
जैसा ही करता हूं लेकिन मैं मूल सूचकांक वापस नहीं प्राप्त कर सकता हूं।
मैं क्या कोशिश कर रहा हूँ का एक उदाहरण है:
x = [[[1,2],[0,1]],[[3,4],[6,7]]]
args = np.argmax(x, 0)
यह रिटर्न
[[1 1]
[1 1]]
जिसका मतलब है कि argmax तत्वों (2,1,4,7) मूल के भीतर चुन रही है, मैट्रिक्स। लेकिन उनके सूचकांक कैसे प्राप्त करें? मैट्रिक्स x
के लिए सीधे इंडेक्स के रूप में args
का उपयोग करके unravel_index
का उपयोग करके, सफलतापूर्वक बिना किसी सफलता के सूचकांक से कार्यों का एक समूह।
numpy.where
का उपयोग एक समाधान नहीं है क्योंकि इनपुट मैट्रिक्स के बराबर मूल्य हो सकते हैं, इसलिए मैं अलग-अलग मूल मानों से नहीं समझ पाऊंगा।