Hướng dẫn trees in python w3schools - cây trong trăn w3schools


Hướng dẫn trees in python w3schools - cây trong trăn w3schools

Show

Cây quyết định

Trong chương này, chúng tôi sẽ chỉ cho bạn cách tạo ra "cây quyết định". Một cây quyết định là một biểu đồ dòng chảy và có thể giúp bạn đưa ra quyết định dựa trên kinh nghiệm trước đó.

Trong ví dụ, một người sẽ cố gắng quyết định xem anh ấy/cô ấy có nên tham dự một chương trình hài hay không.

May mắn thay, người ví dụ của chúng tôi đã đăng ký mỗi khi có một chương trình hài trong thị trấn, và đăng ký một số thông tin về diễn viên hài, và cũng đã đăng ký nếu anh ấy/cô ấy đi hay không.

Tuổi tácTrải quaThứ hạngQuốc tịchĐi
36 10 9 Vương quốc AnhKHÔNG
42 12 4 Hoa KỳKHÔNG
23 4 6 Hoa KỳKHÔNG
52 4 4 Hoa KỳKHÔNG
43 21 8 Hoa KỳN
44 14 5 Vương quốc AnhKHÔNG
66 3 7 Hoa KỳN
35 14 9 Vương quốc AnhN
52 13 7 Hoa KỳN
35 5 9 Hoa KỳN
24 3 5 Hoa KỳKHÔNG
18 3 7 Vương quốc AnhN
45 9 9 Vương quốc AnhN

VÂNG



Bây giờ, dựa trên bộ dữ liệu này, Python có thể tạo ra một cây quyết định có thể được sử dụng để quyết định xem có bất kỳ chương trình mới nào có đáng để tham dự hay không.

Làm thế nào nó hoạt động?

Đầu tiên, đọc bộ dữ liệu với gấu trúc:

Thí dụ

Đọc và in tập dữ liệu:

nhập khẩu gấu trúc

df = pandas.read_csv ("data.csv")

In (DF)

Chạy ví dụ »

Để làm một cây quyết định, tất cả dữ liệu phải là số.

Chúng ta phải chuyển đổi các cột phi số 'quốc tịch' và 'đi' thành các giá trị số.

{'UK': 0, 'USA': 1, 'N': 2}

Pandas có phương thức map() lấy từ điển với thông tin về cách chuyển đổi các giá trị.

Đầu tiên, đọc bộ dữ liệu với gấu trúc:

Thí dụ

Đọc và in tập dữ liệu:
df['Nationality'] = df['Nationality'].map(d)
d = {'YES': 1, 'NO': 0}
df['Go'] = df['Go'].map(d)

print(df)

In (DF)

Chạy ví dụ »

Để làm một cây quyết định, tất cả dữ liệu phải là số.

Đầu tiên, đọc bộ dữ liệu với gấu trúc:

Thí dụ

Đọc và in tập dữ liệu:

nhập khẩu gấu trúc
y = df['Go']

df = pandas.read_csv ("data.csv")
print(y)

In (DF)

Chạy ví dụ »

Đầu tiên, đọc bộ dữ liệu với gấu trúc:

Thí dụ

Đọc và in tập dữ liệu:
from sklearn import tree
from sklearn.tree import DecisionTreeClassifier
import matplotlib.pyplot as plt

nhập khẩu gấu trúc

df = pandas.read_csv ("data.csv")
df['Nationality'] = df['Nationality'].map(d)
d = {'YES': 1, 'NO': 0}
df['Go'] = df['Go'].map(d)

Đọc và in tập dữ liệu:

nhập khẩu gấu trúc
y = df['Go']

df = pandas.read_csv ("data.csv")
dtree = dtree.fit(X, y)

In (DF)

In (DF)


Chạy ví dụ »

Để làm một cây quyết định, tất cả dữ liệu phải là số.

Chúng ta phải chuyển đổi các cột phi số 'quốc tịch' và 'đi' thành các giá trị số.

Hướng dẫn trees in python w3schools - cây trong trăn w3schools

Pandas có phương thức map() lấy từ điển với thông tin về cách chuyển đổi các giá trị.

Có nghĩa là chuyển đổi các giá trị 'uk' thành 0, 'usa' thành 1 và 'n' thành 2.

Thay đổi giá trị chuỗi thành các giá trị số:

d = {'uk': 0, 'usa': 1, 'n': 2} df ['quốc tịch'] = DF ['Quốc tịch']. ': 0} df [' go '] = df [' go ']. Map (d)

Sau đó, chúng ta phải tách các cột tính năng khỏi cột đích.

Các cột tính năng là các cột mà chúng tôi cố gắng dự đoán và cột đích là cột với các giá trị chúng tôi cố gắng dự đoán.

X là các cột tính năng, y là cột đích:

các tính năng = ['tuổi', 'kinh nghiệm', 'cấp bậc', 'quốc tịch']]]]

{'UK': 0, 'USA': 1, 'N': 2}0

X = df [tính năng] y = df ['go']]

{'UK': 0, 'USA': 1, 'N': 2}4

Hướng dẫn trees in python w3schools - cây trong trăn w3schools

in (x) in (y)

Bây giờ chúng tôi có thể tạo cây quyết định thực tế, phù hợp với nó với các chi tiết của chúng tôi. Bắt đầu bằng cách nhập các mô -đun chúng tôi cần:

Tạo và hiển thị một cây quyết định:

Nhập pandasfrom sklearn nhập cây từ sklearn.Tree

d = {'uk': 0, 'usa': 1, 'n': 2} df ['quốc tịch'] = DF ['Quốc tịch']. ': 0} df [' go '] = df [' go ']. Map (d)

