My testing accuracy is way higher than my training accuracy. I have used feature selection and split the data into training, validation and test sets.
anova_filter = SelectKBest(f_classif, k=4)
rng = np.random.rand
X_train, X_val, Y_train, Y_val = train_test_split(X, Y, test_size = 0.40, shuffle =
False, random_state = rng)
X_val, X_test, Y_val, Y_test = train_test_split(X_val, Y_val, test_size = 0.50, shuffle
= False, random_state =rng)
#fitting the dataset
anova_svm.fit(X_train, Y_train)
#Predicting Values
Y_pred = anova_svm.predict(X_val)
X_train_pred = anova_svm.predict(X_train)
training_data_accuracy = accuracy_score(Y_train, X_train_pred)
testing_data_accuracy = accuracy_score(Y_val, Y_pred)