---
# System prepended metadata

title: 資料分析 guideline
tags: [DTDA]

---


## 開頭
- 這邊需要一小段內容提供給他們讓他們知道資料分析的流程大致上應該長怎麼樣子，可以提供以下圖片然後附帶一點說明
![](https://www.flag.com.tw/activity/F9364/img/LP_F9364_2.jpg)
- 我們目前使用的是 colab 所以也不太會有環境問題，之後如果要建立在本地，就需要再提供設定文件

## 主要課程內容

### 1. 定義問題 (Define the Problem)
- 目標：清楚定義要解決的業務問題，並將其轉化為具體的資料分析問題。
- 解釋：這一步至關重要，它決定了分析的方向。問題必須具體且可量化，例如「如何增加銷售量」或「哪些客戶可能會流失」。

- 評估可行性：檢查是否有足夠的數據和技術來解決這個問題。

> 這一步驟的目的主要是讓他們先清楚目前他們想要處理什麼問題，由於第一堂社課應該會教，所以我們只要內容稍微帶過一下就好

### 2. 收集資料 (Collect Data)
- 目標：從各種來源收集相關資料，這可能包括內部資料庫、外部資料集、API 或是公開資料。
- 解釋：確保資料的來源可信且與問題相關。資料可以來自CRM、財務報表、網路數據等。

> 這邊可以跟他們說明，通常會有哪些搜集資料的方法，例如: 爬蟲、資料庫撈取、檔案讀取、使用 API。不過我們在這邊只要提供檔案讀取的給他就好，也就是 pandas 中的 read 系列，read 系列有很多個，他們比較有機會使用到的大概就是 read_csv, read_excel 這兩個介紹一下就好，可以補充關於 sklearn 或者其他 package 的 API 資料集
> 介紹格式可以有：容易使用到的參數設定，什麼是路徑，column name 與 index 設定，如果你覺得有多的可以補充也可以加上去


### 3. 資料清理 (Data Cleaning)
- 目標：處理資料中的缺失值、異常值和重複資料，將資料轉換成適合分析的形式。
- 解釋：清理資料是必不可少的步驟，以確保分析的準確性。這通常包括刪除缺失資料、處理異常數據等。


#### 資料清洗的大綱
1. 處理缺失值重複內容：選擇適當的方法來填補或刪除缺失的數據。
2. 異常值檢測：處理極端值或不符合預期的數據點，避免影響模型的準確性。
3. 資料一致性檢查：確保數據格式、單位一致，如時間格式統一，數值範圍正確。

- [參照內容](https://www.nextlink.cloud/news/data-cleansing-introduction/)

> 這一段的功能應該會先包括 概覽、判讀、處理 這三個階段
> 概覽：info, describe ，讓他們能夠先掌握資料的概況，通常使用到的大概就統計概述另外就是圖表呈現，這邊先以最簡單的統計概述給他們就好
> 判讀：這部分要告訴他們什麼樣的情況叫做有離群值、異常值、重複資料，通常在這部分的判讀會需要用圖表呈現會比較好理解，或許這部分可以先放在進階？最簡單的大概就是重複資料(pd.DataFrame.duplicated()) 這樣去使用應該最簡單

### 4. 探索性資料分析 (Exploratory Data Analysis, EDA)
- 目標：初步檢視資料特徵，並使用可視化方法來理解資料的分布、趨勢、相關性等。
- 解釋：透過EDA，我們可以發現資料中的模式、異常點或重要的變量。常用工具如直方圖、散佈圖和相關矩陣。

- [參考資料](https://medium.com/@zhihaoshi1729/%E8%B3%87%E6%96%99%E7%A7%91%E5%AD%B8%E7%AD%86%E8%A8%98-%E4%B8%80-%E5%A6%82%E4%BD%95%E9%81%B8%E5%8F%96%E7%89%B9%E5%BE%B5%E5%92%8C%E7%99%BC%E7%8F%BE%E7%89%B9%E5%BE%B5%E4%B9%8B%E9%96%93%E7%9A%84%E7%9B%B8%E9%97%9C%E6%80%A7-e7fd74053d24)

> EDA 的部分會需要用到蠻大量的視覺化工具，視覺化工具我覺得可以放在第二份，我們先以第一份為主處理就好

### 5. 特徵工程 (Feature Engineering)
- 目標：創建新的特徵或轉換已有特徵來提高模型的效果。
- 解釋：這可能涉及將類別變量轉換為數值、創建衍生變量（如每客戶收入）或標準化變量。

> 這個部分也可以放在第二份之中

### 6. 選擇模型 (Model Selection)
- 目標：根據分析目標選擇適合的統計或機器學習模型，例如回歸模型、分類模型或聚類分析。
- 解釋：根據資料的性質與問題選擇適當的演算法，這一步是將數據轉化為可操作的結論的核心。

> 這邊主要要說明的是，模型的選擇與最一開始定義問題會有一些關聯，分類、回歸、非監督等等，我們這邊先以簡單的分類來去做舉例就好

### 7. 模型訓練 (Model Training)
- 目標：使用訓練資料集訓練所選模型，調整模型參數以提高預測或分類的準確度。
- 解釋：這是模型從資料中學習的過程，會根據資料特徵進行最佳化。

> 訓練模型第一份目前就直接 train_test_split, fit 就可以，第二份就可以放 cross validation tunning 等等的，慢慢提供

### 8. 模型評估 (Model Evaluation)
- 目標：評估模型的性能，使用測試資料來檢查模型的準確性、召回率、F1-score等。
- 解釋：如果模型表現不佳，可能需要回到特徵工程或重新選擇模型。

> 根據不同的問題定義，可以採用不同的指標來判讀模型訓練的好壞，進而來去解決未來的問題，因為第一份看來是分類，所以在這邊我們就用 confusion matrix 各個指標的判讀


### 重點整理
1. 問題定義
2. 內容讀取與簡單的掌握資料
3. 處理的部分少一點沒關係
4. 建模
5. 學會判讀模型好壞


### 未來要補充的
1. 搜集資料的方法？
2. 資料清洗的細項
3. EDA 的方法(例如更多的視覺化工具)
4. 特徵工程的方法
5. 目前是分類的類別，之後補充 回歸 聚類 的範例
6. 模型訓練的部分未來可以提供更多的像是超參數調整，不同種的訓練方法