ICC 分析工具 (habit icc)
概述
ICC (Intraclass Correlation Coefficient,组内相关系数) 是评估特征可重复性的重要指标。
主要用途:
评估特征在不同扫描条件下的一致性
筛选稳定的特征用于后续分析
评估测量方法的可靠性
ICC 值解释:
ICC > 0.9: 优秀 (Excellent)
0.75 < ICC ≤ 0.9: 良好 (Good)
0.5 < ICC ≤ 0.75: 中等 (Moderate)
ICC ≤ 0.5: 较差 (Poor)
使用方法
1. 创建配置文件
# ICC分析配置
# 输入配置
input:
type: files # 输入类型:files 或 directories
file_groups:
# 文件组列表,每组包含要比较的文件路径
# 同一组内的文件将进行 ICC 分析
- [./ml_data/dataset1.csv, ./ml_data/dataset2.csv]
# 评估指标配置
metrics:
- icc2 # ICC(2,1): 双向随机效应,绝对一致性
- icc3 # ICC(3,1): 双向混合效应,一致性
- cohen # Cohen's Kappa: 分类一致性
- fleiss # Fleiss' Kappa: 多评估者一致性
- krippendorff # Krippendorff's Alpha: 多评估者一致性
# 输出配置
output:
path: ./ml_data/icc_results.json # 输出文件路径
# 处理配置
processes: 1 # 并行进程数,null 表示使用所有可用 CPU 核心
debug: false # 调试模式
2. 运行命令
habit icc --config config_icc.yaml
配置说明
input: 输入数据配置
type: 输入类型 -
files: 指定文件列表进行配对分析 -directories: 指定目录列表,自动匹配同名文件file_groups: 文件组列表(二维数组) - 每一行是一个文件组 - 同一组内的所有文件将进行 ICC 分析 - 文件数量应一致(相同数量的特征)
output: 输出配置
path: 结果输出文件路径 (JSON格式)
metrics: ICC 计算配置
支持的指标类型: - icc2: ICC(2,1) - 双向随机效应模型,绝对一致性 - icc3: ICC(3,1) - 双向混合效应模型,一致性 - cohen: Cohen's Kappa - 分类变量一致性 - fleiss: Fleiss' Kappa - 多评估者分类一致性 - krippendorff: Krippendorff's Alpha - 多评估者任意类型一致性
processes: 并行处理配置
并行进程数量
null或不指定:使用所有可用 CPU 核心1: 单进程
debug: 调试模式
true: 启用详细日志false: 普通日志级别
输出文件说明
运行完成后,会生成 icc_results.json 文件:
{
"features": {
"Feature_1": {
"icc2": 0.95,
"icc3": 0.94,
"ci_icc2": [0.89, 0.98],
"ci_icc3": [0.88, 0.97],
"interpretation": "Excellent"
},
"Feature_2": {
"icc2": 0.87,
"icc3": 0.86,
"ci_icc2": [0.75, 0.94],
"ci_icc3": [0.74, 0.93],
"interpretation": "Good"
}
},
"summary": {
"excellent_count": 15,
"good_count": 23,
"moderate_count": 8,
"poor_count": 3
}
}
输出字段说明:
icc2: ICC(2,1) 值
icc3: ICC(3,1) 值
ci_icc2: ICC(2,1) 的 95% 置信区间
ci_icc3: ICC(3,1) 的 95% 置信区间
interpretation: ICC 解释(Excellent/Good/Moderate/Poor)
特征筛选建议
基于 ICC 值进行特征筛选:
选择 ICC > 0.9 的特征: 用于关键临床决策
选择 ICC > 0.75 的特征: 用于一般临床研究
排除 ICC < 0.5 的特征: 不可靠,不建议使用
注意事项
标签列排除: 确保标签列不参与 ICC 计算
文件配对: 确保配对文件的样本顺序一致
样本量: 建议至少 10 对样本进行可靠分析
特征维度: 确保配对文件具有相同的特征列
数据类型: ICC 适用于连续变量,Cohen's Kappa 适用于分类变量
常见问题
Q: ICC 和 Cohen's Kappa 有什么区别?
A: - ICC: 适用于连续变量,评估测量值的一致性 - Cohen's Kappa: 适用于分类变量,校正了随机一致性后的 agreement
Q: 为什么要用 file_groups 而不是直接列出文件?
A: file_groups 支持多组配对分析: - 第1组:dataset1 vs dataset2 - 第2组:dataset3 vs dataset4 - 每组独立计算 ICC
Q: ICC 值很低怎么办?
A: - 检查数据配对是否正确 - 确认特征计算方法一致 - 考虑使用更稳定的预处理方法 - 排除异常值后重新计算