Trong chương trước, chúng ta đã xây dựng cây quyết định theo cách thủ công để phân loại các quốc gia thành mức độ hạnh phúc thấp và cao dựa trên tuổi thọ và tỷ lệ thất nghiệp. Chúng tôi đã cung cấp các mẫu được phân loại trước cho mô hình [đó là bạn. ], được sử dụng để suy ra các luật cho cây quyết định
Trong chương này, chúng ta sẽ lặp lại các tác vụ tương tự bằng Python. Bạn có thể muốn kiểm tra lại bài tập đó để so sánh những gì chúng tôi đã làm thủ công với những gì chúng tôi làm trong mã
Nhập thư viện
Bắt đầu bằng cách nhập các thư viện cần thiết, bao gồm gấu trúc, NumPy và Matplotlib, để cung cấp cho bạn khả năng thao tác và trực quan hóa dữ liệu. Sau đó, bạn sẽ nhập một số khả năng từ scikit-learning [còn gọi là sklearn], là thư viện máy học Python mà chúng ta sẽ sử dụng
Cuối cùng, bạn sẽ nhập một thư viện có tên hàm. py, mà tôi đã tạo cho khóa học này. Bạn có thể tìm thấy tất cả mã cho khóa học này trên kho lưu trữ GitHub
# Import Python libraries for data manipuation and visualization
import pandas as pd
import numpy as np
import matplotlib.pyplot as pyplot
# Import the Python machine learning libraries we need
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# Import some convenience functions. This can be found on the course github
from functions import *
Screencast dưới đây giải thích một vài giai đoạn đầu tiên của quá trình học tập có giám sát. xác định nhiệm vụ, thu thập và hiểu dữ liệu và chuẩn bị dữ liệu cho máy học. Xem đầu tiên, sau đó đọc các ghi chú dưới đây. . D
https. //vimeo. com/3685690451. Xác định nhiệm vụ
Ghi nhớ nhiệm vụ
Sử dụng tuổi thọ trung bình và tỷ lệ thất nghiệp dài hạn để dự đoán mức độ hạnh phúc được cảm nhận [thấp hay cao] của cư dân một quốc gia
2. Thu thập dữ liệu sạch
Hãy tải dữ liệu từ tệp CSV bằng gấu trúc
# Load the data set
dataset = pd.read_csv["world_data_really_tiny.csv"]
3. Hiểu dữ liệu
i. Kiểm tra dữ liệu
Sử dụng hàm
# Inspect first few rows
dataset.head[12]
3 để hiển thị 12 hàng đầu tiên [là toàn bộ tập dữ liệu]. Một lần nữa, con số này quá nhỏ đối với bất kỳ hoạt động học máy thực sự nào, nhưng nó phục vụ mục đích của chúng ta trong bài tập học tập này# Inspect first few rows
dataset.head[12]
Nhìn vào hình dạng dữ liệuXác nhận số lượng hàng và cột trong dữ liệu
# Inspect data shape
dataset.shape
Tính Thống kê mô tả
Việc tính toán các số liệu thống kê mô tả có thể được thực hiện trong một lần gọi hàm
# Inspect descriptive stats
dataset.describe[]
ii. Trực quan hóa dữ liệu
Sử dụng hàm
# Inspect first few rows
dataset.head[12]
4 từ hàm. py để vẽ biểu đồ cho từng tính năng số# View univariate histgram plots
histPlotAll[dataset]
Sử dụng hàm
# Inspect first few rows
dataset.head[12]
5 từ hàm. py để vẽ biểu đồ hộp cho từng tính năng số# View univariate box plots
boxPlotAll[dataset]
Và hàm
# Inspect first few rows
dataset.head[12]
6 từ hàm. py để vẽ biểu đồ so sánh cho hai lớp# Load the data set
dataset = pd.read_csv["world_data_really_tiny.csv"]
14. Chuẩn bị dữ liệu cho học máy có giám sát
i. Chọn các tính năng và chia thành các tính năng đầu vào và mục tiêu
Chúng ta có thể chọn hạnh phúc làm tính năng để dự đoán [ $\[y\]$ ] và tuổi thọ và tỷ lệ thất nghiệp làm tính năng để đưa ra dự đoán [ $\[X\]$ ]
# Load the data set
dataset = pd.read_csv["world_data_really_tiny.csv"]
2# Load the data set
dataset = pd.read_csv["world_data_really_tiny.csv"]
3Screencast dưới đây giải thích các giai đoạn tiếp theo. xây dựng và diễn giải mô hình. Xem đầu tiên, sau đó đọc các ghi chú dưới đây. . D
https. //vimeo. com/3685691175. Xây dựng một mô hình
i. Chia thành các tập huấn luyện và kiểm tra
Sử dụng hàm
# Inspect first few rows
dataset.head[12]
7 trong sklearn để chia tập hợp mẫu thành tập huấn luyện mà chúng tôi sẽ sử dụng để huấn luyện mô hình và tập kiểm tra để đánh giá mô hình# Load the data set
dataset = pd.read_csv["world_data_really_tiny.csv"]
0Lưu ý rằng tôi đã yêu cầu giữ lại ⅓ dữ liệu làm bộ kiểm tra. Tôi cũng đã đặt tham số random_state thành hạt giống bảy. Điều này yêu cầu lấy mẫu dữ liệu ngẫu nhiên nhưng đảm bảo chúng tôi luôn có thể lấy cùng một mẫu ngẫu nhiên nếu chúng tôi chạy lại thử nghiệm. Khi chúng tôi điều chỉnh mô hình, nó đảm bảo rằng bất kỳ thay đổi nào là do điều chỉnh và không phải do lấy mẫu ngẫu nhiên khác nhau. Bạn có thể thay đổi mẫu ngẫu nhiên bằng cách thay đổi hạt giống thành một giá trị số nguyên khác
Hãy xem xét bốn mẫu được sản xuất và xác nhận tính ngẫu nhiên của việc lựa chọn
# Load the data set
dataset = pd.read_csv["world_data_really_tiny.csv"]
1# Load the data set
dataset = pd.read_csv["world_data_really_tiny.csv"]
2# Load the data set
dataset = pd.read_csv["world_data_really_tiny.csv"]
3# Load the data set
dataset = pd.read_csv["world_data_really_tiny.csv"]
4ii. Chọn một thuật toán
Tạo mô hình bằng thuật toán cây quyết định sklearn
# Load the data set
dataset = pd.read_csv["world_data_really_tiny.csv"]
5iii. Khớp mô hình với dữ liệu
Bây giờ lấy tập huấn luyện và sử dụng nó để phù hợp với mô hình [i. e. , đào tạo mô hình]
# Load the data set
dataset = pd.read_csv["world_data_really_tiny.csv"]
6iv. Kiểm tra mô hình
Tiếp theo, đánh giá mức độ tốt của mô hình dự đoán mức độ hạnh phúc khi sử dụng dữ liệu huấn luyện, bằng cách “đổ” tập huấn luyện X vào cây quyết định
# Load the data set
dataset = pd.read_csv["world_data_really_tiny.csv"]
7# Inspect first few rows
dataset.head[12]
8Mô hình đã thực hiện rất tốt - 100%
6. Đánh giá mô hình
i. Tính điểm chính xác
Hãy đổ tập kiểm tra $\[X\]$ vào cây quyết định và xem nó dự đoán điều gì
# Load the data set
dataset = pd.read_csv["world_data_really_tiny.csv"]
8Nhìn vào những dự đoán nó đã thực hiện
# Load the data set
dataset = pd.read_csv["world_data_really_tiny.csv"]
9# Inspect first few rows
dataset.head[12]
9Và tính điểm chính xác
# Inspect first few rows
dataset.head[12]
0# Inspect data shape
dataset.shape
0Chúng ta có thể hiển thị các dự đoán của mô hình với dữ liệu gốc, với giá trị hạnh phúc thực tế
# Inspect first few rows
dataset.head[12]
1Như bạn có thể thấy, mô hình không hoạt động tốt trên dữ liệu thử nghiệm. Thường xảy ra trường hợp họ hoạt động kém hơn và điều đó không có gì đáng ngạc nhiên.
Sklearn đã đưa ra những quy tắc nào?
Tại thời điểm này, mô hình do sklearn sản xuất giống như một chiếc hộp đen. Không có bộ quy tắc nào để kiểm tra, nhưng có thể kiểm tra mô hình và trực quan hóa các quy tắc
Để mã này hoạt động, trước tiên bạn cần cài đặt Graphviz bằng cách chạy đoạn mã sau từ phiên cuối
# Inspect data shape
dataset.shape
1Sau đó, bạn có thể chạy đoạn mã sau, sử dụng một hàm từ hàm. py
# Inspect first few rows
dataset.head[12]
2Và xem các quy tắc cây quyết định
Bạn có thể thấy quy tắc đầu tiên là kiểm tra xem thất nghiệp có thấp hơn hoặc bằng 1. 48 và nếu vậy, hãy phân loại điểm lấy mẫu là cao. Quy tắc tiếp theo sẽ kiểm tra xem tuổi thọ có thấp hơn hoặc bằng 75 hay không. 35 và nếu, hãy phân loại điểm lấy mẫu là thấp. Quy tắc thứ ba và quy tắc cuối cùng kiểm tra xem thất nghiệp có thấp hơn hoặc bằng 5 hay không. 525 và nếu vậy, hãy phân loại nó là cao. Bất kỳ điểm mẫu nào khác được phân loại là thấp
Có lẽ có một vài câu hỏi trong tâm trí của bạn
Gini là gì?
Làm cách nào mà sklearn đưa ra các quy tắc và cụ thể là các giá trị ranh giới như 5. 525?
Chúng ta sẽ xem xét việc xây dựng cây quyết định và trả lời những câu hỏi này trong chương tiếp theo
Tóm tắt lại
Bạn đã xây dựng mô hình học máy đầu tiên của mình. Nó không phải là một thứ tuyệt vời, chủ yếu là do tập dữ liệu quá nhỏ. Bạn đã học quy trình xây dựng các mô hình như vậy và cách một thuật toán đơn giản - cây quyết định - có thể được sử dụng để thực hiện nhiệm vụ phân loại
Trong phần tiếp theo, chúng ta sẽ xây dựng một cái gì đó vững chắc hơn bằng cách khám phá một số kỹ thuật khác. Nhưng bây giờ, đã đến lúc kiểm tra kiến thức của bạn.
- #
1
2
Tạo
tài khoản OpenClassrooms
Ồ
Chúng tôi rất vui khi thấy rằng bạn thích các khóa học của chúng tôi [đã xem 5 trang hôm nay]. Bạn có thể tiếp tục xem các khóa học của chúng tôi bằng cách trở thành thành viên của cộng đồng OpenClassrooms. Nó miễn phí
Bạn cũng sẽ có thể theo dõi tiến độ khóa học của mình, thực hành các bài tập và trò chuyện với các thành viên khác
Đăng ký Đăng nhập
1
2
Tạo
tài khoản OpenClassrooms
Chỉ thành viên Premium mới có thể tải xuống video từ các khóa học của chúng tôi. Tuy nhiên, bạn có thể xem chúng trực tuyến miễn phí
Lấy tiền thưởng
1
2
Tạo
tài khoản OpenClassrooms
Chỉ thành viên Premium mới có thể tải xuống video từ các khóa học của chúng tôi. Tuy nhiên, bạn có thể xem chúng trực tuyến miễn phí
Lấy tiền thưởng
Hiểu quy trình đào tạo một người mẫu
- Nghĩ thông qua một nhiệm vụ phân loại
- Xây dựng mô hình bằng tay
- Xây dựng mô hình với Python
- Đố. Hiểu quy trình đào tạo một người mẫu
Giáo viên
Llewelyn Fernandes
Người sáng lập Think Create Learn [@tcreatelearn], giúp những người trẻ tuổi và những người thay đổi nghề nghiệp xây dựng các kỹ năng về dữ liệu, trí tuệ nhân tạo, người máy và lập trình