<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Visit Manomaivisit</title>
    <description>The latest articles on DEV Community by Visit Manomaivisit (@visitmanomaivisit).</description>
    <link>https://dev.to/visitmanomaivisit</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1422642%2Fa5d203ac-3e2a-456c-b10b-9088e91a93d5.png</url>
      <title>DEV Community: Visit Manomaivisit</title>
      <link>https://dev.to/visitmanomaivisit</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/visitmanomaivisit"/>
    <language>en</language>
    <item>
      <title>การแสดง Multiple Linear Regression เป็นกราฟ 3 มิติ โดยใช้ Python</title>
      <dc:creator>Visit Manomaivisit</dc:creator>
      <pubDate>Sun, 14 Apr 2024 15:20:14 +0000</pubDate>
      <link>https://dev.to/visitmanomaivisit/kaaraesdng-multiple-linear-regression-epnkraaf-3-miti-odyaich-python-1n03</link>
      <guid>https://dev.to/visitmanomaivisit/kaaraesdng-multiple-linear-regression-epnkraaf-3-miti-odyaich-python-1n03</guid>
      <description>&lt;p&gt;ในการที่เราจะทำการคาดคะเนหรือทำนายของยอดขายของสินค้าเราจำเป็นต้องมีการนำตัวแปรหลายตัว เช่น ราคาสินค้า,ปริมาณการลงโฆษณา ที่มีผลต่อการยอดขายสินค้า ซึ่งหนึ่งในวิธีในการที่จะใช้ในการทำนายข้อมูลแบบนี้คือ Multiple Linear Regression &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multiple Linear Regression (MLR)&lt;/strong&gt; คือ สมการเชิงเส้นที่มีตัวแปรอิสระหรือตัวแปร X มากกว่า 1 ตัวมาเป็นตัวกำหนดตัวแปรตามหรือค่า Y โดยมีสมการในการคำนวณดังนี้&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftso3g2fgafxtlst8okzp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftso3g2fgafxtlst8okzp.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Y คือ ตัวแปรตาม&lt;/li&gt;
&lt;li&gt;X คือ ตัวแปรอิสระ&lt;/li&gt;
&lt;li&gt;β คือ พารามิเตอร์&lt;/li&gt;
&lt;li&gt;ε คือ ความคลาดเคลื่อน&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Multiple Linear Regression นั้นสามารถใช้งานได้ในการ วิเคราะห์ความสัมพันธ์ การทำนายหรือการหาค่าคงที่&lt;/p&gt;

&lt;p&gt;ซึ่งในบทความนี้เราจะใช้ Multiple Linear Regression ใน Python  ซึ่งจะทำทั้งหมดนี้ใน Google Colab และในส่วนของ Dataset จะเป็นการกำหนดขึ้นมาเอง&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ขั้นตอนการทำ&lt;/strong&gt;&lt;br&gt;
ขั้นที่ 1 : &lt;em&gt;นำเข้า libraries ที่ต้องการใช้ทั้งหมดลงใน Google Colab &lt;br&gt;
โดยตัวแปร x กับ y จะใช้ในการสร้าง&lt;/em&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

import numpy as np
X= [[160,100],[179,189],[175,321],[190,320],[195,480],[185,185],[179,149],[200,150],[189,350],[221,240],[235,120],[269,280],[259,345],[269,135],[279,378]]
Y= [0.80,1.50,2.22,1.68,1.85,1.45,0.90,0.60,1.85,1.30,0.55,1.06,1.33,0.64,1.23]


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;ขั้นที่ 2 : _ทำการเตรียมข้อมูลให้อยู่ในรูปแบบ DataFrame เพื่อนำมาใช้ในการสร้างโมเดล _&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

import pandas as pd
df2=pd.DataFrame(X,columns=['Price','AdSpends'])
df2['Sales']=pd.Series(Y)
df2


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;ขั้นที่ 3 : &lt;em&gt;สร้างและประมวลผลโมเดล Multiple Linear Regression โดยใช้ statsmodels และเก็บผลลัพธ์ไว้ในตัวแปร&lt;/em&gt; &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

import matplotlib.pyplot as plt
import statsmodels.formula.api as smf
model = smf.ols(formula='Sales ~ Price + AdSpends', data=df2)
results_formula = model.fit()
results_formula.params



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;ขั้นที่ 4 : &lt;em&gt;เตรียมข้อมูลเพื่อนำไปใช้ในการพล็อตกราฟ&lt;/em&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

x_surf, y_surf = np.meshgrid(np.linspace(df2.Price.min(), df2.Price.max(), 100),np.linspace(df2.AdSpends.min(), df2.AdSpends.max(), 100))
onlyX = pd.DataFrame({'Price': x_surf.ravel(), 'AdSpends': y_surf.ravel()})
fittedY=results_formula.predict(exog=onlyX)


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;ขั้นที่ 5 : &lt;em&gt;แปลงผลลัพธ์ที่ได้มาเป็นอาร์เรย์&lt;/em&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

fittedY=np.array(fittedY)


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;ขั้นที่ 6 : &lt;em&gt;ทำการพล็อตกราฟ 3 มิติเพื่อแสดงการกระจายของข้อมูลตัวแปรอิสระ  และผลลัพธ์ที่ทำนายได้ โดยอยู่แสดงออกมาเป็นภาพของภาพสี่เหลี่ยมสีฟ้า&lt;/em&gt; &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(df2['Price'],df2['AdSpends'],df2['Sales'],c='red', marker='o', alpha=0.3)
ax.plot_surface(x_surf,y_surf,fittedY.reshape(x_surf.shape), color='b', alpha=0.4)
ax.set_xlabel('Price')
ax.set_ylabel('AdSpends')
ax.set_zlabel('Sales')
plt.show()


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;เพิ่มเติม หากคุณต้องจะกำหนดขนาดของพื้นที่กราฟให้คำการเพิ่ม Code &lt;br&gt;
fig = plt.figure(figsize=(n,n)) แทนตัวของ  fig = plt.figure()  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fma6n0c66ptqknp8m22mc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fma6n0c66ptqknp8m22mc.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;สรุปผล&lt;/strong&gt;&lt;br&gt;
ถ้าหากเราต้องการที่จะทำการคาดคะเนตัวแปรใดตัวแปรหนึ่ง โดยที่ตัวแปรนั้นๆมีความเกี่ยวข้องกับตัวแปรอื่นๆกันให้อยู่ในรูปของกราฟ 3 มิติเพื่อใช้ในการระบุข้อมูลต่างๆนั้นสามารถใช้ Multiple Linear Regression ในการช่วยคำนวณได้&lt;/p&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
