Slide 1

Slide 1 text

TREND ANALYSIS AND MACHINE LEARNING IN PHP DEVDAYS VILNIUS 2018 @MICHAELCULLUMUK

Slide 2

Slide 2 text

TREND ANALYSIS AND MACHINE LEARNING IN PHP DEVDAYS VILNIUS 2018 @MICHAELCULLUMUK

Slide 3

Slide 3 text

@MICHAELCULLUMUK SLIDO: #K100 ME?

Slide 4

Slide 4 text

MICHAEL CULLUM @MICHAELCULLUMUK

Slide 5

Slide 5 text

@MICHAELCULLUMUK SLIDO: #K100 STATISTICS

Slide 6

Slide 6 text

@MICHAELCULLUMUK SLIDO: #K100 ARTIFICIAL INTELLIGENCE

Slide 7

Slide 7 text

@MICHAELCULLUMUK SLIDO: #K100 MACHINE LEARNING

Slide 8

Slide 8 text

@MICHAELCULLUMUK SLIDO: #K100 MACHINE LEARNING

Slide 9

Slide 9 text

@MICHAELCULLUMUK LEARNING Cause
 &
 Effect Context Process Knowledge

Slide 10

Slide 10 text

@MICHAELCULLUMUK USING Cause Knowledge Process Prediction
 of an
 effect

Slide 11

Slide 11 text

@MICHAELCULLUMUK Cause Knowledge Process Process Cause Predicted
 effect Effect

Slide 12

Slide 12 text

@MICHAELCULLUMUK EXAMPLE 1+1= 2 1+2= 3 1+3= 4 2+1= 3 3+1= 4 Cause Effect

Slide 13

Slide 13 text

@MICHAELCULLUMUK EXAMPLE 1+1= 2 1+2= 3 1+3= 4 2+1= 3 3+1= 4 Knowledge

Slide 14

Slide 14 text

@MICHAELCULLUMUK EXAMPLE 1+1= 2 1+2= 3 1+3= 4 2+1= 3 3+1= 4 Cause 3+1= Predicted Effect 4 Knowledge

Slide 15

Slide 15 text

@MICHAELCULLUMUK INFERENCE 1x + 3 = 4 1x + 4 = 4 1x + 3 = 5 2x + 3 = 7 1x + 4 = ? x = 10

Slide 16

Slide 16 text

@MICHAELCULLUMUK INFERENCE “eggs”

Slide 17

Slide 17 text

@MICHAELCULLUMUK SLIDO: #K100 MACHINE LEARNING AS A 4-STEP PROCESS

Slide 18

Slide 18 text

@MICHAELCULLUMUK SLIDO: #K100 1. ACQUIRE DATA

Slide 19

Slide 19 text

@MICHAELCULLUMUK SLIDO: #K100 2. TRAIN MODEL

Slide 20

Slide 20 text

@MICHAELCULLUMUK SLIDO: #K100 3. ASK YOUR QUESTION

Slide 21

Slide 21 text

@MICHAELCULLUMUK SLIDO: #K100 4. GET PREDICTED ANSWER

Slide 22

Slide 22 text

@MICHAELCULLUMUK SLIDO: #K100 1. ACQUIRE DATA

Slide 23

Slide 23 text

@MICHAELCULLUMUK SLIDO: #K100 GOOD LUCK

Slide 24

Slide 24 text

@MICHAELCULLUMUK SLIDO: #K100 2. TRAIN MODEL

Slide 25

Slide 25 text

@MICHAELCULLUMUK SLIDO: #K100 SUPERVISED LEARNING UNSUPERVISED LEARNING

Slide 26

Slide 26 text

@MICHAELCULLUMUK SLIDO: #K100 SUPERVISED LEARNING

Slide 27

Slide 27 text

@MICHAELCULLUMUK SLIDO: #K100 KNOWN OUTCOMES

Slide 28

Slide 28 text

@MICHAELCULLUMUK SLIDO: #K100 QUALITATIVE - REGRESSION QUANTATIVE - CLASSIFICATION

Slide 29

Slide 29 text

@MICHAELCULLUMUK SLIDO: #K100 QUALITATIVE - REGRESSION QUANTATIVE - CLASSIFICATION

Slide 30

Slide 30 text

@MICHAELCULLUMUK SLIDO: #K100 CLASSIFICATION Rating Conclusion 100 Good 25 Bad 50 Good 40 Bad

Slide 31

Slide 31 text

@MICHAELCULLUMUK SLIDO: #K100 CLASSIFICATION Rating Conclusion 100 Good 25 Bad 50 Good 40 Bad

