You are on page 1of 58

Chương 1:

Mở đầu – Phần 1
@Đặng Văn Nam - 2022
Nội dung bài học

1. Tầm quan trọng của dữ liệu

2. Khoa học dữ liệu là gì?

3. Các kiến thức và kỹ năng cho phân tích dữ liệu

4. Tại sao phải học và sử dụng Python trong khoa học dữ liệu?

5. Cài đặt và thiết lập môi trường học tập.

2
1. TẦM QUAN TRỌNG CỦA DỮ LIỆU
Tầm quan trọng của dữ liệu?
Tầm quan trọng của dữ liệu?
Tầm quan trọng của dữ liệu?
2. KHOA HỌC DỮ LIỆU LÀ GÌ?
Khoa học dữ liệu là gì?
Khoa học dữ liệu là gì?
Khoa học dữ liệu là gì?
Khoa học dữ liệu là gì?

Khoa học dữ liệu là khoa học về việc quản trị và phân tích dữ liệu, trích xuất
các giá trị từ dữ liệu để tìm ra các hiểu biết, các tri thức hành động, các quyết
định dẫn dắt hành động.
Khoa học dữ liệu gồm ba phần chính:
 Tạo ra và quản trị dữ liệu
 Phân tích dữ liệu
 Chuyển kết quả phân tích thành giá trị của hành động.
Khoa học dữ liệu là gì?
Khoa học dữ liệu là gì?

Công cụ mới và hiệu quả trong Phương pháp tự động phân


khám phá thông tin ẩn chứa từ tích và trích xuất thông tin từ
dữ liệu khối lượng dữ liệu lớn

Một lĩnh vực mới kết hợp giữa thống kê, toán
học, kỹ thuật lập trình, mô phỏng và biểu diễn
nhằm chuyển đổi dữ liệu thành thông tin
Khoa học dữ liệu là gì?

“Ta chỉ tin vào thượng đế,


Mọi thứ khác phải dựa vào dữ liệu”
3. CÁC KIẾN THỨC VÀ KỸ NĂNG CẦN THIẾT CHO
VIỆC PHÂN TÍCH DỮ LIỆU

https://www.youtube.com/watch?v=em8nBc-zRaM&ab_channel=ArtofEngineer
Nhà khoa học dữ liệu?

17
Tại sao bạn
nên trở thành
một nhà khoa
học dữ liệu?

18
Tại sao bạn nên trở thành một nhà khoa học dữ liệu?

19
Một nhà khoa học dữ liệu cần gì?
Thống kê là nền tảng của KHDL,
trích xuất kiến thức và thu nhận kết
Mô hình toán học giúp tăng quả phân tích từ dữ liệu
hiệu suất tính toán và dự đoán Kiến thức, kỹ năng về lập trình
để xây dựng các chương trình
trích xuất, mô hình hóa dữ liệu

ML là công cụ quan trọng trong Truy vấn trong CSDL giúp đặt
KHDL, cung cấp cách thức giải ra các câu hỏi chính xác để
quyết các vấn đề giải quyết các vấn đề đặt ra
trong KHDL
Những kiến thức cần trang bị
Những kiến thức cần trang bị

1 – Kiến thức về cơ sở dữ liệu


Những kiến thức cần trang bị

2 – Kiến thức về thống kê

Thống kê là một tập con của toán học liên quan


đến việc thu thập, phân tích và thể hiện dữ liệu;
Nhà khoa học dữ liệu cần có hiểu biết về thống kê
Những kiến thức cần trang bị

3 – Kiến thức về lập trình

Thành thạo ít nhất một trong số những ngôn ngữ lập


trình dưới đây là cần thiết cho việc phân tích dữ liệu
của bất kỳ nhà khoa học dữ liệu nào
Những kiến thức cần trang bị

4 – Kiến thức về thu thập và xử lý dữ liệu


Thành thạo ít nhất một trong số những ngôn ngữ lập
Xử lý dưới
trình dữ liệu
đâylàlàquá
cầntrình
thiếtchuyển đổiphân
cho việc từ dữ liệu
tích dữthô
liệu
(raw data)
củathành
bất kỳđịnh
nhàdạng
khoaphù
học hợp để làm
dữ liệu nào cho nó
hữu ích cho phân tích.

Bao gồm:

Phân tích
Làm sạch dữ Làm giàu dữ
cấu trúc dữ
liệu thô liệu thô
liệu thô
Những kiến thức cần trang bị

5 – Kiến thức về Học máy

Thành thạo ít nhất một trong số những ngôn ngữ lập


Kiến thức về các kỹ thuật học máy như học có giám sát,
trình dưới đây là cần thiết cho việc phân tích dữ liệu
học không giám sát…là hữu ích cho công việc của một
của bất kỳ nhà khoa học dữ liệu nào
nhà khoa học dữ liệu
Những kiến thức cần trang bị

6 – Kiến thức về trực quan hóa dữ liệu


