Machine learning cơ bản với Python #Bài 01



Xin chào anh chị em
Hôm nay mình sẽ chia sẻ một series bài viết cơ bản về Machine learning với Python.
Mục đích của series bài viết là ghi nhớ và lưu trữ một cách cơ bản về lĩnh vực này và hi vọng chia sẻ với mọi người.
Nội dung bài viết thực ra không phải là do bản thân nghĩ ra, mà được tổng hợp từ nhiều nguồn tài liệu tiếng Anh, tiếng Việt và viết lại một cách đơn giản nhất, sao cho những người mới bắt đầu bước vào lĩnh vực này cũng có thể hiểu được.

Series bài viết được tổng hợp thành 6 bài, mỗi bài sẽ có giới thiệu, diễn giải và code python ví dụ để mọi người có thể áp dụng.

Mình sẽ cố gắng viết 1-2 tuần / 1 bài

# Bài 1. Giới thiệu về Machine learning và một số khái niệm thống kê cơ bản
# Bài 2. Phân phối dữ liệu và vẽ biểu đồ
#Bài 3. Hồi quy tuyến tính, hồi quy đa thức và hồi quy đa biến
#Bài 4. Huấn luyện và kiểm tra
#Bài 5. Decision Tree
#Bài 6. Random forest và giới thiệu qua về một vài thuật toán khác

#==============
Nguồn tham khảo:
https://www.w3schools.com/
https://machinelearningcoban.com/
https://blogs.oracle.com/
https://github.com/
https://towardsdatascience.com/
#=================#####################################===============
#Bài 0. Cài đặt Python với Jupyter Notebook
Để làm việc với Python, mình sử dụng Jupyter Notebook, nếu chưa cài đặt, hãy làm theo các bước sau:
 - Vào trang https://www.anaconda.com/distribution/ để download Python version mới nhất (Python 3.7)
- Sau khi downlad và cài đặt xong, vào Anaconda Navigator, click vào Lauch Jupyter Notebook.

- Nó sẽ bắt đầu bằng 1 trang mới trong trình duyệt web của bạn (Chrome, Coccoc, firefox...)
Bạn sẽ bắt đầu 1 trang mới bằng cách click vào New => Python3



-------------------------------------------------------------------------------------------------------------

#Bài 1. GIỚI THIỆU VỀ MACHINE LEARNING VÀ MỘT SỐ KHÁI NIỆM THỐNG KÊ CƠ BẢN
1.1 Machine Learning là gì?
Machine learning là một phần của trí tuệ nhân tạo AI. Hiểu nôm na, machine learning là chương trình phân tích dữ liệu và học nó để dự đoán kết quả.
Muốn biết chi tiết hơn, hãy đọc bài viết của bạn Nguyễn Xuân Khánh  tại Machine learning là gì?
1.2 Một số khái niệm thống kê cơ bản
1.2.1. Mean, Median và Mode
Khi nhìn vào một tập hợp các số, chúng ta thường quan tâm đến những giá trị gì? Mean;  Median và Mode.
Trong môn xác suất thống kê, chúng ta đã được biết đến những giá trị này và được dịch sang tiếng Việt là: Mean - số trung bình. Median - số trung vị. Mode - yếu vị. Tuy nhiên, để dễ hiểu thì nôm na nó nghĩa là:
* Mean: Giá trị trung bình.
* Median: Giá trị điểm giữa của tập hợp
* Mode: Giá trị xuất hiện thường xuyên nhất
Từ đây trở về sau, tôi sẽ sử dụng các thuật ngữ này bằng tiếng Anh cho ngắn gọn và cũng để dễ tra cứu ở các tài liệu Quốc tế.
Sau đây là một ví dụ để chúng ta dễ hình dung định nghĩa của các thuật ngữ trên.

Ví dụ chúng ta có tập hợp tốc độ của 13 loại xe ô tô như sau

speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]

Mục đích của chúng ta là tìm các giá trị Mean, Median và Mode cho tập số trên

a. Mean
Để tính Mean, chúng ta tổng tất cả giá trị và chia cho số giá trị đó (rất đơn giản)

