摘 要: 利用數據預處理技術,將腦卒中發病病例信息數據中的大量信息進行處理,去除了數據中的數據不一致、冗余、錯誤信息等,提高了數據質量,有助于篩選出相對可靠的數據,從而有利于得出真實、準確的數據分析結果。
關鍵詞: 數據預處理; 數據質量; 腦卒中; Excel
中圖分類號:TP311 文獻標志碼:A 文章編號:1006-8228(2013)12-55-02
Application of data preprocessing technology in stroke patients information database
Yu Cuilan
(Department of computer science ,Dehong Teacher's College, Luxi, Yunnan 678400, China)
Abstract: Data preprocessing technology is applied to process large amounts of information in stroke patient data, to solve the problem of data inconsistency, redundancy, error information, etc. The preprocessing results improve data quality, help to select relatively reliable data, draw the true and accurate data analysis results.
Key words: data preprocessing; data quality; stroke; Excel
0 引言
現實世界的數據一般是不完整的、含噪聲的、不一致的,并且數據量大,多數還來自多個異構數據源。這就給后續的數據分析和數據挖掘帶來極大的麻煩,甚至導致錯誤的結論,所以有必要對數據進行預處理,以提高數據質量,從而提高分析結果的質量。數據預處理[1-2]主要是指數據的抽取、轉化、和清理。抽取是指從外圍系統或源系統中把數據導入;轉化一般是指對數據進行統一(包括數據格式和數據編碼的統一),清理是指把一些垃圾數據清理掉,保留有用數據。腦卒中是腦中風的學名,是一種突然起病的腦血液循環障礙性疾病。人們想要根據病例數據,對發病人群進行統計描述,研究腦卒中發病率與氣溫、氣壓、年齡、職業的關系,對高危人群提出預警和干預的建議方案等。本文以中國某城市四家醫院2007年1月至2010年12月的腦卒中發病病例信息數據集(共61927條)為例,闡述了對這些數據進行預處理的過程。
1 數據預處理
1.1 數據說明
數據來源于中國某城市四家醫院2007年1月至2010年12月的腦卒中發病病例信息(每家醫院一個excel數據表,分別是data1.xls、data2.xls、data3.xls、data4.xls,共有61927條記錄),數據字段格式如表1所示。
表1 數據字段格式
[Sex\Age\Occupation\Time of incidence\Report time\2\80\3\02-03-1990\03-01-2008\1\72\ \03/07/2008\20/07/2008\1\31\1\2009-9-9\2009-9-22\2\79\ \2009-03-08\2009-03-08\2\67\7\2009-3-17\ \1\63\ \2009-4-9\2009-04-09\2\80\1\03/07/2008\04/07/2008\2\83\1\03-05-2007\19-01-2008\]
先對數據進行預處理:根據四個數據表的Time of incidenc(發病時間)找出2007年至2010年每年的腦卒中病人信息。以下是對四個數據表的數據預處理的過程。
1.2 data1.xls數據預處理
⑴ 工作表“腦卒中”中,字段Time of incidence的值不規范,首先對它進行處理,例如將值為“18-01-2007”的格式轉換為“2007-1-18”的格式,步驟如下:
① 選擇Time of incidence列,單擊“數據”-“分列”,分割符號用“-”,目標區域到“$g$1”,使Time of incidence列的值分割成了三列,分別放到了g、h、i列;
② 單擊“數據”-“自動篩選”,單擊i列的“自定義”,條件為“大于或等于2007”且“小于或等于2007”,例如篩選出所有格式為“18-01-2007”的病人記錄;
③ 單擊篩選出的病人記錄,按ctrl+A鍵,按ctrl+x鍵,新建一工作表dateformat,單擊A2,按ctrl+v鍵,則將篩選出的全部數據剪切到另一個工作表dateformat中;
④ 在工作表dateformat中,在單元格j2輸入公式“=date(i2,h2,g2)”,得到如“2007-1-18”的日期格式,然后在此列拖動填充按鈕,得到所有如“2007-1-18”的日期格式;
⑤ 選擇j列,單擊“編輯”-“復制”,單擊單元格k2,單擊“編輯”-“選擇性粘貼”,單擊“值和數字格式”,單擊“確定”;
⑥ 刪除字段Time of incidence的值,將字段k的值復制到字段Time of incidence中;
將工作表dateformat中a列到e列的病人記錄加入到原工作表腦卒中。
至此,字段Time of incidence的值轉換完成。
⑵ 對處理后的工作表“腦卒中”,使用“數據”-“自動篩選”,使用字段Time of incidence的“自定義”,分別篩選出Time of incidence為2007年(如設置條件為 “大于或等于2007-1-1”且“小于或等于2007-12-31”)、無效日期的記錄,并將它們分別存放到各個新建的工作表中。
1.3 data2.xls數據預處理
⑴ 工作表“腦卒中”中字段Time of incidence的值較為復雜,有格式:例如“18-01-2007”、“26/05/2008”、“2008-07-06“、“2009-2-12”,針對這些格式,要把它改成如“2008-7-6”的格式,方法同1.2,只是把分列時的分割符設為“/”和“-”,再分別對年在前面的和年在最后的格式進行處理。
⑵ 將工作表“腦卒中”中字段Time of incidence的值為如“20080710”的格式轉換成的格式轉換為如“2008-7-10”的格式,方法如下:①找到第一個如“20080710”的格式,單擊左上角的綠色三角旁邊的下拉箭頭,選“轉換成數字”,則將文本數字轉換成了數字;②使用“數據”-“自動篩選”,使用字段Time of incidence的“自定義”條件為“大于或等于20080101”且“小于或等于20081231”,篩選出如“20080710”的格式的數據;③對篩選出的數據,使用left()、mid()、right()三個函數分別取出年(2008)、月(07)、日(10),最后再用date函數得到格式為“2008-7-10”的日期。
⑶ 對處理后的工作表“腦卒中”,使用“數據”-“自動篩選”,使用字段Time of incidence的“自定義”,分別篩選出Time of incidence為2007年、2008年、2009年、無效日期的記錄,并將它們分別存放到各個新建的工作表中。
1.4 data3.xls數據預處理
以工作表“腦卒中”中字段Time of incidence的值為例將“2007-04-02”的格式轉換為如“2007-4-2”的格式,方法同1.2,先分列,然后用data()合成日期。
對處理后的工作表“腦卒中”,使用“數據”-“自動篩選”,使用字段Time of incidence的“自定義”,分別篩選出Time of incidence為2007年、2008年、2009年、2010年,以及無效日期的記錄,并將它們分別存放到各個新建的工作表中。
1.5 data4.xls數據預處理
⑴ 工作表“腦卒中”中字段Time of incidence的值含日期時間格式,首先要將日期時間分割開來:“數據-分列”,使用空格分割。
⑵ 該工作表“腦卒中”中字段Time of incidence如“04-10-2009”的格式,實際上就是“2009-10-4”,因此,選中該列,右鍵選“設置單元格格式”,數字選“日期”-“2001-3-14”,則將所有“04-10-2009”的格式顯示成了“2009-10-4”的格式。
⑶ 將字段Time of incidence如“'2007-01-05”的格式轉為“2007-1-5”的格式,方法同1.2。
⑷ 對處理后的工作表“腦卒中”,使用“數據”-“自動篩選”,使用字段Time of incidence的“自定義”,分別篩選出Time of incidence為2007年、2008年、2009年、2010年,以及無效日期的記錄,并將它們分別存放到各個新建的工作表中。
最后,將四個數據文件data1、data2、data3、data4中的2007年、2008年、2009年、2010年、無效日期的數據分別放到一起,得到五個數據集,表2是2008年的其中幾條病人記錄。
表2 2008年病例信息表的其中幾條病人記錄
[Sex\Age\Occupation\Time of incidence\Report time\1\86\0\2008-3-1\2009-02-27\2\63\3\2008-5-15\2009-07-31\2\69\0\2008-7-1\2009-07-1\2\68\6\2008-11-1\2009-09-15\1\80\0\2008-12-25\2009-05-31\2\72\1\2008-12-26\2009-01-09\1\72\1\2008-12-26\2009-01-09\2\57\0\2008-12-28\2009-05-01\]
2 結束語
通過分析腦卒中數據的特點,利用缺失值處理、數據不一致處理、數據集成、數據泛化、屬性構造、數據歸約等數據預處理技術,對四家醫院2007年1月至2010年12月的腦卒中發病病例數據集進行處理,闡述了對這些數據進行數據預處理的過程,提高了數據質量,從而有利于得出真實、準確的統計分析結論。
參考文獻:
[1] 陳文偉.數據倉庫與數據挖掘教程(第2版)[M].清華大學出版社,
2011.
[2] 王麗珍等.數據倉庫與數據挖掘原理及應用(第2版)[M].科學出版社,
2009.
[3] 常博,李振偉.數據預處理在高速公路收費系統中的應用[J].科技資
訊,2010.27(103).
[4] 劉莉,徐玉生,馬志新.數據挖掘中數據預處理技術綜述[J]. 甘肅科學
學報,2003.1:117-119
[5]王華,胡學鋼.醫學數據挖掘中的數據預處理與Apriori算法改進[J].
計算機系統應用,2009.9:94-97