Slide 32

Slide 32 text

@MICHAELCULLUMUK SLIDO: #K100 LINEAR CLASSIFIER Item Value Black PHP
 Devs White Sales Sales Test PHP Test

Slide 33

Slide 33 text

@MICHAELCULLUMUK SLIDO: #K100 QUALITATIVE - REGRESSION QUANTATIVE - CLASSIFICATION

Slide 34

Slide 34 text

@MICHAELCULLUMUK SLIDO: #K100 REGRESSION Price % alcohol 5.00 8.25 6.00 10 4.00 6.75 3.00 5 0 2.5 5 7.5 10 0 1.5 3 4.5 6

Slide 35

Slide 35 text

@MICHAELCULLUMUK SLIDO: #K100 REGRESSION Price % alcohol 5.00 8.25 6.00 10 4.00 6.75 3.00 5 0 2.5 5 7.5 10 0 1.5 3 4.5 6

Slide 36

Slide 36 text

@MICHAELCULLUMUK SLIDO: #K100 UNSUPERVISED LEARNING

Slide 37

Slide 37 text

@MICHAELCULLUMUK SLIDO: #K100 DISCOVERY

Slide 38

Slide 38 text

@MICHAELCULLUMUK SLIDO: #K100 ASSOCIATION
 CLUSTERING

Slide 39

Slide 39 text

@MICHAELCULLUMUK SLIDO: #K100 ASSOCIATION
 CLUSTERING

Slide 40

Slide 40 text

@MICHAELCULLUMUK SLIDO: #K100 ASSOCIATION Item 1 Item 2 T-shirt Shorts Shorts T-shirt Suit Black Shoes Socks Underwear Item 1 Item 2 Black shoes Suit Socks Underwear Underwear Socks T-shirt Socks

Slide 41

Slide 41 text

@MICHAELCULLUMUK SLIDO: #K100 ASSOCIATION Item 1 Item 2 T-shirt Shorts Shorts T-shirt Suit Black Shoes Socks Underwear Item 1 Item 2 Black shoes Suit Socks Underwear Underwear Socks T-shirt Socks People who buy socks,
 also often buy underwear People who who buy
 underwear always buy
 socks

Slide 42

Slide 42 text

@MICHAELCULLUMUK SLIDO: #K100 ASSOCIATION Item 1 Item 2 T-shirt Shorts Shorts T-shirt Suit Black Shoes Socks Underwear Item 1 Item 2 Black shoes Suit Socks Underwear Underwear Socks T-shirt Socks People who buy socks,
 also often buy underwear People who buy suits
 always buy black shoes People who who buy
 underwear always buy
 socks People who buy black
 shoes, always buy suits

Slide 43

Slide 43 text

@MICHAELCULLUMUK SLIDO: #K100 ASSOCIATION Item 1 Item 2 T-shirt Shorts Shorts T-shirt Suit Black Shoes Socks Underwear Item 1 Item 2 Black shoes Suit Socks Underwear Underwear Socks T-shirt Socks People who buy socks,
 also often buy underwear People who buy suits
 always buy black shoes People who who buy
 underwear always buy
 socks People who buy black
 shoes, always buy suits People who buy shorts
 always buy t-shirts People who buy t-shirts,
 also often buy shorts

Slide 44

Slide 44 text

@MICHAELCULLUMUK SLIDO: #K100 ASSOCIATION
 CLUSTERING

Slide 45

Slide 45 text

@MICHAELCULLUMUK SLIDO: #K100 CLUSTER ANALYSIS IS THE TASK OF GROUPING A SET OF OBJECTS IN SUCH A WAY THAT OBJECTS IN THE SAME GROUP ARE MORE SIMILAR TO EACH OTHER THAN TO THOSE IN OTHER GROUPS.

Slide 46

Slide 46 text

@MICHAELCULLUMUK SLIDO: #K100 CLUSTER ANALYSIS

Slide 47

Slide 47 text

@MICHAELCULLUMUK SLIDO: #K100 3. QUESTION
 4. PREDICTED ANSWER

Slide 48

Slide 48 text

@MICHAELCULLUMUK SLIDO: #K100 ALGORITHMS

Slide 49

Slide 49 text

@MICHAELCULLUMUK SLIDO: #K100 LEAST SQUARES

Slide 50

Slide 50 text

@MICHAELCULLUMUK SLIDO: #K100 LEAST SQUARES REGRESSION LINE

Slide 51

Slide 51 text

@MICHAELCULLUMUK SLIDO: #K100 MATHS

Slide 52

Slide 52 text

