Files
c/backend/train_model.py
刘正航 b5237f9038 1
2026-04-21 22:45:19 +08:00

18 lines
628 B
Python

from app import create_app
from app.ml.naive_bayes_classifier import NaiveBayesSpamClassifier
from app.models import SpamTrainingSample
def main():
app = create_app()
with app.app_context():
rows = SpamTrainingSample.query.filter_by(is_active=True).order_by(SpamTrainingSample.id.asc()).all()
samples = [{"text": row.text, "label": row.label} for row in rows]
clf = NaiveBayesSpamClassifier(app.config["NB_MODEL_PATH"])
meta = clf.train(samples)
print(f"模型训练完成: {meta.get('version')} 样本数={meta.get('sample_count')}")
if __name__ == "__main__":
main()