Học máy - Biểu đồ phân tán
Biểu đồ phân tán
Biểu đồ phân tán là một sơ đồ trong đó mỗi giá trị trong tập dữ liệu được biểu thị bằng một dấu chấm.
Mô-đun Matplotlib có một phương pháp vẽ các biểu đồ phân tán, nó cần hai mảng có cùng độ dài, một mảng cho các giá trị của trục x và một mảng cho các giá trị của trục y:
x = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y = [99,86,87,88,111,86,103,87,94,78,77,85,86]
Mảng x
đại diện cho tuổi của mỗi chiếc xe.
Mảng y
đại diện cho tốc độ của mỗi chiếc xe.
Ví dụ
Sử dụng phương thức scatter()
để vẽ sơ đồ biểu đồ phân tán:
import matplotlib.pyplot as plt
x =
[5,7,8,7,2,17,2,9,4,11,12,9,6]
y =
[99,86,87,88,111,86,103,87,94,78,77,85,86]
plt.scatter(x, y)
plt.show()
Kết quả:
Chạy ví dụ »Giải thích về âm mưu phân tán
Trục x biểu thị độ tuổi và trục y biểu thị tốc độ.
Những gì chúng ta có thể đọc được từ biểu đồ là hai chiếc ô tô nhanh nhất đều đã 2 tuổi và chiếc ô tô chậm nhất đã 12 tuổi.
Lưu ý: Có vẻ như xe càng mới thì tốc độ càng nhanh, nhưng đó có thể chỉ là trùng hợp thôi, dù sao chúng ta cũng chỉ đăng ký 13 xe.
Phân phối dữ liệu ngẫu nhiên
Trong Machine Learning, các tập dữ liệu có thể chứa hàng nghìn hoặc thậm chí hàng triệu giá trị.
Bạn có thể không có dữ liệu thực tế khi thử nghiệm một thuật toán, bạn có thể phải sử dụng các giá trị được tạo ngẫu nhiên.
Như chúng ta đã học ở chương trước, mô-đun NumPy có thể giúp chúng ta điều đó!
Chúng ta hãy tạo hai mảng chứa 1000 số ngẫu nhiên từ phân phối dữ liệu bình thường.
Mảng đầu tiên sẽ có giá trị trung bình được đặt thành 5,0 với độ lệch chuẩn là 1,0.
Mảng thứ hai sẽ có giá trị trung bình được đặt thành 10,0 với độ lệch chuẩn là 2,0:
Ví dụ
Biểu đồ phân tán có 1000 điểm:
import numpy
import matplotlib.pyplot as plt
x = numpy.random.normal(5.0,
1.0, 1000)
y = numpy.random.normal(10.0, 2.0, 1000)
plt.scatter(x, y)
plt.show()
Kết quả:
Chạy ví dụ »Giải thích về âm mưu phân tán
Chúng ta có thể thấy rằng các chấm tập trung xung quanh giá trị 5 trên trục x và 10 trên trục y.
Chúng ta cũng có thể thấy rằng mức chênh lệch trên trục y rộng hơn trên trục x.