@MICHAELCULLUMUK SLIDO: #K100 A+BX=Y

Slide 53

Slide 53 text

@MICHAELCULLUMUK SLIDO: #K100 ▸ Each point has an x and y value ▸ We need an equation of a line ▸ We move the line an infinite number of times ▸ Each time, we draw a box between every point, and the line, with one corner on the line, and another on the point ▸ The correct line is the one where the sum of the area of all the squares is smallest PROCESS

Slide 54

Slide 54 text

@MICHAELCULLUMUK SLIDO: #K100 DEMO

Slide 55

Slide 55 text

@MICHAELCULLUMUK SLIDO: #K100 PHP

Slide 56

Slide 56 text

@MICHAELCULLUMUK SLIDO: #K100 DEMO

Slide 57

Slide 57 text

@MICHAELCULLUMUK SLIDO: #K100 DEMOS php-ai/php-ml

Slide 58

Slide 58 text

@MICHAELCULLUMUK SLIDO: #K100 CODE $samples = [[60], [61], [62], [63], [65]]; $targets = [3.1, 3.6, 3.8, 4, 4.1]; $regression = new LeastSquares(); $regression->train($samples, $targets); echo $regression->predict([64]);

Slide 59

Slide 59 text

@MICHAELCULLUMUK SLIDO: #K100 NEAREST NEIGHBOUR

Slide 60

Slide 60 text

@MICHAELCULLUMUK SLIDO: #K100 NEAREST NEIGHBOUR

Slide 61

Slide 61 text

@MICHAELCULLUMUK SLIDO: #K100 3-NEAREST NEIGHBOUR

Slide 62

Slide 62 text

@MICHAELCULLUMUK SLIDO: #K100 5-NEAREST NEIGHBOUR

Slide 63

Slide 63 text

@MICHAELCULLUMUK SLIDO: #K100 MATHS

Slide 64

Slide 64 text

@MICHAELCULLUMUK SLIDO: #K100 PHP

Slide 65

Slide 65 text

@MICHAELCULLUMUK SLIDO: #K100 DEMO

Slide 66

Slide 66 text

@MICHAELCULLUMUK SLIDO: #K100 DEMO 0 1 2 3 4 0 1 2 3 4

Slide 67

Slide 67 text

@MICHAELCULLUMUK SLIDO: #K100 DEMO 0 1.25 2.5 3.75 5 0 1 2 3 4

Slide 68

Slide 68 text

@MICHAELCULLUMUK SLIDO: #K100 DEMO $samples = [[1, 3], [1, 4], [2, 4], [3, 1], [4, 1], [4, 2]]; $labels = ['a', 'a', 'a', 'b', 'b', 'b']; $classifier = new KNearestNeighbors(); $classifier->train($samples, $labels); echo $classifier->predict([3, 2]);

Slide 69

Slide 69 text

@MICHAELCULLUMUK SLIDO: #K100 USES OF MACHINE LEARNING

Slide 70

Slide 70 text

@MICHAELCULLUMUK SLIDO: #K100 NUMERICAL ANALYSIS

Slide 71

Slide 71 text

@MICHAELCULLUMUK SLIDO: #K100 EXCEPTIONS

Slide 72

Slide 72 text

@MICHAELCULLUMUK SLIDO: #K100 E-COMMERCE

Slide 73

Slide 73 text

@MICHAELCULLUMUK SLIDO: #K100 FAULT DETECTION

Slide 74

Slide 74 text

@MICHAELCULLUMUK SLIDO: #K100 ROOT CAUSE ANALYSIS

Slide 75

Slide 75 text

@MICHAELCULLUMUK SLIDO: #K100 CLASSIFICATION

Slide 76

Slide 76 text

@MICHAELCULLUMUK SLIDO: #K100 NATURAL LANGUAGE PROCESSING

Slide 77

Slide 77 text

@MICHAELCULLUMUK SLIDO: #K100 ANALYSIS OF SUPPORT QUERIES

Slide 78

Slide 78 text

@MICHAELCULLUMUK SLIDO: #K100 ANALYSIS OF LARGE NUMBERS OF DOCUMENTS

Slide 79

Slide 79 text

@MICHAELCULLUMUK SLIDO: #K100 FUN

Slide 80

Slide 80 text

@MICHAELCULLUMUK SLIDO: #K100 ANY QUESTIONS?

Slide 81

Slide 81 text

THANKS - AČIŪ @MICHAELCULLUMUK

Slide 82

Slide 82 text

TREND ANALYSIS AND MACHINE LEARNING IN PHP DEVDAYS VILNIUS 2018 @MICHAELCULLUMUK