
數(shù)據(jù)可視從數(shù)據(jù)探索到工程落地
加快推動從數(shù)據(jù)探索到工程落地的過程是一件很有意義的事情,數(shù)據(jù)分析要如何做到盡量和數(shù)據(jù)分析的流程緊密結(jié)合,又要方便工程化落地一直困擾著許多數(shù)據(jù)分析師和Web工程師。數(shù)據(jù)分析師不想深究太多前端JS實現(xiàn),Web工程師也不想插手復(fù)雜的業(yè)務(wù)邏輯與SQL。對于工程化這件事情,如果數(shù)據(jù)分析輸出的圖表是基于html的,那Web工程師只需要復(fù)制粘貼相應(yīng)的js配置項然后引用一下js庫就完成70%的工作了。但是對于數(shù)據(jù)探索來說,大部分的數(shù)據(jù)可視過程70%的工作可能都是失敗、或者暫時的,花費大量精力完成的前端代碼并不會對數(shù)據(jù)分析這件事情本身帶來太多幫助。但是現(xiàn)實世界并沒有這么美好,很多時候身兼數(shù)職的全能王倒是因為會給老板省錢受到青睞,本文將討論幾種可能的解決方案。
可能的解決方案
數(shù)據(jù)分析師+交互式繪圖
常見的方式比如radiant(R)、caravel(Python)都具有這樣的功能,數(shù)據(jù)分析師可以建立一個數(shù)據(jù)庫連接,然后在連接中通過SQL語句得到想要的數(shù)據(jù),再通過交互式的繪圖方式完成數(shù)據(jù)可視化的探索。
優(yōu)勢:讓數(shù)據(jù)分析師可以集中精力在數(shù)據(jù)分析本身,可以快速實現(xiàn)數(shù)據(jù)探索、建模、甚至分享頁面和儀表盤。
劣勢:復(fù)雜的數(shù)據(jù)分析算法實現(xiàn)起來比較困難,數(shù)據(jù)需要事先規(guī)整清晰好,滿足多維數(shù)據(jù)分析條件才行,前端繪圖庫無法比較困難,整體定制性較弱。
第一種方案建立在交互式繪圖工具足夠好用的基礎(chǔ)上,對于很多非主流的startup并不一定完全適用,因為startup人手有限,很可能要求數(shù)據(jù)分析師有能自行解決前端數(shù)據(jù)可視化的能力需求。
常見的方式是通過SQl取數(shù)后調(diào)用一個JS制圖庫(比如echarts、highcharts、plotly等等),分析師需要在js中完成許多數(shù)據(jù)描述性統(tǒng)計的工作直接展示在前端頁面上,然后將配置項和SQL保存在數(shù)據(jù)庫中,以供后續(xù)的API查詢調(diào)用。
優(yōu)勢:簡化了數(shù)據(jù)產(chǎn)品落地的流程,在SQL不夠用的情況下可以用JS來補足,可以快速實現(xiàn)定制化的前端圖表輸出,滿足各種可視化特殊需求。
劣勢:簡單的數(shù)據(jù)分析算法實現(xiàn)也很困難,數(shù)據(jù)分析很難專注于數(shù)據(jù)本身,需要處理很多JS相關(guān)問題。
數(shù)據(jù)分析師寫R
上述兩種方案在數(shù)據(jù)處理上都并不是非常完美,所以說,更加理想的方案是通過用一種數(shù)據(jù)分析語言完成數(shù)據(jù)分析和數(shù)據(jù)可視的工作,既要保證數(shù)據(jù)分析的靈活性,又要保證工程落地的敏捷性變成一個很關(guān)鍵的事情。但是通常自己寫前端JS的代碼又非常的麻煩,可能還要寫很多MapReduce。一些常見的描述性統(tǒng)計(極值均值求和計數(shù)等等)在前端實現(xiàn)都會耗費很多功夫,更不用說更高級的一些算法了,而大部分數(shù)據(jù)分析工作在Python或者R語言中其實是可以快速完成。那么,從Python和R中直接輸出一些html圖表不失為一種好的辦法,當(dāng)然更多場景下我是建議用R來完成。
優(yōu)勢:既能滿足復(fù)雜的算法模型快速實現(xiàn),又能滿足工程敏捷落地的需求。
劣勢:對于簡單分析而言,不如方案一來得方便,快捷。
具體方案
在R中,我們其實可以使用 DT + ggplot2 + plotly + flexdashboard 的方案來完成數(shù)據(jù)分析圖表的繪制和產(chǎn)出。首先,在探索分析的過程中可以使用ggplot2對數(shù)據(jù)進行各種分組暫時,這樣就保證了數(shù)據(jù)分析結(jié)果維度的豐滿,通過 + 的鏈式調(diào)用,可以在同一基礎(chǔ)圖形上變換多種展現(xiàn)方式進而得到更多多維分析結(jié)果。其次,利用 plotly,ggplot2 所繪制的靜態(tài)圖表可以快速拓展為動態(tài)圖表。最后,通過 flexdashboard,可以快速排版數(shù)據(jù)可視化結(jié)果,提供一個Web服務(wù)作為輸出。
簡單例子
knitr::opts_chunk$set(echo = TRUE)
library(readxl)
library(dplyr)
競品分析列表 <- read_excel("~/競品分析列表.xls",col_names = T)
colnames(競品分析列表) <- 競品分析列表[1,]
競品分析列表 <- 競品分析列表[-1,]
DT::datatable(競品分析列表)
library(ggplot2)
# 頻數(shù)統(tǒng)計
p <- ggplot(data=地區(qū)頻數(shù), aes(x=地區(qū),y=頻數(shù),fill=大小)) +
geom_bar(stat = "identity",alpha = 0.8) +
labs(x = '地區(qū)', y = '頻數(shù)') +
ggtitle("地域分布") +
coord_flip() +
theme(text = element_text(family = 'SimSun'))
p
library(plotly)
ggplotly(p)
只需要修改一下 yaml 配置并引入 flexdashboard 即可
---
title: "競品分析"
author: "Harry Zhu"
date: "September 17, 2016"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
---
knitr::opts_chunk$set(echo = TRUE)
library(flexdashboard)
library(readxl)
library(dplyr)
競品分析列表 <- read_excel("~/競品分析列表.xls",col_names = T)
colnames(競品分析列表) <- 競品分析列表[1,]
競品分析列表 <- 競品分析列表[-1,]
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03