Chuyển đến nội dung chính
Khoa học Dữ liệu
Dịch vụ Nghề nghiệp

Các kỹ năng và nền tảng chung của nhà khoa học dữ liệu là gì?

Khám phá thông tin từ 1 triệu công việc liên quan đến dữ liệu.
Khuyen Tran's photo
Khuyen Tran
Đã cập nhật · 12 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Tạo tài khoản miễn phí của bạn

Luyện tập và Lộ trình tiến trình của bạn.

Tiếp Tục Với Google
Bằng cách tiếp tục, bạn chấp nhận Điều khoản sử dụng, Chính sách bảo mật và việc dữ liệu của bạn được lưu trữ tại Hoa Kỳ.

Động lực

Năm 2012, Harvard Business Review tuyên bố nhà khoa học dữ liệu là công việc hấp dẫn nhất của thế kỷ 21. Kể từ đó, thuật ngữ nhà khoa học dữ liệu ngày càng phổ biến.

Hình trên cho thấy mức độ quan tâm đến từ khóa “data science” trên Google Tìm kiếm từ 2016 đến 2021. Ta có thể thấy sự quan tâm đến khoa học dữ liệu đã tăng đều đặn trong 5 năm qua.

Không chỉ là một vai trò được trả lương cao, công việc này còn cho phép bạn vận dụng nhiều kỹ năng, rút ra những hiểu biết thú vị từ dữ liệu thực tế và tạo ảnh hưởng đến xã hội thông qua phân tích của mình. Vì vậy, thật hợp lý khi nó được tuyên bố là công việc hấp dẫn nhất của thế kỷ 21.

Tuy nhiên, trước khi ứng tuyển vào một công việc khoa học dữ liệu, đáng để phân tích đặc điểm và nền tảng của các nhà khoa học dữ liệu. Biết được nền tảng và kỹ năng của họ sẽ cung cấp cho bạn thông tin cần thiết để trang bị các kỹ năng phù hợp nhằm nổi bật giữa một nhóm ứng viên.

Một số câu hỏi thú vị để phân tích gồm:

  • Đa số nhà khoa học dữ liệu có những kỹ năng nào?
  • Các kỹ năng này khác gì so với các chức danh khác như kỹ sư học máy, nhà phân tích dữ liệu và kỹ sư dữ liệu?
  • Những chuyên ngành nào phổ biến nhất?
  • Bạn có cần bằng thạc sĩ hoặc tiến sĩ để trở thành nhà khoa học dữ liệu không?
  • Tỷ lệ nam và nữ trong lĩnh vực khoa học dữ liệu là bao nhiêu?
  • Phần lớn công việc khoa học dữ liệu nằm ở đâu?
  • Mức độ phổ biến của các công việc liên quan đến dữ liệu thay đổi theo thời gian như thế nào?
  • Các kỹ năng của nhà khoa học dữ liệu thay đổi theo thời gian ra sao?

Lấy dữ liệu

Chúng ta sẽ sử dụng dữ liệu của hơn 160.000 nhà khoa học dữ liệu, 570.000 nhà phân tích dữ liệu, hơn 100.000 kỹ sư dữ liệu và hơn 19.000 kỹ sư học máy trên khắp thế giới. Bộ dữ liệu được trích xuất từ Diffbot, đồ thị tri thức lớn nhất thế giới. Tìm thêm hướng dẫn về cách sử dụng Diffbot tại đây.

Để bạn dễ theo dõi bài viết, toàn bộ dữ liệu sử dụng trong bài đã được tải lên kho lưu trữ này. Tất cả đều miễn phí truy cập và tải xuống.

Bạn có thể tìm notebook chứa mã của bài viết tại đây. Nếu muốn lấy dữ liệu trực tiếp từ Diffbot, bạn có thể dùng notebook này thay thế.

Tìm các ngôn ngữ phổ biến nhất

Đâu là các kỹ năng hàng đầu của nhà khoa học dữ liệu, nhà phân tích dữ liệu, kỹ sư dữ liệu và kỹ sư học máy? Ta có thể trả lời bằng cách sử dụng dữ liệu gồm 100 kỹ năng phổ biến nhất của những người có các chức danh này.

