Including validation set in my code for a Linear SVM classifier returns a Type error I'm using a predict function for a linear SVM classifier:
def predict(self, train_file: str, test_file: str, lower_case: bool) -&gt; pd.DataFrame:
&quot;Train model using sklearn pipeline&quot;
train_df = self.read_data(train_file, lower_case)
dev_df = self.read_data(dev_file, lower_case)
learner = self.pipeline.fit(train_df['text'], train_df['truth'])
# Fit the learner to the test data
test_df = self.read_data(test_file, lower_case)
# assuming dev_df is validset
dev_df['pred'] = learner.predict(dev_df['text'])
test_df['pred'] = learner.predict(test_df['text'])
return test_df, dev_df

And the predict function refers also to:
    def run_classifier(files: Tuple[str, str, str],
               method: str,
               method_class: Base,
               model_file: str,
               lower_case: bool) -&gt; None:
&quot;Inherit classes from classifiers.py and apply the predict/accuracy methods&quot;
train, dev, test = files  # Unpack train, dev and test filenames
result = method_class.predict(train, test, lower_case)
method_class.accuracy(result)
# Plot confusion matrix
make_dirs(&quot;Plots&quot;)
print(result)
fig, ax = plot_confusion_matrix(result['truth'], result['pred'], normalize=True)
ax.set_title(&quot;Normalized Confusion Matrix: {}&quot;.format(method.title()))
fig.tight_layout()
fig.savefig(&quot;Plots/{}.png&quot;.format(method))

Where the dev set is not really taken into consideration. When I run predict, I receive this error: predict() missing 1 required positional argument: 'lower_case but I don't understand how to solve it.
Based on the repo you linked in the comment section (github.com/prrao87/fine-grained-sentiment), method_class is meant to be a Class not an instance. Therefore method_class.predict is meant to be a static method not an instance method, Static method are declared without specifying a self (as they are not linked to an instance but a class) declaring your function as def predict(train_file: str, test_file: str, lower_case: bool) should fix your problem.
Some reference on the topic : https://www.makeuseof.com/tag/python-instance-static-class-methods/