(99+86+87+88+111+86+103+87+94+78+77+85+86) / 13 = 89.77

Trong Python, chúng ta sử dụng code sau
      import numpy
      speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]
      x = numpy.mean(speed)
      print(x)

b. Median
Để tính Median, chúng ta sắp xếp tập hợp theo trật tự từ nhỏ đến to hoặc ngược lại. Median chính là số ở giữa
      7778858686868787889499103111


Giả sử có 2 số nằm giữa, thì Median chính là trung bình của 2 số đó
ví dụ: 
        777885868686, 8787949899103

        (86 + 87) / 2 = 
86.5

Trong Python, chúng ta sử dụng code sau
      import numpy
      speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]
      x = numpy.median(speed)
      print(x)

c. Mode
Mode là giá trị xuất hiện nhiều lần nhất trong tập hợp

9986878811186103879478778586 = 86

Trong Python, chúng ta sử dụng code sau
    from scipy import stats
    speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]
    x = stats.mode(speed)
    print(x)

1.2.2. Variance and Standard Deviation

Trong thống kê chúng ta gọi Variance là "Phương sai" và Standard Deviation là "Độ lệch chuẩn".
Độ lệch chuẩn Standard Deviation là một con số thể hiện mức độ phân tán của một tập hợp dữ liệu.
Độ lệch chuẩn càng nhỏ nghĩa là hầu hết các giá trị đều gần với giá trị MEAN
Độ lệch chuẩn càng lớn nghĩa là các giá trị bị phân tán xa với giá trị Mean

Ví dụ, chúng ta có 2 tập hợp giá trị tốc độ của 7 con xe như sau
     speed1 = [86,87,88,86,87,85,86]
Độ lệch chuẩn của speed1 là 0.9

     speed2 = [32,111,138,28,59,77,97]
Độ lệch chuẩn của speed2 là 37.85

Vậy làm sao để tính được những con số trên?
Trước hết chúng ta phải tính được "phương sai" và "độ lệch chuẩn" chính là căn bậc hai của "phương sai"

Cách tính Phương sai Variance và độ lệch chuẩn

Phương sai variance là một số khác cũng để chỉ độ phân tán của giá trị
Để dễ hiểu, chúng ta làm ví dụ sau:
Chúng ta có tập hợp tốc độ của 7 con xe speed2 bên trên
speed2 = [32,111,138,28,59,77,97]

- Bước 1. Tính Mean
(32+111+138+28+59+77+97) / 7 = 77.4

- Bước 2. Đối với mỗi giá trị, tính độ khác biệt của mỗi giá trị với giá trị mean
32 - 77.4 = -45.4
111 - 77.4 =  33.6
138 77.4 =  60.6
 28 - 77.4 = -49.4
 59 - 77.4 = -18.4
 77 77.4 = - 0.4
 97 - 77.4 =  19.6

- Bước 3. Bình phương từng giá trị khác biệt trên
(-45.4)2 = 2061.16
 (33.6)2 = 1128.96
 (60.6)2 = 3672.36
(-49.4)2 = 2440.36
(-18.4)2 =  338.56
(- 0.4)2 =    0.16
 (19.6)2 =  384.16

- Bước 4. Tính phương sai bằng trung bình của các giá trị bình phương đó
Variance = (2061.16+1128.96+3672.36+2440.36+338.56+0.16+384.167 = 1432.2

- Bước 5. Tính độ lệch chuẩn bằng căn bậc 2 của phương sai
Standard deviation = 1432.25 = 37.85

Chúng ta có thể tính dễ dàng bằng excel và sau đây là code Python

       import numpy
       speed = [32,111,138,28,59,77,97]
       x = numpy.var(speed)
       y = numpy.std(speed)
       print(x)
       print(y)


Bài 1 chúng ta sẽ dừng ở đây, bài tiếp theo, chúng ta sẽ học về phân phối dữ liệu và vẽ biểu đồ trong Python.

Machine learning cơ bản với Python #Bài 01 Machine learning cơ bản với Python #Bài 01 Reviewed by VinhHD on 17:59 Rating: 5

Không có nhận xét nào:

ads 728x90 B
Được tạo bởi Blogger.