Մեքենայի ուսուցում – Որոշումների ծառ

Մեքենայի ուսուցում – Որոշումների ծառ



Որոշման ծառ

Այս գլխում մենք ձեզ ցույց կտանք, թե ինչպես կազմել «Որոշումների ծառ»: Որոշումների ծառը հոսքի գծապատկեր է և կարող է օգնել ձեզ որոշումներ կայացնել՝ հիմնվելով նախկին փորձի վրա:

Օրինակում մարդը կփորձի որոշել՝ գնալ կատակերգական շոու, թե ոչ։

Բարեբախտաբար, մեր օրինակը գրանցվել է ամեն անգամ, երբ քաղաքում կատակերգական շոու է եղել, կատակերգականի մասին ինչ-որ տեղեկություն է գրանցել, ինչպես նաև գրանցվել է՝ գնացել է, թե ոչ:

Տարիք փորձառություն Աստիճան Ազգություն Go
36 10 9 UK NO
42 12 4 USA NO
23 4 6 N NO
52 4 4 USA NO
43 21 8 USA ԱՅՈ
44 14 5 UK NO
66 3 7 N ԱՅՈ
35 14 9 UK ԱՅՈ
52 13 7 N ԱՅՈ
35 5 9 N ԱՅՈ
24 3 5 USA NO
18 3 7 UK ԱՅՈ
45 9 9 UK ԱՅՈ

Այժմ, այս տվյալների հավաքածուի հիման վրա Python-ը կարող է ստեղծել որոշումների ծառ, որը կարող է օգտագործվել որոշելու համար, թե արդյոք արժե որևէ նոր շոու այցելել:


Ինչպես է դա աշխատում?

Նախ, ներմուծեք ձեզ անհրաժեշտ մոդուլները և կարդացեք պանդաների հավաքածուն.

Օրինակ

Կարդացեք և տպեք տվյալների հավաքածուն.

Գործարկման օրինակ »

Որոշումների ծառ կազմելու համար բոլոր տվյալները պետք է թվային լինեն:

Մենք պետք է «Ազգություն» և «Գնալ» ոչ թվային սյունակները վերածենք թվային արժեքների:

Պանդաներն ունեն ա map() մեթոդ, որը վերցնում է բառարան՝ արժեքները փոխակերպելու մասին տեղեկություններով:

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

Նշանակում է փոխակերպել «UK» արժեքները 0-ի, «ԱՄՆ»՝ 1-ի և «N»-ը՝ 2-ի:

Օրինակ

Տողային արժեքները փոխեք թվային արժեքների՝

Գործարկման օրինակ »

Այնուհետև մենք պետք է առանձնացնենք առանձնահատկություն սյունակներ ից թիրախ սյունակ:

Հատկանիշների սյունակներն այն սյունակներն են, որոնք մենք փորձում ենք կանխատեսել - ից, իսկ թիրախային սյունակը այն արժեքներով սյունակն է, որը մենք փորձում ենք կանխատեսել:

Օրինակ

X հատկանիշի սյունակներն են, y նպատակային սյունակ է.

Գործարկման օրինակ »

Այժմ մենք կարող ենք ստեղծել իրական որոշումների ծառը, համապատասխանեցնել այն մեր մանրամասներին և պահպանել .png ֆայլը համակարգչում:

Օրինակ

Ստեղծեք որոշումների ծառ, պահպանեք այն որպես պատկեր և ցույց տվեք պատկերը.

Գործարկման օրինակ »


Արդյունքը բացատրված է

Որոշումների ծառը օգտագործում է ձեր նախկին որոշումները՝ հաշվարկելու հավանականությունը, որ դուք ցանկանում եք գնալ կատակերգու տեսնելու, թե ոչ:

Եկեք կարդանք որոշման ծառի տարբեր ասպեկտները.

Աստիճան

Rank <= 6.5 նշանակում է, որ յուրաքանչյուր կատակերգու, ով ունի 6.5 կամ ավելի ցածր կոչում, կհետևի նրան True սլաքը (դեպի ձախ), իսկ մնացածը կհետևեն False սլաք (դեպի աջ):

gini = 0.497 վերաբերում է բաժանման որակին և միշտ 0.0-ից 0.5-ի միջև եղած թիվ է, որտեղ 0.0-ը կնշանակի, որ բոլոր նմուշները ստացել են նույն արդյունքը, իսկ 0.5-ը կնշանակի, որ բաժանումը կատարվում է հենց մեջտեղում:

samples = 13 նշանակում է, որ որոշման այս պահին մնացել է 13 կատակերգու, ինչը բոլորն է, քանի որ սա առաջին քայլն է։

value = [6, 7] նշանակում է, որ այս 13 կատակերգուներից 6-ը կստանա «ՈՉ», իսկ 7-ը՝ «GO»:

Iniինի

Նմուշները բաժանելու բազմաթիվ եղանակներ կան, այս ձեռնարկում մենք օգտագործում ենք GINI մեթոդը:

Ջինիի մեթոդը օգտագործում է այս բանաձևը.

Gini = 1 - (x/n)2 - (y/n)2

Որտեղ x դրական պատասխանների քանակն է («GO»), n նմուշների քանակն է, և y բացասական պատասխանների թիվն է («ՈՉ»), որը մեզ տալիս է այս հաշվարկը.

1 - (7 / 13)2 - (6 / 13)2 = 0.497

Հաջորդ քայլը պարունակում է երկու տուփ, մեկ տուփ կատակերգուների համար, որոնց «Վարկանիշը» 6.5 կամ ավելի ցածր է, և մեկ տուփ մնացածի հետ:

Ճիշտ է – 5 կատակերգուներն ավարտվում են այստեղ.

gini = 0.0 նշանակում է, որ բոլոր նմուշները ստացել են նույն արդյունքը:

samples = 5 նշանակում է, որ այս ճյուղում մնացել է 5 կատակերգու (5 կատակերգու՝ 6.5 կամ ավելի ցածր կոչումով):

value = [5, 0] նշանակում է, որ 5-ը կստանա «ՈՉ», իսկ 0-ը՝ «GO»:

Կեղծ – 8 կատակերգուները շարունակել.

Ազգություն

Nationality <= 0.5 նշանակում է, որ 0.5-ից պակաս ազգության արժեք ունեցող կատակերգուները կհետևեն ձախ սլաքին (ինչը նշանակում է բոլորը Մեծ Բրիտանիայից), իսկ մնացածները կհետևեն սլաքին դեպի աջ:

gini = 0.219 նշանակում է, որ նմուշների մոտ 22%-ը կգնա մեկ ուղղությամբ։

samples = 8 նշանակում է, որ այս ճյուղում մնացել է 8 կատակերգու (8-ից բարձր կոչում ունեցող 6.5 կատակերգու):

value = [1, 7] նշանակում է, որ այս 8 կատակերգուներից 1-ը կստանա «ՈՉ», իսկ 7-ը՝ «GO»:

 


 

Ճիշտ է – 4 կատակերգու Շարունակել.

Տարիք

Age <= 35.5 նշանակում է, որ 35.5 և ավելի փոքր տարիքի կատակերգուները կհետևեն ձախ սլաքին, իսկ մնացածները կհետևեն աջ սլաքին:

gini = 0.375 նշանակում է, որ նմուշների մոտ 37,5%-ը կգնա մեկ ուղղությամբ։

samples = 4 նշանակում է, որ այս մասնաճյուղում մնացել է 4 կատակերգու (4 կատակերգու Մեծ Բրիտանիայից):

value = [1, 3] նշանակում է, որ այս 4 կատակերգուներից 1-ը կստանա «ՈՉ», իսկ 3-ը՝ «GO»:

Կեղծ – 4 կատակերգուներն ավարտվում են այստեղ.

