Naive Bayes play tennis

 # Import necessary libraries

# http://bit.ly/pythonprogram9hit
from sklearn.naive_bayes import GaussianNB
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import pandas as pd

# Read the data from the CSV file
data = pd.read_csv("tennis.csv")

# Encode categorical variables into numerical values
label_encoder = LabelEncoder()
data_encoded = data.copy()
for column in ['Outlook', 'Temperature', 'Humidity', 'Wind', 'Play Tennis']:
    data_encoded[column] = label_encoder.fit_transform(data[column])

# Split the data into features (X) and the target variable (y)
X = data_encoded.drop('Play Tennis', axis=1)
y = data_encoded['Play Tennis']

# Split the data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=1)

# Create a Gaussian Naive Bayes model
gnb = GaussianNB()

# Fit the model to the training data
gnb.fit(X_train, y_train)

# Make predictions on the testing data
y_pred = gnb.predict(X_test)

# Calculate and print the accuracy of the model on the testing data
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy on the testing data:",accuracy*100)


# #Import all necessary libraries
# import pandas as pd
# from sklearn import preprocessing
# from sklearn.naive_bayes import GaussianNB
# from sklearn import metrics
#
# #Read all data from both training and testing dataset
#
# data_train = pd.read_csv('playTennis.csv')
# data_test = pd.read_csv('playTennis.csv')
#
# #Encoding data from text into number
#
# le = preprocessing.LabelEncoder()
# data_train_df = pd.DataFrame(data_train)
# data_train_df_encoded = data_train_df.apply(le.fit_transform)
#
# data_test_df = pd.DataFrame(data_test)
# data_test_df_encoded = data_test_df.apply(le.fit_transform)
#
# #Splitting dataset into test and train variables
# x_train = data_train_df_encoded.drop(['play'],axis=1)
# y_train = data_train_df_encoded['play']
#
# x_test = data_test_df_encoded.drop(['play'],axis=1)
# y_test = data_test_df_encoded['play']
#
# #In this classification, we use GaussianNB model for prediction
# model = GaussianNB()
# nbtrain = model.fit(x_train, y_train)
#
# y_pred = nbtrain.predict(x_test)
# print("Accuracy:",metrics.accuracy_score(y_test, y_pred)*100)

Comments

Popular posts from this blog

How to became a junior Engineer

Pima Dataset

1.Import and Export(How to read csv file using manualvfunction)