
<SYSTEM_TASK:>
Given the following text problem statement, write Python code to implement the functionality described below in problem statement
<END_TASK>
<USER_TASK:>
Problem:
SVM Hyperparameter Tuning - Using GridSearchCV to Tune a SVC Model

<ASSISTANT_TASK:>
Python Code::
from sklearn.svm import SVC
from sklearn.metrics import classification_report
from sklearn.model_selection import GridSearchCV
# declare parameter ranges to try
params = {'C':[1, 2, 3],
          'kernel':['linear', 'poly', 'rbf']}
# initialise estimator
svm_classifier = SVC(class_weight='balanced')
# initialise grid search model
model = GridSearchCV(estimator=svm_classifier, 
                     param_grid=params,
                     scoring='accuracy',
                     n_jobs=-1)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
print(model.best_params_)
print(classification_report(y_test, y_pred))

<END_TASK>
