Skip to main content

Detection Of Learning Obstacles via Risk-aware Interaction Signals

Project description

Doloris

PyPI Version

中山大学 2025 年《模式识别》课程大作业项目

组员:许睿林、傅小桐

DolorisDetection Of Learning Obstacles via Risk-aware Interaction Signals)是一款用于基于交互信号分析学习障碍的检测系统。它支持用户友好的命令行界面、可视化面板以及灵活的机器学习模型配置,适用于教育行为数据分析与预测任务。

在线演示 Demo 链接 https://doloris.tokisakix.cn/

img

img

🔧 安装方式

用户安装(推荐)

使用 pip 一键安装:

pip install doloris

开发者模式安装

若你正在开发或调试本项目,建议使用源码安装:

pip install .

安装完成后可通过下列命令验证版本:

doloris version

🚀 快速开始

启动可视化面板

运行以下命令以启动 Doloris 的交互式面板(默认缓存路径为 .doloris/):

doloris panel --cache-path <缓存目录路径>

可选参数:

  • --cache-path:指定缓存数据的目录路径(默认 .doloris/
  • --share:是否开启公网访问链接(默认 False)

运行模型算法

Doloris 提供命令行方式运行学习障碍检测算法,算法运行可视化结果保存在缓存路径下的 algorithm_output 文件夹:

doloris algorithm --cache-path <缓存目录路径> \
                  --label-type <binary|multiclass> \
                  --feature-cols <特征列1,特征列2,...> \
                  --model-name <模型名称>

可用参数说明:

  • --cache-path:指定缓存数据的目录路径(默认 .doloris/

  • --label-type:指定标签类型(默认:binary),可选值:binary, multiclass

  • --feature-cols:用逗号分隔的特征列名(默认为预设特征)

  • --model-name:选择的模型名称,支持如下几种:

    • logistic_regression
    • naive_bayes
    • knn
    • svm
    • sgd
    • mlp

示例命令:

doloris algorithm --label-type binary --model-name naive_bayes

🧠 默认特征说明

默认使用以下交互特征进行建模:

  • age_band
  • highest_education
  • imd_band
  • num_of_prev_attempts
  • studied_credits
  • total_n_days
  • avg_total_sum_clicks
  • n_days_oucontent
  • avg_sum_clicks_quiz
  • avg_sum_clicks_forumng
  • avg_sum_clicks_homepage

你也可以通过 --feature-cols 参数自定义特征列表。

性能评估指标说明

Doloris 在训练与测试阶段均自动计算以下性能指标:

准确率(Accuracy)

$$ \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} $$

表示模型在所有样本中的总体正确预测比例。

精确率(Precision)

对于某一类别 $c$,精确率定义为:

$$ \text{Precision}_c = \frac{TP_c}{TP_c + FP_c} $$

衡量模型预测为该类别时,实际为该类别的比例。

召回率(Recall)

$$ \text{Recall}_c = \frac{TP_c}{TP_c + FN_c} $$

衡量模型成功识别出该类别样本的比例。

F1 分数(F1-score)

F1-score 是精确率与召回率的调和平均:

$$ \text{F1}_c = \frac{2 \cdot \text{Precision}_c \cdot \text{Recall}_c}{\text{Precision}_c + \text{Recall}_c} $$

同时计算宏平均(Macro Average)与加权平均(Weighted Average):

宏平均(Macro) 为各类 F1-score 的算术平均:

$$ \text{Macro-F1} = \frac{1}{C} \sum_{c=1}^{C} \text{F1}_c $$

加权平均(Weighted) 根据每类样本数量加权:

$$ \text{Weighted-F1} = \frac{1}{N} \sum_{c=1}^{C} n_c \cdot \text{F1}_c $$

其中 $n_c$ 表示第 $c$ 类样本数,$N$ 为总样本数。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

doloris-1.1.0.tar.gz (17.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

doloris-1.1.0-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file doloris-1.1.0.tar.gz.

File metadata

  • Download URL: doloris-1.1.0.tar.gz
  • Upload date:
  • Size: 17.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.18

File hashes

Hashes for doloris-1.1.0.tar.gz
Algorithm Hash digest
SHA256 4a6bb475a7c1c20a490fe4d49d908750a2055bae3044bda9010525c959e6df86
MD5 2b7d0008a67b69425bfc7f744a3f583c
BLAKE2b-256 8a73c6cc111ed387a19700cc77cdc6887994deaa9ecf6f43e78a4cb0c1bf0303

See more details on using hashes here.

File details

Details for the file doloris-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: doloris-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.18

File hashes

Hashes for doloris-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4a175c51d32394edd3799ebb44f9e3e1e42e3a04abd634ea4496e087d083cf56
MD5 01a44cbd5e7d12817835b41488792502
BLAKE2b-256 63f16a31bc5def192604009a8367e2768ce84d84807365e7bb5581e61c9b3f77

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page