SAS USER FORUM Introduktion til Visual Data Mining and Machine Learning Astrid Enslev Vestergård, SAS Institute
Agenda Introduktion til et par machine learningmodeller Case-introduktion Demo SWEDEN 2017
Beslutningstræ 1 X2 < 0.63 X2 >= 0.63 2 3 X1 < 0.50 X1 >= 0.50 X1 < 0.50 X1 >= 0.50 4 5 6 7 X1 < 0.54 X1 >= 0.54 X2 >=0.69 8 9 10 11
Beslutningstræ Split populationen op i to sub-populationer A Splitter populationen op i to sub-populationer ved en vilkårlig variabel x her med værdien 42 N = 39544 P=0.52 N = 64104 P = 0.65 x <= 42 x > 42 N = 24560 P = 0.86 B Variable Value Split strength* Gender M vs F 0.017 Age 42 0.002 Etnicity {DK,EU} vs {noneu} 0.005 Insurance {A,C} vs {D,E,F} 0.776 Municipality Find ud af, hvilken variabel x er, og for hvilken værdi splittet skal ske ved. Næsten alle muligheder bliver afprøvet {Aarhus,Aalborg, } vs {Odense, Esbjerg, } Business type {Bakery, Farming,..} vs {Banking, Insurance, } 0.546 0.443 Salary 123.456 0.022 Number of children X=0 vs 0<X 0.086 Company size 18 0.321 * = Small means strong relation C Måle splitstyrken Mand Kvinde T = 1 123 443 T = 0 143 12 Traditionel Chi2-test for uafhængighed giver en P-værdi for hypotesen, at køn og target er uafhængige (ikke-relaterede). Små P-værdier betyder derfor, at vi kan afvise hypotesen med stor sikkerhed.
Beslutningstræ Opdel inputrummet i kasser (bladnoder) X2 < 0.63 1 X2 >= 0.63 6 11 2 3 10 X1 < 0.50 X1 >= 0.50 X1 < 0.50 X1 >= 0.50 x 2 4 5 X1 < 0.54 X1 >= 0.54 6 7 X2 >=0.69 4 8 9 8 9 10 11 x 1
Beslutningstræ Kompleksitet af beslutningstræsmodeller Fejl L=2 L=3 L=4 L=5 Valideringsfejl Træningsfejl Antal slutnoder Simple modeller Komplekse modeller
Overbygning på beslutningstræet Bagging aka bootstrap aggregation Laver stikprøver af observationerne Laver flere modeller Laver en gennemsnitsmodel Sørger for, at outliers ikke får for meget vægt
Random forest Bagging begge veje Random forests er en ensemblemetode, der bruger flere beslutningstræer baseret på tilfældigt udvalgte subsæt af data. Fuldt datasæt Tilfældige stikprøvedata Træ på stikprøvedata
Overbygning på beslutningstræet Boosting fokus på problemerne
Læring Adaptiv boosting Boosting fokus på problemerne Klassificering Data set Subset Tree Error Weight Upweight errors Upweight errors Source: Machine Perception and Robotics Group, Dept. of Robotics Science and Technology, Chubu University
Neurale netværk Hvad er det egentlig, det er? Neurale netværker var oprindeligt inspireret af den biologiske analogi af et neuron i hjernen. Det er imidlertid bare en matematisk model. I det neurale netværk er inputtet sendt fremad i netværket, transformeres og sendt videre frem, indtil det når outputnoden, som er estimatet af targetvariablen. Output Hidden layer variables Definition of the hidden layer variables Input values Weights (to be estimated) More weights
Overfitting Datapartitionering Tilfældig permutering af datapunkter Alt data Træningsdata Valideringsdata Testdata Data brugt til at estimere modelparametrene. Data brugt til at finde den optimale kompleksitet (fleksibilitet). Data brugt til at estimere performance af modellen.?
Case Organics Hvem skal modtage tilbud om økologiske varer? Finde den bedste model til klassifiering i SAS Viya VDMML
Organics Datasættet Variabelnavn Type Label Antal kategorier ID Char Customer Loyalty ID 22,223 DemAffl Num Affluence Grade DemAge Num Age DemGender Char Gender 3 DemReg Char Geographic Region 5 DemTVReg Char Television Region 13 PromClass Char Loyalty Status 4 PromSpend Num Total Spend PromTime Num Loyalty Card Tenure TargetBuy Char Organics Purchase Indicator 2 TargetAmt Num Organics Purchase Count
Proc Surveyselect Simple sampling method Organics Datapartionering 60% er træningsdata, og 40% er valideringsdata
Demo
SAS USER FORUM Astrid Enslev Vestergård M: +45 51 38 76 44 E: Astrid.Vestergaard@sas.com