# import 是 Python 載入套件的基本語法 (類似 C 語言的 include),後面接要載入的套件 # import AAAAA as BB,其中 BB 是代稱,表示除了載入 AAAAA 之外,之後都可以用 BB 代替 AAAAA 這個名稱 # 常用套件往往有其對應代稱,numpy 的代稱是 np,pandas 的代稱是 pd,matplotlib.pyplot 的代稱是 plt # numpy 常用於數值/陣列運算,pandas 擅長資料格式的調整,matplotlib 擅長繪圖 import numpy as np import matplotlib.pyplot as plt # plt.style.use(['dark_background']) # Dark Mode for plot
這裡稍微提一下關於 Dark Mode for plot 語法的用意,主要是因為我平時使用的 MacOS 及 IDE 介面為 Dark Mode,而一般 Plot 在作圖時所呈現的樣式為 Light Background,在 Dark Mode 中會非常突兀,所以我會使用 Dark Background 來改變它的樣式,大家可以依照自己的習慣來使用。
# 這邊就是將 x_lin 以及剛剛算完的 y 當作座標值,將101個點在平面上畫出來 # b. 的 b 就是 blue,而 (.) 就是最小單位的形狀,詳細可以查 matplotlib 的官方說明 plt.plot(x_lin, y, 'b.', label = 'data points') plt.title("Assume we have data points") plt.legend(loc = 2) # legend 標籤說明的位置 plt.show()
1 2 3 4 5 6 7 8
# 這邊的 y_hat,就沒有隨機的部分了,也就是下圖中的紅色實線部分 y_hat = x_lin * w + b plt.plot(x_lin, y, 'b.', label = 'data') # 上面的 'b.' 是藍色點狀,下面的 'r-' 是紅色線狀,label 是圖示上的名稱 plt.plot(x_lin, y_hat, 'r-', label = 'prediction') plt.title("Assume we have data points (And the prediction)") plt.legend(loc = 2) plt.show()
# 與範例相同,不另外解說 w = 3 b = 0.5 x_lin = np.linspace(0, 100, 101) y = (x_lin + np.random.randn(101) * 5) * w + b
plt.plot(x_lin, y, 'b.', label = 'data points') plt.title("Assume we have data points") plt.legend(loc = 2) plt.show()
1 2 3 4 5 6 7
# 與範例相同,不另外解說 y_hat = x_lin * w + b plt.plot(x_lin, y, 'b.', label = 'data') plt.plot(x_lin, y_hat, 'r-', label = 'prediction') plt.title("Assume we have data points (And the prediction)") plt.legend(loc = 2) plt.show()
1 2 3 4 5
# 執行 Function,確認有沒有正常執行 MSE = mean_squared_error(y, y_hat) MAE = mean_absolute_error(y, y_hat) print("The Mean squared error is %.3f" % (MSE)) print("The Mean absolute error is %.3f" % (MAE))
The Mean squared error is 188.713
The Mean absolute error is 11.092