我需要進行線性回歸并對所有預測求和。也許這不是 Scikit-Learn 的問題,而是 NumPy 的問題,因為我最后得到了一個陣列,我無法將它變成一個浮點數。
df
rank Sales
0 1 18000
1 2 17780
2 3 17870
3 4 17672
4 5 17556
x = df['rank'].to_numpy()
y = df['Sales'].to_numpy()
X = x.reshape(-1,1)
regression = LinearRegression().fit(X, y)
到目前為止,我正在理解它。下一部分(這是一個對所有值求和的 while 回圈)不起作用:
number_predictions = 100
x_current_prediction = 1
total_sales = 0
while x_current_prediction <= number_predictions:
variable_sum = x_current_prediction*regression.coef_
variable_sum_float = variable_sum.astype(np.float_)
total_sales = total_sales variable_sum_float
x_current_prediction = 1
return total_sales
我認為問題regression.coef_出在浮動,但是當我使用時astype,它不起作用嗎?
uj5u.com熱心網友回復:
您不需要像這樣回圈,也不需要使用系數來計算預測(不要忘記也可能存在截距)。
x相反,將您要預測的所有值組成一個陣列,并詢問sklearn預測:
X_new = np.arange(1, 101).reshape(-1, 1) # X must be 2D.
y_pred = regression.predict(X_new)
如果您想將所有這些數字相加,請使用y_pred.sum()or np.sum(y_pred),或者如果您想要累積和,np.cumsum(y_pred)則可以使用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/488949.html
