42 lines
2.0 KiB
Python
42 lines
2.0 KiB
Python
# -*- coding: utf-8 -*-
|
||
"""
|
||
配置文件 - 所有超参数集中管理
|
||
|
||
设计思路:
|
||
将超参数分门别类,学生可以单独修改某一类而不会影响其他
|
||
"""
|
||
|
||
# ==================== 数据相关 ====================
|
||
DATA_DIR = 'data/ChnSentiCorp' # 数据集路径
|
||
MAX_FEATURES = 3000 # 词表最大容量
|
||
MAX_SEQ_LEN = 100 # 句子最大长度(词数)
|
||
VECTORIZER_TYPE = 'bow' # 'tfidf' 或 'bow'(向量化方式)
|
||
|
||
# ==================== 模型相关 ====================
|
||
MODEL_TYPE = 'mlp' # 'mlp' 或 'lr'(模型类型)
|
||
HIDDEN_SIZE = 128 # MLP隐藏层大小(LR忽略)
|
||
NUM_CLASSES = 2 # 类别数(正面/负面二分类)
|
||
KEEP_PROB = 0.8 # Dropout保留概率(LR忽略,设为1即可)
|
||
|
||
# ==================== 训练相关 ====================
|
||
LEARNING_RATE = 0.05 # 学习率
|
||
NUM_EPOCHS = 100 # 训练轮数
|
||
BATCH_SIZE = 64 # 批次大小
|
||
|
||
# ==================== 类别权重(解决数据不平衡问题)====================
|
||
USE_CLASS_WEIGHT = True # True=启用类别权重, False=不启用(对比用)
|
||
# 权重计算公式: n_samples / (n_classes * n_class_i)
|
||
# 正面评论多所以权重小,负面评论少所以权重大
|
||
CLASS_WEIGHT_POS = 0.73 # 正面类权重(自动计算)
|
||
CLASS_WEIGHT_NEG = 1.58 # 负面类权重(自动计算)
|
||
|
||
# ==================== 实验相关 ====================
|
||
RUN_COMPARISON = True # True=运行对比实验, False=运行单个模型
|
||
COMPARE_MODELS = ['lr', 'mlp'] # 要对比的模型列表
|
||
COMPARE_VECTORS = ['bow', 'tfidf'] # 要对比的向量化方式
|
||
|
||
# ==================== 其他 ====================
|
||
RANDOM_SEED = 42 # 随机种子(保证可复现)
|
||
VERBOSE = True # 打印详细日志
|
||
|