This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Ctrl+Shift+Enter.

Poker <- read.csv("poker_data.csv")
str(Poker)
'data.frame':   1025012 obs. of  11 variables:
 $ S1   : int  1 2 3 4 4 1 1 2 3 4 ...
 $ C1   : int  10 11 12 10 1 2 9 1 5 1 ...
 $ S2   : int  1 2 3 4 4 1 1 2 3 4 ...
 $ C2   : int  11 13 11 11 13 4 12 2 6 4 ...
 $ S3   : int  1 2 3 4 4 1 1 2 3 4 ...
 $ C3   : int  13 10 13 1 12 5 10 3 9 2 ...
 $ S4   : int  1 2 3 4 4 1 1 2 3 4 ...
 $ C4   : int  12 12 10 13 11 3 11 4 7 3 ...
 $ S5   : int  1 2 3 4 4 1 1 2 3 4 ...
 $ C5   : int  1 1 1 12 10 6 13 5 8 5 ...
 $ CLASS: int  9 9 9 9 9 8 8 8 8 8 ...
# custom normalization function
normalize <- function(x) { 
  return((x - min(x)) / (max(x) - min(x)))
}
# apply normalization to entire data frame
Poker_norm <- as.data.frame(lapply(Poker, normalize))
# confirm that the range is now between zero and one
summary(Poker_norm$S1)
     Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
0.0000000 0.3333333 0.6666667 0.5002309 0.6666667 1.0000000 
summary(Poker_norm$CLASS)
      Min.    1st Qu.     Median       Mean    3rd Qu.       Max. 
0.00000000 0.00000000 0.00000000 0.06855638 0.11111110 1.00000000 
# compared to the original minimum and maximum
summary(Poker$S1)
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
1.000000 2.000000 3.000000 2.500693 3.000000 4.000000 
summary(Poker$CLASS)
     Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
0.0000000 0.0000000 0.0000000 0.6170074 1.0000000 9.0000000 
# create training and test data
poker_train <- Poker_norm[1:25012, ]
poker_test <- Poker_norm[25013:1025013, ]
## Step 3: Training a model on the data ----
# train the neuralnet model
library(neuralnet)
# simple ANN with only a single hidden neuron
## This will test how the different cards affect the outcome of the poker hand (CLASS) - Modeling the Strength of the Poker hand.
poker_model <- neuralnet(CLASS ~ S1 +
                           C1 + S2 + C2 + 
                           S3 + C3 + S4 + C4 + S5 + C5,
                         data = poker_train)
# visualize the network topology
plot(poker_model)

#to see values
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6DQogIHdvcmRfZG9jdW1lbnQ6IGRlZmF1bHQNCiAgaHRtbF9ub3RlYm9vazogZGVmYXVsdA0KLS0tDQoNClRoaXMgaXMgYW4gW1IgTWFya2Rvd25dKGh0dHA6Ly9ybWFya2Rvd24ucnN0dWRpby5jb20pIE5vdGVib29rLiBXaGVuIHlvdSBleGVjdXRlIGNvZGUgd2l0aGluIHRoZSBub3RlYm9vaywgdGhlIHJlc3VsdHMgYXBwZWFyIGJlbmVhdGggdGhlIGNvZGUuIA0KDQpUcnkgZXhlY3V0aW5nIHRoaXMgY2h1bmsgYnkgY2xpY2tpbmcgdGhlICpSdW4qIGJ1dHRvbiB3aXRoaW4gdGhlIGNodW5rIG9yIGJ5IHBsYWNpbmcgeW91ciBjdXJzb3IgaW5zaWRlIGl0IGFuZCBwcmVzc2luZyAqQ3RybCtTaGlmdCtFbnRlciouIA0KDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPVRSVUV9DQoNClBva2VyIDwtIHJlYWQuY3N2KCJwb2tlcl9kYXRhLmNzdiIpDQpzdHIoUG9rZXIpDQoNCiMgY3VzdG9tIG5vcm1hbGl6YXRpb24gZnVuY3Rpb24NCm5vcm1hbGl6ZSA8LSBmdW5jdGlvbih4KSB7IA0KICByZXR1cm4oKHggLSBtaW4oeCkpIC8gKG1heCh4KSAtIG1pbih4KSkpDQp9DQoNCiMgYXBwbHkgbm9ybWFsaXphdGlvbiB0byBlbnRpcmUgZGF0YSBmcmFtZQ0KUG9rZXJfbm9ybSA8LSBhcy5kYXRhLmZyYW1lKGxhcHBseShQb2tlciwgbm9ybWFsaXplKSkNCg0KIyBjb25maXJtIHRoYXQgdGhlIHJhbmdlIGlzIG5vdyBiZXR3ZWVuIHplcm8gYW5kIG9uZQ0Kc3VtbWFyeShQb2tlcl9ub3JtJFMxKQ0KDQpzdW1tYXJ5KFBva2VyX25vcm0kQ0xBU1MpDQoNCiMgY29tcGFyZWQgdG8gdGhlIG9yaWdpbmFsIG1pbmltdW0gYW5kIG1heGltdW0NCnN1bW1hcnkoUG9rZXIkUzEpDQoNCnN1bW1hcnkoUG9rZXIkQ0xBU1MpDQoNCiMgY3JlYXRlIHRyYWluaW5nIGFuZCB0ZXN0IGRhdGENCnBva2VyX3RyYWluIDwtIFBva2VyX25vcm1bMToyNTAxMiwgXQ0KcG9rZXJfdGVzdCA8LSBQb2tlcl9ub3JtWzI1MDEzOjEwMjUwMTMsIF0NCg0KIyMgU3RlcCAzOiBUcmFpbmluZyBhIG1vZGVsIG9uIHRoZSBkYXRhIC0tLS0NCiMgdHJhaW4gdGhlIG5ldXJhbG5ldCBtb2RlbA0KbGlicmFyeShuZXVyYWxuZXQpDQoNCiMgc2ltcGxlIEFOTiB3aXRoIG9ubHkgYSBzaW5nbGUgaGlkZGVuIG5ldXJvbg0KIyMgVGhpcyB3aWxsIHRlc3QgaG93IHRoZSBkaWZmZXJlbnQgY2FyZHMgYWZmZWN0IHRoZSBvdXRjb21lIG9mIHRoZSBwb2tlciBoYW5kIChDTEFTUykgLSBNb2RlbGluZyB0aGUgU3RyZW5ndGggb2YgdGhlIFBva2VyIGhhbmQuDQoNCnBva2VyX21vZGVsIDwtIG5ldXJhbG5ldChDTEFTUyB+IFMxICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEMxICsgUzIgKyBDMiArIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgUzMgKyBDMyArIFM0ICsgQzQgKyBTNSArIEM1LA0KICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBwb2tlcl90cmFpbikNCg0KIyB2aXN1YWxpemUgdGhlIG5ldHdvcmsgdG9wb2xvZ3kNCnBsb3QocG9rZXJfbW9kZWwpDQoNCiN0byBzZWUgdmFsdWVzDQoNCmBgYA0KDQoNCg==