Python Forum

Full Version: hyperparameters do not make a difference in prediction
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I am doing SVM and I always get the accuracy of 0.84 even after tuning my hyperparameters. Even if I play with scaling of the data, it does not seem to make the difference.
Any suggestions? Thanks!
        # Encoding categorical data in y
        labelencoder_y = LabelEncoder()
        y = labelencoder_y.fit_transform(y)

        #self.X_train, self.X_test, self.y_train, self.y_test = train_test_split(X, y, test_size=0.2, random_state = 40)
        self.X_train = X
        self.X_test = X
        self.y_train = y
        self.y_test = y
         
        #scaling features
        sc = StandardScaler()
        self.X_train = sc.fit_transform(self.X_train)
        self.X_test = sc.transform(self.X_test)
         

        # Fit to the training data
        self.grid.fit(self.X_train, self.y_train)
       
        y_pred = self.grid.predict(self.X_test)
And my model is in constructor. Note, I did try out other classifiers, and it seemed not to make the difference in my prediction. I do get smaller accuracy but nothing larger than 0.84. With tree for example, I get down to 0.74:)
    def __init__(self, datafile = 'data/Customer_telecom.csv'):
        self.df = pd.read_csv(datafile)
        self.linear_reg = LogisticRegression(random_state=1234)
        # Instantiate the classifier
        self.clf = RandomForestClassifier()
        # defining parameter range 
  
        self.grid = GridSearchCV(svm.SVC(), param_grid={'C': [0.1, 1, 10, 100, 1000], 
              'gamma': [1, 0.1, 0.01, 0.001, 0.0001],
              'kernel': ['rbf', 'poly','sigmoid']}, refit = True, verbose = 3)
        self.clf_svm = svm.SVC()
        self.clf_kn = KNeighborsClassifier(n_neighbors=5)
        self.clf_tree = tree.DecisionTreeClassifier()
        self.reg_grid = GridSearchCV(estimator=LogisticRegression(random_state=1234), param_grid={'max_iter': [20, 50, 100, 200, 500, 1000],                      'solver': ['newton-cg', 'lbfgs', 'liblinear', 'sag', 'saga'],   
              'class_weight': ['balanced'] }, verbose=1, cv=10, n_jobs=-1)