import pandas as pd
skill_count = pd.read_csv(
"https://media.githubusercontent.com/media/khuyentran1401/dataset/master/data_science_market/all_skills.csv",
    index_col=0,
)

# Show the top 10 rows
skill_count.head(10)

Chúng ta sẽ dùng bộ dữ liệu này để phân tích mức độ phổ biến của các ngôn ngữ lập trình trong một vị trí liên quan đến dữ liệu nhất định. Chúng ta sẽ trực quan hóa bằng ma trận bong bóng được tạo trên Observable.

Ma trận bong bóng dùng kích thước và màu sắc để biểu diễn thông tin hai chiều. Hàng thể hiện chức danh công việc và cột thể hiện ngôn ngữ. Bong bóng càng lớn, ngôn ngữ đó càng được dùng thường xuyên trong một nhóm công việc cụ thể.

Để tạo kích thước bong bóng, ta sẽ tính tỷ lệ giữa tần suất của một ngôn ngữ với tần suất tối đa trong tất cả ngôn ngữ và vị trí.

languages = skill_count[
    skill_count["skill"].isin(
        ["python", "r", "sql", "c", "c++", "matlab", "java", "javascript"]
    )
]

languages["Ratio to All Skills"] = languages["count"].apply(
    lambda c: c / max(skill_count["count"])
)
# View languages used by data analysts
languages[languages["Title"] == "Data Analyst"]

Các bong bóng sẽ được làm nổi bật nếu vượt quá một số lần xuất hiện nhất định. Ta có thể dùng thanh trượt để chọn ngưỡng mà trên đó bong bóng được tô màu nổi bật. Ví dụ, nếu chọn ngưỡng 100.000, chỉ những bong bóng có số đếm trên 100.000 mới có màu tím đậm.

Một điều thú vị khác là ta có thể sắp xếp bong bóng theo chức danh công việc. Hãy dùng tính năng này để tìm kỹ năng hàng đầu của mỗi chức danh.

Bạn có thể tương tác với biểu đồ tại đây. Dựa trên biểu đồ, ta thấy rằng:

  • Ba kỹ năng hàng đầu của nhà phân tích dữ liệu theo thứ tự giảm dần là SQL, Python và R
  • Ba kỹ năng hàng đầu của kỹ sư dữ liệu theo thứ tự giảm dần là SQL, Python và Java
  • Ba kỹ năng hàng đầu của nhà khoa học dữ liệu theo thứ tự giảm dần là Python, R và SQL
  • Ba kỹ năng hàng đầu của kỹ sư học máy theo thứ tự giảm dần là Python, Java và C++

Phân tích giáo dục

Các chuyên ngành phổ biến nhất

Những chuyên ngành nào phổ biến nhất ở các vị trí liên quan đến dữ liệu? Để trả lời, ta sẽ tải dữ liệu cho thấy tần suất các chuyên ngành hàng đầu của một vị trí nhất định.

!wget 'majors_df.pkl' 'https://github.com/khuyentran1401/dataset/raw/master/data_science_market/majors_df.pkl'

import pickle

majors_df = pickle.load(open("majors_df.pkl", "rb"))
majors_df["data scientist"]

Hãy trực quan hóa bộ dữ liệu này để hiểu rõ hơn. Bắt đầu bằng cách tạo một hàm để vẽ các chuyên ngành của một vị trí.

import plotly.express as px


def plot_majors(title: str, majors_df: dict):
    majors = majors_df[title]
    return px.bar(data_frame=majors, x="name", y="value")

Các chuyên ngành hàng đầu của nhà khoa học dữ liệu:

plot_majors('data scientist', majors_df)

Tương tác với biểu đồ tại đây. Vì nhiều vị trí khoa học dữ liệu yêu cầu kiến thức lập trình và toán, không ngạc nhiên khi hai chuyên ngành hàng đầu của nhà khoa học dữ liệu là khoa học máy tính và toán học.

Các chuyên ngành hàng đầu của kỹ sư dữ liệu:

plot_majors('data engineer', majors_df)

