簡體   English   中英

線性回歸中的日期使用以及使用Spark mllib將日期轉換為數字

[英]Date use in linear regression and conversion of date to numbers using spark mllib

我想在線性回歸中使用日期。 所以我必須將其轉換為數字。 而且我必須將最低日期設置為0,並根據日期差不斷增加一個數字。

然后,我可以在使用Scala,Spark MLlib的線性回歸中使用日期字段。 我已經准備好數據框,其中包括日期等一些字段。 例如,

| date       | id |
| 01-01-2017 | 12 |
| 01-02-2016 | 13 |
| 05-05-2016 | 22 |

對於字符串,我已經使用一種熱編碼技術來實現。 但是對於日期,如何將第一個日期設置為0,然后根據差異增加數字? 謝謝。

這完全取決於您要創建的模型。 對於非常基本的趨勢建模,您可以將數據轉換為Unix時間戳:

import org.apache.spark.sql.functions._

val parsed = df.withColumn("date", unix_timestamp($"date", "dd-MM-yyyy"))

不需要其他處理,但是您當然可以將其從0開始移位,或者重新縮放為更方便的縮放比例。

更高級的建模將包括提取不同的組件,例如monthdayofweek 通常將它們視為分類變量,並進行一次熱編碼。

暫無
暫無

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

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