Đánh giá mô hình của bạn
Trong học máy, chúng tôi tạo ra các mô hình để dự đoán kết quả của một số sự kiện nhất định, như trong chương trước, nơi chúng tôi dự đoán phát xạ CO2 của một chiếc xe khi chúng tôi biết trọng lượng và kích thước động cơ.
Để đo lường nếu mô hình đủ tốt, chúng ta có thể sử dụng một phương thức gọi là Train/Test.
Train/Test là gì
Train/Test là một phương pháp để đo độ chính xác của mô hình của bạn.
Nó được gọi là Train/Test vì bạn chia bộ dữ liệu thành hai bộ: một bộ đào tạo và bộ thử nghiệm.
80% cho đào tạo, và 20% cho thử nghiệm.
Bạn đào tạo mô hình bằng cách sử dụng bộ đào tạo.
Bạn kiểm tra mô hình bằng cách sử dụng bộ thử nghiệm.
Huấn luyện mô hình có nghĩa là tạo mô hình.
Kiểm tra mô hình có nghĩa là kiểm tra độ chính xác của mô hình.
Bắt đầu với một tập dữ liệu
Bắt đầu với một tập dữ liệu bạn muốn kiểm tra.
Bộ dữ liệu của chúng tôi minh họa 100 khách hàng trong một cửa hàng và thói quen mua sắm của họ.
Thí dụ
Nhập Numpyimport matplotlib.pyplot dưới dạng pltnumpy.random.seed [2]
import matplotlib.pyplot as plt
numpy.random.seed[2]
x = numpy.random.nqual [3, 1, 100] y = numpy.random.nqual [150, 40, 100] / x
y = numpy.random.normal[150, 40, 100] / x
plt.scatter [x, y] plt.show []
plt.show[]
Result:
Trục X đại diện cho số phút trước khi mua hàng.
Trục Y đại diện cho số tiền chi tiêu cho việc mua.
Chạy ví dụ »
Chia thành tàu/thử nghiệm
Bộ đào tạo phải là một lựa chọn ngẫu nhiên là 80% dữ liệu gốc.
Bộ thử nghiệm phải là 20%còn lại.
train_x = x[:80]
train_y = y[:80]
test_x = x[80:]
test_y = y[80:]
Hiển thị bộ đào tạo
Hiển thị cùng một biểu đồ phân tán với bộ đào tạo:
Thí dụ
Nhập Numpyimport matplotlib.pyplot dưới dạng pltnumpy.random.seed [2]
plt.show[]
Result:
x = numpy.random.nqual [3, 1, 100] y = numpy.random.nqual [150, 40, 100] / x
Chạy ví dụ »
Chia thành tàu/thử nghiệm
Bộ đào tạo phải là một lựa chọn ngẫu nhiên là 80% dữ liệu gốc.
Thí dụ
Nhập Numpyimport matplotlib.pyplot dưới dạng pltnumpy.random.seed [2]
plt.show[]
Result:
x = numpy.random.nqual [3, 1, 100] y = numpy.random.nqual [150, 40, 100] / x
Chạy ví dụ »
Chia thành tàu/thử nghiệm
Bộ đào tạo phải là một lựa chọn ngẫu nhiên là 80% dữ liệu gốc.
Bộ thử nghiệm phải là 20%còn lại.
Thí dụ
Nhập Numpyimport matplotlib.pyplot dưới dạng pltnumpy.random.seed [2]
Nhập Numpyimport matplotlib.pyplot dưới dạng pltnumpy.random.seed [2]
import matplotlib.pyplot as plt
numpy.random.seed[2]
x = numpy.random.nqual [3, 1, 100] y = numpy.random.nqual [150, 40, 100] / x
y =
numpy.random.normal[150, 40, 100] / x
plt.scatter [x, y] plt.show []
train_y = y[:80]
Trục X đại diện cho số phút trước khi mua hàng.
test_y = y[80:]
Trục Y đại diện cho số tiền chi tiêu cho việc mua.
Chạy ví dụ »
Chia thành tàu/thử nghiệm
plt.plot[myline, mymodel[myline]]
plt.show[]
Result:
Chạy ví dụ »
Chia thành tàu/thử nghiệm
Bộ đào tạo phải là một lựa chọn ngẫu nhiên là 80% dữ liệu gốc.
R2
Bộ thử nghiệm phải là 20%còn lại.
Hiển thị bộ đào tạo
Hiển thị cùng một biểu đồ phân tán với bộ đào tạo:
plt.scatter [Train_x, Train_y] plt.show []
Thí dụ
Nhập Numpyimport matplotlib.pyplot dưới dạng pltnumpy.random.seed [2]
x = numpy.random.nqual [3, 1, 100] y = numpy.random.nqual [150, 40, 100] / x
from sklearn.metrics import r2_score
numpy.random.seed[2]
x = numpy.random.nqual [3, 1, 100] y = numpy.random.nqual [150, 40, 100] / x
y = numpy.random.normal[150, 40, 100] / x
plt.scatter [x, y] plt.show []
train_y = y[:80]
Trục X đại diện cho số phút trước khi mua hàng.
test_y = y[80:]
Trục Y đại diện cho số tiền chi tiêu cho việc mua.
Chạy ví dụ »
print[r2]
Chia thành tàu/thử nghiệm
Bộ đào tạo phải là một lựa chọn ngẫu nhiên là 80% dữ liệu gốc. The result 0.799 shows that there is a OK relationship.
Bộ thử nghiệm phải là 20%còn lại.
Hiển thị bộ đào tạo
Hiển thị cùng một biểu đồ phân tán với bộ đào tạo:
Thí dụ
Nhập Numpyimport matplotlib.pyplot dưới dạng pltnumpy.random.seed [2]
x = numpy.random.nqual [3, 1, 100] y = numpy.random.nqual [150, 40, 100] / x
from sklearn.metrics import r2_score
numpy.random.seed[2]
x = numpy.random.nqual [3, 1, 100] y = numpy.random.nqual [150, 40, 100] / x
y = numpy.random.normal[150, 40, 100] / x
plt.scatter [x, y] plt.show []
train_y = y[:80]
Trục X đại diện cho số phút trước khi mua hàng.
test_y = y[80:]
Trục Y đại diện cho số tiền chi tiêu cho việc mua.
Chạy ví dụ »
print[r2]
Chia thành tàu/thử nghiệm
Bộ đào tạo phải là một lựa chọn ngẫu nhiên là 80% dữ liệu gốc. The result 0.809 shows that the model fits the testing set as well, and we are confident that we can use the model to predict future values.
Dự đoán giá trị
Bây giờ chúng tôi đã thiết lập rằng mô hình của chúng tôi là OK, chúng tôi có thể bắt đầu dự đoán các giá trị mới.
Thí dụ
Mua khách hàng sẽ chi bao nhiêu tiền, nếu cô ấy hoặc anh ấy ở trong cửa hàng trong 5 phút?
In [MyModel [5]]
Chạy ví dụ »
Ví dụ dự đoán khách hàng chi 22,88 đô la, dường như tương ứng với sơ đồ: