簡體   English   中英

如何在線性回歸模型中使用 .predict()?

[英]How to use .predict() in a Linear Regression model?

我試圖預測航班起飛延遲 15 分鍾對航班到達時間的影響。 我在 DF 中有數千行和幾列。 其中兩個列是 dep_delay 和 arr_delay,分別表示出發延遲和到達延遲。 我建立了一個簡單的線性回歸模型:

y = nyc['dep_delay'].values.reshape((-1, 1))

arr_dep_model = LinearRegression().fit(y, nyc['arr_delay'])

現在我正試圖找出如果航班起飛延遲 15 分鍾,預計的到達延遲。 我將如何使用上面的模型來預測到達延遲是多少?

我的第一個想法是使用 for 循環 / if 語句,但后來我遇到了.predict() ,現在我更加困惑了。 .predict 是否像布爾值一樣工作,我會使用“如果出發延遲等於 15,那么到達延遲等於 y”? 或者是這樣的:

arr_dep_model.predict(y)?

LinearRegression中使用 LinearRegression 模型時,您需要使用predict()函數進行推理。 但是您還必須確保傳遞給函數的輸入具有正確的形狀(與訓練數據相同) 您可以在官方文檔中了解更多關於正確使用預測功能的信息。

arr_dep_model.predict(youtInput)

這行代碼將輸出模型為相應輸入預測的值。 您可以將其插入 for 循環並遍歷一組值作為模型的輸入,這取決於您的項目的需求和您正在使用的數據。

嗨檢查下面的代碼示例:`

 import pandas as pd import random from sklearn.linear_model import LinearRegression df = pd.DataFrame({'x1':random.choices(range(0, 100), k=10), 'x2':random.choices(range(0, 100), k=10)}) df['y'] = df['x2'] * .5 X_train = df[['x1','x2']][:-3].values #Training on top 7 rows y_train = df['y'][:-3].values #Training on top 7 rows X_test = df[['x1','x2']][-3:].values # Values on which prediction will happen - bottom 3 rows regr = LinearRegression() regr.fit(X_train, y_train) regr.predict(X_test)

如果您注意到X_test發生預測的數據與(列數)形狀相同,因為X_train都有兩列 ['X1','X2']。 使用.values時,同樣已在數組中轉換。 您可以創建自己的數據(當前示例為 2 列數據框)並可以將其用於預測(因為需要預測第 3 列)。

輸出將是三行預測的三個值:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM