我正在嘗試學習線性回歸的基礎知識。
我試圖用最簡單的資料為 starter 構建最簡單的模型。
對于我擁有的資料:
## Data (Apple stock prices)
apple = np.array([155, 160, 165])
days = np.array([1, 2, 3])
X 是天數,y 是蘋果股價。
我嘗試使用單線構建模型:
model = LinearRegression().fit(X=days,y=apple)
然后我收到錯誤訊息,模型需要 2d 資料作為輸入。但為什么” ?X 和 y,在這種情況下,蘋果的天數和股票價格都是一維的。為什么要轉換成二維陣列?
uj5u.com熱心網友回復:
創建該模型以同時支持一維和二維資料,如果輸入形狀為一維,則不支持二維,但當輸入形狀為二維時,只需將一維陣列重塑為二維陣列即可支持二維和一維. 這就是為什么該模型被構建為接受二維陣列以實作靈活性。因此,只需重塑您的資料,您的模型就會正常運行。嘗試這個:
apple = np.array([155, 160, 165]).reshape(-1,1)
days = np.array([1, 2, 3]).reshape(-1,1)
model = LinearRegression().fit(X=days,y=apple)
uj5u.com熱心網友回復:
輸入是一個大小為 (nxm) 的陣列,其中 m 是 x 變數的數量。在你的情況下m = 1,所以你需要一個(3x1)的陣列。您當前的輸入是 (3,)。嘗試:
days = np.array([1, 2, 3]).reshape(-1,1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/427795.html
上一篇:洗掉例外值后具有新例外值的資料集
