{"id":14575,"date":"2019-01-07T18:43:27","date_gmt":"2019-01-07T23:43:27","guid":{"rendered":"http:\/\/bangla.salearningschool.com\/recent-posts\/?p=14575"},"modified":"2019-01-09T07:08:53","modified_gmt":"2019-01-09T12:08:53","slug":"14575-2","status":"publish","type":"post","link":"http:\/\/bangla.sitestree.com\/?p=14575","title":{"rendered":"\u09ae\u09c7\u09b6\u09bf\u09a8 \u09b2\u09be\u09b0\u09a8\u09bf\u0982 \u0983 Implement: Multivariate Regression: Python"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"docs-internal-guid-56b758ba-7fff-78af-8b20-bd75cf65cbeb\">\u09ae\u09c7\u09b6\u09bf\u09a8 \u09b2\u09be\u09b0\u09a8\u09bf\u0982 \u0983 Implement: Multivariate Regression: Python<\/h2>\n\n\n\n<p>\u09b6\u09a4 \u09ad\u09be\u0997  \u09b8\u09a0\u09bf\u0995 \u09a8\u09be\u0989 \u09b9\u09a4\u09c7 \u09aa\u09be\u09b0\u09c7\u0964 <\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Theory reference: https:\/\/www.cmpe.boun.edu.tr\/~ethem\/i2ml\/slides\/v1-1\/i2ml-chap5-v1-1.pdf . This is an approximate solution to start with. Understand the theory and then adjust\/fix\/improve<\/p>\n\n\n\n<p>import numpy as np<\/p>\n\n\n\n<p>import random<br \/><\/p>\n\n\n\n<p>print(&#8216;Iterations: rows: Please enter the number of samples for each variable\/dimension&#8217;)<\/p>\n\n\n\n<p>n_number_of_samples_rows = int(input())<br \/><\/p>\n\n\n\n<p>print(&#8216;Columns: Dimensions: Please enter &nbsp;number of variables&#8217;)<\/p>\n\n\n\n<p>m_number_of_variables_cols = int(input())<br \/><\/p>\n\n\n\n<p># initialize the input data variables<\/p>\n\n\n\n<p>print(m_number_of_variables_cols, n_number_of_samples_rows)<\/p>\n\n\n\n<p>X = np.zeros((n_number_of_samples_rows, m_number_of_variables_cols)) &nbsp;<br \/><\/p>\n\n\n\n<p>#Y_actually_R = np.zeros((n_number_of_samples_rows, m_number_of_variables_cols))<\/p>\n\n\n\n<p>Y_actually_R = np.zeros((n_number_of_samples_rows * 1)) #m_number_of_variables_cols<br \/><\/p>\n\n\n\n<p>#generate random data<\/p>\n\n\n\n<p>for n in range (n_number_of_samples_rows):<\/p>\n\n\n\n<p> &nbsp;&nbsp;&nbsp;for m in range(m_number_of_variables_cols):<\/p>\n\n\n\n<p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;X[n,m] = random.random()<\/p>\n\n\n\n<p> &nbsp;&nbsp;&nbsp;Y_actually_R[n] = random.random()<br \/><\/p>\n\n\n\n<p>print(&#8220;X&#8221;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\n\n\n\n<p>print(X)<br \/><\/p>\n\n\n\n<p>print(&#8220;Y in row format&#8221;)<\/p>\n\n\n\n<p>print(Y_actually_R)<br \/><\/p>\n\n\n\n<p>print(&#8220;Y in column\/vector format&#8221;)<\/p>\n\n\n\n<p>Y_actually_R = np.transpose(Y_actually_R) #transpose<\/p>\n\n\n\n<p>print(Y_actually_R)<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>#convert to matrix<\/p>\n\n\n\n<p>X = np.matrix(X)<\/p>\n\n\n\n<p>Y_actually_R = np.matrix(Y_actually_R) <br \/><\/p>\n\n\n\n<p>print(&#8216;&#8212;&#8212;&#8212;&#8212;-matrix-print&#8212;X and then Y&#8217;)<\/p>\n\n\n\n<p>print(X)<br \/><\/p>\n\n\n\n<p>print(&#8216;Y matrix&#8217;)<\/p>\n\n\n\n<p>print(Y_actually_R)<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>#THE EQUATION: steps to calculate W matrix: &nbsp;w = (((X.Transpose) * X).invert) * X.Transpose * r<br \/><\/p>\n\n\n\n<p>#transpose X<\/p>\n\n\n\n<p>X_transpose = np.transpose(X)<\/p>\n\n\n\n<p>print(&#8216;X_transpose&#8217;)<\/p>\n\n\n\n<p>print(X_transpose)<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>#(X.Transpose) * X) &nbsp;&nbsp;of [w = (((X.Transpose) * X).invert) * X.Transpose * r]<\/p>\n\n\n\n<p>w_parameters = &nbsp;np.dot(X_transpose, X) #does np.multiply work? probably need shapoing\/reshaping<\/p>\n\n\n\n<p>print(&#8216;first dot&#8217;)<\/p>\n\n\n\n<p>print(w_parameters)<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>#(X.Transpose) * X).invert<\/p>\n\n\n\n<p>w_parameters = np.linalg.inv(w_parameters)<\/p>\n\n\n\n<p>print(&#8216;inverted&#8217;)<\/p>\n\n\n\n<p>print(w_parameters)<br \/><\/p>\n\n\n\n<p>#(((X.Transpose) * X).invert) * X.Transpose <\/p>\n\n\n\n<p>w_parameters = np.dot(w_parameters, X_transpose)<\/p>\n\n\n\n<p>print(&#8216;2nd dot&#8217;)<\/p>\n\n\n\n<p>print(w_parameters)<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>#(((X.Transpose) * X).invert) * X.Transpose * r<\/p>\n\n\n\n<p>#Y_actually_R = np.transpose(Y_actually_R)<\/p>\n\n\n\n<p>w_parameters = np.dot(w_parameters, np.transpose(Y_actually_R)) #np.dot( np.transpose(w_parameters), np.transpose(Y_actually_R))<\/p>\n\n\n\n<p>#two times transpose &#8211; redundant. actually, we could avoid both transpose of Y upto this point &nbsp;<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>print(&#8216;w_matrix&#8217;)<\/p>\n\n\n\n<p>print(w_parameters)<\/p>\n\n\n\n<p>w_matrix = w_parameters &nbsp;<br \/><\/p>\n\n\n\n<p>#sum of ( rt &#8211; w0 &#8211; w1x1 &#8211; w2x2 &#8230;.. wd * xd ) &nbsp;&nbsp;rt = Y_Actually_R[t 1&#8230;.N][variable_1&#8230;.d]<\/p>\n\n\n\n<p>#d eqv to m_number_of_variables_cols &#8212; i used m for that<\/p>\n\n\n\n<p>#E(w 0 ,w 1 ,&#8230;,w d |X )<br \/><\/p>\n\n\n\n<p>#Should it be a matrix or just one total sum? I assume one total sum<\/p>\n\n\n\n<p>error_matrix = np.zeros(m_number_of_variables_cols)<\/p>\n\n\n\n<p>error_sum = 0<br \/><\/p>\n\n\n\n<p>#calculate error<\/p>\n\n\n\n<p>Y_actually_R = np.transpose(Y_actually_R) #np.array(Y_actually_R)<\/p>\n\n\n\n<p>for n in range(n_number_of_samples_rows):<\/p>\n\n\n\n<p> &nbsp;&nbsp;&nbsp;sum = 0<\/p>\n\n\n\n<p> &nbsp;&nbsp;&nbsp;for m in range(m_number_of_variables_cols):<\/p>\n\n\n\n<p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum = Y_actually_R[m] <\/p>\n\n\n\n<p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#2nd part ie &nbsp;w1x1 w2x2 wdxd of the equation: sum of ( rt &#8211; w0 &#8211; w1x1 &#8211; w2x2 &#8230;.. wd * xd )<\/p>\n\n\n\n<p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wpart = w_matrix[0] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\n\n\n\n<p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for ii in range(1,m_number_of_variables_cols): # d = m_number_of_variables_cols, sum of w1x1, w2x2 to wdxd &nbsp;<\/p>\n\n\n\n<p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wpart +=  w_matrix[ii] * X[n,m] #+ w_matrix[2][m] * X[n][m]<\/p>\n\n\n\n<p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#sum = sum &#8211; wpart<\/p>\n\n\n\n<p> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum = pow( (sum &#8211; wpart), 2)<\/p>\n\n\n\n<p> &nbsp;&nbsp;&nbsp;error_matrix[m] = 0.5 * pow ( &nbsp;(sum &#8211; wpart), 2) <\/p>\n\n\n\n<p> &nbsp;&nbsp;&nbsp;error_sum += sum #error_matrix[m] #pow ( &nbsp;(sum &#8211; wpart), 2)<\/p>\n\n\n\n<p>error_sum = 0.5 * error_sum &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\n\n\n\n<p>print(&#8216;error matrix if supposed to be = number of variables&#8217;) &nbsp;<\/p>\n\n\n\n<p>print(error_matrix) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br \/><\/p>\n\n\n\n<p>print(&#8216;Error if supposed to be one number i.e. sum of all errors&#8217;)<\/p>\n\n\n\n<p>print(error_sum)<br \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u09ae\u09c7\u09b6\u09bf\u09a8 \u09b2\u09be\u09b0\u09a8\u09bf\u0982 \u0983 Implement: Multivariate Regression: Python \u09b6\u09a4 \u09ad\u09be\u0997 \u09b8\u09a0\u09bf\u0995 \u09a8\u09be\u0989 \u09b9\u09a4\u09c7 \u09aa\u09be\u09b0\u09c7\u0964 Theory reference: https:\/\/www.cmpe.boun.edu.tr\/~ethem\/i2ml\/slides\/v1-1\/i2ml-chap5-v1-1.pdf . This is an approximate solution to start with. Understand the theory and then adjust\/fix\/improve import numpy as np import random print(&#8216;Iterations: rows: Please enter the number of samples for each variable\/dimension&#8217;) n_number_of_samples_rows = int(input()) print(&#8216;Columns: Dimensions: Please enter &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"http:\/\/bangla.sitestree.com\/?p=14575\">Continue reading<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[182],"tags":[],"class_list":["post-14575","post","type-post","status-publish","format-standard","hentry","category---blog","item-wrap"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":13875,"url":"http:\/\/bangla.sitestree.com\/?p=13875","url_meta":{"origin":14575,"position":0},"title":"\u09ae\u09c7\u09b6\u09bf\u09a8 \u09b2\u09be\u09b0\u09cd\u09a8\u09bf\u0982 &#8212; Machine Learning","author":"Author-Check- Article-or-Video","date":"November 2, 2017","format":false,"excerpt":"","rel":"","context":"In &quot;\u09ac\u09be\u0982\u09b2\u09be\u09a4\u09c7 \u09ae\u09c7\u09b6\u09bf\u09a8 \u09b2\u09be\u09b0\u09cd\u09a8\u09bf\u0982 \u0983 Machine Learning in Bengali&quot;","block_context":{"text":"\u09ac\u09be\u0982\u09b2\u09be\u09a4\u09c7 \u09ae\u09c7\u09b6\u09bf\u09a8 \u09b2\u09be\u09b0\u09cd\u09a8\u09bf\u0982 \u0983 Machine Learning in Bengali","link":"http:\/\/bangla.sitestree.com\/?cat=1885"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bangla.sitestree.com\/wp-content\/uploads\/2017\/11\/hqdefault-77.jpg?fit=480%2C360&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":16619,"url":"http:\/\/bangla.sitestree.com\/?p=16619","url_meta":{"origin":14575,"position":1},"title":"Math\/Stat\/CS\/DS Topics that you need to know (with Cognitive, Psychomotor, Affective domain skills) to become a true and great Data Scientist","author":"Sayed","date":"January 7, 2020","format":false,"excerpt":"\"The core topics are cross-validation, shrinkage methods (ridge regression, the LASSO, etc.), neural networks, gradient boosting, separating hyperplanes, support vector machines, basis expansion and regularization (e.g., smoothing splines, wavelet smoothing, kernel smoothing), generalized additive models, bump hunting, multivariate adaptive regression splines (MARS), self-organizing maps, mixture model-based clustering, ensemble learning, and\u2026","rel":"","context":"In &quot;Math and Statistics for Data Science, and Engineering&quot;","block_context":{"text":"Math and Statistics for Data Science, and Engineering","link":"http:\/\/bangla.sitestree.com\/?cat=1908"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":13873,"url":"http:\/\/bangla.sitestree.com\/?p=13873","url_meta":{"origin":14575,"position":2},"title":"Color Constancy [in Bangla]","author":"Author-Check- Article-or-Video","date":"November 2, 2017","format":false,"excerpt":"","rel":"","context":"In &quot;\u09ac\u09be\u0982\u09b2\u09be\u09a4\u09c7 \u09ae\u09c7\u09b6\u09bf\u09a8 \u09b2\u09be\u09b0\u09cd\u09a8\u09bf\u0982 \u0983 Machine Learning in Bengali&quot;","block_context":{"text":"\u09ac\u09be\u0982\u09b2\u09be\u09a4\u09c7 \u09ae\u09c7\u09b6\u09bf\u09a8 \u09b2\u09be\u09b0\u09cd\u09a8\u09bf\u0982 \u0983 Machine Learning in Bengali","link":"http:\/\/bangla.sitestree.com\/?cat=1885"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bangla.sitestree.com\/wp-content\/uploads\/2017\/11\/hqdefault-76.jpg?fit=480%2C360&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":13833,"url":"http:\/\/bangla.sitestree.com\/?p=13833","url_meta":{"origin":14575,"position":3},"title":"Why image Smoothing ? [in Bangla]","author":"Author-Check- Article-or-Video","date":"November 2, 2017","format":false,"excerpt":"In Bangla, I explained the motivation behind Image Smoothing.","rel":"","context":"In &quot;\u09ac\u09be\u0982\u09b2\u09be\u09a4\u09c7 \u09ae\u09c7\u09b6\u09bf\u09a8 \u09b2\u09be\u09b0\u09cd\u09a8\u09bf\u0982 \u0983 Machine Learning in Bengali&quot;","block_context":{"text":"\u09ac\u09be\u0982\u09b2\u09be\u09a4\u09c7 \u09ae\u09c7\u09b6\u09bf\u09a8 \u09b2\u09be\u09b0\u09cd\u09a8\u09bf\u0982 \u0983 Machine Learning in Bengali","link":"http:\/\/bangla.sitestree.com\/?cat=1885"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bangla.sitestree.com\/wp-content\/uploads\/2017\/11\/hqdefault-56.jpg?fit=480%2C360&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":13831,"url":"http:\/\/bangla.sitestree.com\/?p=13831","url_meta":{"origin":14575,"position":4},"title":"High Dynamic Range Imaging [in Bangla]","author":"Author-Check- Article-or-Video","date":"November 2, 2017","format":false,"excerpt":"What is high dynamic range imaging?","rel":"","context":"In &quot;\u09ac\u09be\u0982\u09b2\u09be\u09a4\u09c7 \u09ae\u09c7\u09b6\u09bf\u09a8 \u09b2\u09be\u09b0\u09cd\u09a8\u09bf\u0982 \u0983 Machine Learning in Bengali&quot;","block_context":{"text":"\u09ac\u09be\u0982\u09b2\u09be\u09a4\u09c7 \u09ae\u09c7\u09b6\u09bf\u09a8 \u09b2\u09be\u09b0\u09cd\u09a8\u09bf\u0982 \u0983 Machine Learning in Bengali","link":"http:\/\/bangla.sitestree.com\/?cat=1885"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bangla.sitestree.com\/wp-content\/uploads\/2017\/11\/hqdefault-55.jpg?fit=480%2C360&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":76257,"url":"http:\/\/bangla.sitestree.com\/?p=76257","url_meta":{"origin":14575,"position":5},"title":"Can you answer these questions on Data Science Project Development","author":"Sayed","date":"August 24, 2024","format":false,"excerpt":"Can you answer these questions on Data Science Project Development Questions to answer 1. What does a data science project usually involve? What is the common theme across data science projects? 2. Does industry projects and research projects differ? Why and to what extent? 3. What are the some dataset\u2026","rel":"","context":"In &quot;\u09ac\u09cd\u09b2\u0997 \u0964 Blog&quot;","block_context":{"text":"\u09ac\u09cd\u09b2\u0997 \u0964 Blog","link":"http:\/\/bangla.sitestree.com\/?cat=182"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/14575","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14575"}],"version-history":[{"count":2,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/14575\/revisions"}],"predecessor-version":[{"id":14578,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/14575\/revisions\/14578"}],"wp:attachment":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14575"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}