Tương tác với biểu đồ tại đây. Vì công việc của kỹ sư dữ liệu đòi hỏi kiến thức về nhiều công nghệ và ngôn ngữ lập trình, dễ hiểu khi phần lớn kỹ sư dữ liệu học chuyên ngành khoa học máy tính và công nghệ thông tin thay vì toán học.

Các chuyên ngành hàng đầu của nhà phân tích dữ liệu:

plot_majors('data analyst', majors_df)

Tương tác với biểu đồ tại đây. Ba chuyên ngành hàng đầu của nhà phân tích dữ liệu là quản trị kinh doanh, khoa học máy tính và kinh tế học. Kết quả này hợp lý vì công việc của nhà phân tích dữ liệu liên quan đến diễn giải dữ liệu.

Các chuyên ngành hàng đầu của kỹ sư học máy:

plot_majors('machine learning engineer', majors_df)

Tương tác với biểu đồ tại đây. Ta cũng có thể dùng biểu đồ đóng gói vòng tròn để xem sự khác biệt về chuyên ngành giữa các công việc khác nhau.

Bạn có thể tương tác với biểu đồ trên tại đây.

Phân tích trình độ học vấn

Bạn có thể thấy nhiều mô tả công việc cho vị trí nhà khoa học dữ liệu yêu cầu bằng thạc sĩ hoặc tiến sĩ. Nhưng thực tế có bao nhiêu nhà khoa học dữ liệu sở hữu bằng thạc sĩ hoặc tiến sĩ?

Hãy trả lời bằng cách tải dữ liệu cho thấy số lượng từng trình độ học vấn cho một vị trí cụ thể.

degree_df = pd.read_csv(
"https://media.githubusercontent.com/media/khuyentran1401/dataset/master/data_science_market/degrees.csv"
)

degree_df.head(10)

Ta có thể thấy các trình độ gồm:

  • Trung học
  • Cao đẳng (Associate’s)
  • Cử nhân
  • Thạc sĩ
  • Tiến sĩ
  • Chứng chỉ

Hãy trực quan hóa dữ liệu bằng ma trận bong bóng.

Bạn có thể tương tác với biểu đồ tại đây. Từ biểu đồ, ta thấy trình độ phổ biến nhất trong tất cả các vị trí liên quan đến dữ liệu là cử nhân. Điều này hợp lý vì hầu hết công việc liên quan đến dữ liệu yêu cầu ít nhất bằng cử nhân, và những người có bằng thạc sĩ hoặc tiến sĩ cũng đều có bằng cử nhân.

Dưới đây là cách dữ liệu trông như khi dùng biểu đồ cột nhóm.

Đáng chú ý là số nhà phân tích dữ liệu có bằng cử nhân gần gấp đôi số có bằng thạc sĩ. Tuy nhiên, số nhà khoa học dữ liệu có bằng cử nhân xấp xỉ bằng số có bằng thạc sĩ.

Điều này có nghĩa là tỷ lệ nhà khoa học dữ liệu theo học bậc cao hơn sau khi có bằng cử nhân cao hơn tỷ lệ nhà phân tích dữ liệu làm điều đó.

Phân tích giới tính

Tỷ lệ nam và nữ trong các vai trò liên quan đến dữ liệu là bao nhiêu? Hãy trả lời bằng dữ liệu cho thấy số lượng nam và nữ theo vị trí.

gender_df = pd.read_csv(
    "https://media.githubusercontent.com/media/khuyentran1401/dataset/master/data_science_market/genders.csv"
)
gender_df.head(10)

Tiếp theo, ta trực quan hóa dữ liệu bằng biểu đồ cột nhóm.

Từ biểu đồ, ta thấy rằng:

  • Trong tất cả công việc liên quan đến dữ liệu ngoại trừ nhập liệu, nam nhiều hơn nữ.
  • Số nam gần gấp đôi số nữ trong các vai trò như nhà phân tích dữ liệu và nhà thống kê.
  • Số nam nhiều hơn gấp đôi số nữ trong các vai trò như nhà khoa học dữ liệu, kỹ sư dữ liệu và kỹ sư học máy.

Phân tích địa điểm

Các bang phổ biến nhất cho nhà khoa học dữ liệu tại Hoa Kỳ

Những bang nào phổ biến nhất đối với nhà khoa học dữ liệu? Bắt đầu bằng cách lấy dữ liệu cho thấy số lượng nhà khoa học dữ liệu theo bang.

state_jobs = pd.read_csv(
    "https://media.githubusercontent.com/media/khuyentran1401/dataset/master/data_science_market/state_jobs.csv"
)
state_jobs.head(10)

Tiếp theo, ta sẽ vẽ dữ liệu bằng folium, một thư viện Python để tạo bản đồ.

state_geo = "https://raw.githubusercontent.com/python-visualization/folium/master/examples/data/us-states.json"

m = folium.Map(location=[48, -102], zoom_start=3)

folium.Choropleth(
    geo_data=state_geo,
    name="choropleth",
    data=state_jobs,
    columns=["state", "count"],
    key_on="feature.id",
    fill_color="YlGn",
    fill_opacity=0.7,
    line_opacity=0.2,
    legend_name="Number of Data Science Jobs",
).add_to(m)

folium.LayerControl().add_to(m)

m

Bạn có thể tương tác với bản đồ tại đây. Từ bản đồ, ta thấy bang có số lượng nhà khoa học dữ liệu cao nhất là California. Đứng thứ hai, ba và bốn lần lượt là New York, Massachusetts và Texas.

25 quốc gia phổ biến nhất trên thế giới cho nhà khoa học dữ liệu

25 quốc gia nào phổ biến nhất đối với nhà khoa học dữ liệu? Bắt đầu bằng cách tải và nạp dữ liệu cho thấy số lượng nhà khoa học dữ liệu theo quốc gia:

!wget 'countries.pkl' 'https://github.com/khuyentran1401/dataset/raw/master/data_science_market/countries.pkl'

countries = pickle.load(open("countries.pkl", "rb"))

Tiếp theo, ta vẽ 25 quốc gia hàng đầu cho nhà khoa học dữ liệu:

def plot_top_25_locations(title: str, locations: dict):
    data = locations[title]
    return px.bar(data_frame=data, x="location", y="count")

plot_top_25_locations("data scientist", countries)

Tương tác với biểu đồ trên tại đây. Năm quốc gia phổ biến nhất cho nhà khoa học dữ liệu là:

  • Hoa Kỳ
  • Ấn Độ
  • Pháp
  • Vương quốc Anh
  • Đức

25 thành phố phổ biến nhất trên thế giới cho nhà khoa học dữ liệu

25 thành phố nào phổ biến nhất đối với nhà khoa học dữ liệu? Ta sẽ tải dữ liệu cho thấy số lượng nhà khoa học dữ liệu theo thành phố:

!wget 'cities.pkl' 'https://github.com/khuyentran1401/dataset/raw/master/data_science_market/cities.pkl'

cities = pickle.load(open("cities.pkl", "rb"))

Biểu đồ 25 thành phố hàng đầu cho nhà khoa học dữ liệu:

Tương tác với biểu đồ trên tại đây. Từ biểu đồ, ta thấy năm thành phố phổ biến nhất cho nhà khoa học dữ liệu là:

  • San Francisco
  • Bengaluru
  • London
  • Paris
  • Thành phố New York

Các chức danh phổ biến nhất cho nhà khoa học dữ liệu

Có nhiều chức danh liên quan đến vai trò nhà khoa học dữ liệu, như senior data scientist, junior data scientist, thực tập sinh data scientist, và những chức danh khác. Sẽ thật tuyệt nếu ta có thể xem mức độ phổ biến của từng chức danh này?

Chúng ta sẽ bắt đầu bằng cách lấy dữ liệu gồm số lượng tất cả chức danh liên quan đến nhà khoa học dữ liệu:

!wget "top_titles.pkl" "https://github.com/khuyentran1401/dataset/raw/master/data_science_market/top_titles.pkl"

top_titles = pickle.load(open("top_titles.pkl", "rb"))
top_titles["data scientist"]

Biểu đồ cột của các chức danh hàng đầu liên quan đến nhà khoa học dữ liệu:

Tương tác với biểu đồ trên tại đây. Ta cũng có thể dùng biểu đồ đóng gói vòng tròn để trực quan hóa sự đa dạng trong chức danh của một số vị trí liên quan đến dữ liệu.

Bạn có thể tự tương tác với biểu đồ tại đây.

Phân tích xu hướng ngành

Từ khóa

Mức độ quan tâm đến từ khóa data scientist trên Google Tìm kiếm đã thay đổi theo thời gian như thế nào? Ta có thể lấy dữ liệu bằng pytrends, sau đó vẽ bằng Plotly Express:

from pytrends.request import TrendReq


def plot_keyword_trend(title: str):
    pytrends = TrendReq(hl="en-US", tz=360)
    pytrends.build_payload(kw_list=[title])

    df = pytrends.interest_over_time()
    return px.line(data_frame=df, y=title)


plot_keyword_trend("data scientist")

Tương tác với biểu đồ tại đây. Có vẻ như mức độ quan tâm đến từ khóa data scientist tăng tuyến tính từ 2016 đến 2021.

Sự thay đổi số lượng vị trí theo thời gian

Số lượng các vị trí đã thay đổi theo thời gian như thế nào? Ta có thể tìm hiểu bằng dữ liệu cho thấy sự thay đổi số lượng các vị trí chính thức theo thời gian.

dates_df = pd.read_csv(
"https://media.githubusercontent.com/media/khuyentran1401/dataset/master/data_science_market/dates.csv",
    index_col=0)
dates_df.head(10)

Hàng đầu tiên trong dữ liệu cho thấy có 40 nhà khoa học dữ liệu làm việc vào năm 1988. Hàng thứ hai cho thấy có 52 nhà khoa học dữ liệu làm việc vào năm 1989.

Biểu đồ đường của dữ liệu trên:

px.line(dates_df, x="date", y="value", color="name")

Tương tác với biểu đồ trên tại đây. Một số insight chính từ biểu đồ trên:

  • Số lượng nhà thống kê ổn định theo thời gian.
  • Trước 2010, nhập liệu là công việc phổ biến nhất trong tất cả các vị trí liên quan đến dữ liệu.
  • Năm 2010, nhà phân tích dữ liệu vượt nhập liệu.
  • Năm 2013, các vai trò nhà khoa học dữ liệu, nhà phân tích dữ liệu và kỹ sư dữ liệu đều vượt nhà thống kê, trong đó nhà khoa học dữ liệu tăng trưởng theo cấp số nhân trong khi nhập liệu thủ công trở nên ít quan trọng hơn nhiều,
  • Năm 2019, vai trò kỹ sư học máy cuối cùng đã vượt nhà thống kê.

Hãy dùng cuộc đua biểu đồ cột để xem sự thay đổi thứ hạng của các vị trí liên quan đến dữ liệu:

Khá thú vị! Qua biểu đồ này, ta có thể thấy chính xác thời điểm có sự thay đổi thứ hạng. Bạn có thể tự trực quan hóa biểu đồ tại đây.

Sự thay đổi số lượng kỹ năng theo thời gian

Tần suất các kỹ năng hàng đầu của nhà khoa học dữ liệu đã thay đổi theo thời gian như thế nào? Hãy quan sát bằng dữ liệu cho thấy số lượng kỹ năng theo thời gian.

skills_df = pd.read_csv(
    "https://media.githubusercontent.com/media/khuyentran1401/dataset/master/data_science_market/skills_over_time.csv",
    index_col=0,
)
skills_df.head(10)

Tiếp theo, ta sẽ tạo cuộc đua biểu đồ cột bằng dữ liệu trên:

Ta có thể thấy trước năm 2014, giảng dạy và kinh tế học là hai kỹ năng phổ biến nhất trong số các nhà khoa học dữ liệu. Tuy nhiên, sau năm 2014, Python đã vượt qua hai kỹ năng đó và trở thành kỹ năng phổ biến nhất.

Kết luận

Bạn đã sẵn sàng thể hiện các kỹ năng khoa học dữ liệu chuyên nghiệp của mình chưa? Hãy xem chương trình chứng chỉ của DataCamp và dịch vụ nghề nghiệp để chinh phục công việc mơ ước trong lĩnh vực khoa học dữ liệu.

Chủ đề
Khoa học Dữ liệu
Dịch vụ Nghề nghiệp
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem thêm