dotম্যাট্রিক্সের গুণ, তবে *অন্য কিছু করে।
আমাদের দুটি অ্যারে রয়েছে:
X, আকৃতি (97,2)
y, আকৃতি (2,1)
নম্পি অ্যারে, অপারেশন সহ
X * y
উপাদান অনুসারে সম্পন্ন হয়, তবে এক বা দুটি মান উভয়ই এক বা একাধিক মাত্রায় প্রসারিত করে সামঞ্জস্যপূর্ণ করতে পারে। এই অপারেশনটিকে সম্প্রচার বলা হয়। আকার যেখানে 1 বা যেটি অনুপস্থিত রয়েছে সেগুলি সম্প্রচারে ব্যবহার করা যেতে পারে।
উপরের উদাহরণে মাত্রাগুলি বেমানান, কারণ:
97 2
2 1
এখানে প্রথম মাত্রায় বিরোধী সংখ্যা রয়েছে (97 এবং 2)। উপরের ভ্যালুরইরারের অভিযোগ এটি। দ্বিতীয় মাত্রা ঠিক হবে, কারণ 1 নম্বর কোনও কিছুর সাথে বিরোধ করে না conflict
সম্প্রচারের বিধি সম্পর্কে আরও তথ্যের জন্য: http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html
(দয়া করে নোট করুন Xএবং yযদি এটি টাইপ হয় numpy.matrix, তবে অস্ট্রিকটি ম্যাট্রিক্সের গুণক হিসাবে ব্যবহার করা যেতে পারে My আমার প্রস্তাবটি এড়ানো থেকে দূরে রাখা numpy.matrix, এটি জিনিসগুলিকে সরলীকরণের চেয়ে আরও জটিল করে তোলে))
আপনার অ্যারে দিয়ে ভাল হতে হবে numpy.dot; আপনি যদি কোনও ত্রুটি পেয়ে থাকেন তবে আপনার numpy.dotঅবশ্যই অন্য কিছু বাগ থাকতে হবে। আকারগুলি যদি ভুল হয় তবে numpy.dotআপনি আলাদা ব্যতিক্রম পান:
ValueError: matrices are not aligned
আপনি যদি এখনও এই ত্রুটিটি পান তবে দয়া করে সমস্যার একটি সর্বনিম্ন উদাহরণ পোস্ট করুন। আপনার মতো অ্যারের আকারের একটি উদাহরণ গুণফল সফল হয়:
In [1]: import numpy
In [2]: numpy.dot(numpy.ones([97, 2]), numpy.ones([2, 1])).shape
Out[2]: (97, 1)
X*yকাজ করা উচিত নয় (এবং এটি কাজ করে না),np.dot(X,y)এবংX.dot(y))তাদের কাজ করা উচিত (এবং আমার জন্য তারা করে)।