Decision Tree ID3

Used Data Set:

[
    ["Outlook", "Temperature", "Humidity", "Windy", "Play Tennis"], //The header is considering as Attribute
    ["Sunny", "Hot", "High", "Weak", "No" ],
    ["Sunny", "Hot", "High", "Strong", "No" ],
    ["Overcast", "Hot", "High", "Weak", "Yes"],
    ["Rainy", "Mild", "High", "Weak", "Yes"],
    ["Rainy", "Cool", "Normal", "Weak", "Yes"],
    ["Rainy", "Cool", "Normal", "Strong", "No" ],
    ["Overcast", "Cool", "Normal", "Strong", "Yes"], //Every data is considering as Feature
    ["Sunny", "Mild", "High", "Weak", "No" ],
    ["Sunny", "Cool", "Normal", "Weak", "Yes"],
    ["Rainy", "Mild", "Normal", "Weak", "Yes"],
    ["Sunny", "Mild", "Normal", "Strong", "Yes"],
    ["Overcast", "Mild", "High", "Strong", "Yes"],
    ["Overcast", "Hot", "Normal", "Weak", "Yes"],
    ["Rainy", "Mild", "High", "Strong", "No" ],
]

Data to Predict:

[
    ["Outlook", "Temperature", "Humidity", "Windy"], //The header must be in the data
    ["Overcast", "Cool", "Normal", "Strong"],
]

Result of predict:

{
    childs: []
    id: "3eb4d4228163"
    tag: "Overcast"
    value: "Yes"
}

Result Tree:

Test By HenryGalvez