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))
তাদের কাজ করা উচিত (এবং আমার জন্য তারা করে)।