> 資料科學 Data Science * 資料的格式分為兩種 1. 有組織的資料 Organized Data / 結構化資料 Structure Data: 指資料已排列成列(Rows)和欄(Columns)的表格形式,其中每個列代表一個單一觀測結果(Observation);每個欄代表觀測結果的單一特點(Characteristics),EX:資料庫的資料表或Excel工作表 2. 沒有組織的資料 Unorganized Data / 非結構化資料 Unstructured Data: 即自由格式的資料,通常是一些原始資料(Raw Data),需要進一步轉換和清理成有組織的資料 * 資料科學文氏圖(Venn Diagram) ![image_thumb[7]](https://hackmd.io/_uploads/H1nffVl2R.png) 主要知識與技能: 1. 電腦程式能力(Computer Programming):撰寫程式碼來轉換和清理資料,以便產生分析和訓練資料 2. 數學與統計知識(Math/Statistics Knowledge):使用數學(線性代數)或統計公式/運算式來分析資料、建立預測模型和驗證結果 3. 領域知識(Domain Knowledge):因取得的資料是屬於不同的領域,例如:醫療、財物、社會科學等,在分析資料時,需要擁有該領域的相關知識,才能正確的認知和分析資料 * 資料的結構 1. 結構化資料(Structured Data):有組織的資料,已預先定義格式,且可以讓電腦讀取的資料,通常是使用表格方式呈現,例如:資料庫或Excel工作表 2. 非結構化資料(Unstructured Data):沒有組織的自由格式的資料,無法直接使用,需進行資料轉換或清理後才能使用,例如:文字、網頁內容、原始訊號和音效等 3. 半結構化資料(Semistructures Data):介於結構化和非結構化之間的資料,是一種結構沒有規則且快速變化的資料,雖有欄位定義的結構,但每一筆資料的欄位定義可能都不同,且在不同時間點存取,其結構也可能不一樣,例如:JSON, XML,從PPT文章內容轉換成的JSON資料 * 質的資料(Qualitative Data):以文字來描述性質、順序和分類的資料,無法量化,有些質的資料也可能看起來像數值資料,但並沒有數值的性質,只是一個符號,例如:在性別欄位使用1代表男性;2代表女性 * 量的資料(Quantitative Data):是觀察結果的數值資料,使用數值和基本數學運算來呈現 1. 連續資料(Continuous Data):以連續數值呈現的資料,在資料之間可以比較大小或先後關係,任何兩個數值之間可以插入無限多個數值資料,例如:時間、身高、體重、血壓和經濟成長率等 2. 離散資料(Discrete Data):以不連續數值呈現的資料,此類型資料的資料值都是離散的數值,任何兩個數值之間不可以插入無限數量的數值資料,例如:骰子點數和考試分數等 ![1_dEcInm8hryInHrHREcA3eg](https://hackmd.io/_uploads/SkC3Q8xhR.png) * 名目尺度(The Nominal Level):是一種定性資料,只能夠進行分類或計數動作,也不具有特定的順序 1. 可比較是否相等,例如:同一個咖啡產地、相同性別 2. 可執行成員運算,即是否屬於此集合,例如:是否屬於此國的咖啡產地、是否是亞洲國籍 * 順序尺度(The Ordinal Level):使用不同順序來區別資料,但無法判斷不同順序之間的差異或意義 1. 擁有順序性,可以使用圖表呈現其原始順序,例如:光色彩是順序尺度資料,預設順序是紅、橙、黃、綠、藍、靛、紫 2. 使用順序性來比較,例如:快樂程度5高於1;滿意度8小於10 * 區間尺度(The Interval Level):包含順序尺度資料的所有特性,還增加不同數值資料間的等距特性 1. 攝氏、華氏溫度、服裝尺寸區間等,是可以執行加減法運算,例如:以攝氏溫度來說,台北25度、高雄35度,高雄比台北溫暖,因為兩者之間差了10度 ⚠️ 0在區間尺度並不是代表沒有,例如溫度0度並不代表沒有溫度,只是測量溫度的單位(絕對0度是-273.15度c) * 比率尺度(The Ratio Level):可計算比率,而0值就是沒有,例如:工資、銀行存款、生產單位、股票價格等都是比率尺度資料。可執行加減乘除運算 1. 資料之間的差距與比率都是有意義的,例如:銀行存款的存款餘額可以是0沒有存款;或者存款餘額20,000是10,000的兩倍 > 資料採礦 Data Mining `使用軟體技術分析資料庫儲存的龐大資料,以便從這些資料中找出隱藏的規則性或因果關係,及找尋「樣式」(Patterns)` `能夠幫助公司或組織專注於最重要的資料和預測未來的趨勢與行為,也稱為「資料庫的知識探索」(Knowledge Discovery in Database;KDD)` * 資料採礦的目的 1. 預測 Prediction:使用現有資料預測未來情況 EX:分析消費者的購買習慣,即可預測可能購買的商品;分析以往打折促銷的業績,預測再降價折扣可能增加的業績 2. 識別 Identification:找出特定樣式後,可識別項目是否存在 EX:分析電腦病毒碼找出特定的病毒模式,可以再讓電腦掃毒程式識別出是否中了病毒 3. 分類 Classification:將資料以不同等級、參數和特性來分門別類 EX:分析信用卡消費金額的大小,可以分類出經常使用、常常使用、偶爾使用和不曾使用的客戶,透過客戶分類寄送郵購目錄來進一步分析不同消費者的購物習慣 4. 最佳化 Optimization:可在目前已知的有限資源中,創造出有限資源的最大效益 EX:便利商店因為賣場面積有限,只能銷售1000種商品,需要最佳化商品的選擇、選購動線設計和商品排列的架位,以便創造出最大的營業額 * 資料採礦的步驟 ![Fayyad96kdd-process](https://hackmd.io/_uploads/SyBRp4T2R.png) 1. 篩選 Selection:使用一些標準或準則來選取或篩選資料,以便從資料中取得所需的資料子集 EX:取得擁有車的客戶資料、年收入超過100萬的保戶資料 2. 前置處理 Preprocessing: * 一些不需要的資料可能會降低查詢速度,要刪除錯誤或不一致的資料 EX:針對男性用品來說,性別資料就是多餘資料 * 整合資料,也就是將不同格式的資料整合成相同格式的資料 EX:月薪整合成新台幣計價;性別以f和m代表女和男 3. 轉換 Transformation:為了進行資料採礦,需要將資料進行分割或合併等資料轉換,以便將資料轉換成可用和操作的資料 EX:將銷售資料切割成月、季、週和日的銷售資料;信用卡種類有三種,轉換成數值0~3來代表,以方便資料操作 4. 資料採礦 Data Mining:最主要的資料分析步驟,使用資料採礦方法從資料中找出樣式和規則 5. 直譯與評估 Interpretation and Evaluation:評估找出的樣式和規則是否為具有參考價值的知識,如果沒有就需要回到前面步驟進行調整後,重新執行資料採礦,直到找到足以支援經理人決策的有用結果 * 資料科學處理過程 ![9230.1523605818](https://hackmd.io/_uploads/rkgcnP6hC.jpg) 1. 詢問有興趣的問題 Ask an Interesting Question 2. 取得資料 Get The Data:取得所有與問題相關的原始資料(Raw Data),資料來源可以是公開資料、內部資料或向外面購買的資料,需使用網路爬蟲、Open Data、資料清理和查詢資料庫的技能來取得這些資料 3. 探索資料 Explore The Data:整理、歸納和描述資料,以便進行資料分析(Data Analysis) * 資料預處理 Data Preprocessing:分辨各種資料是屬於哪一種尺度的資料,然後學習相關領域知識,正確的轉換和清理資料 EX:重複資料和遺漏值等大大小小的問題,解決這些問題稱為「資料處理」(Data Munging) * 探索性資料分析 Exploratory Data Analysis, EDA:完成資料轉換和清理後,可以開始探索資料,利用資料集(Data Sets)的統計摘要資訊和視覺化圖表來進行判斷,以便找出隱藏在資料之間的關係、樣式或異常情況,然後提出「假設」(Hypotheses) EX:解釋為什麼此群組客戶的業績會下滑,目標客戶不符合年齡層造成產品銷售不佳等 4. 模型化資料 Model the Data:使用統計和機器學習(Maching Learning)模型來驗證提出的假設 EX:統計檢定和機器學習的線性回歸等 5. 溝通和視覺化結果 Communicate and Visualize the Results