gini = 0.0 նշանակում է, որ բոլոր նմուշները ստացել են նույն արդյունքը:

samples = 4 նշանակում է, որ այս ճյուղում մնացել է 4 կատակերգու (4 կատակերգու ոչ Մեծ Բրիտանիայից):

value = [0, 4] նշանակում է, որ այս 4 կատակերգուներից 0-ը կստանա «ՈՉ», իսկ 4-ը՝ «GO»:

 


 

Ճիշտ է – 2 կատակերգուներն ավարտվում են այստեղ.

gini = 0.0 նշանակում է, որ բոլոր նմուշները ստացել են նույն արդյունքը:

samples = 2 նշանակում է, որ այս ճյուղում մնացել է 2 կատակերգու (2 կատակերգու 35.5 տարեկան և ավելի փոքր):

value = [0, 2] նշանակում է, որ այս 2 կատակերգուներից 0-ը կստանա «ՈՉ», իսկ 2-ը՝ «GO»:

Կեղծ – 2 կատակերգուները շարունակել.

փորձառություն

Experience <= 9.5 նշանակում է, որ 9.5 տարվա կամ ավելի քիչ փորձ ունեցող կատակերգուները կհետևեն ձախ սլաքով, իսկ մնացածները՝ աջ սլաքով:

gini = 0.5 նշանակում է, որ նմուշների 50%-ը կգնա մեկ ուղղությամբ։

samples = 2 նշանակում է, որ այս մասնաճյուղում մնացել է 2 կատակերգու (2 տարեկանից բարձր 35.5 կատակերգու):

value = [1, 1] նշանակում է, որ այս 2 կատակերգուներից 1-ը կստանա «ՈՉ», իսկ 1-ը՝ «GO»:

 


 

Ճիշտ է – 1 կատակերգու վերջանում է այստեղ.

gini = 0.0 նշանակում է, որ բոլոր նմուշները ստացել են նույն արդյունքը:

samples = 1 նշանակում է, որ այս ճյուղում մնացել է 1 կատակերգու (1 կատակերգու 9.5 տարվա կամ պակաս ստաժով):

value = [0, 1] նշանակում է, որ 0-ը կստանա «ՈՉ», իսկ 1-ը՝ «GO»:

Կեղծ – 1 կատակերգու վերջանում է այստեղ.

gini = 0.0 նշանակում է, որ բոլոր նմուշները ստացել են նույն արդյունքը:

samples = 1 նշանակում է, որ այս ճյուղում մնացել է 1 կատակերգու (1 կատակերգու ավելի քան 9.5 տարվա փորձ ունեցող):

value = [1, 0] նշանակում է, որ 1-ը կստանա «ՈՉ», իսկ 0-ը՝ «GO»:


Կանխատեսել արժեքներ

Մենք կարող ենք օգտագործել Որոշումների ծառը նոր արժեքներ կանխատեսելու համար:

Օրինակ. Պե՞տք է գնամ դիտելու շոու, որտեղ գլխավոր դերը կատարում է 40-ամյա ամերիկացի կատակերգու, 10 տարվա փորձով և կատակերգության վարկանիշով 7:

Օրինակ

Նոր արժեքներ կանխատեսելու համար օգտագործեք predict() մեթոդը.

Գործարկման օրինակ »

Օրինակ

Ի՞նչ պատասխան կլիներ, եթե կատակերգության վարկանիշը 6-ը լիներ:

Գործարկման օրինակ »


Տարբեր արդյունքներ

Դուք կտեսնեք, որ Որոշումների ծառը ձեզ տարբեր արդյունքներ է տալիս, եթե այն գործարկեք բավականաչափ անգամ, նույնիսկ եթե այն կերակրեք նույն տվյալներով:

Դա պայմանավորված է նրանով, որ Որոշումների ծառը մեզ 100% որոշակի պատասխան չի տալիս: Այն հիմնված է արդյունքի հավանականության վրա, և պատասխանը տարբեր կլինի:

ArmenianEnglish