Thành thạo ít nhất một trong số những ngôn ngữ lập
Trực quan
trình hóađây
dưới dữ là
liệu là việc
cần thiếtnghiên cứuphân
cho việc và trình
tíchbày
dữ dữ
liệuliệu
trực quan,
củathông
bất kỳqua cáckhoa
nhà biểuhọc
đồ, dữ
hìnhliệu
vẽ…nào
Đây là cách
truyền tải thông tin một cách rõ ràng và hiệu quả nhất
Những kiến thức cần trang bị

7 – Kiến thức về Dữ liệu lớn


Thành thạo ít nhất một trong số những ngôn ngữ lập
DữTrực
liệuquan
trìnhlớn hóa
dưới dữ là
có nhiều
đây liệu
lợi
cầnlà
íchviệc nghiên
khác
thiết nhau
cho cứu
như:
việc vàTruy
phân trình
cập
tích bày
dữ dữ
vào liệu
dữ
liệu
liệu trực
mạngquan,
xãcủathông
hội có thể
bất kỳqua
cho
nhà các biểuđiều
phép
khoa đồ, dữ
học hình
chỉnh vẽ…
liệu Đây
chiến
nào là cách
lược kinh
truyền tải cải
doanh, thông tintrải
thiện mộtnghiệm
cách rõcủa
ràng và hiệu
khách quả nhất
hàng…
4. TẠI SAO PHẢI HỌC PYTHON?

29
Why Python?

https://www.spec-india.com/blog/programming-lan
guages-for-machine-learning
Why python?
• Ngôn ngữ lập trình có thể sử dụng để phát triển
từ các ứng dụng cho desktop, web đến các ứng
dụng cho di động.
• Phù hợp nhất để phát triển các ứng dụng cho
backend web development (server side), phân
tích dữ liệu, trí thông minh nhân tạo (AI), máy học
(machine learning), big data và hiển thị dữ liệu
(data visualization).
• Nhiều lập trình viên sử dụng Python để phát triển
game và các ứng dụng trên destop.
• Phù hợp cho việc xây dựng các script nhỏ để tự
đống hóa các công việc đơn giản, ví dụ như viết
1 đoạn script để đếm số lượng email có chứa các
từ khóa cho trước.
Why python?
Why python?
5. CÔNG CỤ VÀ MÔI TRƯỜNG HỌC TẬP
Công cụ và môi trường học tập

IDEs Offline: IDEs Online:


Sử dụng Jupyter Notebook Sử dụng Colab của Google

• Học viên thực hiện theo hướng dẫn trong file cài đặt…
Jupyter Notebook

36
Jupyter Notebook

• Jupyter notebook:
• Jupyter = Julia + Python + R
• Jupyter notebook là công cụ cho
phép bạn đưa cả code Python và các
thành phần văn bản phức tạp như
hình ảnh, công thức, video, biểu
thức... vào trong cùng một file

37
Jupyter Notebook

• Phần 1: Tiêu đề tài liệu


• Phần 2: Thanh menu
• Phần 3: Thanh menu nhanh (shortcut menu)
• Phần 4: Nội dung tài liệu chứa các cell

38
Xây dung ứng dụng “Hello World”

• Tạo thư mục chứa mã nguồn, tạo file đầu tiên “Hello World”
Hãy nhập và chạy những dòng code Python đầu tiên!

39
2 loại cell căn bản

• Cell: Là thành phần căn bản nhất trong một Notebooks và được chi làm 2 loại là Code và
Markdown.

40
2 loại cell căn bản

• Code (mặc định khi thêm mới 1 cell): Cho phép người dùng thực hiện việc lập trình và
thực thi các câu lệnh được viết trong 1 cell. Kết quả trả về sẽ được ghi ngay bên dưới cell
đó.

Phím tắt để thực thi một cell: Shift + Enter hoặc Ctrl + Enter
41
2 loại cell căn bản
• Markdown: Cho phép người dùng có thể dễ dàng soạn thảo, đọc và trang trí đoạn văn bản,
có thể chèn hình ảnh, video….là công cụ hữu ích cho phép ghi chú lại các nội dung bài học,
chú thích và tài liệu đi kèm…

42
Hàm nhập dữ liệu : input()

• Trong Python để nhập liệu từ bàn phím ta dùng hàm input()


• Cú pháp:
 input(‘chuỗi hiển thị:’)
 Biến = input(“chuỗi hiển thị”)

Lưu ý: Kết quả trả về của câu lệnh này sẽ là


một giá trị thuộc kiểu dữ liệu chuỗi

43
Hàm xuất: print()

• Hàm print() dùng để xuất dữ liệu ra màn hình trên các dòng
khác nhau
• Cú pháp:
 print(“ký tự”)
 print(biến)
 print(‘ký tự’, biến)

44
Chú thích trong Python
• Chương trình càng lớn thì càng phức tạp, từ đó việc đọc code sẽ khó khăn
hơn.
• Đặc biệt với các chương trình mã nguồn mở, việc code dễ đọc và dễ hiểu là rất
quan trọng.  sử dụng chú thích (comments) trong chương trình là một việc
làm cần thiết.
• Trong Python: Chú thích được bắt đầu sau ký tự # (một dòng). ‘’’…..’’’ (nhiều
dòng)

