熱線電話:13121318867

登錄
首頁精彩閱讀數據分析,如何生成你需要的基礎數據
數據分析,如何生成你需要的基礎數據
2016-09-18
收藏

數據分析,如何生成你需要的基礎數據

想要將數據分析、數據挖掘的作用最大化,數據的完整性總是必不可少的,因此,掌握一些生成基礎數據的方法也非常重要。本期文章,我們以醫療場景為例,手把手教你生成基礎數據~

我們在從事數據相關的項目過程中,數據梳理、數據整合和數據補全等工作需要占用大量的時間與精力,而進展到數據分析、數據挖掘階段也對數據的完整性有著苛刻的要求。對于一個統計算法的驗證與研究,也同樣面臨著根據自身業務情景特點,配置數據屬性的需求。

今天,我們就簡單介紹幾種基礎數據生產方法,以簡化我們的ETL流程,方便大家根據業務定義去生產數據。

本文以面向對象的JAVA語義進行示例。小伙伴們可以按照自己熟悉的各種語言來實現,筆者秉承著邏輯方法高于開發語言選擇的思想去發現問題、解決問題。

業務場景:

在醫院就診過程中,系統需要記錄我們的基本信息,比如:病案號、姓名、性別、發病時間、體重等。這些數據必須符合客觀規律,并且結構化。我們接下來就逐一介紹每種屬性的數據生產方法。

1、根據面向對象原則建立一個父類

首先我們建立一個抽象類AttributeValueGenerator,在這個類中聲明一個實體entity,并建立get、set方法,此后的每種方法都繼承這個父類。

2、定義病案號

病案號是一組規則的、自定義的遞增數列,我們可以采用遞增的方式產生。定義兩個參數:病案號的起始數字、增長規模。

函數如下:

輸入參數:

10001為病案號的起始數字、每次增加1。

結果展示:

3、區分性別

我們用一組枚舉型的數列填充性別屬性。男性、女性的就診比例根據業務需求自定義,采用按百分比產生隨機數的方式實現。

函數如下:

輸入參數:

第一個參數為性別、第二參數為出現的概率。

結果展示:

4、發病日期歸并

發病日期分布在不同的年份月份日期,需要規劃起始日期、截止日期、期間概率,隨機生成范圍內日期并轉換為int型輸出。

函數如下:

參數輸入:

發病時間在2005年的占27%、在2006年的占73%

結果展示:

5、體重正態分布

一組成年人的體重數據應該根據男女區別對待,并符合正態分布的規律。正態分布數據生成,可以控制期望、方差、起始、截止。

函數如下:

參數輸入:

如果是男性,平均值為67公斤、方差為10、40-150公斤之間浮動。

如果是女性,平均值為57公斤、方差為10、40-150公斤之間浮動。

結果如下:

匯總結果展現:

總結

我們可以不停地思考,隨時隨地的根據項目需要結合數據特點來開發一些屬性的生成函數。不要小看這些細節,一旦你需要的時候就可以快速生產了。

所謂:積土成山,風雨興焉;積水成淵,蛟龍生焉;積善成德,而神明自得,圣心備焉。故不積跬步,無以至千里;不積小流,無以成江海。你說是不是這個道理呢?


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