加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_郴州站长网 (http://www.0735zz.com/)- 云通信、区块链、物联设备、云计算、站长网!
当前位置: 首页 > 大数据 > 正文

时空维度挖掘(一)之 lubridate

发布时间:2021-01-21 04:32:24 所属栏目:大数据 来源:网络整理
导读:概述 时间与空间是世界运行的主要维度,各行各业的运作都受到这两个维度的影响。其中,时间这个维度本身虽然只需要一列timestamp即可存储所有信息,不过通过进一步的时间维度挖掘,我们可以从中找到许多规律来丰富特征工程。甚至在很多场景下,路过其他维

概述

时间与空间是世界运行的主要维度,各行各业的运作都受到这两个维度的影响。其中,时间这个维度本身虽然只需要一列timestamp即可存储所有信息,不过通过进一步的时间维度挖掘,我们可以从中找到许多规律来丰富特征工程。甚至在很多场景下,路过其他维度采集困难的情况下,仅仅通过时间序列也可能实现较为精准的预测任务,由此可见时间维度对数据分析的重要性。R语言在时空数据挖掘方面已经有许多经典案例,比如CRAN上的TimeSeries主页、时间序列分析与R语言,本文将一起重温,如何通过lubridate和百度API撸一遍时间维的挖掘。

时间挖掘关键R包

处理时间序列的关键R包有 lubridate,xts,forecast,anytime,zoo

通常,我们在数据库中会存储一些日志数据的时间戳,他们以形如 2016-10-23 15:12:06的格式存储,当我们从数据库读入内存,以数据帧格式存储时,可能存在一列这样的数据:

通过时间戳,我们往往还需要挖掘出更细粒度的特征,比如年月日,上午、下午、晚上,季度、星期、是否闰年、是否节假日(法定或促销)等等。

利用lubridate,我们可以很方便的提取时间维度的特征,由于机器只能识别数字,所以 0-1 变量我们都转为数字显示,而不是默认的 TRUE/FALSE

con <- RMySQL::dbConnect(RMySQL::MySQL(),user="root",password="FinanceR",dbname="quota",host="localhost")

con %>% dbSendStatement("SET NAMES UTF8")

# fetch data
raw_data <- con %>% 
            dbSendQuery("
      select code,price,create_time
      from quota.price
            ") %>%dbFetch(-1)

# feature engineering                              
data <- raw_data %>%   
  mutate(ymd = lubridate::ymd_hms(create_time) %>% lubridate::ymd_hms()) %>% 
  mutate(am = lubridate::ymd_hms(create_time) %>% lubridate::am() %>% ifelse(0,1)) %>%
  mutate(wday = lubridate::ymd_hms(create_time) %>% lubridate::wday()) %>%
  mutate(month = lubridate::ymd_hms(create_time) %>% lubridate::month()) %>%
  mutate(quarter = lubridate::ymd_hms(create_time) %>% lubridate::quarter()) %>%
  mutate(leap_year = lubridate::ymd_hms(create_time) %>% lubridate::leap_year() %>% ifelse(0,1)) %>%
  mutate(time_5_min = lubridate::ceiling_date(create_time,'5 mins') ) %>%
  mutate(night = night(create_time)) %>%
  mutate(holiday = is_holiday(create_time)) 




# data viz
data %>% select(-create_time) %>% GGally::ggcorr( nbreaks = 10)  %>% plotly::ggplotly()

参考资料

  • 多维集合分析可视化

  • Cheatsheet – Python & R codes for common Machine Learning Algorithms

  • metrics

  • spectacle

  • dygraphs 时间序列制图

  • time zone setting

(编辑:开发网_郴州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读