45
So sánh code C – Java - Python

46
Các loại lỗi thường gặp trong lập trình

• Trong các ngôn ngữ lập trình nói chung, dù là một lập trình viên chuyên nghiệp hay mới
chập chững vào nghề đều có thể gặp lỗi trong quá trình lập trình.

• Tuỳ theo khả năng của từng lập trình viên mà có thể mắc lỗi nhiều hay ít.

• Đối với lập trình viên đã đi theo con đường lập trình, chắc chắn sẽ gặp lỗi, quan trọng là
khi gặp lỗi, chúng ta sẽ giải quyết lỗi đó như thế nào.

47
Các loại lỗi thường gặp trong lập trình

48
Các loại lỗi thường gặp trong lập trình

1) Lỗi cú pháp (Syntax Error): Đây là loại lỗi sơ đẳng nhất trong lập trình. Thường là do gõ
sai cấu trúc của ngôn ngữ (ví dụ như thiếu dấu kết thúc một câu lệnh, một số ngôn ngữ từ
khoá phân biệt chữ hoa, chữ thường thì lại gõ chữ hoa, v.v. gọi là lỗi chính tả).
Chương trình sẽ không thể biên địch được khi gặp lỗi này. Các trình biên dịch khi gặp lỗi ở
dòng code nào thì sẽ báo lỗi. Việc tìm và sửa lỗi cú pháp rất đơn giản.

49
Các loại lỗi thường gặp trong lập trình

2) Lỗi thực thi (Runtime error): Xảy ra bất ngờ khi chương trình đang chạy. Loại lỗi này thường xảy
ra do người lập trình viết code ẩu, không lường hết các trường hợp xảy ra, khiến chương trình đang
chạy thì bị lỗi treo màn hình, thoát khỏi chương trình hoặc thoát luôn chương trình, v.v. Lỗi này có
thể dễ dàng phát hiện bằng cách Debug
Nên bổ sung cấu trúc xử lý ngoại lệ try … catch … finally… để hạn chế lỗi thực thi

50
Các loại lỗi thường gặp trong lập trình

Trong trường hợp dấu tròn bên cạnh chữ Python 3 chuyển sang màu đen trong thời gian dài và
không thể thực hiện được bất kỳ thao tác nào khác với cell, khi đó chương trình đang bị treo.
Để thoát khỏi tình huống này có thể khởi động lại kernel (restart the Kernel)

51
Các loại lỗi thường gặp trong lập trình

3) Lỗi thuật toán (Logical Error): Đây là lỗi do tư duy sai, thuật toán sai dẫn đến sai kết quả
Đây là loại lỗi khó phát hiện nhất, thường phải sử dụng chương trình, thậm chí là dùng lâu mới phát
hiện ra được. Việc debug lỗi này cũng là một việc tốn khá nhiều thời gian và công sức. Để phát hiện
lỗi này thì chương trình cần chạy nhiều lần với nhiều kết quả để xem nó có phù hợp hay không.

52
THỰC HÀNH

53
Thực hành

• Học viên Tạo một file mới, đặt tên: Chuong1_MaSV_HotenSV.ipynb như
dưới đây:

54
Bài 1: Chuẩn hóa chuỗi

Yêu cầu: Nhập vào một chuỗi s bất kỳ ví dụ:


s = ' python FOR Machine LearNiNg '
• Thực hiện:
– Chuẩn hóa chuỗi về chuỗi s1: Loại bỏ hết khoảng trắng ở đầu và
cuối chuỗi, các từ chỉ phân cách nhau bởi một khoảng trắng;
thêm ký tự ‘!’ ở cuối câu. chuyển hết về chữ thường và viết hoa
ký tự đầu tiên trong mỗi từ  'Python For Machine
Learning!’
– Chuẩn hóa chuỗi về chuỗi s2: Loại bỏ hết khoảng trắng ở đầu và
cuối chuỗi, chuyển toàn bộ sang chữ hoa và nối các từ bằng dấu
‘-’  ‘PYTHON-FOR-MACHINE-LEARNING'

55
Bài 2: Hiển thị bảng cửu chương bất kỳ

Yêu cầu: Nhập vào bảng cửu chương muốn in (số 1 – 10), hiển thị bảng cửu
chương tương ứng với số vừa nhập. (Thực hiện kiểm tra giá trị nhập, chỉ
thỏa mãn khi giá trị nhập vào trong khoảng [1,10]

56
Bài 3: Viết hàm kiểm tra cơ thể theo chỉ số BMI

Yêu cầu: Viết hàm check_BMI() trả về nhận xét dựa vào chỉ số BMI
đã tính, với 2 tham số truyền vào là Chiều cao (cm), Cân nặng (Kg)

57
Q&A
Thank you!

You might also like