diff --git a/classifiers/bag_of_words.py b/classifiers/bow.py similarity index 95% rename from classifiers/bag_of_words.py rename to classifiers/bow.py index b6c687d..2174ab3 100644 --- a/classifiers/bag_of_words.py +++ b/classifiers/bow.py @@ -5,7 +5,7 @@ from sklearn.feature_extraction import DictVectorizer from sklearn.linear_model import LogisticRegression from sklearn.pipeline import Pipeline -from cleaning.transformers import LowercaseTransformer, PunctuationRemover +from classifiers.cleaning import LowercaseTransformer, PunctuationRemover class FeatureExtractor: diff --git a/cleaning/transformers.py b/classifiers/cleaning.py similarity index 75% rename from cleaning/transformers.py rename to classifiers/cleaning.py index ae6a97c..206fba1 100644 --- a/cleaning/transformers.py +++ b/classifiers/cleaning.py @@ -1,7 +1,6 @@ import re import numpy as np -from sklearn.base import BaseEstimator, TransformerMixin STOPWORDS = { @@ -14,18 +13,16 @@ STOPWORDS = { } -class LowercaseTransformer(BaseEstimator, TransformerMixin): +class LowercaseTransformer: def fit(self, X, y=None): - self.fitted_ = True return self def transform(self, X): return np.array([msg.lower() for msg in X]) -class StopwordRemover(BaseEstimator, TransformerMixin): +class StopwordRemover: def fit(self, X, y=None): - self.fitted_ = True return self def transform(self, X): @@ -36,9 +33,8 @@ class StopwordRemover(BaseEstimator, TransformerMixin): return " ".join(w for w in words if w.lower() not in STOPWORDS) -class PunctuationRemover(BaseEstimator, TransformerMixin): +class PunctuationRemover: def fit(self, X, y=None): - self.fitted_ = True return self def transform(self, X): diff --git a/classifiers/feature_classifier.py b/classifiers/features.py similarity index 100% rename from classifiers/feature_classifier.py rename to classifiers/features.py diff --git a/cleaning/__init__.py b/cleaning/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/cli/main.py b/cli/main.py index 5f1d077..907b4d9 100644 --- a/cli/main.py +++ b/cli/main.py @@ -3,7 +3,7 @@ Usage: spam -e spam classifiers.manual.ManualClassifier - spam classifiers.feature_classifier.FeatureClassifier + spam classifiers.features.FeatureClassifier spam classifiers.manual.ManualClassifier -t 0.2 spam classifiers.manual.ManualClassifier -a spam classifiers.manual.ManualClassifier -a 5 diff --git a/pyproject.toml b/pyproject.toml index b366cfd..f468aaf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,4 +16,4 @@ requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] -packages = ["cli", "classifiers", "cleaning"] +packages = ["cli", "classifiers"]