ID3 - Python Code

 import pandas as pd

import matplotlib.pyplot as plt

from sklearn import tree

from sklearn.tree import DecisionTreeClassifier

from sklearn.model_selection import train_test_split

from sklearn.metrics import accuracy_score


data = {

    'Outlook': ['Sunny', 'Sunny', 'Overcast', 'Rain', 'Rain', 'Rain', 'Overcast',

                'Sunny', 'Sunny', 'Rain', 'Sunny', 'Overcast', 'Overcast', 'Rain'],

    'Temperature': ['Hot', 'Hot', 'Hot', 'Mild', 'Cool', 'Cool', 'Cool',

                    'Mild', 'Cool', 'Mild', 'Mild', 'Mild', 'Hot', 'Mild'],

    'Humidity': ['High', 'High', 'High', 'High', 'Normal', 'Normal', 'Normal',

                 'High', 'Normal', 'Normal', 'Normal', 'High', 'Normal', 'High'],

    'Windy': [False, True, False, False, False, True, True,

              False, False, False, True, True, False, True],

    'PlayTennis': ['No', 'No', 'Yes', 'Yes', 'Yes', 'No', 'Yes',

                   'No', 'Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No']

}


df=pd.DataFrame(data)


df_encoded=pd.get_dummies(df[['Outlook','Temperature','Humidity','Windy']])

target=df['PlayTennis']


X_train,X_test,y_train,y_test=train_test_split(df_encoded,target,test_size=0.2,random_state=42)


model=DecisionTreeClassifier(criterion='entropy')


model.fit(X_train,y_train)


y_pred=model.predict(X_test)


print("Accuracy:", accuracy_score(y_test,y_pred))


plt.figure(figsize=(15,10))

tree.plot_tree(model, feature_names=X_train.columns,class_names=model.classes_,filled=True)

plt.show()

Comments

Popular posts from this blog

HSDPA (High-Speed Downlink Packet Access)

Perceptron for AND Gate - Python Code

Random Forest - Python Code