You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/zh-HK/1-Introduction/01-defining-data-science/README.md

167 lines
14 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 定義數據科學
| ![由 [(@sketchthedocs)](https://sketchthedocs.dev) 繪製的手繪筆記](../../sketchnotes/01-Definitions.png) |
| :----------------------------------------------------------------------------------------------------: |
| 數據科學的定義 - _由 [@nitya](https://twitter.com/nitya) 繪製的手繪筆記_ |
---
[![數據科學的定義影片](../../../../translated_images/zh-HK/video-def-ds.6623ee2392ef1abf.webp)](https://youtu.be/beZ7Mb_oz9I)
## [課前測驗](https://ff-quizzes.netlify.app/en/ds/quiz/0)
## 什麼是數據?
在我們的日常生活中,我們無時無刻都被數據包圍著。你現在正在閱讀的文字就是數據。你智能手機裡朋友的電話號碼列表是數據,你手錶上顯示的當前時間也是數據。作為人類,我們天生就會處理數據,比如數錢或者給朋友寫信。
然而,隨著電腦的誕生,數據變得更加重要。電腦的主要功能是進行計算,但它們需要數據來操作。因此,我們需要了解電腦如何存儲和處理數據。
隨著互聯網的出現,電腦作為數據處理設備的角色更加重要。仔細想想,我們現在使用電腦更多的是進行數據處理和通信,而不是實際的計算。當我們給朋友寫電子郵件或在互聯網上搜索信息時,我們實際上是在創建、存儲、傳輸和操作數據。
> 你能記得上一次真正用電腦進行計算是什麼時候嗎?
## 什麼是數據科學?
根據 [維基百科](https://en.wikipedia.org/wiki/Data_science)**數據科學**被定義為*一個科學領域,使用科學方法從結構化和非結構化數據中提取知識和洞察,並將數據中的知識和可行洞察應用於廣泛的應用領域*。
這個定義突出了數據科學的以下重要方面:
* 數據科學的主要目標是從數據中**提取知識**,換句話說,就是**理解**數據,找到一些隱藏的關係並建立**模型**。
* 數據科學使用**科學方法**,例如概率和統計。事實上,當*數據科學*這個術語首次被提出時,有些人認為數據科學只是統計學的一個新潮名稱。然而,現在已經很明顯這個領域遠不止於此。
* 獲得的知識應用於產生一些**可行的洞察**,即可以應用於實際商業情境的實用洞察。
* 我們應該能夠操作**結構化**和**非結構化**數據。我們稍後會在課程中討論不同類型的數據。
* **應用領域**是一個重要的概念,數據科學家通常需要在問題領域中至少具備一定程度的專業知識,例如:金融、醫學、行銷等。
> 數據科學的另一個重要方面是研究如何使用電腦收集、存儲和操作數據。雖然統計學為我們提供了數學基礎,但數據科學則是將數學概念應用於實際從數據中獲取洞察。
根據 [Jim Gray](https://en.wikipedia.org/wiki/Jim_Gray_(computer_scientist)) 的說法,數據科學可以被視為科學的一個獨立範式:
* **經驗科學**,主要依賴觀察和實驗結果
* **理論科學**,從現有的科學知識中產生新概念
* **計算科學**,通過一些計算實驗發現新原則
* **數據驅動科學**,基於發現數據中的關係和模式
## 其他相關領域
由於數據無處不在,數據科學本身也是一個廣泛的領域,涉及許多其他學科。
<dl>
<dt>數據庫</dt>
<dd>
一個重要的考量是<b>如何存儲</b>數據,即如何以便於快速處理的方式結構化數據。有不同類型的數據庫可以存儲結構化和非結構化數據,這些內容我們會在<a href="../../2-Working-With-Data/README.md">課程中進一步探討</a>
</dd>
<dt>大數據</dt>
<dd>
我們經常需要存儲和處理結構相對簡單但數量非常龐大的數據。為了高效地存儲和處理這些數據,通常會使用特殊的方法和工具,將數據分佈式地存儲在計算集群上。
</dd>
<dt>機器學習</dt>
<dd>
理解數據的一種方法是<b>建立模型</b>,該模型能夠預測所需的結果。從數據中開發模型被稱為<b>機器學習</b>。你可以參考我們的<a href="https://aka.ms/ml-beginners">機器學習初學者課程</a>來了解更多相關內容。
</dd>
<dt>人工智能</dt>
<dd>
機器學習的一個分支領域是人工智能AI它也依賴於數據並涉及構建模仿人類思維過程的高複雜度模型。AI方法通常能幫助我們將非結構化數據例如自然語言轉化為結構化的洞察。
</dd>
<dt>可視化</dt>
<dd>
大量的數據對人類來說是難以理解的,但一旦我們使用這些數據創建了有用的可視化,就能更好地理解數據並得出一些結論。因此,了解多種可視化信息的方法非常重要——這是我們在<a href="../../3-Data-Visualization/README.md">課程第三部分</a>中會探討的內容。相關領域還包括<b>信息圖表</b><b>人機交互</b>
</dd>
</dl>
## 數據的類型
正如我們已經提到的,數據無處不在。我們只需要以正確的方式捕捉它!區分**結構化**和**非結構化**數據是很有用的。前者通常以某種結構化形式表示,通常是表格或多個表格,而後者則僅僅是文件的集合。有時我們也可以談論**半結構化**數據,它具有某種結構,但結構可能差異很大。
| 結構化 | 半結構化 | 非結構化 |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------- |
| 包含電話號碼的人的列表 | 帶有鏈接的維基百科頁面 | 《大英百科全書》的文本 |
| 過去20年中每分鐘建築物所有房間的溫度 | 以JSON格式存儲的科學論文集合包括作者、出版日期和摘要 | 包含公司文件的文件共享 |
| 進入建築物的所有人的年齡和性別數據 | 網頁 | 監控攝像頭的原始視頻流 |
## 數據的來源
數據的來源有很多,幾乎無法全部列舉!然而,我們可以提到一些典型的數據來源:
* **結構化**
- **物聯網**IoT包括來自不同傳感器如溫度或壓力傳感器的數據提供了大量有用的數據。例如如果辦公樓配備了物聯網傳感器我們可以自動控制供暖和照明以降低成本。
- **調查問卷**,例如在用戶購物後或訪問網站後要求其填寫的問卷。
- **行為分析**,例如幫助我們了解用戶瀏覽網站的深度,以及離開網站的典型原因。
* **非結構化**
- **文本**可以提供豐富的洞察,例如整體**情感分數**,或提取關鍵字和語義含義。
- **圖片**或**視頻**。監控攝像頭的視頻可以用來估算道路上的交通流量,並通知人們可能的交通堵塞。
- 網頁伺服器的**日誌**可以用來了解我們網站中最常被訪問的頁面,以及訪問的時長。
* **半結構化**
- **社交網絡**圖表可以提供有關用戶個性以及信息傳播潛力的數據。
- 當我們擁有一堆派對照片時,我們可以嘗試通過建立人們互相拍照的圖表來提取**群體動態**數據。
了解不同的數據來源後,你可以嘗試思考不同的場景,看看數據科學技術可以如何應用於更好地了解情況並改善業務流程。
## 數據的用途
在數據科學中,我們專注於數據旅程的以下步驟:
<dl>
<dt>1) 數據獲取</dt>
<dd>
第一步是收集數據。雖然在許多情況下這可能是一個簡單的過程比如數據從網絡應用程序進入數據庫但有時我們需要使用特殊技術。例如來自物聯網傳感器的數據可能過於龐大因此使用像IoT Hub這樣的緩衝端點來收集所有數據以便進一步處理是一個好習慣。
</dd>
<dt>2) 數據存儲</dt>
<dd>
存儲數據可能具有挑戰性,尤其是當我們談論大數據時。在決定如何存儲數據時,考慮未來希望如何查詢數據是有意義的。數據可以通過以下幾種方式存儲:
<ul>
<li>關係型數據庫存儲表的集合並使用一種名為SQL的特殊語言來查詢它們。通常表格被組織成不同的組稱為模式。在許多情況下我們需要將數據從原始形式轉換以適應模式。</li>
<li><a href="https://en.wikipedia.org/wiki/NoSQL">NoSQL</a>數據庫,例如<a href="https://azure.microsoft.com/services/cosmos-db/?WT.mc_id=academic-77958-bethanycheum">CosmosDB</a>不對數據強制執行模式並允許存儲更複雜的數據例如層次結構的JSON文檔或圖表。然而NoSQL數據庫沒有SQL的豐富查詢功能並且無法強制執行參考完整性即表格結構和表格之間關係的規則。</li>
<li><a href="https://en.wikipedia.org/wiki/Data_lake">數據湖</a>存儲用於以原始、非結構化形式存儲大量數據。數據湖通常用於大數據,當所有數據無法放入一台機器時,必須由伺服器集群存儲和處理。<a href="https://en.wikipedia.org/wiki/Apache_Parquet">Parquet</a>是與大數據一起使用的常見數據格式。</li>
</ul>
</dd>
<dt>3) 數據處理</dt>
<dd>
這是數據旅程中最令人興奮的部分,涉及將數據從原始形式轉換為可用於可視化/模型訓練的形式。當處理非結構化數據如文本或圖片我們可能需要使用一些AI技術從數據中提取<b>特徵</b>,從而將其轉換為結構化形式。
</dd>
<dt>4) 可視化/人類洞察</dt>
<dd>
通常,為了理解數據,我們需要對其進行可視化。擁有多種不同的可視化技術,我們可以找到合適的視圖來獲得洞察。通常,數據科學家需要“玩弄數據”,多次進行可視化並尋找一些關係。此外,我們可能使用統計技術來測試假設或證明數據之間的相關性。
</dd>
<dt>5) 訓練預測模型</dt>
<dd>
由於數據科學的最終目標是能夠基於數據做出決策,我們可能希望使用<a href="http://github.com/microsoft/ml-for-beginners">機器學習</a>技術來構建預測模型。然後,我們可以使用這些模型來對具有相似結構的新數據集進行預測。
</dd>
</dl>
當然,根據實際數據的不同,有些步驟可能會缺失(例如,當我們已經擁有數據庫中的數據,或者當我們不需要模型訓練時),或者有些步驟可能會重複多次(例如數據處理)。
## 數字化與數字轉型
在過去的十年中,許多企業開始意識到在做出商業決策時數據的重要性。要將數據科學原則應用於企業運營,首先需要收集一些數據,即將業務流程轉化為數字形式。這被稱為**數字化**。將數據科學技術應用於這些數據以指導決策,可以顯著提高生產力(甚至是業務轉型),這被稱為**數字轉型**。
讓我們來看一個例子。假設我們有一門數據科學課程(就像這門課程),我們在線上向學生提供,並希望利用數據科學來改進它。我們該怎麼做?
我們可以先問自己“什麼可以數字化?”最簡單的方法是測量每位學生完成每個模組所需的時間,並通過在每個模組結束時進行選擇題測試來測量所獲得的知識。通過計算所有學生的平均完成時間,我們可以找出哪些模組對學生來說最具挑戰性,並著手簡化它們。
> 你可能會認為這種方法並不理想,因為模組的長度可能不同。或許更公平的做法是將時間除以模組的長度(以字元數計算),然後比較這些值。
當我們開始分析多項選擇測試的結果時,可以嘗試找出學生難以理解的概念,並利用這些資訊來改進內容。為了做到這一點,我們需要設計測試,使每個問題都能對應到某個特定的概念或知識塊。
如果我們想進一步深入分析,可以將每個模組所花的時間與學生的年齡類別進行對比。我們可能會發現某些年齡類別的學生完成模組所需的時間過長,或者學生在完成模組之前就中途退出。這可以幫助我們為模組提供年齡建議,並減少因錯誤期望而導致的不滿。
## 🚀 挑戰
在這次挑戰中,我們將透過分析文本來尋找與數據科學領域相關的概念。我們會選取一篇關於數據科學的維基百科文章,下載並處理文本,然後建立一個像這樣的文字雲:
![數據科學文字雲](../../../../translated_images/zh-HK/ds_wordcloud.664a7c07dca57de0.webp)
請訪問 [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') 閱讀程式碼。你也可以執行程式碼,並即時查看它如何進行所有數據轉換。
> 如果你不知道如何在 Jupyter Notebook 中執行程式碼,可以參考 [這篇文章](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)。
## [課後測驗](https://ff-quizzes.netlify.app/en/ds/quiz/1)
## 作業
* **任務 1**:修改上述程式碼,找出與 **大數據** 和 **機器學習** 領域相關的概念
* **任務 2**[思考數據科學場景](assignment.md)
## 致謝
這節課由 [Dmitry Soshnikov](http://soshnikov.com) 用 ♥️ 編寫。
---
**免責聲明**
此文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋不承擔責任。