मेरे पास निम्न कोड है जो m x n
सरणी के मानों को सामान्य करने का प्रयास कर रहा है (इसे एक तंत्रिका नेटवर्क में इनपुट के रूप में उपयोग किया जाएगा, जहां m
प्रशिक्षण उदाहरणों की संख्या है और n
सुविधाओं की संख्या है)।जगह में अजीब संशोधित सरणी?
हालांकि, जब मैं दुभाषिया में सरणी का निरीक्षण करने के बाद स्क्रिप्ट चलाता है, मुझे लगता है कि मानों सामान्यीकृत नहीं हैं; यही है, उनके पास अभी भी मूल मूल्य हैं। मुझे लगता है कि ऐसा इसलिए है क्योंकि फ़ंक्शन के अंदर array
चर के लिए असाइनमेंट केवल फ़ंक्शन के भीतर देखा जाता है।
मैं जगह में इस सामान्य कैसे कर सकता है? या क्या मुझे सामान्यीकृत फ़ंक्शन से एक नई सरणी वापस करनी है?
import numpy
def normalize(array, imin = -1, imax = 1):
"""I = Imin + (Imax-Imin)*(D-Dmin)/(Dmax-Dmin)"""
dmin = array.min()
dmax = array.max()
array = imin + (imax - imin)*(array - dmin)/(dmax - dmin)
print array[0]
def main():
array = numpy.loadtxt('test.csv', delimiter=',', skiprows=1)
for column in array.T:
normalize(column)
return array
if __name__ == "__main__":
a = main()
'% timeit' क्या है? यह दिलचस्प लग रहा है, क्या यह अंतर्निहित है? – User
संस्करण मैं यहाँ का उपयोग केवल [IPython] करने के लिए बनाया गया है (http://ipython.org/)। लेकिन यह '[' timeit'] (http://docs.python.org/library/timeit.html#module-timeit) मॉड्यूल में timeit' समारोह पर आधारित है। – senderle
आह अंततः ipython पर देखा। मजेदार मैं हमेशा इसे ironpython से जुड़ा हुआ था, गलती से अब मैं देखता हूँ। – User