Nov-07-2018, 05:25 PM
import numpy as np import pandas as pd 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 #play_tennis = pd.read_csv("PlayTennis.csv") #play_tennis = pd.read_csv("weather3.csv") play_tennis = pd.read_csv("sampleweatherforecast.csv") play_tennis.head() #number = LabelEncoder() #play_tennis['Outlook'] = number.fit_transform(play_tennis['Outlook']) #play_tennis['Temperature'] = number.fit_transform(play_tennis['Temperature']) #play_tennis['Humidity'] = number.fit_transform(play_tennis['Humidity']) #play_tennis['Wind'] = number.fit_transform(play_tennis['Wind']) #play_tennis['Play Tennis'] = number.fit_transform(play_tennis['Play Tennis']) #features = ["Outlook", "Temperature", "Humidity", "Wind"] #features = ["Outlook", "Temperature","Humidity"] features = ["outlook", "temp"] target = "play" features_train, features_test, target_train, target_test = train_test_split(play_tennis[features],play_tennis[target],test_size = 0.2,random_state = 54) model = GaussianNB() model.fit(features_train, target_train) pred = model.predict(features_test) accuracy = accuracy_score(target_test, pred) features_test['predicted']=pred print(accuracy) #print(model.predict([[1,2,0,1]])) #features_train.to_csv(r"D:\Usman\Export\trainweather.csv") #features_test.to_csv(r"D:\Usman\Export\testweather.csv") features_train.to_csv(r"D:\Usman\Export\trainweather-new.csv") features_test.to_csv(r"D:\Usman\Export\testweather-new.csv")
We have our testing data which is matched to training data
But still we see that the above python script gave me 60 % Accuracy only.
Any idea how to get the 100 % Accuracy