Python文本分类首选scikit-learn+TfidfVectorizer,步骤为向量化→选分类器(如LogisticRegression)→训练预测;图像分类推荐迁移学习,用torchvision加载预训练模型(如ResNet18),冻结前层、替换FC层并统一预处理。
文本分类是AI最常用的任务之一,比如识别邮件是否为垃圾邮件、判断用户评论是正面还是负面。Python生态里,scikit-learn + TfidfVectorizer是最轻量又实用的组合,适合入门和中小规模数据。
关键步骤很清晰:
TfidfVectorizer把句子转成数字向量(自动处理停用词、词频加权)LogisticRegression或RandomForestClassifier,训练即可predict()或predict_proba()
注意:如果文本含大量专业术语或短文本(如微博),可尝试CountVectorizer配合n-gram,或换用transformers库微调小型BERT模型(如distilbert-base-uncased-finetuned-sst-2),但需GPU支持。
对大多数实际任务,直接用预训练模型+迁移学习更高效。Python中,torchvision.models提供ResNet、EfficientNet等即用模型,几行代码就能完成图像分类。
典型做法:
models.resnet18(pretrained=True)),冻结前面层参数model.fc = nn.Linear(512, 3))torchvision.transforms统一缩放、归一化图片,避免输入尺寸/通道异常小技巧:若样本少(每类
当任务同时依赖文字和图片(比如电商商品分类:靠标题+主图),不必强行拼接特征。一种轻量方案是分别提取特征后融合:
TF-IDF或Sentence-BERT获取文本嵌入(768维)不需要
复杂对齐或跨模态注意力——多数业务场景下,这种“特征级融合”已足够稳定。调试时先单独验证文本和图片分支效果,再合并,容易定位瓶颈。
模型在训练集上准,不等于上线能用。实际落地前务必检查:
用joblib保存sklearn模型,torch.save存PyTorch模型,再封装成Flask/FastAPI接口,就是最小可行服务。