X = df [tính năng] y = df ['go']]

dtree = Ra quyết định () dtree = dtree.fit (x, y)

cây.plot_tree (dtree, feature_names = tính năng)

Kết quả giải thích

Cây quyết định sử dụng các quyết định trước đây của bạn để tính toán tỷ lệ cược để bạn muốn đi xem một diễn viên hài hay không.

Chúng ta hãy đọc các khía cạnh khác nhau của cây quyết định:



Hướng dẫn trees in python w3schools - cây trong trăn w3schools

Thứ hạng

Rank <= 6.5 có nghĩa là mọi diễn viên hài có thứ hạng từ 6,5 trở xuống sẽ đi theo mũi tên True (bên trái) và phần còn lại sẽ đi theo mũi tên False (bên phải).

gini = 0.497 đề cập đến chất lượng của sự phân chia và luôn luôn là một số từ 0,0 đến 0,5, trong đó 0,0 có nghĩa là tất cả các mẫu đều có cùng một kết quả và 0,5 có nghĩa là sự phân chia được thực hiện chính xác ở giữa.

X3 có nghĩa là khoảng 37,5% mẫu sẽ đi theo một hướng.

X4 có nghĩa là có 4 diễn viên hài còn lại trong chi nhánh này (4 diễn viên hài từ Anh).

X5 có nghĩa là trong số 4 diễn viên hài này, 1 người sẽ nhận được "không" và 3 sẽ nhận được "đi".

Sai - 4 diễn viên hài kết thúc ở đây:

{'UK': 0, 'USA': 1, 'N': 2}5 có nghĩa là tất cả các mẫu đều có kết quả tương tự.

X4 có nghĩa là có 4 diễn viên hài còn lại trong chi nhánh này (4 diễn viên hài không đến từ Vương quốc Anh).

X8 có nghĩa là trong số 4 diễn viên hài này, 0 sẽ nhận được "không" và 4 sẽ nhận được "đi".



Hướng dẫn trees in python w3schools - cây trong trăn w3schools

Đúng - 2 diễn viên hài kết thúc ở đây:

{'UK': 0, 'USA': 1, 'N': 2}5 có nghĩa là tất cả các mẫu đều có kết quả tương tự.

X4 có nghĩa là có 4 diễn viên hài còn lại trong chi nhánh này (4 diễn viên hài không đến từ Vương quốc Anh).

X8 có nghĩa là trong số 4 diễn viên hài này, 0 sẽ nhận được "không" và 4 sẽ nhận được "đi".

Đúng - 2 diễn viên hài kết thúc ở đây:

y0 có nghĩa là có 2 diễn viên hài còn lại trong chi nhánh này (2 diễn viên hài ở tuổi 35,5 trở xuống).

y1 có nghĩa là trong số 2 diễn viên hài này, 0 sẽ nhận được "không" và 2 sẽ nhận được "đi".

Sai - 2 diễn viên hài tiếp tục:

Trải qua

y2 có nghĩa là các diễn viên hài có 9,5 năm kinh nghiệm, hoặc ít hơn, sẽ đi theo mũi tên bên trái, và phần còn lại sẽ đi theo mũi tên sang phải.



Hướng dẫn trees in python w3schools - cây trong trăn w3schools

y3 có nghĩa là 50% các mẫu sẽ đi theo một hướng.

{'UK': 0, 'USA': 1, 'N': 2}5 có nghĩa là tất cả các mẫu đều có kết quả tương tự.

X4 có nghĩa là có 4 diễn viên hài còn lại trong chi nhánh này (4 diễn viên hài không đến từ Vương quốc Anh).

X8 có nghĩa là trong số 4 diễn viên hài này, 0 sẽ nhận được "không" và 4 sẽ nhận được "đi".

Đúng - 2 diễn viên hài kết thúc ở đây:

{'UK': 0, 'USA': 1, 'N': 2}5 có nghĩa là tất cả các mẫu đều có kết quả tương tự.

X4 có nghĩa là có 4 diễn viên hài còn lại trong chi nhánh này (4 diễn viên hài không đến từ Vương quốc Anh).

X8 có nghĩa là trong số 4 diễn viên hài này, 0 sẽ nhận được "không" và 4 sẽ nhận được "đi".


Đúng - 2 diễn viên hài kết thúc ở đây:

y0 có nghĩa là có 2 diễn viên hài còn lại trong chi nhánh này (2 diễn viên hài ở tuổi 35,5 trở xuống).

y1 có nghĩa là trong số 2 diễn viên hài này, 0 sẽ nhận được "không" và 2 sẽ nhận được "đi".

Sai - 2 diễn viên hài tiếp tục:

Trải qua

y2 có nghĩa là các diễn viên hài có 9,5 năm kinh nghiệm, hoặc ít hơn, sẽ đi theo mũi tên bên trái, và phần còn lại sẽ đi theo mũi tên sang phải.

y3 có nghĩa là 50% các mẫu sẽ đi theo một hướng.

Sai - 2 diễn viên hài tiếp tục:

Trải qua

y2 có nghĩa là các diễn viên hài có 9,5 năm kinh nghiệm, hoặc ít hơn, sẽ đi theo mũi tên bên trái, và phần còn lại sẽ đi theo mũi tên sang phải.

y3 có nghĩa là 50% các mẫu sẽ đi theo một hướng.


y0 có nghĩa là có 2 diễn viên hài còn lại trong chi nhánh này (2 diễn viên hài trên 35,5).

y5 có nghĩa là trong số 2 diễn viên hài này, 1 người sẽ nhận được "không" và 1 sẽ nhận được "đi".

Đúng - 1 diễn viên hài kết thúc ở đây: