From 65fb9327f68f46087537ae948430dc0fa6588990 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8B=AE=E5=AD=90=E8=80=97=E8=80=97?= Date: Sat, 25 Oct 2025 21:34:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0ASSISTment2012=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E5=88=86=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assist12_analysis.ipynb | 2508 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 2508 insertions(+) create mode 100644 assist12_analysis.ipynb diff --git a/assist12_analysis.ipynb b/assist12_analysis.ipynb new file mode 100644 index 0000000..60b78da --- /dev/null +++ b/assist12_analysis.ipynb @@ -0,0 +1,2508 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "88220d72", + "metadata": {}, + "source": [ + "# AssistMent2012 数据集分析\n", + "\n", + "# 数据集简介\n", + "该数据集来自 2012-2013 学年的 ASSISTments 系统,包含了学生在完成数学问题时的交互数据。与2009数据集类似,该数据集记录了学生的答题情况、提示请求、时间信息等,并额外包含了**学生情绪状态的置信度预测**(如挫败、困惑、专注和无聊)。\n", + "\n", + "> 该数据集中每个问题只与一个技能相对应,但每个技能可以与多个问题关联。\n", + "\n", + "# 数据集列含义\n", + "- problem_log_id:问题日志ID\n", + " - 学生的每一次交互都会被记录为一条日志\n", + " - 问题日志ID是唯一的\n", + "- skill:技能名称\n", + "- problem_id:问题ID\n", + "- user_id:学生ID\n", + "- assignment_id:作业ID\n", + "- assistment_id:辅助问题ID\n", + " - 与问题 ID 类似。这是构建器中用户将看到的问题的 ID。如果一个问题包含多个主问题和/或支架问题,则与单个问题相关的一切内容均称为一个辅助任务,并具有相同的辅助任务 ID\n", + "- start_time:问题开始时间\n", + "- end_time:问题结束时间\n", + "- problem_type:问题答案的类型\n", + "- original(0/1):区分主问题和支撑问题\n", + " - 1表示主问题,0代表支撑问题\n", + "- correct(0/1):问题的回复是否正确\n", + " - 1表示第一尝试即正确,0表示第一次尝试错误或者请求了帮助\n", + "- bottom_hint(0/1):是否请求了最底层提示\n", + " - 1表示请求了最底层提示,0表示没有请求\n", + "- hint_count:学生期间请求提示的次数\n", + "- actions:学生的操作序列\n", + "- attempt_count:尝试次数(学生输入答案的次数)\n", + "- ms_first_response:开始时间与学生首次操作之间的时间间隔(单位:毫秒)\n", + "- tutor_mode:导师模式或测试模式\n", + " - 导师模式:tutor\n", + " - 测试模式:test\n", + "- sequence_id:习题集的ID\n", + "- student_class_id:学生的班级ID\n", + "- position:问题在作业页面上的位置\n", + "- type:问题集的类型\n", + " - LinearSection\n", + " - MasterySection\n", + " - RandomChildOrderSection\n", + " - RandomIterateSection\n", + " - PlacementsSection\n", + " - ChooseConditionSection\n", + " - NumericLimitSection\n", + "- base_sequence_id:用于标记习题集被复制的情况\n", + "- skill_id:技能ID(多个技能用逗号分隔)\n", + "- teacher_id:教师ID\n", + "- school_id:学校ID\n", + "- overlap_time:学生完成该问题所用的时间(单位:秒)\n", + "- template_id:ASSISTments的模板ID\n", + "- answer_id:多选题答案的ID\n", + "- answer_text:填空题的答案文本\n", + "- first_action:学生首次操作的类型\n", + "- problemlogid:与problem_log_id相同(冗余列)\n", + "- Average_confidence(FRUSTRATED):预测的挫败情绪置信度\n", + "- Average_confidence(CONFUSED):预测的困惑情绪置信度\n", + "- Average_confidence(CONCENTRATING):预测的专注情绪置信度\n", + "- Average_confidence(BORED):预测的无聊情绪置信度\n", + "\n", + "# 补充说明\n", + "\n", + "## 主问题和支撑式问题\n", + "当学生在解决一个**主问题**时回答错误或者主动要求将问题分解成小步骤时,ASSISTment系统会提供**一个或多个支撑式问题**。\n", + "- 支撑式问题在数据集中使用*original*字段进行标记\n", + "- 学生通常不能在回答支撑式问题时获取提示\n", + "\n", + "## 导师模式\n", + "在数据集中*tutor_mode*列用于区分学生做题时系统处于导师(tutor)还是测试(test)模式。\n", + "在导师模式中,学生做题时可以获得即时反馈、提示或逐步辅导;在测试模式中,学生做题时系统不会给出任何反馈和指导信息。\n", + "\n", + "## 情绪状态预测\n", + "该数据集包含了四种情绪状态的置信度预测:挫败(FRUSTRATED)、困惑(CONFUSED)、专注(CONCENTRATING)和无聊(BORED)。这些预测值是由机器学习模型根据学生的交互行为生成的。" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "f9a110e4", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Load the ASSISTments 2012 dataset\n", + "data = pd.read_csv(\n", + " \"data/assistment12/2012-2013-data-with-predictions-4-final.csv\",\n", + " low_memory=False,\n", + " encoding=\"latin1\",\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "29bef8f4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['LinearSection' 'MasterySection' 'RandomChildOrderSection'\n", + " 'RandomIterateSection' 'PlacementsSection' 'ChooseConditionSection'\n", + " 'NumericLimitSection']\n" + ] + } + ], + "source": [ + "print(data[\"type\"].unique())" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "4bb29090", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "problem_log_id", + "rawType": "int64", + "type": "integer" + }, + { + "name": "skill", + "rawType": "object", + "type": "unknown" + }, + { + "name": "problem_id", + "rawType": "int64", + "type": "integer" + }, + { + "name": "user_id", + "rawType": "int64", + "type": "integer" + }, + { + "name": "assignment_id", + "rawType": "int64", + "type": "integer" + }, + { + "name": "assistment_id", + "rawType": "int64", + "type": "integer" + }, + { + "name": "start_time", + "rawType": "object", + "type": "string" + }, + { + "name": "end_time", + "rawType": "object", + "type": "string" + }, + { + "name": "problem_type", + "rawType": "object", + "type": "string" + }, + { + "name": "original", + "rawType": "int64", + "type": "integer" + }, + { + "name": "correct", + "rawType": "float64", + "type": "float" + }, + { + "name": "bottom_hint", + "rawType": "float64", + "type": "float" + }, + { + "name": "hint_count", + "rawType": "int64", + "type": "integer" + }, + { + "name": "actions", + "rawType": "object", + "type": "string" + }, + { + "name": "attempt_count", + "rawType": "int64", + "type": "integer" + }, + { + "name": "ms_first_response", + "rawType": "int64", + "type": "integer" + }, + { + "name": "tutor_mode", + "rawType": "object", + "type": "string" + }, + { + "name": "sequence_id", + "rawType": "int64", + "type": "integer" + }, + { + "name": "student_class_id", + "rawType": "int64", + "type": "integer" + }, + { + "name": "position", + "rawType": "int64", + "type": "integer" + }, + { + "name": "type", + "rawType": "object", + "type": "string" + }, + { + "name": "base_sequence_id", + "rawType": "int64", + "type": "integer" + }, + { + "name": "skill_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "teacher_id", + "rawType": "int64", + "type": "integer" + }, + { + "name": "school_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "overlap_time", + "rawType": "int64", + "type": "integer" + }, + { + "name": "template_id", + "rawType": "int64", + "type": "integer" + }, + { + "name": "answer_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "answer_text", + "rawType": "object", + "type": "string" + }, + { + "name": "first_action", + "rawType": "int64", + "type": "integer" + }, + { + "name": "problemlogid", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Average_confidence(FRUSTRATED)", + "rawType": "float64", + "type": "float" + }, + { + "name": "Average_confidence(CONFUSED)", + "rawType": "float64", + "type": "float" + }, + { + "name": "Average_confidence(CONCENTRATING)", + "rawType": "float64", + "type": "float" + }, + { + "name": "Average_confidence(BORED)", + "rawType": "float64", + "type": "float" + } + ], + "ref": "8910e23b-7d64-4def-a048-8424b2593d4c", + "rows": [ + [ + "0", + "137792159", + null, + "557460", + "61394", + "565736", + "341511", + "2012-09-28 15:11:27", + "2012-09-28 15:11:36.856", + "choose_1", + "1", + "1.0", + "0.0", + "0", + "--- \n- - start\n - 1348859487561\n - \"959522\"\n- - answer\n - 9852\n - true\n - she\n - \n- - end\n", + "1", + "9852", + "tutor", + "55482", + "23643", + "4", + "LinearSection", + "55482", + null, + "53472", + "5048.0", + "9852", + "341511", + null, + "she", + "0", + "137792159", + "0.361323", + "0.0", + "0.336529", + "0.0" + ], + [ + "1", + "138083797", + "Rounding", + "365981", + "61394", + "573819", + "204043", + "2012-10-09 11:01:52", + "2012-10-09 11:02:13.182", + "algebra", + "1", + "1.0", + "0.0", + "0", + "--- \n- - start\n - 1349794912269\n - \"624595\"\n- - answer\n - 21175\n - true\n - \"74.29\"\n - \n- - end\n", + "1", + "21175", + "tutor", + "34221", + "22967", + "5", + "LinearSection", + "34221", + "54.0", + "47424", + "5048.0", + "21175", + "204043", + null, + "74.29", + "0", + "138083797", + "0.361323", + "0.0", + "0.766925", + "0.0" + ], + [ + "2", + "142332619", + "Multiplication and Division Integers", + "426415", + "61394", + "734130", + "247525", + "2013-03-07 10:53:20", + "2013-03-07 10:53:28.661", + "algebra", + "1", + "0.0", + "0.0", + "0", + "--- \n- - start\n - 1362671600405\n - \"741079\"\n- - answer\n - 8645\n - false\n - \"00\"\n - \n- - end\n", + "1", + "8645", + "tutor", + "39601", + "22967", + "58", + "LinearSection", + "39601", + "279.0", + "47424", + "5048.0", + "8645", + "247525", + null, + "00", + "0", + "142332619", + "0.361323", + "0.0", + "0.766925", + "0.442968" + ], + [ + "3", + "145939397", + "Proportion", + "86686", + "61394", + "821352", + "48081", + "2013-08-20 19:54:56", + "2013-08-20 19:55:21.753", + "algebra", + "1", + "1.0", + "0.0", + "0", + "--- \n- - start\n - 1377042896503\n - \"73630\"\n- - answer\n - 25728\n - true\n - \"3.8\"\n - \n- - end\n", + "1", + "25728", + "tutor", + "6912", + "26303", + "21", + "MasterySection", + "6912", + "79.0", + "47424", + "5048.0", + "25728", + "46362", + null, + "3.8", + "0", + "145939397", + "0.775", + "0.0", + "0.766925", + "0.912281" + ], + [ + "4", + "137111284", + null, + "399669", + "76592", + "557216", + "227869", + "2012-09-10 17:20:10", + "2012-09-10 17:24:56.579", + "choose_1", + "1", + "1.0", + "0.0", + "0", + "--- \n- - start\n - 1347312010563\n - \"694797\"\n- - answer\n - 286578\n - true\n - C (wr - 1)(wr + 1)\n - \n- - end\n", + "1", + "286578", + "tutor", + "37143", + "21696", + "3", + "LinearSection", + "37143", + null, + "152676", + "7561.0", + "286578", + "227869", + null, + "C (wr - 1)(wr + 1)", + "0", + "137111284", + "0.361323", + "0.0", + "0.766925", + "0.0" + ], + [ + "5", + "140218191", + "Exponents", + "401234", + "76592", + "639711", + "228996", + "2012-12-12 21:00:55", + "2012-12-12 21:01:07.536", + "algebra", + "1", + "1.0", + "0.0", + "0", + "--- \n- - start\n - 1355364055251\n - \"697389\"\n- - answer\n - 12522\n - true\n - \"1024\"\n - \n- - end\n", + "1", + "12522", + "tutor", + "37217", + "21696", + "34", + "MasterySection", + "37217", + "86.0", + "152676", + "7561.0", + "12522", + "129499", + null, + "1024", + "0", + "140218191", + "0.361323", + "0.0", + "0.766925", + "0.0" + ], + [ + "6", + "144931507", + null, + "403690", + "77966", + "802691", + "231052", + "2013-05-17 07:31:51", + "2013-05-17 07:32:08.175", + "algebra", + "1", + "1.0", + "0.0", + "0", + "--- \n- - start\n - 1368790311911\n - \"700433\"\n- - answer\n - 17160\n - true\n - \"21\"\n - \n- - end\n", + "1", + "17160", + "tutor", + "37373", + "26036", + "8", + "MasterySection", + "37373", + null, + "208301", + "4986.0", + "17160", + "107869", + null, + "21", + "0", + "144931507", + "0.361323", + "0.0", + "0.336529", + "0.442968" + ], + [ + "7", + "138367797", + "Equation Solving Two or Fewer Steps", + "87699", + "78401", + "581453", + "49019", + "2012-10-16 10:30:54", + "2012-10-16 10:31:55.445", + "algebra", + "1", + "1.0", + "0.0", + "0", + "--- \n- - start\n - 1350397854148\n - \"1018799\"\n- - answer\n - 61439\n - true\n - \"-4\"\n - \n- - end\n", + "1", + "61439", + "tutor", + "64094", + "23283", + "1365", + "LinearSection", + "64094", + "311.0", + "49343", + "5056.0", + "61439", + "46279", + null, + "-4", + "0", + "138367797", + "0.361323", + "0.0", + "0.766925", + "0.0" + ], + [ + "8", + "138657569", + "Equation Solving Two or Fewer Steps", + "88297", + "78409", + "588928", + "49605", + "2012-10-23 12:54:46", + "2012-10-23 12:55:13.919", + "algebra", + "1", + "1.0", + "0.0", + "0", + "--- \n- - start\n - 1351011286536\n - \"1042876\"\n- - answer\n - 27913\n - true\n - \"1\"\n - \n- - end\n", + "1", + "27913", + "tutor", + "68314", + "23283", + "1180", + "LinearSection", + "68314", + "311.0", + "49343", + "5056.0", + "27913", + "30833", + null, + "1", + "0", + "138657569", + "0.361323", + "0.0", + "0.766925", + "0.0" + ], + [ + "9", + "140668758", + null, + "41071", + "78409", + "639334", + "29216", + "2013-01-07 13:39:57", + "2013-01-07 13:42:01.167", + "algebra", + "1", + "0.0", + "0.0", + "0", + "--- \n- - start\n - 1357583997873\n - \"196903\"\n- - answer\n - 124162\n - false\n - \"38\"\n - \n- - end\n", + "1", + "124162", + "tutor", + "9232", + "23283", + "36", + "RandomChildOrderSection", + "9232", + null, + "49343", + "5056.0", + "124162", + "29216", + null, + "38", + "0", + "140668758", + "0.361323", + "0.0", + "0.766925", + "0.0" + ] + ], + "shape": { + "columns": 35, + "rows": 10 + } + }, + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
problem_log_idskillproblem_iduser_idassignment_idassistment_idstart_timeend_timeproblem_typeoriginal...overlap_timetemplate_idanswer_idanswer_textfirst_actionproblemlogidAverage_confidence(FRUSTRATED)Average_confidence(CONFUSED)Average_confidence(CONCENTRATING)Average_confidence(BORED)
0137792159NaN557460613945657363415112012-09-28 15:11:272012-09-28 15:11:36.856choose_11...9852341511NaNshe01377921590.3613230.00.3365290.000000
1138083797Rounding365981613945738192040432012-10-09 11:01:522012-10-09 11:02:13.182algebra1...21175204043NaN74.2901380837970.3613230.00.7669250.000000
2142332619Multiplication and Division Integers426415613947341302475252013-03-07 10:53:202013-03-07 10:53:28.661algebra1...8645247525NaN0001423326190.3613230.00.7669250.442968
3145939397Proportion8668661394821352480812013-08-20 19:54:562013-08-20 19:55:21.753algebra1...2572846362NaN3.801459393970.7750000.00.7669250.912281
4137111284NaN399669765925572162278692012-09-10 17:20:102012-09-10 17:24:56.579choose_11...286578227869NaNC (wr - 1)(wr + 1)01371112840.3613230.00.7669250.000000
5140218191Exponents401234765926397112289962012-12-12 21:00:552012-12-12 21:01:07.536algebra1...12522129499NaN102401402181910.3613230.00.7669250.000000
6144931507NaN403690779668026912310522013-05-17 07:31:512013-05-17 07:32:08.175algebra1...17160107869NaN2101449315070.3613230.00.3365290.442968
7138367797Equation Solving Two or Fewer Steps8769978401581453490192012-10-16 10:30:542012-10-16 10:31:55.445algebra1...6143946279NaN-401383677970.3613230.00.7669250.000000
8138657569Equation Solving Two or Fewer Steps8829778409588928496052012-10-23 12:54:462012-10-23 12:55:13.919algebra1...2791330833NaN101386575690.3613230.00.7669250.000000
9140668758NaN4107178409639334292162013-01-07 13:39:572013-01-07 13:42:01.167algebra1...12416229216NaN3801406687580.3613230.00.7669250.000000
\n", + "

10 rows × 35 columns

\n", + "
" + ], + "text/plain": [ + " problem_log_id skill problem_id user_id \\\n", + "0 137792159 NaN 557460 61394 \n", + "1 138083797 Rounding 365981 61394 \n", + "2 142332619 Multiplication and Division Integers 426415 61394 \n", + "3 145939397 Proportion 86686 61394 \n", + "4 137111284 NaN 399669 76592 \n", + "5 140218191 Exponents 401234 76592 \n", + "6 144931507 NaN 403690 77966 \n", + "7 138367797 Equation Solving Two or Fewer Steps 87699 78401 \n", + "8 138657569 Equation Solving Two or Fewer Steps 88297 78409 \n", + "9 140668758 NaN 41071 78409 \n", + "\n", + " assignment_id assistment_id start_time end_time \\\n", + "0 565736 341511 2012-09-28 15:11:27 2012-09-28 15:11:36.856 \n", + "1 573819 204043 2012-10-09 11:01:52 2012-10-09 11:02:13.182 \n", + "2 734130 247525 2013-03-07 10:53:20 2013-03-07 10:53:28.661 \n", + "3 821352 48081 2013-08-20 19:54:56 2013-08-20 19:55:21.753 \n", + "4 557216 227869 2012-09-10 17:20:10 2012-09-10 17:24:56.579 \n", + "5 639711 228996 2012-12-12 21:00:55 2012-12-12 21:01:07.536 \n", + "6 802691 231052 2013-05-17 07:31:51 2013-05-17 07:32:08.175 \n", + "7 581453 49019 2012-10-16 10:30:54 2012-10-16 10:31:55.445 \n", + "8 588928 49605 2012-10-23 12:54:46 2012-10-23 12:55:13.919 \n", + "9 639334 29216 2013-01-07 13:39:57 2013-01-07 13:42:01.167 \n", + "\n", + " problem_type original ... overlap_time template_id answer_id \\\n", + "0 choose_1 1 ... 9852 341511 NaN \n", + "1 algebra 1 ... 21175 204043 NaN \n", + "2 algebra 1 ... 8645 247525 NaN \n", + "3 algebra 1 ... 25728 46362 NaN \n", + "4 choose_1 1 ... 286578 227869 NaN \n", + "5 algebra 1 ... 12522 129499 NaN \n", + "6 algebra 1 ... 17160 107869 NaN \n", + "7 algebra 1 ... 61439 46279 NaN \n", + "8 algebra 1 ... 27913 30833 NaN \n", + "9 algebra 1 ... 124162 29216 NaN \n", + "\n", + " answer_text first_action problemlogid \\\n", + "0 she 0 137792159 \n", + "1 74.29 0 138083797 \n", + "2 00 0 142332619 \n", + "3 3.8 0 145939397 \n", + "4 C (wr - 1)(wr + 1) 0 137111284 \n", + "5 1024 0 140218191 \n", + "6 21 0 144931507 \n", + "7 -4 0 138367797 \n", + "8 1 0 138657569 \n", + "9 38 0 140668758 \n", + "\n", + " Average_confidence(FRUSTRATED) Average_confidence(CONFUSED) \\\n", + "0 0.361323 0.0 \n", + "1 0.361323 0.0 \n", + "2 0.361323 0.0 \n", + "3 0.775000 0.0 \n", + "4 0.361323 0.0 \n", + "5 0.361323 0.0 \n", + "6 0.361323 0.0 \n", + "7 0.361323 0.0 \n", + "8 0.361323 0.0 \n", + "9 0.361323 0.0 \n", + "\n", + " Average_confidence(CONCENTRATING) Average_confidence(BORED) \n", + "0 0.336529 0.000000 \n", + "1 0.766925 0.000000 \n", + "2 0.766925 0.442968 \n", + "3 0.766925 0.912281 \n", + "4 0.766925 0.000000 \n", + "5 0.766925 0.000000 \n", + "6 0.336529 0.442968 \n", + "7 0.766925 0.000000 \n", + "8 0.766925 0.000000 \n", + "9 0.766925 0.000000 \n", + "\n", + "[10 rows x 35 columns]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 显示数据集的前十行\n", + "data.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "696d6e94", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "object", + "type": "string" + }, + { + "name": "problem_log_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "problem_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "user_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "assignment_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "assistment_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "original", + "rawType": "float64", + "type": "float" + }, + { + "name": "correct", + "rawType": "float64", + "type": "float" + }, + { + "name": "bottom_hint", + "rawType": "float64", + "type": "float" + }, + { + "name": "hint_count", + "rawType": "float64", + "type": "float" + }, + { + "name": "attempt_count", + "rawType": "float64", + "type": "float" + }, + { + "name": "ms_first_response", + "rawType": "float64", + "type": "float" + }, + { + "name": "sequence_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "student_class_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "position", + "rawType": "float64", + "type": "float" + }, + { + "name": "base_sequence_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "skill_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "teacher_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "school_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "overlap_time", + "rawType": "float64", + "type": "float" + }, + { + "name": "template_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "answer_id", + "rawType": "float64", + "type": "float" + }, + { + "name": "first_action", + "rawType": "float64", + "type": "float" + }, + { + "name": "problemlogid", + "rawType": "float64", + "type": "float" + }, + { + "name": "Average_confidence(FRUSTRATED)", + "rawType": "float64", + "type": "float" + }, + { + "name": "Average_confidence(CONFUSED)", + "rawType": "float64", + "type": "float" + }, + { + "name": "Average_confidence(CONCENTRATING)", + "rawType": "float64", + "type": "float" + }, + { + "name": "Average_confidence(BORED)", + "rawType": "float64", + "type": "float" + } + ], + "ref": "3c4fc647-20b4-4105-be02-ec8de98107c1", + "rows": [ + [ + "count", + "6123270.0", + "6123270.0", + "6123270.0", + "6123270.0", + "6123270.0", + "6123270.0", + "6123270.0", + "6062922.0", + "6123270.0", + "6123270.0", + "6123270.0", + "6123270.0", + "6123270.0", + "6123270.0", + "6123270.0", + "2711813.0", + "6123270.0", + "6123113.0", + "6123270.0", + "6123270.0", + "8275.0", + "6123270.0", + "6123270.0", + "6123270.0", + "6123270.0", + "6123270.0", + "6123270.0" + ], + [ + "mean", + "141493235.3655302", + "368567.4847475287", + "177049.18087280163", + "677307.3506889293", + "220282.48876645975", + "0.950429590725217", + "0.6768206326031679", + "0.12004970540607318", + "0.3373478549859797", + "1.3392115650624585", + "48734.688575711996", + "66895.66758317043", + "23425.11401849012", + "74.02669031416221", + "62141.73573139842", + "193.2574937873666", + "121043.72694720305", + "6925.225019201834", + "49072.36812111829", + "208895.23934417396", + "432487.93413897284", + "0.0615186003556923", + "141493235.3655302", + "0.3894585777497562", + "0.044794872667522904", + "0.6823843247190589", + "0.25677234259569487" + ], + [ + "std", + "2693732.9396818727", + "219542.08673311444", + "31724.31430648754", + "94259.8311262128", + "139351.9445054604", + "0.21705573361060118", + "0.4674909295187386", + "0.3250196779605285", + "0.9851955660518625", + "1.056275968504611", + "267355.70013317943", + "59331.10762164501", + "1612.3406199031363", + "369.7118363843323", + "56874.4939959156", + "130.31545525172967", + "49786.44959543074", + "3314.488855568213", + "288499.17327002785", + "145822.70724976627", + "353488.5294729924", + "0.26351701446380316", + "2693732.9396818727", + "0.1027661639379561", + "0.1924792741462721", + "0.171373434605281", + "0.2862459790702973" + ], + [ + "min", + "136843143.0", + "1.0", + "21421.0", + "181456.0", + "5.0", + "0.0", + "0.0", + "0.0", + "0.0", + "0.0", + "-6767.0", + "2.0", + "11393.0", + "0.0", + "2.0", + "1.0", + "11436.0", + "1.0", + "-6767.0", + "5.0", + "1.0", + "0.0", + "136843143.0", + "0.361323", + "0.0", + "0.170732", + "0.0" + ], + [ + "25%", + "139170529.5", + "128403.0", + "171978.0", + "586357.0", + "68837.25", + "1.0", + "0.0", + "0.0", + "0.0", + "1.0", + "9436.0", + "12662.0", + "22518.0", + "4.0", + "11898.0", + "65.0", + "73055.0", + "5260.0", + "9468.0", + "52590.0", + "106049.5", + "0.0", + "139170529.5", + "0.361323", + "0.0", + "0.766925", + "0.0" + ], + [ + "50%", + "141491634.5", + "416813.0", + "179167.0", + "678564.5", + "239918.0", + "1.0", + "1.0", + "0.0", + "0.0", + "1.0", + "22331.0", + "46141.0", + "23144.0", + "12.0", + "44931.0", + "277.0", + "128501.0", + "5978.0", + "22415.0", + "239546.0", + "344282.0", + "0.0", + "141491634.5", + "0.361323", + "0.0", + "0.766925", + "0.221484" + ], + [ + "75%", + "143827249.5", + "564403.0", + "197251.0", + "767232.0", + "346683.0", + "1.0", + "1.0", + "0.0", + "0.0", + "1.0", + "54865.0", + "99013.0", + "24603.0", + "38.0", + "87112.0", + "310.0", + "156294.0", + "9394.0", + "55054.0", + "343480.0", + "738561.5", + "0.0", + "143827249.5", + "0.361323", + "0.0", + "0.766925", + "0.442968" + ], + [ + "max", + "146235670.0", + "767143.0", + "228213.0", + "833054.0", + "492589.0", + "1.0", + "1.0", + "1.0", + "14.0", + "29.0", + "345055238.0", + "208453.0", + "27386.0", + "8533.0", + "208453.0", + "1641.0", + "220523.0", + "12428.0", + "345277544.0", + "492589.0", + "1184706.0", + "2.0", + "146235670.0", + "0.867133", + "1.0", + "0.766925", + "1.0" + ] + ], + "shape": { + "columns": 27, + "rows": 8 + } + }, + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
problem_log_idproblem_iduser_idassignment_idassistment_idoriginalcorrectbottom_hinthint_countattempt_count...school_idoverlap_timetemplate_idanswer_idfirst_actionproblemlogidAverage_confidence(FRUSTRATED)Average_confidence(CONFUSED)Average_confidence(CONCENTRATING)Average_confidence(BORED)
count6.123270e+066.123270e+066.123270e+066.123270e+066.123270e+066.123270e+066.123270e+066.062922e+066.123270e+066.123270e+06...6.123113e+066.123270e+066.123270e+068.275000e+036.123270e+066.123270e+066.123270e+066.123270e+066.123270e+066.123270e+06
mean1.414932e+083.685675e+051.770492e+056.773074e+052.202825e+059.504296e-016.768206e-011.200497e-013.373479e-011.339212e+00...6.925225e+034.907237e+042.088952e+054.324879e+056.151860e-021.414932e+083.894586e-014.479487e-026.823843e-012.567723e-01
std2.693733e+062.195421e+053.172431e+049.425983e+041.393519e+052.170557e-014.674909e-013.250197e-019.851956e-011.056276e+00...3.314489e+032.884992e+051.458227e+053.534885e+052.635170e-012.693733e+061.027662e-011.924793e-011.713734e-012.862460e-01
min1.368431e+081.000000e+002.142100e+041.814560e+055.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+00...1.000000e+00-6.767000e+035.000000e+001.000000e+000.000000e+001.368431e+083.613230e-010.000000e+001.707320e-010.000000e+00
25%1.391705e+081.284030e+051.719780e+055.863570e+056.883725e+041.000000e+000.000000e+000.000000e+000.000000e+001.000000e+00...5.260000e+039.468000e+035.259000e+041.060495e+050.000000e+001.391705e+083.613230e-010.000000e+007.669250e-010.000000e+00
50%1.414916e+084.168130e+051.791670e+056.785645e+052.399180e+051.000000e+001.000000e+000.000000e+000.000000e+001.000000e+00...5.978000e+032.241500e+042.395460e+053.442820e+050.000000e+001.414916e+083.613230e-010.000000e+007.669250e-012.214840e-01
75%1.438272e+085.644030e+051.972510e+057.672320e+053.466830e+051.000000e+001.000000e+000.000000e+000.000000e+001.000000e+00...9.394000e+035.505400e+043.434800e+057.385615e+050.000000e+001.438272e+083.613230e-010.000000e+007.669250e-014.429680e-01
max1.462357e+087.671430e+052.282130e+058.330540e+054.925890e+051.000000e+001.000000e+001.000000e+001.400000e+012.900000e+01...1.242800e+043.452775e+084.925890e+051.184706e+062.000000e+001.462357e+088.671330e-011.000000e+007.669250e-011.000000e+00
\n", + "

8 rows × 27 columns

\n", + "
" + ], + "text/plain": [ + " problem_log_id problem_id user_id assignment_id \\\n", + "count 6.123270e+06 6.123270e+06 6.123270e+06 6.123270e+06 \n", + "mean 1.414932e+08 3.685675e+05 1.770492e+05 6.773074e+05 \n", + "std 2.693733e+06 2.195421e+05 3.172431e+04 9.425983e+04 \n", + "min 1.368431e+08 1.000000e+00 2.142100e+04 1.814560e+05 \n", + "25% 1.391705e+08 1.284030e+05 1.719780e+05 5.863570e+05 \n", + "50% 1.414916e+08 4.168130e+05 1.791670e+05 6.785645e+05 \n", + "75% 1.438272e+08 5.644030e+05 1.972510e+05 7.672320e+05 \n", + "max 1.462357e+08 7.671430e+05 2.282130e+05 8.330540e+05 \n", + "\n", + " assistment_id original correct bottom_hint hint_count \\\n", + "count 6.123270e+06 6.123270e+06 6.123270e+06 6.062922e+06 6.123270e+06 \n", + "mean 2.202825e+05 9.504296e-01 6.768206e-01 1.200497e-01 3.373479e-01 \n", + "std 1.393519e+05 2.170557e-01 4.674909e-01 3.250197e-01 9.851956e-01 \n", + "min 5.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "25% 6.883725e+04 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "50% 2.399180e+05 1.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 \n", + "75% 3.466830e+05 1.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 \n", + "max 4.925890e+05 1.000000e+00 1.000000e+00 1.000000e+00 1.400000e+01 \n", + "\n", + " attempt_count ... school_id overlap_time template_id \\\n", + "count 6.123270e+06 ... 6.123113e+06 6.123270e+06 6.123270e+06 \n", + "mean 1.339212e+00 ... 6.925225e+03 4.907237e+04 2.088952e+05 \n", + "std 1.056276e+00 ... 3.314489e+03 2.884992e+05 1.458227e+05 \n", + "min 0.000000e+00 ... 1.000000e+00 -6.767000e+03 5.000000e+00 \n", + "25% 1.000000e+00 ... 5.260000e+03 9.468000e+03 5.259000e+04 \n", + "50% 1.000000e+00 ... 5.978000e+03 2.241500e+04 2.395460e+05 \n", + "75% 1.000000e+00 ... 9.394000e+03 5.505400e+04 3.434800e+05 \n", + "max 2.900000e+01 ... 1.242800e+04 3.452775e+08 4.925890e+05 \n", + "\n", + " answer_id first_action problemlogid \\\n", + "count 8.275000e+03 6.123270e+06 6.123270e+06 \n", + "mean 4.324879e+05 6.151860e-02 1.414932e+08 \n", + "std 3.534885e+05 2.635170e-01 2.693733e+06 \n", + "min 1.000000e+00 0.000000e+00 1.368431e+08 \n", + "25% 1.060495e+05 0.000000e+00 1.391705e+08 \n", + "50% 3.442820e+05 0.000000e+00 1.414916e+08 \n", + "75% 7.385615e+05 0.000000e+00 1.438272e+08 \n", + "max 1.184706e+06 2.000000e+00 1.462357e+08 \n", + "\n", + " Average_confidence(FRUSTRATED) Average_confidence(CONFUSED) \\\n", + "count 6.123270e+06 6.123270e+06 \n", + "mean 3.894586e-01 4.479487e-02 \n", + "std 1.027662e-01 1.924793e-01 \n", + "min 3.613230e-01 0.000000e+00 \n", + "25% 3.613230e-01 0.000000e+00 \n", + "50% 3.613230e-01 0.000000e+00 \n", + "75% 3.613230e-01 0.000000e+00 \n", + "max 8.671330e-01 1.000000e+00 \n", + "\n", + " Average_confidence(CONCENTRATING) Average_confidence(BORED) \n", + "count 6.123270e+06 6.123270e+06 \n", + "mean 6.823843e-01 2.567723e-01 \n", + "std 1.713734e-01 2.862460e-01 \n", + "min 1.707320e-01 0.000000e+00 \n", + "25% 7.669250e-01 0.000000e+00 \n", + "50% 7.669250e-01 2.214840e-01 \n", + "75% 7.669250e-01 4.429680e-01 \n", + "max 7.669250e-01 1.000000e+00 \n", + "\n", + "[8 rows x 27 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 显示数据集的基本统计信息\n", + "data.describe()" + ] + }, + { + "cell_type": "markdown", + "id": "4ce94d86", + "metadata": {}, + "source": [ + "# 数据集中关键列的统计信息" + ] + }, + { + "cell_type": "markdown", + "id": "1bff6555", + "metadata": {}, + "source": [ + "## 数据缺失情况\n", + "下面统计原始数据中存在缺失值的列及其缺失数量。" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "e78e853e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "skill 3493190\n", + "bottom_hint 60348\n", + "skill_id 3411457\n", + "school_id 157\n", + "answer_id 6114995\n", + "answer_text 346500\n", + "dtype: int64\n" + ] + } + ], + "source": [ + "# 统计原始数据中所有存在缺失值的列\n", + "missing_values = data.isna().sum()\n", + "print(missing_values[missing_values > 0])" + ] + }, + { + "cell_type": "markdown", + "id": "81a382a7", + "metadata": {}, + "source": [ + "## 数据集原始数据量\n", + "以下数据描述了原始数据集中包含的数据数量,排除所有不具有技能ID的问题。" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "f6210928", + "metadata": {}, + "outputs": [], + "source": [ + "# 排除不具有技能ID的问题\n", + "data = data[data[\"skill_id\"].notna()]" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "151ff865", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of students: 29018\n", + "Number of questions: 53091\n", + "Number of skills: 265\n", + "Number of main questions: 47124\n", + "Number of scaffolding questions: 5967\n", + "Total answer records: 2711813\n" + ] + } + ], + "source": [ + "# 统计学生数量\n", + "num_students = data[\"user_id\"].nunique()\n", + "print(f\"Number of students: {num_students}\")\n", + "\n", + "# 统计问题数量\n", + "num_questions = data[\"problem_id\"].nunique()\n", + "print(f\"Number of questions: {num_questions}\")\n", + "\n", + "# 统计技能数量\n", + "num_skills = data[\"skill_id\"].dropna().nunique()\n", + "print(f\"Number of skills: {num_skills}\")\n", + "\n", + "# 主问题数量\n", + "num_main_questions = data[data[\"original\"] == 1][\"problem_id\"].nunique()\n", + "print(f\"Number of main questions: {num_main_questions}\")\n", + "\n", + "# 支撑问题数量\n", + "num_scaffolding_questions = data[data[\"original\"] == 0][\"problem_id\"].nunique()\n", + "print(f\"Number of scaffolding questions: {num_scaffolding_questions}\")\n", + "\n", + "# 总答题记录数\n", + "total_records = len(data)\n", + "print(f\"Total answer records: {total_records}\")" + ] + }, + { + "cell_type": "markdown", + "id": "3cb157bc", + "metadata": {}, + "source": [ + "# 统计数据量\n", + "以下数据通过一些统计量来描述数据集的结构。" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "a0acf64d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average attempts per student: 93.45\n", + "Average number of questions per skill: 200.34\n" + ] + } + ], + "source": [ + "# 平均每个学生的答题次数\n", + "avg_attempts_per_student = data.groupby(\"user_id\")[\"problem_id\"].count().mean()\n", + "print(f\"Average attempts per student: {avg_attempts_per_student:.2f}\")\n", + "\n", + "# 每个技能平均与多少个问题相关\n", + "skill_question_counts = data.groupby(\"skill_id\")[\"problem_id\"].nunique().mean()\n", + "print(f\"Average number of questions per skill: {skill_question_counts:.2f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "e60f5fbd", + "metadata": {}, + "source": [ + "# 其他列的分析\n", + "\n", + "- 技能信息\n", + "- 主问题和支撑问题\n", + "- 首次操作类型\n", + "- 题目的答案类型\n", + "- 导师模式分布\n", + "- 情绪状态预测" + ] + }, + { + "cell_type": "markdown", + "id": "e9bd1b30", + "metadata": {}, + "source": [ + "### 技能 (skill_id, skill)\n", + "与2009数据集不同,2012数据集中的技能信息可能包含多个技能(用逗号分隔)。" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "2706160e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total unique skills: 0\n", + "Number of questions without associated skills: 0\n", + "Number of answer records without skills: 0\n", + "Percentage: 0.00%\n" + ] + } + ], + "source": [ + "# 技能的数量\n", + "all_skills = set()\n", + "for skill_ids in data[\"skill_id\"].dropna():\n", + " if isinstance(skill_ids, str):\n", + " skills = skill_ids.split(',')\n", + " all_skills.update(skills)\n", + "print(f\"Total unique skills: {len(all_skills)}\")\n", + "\n", + "# 筛选出没有关联技能的问题\n", + "questions_without_skills = data[data[\"skill_id\"].isnull()][\"problem_id\"].unique()\n", + "print(f\"Number of questions without associated skills: {len(questions_without_skills)}\")\n", + "\n", + "# 答题记录没有技能的数量\n", + "records_without_skills = data[data[\"skill_id\"].isnull()].shape[0]\n", + "print(f\"Number of answer records without skills: {records_without_skills}\")\n", + "print(f\"Percentage: {records_without_skills / len(data) * 100:.2f}%\")" + ] + }, + { + "cell_type": "markdown", + "id": "019c3de9", + "metadata": {}, + "source": [ + "### 主问题和支撑问题 (original)\n", + "- 主问题:1\n", + "- 支撑问题:0" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "ee639a42", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total main questions: 47124\n", + "Total main question records: 2623624\n", + "Total scaffolding questions: 5967\n", + "Total scaffolding question records: 88189\n" + ] + } + ], + "source": [ + "# 选择所有的主问题\n", + "main_questions = data[data[\"original\"] == 1][\"problem_id\"].unique()\n", + "print(f\"Total main questions: {len(main_questions)}\")\n", + "main_records = data[data[\"original\"] == 1].shape[0]\n", + "print(f\"Total main question records: {main_records}\")\n", + "\n", + "# 选择所有的支撑问题\n", + "scaffolding_questions = data[data[\"original\"] == 0][\"problem_id\"].unique()\n", + "print(f\"Total scaffolding questions: {len(scaffolding_questions)}\")\n", + "scaffolding_records = data[data[\"original\"] == 0].shape[0]\n", + "print(f\"Total scaffolding question records: {scaffolding_records}\")" + ] + }, + { + "cell_type": "markdown", + "id": "bea921c3", + "metadata": {}, + "source": [ + "### 首次操作的类型 (first_action)\n", + "统计学生首次操作的类型分布。" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "615d5097", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "First action types in the dataset: [0 2 1]\n", + "\n", + "First action distribution:\n", + "first_action\n", + "0 2586157\n", + "1 110829\n", + "2 14827\n", + "Name: count, dtype: int64\n" + ] + } + ], + "source": [ + "# 首次操作的类型\n", + "first_action_types = data[\"first_action\"].dropna().unique()\n", + "print(\"First action types in the dataset:\", first_action_types)\n", + "\n", + "# 首次操作类型的分布\n", + "first_action_counts = data[\"first_action\"].value_counts()\n", + "print(\"\\nFirst action distribution:\")\n", + "print(first_action_counts)" + ] + }, + { + "cell_type": "markdown", + "id": "5b39eb1c", + "metadata": {}, + "source": [ + "### 题目的答案类型 (problem_type)\n", + "统计不同答案类型的题目数量。" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "423ac5c5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Answer types in the dataset: ['algebra' 'fill_in_1' 'choose_1' 'choose_n' 'rank' 'open_response']\n", + "algebra questions: 31379\n", + "fill_in_1 questions: 10828\n", + "choose_1 questions: 10616\n", + "choose_n questions: 181\n", + "rank questions: 44\n", + "open_response questions: 43\n" + ] + } + ], + "source": [ + "# 题目的答案类型\n", + "answer_type = data[\"problem_type\"].dropna().unique()\n", + "print(\"Answer types in the dataset:\", answer_type)\n", + "\n", + "# 每个类型的题目数量分布\n", + "answer_type_counts = {}\n", + "for atype in answer_type:\n", + " count = data[data[\"problem_type\"] == atype][\"problem_id\"].nunique()\n", + " answer_type_counts[atype] = count\n", + " print(f\"{atype} questions: {count}\")" + ] + }, + { + "cell_type": "markdown", + "id": "31e32aa2", + "metadata": {}, + "source": [ + "### 导师模式 (tutor_mode)\n", + "统计导师模式的分布情况。" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "63403295", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tutor mode distribution:\n", + "tutor_mode\n", + "tutor 2711097\n", + "test 716\n", + "Name: count, dtype: int64\n", + "\n", + "Percentage of tutor mode:\n", + "tutor_mode\n", + "tutor 99.973597\n", + "test 0.026403\n", + "Name: count, dtype: float64\n" + ] + } + ], + "source": [ + "# 导师模式的分布\n", + "tutor_mode_counts = data[\"tutor_mode\"].value_counts()\n", + "print(\"Tutor mode distribution:\")\n", + "print(tutor_mode_counts)\n", + "print(f\"\\nPercentage of tutor mode:\")\n", + "print(tutor_mode_counts / len(data) * 100)" + ] + }, + { + "cell_type": "markdown", + "id": "8ae94ab5", + "metadata": {}, + "source": [ + "### 情绪状态预测\n", + "2012数据集包含了四种情绪状态的置信度预测:挫败、困惑、专注和无聊。" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "5dd39694", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Emotion prediction statistics:\n", + "\n", + "Average_confidence(FRUSTRATED):\n", + " Mean: 0.3895\n", + " Std: 0.1028\n", + " Min: 0.3613\n", + " Max: 0.8671\n", + " Missing: 0\n", + "\n", + "Average_confidence(CONFUSED):\n", + " Mean: 0.0448\n", + " Std: 0.1925\n", + " Min: 0.0000\n", + " Max: 1.0000\n", + " Missing: 0\n", + "\n", + "Average_confidence(CONCENTRATING):\n", + " Mean: 0.6824\n", + " Std: 0.1714\n", + " Min: 0.1707\n", + " Max: 0.7669\n", + " Missing: 0\n", + "\n", + "Average_confidence(BORED):\n", + " Mean: 0.2568\n", + " Std: 0.2862\n", + " Min: 0.0000\n", + " Max: 1.0000\n", + " Missing: 0\n" + ] + } + ], + "source": [ + "# 情绪状态预测的统计信息\n", + "emotion_columns = ['Average_confidence(FRUSTRATED)', 'Average_confidence(CONFUSED)', \n", + " 'Average_confidence(CONCENTRATING)', 'Average_confidence(BORED)']\n", + "\n", + "print(\"Emotion prediction statistics:\")\n", + "for col in emotion_columns:\n", + " if col in data.columns:\n", + " print(f\"\\n{col}:\")\n", + " print(f\" Mean: {data[col].mean():.4f}\")\n", + " print(f\" Std: {data[col].std():.4f}\")\n", + " print(f\" Min: {data[col].min():.4f}\")\n", + " print(f\" Max: {data[col].max():.4f}\")\n", + " print(f\" Missing: {data[col].isnull().sum()}\")" + ] + }, + { + "cell_type": "markdown", + "id": "7c7bb272", + "metadata": {}, + "source": [ + "### 复制的习题集数量" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "4b26d9a7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of copy sequences: 2291\n", + "Total records from copied sequences: 1116621\n" + ] + } + ], + "source": [ + "# 复制的习题集\n", + "different_sequence = data[data[\"sequence_id\"] != data[\"base_sequence_id\"]]\n", + "print(f\"Number of copy sequences: {different_sequence['sequence_id'].nunique()}\")\n", + "print(f\"Total records from copied sequences: {len(different_sequence)}\")" + ] + }, + { + "cell_type": "markdown", + "id": "ad225f46", + "metadata": {}, + "source": [ + "# 数据结构可视化\n", + "这一板块中包含了对数据集中重要数据的可视化代码和结果。\n", + "\n", + "- 每个技能关联的问题数量\n", + "- 学生的答题次数分布图\n", + "- 问题类型分布图\n", + "- 整体答题正确率分布图\n", + "- 情绪状态分布图\n", + "- 导师模式分布图" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "4b4cb7a8", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIjCAYAAAAJLyrXAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVIVJREFUeJzt3XlYVeXe//HPRtwoMYmIiCLiPA9ZKo+mlCQOZZqe0qycLY9ZaieLMqfqaDaomal1yilNrafUU2k5D4mWFpmmHPU4VIqzImIocP/+6Md+3ALKwo17o+/Xde3rcq373mt917CRD2ute9uMMUYAAAAAgHzzcncBAAAAAFDUEKQAAAAAwCKCFAAAAABYRJACAAAAAIsIUgAAAABgEUEKAAAAACwiSAEAAACARQQpAAAAALCIIAUAAAAAFhGkABSq0aNHy2az3ZB1xcTEKCYmxjG9du1a2Ww2ffbZZzdk/b169VKlSpVuyLoKKjU1Vf369VNYWJhsNpuGDBni7pIKJCYmRnXr1nV3Gfk2d+5c1axZU8WLF1dQUJC7yylUN/Izf7Oz2Wx66qmnrtrnwIEDstlsmjVrlmNebsegUqVK6tWrVyFUCdy6CFIA8m3WrFmy2WyOV4kSJRQeHq64uDi98847OnfunEvWc/jwYY0ePVqJiYkuWZ4reXJt+fHPf/5Ts2bN0sCBAzV37lw99thjefatVKmSbDabBg8enKPtRofUomz37t3q1auXqlSpog8++EDvv//+Nd/z3XffqXPnzipbtqx8fHxUqVIlPfnkk/rtt99uQMXXlpaWptGjR2vt2rXuLqVI+uWXX9S1a1dFRkaqRIkSKl++vO69915NmTLF3aUBsMDb3QUAKHrGjh2rqKgoXbp0ScnJyVq7dq2GDBmit99+W0uXLlX9+vUdfUeMGKEXXnjB0vIPHz6sMWPGqFKlSmrYsGG+3/ftt99aWk9BXK22Dz74QFlZWYVew/VYvXq1mjVrplGjRuX7PR988IHi4+MVHh5eiJXdvNauXausrCxNnjxZVatWvWb/KVOm6JlnnlHlypU1ePBglStXTrt27dK//vUvLVy4UMuWLVOzZs1uQOV5S0tL05gxYyTJ6SqwVLDP/K1k06ZNuvvuu1WxYkX1799fYWFh+u2337R582ZNnjw51z9cXE1kZKQuXLig4sWLF1LFAPJCkAJgWbt27XTHHXc4puPj47V69Wrdd9996tixo3bt2qWSJUtKkry9veXtXbg/atLS0uTr6yu73V6o67mWovCLzLFjx1S7du18969Tp46SkpI0fvx4vfPOO4VYmefJysrSxYsXVaJEietazrFjxyQpX7f0fffddxoyZIhatGih5cuXy9fX19E2cOBANW/eXF26dNHOnTs99hbBG/GZ93Tnz5/Xbbfdlmvba6+9psDAQP3www85jmH2uWJF9t0BAG48bu0D4BL33HOPXn75ZR08eFAff/yxY35u9+qvWLFCLVq0UFBQkPz8/FSjRg29+OKLkv766/2dd94pSerdu7fjNsLs+/+zn43Ztm2bWrZsKV9fX8d7r3xGKltmZqZefPFFhYWF6bbbblPHjh1z3CKV1/MDly/zWrXl9ozU+fPn9eyzzyoiIkI+Pj6qUaOG3nzzTRljnPplPwuxePFi1a1bVz4+PqpTp46WL1+e+w6/wrFjx9S3b1+VLVtWJUqUUIMGDTR79mxHe/atePv379dXX33lqP3AgQNXXW6lSpX0+OOP64MPPtDhw4ev2jevZ8RyOweyt/fTTz9V7dq1VbJkSUVHR+uXX36RJM2YMUNVq1ZViRIlFBMTk2ed27Zt0//8z/+oZMmSioqK0vTp03P0SU9P16hRo1S1alX5+PgoIiJCw4cPV3p6eq41zZs3T3Xq1JGPj8819/97773n6BseHq5BgwbpzJkzjvZKlSo5rv6VKVNGNptNo0ePznN5r7zyimw2m2bPnu0UoiSpSpUqmjBhgg4fPux0e2Be531uxyMrK0uTJk1SnTp1VKJECZUtW1ZPPPGETp8+7dRv69atiouLU0hIiGPf9unTR9Jfz+SUKVNGkjRmzBjHuZS9Xbkd74yMDL3yyiuqUqWK41bFF198MccxqFSpku677z5t3LhRTZo0UYkSJVS5cmXNmTPHqd+lS5c0ZswYVatWTSVKlFDp0qXVokULrVixIs99K/3f7cnr16/XE088odKlSysgIECPP/54jn0gScuWLdNdd92l2267Tf7+/urQoYN27tyZYz/7+flp3759at++vfz9/dWjR488a9i3b5/q1KmTaxAODQ29av2S9Oqrr8rLy8txG2Buz0gBuDEIUgBcJvt5m6vdYrdz507dd999Sk9P19ixY/XWW2+pY8eO+u677yRJtWrV0tixYyVJAwYM0Ny5czV37ly1bNnSsYyTJ0+qXbt2atiwoSZNmqS77777qnW99tpr+uqrr/T888/r6aef1ooVKxQbG6sLFy5Y2r781HY5Y4w6duyoiRMnqm3btnr77bdVo0YNPffccxo2bFiO/hs3btTf//53devWTRMmTNCff/6pLl266OTJk1et68KFC4qJidHcuXPVo0cPvfHGGwoMDFSvXr00efJkR+1z585VSEiIGjZs6Kg9+xfiq3nppZeUkZGh8ePHX7OvFRs2bNCzzz6rnj17avTo0dq1a5fuu+8+TZ06Ve+8847+/ve/67nnnlNCQoLjl/jLnT59Wu3bt1fjxo01YcIEVahQQQMHDtRHH33k6JOVlaWOHTvqzTff1P33368pU6aoU6dOmjhxoh5++OEcy1y9erWGDh2qhx9+WJMnT77q4CGjR4/WoEGDFB4errfeektdunTRjBkz1KZNG126dEmSNGnSJHXu3FmSNG3aNM2dO1cPPvhgrstLS0vTqlWrdNdddykqKirXPg8//LB8fHz073//O8+6ruaJJ57Qc889p+bNm2vy5Mnq3bu35s2bp7i4OEfNx44dU5s2bXTgwAG98MILmjJlinr06KHNmzdL+isQTps2TZLUuXNnx7mU13ZJUr9+/TRy5Ejdfvvtmjhxolq1aqVx48apW7duOfru3btXXbt21b333qu33npLpUqVUq9evZwCzOjRozVmzBjdfffdevfdd/XSSy+pYsWK+vHHH/O1H5566int2rVLo0eP1uOPP6558+apU6dOTn/gmDt3rjp06CA/Pz+9/vrrevnll/Xrr7+qRYsWOYJ9RkaG4uLiFBoaqjfffFNdunTJc92RkZHatm2bduzYka9aLzdixAiNHDlSM2bMsHwLIIBCYAAgn2bOnGkkmR9++CHPPoGBgaZRo0aO6VGjRpnLf9RMnDjRSDLHjx/Pcxk//PCDkWRmzpyZo61Vq1ZGkpk+fXquba1atXJMr1mzxkgy5cuXNykpKY75ixYtMpLM5MmTHfMiIyNNz549r7nMq9XWs2dPExkZ6ZhevHixkWReffVVp35du3Y1NpvN7N271zFPkrHb7U7zfv75ZyPJTJkyJce6Ljdp0iQjyXz88ceOeRcvXjTR0dHGz8/PadsjIyNNhw4drrq83Pr27t3blChRwhw+fNgY83/79tNPP81z+7NdeQ5kb6+Pj4/Zv3+/Y96MGTOMJBMWFuZUc3x8vJHk1Df7PHjrrbcc89LT003Dhg1NaGiouXjxojHGmLlz5xovLy+zYcMGp/VPnz7dSDLfffedU01eXl5m586d19w3x44dM3a73bRp08ZkZmY65r/77rtGkvnoo49ybP/VznljjElMTDSSzDPPPHPVfvXr1zfBwcGO6SvP0WxXHo8NGzYYSWbevHlO/ZYvX+40/4svvrjm5/z48eNGkhk1alSOtiuPd/Z29evXz6nfP/7xDyPJrF692jEvMjLSSDLr1693zDt27Jjx8fExzz77rGNegwYN8n0eXy77Z1jjxo0d54gxxkyYMMFIMkuWLDHGGHPu3DkTFBRk+vfv7/T+5ORkExgY6DS/Z8+eRpJ54YUX8lXDt99+a4oVK2aKFStmoqOjzfDhw80333zjVE82SWbQoEHGGGOeffZZ4+XlZWbNmuXUZ//+/Tl+JuX2mcvrZxyAguOKFACX8vPzu+rofdm3syxZsqTAAzP4+Piod+/e+e7/+OOPy9/f3zHdtWtXlStXTl9//XWB1p9fX3/9tYoVK6ann37aaf6zzz4rY4yWLVvmND82NlZVqlRxTNevX18BAQH673//e831hIWFqXv37o55xYsX19NPP63U1FStW7fuurdlxIgRLr8q1bp1a6crPk2bNpUkdenSxel4Zc+/cj94e3vriSeecEzb7XY98cQTOnbsmLZt2yZJ+vTTT1WrVi3VrFlTJ06ccLzuueceSdKaNWucltmqVat8PUO2cuVKXbx4UUOGDJGX1//9V9q/f38FBAToq6++ys8ucJL9ubl823Pj7+9foBEyP/30UwUGBuree+912heNGzeWn5+fY19kf0a//PJLx1Wq65H9ObvyKuyzzz4rSTn2Ve3atXXXXXc5psuUKaMaNWo4Hf+goCDt3LlTe/bsKVBNAwYMcHqmceDAgfL29nbUumLFCp05c0bdu3d32lfFihVT06ZNc5w32cvIj3vvvVcJCQnq2LGjfv75Z02YMEFxcXEqX768li5dmqO/MUZPPfWUJk+erI8//lg9e/Ys0DYDcD2CFACXSk1Nveovgg8//LCaN2+ufv36qWzZsurWrZsWLVpkKVSVL1/e0sAS1apVc5q22WyqWrXqNZ8Pul4HDx5UeHh4jv1Rq1YtR/vlKlasmGMZpUqVyvXZjSvXU61aNadf6K+2noKoXLmyHnvsMb3//vs6cuTIdS9Pyrm9gYGBkqSIiIhc51+5H8LDw3M80F+9enVJchzbPXv2aOfOnSpTpozTK7vflQ/353VL3ZWy92mNGjWc5tvtdlWuXLlA+zz7PLlWSDp37ly+nqW50p49e3T27FmFhobm2B+pqamOfdGqVSt16dJFY8aMUUhIiB544AHNnDkzx/NM+XXw4EF5eXnlGLEwLCxMQUFBBfocjB07VmfOnFH16tVVr149Pffcc9q+fXu+a7ryZ4Kfn5/KlSvndN5Ifz37eeW++vbbb3OcN97e3qpQoUK+13/nnXfq888/1+nTp/X9998rPj5e586dU9euXfXrr7869Z0zZ46mTp2qKVOmOP2xBID73drD6gBwqd9//11nz5696hDPJUuW1Pr167VmzRp99dVXWr58uRYuXKh77rlH3377rYoVK3bN9WSPCOhKeX2BaGZmZr5qcoW81mOuGJjCXV566SXNnTtXr7/+ujp16pSj/Wr7MDd5ba8r90NWVpbq1aunt99+O9f2K0NbYZxb+VWtWjV5e3tfNRCkp6crKSlJTZo0ccyz2Wy57psr93tWVpZCQ0M1b968XJed/bxc9veDbd68Wf/+97/1zTffqE+fPnrrrbe0efNm+fn5FWTz8v0lvfk5/i1bttS+ffu0ZMkSffvtt/rXv/6liRMnavr06erXr1+B6rtc9h925s6dq7CwsBztV45K6OPjk+MPGflht9t155136s4771T16tXVu3dvffrpp05fT9C8eXMlJibq3Xff1UMPPaTg4GDL6wFQOAhSAFxm7ty5kqS4uLir9vPy8lLr1q3VunVrvf322/rnP/+pl156SWvWrFFsbGy+f+HKrytv/zHGaO/evU7fd1WqVCmn0dayHTx4UJUrV3ZMW6ktMjJSK1eu1Llz55yuSu3evdvR7gqRkZHavn27srKynH6Zc/V6qlSpokcffVQzZsxw3G53uavtw8Jw+PDhHMNM/+c//5Ekxy2DVapU0c8//6zWrVu79LzK3qdJSUlO58fFixe1f/9+xcbGWl6mr6+vWrdurZUrV+rgwYO5HrdFixYpPT1df/vb3xzzSpUqlevtn1fu9ypVqmjlypVq3rx5vgJjs2bN1KxZM7322muaP3++evTooQULFqhfv36WPwdZWVnas2eP4yqpJB09elRnzpwp8PkZHBys3r17q3fv3kpNTVXLli01evTofAWpPXv2OA1Sk5qaqiNHjqh9+/aS5LjFNjQ0tEDHsiCyv1Liyiu+VatW1YQJExQTE6O2bdtq1apV17z9E8CNwa19AFxi9erVeuWVVxQVFXXVoX9PnTqVY172F9tm3zqU/Ytxbr+UF8ScOXOcbpf67LPPdOTIEbVr184xr0qVKtq8ebMuXrzomPfll1/mGCbdSm3t27dXZmam3n33Xaf5EydOlM1mc1r/9Wjfvr2Sk5O1cOFCx7yMjAxNmTJFfn5+atWqlUvWI/31rNSlS5c0YcKEHG1VqlTR2bNnna6oHDlyRF988YXL1n+5jIwMzZgxwzF98eJFzZgxQ2XKlFHjxo0lSQ899JD++OMPffDBBznef+HCBZ0/f75A646NjZXdbtc777zjdKXkww8/1NmzZ9WhQ4cCLXfEiBEyxqhXr145RpXcv3+/hg8froiICMcImdJf+3337t06fvy4Y97PP//sGAkz20MPPaTMzEy98sorOdabkZHhOKdPnz6d4wrXlZ/R7KHZ8/s5kP4awfBy2VcJC7KvrhzJ0s/PT1WrVs337Yfvv/++0/Nf06ZNU0ZGhuMzGRcXp4CAAP3zn//M9Tmxy/e1VWvWrMn1CmL281lX3i4q/fW85Ndff61du3bp/vvvtzziKIDCwRUpAJYtW7ZMu3fvVkZGho4eParVq1drxYoVioyM1NKlS6/65ZBjx47V+vXr1aFDB0VGRurYsWN67733VKFCBbVo0ULSX78YBgUFafr06fL399dtt92mpk2b5vv5lSsFBwerRYsW6t27t44ePapJkyapatWq6t+/v6NPv3799Nlnn6lt27Z66KGHtG/fPn388cdOgz9Yre3+++/X3XffrZdeekkHDhxQgwYN9O2332rJkiUaMmRIjmUX1IABAzRjxgz16tVL27ZtU6VKlfTZZ5/pu+++06RJk1z61+vsq1KXf0dVtm7duun5559X586d9fTTTystLU3Tpk1T9erV8z0stRXh4eF6/fXXdeDAAVWvXl0LFy5UYmKi3n//fcdAAo899pgWLVqkJ598UmvWrFHz5s2VmZmp3bt3a9GiRfrmm2+cvlw6v8qUKaP4+HiNGTNGbdu2VceOHZWUlKT33ntPd955px599NECbVOLFi00ceJEDRkyRPXr11evXr1Urlw57d69Wx988IG8vLy0ePFip+8g6tOnj95++23FxcWpb9++OnbsmKZPn646deooJSXF0a9Vq1Z64oknNG7cOCUmJqpNmzYqXry49uzZo08//VSTJ09W165dNXv2bL333nvq3LmzqlSponPnzumDDz5QQECAIxSVLFlStWvX1sKFC1W9enUFBwerbt26qlu3bo5tatCggXr27Kn3339fZ86cUatWrfT9999r9uzZ6tSp0zW/viA3tWvXVkxMjBo3bqzg4GBt3bpVn332mZ566ql8vf/ixYtq3bq1HnroIcdxa9GihTp27ChJCggI0LRp0/TYY4/p9ttvV7du3VSmTBkdOnRIX331lZo3b57jDyT5NXjwYKWlpalz586qWbOmLl68qE2bNmnhwoWqVKlSngPpNGvWTEuWLFH79u3VtWtXLV68uEh8CThwU3PTaIEAiqDsoYOzX3a73YSFhZl7773XTJ482WnI6mxXDsO7atUq88ADD5jw8HBjt9tNeHi46d69u/nPf/7j9L4lS5aY2rVrG29vb6ehfVu1amXq1KmTa315DX/+ySefmPj4eBMaGmpKlixpOnToYA4ePJjj/W+99ZYpX7688fHxMc2bNzdbt27NdWjpvGrLbfjvc+fOmaFDh5rw8HBTvHhxU61aNfPGG2+YrKwsp366bJjjy+V3yOKjR4+a3r17m5CQEGO32029evVyHaK9oMOfX27Pnj2mWLFiOYY/N+avoZ3r1q1r7Ha7qVGjhvn444/zHP78yu3NHsb5jTfecJqf21Dr2efB1q1bTXR0tClRooSJjIw07777bo56L168aF5//XVTp04d4+PjY0qVKmUaN25sxowZY86ePXvVmq7l3XffNTVr1jTFixc3ZcuWNQMHDjSnT5926pPf4c8vt2HDBvPAAw+YkJAQY7PZjCQTGhpqjhw5kmv/jz/+2FSuXNnY7XbTsGFD88033+Q5HP37779vGjdubEqWLGn8/f1NvXr1zPDhwx1D2//444+me/fupmLFisbHx8eEhoaa++67z2zdutVpOZs2bTKNGzc2drvdaSj03I73pUuXzJgxY0xUVJQpXry4iYiIMPHx8ebPP/906pfXOXfl5/DVV181TZo0MUFBQaZkyZKmZs2a5rXXXst1CPHLZf8MW7dunRkwYIApVaqU8fPzMz169DAn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SpKGDRumnj176o477lCTJk00adIknT9/3jGKHwAAAAC40k0RpB5++GEdP35cI0eOVHJysho2bKjly5erbNmy7i7NMh8fH40aNSrHrYe4Mdj/7sX+dz+OgXux/92L/e9e7H/34xhYU+RH7QMAAACAG63IPyMFAAAAADcaQQoAAAAALCJIAQAAAIBFBCkAAAAAsIgg5UGmTp2qSpUqqUSJEmratKm+//57d5d0Uxg9erRsNpvTq2bNmo72P//8U4MGDVLp0qXl5+enLl265PiC50OHDqlDhw7y9fVVaGionnvuOWVkZNzoTSkS1q9fr/vvv1/h4eGy2WxavHixU7sxRiNHjlS5cuVUsmRJxcbGas+ePU59Tp06pR49eiggIEBBQUHq27evUlNTnfps375dd911l0qUKKGIiAhNmDChsDetyLjWMejVq1eOz0Tbtm2d+nAMCmbcuHG688475e/vr9DQUHXq1ElJSUlOfVz1M2ft2rW6/fbb5ePjo6pVq2rWrFmFvXlFQn6OQUxMTI7PwJNPPunUh2NQMNOmTVP9+vUdX+gaHR2tZcuWOdo5/wvXtfY/576LGXiEBQsWGLvdbj766COzc+dO079/fxMUFGSOHj3q7tKKvFGjRpk6deqYI0eOOF7Hjx93tD/55JMmIiLCrFq1ymzdutU0a9bM/M///I+jPSMjw9StW9fExsaan376yXz99dcmJCTExMfHu2NzPN7XX39tXnrpJfP5558bSeaLL75wah8/frwJDAw0ixcvNj///LPp2LGjiYqKMhcuXHD0adu2rWnQoIHZvHmz2bBhg6latarp3r27o/3s2bOmbNmypkePHmbHjh3mk08+MSVLljQzZsy4UZvp0a51DHr27Gnatm3r9Jk4deqUUx+OQcHExcWZmTNnmh07dpjExETTvn17U7FiRZOamuro44qfOf/973+Nr6+vGTZsmPn111/NlClTTLFixczy5ctv6PZ6ovwcg1atWpn+/fs7fQbOnj3raOcYFNzSpUvNV199Zf7zn/+YpKQk8+KLL5rixYubHTt2GGM4/wvbtfY/575rEaQ8RJMmTcygQYMc05mZmSY8PNyMGzfOjVXdHEaNGmUaNGiQa9uZM2dM8eLFzaeffuqYt2vXLiPJJCQkGGP++qXUy8vLJCcnO/pMmzbNBAQEmPT09EKtvai78pf4rKwsExYWZt544w3HvDNnzhgfHx/zySefGGOM+fXXX40k88MPPzj6LFu2zNhsNvPHH38YY4x57733TKlSpZz2//PPP29q1KhRyFtU9OQVpB544IE838MxcJ1jx44ZSWbdunXGGNf9zBk+fLipU6eO07oefvhhExcXV9ibVORceQyM+euXyWeeeSbP93AMXKtUqVLmX//6F+e/m2Tvf2M4912NW/s8wMWLF7Vt2zbFxsY65nl5eSk2NlYJCQlurOzmsWfPHoWHh6ty5crq0aOHDh06JEnatm2bLl265LTva9asqYoVKzr2fUJCgurVq+f0Bc9xcXFKSUnRzp07b+yGFHH79+9XcnKy0/4ODAxU06ZNnfZ3UFCQ7rjjDkef2NhYeXl5acuWLY4+LVu2lN1ud/SJi4tTUlKSTp8+fYO2pmhbu3atQkNDVaNGDQ0cOFAnT550tHEMXOfs2bOSpODgYEmu+5mTkJDgtIzsPvyfkdOVxyDbvHnzFBISorp16yo+Pl5paWmONo6Ba2RmZmrBggU6f/68oqOjOf9vsCv3fzbOfdfxdncBkE6cOKHMzEynk1aSypYtq927d7upqptH06ZNNWvWLNWoUUNHjhzRmDFjdNddd2nHjh1KTk6W3W5XUFCQ03vKli2r5ORkSVJycnKuxya7DfmXvb9y25+X7+/Q0FCndm9vbwUHBzv1iYqKyrGM7LZSpUoVSv03i7Zt2+rBBx9UVFSU9u3bpxdffFHt2rVTQkKCihUrxjFwkaysLA0ZMkTNmzdX3bp1JcllP3Py6pOSkqILFy6oZMmShbFJRU5ux0CSHnnkEUVGRio8PFzbt2/X888/r6SkJH3++eeSOAbX65dfflF0dLT+/PNP+fn56YsvvlDt2rWVmJjI+X8D5LX/Jc59VyNI4abXrl07x7/r16+vpk2bKjIyUosWLbqlPuxAtm7dujn+Xa9ePdWvX19VqlTR2rVr1bp1azdWdnMZNGiQduzYoY0bN7q7lFtWXsdgwIABjn/Xq1dP5cqVU+vWrbVv3z5VqVLlRpd506lRo4YSExN19uxZffbZZ+rZs6fWrVvn7rJuGXnt/9q1a3Puuxi39nmAkJAQFStWLMeoNUePHlVYWJibqrp5BQUFqXr16tq7d6/CwsJ08eJFnTlzxqnP5fs+LCws12OT3Yb8y95fVzvXw8LCdOzYMaf2jIwMnTp1imNSSCpXrqyQkBDt3btXEsfAFZ566il9+eWXWrNmjSpUqOCY76qfOXn1CQgI4A9E/19exyA3TZs2lSSnzwDHoODsdruqVq2qxo0ba9y4cWrQoIEmT57M+X+D5LX/c8O5f30IUh7AbrercePGWrVqlWNeVlaWVq1a5XRPK1wjNTVV+/btU7ly5dS4cWMVL17cad8nJSXp0KFDjn0fHR2tX375xekXyxUrViggIMBxqRz5ExUVpbCwMKf9nZKSoi1btjjt7zNnzmjbtm2OPqtXr1ZWVpbjB350dLTWr1+vS5cuOfqsWLFCNWrU4JayAvj999918uRJlStXThLH4HoYY/TUU0/piy++0OrVq3Pc/uiqnznR0dFOy8juw/8Z1z4GuUlMTJQkp88Ax8B1srKylJ6ezvnvJtn7Pzec+9fJ3aNd4C8LFiwwPj4+ZtasWebXX381AwYMMEFBQU6jpqBgnn32WbN27Vqzf/9+891335nY2FgTEhJijh07Zoz5ayjWihUrmtWrV5utW7ea6OhoEx0d7Xh/9lCgbdq0MYmJiWb58uWmTJkyDH+eh3PnzpmffvrJ/PTTT0aSefvtt81PP/1kDh48aIz5a/jzoKAgs2TJErN9+3bzwAMP5Dr8eaNGjcyWLVvMxo0bTbVq1ZyG3j5z5owpW7aseeyxx8yOHTvMggULjK+v7y0/9Ha2qx2Dc+fOmX/84x8mISHB7N+/36xcudLcfvvtplq1aubPP/90LINjUDADBw40gYGBZu3atU7DC6elpTn6uOJnTvbww88995zZtWuXmTp16i07/PCVrnUM9u7da8aOHWu2bt1q9u/fb5YsWWIqV65sWrZs6VgGx6DgXnjhBbNu3Tqzf/9+s337dvPCCy8Ym81mvv32W2MM539hu9r+59x3PYKUB5kyZYqpWLGisdvtpkmTJmbz5s3uLumm8PDDD5ty5coZu91uypcvbx5++GGzd+9eR/uFCxfM3//+d1OqVCnj6+trOnfubI4cOeK0jAMHDph27dqZkiVLmpCQEPPss8+aS5cu3ehNKRLWrFljJOV49ezZ0xjz1xDoL7/8silbtqzx8fExrVu3NklJSU7LOHnypOnevbvx8/MzAQEBpnfv3ubcuXNOfX7++WfTokUL4+PjY8qXL2/Gjx9/ozbR413tGKSlpZk2bdqYMmXKmOLFi5vIyEjTv3//HH+04RgUTG77XZKZOXOmo4+rfuasWbPGNGzY0NjtdlO5cmWnddzKrnUMDh06ZFq2bGmCg4ONj4+PqVq1qnnuueecvkvHGI5BQfXp08dERkYau91uypQpY1q3bu0IUcZw/he2q+1/zn3XsxljzI27/gUAAAAARR/PSAEAAACARQQpAAAAALCIIAUAAAAAFhGkAAAAAMAighQAAAAAWESQAgAAAACLCFIAAAAAYBFBCgAAAAAsIkgBAG46NptNixcvzrO9UqVKmjRpUq79Dxw4IJvNpsTExEKtEQBQtBGkAABFyvHjxzVw4EBVrFhRPj4+CgsLU1xcnL777rt8L+OHH37QgAEDClxDTEyMhgwZ4jRts9lks9nk4+Oj8uXL6/7779fnn39e4HUAADwbQQoAUKR06dJFP/30k2bPnq3//Oc/Wrp0qWJiYnTy5Ml8L6NMmTLy9fV1aV39+/fXkSNHtG/fPv3v//6vateurW7dul1XYAMAeC5vdxcAAEB+nTlzRhs2bNDatWvVqlUrSVJkZKSaNGly1feNGjVK77//vr755hvVr19flSpV0pAhQ5yuKl0vX19fhYWFSZIqVKigZs2aqWbNmurTp48eeughxcbGumxdAAD344oUAKDI8PPzk5+fnxYvXqz09PRr9jfGaPDgwZozZ442bNig+vXr34Aq/0/Pnj1VqlQpbvEDgJsQQQoAUGR4e3tr1qxZmj17toKCgtS8eXO9+OKL2r59e46+GRkZevTRR7Vq1Spt3LhRVatWveH1enl5qXr16jpw4MANXzcAoHARpAAARUqXLl10+PBhLV26VG3bttXatWt1++23a9asWU79hg4dqi1btmj9+vUqX768e4rVX1fFbDab29YPACgcBCkAQJFTokQJ3XvvvXr55Ze1adMm9erVS6NGjXLqc++99+qPP/7QN99846YqpczMTO3Zs0dRUVFuqwEAUDgIUgCAIq927do6f/6807yOHTtq/vz56tevnxYsWOCWumbPnq3Tp0+rS5cublk/AKDwMGofAKDIOHnypP72t7+pT58+ql+/vvz9/bV161ZNmDBBDzzwQI7+nTt31ty5c/XYY4/J29tbXbt2LbTa0tLSlJycrIyMDP3+++/64osvNHHiRA0cOFB33313oa0XAOAeBCkAQJHh5+enpk2bauLEidq3b58uXbqkiIgI9e/fXy+++GKu7+natauysrL02GOPycvLSw8++GCh1PbBBx/ogw8+kN1uV+nSpdW4cWMtXLhQnTt3LpT1AQDcy2aMMe4uAgAAAACKEp6RAgAAAACLCFIAAAAAYBFBCgAAAAAsIkgBAAAAgEUEKQAAAACwiCAFAAAAABYRpAAAAADAIoIUAAAAAFhEkAIAAAAAiwhSAAAAAGARQQoAAAAALPp/yKim1qWL75gAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 每个技能关联的问题数量\n", + "skill_question_counts = data.groupby(\"skill_id\")[\"problem_id\"].nunique()\n", + "plt.figure(figsize=(10, 6))\n", + "plt.hist(skill_question_counts, bins=\"doane\", color='skyblue', edgecolor='black')\n", + "plt.title(\"Distribution of Number of Questions per Skill\")\n", + "plt.xlabel(\"Skill ID\")\n", + "plt.ylabel(\"Question Count\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "acffeea6", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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YIGefvpptW3bVn369LF8TX9rzpw5GjBggPz9/XXXXXdp+vTpSk9Pd4Wy6667To8++qjeeOMN/eUvf1GrVq0knX0dTZs2TY888ojq1KmjZ555RpJcx3rs2DF169ZNe/bs0Z///GdFR0frm2++UWpqqvbt26dp06YVq+PUqVN65JFH9Ouvv+rll1/WwIEDdf311+vLL7/U008/rezsbL355pt68sknNXPmTLfxO3bsUHJysh588EENHjxYs2bN0h//+EctWbJEf/jDHy54HHl5ea7rNmbMGNWrV087d+50C2EA4MYAgI+ZNWuWkWTS09PP2yckJMRceeWVruW0tDTz21+Zr732mpFkDhw4cN5tpKenG0lm1qxZxdZ169bNSDIzZswocV23bt1cy6tWrTKSTJMmTUxBQYGrff78+UaSef31111tzZo1M4MHD77oNi9U2+DBg02zZs1cywsXLjSSzMSJE9363XHHHcZms5ns7GxXmyTj7+/v1rZp0yYjybz55pvF9vVb06ZNM5LM3//+d1fbqVOnTJcuXUydOnXcjr1Zs2bm5ptvvuD2jDHG6XS6znV4eLi56667jMPhMD///HOxvq+88oqRZHJyctzac3JyznuuJJm0tDTXcv/+/U1gYKDb9rdu3Wr8/PzcXj87d+40fn5+5oUXXnDb3vfff29q1Kjh1n6u/vfff9/VdvLkSRMREWFuv/12V9uFrun5bNiwwUgyy5cvN8acPV9NmzY1jz32mFu/jz76yEgyq1atKraN1q1bu722znn++edN7dq1zY8//ujWPmbMGOPn52d27dpljPm/89uoUSNz6NAhV7/U1FQjySQkJJjTp0+72u+66y7j7+9vTpw44Wpr1qyZkWT++c9/utoOHz5sGjdu7PZzfL7j+OSTTy76OwEAfou38wFACerUqXPBWfrO3SX49NNP3d6aZEVAQICGDh3qcf97771XdevWdS3fcccdaty4sb744otS7d9TX3zxhfz8/PToo4+6tY8aNUrGGC1evNitvWfPnmrevLlruV27dgoODtZ///vfi+4nIiJCd911l6utZs2aevTRR3XkyBF99dVXlmu32WxaunSpJk6cqPr162vu3LlKSUlRs2bNlJycXKafiSoqKtLSpUvVv39/RUdHu9pbtWql3r17u/X9+OOP5XQ6NXDgQOXn57u+IiIiFBcXp1WrVrn1r1OnjgYNGuRa9vf3V8eOHS96Ti9mzpw5Cg8PV48ePSSdPV/JycmaN2+eioqKLmnbH330ka699lrVr1/f7Rh79uypoqIirV692q3/H//4R4WEhLiWz80UOGjQILc7iJ06ddKpU6e0Z88et/GRkZG67bbbXMvBwcG69957tXHjRu3fv/+CtZ77eV60aJFOnz5dquMF4FsIUQBQgiNHjrgFlt9LTk7W1Vdfrfvvv1/h4eG68847NX/+fEuBqkmTJpYmkYiLi3NbttlsatGiRbnPNPbzzz8rMjKy2Pk493aon3/+2a39twHinPr16+vgwYMX3U9cXJzsdvd/ms63H08FBATomWeeUVZWlvbu3au5c+eqc+fOmj9/vkaMGFGqbZbkwIEDOn78eLHrJEktW7Z0W96xY4eMMYqLi1OjRo3cvrKyspSXl+fWv2nTpsU+k+fJOb2QoqIizZs3Tz169FBOTo6ys7OVnZ2tTp06KTc3VytWrCj1tqWzx7hkyZJix9ezZ09JKnaMv3/dnAtUUVFRJbb//thbtGhR7BxdfvnlknTRn5Fu3brp9ttv1/jx4xUaGqpbb71Vs2bN0smTJz04UgC+iM9EAcDv/O9//9Phw4fVokWL8/apVauWVq9erVWrVunzzz/XkiVL9OGHH+r666/XsmXL5Ofnd9H9WPkck6fO90DXoqIij2oqC+fbj/ndJBTe0LhxY9155526/fbb1bp1a82fP1+zZ8++4MyLFzqnpeV0OmWz2bR48eISz1edOnXclsvjnK5cuVL79u3TvHnzNG/evGLr58yZo169epV6+06nU3/4wx/01FNPlbj+XMA553zHWBGvp3MPs163bp3+9a9/aenSpbrvvvs0ZcoUrVu3rtj1AABCFAD8zgcffCBJxd6C9Xt2u1033HCDbrjhBk2dOlUvvviinnnmGa1atUo9e/Y87x/fpbVjxw63ZWOMsrOz1a5dO1db/fr1S3yL2s8//6zLLrvMtWyltmbNmunf//63CgsL3e5GnXtQ7bnJGy5Vs2bNtHnzZjmdTre7UWW9H+ns2wTbtWunHTt2uN5Gd75zUr9+fUkqdl5/f2esUaNGqlWrVrHrJKnYc7eaN28uY4xiY2OLhYnSsvp6mzNnjsLCwuRwOIqt+/jjj/XJJ59oxowZqlWr1gW3fb51zZs315EjR1x3nspbdna2jDFu9fz444+S5Jpt8mLnqHPnzurcubNeeOEF/eMf/9Ddd9+tefPm6f777y+3ugFUTbydDwB+Y+XKlXr++ecVGxuru++++7z9fj/FsiS1b99eklxvAapdu7ak4n98l9b777/v9jmtBQsWaN++ferTp4+rrXnz5lq3bp1OnTrlalu0aFGxabOt1HbTTTepqKhIf/3rX93aX3vtNdlsNrf9X4qbbrpJ+/fv14cffuhqO3PmjN58803VqVNH3bp1s7zNHTt2aNeuXcXaDx06pLVr16p+/fqumf3Od06Cg4MVGhpa7DM8b731ltuyn5+fevfurYULF7rtMysrS0uXLnXrO2DAAPn5+Wn8+PHF7qgYY/TLL79YO9AL1F+S48eP6+OPP1bfvn11xx13FPsaMWKECgsL9dlnn11027Vr1y6xfeDAgVq7dm2xYz+3nTNnznh+cB7Yu3evPvnkE9dyQUGB3n//fbVv314RERGuWs/t/7cOHjxY7Dr8/ucZAH6LO1EAfNbixYu1bds2nTlzRrm5uVq5cqWWL1+uZs2a6bPPPlNgYOB5x06YMEGrV6/WzTffrGbNmikvL09vvfWWmjZtqmuuuUbS2UBTr149zZgxQ3Xr1lXt2rXVqVMnxcbGlqreBg0a6JprrtHQoUOVm5uradOmqUWLFm7TsN9///1asGCBbrzxRg0cOFA//fST/v73v7tN9GC1tn79+qlHjx565plntHPnTiUkJGjZsmX69NNP9fjjjxfbdmk98MADevvttzVkyBBlZGQoJiZGCxYs0Jo1azRt2rQLfkbtfDZt2qQ//elP6tOnj6699lo1aNBAe/bs0Xvvvae9e/dq2rRprreLJSYmSpKeeeYZ3XnnnapZs6b69eun2rVr6/7779fkyZN1//33q0OHDlq9erXrLsdvjR8/XkuWLNG1116rhx9+2BUCW7durc2bN7v6NW/eXBMnTlRqaqp27typ/v37q27dusrJydEnn3yiBx54QE8++aSlY7VyTT/77DMVFhbqlltuKXFbnTt3VqNGjTRnzhwlJyerffv28vPz00svvaTDhw8rICBA119/vcLCwpSYmKjp06dr4sSJatGihcLCwnT99ddr9OjR+uyzz9S3b18NGTJEiYmJOnr0qL7//nstWLBAO3fudE0lXxYuv/xyDRs2TOnp6QoPD9fMmTOVm5ur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AgLM3LlzjTHGbN261Ugy6enprj6LFy82NpvN7NmzxxhjzFtvvWXq169vTp486erz9NNPm5YtW5bzEcGKvLw8I8l89dVXxpiz17pmzZrmo48+cvXJysoykszatWuNMWdDuN1uN/v373f1mT59ugkODnZd76eeesq0bt3abV/Jycmmd+/e5X1I8FD9+vXN3/72N665jygsLDRxcXFm+fLlplu3bq4QxfWvvtLS0kxCQkKJ67juvoe383nZqVOnlJGRoZ49e7ra7Ha7evbsqbVr13qxMpSVnJwc7d+/3+0ah4SEqFOnTq5rvHbtWtWrV08dOnRw9enZs6fsdru+/fZbV5/rrrtO/v7+rj69e/fW9u3bdfDgwQo6GlzM4cOHJUkNGjSQJGVkZOj06dNu1/+KK65QdHS02/Vv27atwsPDXX169+6tgoIC/fDDD64+v93GuT78nvC+oqIizZs3T0ePHlWXLl245j4iJSVFN998c7FrxPWv3nbs2KHIyEhddtlluvvuu7Vr1y5JXHdfRIjysvz8fBUVFbn9QElSeHi49u/f76WqUJbOXccLXeP9+/crLCzMbX2NGjXUoEEDtz4lbeO3+4B3OZ1OPf7447r66qvVpk0bSWevjb+/v+rVq+fW9/fX/2LX9nx9CgoKdPz48fI4HFzE999/rzp16iggIEAPPvigPvnkE8XHx3PNfcC8efP03XffadKkScXWcf2rr06dOmn27NlasmSJpk+frpycHF177bUqLCzkuvugGt4uAACqi5SUFG3ZskVff/21t0tBBWjZsqUyMzN1+PBhLViwQIMHD9ZXX33l7bJQznbv3q3HHntMy5cvV2BgoLfLQQXq06eP6/t27dqpU6dOatasmebPn69atWp5sTJ4A3eivCw0NFR+fn7FZm/Jzc1VRESEl6pCWTp3HS90jSMiIpSXl+e2/syZM/r111/d+pS0jd/uA94zYsQILVq0SKtWrVLTpk1d7RERETp16pQOHTrk1v/31/9i1/Z8fYKDg/nH20v8/f3VokULJSYmatKkSUpISNDrr7/ONa/mMjIylJeXp6uuuko1atRQjRo19NVXX+mNN95QjRo1FB4ezvX3EfXq1dPll1+u7Oxsfu59ECHKy/z9/ZWYmKgVK1a42pxOp1asWKEuXbp4sTKUldjYWEVERLhd44KCAn377beua9ylSxcd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7Opz+vRp07RpU/PSSy8ZY4x5/vnnTa9evdz2vXv3biPJbN++3RhjTLdu3cyVV1550eONjIw0L7zwgltbUlKSefjhh13LCQkJJi0t7aLb6tq1q5k2bZqr5tDQULNq1SrX+pLOmTHGSDKffPKJW9sNN9xgXnzxRbe2Dz74wDRu3Nht3LPPPutaXrt2rZFk3n33XVfb3LlzTWBgoFsNfn5+5n//+5+rbfHixcZut5t9+/YZY9xfA+c88sgj5vrrrzdOp/PCJwEAYLgTBQA+7KWXXtJ7772nrKysUm+jdevWstv/75+T8PBwtW3b1rXs5+enhg0bKi8vz21cly5dXN/XqFFDHTp0cNWxadMmrVq1SnXq1HF9XXHFFZLk9ta1xMTEC9ZWUFCgvXv36uqrr3Zrv/rqqy0f8/bt27V+/XrdddddrpqTk5P17rvvWtrOOZs2bdKECRPcjnH48OHat2+fjh075urXrl071/fh4eGS5HZ+w8PDdeLECRUUFLjaoqOj1aRJE9dyly5d5HQ6tX379vPWM2TIEGVmZqply5Z69NFHtWzZslIdFwD4ghreLgAA4D3XXXedevfurdTUVA0ZMsRtnd1ud71V7ZzTp08X20bNmjXdlm02W4ltTqfT47qOHDmifv366aWXXiq2rnHjxq7va9eu7fE2L9W7776rM2fOKDIy0tVmjFFAQID++te/KiQkxNL2jhw5ovHjx2vAgAHF1gUGBrq+/+25PDd7YkltVs5vSa666irl5ORo8eLF+ve//62BAweqZ8+eWrBgwSVtFwCqI0IUAPi4yZMnq3379mrZsqVbe6NGjbR//34ZY1x/qJfls53WrVun6667TpJ05swZZWRkuD7bc9VVV+mf//ynYmJiVKNG6f+pCg4OVmRkpNasWaNu3bq52tesWaOOHTt6vJ0zZ87o/fff15QpU9SrVy+3df3799fcuXP14IMPyt/fX0VFRcXG16xZs1j7VVddpe3bt6tFixYWj+ridu3apb1797oC37p162S3213X+Hx1BgcHKzk5WcnJybrjjjt044036tdff1WDBg3KvEYAqMoIUQDg49q2bau7775bb7zxhlt79+7ddeDAAb388su64447tGTJEi1evFjBwcFlsl+Hw6G4uDi1atVKr732mg4ePKj77rtPkpSSkqJ33nlHd911l5566ik1aNBA2dnZmjdvnv72t7/Jz8/P4/2MHj1aaWlpat68udq3b69Zs2YpMzNTc+bM8XgbixYt0sGDBzVs2LBid5xuv/12vfvuu3rwwQcVExOjnJwcZWZmqmnTpqpbt64CAgIUExOjFStW6Oqrr1ZAQIDq16+vsWPHqm/fvoqOjtYdd9whu92uTZs2acuWLZo4caLHtZUkMDBQgwcP1quvvqqCggI9+uijGjhwoCIiIiRJMTExWrp0qbZv366GDRsqJCREb775pho3bqwrr7xSdrtdH330kSIiIlSvXr1LqgUAqiM+EwUA0IQJE4q9HaxVq1Z666235HA4lJCQoPXr119w5jqrJk+erMmTJyshIUFff/21PvvsM4WGhkqS6+5RUVGRevXqpbZt2+rxxx9XvXr13D5/5YlHH31UI0eO1KhRo9S2bVstWbJEn332meLi4jzexrvvvquePXuW+Ja922+/XRs2bNDmzZt1++2368Ybb1SPHj3UqFEjzZ07V5I0ZcoULV++XFFRUbryyislSb1799aiRYu0bNkyJSUlqXPnznrttdfUrFkzS8dXkhYtWmjAgAG66aab1KtXL7Vr105vvfWWa/3w4cPVsmVLdejQQY0aNdKaNWtUt25dvfzyy+rQoYOSkpK0c+dOffHFF5bPNwD4Apv5/RveAQBAlTVu3DgtXLiwTN96CQBwx38vAQAAAIAFhCgAAAAAsIC38wEAAACABdyJAgAAAAALCFEAAAAAYAEhCgAAAAAsIEQBAAAAgAWEKAAAAACwgBAFAAAAABYQogAAAADAAkIUAAAAAFjw/wGUvEmmTQVJFQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 每个学生的答题次数\n", + "student_attempts = data.groupby(\"user_id\")[\"problem_id\"].count()\n", + "\n", + "# 绘制学生答题次数的分布图\n", + "plt.figure(figsize=(10, 6))\n", + "plt.hist(student_attempts, bins=50, color='skyblue', edgecolor='black')\n", + "plt.title('Distribution of Student Attempts')\n", + "plt.xlabel('Number of Attempts')\n", + "plt.ylabel('Number of Students')\n", + "plt.yscale('log')\n", + "plt.grid(axis='y', alpha=0.3)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "d6691f92", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 每个类型的问题数量分布\n", + "answer_type_counts = data[\"problem_type\"].value_counts()\n", + "\n", + "# 绘制问题类型数量的分布图\n", + "plt.figure(figsize=(12, 6))\n", + "answer_type_counts.plot(kind='bar', color='skyblue', edgecolor='black')\n", + "plt.title('Distribution of Answer Types')\n", + "plt.xlabel('Answer Type')\n", + "plt.ylabel('Number of Records')\n", + "plt.xticks(rotation=45, ha='right')\n", + "plt.grid(axis='y', alpha=0.3)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ae1bed4e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unique values in 'correct' column:\n", + "correct\n", + "0.000 1976383\n", + "0.250 1211\n", + "0.375 1\n", + "0.500 2395\n", + "0.600 24\n", + "0.625 4\n", + "0.650 10\n", + "0.750 1629\n", + "0.850 10\n", + "0.875 6\n", + "0.950 9\n", + "0.975 24\n", + "1.000 4141564\n", + "Name: count, dtype: int64\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnwAAAKSCAYAAABIowakAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAXfFJREFUeJzt3Xl8VPW9//H3mcm+kQQSAmHflAAuIKiAgqIgKu5K1VbR26pVa/21atvbW5faxVvba7W1q73icusGWpW6sIgiCAJh37eEHUKA7MlkZs7390ckGoGsk5yZM6/n48EDM5lkPplMzIvv2SxjjBEAAABcy+P0AAAAAGhfBB8AAIDLEXwAAAAuR/ABAAC4HMEHAADgcgQfAACAyxF8AAAALkfwAQAAuBzBBwAA4HIEHxBBPv74Y1mWpY8//rj+tmnTpqlPnz6OzQTnjB8/XuPHj++Qx7IsS48++mj9248++qgsy1JxcXGHPH6fPn00bdq0DnkswI0IPkSV9evX65vf/KZyc3MVHx+v7t276+abb9b69eudHq3DvPXWW5o8ebK6dOmiuLg4de/eXTfccIM++ugjp0drlX/+85/6/e9/7/QYbTZt2jRZllX/JyUlRf369dN1112nmTNnyrbtkDzOZ599pkcffVQlJSUh+XyhFM6zAZEuxukBgI7y5ptv6sYbb1RmZqb+4z/+Q3379lVhYaH+8Y9/aMaMGXr11Vd19dVXOz1muzHG6Pbbb9f06dN15pln6gc/+IFycnK0f/9+vfXWW5owYYIWLVqk0aNHOz1qi/zzn//UunXrdP/99zs9SpvFx8frueeekyRVV1dr586devfdd3Xddddp/Pjxevvtt5WWllZ//9mzZ7f4MT777DM99thjmjZtmtLT05v9cdXV1YqJad9fGY3NtnnzZnk8rFEArUXwISps375d3/rWt9SvXz8tWLBAWVlZ9e/7/ve/r/POO0/f+ta3tGbNGvXr16/D5qqsrFRycnKHPNbvfvc7TZ8+Xffff7/+53/+R5Zl1b/vpz/9qV566aWQ/EKvqalRXFzcCX85d+TXG4liYmL0zW9+s8Ftv/jFL/TEE0/oJz/5ib7zne/otddeq39fXFxcu85j27Zqa2uVkJCghISEdn2spsTHxzv6+EDEM0AUuPPOO40ks2DBghO+/5NPPjGSzJ133mmMMeaNN94wkszHH3983H3/8pe/GElm7dq19bdt3LjRXHvttSYjI8PEx8ebESNGmLfffrvBxz3//PP1n/O73/2uycrKMunp6cYYYwoLC813v/tdM2jQIJOQkGAyMzPNddddZwoKChp8jvnz5xtJZv78+fW33XrrraZ3796Nfv1VVVUmMzPTnHrqqSYQCDR632O2b99urrvuOpORkWESExPN2WefbWbNmnXCeV555RXz05/+1HTv3t1YlmWOHj1qbr31VpOcnGy2bdtmJk+ebFJSUsyVV15pjDEmGAyap556yuTl5Zn4+HiTnZ1t7rjjDnPkyJHj5njvvffM+eefb1JSUkxqaqo566yzzP/93/8ZY4wZN26ckdTgz7Hn4thsr732mvnFL35hcnNzTXx8vLnwwgvN1q1bj3ucJUuWmEmTJpm0tDSTmJhozj//fLNw4cIG9ykrKzPf//73Te/evU1cXJzJysoyF110kcnPz6+/z5YtW8w111xjunbtauLj401ubq6ZOnWqKSkpafT5PvZ8nczEiRONZVlm8+bN9beNGzfOjBs3rsH9nnnmGZOXl2cSExNNenq6GTFiRP3z9cgjjxz3fEmqf51JMvfcc495+eWXTV5enomJiTFvvfVW/fseeeSR+sc59rk2btxorr/+epOammoyMzPNfffdZ6qrq+vvV1BQYCSZ559//riv6aufs6nZevfubW699dYGH9+S12hzXweAW7HCh6jw7rvvqk+fPjrvvPNO+P7zzz9fffr00b///W9J0mWXXaaUlBS9/vrrGjduXIP7vvbaaxoyZIiGDh0qqW6/wDFjxig3N1c//vGPlZycrNdff11XXXWVZs6cedxm4rvvvltZWVl6+OGHVVlZKUlatmyZPvvsM33jG99Qjx49VFhYqD//+c8aP368NmzYoKSkpDZ9/QsXLtSRI0d0//33y+v1Nnn/gwcPavTo0aqqqtJ9992nzp0764UXXtAVV1yhGTNmHPc1Pf7444qLi9MDDzwgn89Xv/IUCAQ0adIkjR07Vr/97W/rv44777xT06dP12233ab77rtPBQUF+uMf/6iVK1dq0aJFio2NlSRNnz5dt99+u4YMGaKf/OQnSk9P18qVK/XBBx/opptu0k9/+lOVlpZqz549euqppyRJKSkpDWZ74okn5PF49MADD6i0tFS/+c1vdPPNN+vzzz+vv89HH32kyZMna8SIEXrkkUfk8Xj0/PPP68ILL9Snn36qUaNGSZLuuusuzZgxQ/fee6/y8vJ0+PBhLVy4UBs3btTw4cNVW1urSZMmyefz6Xvf+55ycnK0d+9ezZo1SyUlJerUqVMrv4PSt771Lc2ePVtz5szRoEGDTnifv//977rvvvt03XXX6fvf/75qamq0Zs0aff7557rpppt0zTXXaMuWLXrllVf01FNPqUuXLpLUYMX7o48+0uuvv657771XXbp0afKAoBtuuEF9+vTRr3/9ay1ZskTPPPOMjh49qhdffLFFX19zZvuqlr5Gm/M6AFzN6eIE2ltJSYmRVL+6dDJXXHGFkWTKysqMMcbceOONJjs7u8GK2P79+43H4zE///nP62+bMGGCGTZsmKmpqam/zbZtM3r0aDNw4MD6246t8I0dO/a4Vbaqqqrj5lm8eLGRZF588cX621q7wvf0008bSfWrNU25//77jSTz6aef1t9WXl5u+vbta/r06WOCwWCDefr163fc13DrrbcaSebHP/5xg9s//fRTI6l+1emYDz74oMHtJSUlJjU11Zx99tkNVoyMqXt+j7nssstO+PUfm23w4MHG5/Md91wcW6G1bdsMHDjQTJo0qcHnraqqMn379jUXX3xx/W2dOnUy99xzz0mft5UrVxpJ5o033jjpfU6mqRW+Y5/7//2//1d/29dX+K688kozZMiQRh/nySefbLBy9lWSjMfjMevXrz/h+060wnfFFVc0uN/dd99tJJnVq1cbY5q/wtfUbF9f4Wvpa7Sp1wHgduwBC9crLy+XJKWmpjZ6v2PvLysrkyRNnTpVRUVFDU6BMmPGDNm2ralTp0qSjhw5oo8++kg33HCDysvLVVxcrOLiYh0+fFiTJk3S1q1btXfv3gaP853vfOe4VbbExMT6//b7/Tp8+LAGDBig9PR0rVixonVf+Fcc+5qaeg6Oee+99zRq1CiNHTu2/raUlBTdcccdKiws1IYNGxrc/9Zbb23wNXzVd7/73QZvv/HGG+rUqZMuvvji+ueruLhYI0aMUEpKiubPny9JmjNnjsrLy/XjH//4uP3Hvrr/YVNuu+22Bvu6HVvl3bFjhyRp1apV2rp1q2666SYdPny4fp7KykpNmDBBCxYsqD9CNj09XZ9//rn27dt3wsc6toL34YcfqqqqqtkzNsexlctjr+cT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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# correct 列的唯一值\n", + "print(\"Unique values in 'correct' column:\")\n", + "print(data[\"correct\"].value_counts().sort_index())\n", + "\n", + "# 答题正确率(只统计0和1)\n", + "correct_data = data[data[\"correct\"].isin([0, 1])].groupby(\"correct\")[\"problem_id\"].count()\n", + "\n", + "# 绘制答题正确率的饼图\n", + "plt.figure(figsize=(8, 8))\n", + "colors = ['lightcoral', 'lightskyblue']\n", + "labels = ['Incorrect', 'Correct']\n", + "plt.pie(correct_data, labels=labels, autopct='%1.1f%%', startangle=90, colors=colors)\n", + "plt.title('Overall Correctness Distribution')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "178fe603", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ceP0/PPP67777stwDPv166dPPvlE3bt31wMPPKCVK1eqffv2Lv1OnDih+++/XzabTYMGDVJYWJiWLFmivn37KiEhweUqljfeeENeXl566aWXdO7cOU2YMEFPPPGEfvvtN0ef5cuX66GHHlLJkiU1ePBglShRQrt27dJ3332nwYMHS8r8mAEAkB3IfZ3l5dx3yZIlSklJuekcuGl27typxo0bKzQ0VC+//LIKFCig6dOnq1mzZvrxxx9Vv359p/7PPfecChcurKioKB04cEBTpkzRoEGD9MUXX0iS5s6dqxkzZmj9+vWaOXNmhvv5Rp599lktWLBAgwYNUvXq1XXq1CmtXbtWu3bt0j333CPp6nQMkZGRqlu3rqKiouTl5aXo6Gi1aNFCP/30k+rVqydJ2r59ux588EGFhYVp5MiRSklJUVRUVKZy/T179mj37t166qmnnH5JdiOZGc9rffbZZ0pMTNQzzzwjm82mCRMmqHPnztq3b58KFCigESNGqGrVqpoxY4ZjmpOKFSumu21jjDp27Ki1a9fq2WefVbVq1fT111+rV69eLn3dzTNvNubS1Xm0n3rqKdWoUUPDhw9XoUKFtGXLFi1dutQxjURmxwzIszxbNwbyl5tddWCMMQULFjR33323Y/n6b2UnT55sJJn4+PgbrmPDhg03/GY57RvUadOmpftcelcdlC5d2unb3i+//NJIMu+8846jLTNXHdwstuu/wf3mm2+MJDNmzBinfo899pix2Wxm7969jjZJxtfX16lt27ZtRpJ57733XLZ1rSlTphhJ5pNPPnG0Xb582TRo0MAEBwc7vfebXUV7rYiIiAyvSM1oLKTMXXF711133TSegQMHpvvNftq37qGhoS7fXqekpJjk5GSntjNnzpjixYubp556ytEWHx9/w1hbtmxpatWqZS5duuRos9vt5oEHHjCVK1d2tA0ZMsRIMr/99pujLS4uzhQsWPCmV9ymjXHalTM3kxPHVNrnZP78+U7rvP6zu3XrViPJDBgwwKlf9+7dXfZh3759TcmSJc3Jkyed+nbr1s0ULFjQXLhwwWnb1apVcxqvd955x0gy27dvN8ZcHc/y5cubiIgIc+bMGad1XnsFT2bHDACAzCD3vX1y3xdeeMFIMlu2bLlpX2OM6dSpk/H19TWxsbGOtqNHj5qQkBDTpEkTR1vaMdSqVSun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JOlqIlmoUCFNmzZNISEhCgoKUv369bN85UyRIkXUqFEj9enTRydOnNCUKVNUqVIl9e/f39GnX79+WrBggdq2basuXbooNjZWn3zyict8nu7E1qFDBzVv3lwjRozQgQMHdNdddykmJkaLFi3SkCFDXNadVU8//bSmT5+u3r17a9OmTSpXrpwWLFign3/+WVOmTMn0jQGyU79+/fTss8/q0UcfVevWrbVt2zYtW7ZMxYoVc+pXvXp1NWvWTHXr1lWRIkW0ceNGLViwQIMGDXL0qVu3rqSrN8Vq06aNvL291a1btwy3/9BDD2nhwoV65JFH1L59e+3fv1/Tpk1T9erVnZKegIAAVa9eXV988YWqVKmiIkWKqGbNmqpZs6bef/99NWrUSLVq1VL//v1VoUIFnThxQr/++quOHDmibdu2SZJefvllzZ07V23bttXgwYMVFBSkGTNmOK4euJkHHnhA77//vgYMGKA777xTPXr0UOXKlZWYmKjVq1fr22+/1ZgxYyTl3jGVnjp16ujxxx/XBx98oHPnzumBBx7QihUrtHfvXpe+b7zxhlatWqX69eurf//+ql69uk6fPq3Nmzfrhx9+cLuQ4uXlpalTp6pDhw6qU6eO+vTpo5IlS2r37t3auXOn4yQis2MGIG8h14WnkfveHrnv22+/rdjYWD3//PNauHChHnroIRUuXFiHDh3S/PnztXv3bkcOOmbMGC1fvlyNGjXSgAED5OPjo+nTpys5OVkTJkzIlveZpl+/fnrjjTfUr18/3XvvvVqzZo3++usvpz6JiYkqU6aMHnvsMd11110KDg7WDz/8oA0bNujtt9+WdDWfmjlzpiIjI1WjRg316dNHpUuX1t9//61Vq1YpNDRU//3vfyVdLbwuXbpUjRs31oABAxyF1Bo1amQqv+3atau2b9+usWPHasuWLXr88ccVERGhU6dOaenSpVqxYoU+++wzSZ49l+nQoYMaNmyoV199VQcOHFD16tW1cOHCdOeNze48MzQ0VJMnT1a/fv103333qXv37ipcuLC2bdumCxcuaM6cOW6NGZBnmXxIkvn6668dy999952RZIKCgpwePj4+pkuXLsYYY/r3728kmT///NPxuk2bNhlJZvfu3bn9FpBHRUdHG0mOh6+vrylRooRp3bq1eeedd0xCQoLLa6Kiosy1H8UVK1aYjh07mlKlShlfX19TqlQp8/jjj5u//vrL6XWLFi0y1atXNz4+PkaSiY6ONsYY07RpU1OjRo1042vatKlp2rSpY3nVqlVGkvn888/N8OHDTXh4uAkICDDt27c3Bw8edHn922+/bUqXLm38/PxMw4YNzcaNG13WmVFsvXr1MhEREU59ExMTzQsvvGBKlSplChQoYCpXrmwmTpxo7Ha7Uz9JZuDAgS4xRUREmF69eqX7fq914sQJ06dPH1OsWDHj6+tratWq5Yjr+vW1b9/+puvLTN+MxiI1NdW88sorplixYiYwMNC0adPG7N271+X9jBkzxtSrV88UKlTIBAQEmDvvvNOMHTvWXL582dEnJSXFPPfccyYsLMzYbDbH8bR//34jyUycONFl+3a73YwbN85EREQYPz8/c/fdd5vvvvsu3TH65ZdfTN26dY2vr6+RZKKiohzPxcbGmp49e5oSJUqYAgUKmNKlS5uHHnrILFiwwGkdv//+u2natKnx9/c3pUuXNq+//rqZNWuWkWT2799/w314rU2bNpnu3bs7jpXChQubli1bmjlz5pjU1FRHv+w+ptI+J/Pnz3fqd/1n1xhjLl68aJ5//nlTtGhRExQUZDp06GAOHz7sst+MuXpMDhw40JQtW9YUKFDAlChRwrRs2dLMmDHjpttOG9vrj+G1a9ea1q1bm5CQEBMUFGRq165t3nvvPac+mR0zANZFrgurIPfNOLb8lvsaczXvnDlzpmncuLEpWLCgKVCggImIiDB9+vQxW7Zsceq7efNm06ZNGxMcHGwCAwNN8+bNzS+//OLUJ+0Y2rBhg1N72litWrXK0darVy8TFBTkEtOFCxdM3759TcGCBU1ISIjp0qWLiYuLc8q/kpOTzbBhw8xdd93lyJPuuusu88EHH7isb8uWLaZz586maNGixs/Pz0RERJguXbqYFStWOPX78ccfHTlyhQoVzLRp09LNDzOSdvyHh4cbHx8fExYWZjp06GAWLVrk1C8z45lR7n99Lnqj/Z7eMXvq1CnTo0cPExoaagoWLGh69OhhtmzZkm4umpk8050xN8aYb7/91jzwwAMmICDAhIaGmnr16pnPP//cqU9mxwzIi2zGWPiuPllks9n09ddfq1OnTpKkL774Qk888YR27tzpMgF2cHCwSpQooaioKI0bN05XrlxxPHfx4kUFBgYqJiZGrVu3zs23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GjFihKpUqaIvvvhCffr0uel2MyMgIEA2m80pVm9vb23atEne3t5OfYODg295ewAAAHkVue6Nt0GuC+B2wRy3APKsIkWKqE2bNnr//fd1/vx5l+fPnj0rSapWrZoOHz6sw4cPO577448/dPbsWVWvXj3b4rnzzjuVkpKiTZs2Odr+/PNPRxySdM899+j48ePy8fFRpUqVnB7FihXL1HYqV66sgIAArVixIt3n77nnHu3Zs0fh4eEu2yhYsGCm30+5cuUUGBjo2Le1a9e+4TarVaumlJQU/fbbb462U6dO6c8//8xwH999991KTU1VXFycS6wlSpTIdKwAAAD5DbkuuS4AULgFkKe9//77Sk1NVb169fTVV19pz5492rVrl9599101aNBAktSqVSvVqlVLTzzxhDZv3qz169erZ8+eatq0qe69995si6Vq1apq27atnnnmGf3222/atGmT+vXr5/TtfatWrdSgQQN16tRJMTExOnDggH755ReNGDFCGzduzNR2/P399corr+jll1/Wxx9/rNjYWK1bt06zZs2SJD3xxBMqVqyYOnbsqJ9++kn79+/X6tWr9fzzz+vIkSPprnPkyJF6+eWXtXr1au3fv19btmzRU089pStXrqh169aSpKioKH3++eeKiorSrl27tH37dr355puSribYHTt2VP/+/bV27Vpt27ZNTz75pEqXLq2OHTve8L1UqVJFTzzxhHr27KmFCxdq//79Wr9+vcaPH6/vv/8+U/sDAAAgvyLXJdcFcHujcAsgT6tQoYI2b96s5s2b68UXX1TNmjXVunVrrVixQlOnTpV09adXixYtUuHChdWkSRO1atVKFSpU0BdffJHt8URHR6tUqVJq2rSpOnfurKefflrh4eGO5202mxYvXqwmTZqoT58+qlKlirp166aDBw867pSbGf/617/04osv6t///reqVaumrl27OuYFCwwM1Jo1a3THHXeoc+fOqlatmvr27atLly4pNDQ03fU1bdpU+/btU8+ePXXnnXcqMjJSx48fV0xMjKpWrSpJatasmebPn69vv/1WderUUYsWLbR+/Xqn9163bl099NBDatCggYwxWrx4sctP4dLbZz179tSLL76oqlWrqlOnTtqwYYPuuOOOTO8PAACA/Ihcl1wXwO3NZjI74zkAAAAAAAAAIFdwxS0AAAAAAAAAWAyF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zp2REiVKSJJLQd6dPCy9vFXKXI4kSTNmzFDFihUVEBCgevXq6aeffspU7J4+l7DZbIqOjtb58+ddjp/0jsGdO3eqRYsWCggIUJkyZTRmzJgbXtW9ZMkSx/4PCQlR+/bttXPnTqc+vXv3VnBwsP7++2916tRJwcHBCgsL00svvaTU1FSnvna7Xe+8845q1aolf39/hYWFqW3bti5TSWR2zIDbDVfcAm7o0aOHXnvtNcXExKh///7p9tm5c6ceeugh1a5dW6NHj5afn5/27t3rKLRVq1ZNo0eP1r///W89/fTTaty4sSTpgQcecKzj1KlTioyMVLdu3fTkk0+qePHiGcY1duxY2Ww2vfLKK4qLi9OUKVPUqlUrbd261XGVQmZkJrZrGWP08MMPa9WqVerbt6/q1KmjZcuWadiwYfr7779dvmVeu3atFi5cqAEDBigkJETvvvuuHn30UR06dEhFixa9YVwXL15Us2bNtHfvXg0aNEjly5fX/Pnz1bt3b509e1aDBw9WtWrVNHfuXL3wwgsqU6aM46dYYWFh6a5zyZIlSklJuekcuGl27typxo0bKzQ0VC+//LIKFCig6dOnq1mzZvrxxx9Vv359p/7PPfecChcurKioKB04cEBTpkzRoEGD9MUXXzj6zJ49W0899ZRq1Kih4cOHq1ChQtqyZYuWLl2q7t27S7qauEZGRqpu3bqKioqSl5eXoqOj1aJFC/3000+qV6+e03a7dOmi8uXLa/z48dq8ebNmzpyp8PBwvfnmm5KkuXPnql+/fqpXr56efvppSVLFihWd1vGPf/xDlStX1rhx4xwnA8uXL9e+ffvUp08flShRQjt37tSMGTO0c+dOrVu3TjabTZ07d9Zff/2lzz//XJMnT1axYsUyHAN39tXw4cM1YcIEdejQQW3atNG2bdvUpk0bXbp06aZj9+2330pSpsf6hx9+UGRkpCpUqKCRI0fq4sWLeu+999SwYUNt3rzZ5UQqo30eFhamuXPnauzYsUpKStL48eMlXf2spWf79u168MEHFRYWppEjRyolJUVRUVHp/h8wduxY/etf/1KXLl3Ur18/xcfH67333lOTJk20ZcsWpyt8z5w5o7Zt26pz587q0qWLFixYoFdeeUW1atVSZGSkpKsnow899JBWrFihbt26afDgwUpMTNTy5cu1Y8cOx3HyzDPPaPbs2erTp4+ef/557d+/X//5z3+0ZcsW/fzzz3niKiEAgLWRczvLyzl3mitXrujkyZOSrn5RvGXLFk2aNElNmjRR+fLlHf3czcPSy1szmyPNmjVLzzzzjB544AENGTJE+/bt08MPP6wiRYqobNmyGb4fT59LzJ07VzNmzND69es1c+ZMSTc+fo4fP67mzZsrJSVFr776qoKCgjRjxox0j9m5c+eqV69eatOmjd58801duHBBU6dOVaNGjbRlyxan/Z+amqo2bdqofv36euutt/TDDz/o7bffVsWKFfXPf/7T0a9v376aPXu2IiMj1a9fP6WkpOinn37SunXrHFfcu5PXArcdA8AhOjraSDIbNmy4YZ+CBQuau+++27EcFRVlrv0oTZ482Ugy8fHxN1zHhg0bjCQTHR3t8lzTpk2NJDNt2rR0n2vatKljedWqVUaSKV26tElISHC0f/nll0aSeeeddxxtERERplevXjddZ0ax9erVy0RERDiWv/nmGyPJjBkzxqnfY489Zmw2m9m7d6+jTZLx9fV1atu2bZuRZN577z2XbV1rypQpRpL55JNPHG2XL182DRo0MMHBwU7vPSIiwrRv3z7D9RljzAsvvGAkmS1btty0rzHGdOrUyfj6+prY2FhH29GjR01ISIhp0qSJoy3tGGrVqpWx2+1O2/P29jZnz541xhhz9uxZExISYurXr28uXrzotK2019ntdlO5cmXTpk0bp3VduHDBlC9f3rRu3drRlnYcPvXUU07reuSRR0zRokWd2oKCgtI9FtLW8fjjj7s8d+HCBZe2zz//3Egya9ascbRNnDjRSDL79+936X/9MZjZfXX8+HHj4+NjOnXq5LS+kSNHGknpvpdrPfLII0aSOXPmTIb90tSpU8eEh4ebU6dOOdq2bdtmvLy8TM+ePR1t7uzzpk2bmho1arhsS5KJiopyLHfq1Mn4+/ubgwcPOtr++OMP4+3t7fT/zIEDB4y3t7cZO3as0/q2b99ufHx8nNrT/k/5+OOPHW3JycmmRIkS5tFHH3W0ffTRR0aSmTRpkkucaePz008/GUnm008/dXp+6dKl6bYDAJAecu7bJ+dO6yvJ5dGwYUNz8uRJp77u5mHX562ZzZEuX75swsPDTZ06dUxycrKj34wZM4wkp7FKj6fPJYy5epwEBQW5bOv6Y3DIkCFGkvntt98cbXFxcaZgwYJOeXtiYqIpVKiQ6d+/v9P6jh8/bgoWLOjU3qtXLyPJjB492qnv3XffberWretYXrlypZFknn/+eZc4096fO3ktcDtiqgTATcHBwRne6Tbt28BFixZl+aYCfn5+6tOnT6b79+zZUyEhIY7lxx57TCVLltTixYuztP3MWrx4sby9vfX88887tb/44osyxmjJkiVO7a1atXK6urN27doKDQ3Vvn37brqdEiVK6PHHH3e0FShQQM8//7ySkpL0448/uh17QkKCJDnttxtJTU1VTEyMOnXqpAoVKjjaS5Ysqe7du2vt2rWO9aV5+umnnX7O17hxY6WmpurgwYOSrl7BmpiYqFdffdVlntO0123dulV79uxR9+7dderUKZ08eVInT57U+fPn1bJlS61Zs8blGHv22Wedlhs3bqxTp065xJeR69chyekb+UuXLunkyZO6//77JUmbN2/O9LrTc7N9tWLFCqWkpGjAgAFOr3vuuecytX53xvrYsWPaunWrevfurSJFijjaa9eurdatW6f7mcqOfS5dPc6WLVumTp066Y477nC0V6tWTW3atHHqu3DhQtntdnXp0sVxXJw8eVIlSpRQ5cqVtWrVKqf+wcHBTvPK+fr6ql69ek6fva+++krFihVLd7+mjc/8+fNVsGBBtW7d2mm7devWVXBwsMt2AQDIKnLu/8nLOXea+vXra/ny5Vq+fLm+++47jR07Vjt37tTDDz+sixcvSsqePCyzOdLGjRsVFxenZ5991mmO2N69e6tgwYI3fT+ePpdwx+LFi3X//fc7/VIvLCxMTzzxhFO/5cuX6+zZs3r88ced9p23t7fq16+fbp6XXh58fX5ps9nSvYld2vtzN68FbjdMlQC4KSkpSeHh4Td8vmvXrpo5c6b69eunV199VS1btlTnzp312GOPZfrunqVLl3brpgjXT+Zvs9lUqVKlLM015Y6DBw+qVKlSLglL2s/Ar08sri1GpSlcuPBN58Y8ePCgKleu7LL/brSdzAgNDZWkDE8I0sTHx+vChQuqWrWqy3PVqlWT3W7X4cOHVaNGDUf79e+1cOHCkuR4r2lzhtasWfOG292zZ48kqVevXjfsc+7cOce6b7bdtPd8M9f+XC3N6dOnNWrUKM2bN09xcXEuMdyKm+2rtPGtVKmSU78iRYo4vfcbuXasb/Yzq7Rt3Wisly1b5nLji+zY59LV4+zixYvp3pyjatWqTicre/bskTHmhjfyuH66gjJlyrjMC1i4cGH9/vvvjuXY2FhVrVo1wxu/7NmzR+fOnbvh/4HXHxsAAGQVOff/5OWcO02xYsXUqlUrx3L79u1VtWpVPfbYY5o5c6aee+65LOVh1+etmc2R0rZ1fb8CBQo4FVdvxNPnEu44ePCgy1QMkut+Tjv3aNGiRbrruT6vTZuv9vo4r40xNjZWpUqVcirEX8/dvBa43eSbwu2aNWs0ceJEbdq0SceOHdPXX3+tTp06ubUOY4zefvttzZgxQwcPHlSxYsU0YMCAHL/bOPKOI0eO6Ny5cy4FpGsFBARozZo1WrVqlb7//nstXbpUX3zxhVq0aKGYmBh5e3vfdDvuzJGVWdcXbdKkpqZmKqbscKPtmOtuqpAb7rzzTklX5xStU6dOtq8/O95r2tUjEydOvGGMwcHB2b7d9I6/Ll266JdfftGwYcNUp04dBQcHy263q23btlm+yiVNTh8X14512hxy2ckTx7XdbpfNZtOSJUvS3X5OHBdp2w0PD9enn36a7vM3m98OQNaR6+J2Qs59a6yUc2ekZcuWkq7+/5bZX1Jd7/oxdDdHyqq8cC7hrrScfu7cuY4bx13r+i/3s+t4zq0xA/KqfFO4PX/+vO666y499dRT6ty5c5bWMXjwYMXExOitt95SrVq1dPr0aZ0+fTqbI0VeNnfuXEly+dny9by8vNSyZUu1bNlSkyZN0rhx4zRixAitWrVKrVq1umFCl1Vp346mMcZo7969ql27tqOtcOHCOnv2rMtrDx486PStsjuxRURE6IcfflBiYqLTFQC7d+92PJ8dIiIi9Pvvv8tutztdAXAr24mMjJS3t7c++eSTm95UICwsTIGBgfrzzz9dntu9e7e8vLxuegOD66X9fG3Hjh03PClJ6xMaGup0hcKtcvf4O3PmjFasWKFRo0bp3//+t6P9+uMuK+vOjLTx3bt3r9NVFadOncrUVQcdOnTQ+PHj9cknn9y0cJu2rRuNdbFixZyu8shOYWFhCggISHe/Xh9PxYoVZYxR+fLlVaVKlWzZfsWKFfXbb7/pypUrN7yyoWLFivrhhx/UsGHDHDnZBXBj5Lq4nZBzO8vLOXdGUlJSJF29uvra9d9KHpbZHCltW3v27HG6wvTKlSvav3+/7rrrrgy34+lzCXdERERkOr+UpPDw8Gw796hYsaKWLVum06dP3/Cq25zIa4H8JN/McRsZGakxY8bokUceSff55ORkvfTSSypdurSCgoJUv359rV692vH8rl27NHXqVC1atEgPP/ywypcvr7p166p169a59A5gdStXrtTrr7+u8uXLu8wHdK30ToDSvoVNTk6WJEfCkV5SlxUff/yx0890FixYoGPHjjnuFi9d/YO4bt06Xb582dH23Xff6fDhw07rcie2du3aKTU1Vf/5z3+c2idPniybzea0/VvRrl07HT9+3HEXVelqovfee+8pODhYTZs2dXudZcuWVf/+/RUTE6P33nvP5Xm73a63335bR44ckbe3tx588EEtWrTI6adwJ06c0GeffaZGjRq59ZN4SXrwwQcVEhKi8ePH69KlS07PpX2TXrduXVWsWFFvvfWWI6G9Vnx8vFvbTBMUFOTWsZf2zff13/BPmTIl3XVL2XdsS1evxvDx8dHUqVOd2q8/7m6kQYMGatu2rWbOnKlvvvnG5fnLly/rpZdeknR1rrE6depozpw5Tu9hx44diomJUbt27bL8Pm7G29tbbdq00TfffKNDhw452nft2qVly5Y59e3cubO8vb01atQol3ExxujUqVNub//RRx/VyZMn092vadvo0qWLUlNT9frrr7v0SUlJydZxB+CMXBe3C3JuV3k5587If//7X0lyFEmzIw/LbI507733KiwsTNOmTXMaq9mzZ2dqTDx9LuGOdu3aad26dVq/fr2jLT4+3uUXVG3atFFoaKjGjRunK1euuKwnK+cejz76qIwxGjVqlMtzaeOTE3ktkJ/kmytub2bQoEH6448/NG/ePJUqVUpff/212rZtq+3bt6ty5cr673//qwoVKui7775T27ZtZYxRq1atNGHChAznY0H+tGTJEu3evVspKSk6ceKEVq5cqeXLlysiIkLffvuty82krjV69GitWbNG7du3V0REhOLi4vTBBx+oTJkyatSokaSrCV2hQoU0bdo0hYSEOE6w0ptbNDOKFCmiRo0aqU+fPjpx4oSmTJmiSpUqqX///o4+/fr104IFC9S2bVt16dJFsbGx+uSTT5xuXOBubB06dFDz5s01YsQIHThwQHfddZdiYmK0aNEiDRkyxGXdWfX0009r+vTp6t27tzZt2qRy5cppwYIF+vnnnzVlypRM3RQgPW+//bZiY2P1/PPPa+HChXrooYdUuHBhHTp0SPPnz9fu3bvVrVs3SdKYMWO0fPlyNWrUSAMGDJCPj4+mT5+u5ORkTZgwwe1th4aGavLkyerXr5/uu+8+de/eXYULF9a2bdt04cIFzZkzR15eXpo5c6YiIyNVo0YN9enTR6VLl9bff/+tVatWKTQ01JHwuqNu3br64YcfNGnSJJUqVUrly5dPd96ra2Nt0qSJJkyYoCtXrqh06dKKiYnR/v370123JI0YMULdunVTgQIF1KFDh1u6SrV48eIaPHiw3n77bT388MNq27attm3bpiVLlqhYsWKZumLl448/1oMPPqjOnTurQ4cOatmypYKCgrRnzx7NmzdPx44d01tvvSXp6tQUkZGRatCggfr27auLFy/qvffeU8GCBTVy5Mgsv4/MGDVqlJYuXarGjRtrwIABjpOlGjVqOM1HW7FiRY0ZM0bDhw/XgQMH1KlTJ4WEhGj//v36+uuv9fTTTzuK0ZnVs2dPffzxxxo6dKjWr1+vxo0b6/z58/rhhx80YMAAdezYUU2bNtUzzzyj8ePHa+vWrXrwwQdVoEAB7dmzR/Pnz9c777yjxx57LLt3C4BMINdFXkTOfXvk3JL0999/65NPPpF09Uvzbdu2afr06S43Rr3VPCyzOVKBAgU0ZswYPfPMM2rRooW6du2q/fv3Kzo6OlNz3EqePZdwx8svv6y5c+eqbdu2Gjx4sIKCgjRjxgzHFdZpQkNDNXXqVPXo0UP33HOPunXrprCwMB06dEjff/+9GjZsmOkLJ9I0b95cPXr00Lvvvqs9e/Y4pln76aef1Pz/tffn8VHW5/74f01YQsCETQIoiIiAuyAuBa24FsXjAe3HWqsFOWrbX6FHi9VTjsdSSlts3c+p1bYqHPupYm3V9qNWpVS0blURrCsKIriwpApMghKW3L8//JI2DYRMSDJ3wvP5eMwf9z3vmbnmvmcm17xyz/s+/viYNGlSk/S10KokrVBEJPfdd1/18rJly5I2bdok77//fo1xJ554YjJlypQkSZLkq1/9alJYWJgcddRRyRNPPJE89thjyZAhQ5Ljjz++OUsnz2bOnJlERPWlffv2Sa9evZKTTz45ufHGG5NsNlvrNlOnTk3+8a00d+7cZMyYMckee+yRtG/fPtljjz2Sc845J3nzzTdr3O53v/tdcsABByRt27ZNIiKZOXNmkiRJMnLkyOTAAw/cZn0jR45MRo4cWb382GOPJRGR3HXXXcmUKVOS0tLSpKioKDnttNOSZcuW1br9tddem+y5555JYWFhcvTRRycvvPBCrfusq7bx48cn/fr1qzG2vLw8+eY3v5nsscceSbt27ZKBAwcmV199dVJVVVVjXEQkEydOrFVTv379kvHjx2/z+f6jVatWJRMmTEh23333pH379snBBx9cXdc/399pp522w/vbavPmzcmtt96afPazn006d+6ctGvXLunXr18yYcKEZMGCBTXGvvjii8moUaOS3XbbLenYsWNy/PHHJ08//XSNMVtfQ88//3yN9Vv31WOPPVZj/e9///tkxIgRSVFRUVJSUpIceeSRyV133VVjzIIFC5Izzzwz6d69e1JYWJj069cv+cIXvpDMnTu3eszW12FZWdk261m6dGn1ujfeeCM59thjk6KioiQiqrf/9u4jSZLkvffeS84444ykS5cuSefOnZOzzjor+eCDD5KISKZOnVpj7PTp05M999wzKSgoqPHY/7yvc9lWmzdvTq688sqkV69eSVFRUXLCCSckr7/+etK9e/fka1/7Wq16t+Xjjz9OrrnmmuSII45Idtttt6R9+/bJwIEDk2984xvJ4sWLa4z94x//mBx99NHV++X0009PXnvttRpjctnm23tfb2v7Pf7448mwYcOS9u3bJ/vss09yyy231Pqc2eq3v/1tcswxxySdOnVKOnXqlOy3337JxIkTk0WLFu3wsbf1fv7444+TK664Iunfv3/Srl27pFevXsn/+T//J1myZEmNcT//+c+TYcOGJUVFRUlxcXFy8MEHJ5dffnnywQcf1HocoPHpdWnp9Nx119baeu5+/frV2N8FBQVJaWlpcs4559TqwZJk5/qwrerTIyVJkvz0pz9N+vfvnxQWFiaHH3548sQTT2xzX21PPr9LjB8/PunUqVOtmra1r//6178mI0eOTDp06JDsueeeyfTp05PbbrutVs+69bFGjRqVdO7cOenQoUMyYMCA5Pzzz09eeOGFHT72tnrWzZs3J1dffXWy3377Je3bt0969OiRnHrqqcn8+fNrjKvvPoNdTSZJUjZDeSPIZDI1Ttjw4IMPxr/8y7/UOuKrsrIyzjzzzLj77rvjK1/5SvziF7+IRYsWVc+r8uKLL8awYcPi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eOWVV+LJJ5+sc9zw4cNj+PDh1csjRoyI/fffP372s5/F9OnTa42fMmVKTJ48uXo5m81G3759o0ePHlFSUtJ4T6AOFRUVsWTpsugyJKKqpLDOsWs+iViydFn1CdsAANixXE5WK7gFAIB6mjRpUjzwwAPxxBNPbPOo2bq0a9cuhg4dGosXL97m9YWFhVFYWDssLSgoiIKC5jmn8NapDz6dJCFT59gk/j61QnPVBwDQ0uXSN+mwAABgB5IkiUmTJsV9990Xf/rTn6J///4538eWLVvi5Zdfjt69ezdBhQAAtDaOuAUAgB2YOHFi3HnnnfG73/0uiouLY+XKlRER0blz5ygqKoqIiHHjxsWee+4ZM2bMiIiI733ve/GZz3wm9t1331i7dm1cffXVsWzZsrjwwgvz9jwAAGg5BLcAALADN998c0REHHfccTXWz5w5M84///yIiFi+fHmNn76tWbMmLrrooli5cmV07do1hg0bFk8//XQccMABzVU2AAAtmOAWAAB2IEmSHY6ZN29ejeXrr78+rr/++iaqCACA1s4ctwAAAAAAKSO4BQAAAABIGcEtAAAAAEDKCG4BAAAAAFJGcAsAAAAAkDKCWwAAAACAlBHcAgAAAACkjOAWAAAAACBlBLcAAAAAACkjuAUAAAAASBnBLQAAAABAyghuAQAAAABSRnALAAAAAJAyglsAAAAAgJQR3AIAAAAApIzgFgAAAAAgZQS3AAAAAAApI7gFAAAAAEgZwS0AAAAAQMoIbgEAAAAAUkZwCwAAAACQMoJbAAAAAICUEdwCAAAAAKSM4BYAAAAAIGUEtwAAAAAAKSO4BQAAAABIGcEtAAAAAEDKCG4BAAAAAFJGcAsAAAAAkDKpCW6vuuqqyGQycckll+S7FAAAAACAvEpFcPv888/Hz372szjkkEPyXQoAAAAAQN7lPbitqKiIc889N37xi19E165d810OAAAAAEDetc13ARMnTozTTjstTjrppPj+979f59jKysqorKysXs5msxERUVVVFVVVVU1aJwBAa5EkSWQymch8ulTn2ExEZDKZSJKk2fotfR0AAOQ5uJ09e3a8+OKL8fzzz9dr/IwZM2LatGm11peVlcWGDRsauzwAgFapvLw8BvTvF92LIooLKuscW1AUMaB/vygvL4/Vq1c3W30AALCry1tw++6778bFF18cc+bM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q7W+rKwsNmzY0BzlAgC0eOXl5TGgf7/oXhRRXFBZ59iCoogB/ftFeXl5rF69utnqAwCAXV3eg9v27dvHvvvuGxERw4YNi+effz5uvPHG+NnPflZr7JQpU2Ly5MnVy9lsNvr27Rs9evSIkpKSZqsZAKAlq6ioiCVLl0WXIRFVJYV1jl3zScSSpcuiuLg4SktLm6W+Dh06NMvjAABAmjUouH377bdjn332aexaIuLTn8b943QI/6iwsDAKC2t/uSgoKIiCgoImqQcAoLXZOvXBp5MkZOocm8Tfp1Zorn6rMR+nKftWAABoSg3qivfdd984/vjj4//+3/+7U1MUTJkyJZ544ol455134uWXX44pU6bEvHnz4txzz23wfQIAwFaN1bcCAEBza1Bw++KLL8YhhxwSkydPjl69esVXv/rVeO6553K+n9WrV8e4ceNi8ODBceKJJ8bzzz8fjzzySJx88skNKQsAAGporL4VAACaW4OC2yFDhsSNN94YH3zwQdx+++2xYsWKOOaYY+Kggw6K6667LsrKyup1P7fddlu88847UVlZGatXr44//vGPQlsAABpNY/WtAADQ3HZqArG2bdvGmWeeGffcc0/86Ec/isWLF8e3vvWt6Nu3b4wbNy5WrFjRWHUCAECD6VsBAGhpdiq4feGFF+LrX/969O7dO6677rr41re+FUuWLIk5c+bEBx98EGPGjGmsOgEAoMH0rQAAtDRtG3Kj6667LmbOnBmLFi2K0aNHxx133BGjR4+uPgNw//79Y9asWbH33ns3Zq0AAJATfSsAAC1Vg4Lbm2++Of7t3/4tzj///Ojdu/c2x5SWlsZtt922U8UBAMDO0LcCANBSNSi4feutt3Y4pn379jF+/PiG3D0AADQKfSsAAC1Vg+a4nTlzZtxzzz211t9zzz3xv//7vztdFAAANAZ9KwAALVWDgtsZM2bE7rvvXmt9aWlp/PCHP9zpogAAoDHoWwEAaKkaFNwuX748+vfvX2t9v379Yvny5TtdFAAANAZ9KwAALVWDgtvS0tL461//Wmv9Sy+9FN27d9/pogAAoDHoWwEAaKkaFNyec8458e///u/x2GOPxZYtW2LLli3xpz/9KS6++OL44he/2Ng1AgBAg+hbAQBoqdo25EbTp0+Pd955J0488cRo2/bTu6iqqopx48aZKwwAgNTQtwIA0FI1KLht37593H333TF9+vR46aWXoqioKA4++ODo169fY9cHAAANpm8FAKClalBwu9WgQYNi0KBBjVULAAA0CX0rAAAtTYOC2y1btsSsWbNi7ty5sXr16qiqqqpx/Z/+9KdGKQ4AAHZGY/WtTzzxRFx99dUxf/78WLFiRdx3330xduzY7Y6fN29eHH/88bXWr1ixInr16pXTcwAAYNfUoOD24osvjlmzZsVpp50WBx10UGQymcauCwAAdlpj9a3r16+PQw89NP7t3/4tzjzzzHrfbtGiRVFSUlK9XFpa2qDHBwBg19Og4Hb27Nnx61//OkaPHt3Y9QAAQKNprL711FNPjVNPPTXn25WWlkaXLl126rEBANg1FTTkRu3bt4999923sWsBAIBGle++dciQIdG7d+84+eST46mnnspbHQAAtDwNOuL20ksvjRtvvDF+8pOfmCYBAIDUylff2rt377jlllvi8MMPj8rKyrj11lvjuOOOi7/85S9x2GGHbfM2lZWVUVlZWb2czWYjIqKqqqrW3LxNJUmSyGQy8emWSuocm4mITCYTSZI0W30AAC1dLn1Tg4LbJ598Mh577LH4wx/+EAceeGC0a9euxvX33ntvQ+4WAAAaVb761sGDB8fgwYOrl0eMGBFLliyJ66+/Pn75y19u8zYzZsyIadOm1VpfVlYWGzZsaJI6/1l5eXkM6N8vuhdFFBdU1jm2oChiQP9+UV5eHqtXr26W+gAAWrry8vJ6j21QcNulS5c444wzGnJTAABoNmnqW4888sh48sknt3v9lClTYvLkydXL2Ww2+vbtGz169KhxgrOmVFFREUuWLosuQyKqSgrrHLvmk4glS5dFcXGxk64BANRThw4d6j22QcHtzJkzG3IzAABoVmnqWxcuXBi9e/fe7vWFhYVRWFg7LC0oKIiCggadmiJnW6c++HSShLqnlkji71MrNFd9AAAtXS59U4OC24iIzZs3x7x582LJkiXxpS99KYqLi+ODDz6IkpKS2G233Rp6twAA0Kgao2+tqKiIxYsXVy8vXbo0Fi5cGN26dYu99torpkyZEu+//37ccccdERFxww03RP/+/ePAAw+MDRs2xK233hp/+tOf4tFHH22S5wgAQOvToOB22bJlccopp8Ty5cujsrIyTj755CguLo4f/ehHUVlZGbfccktj1wkAADlrrL71hRdeiOOPP756eeuUBuPHj49Zs2bFihUrYvny5dXXb9y4MS699NJ4//33o2PHjnHIIYfEH//4xxr3AQAAdWlQcHvxxRfH4YcfHi+99FJ07969ev0ZZ5wRF110UaMVBwAAO6Ox+tbjjjsukiTZ7vWzZs2qsXz55ZfH5ZdfnnO9AACwVYOC2z//+c/x9NNPR/v27Wus33vvveP9999vlMIAAGBn6VsBAGipGnQWgaqqqtiyZUut9e+9914UFxfvdFEAANAY9K0AALRUDQpuP/e5z8UNN9xQvZzJZKKioiKmTp0ao0ePbqzaAABgp+hbAQBoqRo0VcK1114bo0aNigMOOCA2bNgQX/rSl+Ktt96K3XffPe66667GrhEAABpE3woAQEvVoOC2T58+8dJLL8Xs2bPjr3/9a1RUVMQFF1wQ5557bhQVFTV2jQAA0CD6VgAAWqoGBbcREW3bto3zzjuvMWsBAIBGp28FAKAlalBwe8cdd9R5/bhx4xpUDAAANCZ9KwAALVWDgtuLL764xvKmTZvi448/jvbt20fHjh01wAAApIK+FQCAlqqgITdas2ZNjUtFRUUsWrQojjnmGCd5AAAgNfStAAC0VA0Kbrdl4MCBcdVVV9U6qgEAANJE3woAQEvQaMFtxKcnfvjggw8a8y4BAKDR6VsBAEi7Bs1x+/vf/77GcpIksWLFivjJT34SRx99dKMUBgAAO0vfCgBAS9Wg4Hbs2LE1ljOZTPTo0SNOOOGEuPbaaxujLgAA2Gn6VgAAWqoGBbdVVVWNXQcAADQ6fSsAAC1Vo85xCwAAAADAzmvQEbeTJ0+u99jrrruuIQ8BAAA7Td8KAEBL1aDgdsGCBbFgwYLYtGlTDB48OCIi3nzzzWjTpk0cdthh1eMymUzjVAkAAA2gbwUAoKVqUHB7+umnR3Fxcfzv//5vdO3aNSIi1qxZExMmTIjPfvazcemllzZqkQAA0BD6VgAAWqoGzXF77bXXxowZM6qb34iIrl27xve//31n5wUAIDX0rQAAtFQNCm6z2WyUlZXVWl9WVhbl5eU7XRQAADQGfSsAAC1Vg4LbM844IyZMmBD33ntvvPfee/Hee+/Fb3/727jgggvizDPPbOwaAQCgQfStAAC0VA2a4/aWW26Jb33rW/GlL30pNm3a9OkdtW0bF1xwQVx99dWNWiAAADSUvhUAgJaqQcFtx44d46c//WlcffXVsWTJkoiIGDBgQHTq1KlRiwMAgJ2hbwUAoKVq0FQJW61YsSJWrFgRAwcOjE6dOkWSJI1VFwAANBp9KwAALU2DgtsPP/wwTjzxxBg0aFCMHj06VqxYERERF1xwQVx66aWNWiAAADSUvhUAgJaqQcHtN7/5zWjXrl0sX748OnbsWL3+7LPPjocffrjRigMAgJ2hbwUAoKVq0By3jz76aDzyyCPRp0+fGusHDhwYy5Yta5TCAABgZ+lbAQBoqRp0xO369etrHLGw1UcffRSFhYU7XRQAADQGfSsAAC1Vg4Lbz372s3HHHXdUL2cymaiqqoof//jHcfzxxzdacQAAsDP0rQAAtFQNmirhxz/+cZx44onxwgsvxMaNG+Pyyy+PV199NT766KN46qmnGrtGAABoEH0rAAAtVYOOuD3ooIPizTffjGOOOSbGjBkT69evjzPPPDMWLFgQAwYMaOwaAQCgQfStAAC0VDkfcbtp06Y45ZRT4pZbbokrrriiKWoCAICdpm8FAKAly/mI23bt2sVf//rXpqgFAAAajb4VAICWrEFTJZx33nlx2223NXYtAADQqPStAAC0VA06OdnmzZvj9ttvjz/+8Y8xbNiw6NSpU43rr7vuukYpDgAAdoa+FQCAliqn4Pbtt9+OvffeO1555ZU47LDDIiLizTffrDEmk8k0XnUAANAA+lYAAFq6nILbgQMHxooVK+Kxxx6LiIizzz47/vu//zt69uzZJMUBAEBD6FsBAGjpcprjNkmSGst/+MMfYv369Y1aEAAA7Cx9KwAALV2DTk621T83xAAAkEb6VgAAWpqcgttMJlNrLjBzgwEAkDb6VgAAWrqc5rhNkiTOP//8KCwsjIiIDRs2xNe+9rVaZ+e99957G69CAADIkb4VAICWLqfgdvz48TWWzzvvvEYtBgAAGoO+FQCAli6n4HbmzJlNVQcAADQafSsAAC3dTp2cDAAAAACAxie4BQAAAABIGcEtAAAAAEDK5DW4nTFjRhxxxBFRXFwcpaWlMXbs2Fi0aFE+SwIAAAAAyLu8BrePP/54TJw4MZ599tmYM2dObNq0KT73uc/F+vXr81kWAAAAAEBetc3ngz/88MM1lmfNmhWlpaUxf/78OPbYY/NUFQAAAABAfuU1uP1n69ati4iIbt26bfP6ysrKqKysrF7OZrMREVFVVRVVVVVNXyAAQCuQJElkMpnIfLpU59hMRGQymUiSpNn6LX0dAACkKLitqqqKSy65JI4++ug46KCDtjlmxowZMW3atFrry8rKYsOGDU1dIgBAq1BeXh4D+veL7kURxQWVdY4tKIoY0L9flJeXx+rVq5utPgAA2NWlJridOHFivPLKK/Hkk09ud8yUKVNi8uTJ1cvZbDb69u0bPXr0iJKSkuYoEwCgxauoqIglS5dFlyERVSWFdY5d80nEkqXLqk8m2xw6dOjQLI8DAABplorgdtKkSfHAAw/EE088EX369NnuuMLCwigsrP3loqCgIAoK8nqeNQCAFmPr1AefTpKQqXNsEn+fWqG5+i19HQAA5Dm4TZIkvvGNb8R9990X8+bNi/79++ezHAAAAACAVMhrcDtx4sS4884743e/+10UFxfHypUrIyKic+fOUVRUlM/SAAAAAADyJq+/Q7v55ptj3bp1cdxxx0Xv3r2rL3fffXc+ywIAAAAAyKu8T5UAAAAA5EdZWVlks9l6jy8pKYkePXo0YUUAbJWKk5MBAAAAzausrCzGTbgw1pZ/XO/bdCnuGHfMvFV4C9AMBLcAAACwC8pms7G2/OMYOPLzUdK9547Hf7gq3nr8t5HNZgW3AM1AcAsAAAC7sJLuPaNbzz75LgOAf5LXk5MBAAAAAFCb4BYAAAAAIGUEtwAAsANPPPFEnH766bHHHntEJpOJ+++/f4e3mTdvXhx22GFRWFgY++67b8yaNavJ6wQAoPUQ3AIAwA6sX78+Dj300LjpppvqNX7p0qVx2mmnxfHHHx8LFy6MSy65JC688MJ45JFHmrhSAABaCycnAwCAHTj11FPj1FNPrff4W265Jfr37x/XXnttRETsv//+8eSTT8b1118fo0aNaqoyAQBoRQS3AADQyJ555pk46aSTaqwbNWpUXHLJJdu9TWVlZVRWVlYvZ7PZiIioqqqKqqqqJqnznyVJEplMJjKfLtU5NhMRmUwmkiRptvqAxpXLez7C+x6gMeTy+Sm4BQCARrZy5cro2bNnjXU9e/aMbDYbn3zySRQVFdW6zYwZM2LatGm11peVlcWGDRuarNZ/VF5eHgP694vuRRHFBZV1ji0oihjQv1+Ul5fH6tWrm6U+oHHl8p6P8L4HaAzl5eX1Hiu4BQCAFJgyZUpMnjy5ejmbzUbfvn2jR48eUVJS0iw1VFRUxJKly6LLkIiqksI6x675JGLJ0mVRXFwcpaWlzVIf0Lhyec9HeN8DNIYOHTrUe6zgFgAAGlmvXr1i1apVNdatWrUqSkpKtnm0bUREYWFhFBbWDk4KCgqioKB5zim89SfQn/5gOlPn2CT+/jPr5qoPaFy5vOcjvO8BGkMun58+aQEAoJENHz485s6dW2PdnDlzYvjw4XmqCACAlkZwCwAAO1BRURELFy6MhQsXRkTE0qVLY+HChbF8+fKI+HSag3HjxlWP/9rXvhZvv/12XH755fHGG2/ET3/60/j1r38d3/zmN/NRPgAALZDgFgAAduCFF16IoUOHxtChQyMiYvLkyTF06ND4zne+ExERK1asqA5xIyL69+8fDz74YMyZMycOPfTQuPbaa+PWW2+NUaNG5aV+AABaHnPcAgDADhx33HGRJMl2r581a9Y2b7NgwYImrAoAgNbMEbcAAAAAACkjuAUAAAAASBnBLQAAAABAyghuAQAAAABSRnALAAAAAJAyglsAAAAAgJQR3AIAAAAApIzgFgAAAAAgZQS3AAAAAAApI7gFAAAAAEgZwS0AAAAAQMoIbgEAAAAAUkZwCwAAAACQMoJbAAAAAICUEdwCAAAAAKSM4BYAAAAAIGUEtwAAAAAAKSO4BQAAAABIGcEtAAAAAEDKCG4BAAAAAFJGcAsAAAAAkDKCWwAAAACAlBHcAgAAAACkjOAWAAAAACBlBLcAAAAAACkjuAUAAAAASBnBLQAAAABAyghuAQAAAABSRnALAAAAAJAyglsAAAAAgJQR3AIAAAAApIzgFgAAAAAgZQS3AAAAAAApI7gFAAAAAEgZwS0AAAAAQMoIbgEAAAAAUkZwCwAAAACQMoJbAAAAAICUEdwCAAAAAKSM4BYAAAAAIGUEtwAAAAAAKSO4BQAAAABIGcEtAAAAAEDKCG4BAAAAAFJGcAsAAAAAkDKCWwAAAACAlBHcAgAAAACkjOAWAAAAACBlBLcAAAAAACkjuAUAAAAASBnBLQAAAABAyghuAQAAAABSRnALAAAAAJAyeQ1un3jiiTj99NNjjz32iEwmE/fff38+ywEAAAAASIW8Brfr16+PQw89NG666aZ8lgEAAAAAkCpt8/ngp556apx66qn5LAEAAAAAIHXyGtzmqrKyMiorK6uXs9lsRERUVVVFVVVVvsoCAGhRkiSJTCYTmU+X6hybiYhMJhNJkjRbv6WvAwCAFhbczpgxI6ZNm1ZrfVlZWWzYsCEPFQEAtDzl5eUxoH+/6F4UUVxQWefYgqKIAf37RXl5eaxevbrZ6gMAgF1diwpup0yZEpMnT65ezmaz0bdv3+jRo0eUlJTksTIAgJajoqIilixdFl2GRFSVFNY5ds0nEUuWLovi4uIoLS1tlvo6dOjQLI8DAABp1qKC28LCwigsrP3loqCgIAoK8nqeNQCAFmPr1AefTpKQqXNsEn+fWqG5+i19HQAAROiKAQAAAABSJq/BbUVFRSxcuDAWLlwYERFLly6NhQsXxvLly/NZFgAA1HLTTTfF3nvvHR06dIijjjoqnnvuue2OnTVr1qcngPuHiykgAADIRV6D2xdeeCGGDh0aQ4cOjYiIyZMnx9ChQ+M73/lOPssCAIAa7r777pg8eXJMnTo1XnzxxTj00ENj1KhRdZ6wraSkJFasWFF9WbZsWTNWDABAS5fXOW6PO+64SJIknyVAKpSVlUU2m633+JKSkujRo0cTVgQA/KPrrrsuLrroopgwYUJERNxyyy3x4IMPxu233x7f/va3t3mbTCYTvXr1as4yAQBoRVrUycmgNSorK4txEy6MteUf1/s2XYo7xh0zbxXeAkAz2LhxY8yfPz+mTJlSva6goCBOOumkeOaZZ7Z7u4qKiujXr19UVVXFYYcdFj/84Q/jwAMP3O74ysrKqKysrF7e+k/dqqqqqKqqaoRnsmNbT0T36Snr6j7AIhN/P9Fdc9UHNK5c3vMR3vcAjSGXz0/BLeRZNpuNteUfx8CRn4+S7j13PP7DVfHW47+NbDYruAWAZvC3v/0ttmzZEj171vw73bNnz3jjjTe2eZvBgwfH7bffHoccckisW7currnmmhgxYkS8+uqr0adPn23eZsaMGTFt2rRa68vKymLDhg07/0Tqoby8PAb07xfdiyKKCyrrHFtQFDGgf78oLy+vc8oIIL1yec9HeN8DNIby8vJ6jxXcQkqUdO8Z3Xpu+4scANCyDB8+PIYPH169PGLEiNh///3jZz/7WUyfPn2bt5kyZUpMnjy5ejmbzUbfvn2jR48eUVJS0uQ1R3x6lPCSpcuiy5CIqpLCOseu+SRiydJlUVxcHKWlpc1SH9C4cnnPR3jfAzSGXE5YK7gFAIA67L777tGmTZtYtWpVjfWrVq2q9xy27dq1i6FDh8bixYu3O6awsDAKC2sHJwUFBVFQ0DznFN76E+hPfzCdqXNsEn//mXVz1Qc0rlze8xHe9wCNIZfPT5+0AABQh/bt28ewYcNi7ty51euqqqpi7ty5NY6qrcuWLVvi5Zdfjt69ezdVmQAAtDKOuAUAgB2YPHlyjB8/Pg4//PA48sgj44Ybboj169fHhAkTIiJi3Lhxseeee8aMGTMiIuJ73/tefOYzn4l999031q5dG1dffXUsW7YsLrzwwnw+DQAAWhDBLQAA7MDZZ58dZWVl8Z3vfCdWrlwZQ4YMiYcffrj6hGXLly+v8bO3NWvWxEUXXRQrV66Mrl27xrBhw+Lpp5+OAw44IF9PAQCAFkZwCwAA9TBp0qSYNGnSNq+bN29ejeXrr78+rr/++maoCgCA1soctwAAAAAAKSO4BQAAAABIGcEtAAAAAEDKCG4BAAAAAFLGyckAAACIsrKyyGaz9RpbUlISPXr0aOKKAGDXJrgFAADYxZWVlcW4CRfG2vKP6zW+S3HHuGPmrcJbAGhCglsAAIBdXDabjbXlH8fAkZ+Pku496x774ap46/HfRjabFdwCQBMS3AIAABARESXde0a3nn3yXQYAEE5OBgAAAACQOoJbAAAAAICUEdwCAAAAAKSM4BYAAAAAIGUEtwAAAAAAKSO4BQAAAABIGcEtAAAAAEDKCG4BAAAAAFJGcAsAAAAAkDJt810AAAAAADS2srKyyGaz9R5fUlISPXr0aMKKIDeCWwAAAABalbKyshg34cJYW/5xvW/Tpbhj3DHzVuEtqSG4BQAAAKBVyWazsbb84xg48vNR0r3njsd/uCreevy3kc1mBbekhuAWAAAAgFappHvP6NazT77LgAZxcjIAAAAAgJQR3AIAAAAApIzgFgAAAAAgZQS3AAAAAAApI7gFAAAAAEgZwS0AAAAAQMq0zXcBAAAAsFVZWVlks9l6jy8pKYkePXo0YUUAkB+CWwAAAFKhrKwsxk24MNaWf1zv23Qp7hh3zLxVeAtAqyO4BQAAIBWy2WysLf84Bo78fJR077nj8R+uirce/21ks1nBLQCtjuAWAACAVCnp3jO69eyT7zIAIK+cnAwAAAAAIGUEtwAAAAAAKSO4BQAAAABIGcEtAAAAAEDKCG4BAAAAAFKmbb4LAAAAAADSp6ysLLLZbL3GlpSURI8ePZq4ol2L4BYAAAAAqKGsrCzGTbgw1pZ/XK/xXYo7xh0zbxXeNiLBLQAAAABQQzabjbXlH8fAkZ+Pku496x774ap46/HfRjabFdw2IsEtAAAAALBNJd17RreeffJdxi7JyckAAAAAAFLGEbcAAAB5kstJXyKc+AUAdiWCWwAAgDzI9aQvEU78AgC7EsEtAABAHuRy0pcIJ34BgF2N4BYAACCPnPQFANgWJycDAAAAAEgZR9wCAAAAsF1OpAj5IbgFAAAAYJucSBHyR3ALAAAAwDY5kSLkj+AWAAAAgDo5kSI0PycnAwAAAABIGcEtAAAAAEDKCG4BAAAAAFJGcAsAAAAAkDJOTgYAAADNrKysLLLZbL3GlpSURI8ePZq4IgDSRnALAAAAzaisrCzGTbgw1pZ/XK/xXYo7xh0zbxXetgK5BPYRQnvY1QluAQAAWohNGzfGsmXL6jVW4FNbU4Zmudz3smXL4m9rs7H/CWdHSfeedY7Nfrgq3nr8t5HNZu3PFi7XwD5CaA+7OsEtAABAC/BJxbpYuvTtuOyK70b79oU7HC/wqakpQ7Nc73vDJx/H+ytWxGHF3aJbzz71roeWLZvNxtryj2PgyM/vMLCPENoDglsAAIAWYeOGTyIpaBsDjjkzSvv0q3OswKe2pgzNcr3v9996JZbde3ts3ryp3vXTepR07ymwhzDXd30IbgEAAFqQ4m49hD47oSlDs/re97q/rczpfnOZIiNi1w04gJbDXN/1I7gFAABoRPU9gmjZsmWxecvmZqiodatvqNmQ7d2U911fuU6REbHrBhxAy5HLLxUa8iuS1nI0byqC25tuuimuvvrqWLlyZRx66KHxP//zP3HkkUfmu6zUczZKgNbzBxlIv1x71nvuuSeuvPLKeOedd2LgwIHxox/9KEaPHt2MFafPrvCZncsRRNXznG70c/mGyiXUzHV7N+V95yKXKTIiTJMBtCxN8SuI1nQ0b96D27vvvjsmT54ct9xySxx11FFxww03xKhRo2LRokVRWlqa7/JSK21no9wVmnAgfVrTH2Qg3XLtWZ9++uk455xzYsaMGfEv//Ivceedd8bYsWPjxRdfjIMOOigPzyD/0vaZ3VT9ay5HELXkeU5z/en+xo0bo3379jscl+uRq7mEmrlu76a874bYFabI8L2S+kjLrxocTJdeTX00b3PKe3B73XXXxUUXXRQTJkyIiIhbbrklHnzwwbj99tvj29/+dp6rS6+mPhtlLh9AH374Yfznld+N9Rvq16Tk2oT7402+pekPci611PcL0lYt8f3Tmv4gA+mWa8964403ximnnBKXXXZZRERMnz495syZEz/5yU/illtuadba0yJNP4ls6v41on5HEOU6z2mucglXcwk4cv3p/qaNG+O9d5dF3737R9s2dX8FbeiRq/UJNRu6vZvyvptKGqZ4yFWa/rmTpv5/V9BUn99NeSR8Qw6m69i+Tcz4wfeie/fuOxzrNdU4WsOJAPMa3G7cuDHmz58fU6ZMqV5XUFAQJ510UjzzzDN5rKzlyOVFWN8/3rk2sls/DE8675vRrVfdtTQkQM7lwzCXD8KIdARsu9J/AXOtJZfgMde661tLru+HiKZrInN5P+TyBWmrtDS/DXkNtoY/yI0pLf/wStPnD+yMhvSszzzzTEyePLnGulGjRsX999/flKW2CPX9zM4ldGzq/vW1OXfFyy+/HP367fhn6mkJwnINV3MJOHL96f77b70Sby+7PfoPH5OKI1dbu6ae4iGX92Yu/fyyZcvib2uzsf8JZ9frnzu5vC9zqaUh/X99v4c25TzLEbkfuNFUR8JHpCN/aMjnSS7/9Kjv6zUiYvXyxTH3V/8d/7+Lv1Wvz+Rcs41c9n2u78tc9n1T/cNwV5bX4PZvf/tbbNmyJXr2rPki79mzZ7zxxhu1xldWVkZlZWX18rp16yIiYu3atVFVVdW0xf6DtWvXxpo1a5rt8bbl3XffjU0bK+PDD96JTRt2HOKUvft2LF36dlz67Suj3Q4+JDZu+Dg+WLU6hp18VpR03fGHRNl778Sy9z6IDevX77CWTZWfxMYNG+LVV1+t15f5d999N8o+XBO9Dj4mOhV3qXPsR6s/iBfn/Da+OumbO3yOW3UsbBPfuWJKdO3atV7j62vNmjUxfcZVsf6THX8Ibd3e/Ze9Va99mf1odb23YS51bJWGbRIRsXnjxvjgg/diz757RZt6BI+51N2Q/VPf98P68rWx4qU/xzPPPBN9+/bd4fhc5PJ+KHvvndi4bHl0GTAsuu2+42lnmrLuXPd9Lvsyl8/CXN47LVlTbu+mrKMpa6G2XN87W7Zs+fRoybVrm6W+re/RJEma5fF2JNeeNSJi5cqV2xy/cuX2j8pLQ6+bzWZjy5YtTfK5msvrLpfeNaJp+9eKj8oaVEt9eru1q9+LiIg1K96NtgU7vOucxq9e/lYkBW2j26Aj69ULbN0mZe++HVFVd8ixtY7NlRvq1b9u3rSh3uO3jm2KbdKU2ztN953Lvs9lv0fk9t7MtZ+vfu9UZKOoU3GdY3N9X+ZSS66fJ7l8D831u19Tbu+GbJOmqLspP79z/TxpSN31eb1GRHxSsbbe78tcs41c9mWD35f12PcN/dtdn/tuyp4j9b1ukkfvv/9+EhHJ008/XWP9ZZddlhx55JG1xk+dOjWJCBcXFxcXFxcXl13g8u677zZXW1qnXHvWJEmSdu3aJXfeeWeNdTfddFNSWlq63cfR67q4uLi4uLi47DqX+vS6eT3idvfdd482bdrEqlWraqxftWpV9OrVq9b4KVOm1PjJWVVVVXz00UfRvXv3yGQyTV5vPmSz2ejbt2+8++67UVJSku9ydkn2QX7Z/vlnH+SX7Z9/9kHzS5IkysvLY4899sh3KRGRe88aEdGrV6+cxkeko9f1em897MvWw75sPezL1sO+bD3ysS9z6XXzGty2b98+hg0bFnPnzo2xY8dGxKcN6ty5c2PSpEm1xhcWFkZhYc3Drbt06dIMleZfSUmJD4M8sw/yy/bPP/sgv2z//LMPmlfnzp3zXUK1XHvWiIjhw4fH3Llz45JLLqleN2fOnBg+fPh2HydNva7Xe+thX7Ye9mXrYV+2HvZl69Hc+7K+vW5eg9uIiMmTJ8f48ePj8MMPjyOPPDJuuOGGWL9+ffUZewEAIN921LOOGzcu9txzz5gxY0ZERFx88cUxcuTIuPbaa+O0006L2bNnxwsvvBA///nP8/k0AABoQfIe3J599tlRVlYW3/nOd2LlypUxZMiQePjhh2udzAEAAPJlRz3r8uXLo6Dg72c+GTFiRNx5553xX//1X/Gf//mfMXDgwLj//vvjoIMOytdTAACghcl7cBsRMWnSpO3+zGxXV1hYGFOnTq31szmaj32QX7Z//tkH+WX75599wFZ19azz5s2rte6ss86Ks846q4mralxe762Hfdl62Jeth33ZetiXrUfa92UmSZIk30UAAAAAAPB3BTseAgAAAABAcxLcAgAAAACkjOAWAAAAACBlBLcpcNNNN8Xee+8dHTp0iKOOOiqee+657Y79xS9+EZ/97Geja9eu0bVr1zjppJPqHE/95LIP7r333jj88MOjS5cu0alTpxgyZEj88pe/bMZqW59ctv8/mj17dmQymRg7dmzTFrgLyGUfzJo1KzKZTI1Lhw4dmrHa1ifX98DatWtj4sSJ0bt37ygsLIxBgwbFQw891EzVtk657IPjjjuu1nsgk8nEaaed1owVQ8Pl+plzzz33xH777RcdOnSIgw8+2OdNivge0Xroh1sPfV3rkeu+vOGGG2Lw4MFRVFQUffv2jW9+85uxYcOGZqqW7XniiSfi9NNPjz322CMymUzcf//9O7zNvHnz4rDDDovCwsLYd999Y9asWU1e53Yl5NXs2bOT9u3bJ7fffnvy6quvJhdddFHSpUuXZNWqVdsc/6UvfSm56aabkgULFiSvv/56cv755yedO3dO3nvvvWauvPXIdR889thjyb333pu89tpryeLFi5MbbrghadOmTfLwww83c+WtQ67bf6ulS5cme+65Z/LZz342GTNmTPMU20rlug9mzpyZlJSUJCtWrKi+rFy5spmrbj1y3f6VlZXJ4YcfnowePTp58sknk6VLlybz5s1LFi5c2MyVtx657oMPP/ywxuv/lVdeSdq0aZPMnDmzeQuHBsj19f7UU08lbdq0SX784x8nr732WvJf//VfSbt27ZKXX365mSvnn/ke0Xroh1sPfV3rkeu+/NWvfpUUFhYmv/rVr5KlS5cmjzzySNK7d+/km9/8ZjNXzj976KGHkiuuuCK59957k4hI7rvvvjrHv/3220nHjh2TyZMnJ6+99lryP//zP3nNfAS3eXbkkUcmEydOrF7esmVLssceeyQzZsyo1+03b96cFBcXJ//7v//bVCW2eju7D5IkSYYOHZr813/9V1OU1+o1ZPtv3rw5GTFiRHLrrbcm48eP16jupFz3wcyZM5POnTs3U3WtX67b/+abb0722WefZOPGjc1VYqu3s38Hrr/++qS4uDipqKhoqhKh0eT6ev/CF76QnHbaaTXWHXXUUclXv/rVJq2THfM9ovXQD7ce+rrWI9d9OXHixOSEE06osW7y5MnJ0Ucf3aR1kpv6BLeXX355cuCBB9ZYd/bZZyejRo1qwsq2z1QJebRx48aYP39+nHTSSdXrCgoK4qSTTopnnnmmXvfx8ccfx6ZNm6Jbt25NVWartrP7IEmSmDt3bixatCiOPfbYpiy1VWro9v/e974XpaWlccEFFzRHma1aQ/dBRUVF9OvXL/r27RtjxoyJV199tTnKbXUasv1///vfx/Dhw2PixInRs2fPOOigg+KHP/xhbNmypbnKblUa42/xbbfdFl/84hejU6dOTVUmNIqGvN6feeaZGuMjIkaNGlXv9wdNw/eI1kM/3Hro61qPhuzLESNGxPz586unU3j77bfjoYceitGjRzdLzTSetPU+bfPyqERExN/+9rfYsmVL9OzZs8b6nj17xhtvvFGv+/iP//iP2GOPPWq9qKifhu6DdevWxZ577hmVlZXRpk2b+OlPfxonn3xyU5fb6jRk+z/55JNx2223xcKFC5uhwtavIftg8ODBcfvtt8chhxwS69ati2uuuSZGjBgRr776avTp06c5ym41GrL933777fjTn/4U5557bjz00EOxePHi+PrXvx6bNm2KqVOnNkfZrcrO/i1+7rnn4pVXXonbbrutqUqERtOQ1/vKlSu3OX7lypVNVic75ntE66Efbj30da1HQ/bll770pfjb3/4WxxxzTCRJEps3b46vfe1r8Z//+Z/NUTKNaHu9TzabjU8++SSKioqatR7BbQt21VVXxezZs2PevHlODNTMiouLY+HChVFRURFz586NyZMnxz777BPHHXdcvktr1crLy+PLX/5y/OIXv4jdd9893+XssoYPHx7Dhw+vXh4xYkTsv//+8bOf/SymT5+ex8p2DVVVVVFaWho///nPo02bNjFs2LB4//334+qrr9bg58Ftt90WBx98cBx55JH5LgWg3nyPaLn0w62Lvq71mDdvXvzwhz+Mn/70p3HUUUfF4sWL4+KLL47p06fHlVdeme/yaMEEt3m0++67R5s2bWLVqlU11q9atSp69epV522vueaauOqqq+KPf/xjHHLIIU1ZZqvW0H1QUFAQ++67b0REDBkyJF5//fWYMWOG4DZHuW7/JUuWxDvvvBOnn3569bqqqqqIiGjbtm0sWrQoBgwY0LRFtzI78zm0Vbt27WLo0KGxePHipiixVWvI9u/du3e0a9cu2rRpU71u//33j5UrV8bGjRujffv2TVpza7Mz74H169fH7Nmz43vf+15TlgiNpiGv9169eu3U3wiahu8RrYd+uPXQ17UeDdmXV155ZXz5y1+OCy+8MCIiDj744Fi/fn185StfiSuuuCIKCsxU2lJsr/cpKSlp9qNtIyK8cvKoffv2MWzYsJg7d271uqqqqpg7d26No9n+2Y9//OOYPn16PPzww3H44Yc3R6mtVkP3wT+rqqqKysrKpiixVct1+++3337x8ssvx8KFC6sv//qv/xrHH398LFy4MPr27duc5bcKjfEe2LJlS7z88svRu3fvpiqz1WrI9j/66KNj8eLF1V/SIiLefPPN6N27t+a+AXbmPXDPPfdEZWVlnHfeeU1dJjSKhrzehw8fXmN8RMScOXNy6pNofL5HtB764dZDX9d6NGRffvzxx7XC2a2BfJIkTVcsjS51vU9eTolGtdmzZyeFhYXJrFmzktdeey35yle+knTp0iVZuXJlkiRJ8uUvfzn59re/XT3+qquuStq3b5/85je/SVasWFF9KS8vz9dTaPFy3Qc//OEPk0cffTRZsmRJ8tprryXXXHNN0rZt2+QXv/hFvp5Ci5br9v9nzqK783LdB9OmTUseeeSRZMmSJcn8+fOTL37xi0mHDh2SV199NV9PoUXLdfsvX748KS4uTiZNmpQsWrQoeeCBB5LS0tLk+9//fr6eQovX0M+hY445Jjn77LObu1zYKbm+3p966qmkbdu2yTXXXJO8/vrrydSpU5N27dolL7/8cr6eAv8f3yNaD/1w66Gvaz1y3ZdTp05NiouLk7vuuit5++23k0cffTQZMGBA8oUvfCFfT4H/T3l5ebJgwYJkwYIFSUQk1113XbJgwYJk2bJlSZIkybe//e3ky1/+cvX4t99+O+nYsWNy2WWXJa+//npy0003JW3atEkefvjhvNQvuE2B//mf/0n22muvpH379smRRx6ZPPvss9XXjRw5Mhk/fnz1cr9+/ZKIqHWZOnVq8xfeiuSyD6644opk3333TTp06JB07do1GT58eDJ79uw8VN165LL9/5lGtXHksg8uueSS6rE9e/ZMRo8enbz44ot5qLr1yPU98PTTTydHHXVUUlhYmOyzzz7JD37wg2Tz5s3NXHXrkus+eOONN5KISB599NFmrhR2Xq6v91//+tfJoEGDkvbt2ycHHnhg8uCDDzZzxWyP7xGth3649dDXtR657MtNmzYl3/3ud5MBAwYkHTp0SPr27Zt8/etfT9asWdP8hVPDY489ts2/f1v33/jx45ORI0fWus2QIUOS9u3bJ/vss08yc+bMZq97q0ySOGYbAAAAACBNzHELAAAAAJAyglsAAAAAgJQR3AIAAAAApIzgFgAAAAAgZQS3AAAAAAApI7gFAAAAAEgZwS0AAAAAQMoIbgEAAAAAUkZwC1BPSZLEV77ylejWrVtkMplYuHBhHHfccXHJJZfUebu99947brjhhmapEQAAGkKvC5A+glugxVu5cmV84xvfiH322ScKCwujb9++cfrpp8fcuXMb9XEefvjhmDVrVjzwwAOxYsWKOOigg+Lee++N6dOnN+rj5Mt9990Xn/nMZ6Jz585RXFwcBx544A4bdQAAmpZet3HodYGWqG2+CwDYGe+8804cffTR0aVLl7j66qvj4IMPjk2bNsUjjzwSEydOjDfeeKPRHmvJkiXRu3fvGDFiRPW6bt26Ndr959PcuXPj7LPPjh/84Afxr//6r5HJZOK1116LOXPmNNljbtmyJTKZTBQU+B8iAMC26HUbh14XaKl8ggAt2te//vXIZDLx3HPPxec///kYNGhQHHjggTF58uR49tlnq8ctX748xowZE7vttluUlJTEF77whVi1alX19d/97ndjyJAh8ctf/jL23nvv6Ny5c3zxi1+M8vLyiIg4//zz4xvf+EYsX748MplM7L333hERtX4+tnr16jj99NOjqKgo+vfvH7/61a9q1bx27dq48MILo0ePHlFSUhInnHBCvPTSS/WuJSKiqqoqfvzjH8e+++4bhYWFsddee8UPfvCD6uvffffd+MIXvhBdunSJbt26xZgxY+Kdd97Z7nb8f//v/8XRRx8dl112WQwePDgGDRoUY8eOjZtuuqnWuCOOOCI6dOgQu+++e5xxxhnV161ZsybGjRsXXbt2jY4dO8app54ab731VvX1s2bNii5dusTvf//7OOCAA6KwsDCWL18elZWV8a1vfSv23HPP6NSpUxx11FExb9687dYKALCr0OvqdYFdm+AWaLE++uijePjhh2PixInRqVOnWtd36dIlIj5t/MaMGRMfffRRPP744zFnzpx4++234+yzz64xfsmSJXH//ffHAw88EA888EA8/vjjcdVVV0VExI033hjf+973ok+fPrFixYp4/vnnt1nT+eefH++++2489thj8Zvf/CZ++tOfxurVq2uMOeuss2L16tXxhz/8IebPnx+HHXZYnHjiifHRRx/Vq5aIiClTpsRVV10VV155Zbz22mtx5513Rs+ePSMiYtOmTTFq1KgoLi6OP//5z/HUU0/FbrvtFqecckps3Lhxm3X36tUrXn311XjllVe2u70ffPDBOOOMM2L06NGxYMGCmDt3bhx55JE1nvsLL7wQv//97+OZZ56JJEli9OjRsWnTpuoxH3/8cfzoRz+KW2+9NV599dUoLS2NSZMmxTPPPBOzZ8+Ov/71r3HWWWfFKaecUqMRBgDY1eh19boAkQC0UH/5y1+SiEjuvffeOsc9+uijSZs2bZLly5dXr3v11VeTiEiee+65JEmSZOrUqUnHjh2TbDZbPeayyy5LjjrqqOrl66+/PunXr1+N+x45cmRy8cUXJ0mSJIsWLapxn0mSJK+//noSEcn111+fJEmS/PnPf05KSkqSDRs21LifAQMGJD/72c/qVUs2m00KCwuTX/ziF9t8vr/85S+TwYMHJ1VVVdXrKisrk6KiouSRRx7Z5m0qKiqS0aNHJxGR9OvXLzn77LOT2267rUadw4cPT84999xt3v7NN99MIiJ56qmnqtf97W9/S4qKipJf//rXSZIkycyZM5OISBYuXFg9ZtmyZUmbNm2S999/v8b9nXjiicmUKVO2+VgAALsCva5eF8Act0CLlSRJvca9/vrr0bdv3+jbt2/1ugMOOCC6dOkSr7/+ehxxxBER8ekZcYuLi6vH9O7du9YRBDt6nLZt28awYcOq1+23337VR0NERLz00ktRUVER3bt3r3HbTz75JJYsWVK9XFctr7/+elRWVsaJJ564zTpeeumlWLx4cY3bR0Rs2LChxmP8o06dOsWDDz4YS5YsicceeyyeffbZuPTSS+PGG2+MZ555Jjp27BgLFy6Miy66qM7nftRRR1Wv6969ewwePDhef/316nXt27ePQw45pHr55Zdfji1btsSgQYNq3F9lZWWtbQQAsCvR6+p1AQS3QIs1cODAyGQyjXZShnbt2tVYzmQyUVVV1Sj3vVVFRUX07t17m/Na/WPTW1ctRUVFO3yMYcOGbXPOsR49etR52wEDBsSAAQPiwgsvjCuuuCIGDRoUd999d0yYMGGHj1sfRUVFkclkatTapk2bmD9/frRp06bG2N12222nHw8AoKXS627/MfS6wK7CHLdAi9WtW7cYNWpU3HTTTbF+/fpa169duzYiIvbff/9499134913362+7rXXXou1a9fGAQcc0Gj17LfffrF58+aYP39+9bpFixZV1xERcdhhh8XKlSujbdu2se+++9a47L777vV6nIEDB0ZRUVHMnTt3m9cfdthh8dZbb0VpaWmtx+jcuXO9n8/ee+8dHTt2rN62hxxyyHYfc//994/NmzfHX/7yl+p1H374YSxatKjObTx06NDYsmVLrF69ulatvXr1qnetAACtjV5XrwsguAVatJtuuim2bNkSRx55ZPz2t7+Nt956K15//fX47//+7xg+fHhERJx00klx8MEHx7nnnhsvvvhiPPfcczFu3LgYOXJkHH744Y1Wy+DBg+OUU06Jr371q/GXv/wl5s+fHxdeeGGN/96fdNJJMXz48Bg7dmw8+uij8c4778TTTz8dV1xxRbzwwgv1epwOHTrEf/zHf8Tll18ed9xxRyxZsiSeffbZuO222yIi4txzz43dd989xowZE3/+859j6dKlMW/evPj3f//3eO+997Z5n9/97nfj8ssvj3nz5sXSpUtjwYIF8W//9m+xadOmOPnkkyMiYurUqXHXXXfF1KlT4/XXX4+XX345fvSjH0XEpw32mDFj4qKLLoonn3wyXnrppTjvvPNizz33jDFjxmz3uQwaNCjOPffcGDduXNx7772xdOnSeO6552LGjBnx4IMP1mt7AAC0VnpdvS6waxPcAi3aPvvsEy+++GIcf/zxcemll8ZBBx0UJ598csydOzduvvnmiPj0p1e/+93vomvXrnHsscfGSSedFPvss0/cfffdjV7PzJkzY4899oiRI0fGmWeeGV/5yleitLS0+vpMJhMPPfRQHHvssTFhwoQYNGhQfPGLX4xly5ZVnym3Pq688sq49NJL4zvf+U7sv//+cfbZZ1fPC9axY8d44oknYq+99oozzzwz9t9//7jgggtiw4YNUVJSss37GzlyZLz99tsxbty42G+//eLUU0+NlStXxqOPPhqDBw+OiIjjjjsu7rnnnvj9738fQ4YMiRNOOCGee+65Gs992LBh8S//8i8xfPjwSJIkHnrooVo/hdvWNhs3blxceumlMXjw4Bg7dmw8//zzsddee9V7ewAAtEZ6Xb0usGvLJPWd8RwAAAAAgGbhiFsAAAAAgJQR3AIAAAAApIzgFgAAAAAgZQS3AAAAAAApI7gFAAAAAEgZwS0AAAAAQMoIbgEAAAAAUkZwCwAAAACQMoJbAAAAAICUEdwCAAAAAKSM4BYAAAAAIGUEtwAAAAAAKfP/B/XJ+wTSLypcAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 情绪状态分布图\n", + "emotion_columns = ['Average_confidence(FRUSTRATED)', 'Average_confidence(CONFUSED)', \n", + " 'Average_confidence(CONCENTRATING)', 'Average_confidence(BORED)']\n", + "emotion_labels = ['Frustrated', 'Confused', 'Concentrating', 'Bored']\n", + "\n", + "fig, axes = plt.subplots(2, 2, figsize=(14, 10))\n", + "axes = axes.ravel()\n", + "\n", + "for i, (col, label) in enumerate(zip(emotion_columns, emotion_labels)):\n", + " if col in data.columns:\n", + " axes[i].hist(data[col].dropna(), bins=50, color='steelblue', edgecolor='black', alpha=0.7)\n", + " axes[i].set_title(f'Distribution of {label} Confidence')\n", + " axes[i].set_xlabel('Confidence Score')\n", + " axes[i].set_ylabel('Frequency')\n", + " axes[i].grid(axis='y', alpha=0.3)\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "89342823", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAQ6BJREFUeJzt3XmYlXXBP/73GZABWQQURRIBNwQFNdRS1DQxJTPNDNcS3J4nNRW0jHxKsJQsMdRMeypBK83cy1Jc0eTJXVxxAXFfgFxYdFCY8/vDn/N1GNQZnZvD4Ot1XXNdnM/53Pf9PsNcc8577q1ULpfLAQAAAJpdVaUDAAAAwMpK6QYAAICCKN0AAABQEKUbAAAACqJ0AwAAQEGUbgAAACiI0g0AAAAFUboBAACgIEo3AAAAFETpBmCFMGbMmJRKpeWyrR133DE77rhj3eMpU6akVCrl8ssvXy7bHz58eHr37r1ctvVJLViwIIcddli6d++eUqmU4447rtKRVirL8+cdgMpSugFodpMmTUqpVKr7atu2bXr06JFdd901Z599dubPn98s23nppZcyZsyYTJs2rVnW15xW5GyNcdppp2XSpEn57ne/mz/+8Y/59re/3WDO+8Xx474++AeOj3LxxRdnwoQJzftCPkbv3r1TKpUyZMiQZT7/u9/9ru513Hvvvcs1GwArh9aVDgDAyuuUU05Jnz598u677+aVV17JlClTctxxx+XMM8/M3/72twwcOLBu7v/8z//khz/8YZPW/9JLL2Xs2LHp3bt3Nt9880Yvd8MNNzRpO5/ER2X73e9+l9ra2sIzfBq33HJLvvjFL+bkk0/+0Dl77713Nthgg7rHCxYsyHe/+9184xvfyN577103vtZaazVqmxdffHEeeeSR5b5XvW3btrn11lvzyiuvpHv37vWe+/Of/5y2bdumpqZmuWYCYOWhdANQmKFDh2bLLbesezx69Ojccsst+drXvpavf/3rmT59etq1a5ckad26dVq3LvZt6a233sqqq66aNm3aFLqdj7PKKqtUdPuNMXv27PTv3/8j5wwcOLDeH07mzp2b7373uxk4cGAOOuigoiM2yuLFi1NbW/uR/+eDBw/OPffck0svvTTHHnts3fgLL7yQf/3rX/nGN76RK664YnnEBWAl5PByAJarL3/5y/nxj3+cZ599Nn/605/qxpd1juuNN96Y7bbbLp07d06HDh3St2/f/OhHP0ry3nnYW221VZJkxIgRdYcAT5o0Kcl7521vuummue+++7LDDjtk1VVXrVt26XO637dkyZL86Ec/Svfu3dO+fft8/etfz/PPP19vTu/evTN8+PAGy35wnR+XbVnndC9cuDDHH398evbsmerq6vTt2zdnnHFGyuVyvXmlUilHH310rr766my66aaprq7OJptskuuvv37Z3/ClzJ49O4ceemjWWmuttG3bNptttlkuvPDCuuffP7991qxZ+cc//lGX/ZlnnmnU+pf2/qkGSy///namTJmS5L3v3z/+8Y88++yzddv84Pfo43InyTPPPJNSqZQzzjgjEyZMyPrrr5/q6uo89thjH5mxbdu22XvvvXPxxRfXG7/kkkvSpUuX7Lrrrstc7pZbbsn222+f9u3bp3Pnztlzzz0zffr0BvPuuOOObLXVVmnbtm3WX3/9/Pa3v/3QLH/6058yaNCgtGvXLl27ds1+++3X4GcQgJbFnm4Alrtvf/vb+dGPfpQbbrghhx9++DLnPProo/na176WgQMH5pRTTkl1dXVmzJiRqVOnJkn69euXU045JT/5yU9yxBFHZPvtt0+SbLvttnXr+M9//pOhQ4dmv/32y0EHHfSxhzmfeuqpKZVKOfHEEzN79uxMmDAhQ4YMybRp0+r2yDdGY7J9ULlczte//vXceuutOfTQQ7P55ptn8uTJ+f73v58XX3wxv/rVr+rNv+OOO3LllVfmyCOPTMeOHXP22Wfnm9/8Zp577rmsvvrqH5rr7bffzo477pgZM2bk6KOPTp8+fXLZZZdl+PDheeONN3LsscemX79++eMf/5iRI0dmnXXWyfHHH58k6datW6Nf/ydx0kkn5c0338wLL7xQ93o7dOjQ6NwfNHHixNTU1OSII45IdXV1unbt+rHbP+CAA/KVr3wlM2fOzPrrr5/kvcPd99lnn2UemXDTTTdl6NChWW+99TJmzJi8/fbbOeecczJ48ODcf//9dX8wePjhh/OVr3wl3bp1y5gxY7J48eKcfPLJy/xZPPXUU/PjH/84w4YNy2GHHZY5c+bknHPOyQ477JAHHnggnTt3bsq3FIAVRRkAmtnEiRPLScr33HPPh85ZbbXVyltssUXd45NPPrn8wbelX/3qV+Uk5Tlz5nzoOu65555ykvLEiRMbPPelL32pnKR8/vnnL/O5L33pS3WPb7311nKS8uc+97nyvHnz6sb/+te/lpOUzzrrrLqxXr16lQ8++OCPXedHZTv44IPLvXr1qnt89dVXl5OUf/azn9Wbt88++5RLpVJ5xowZdWNJym3atKk39uCDD5aTlM8555wG2/qgCRMmlJOU//SnP9WNvfPOO+Vtttmm3KFDh3qvvVevXuXdd9/9I9e3tDlz5pSTlE8++eS6sfd/FmbNmlVv7vvf81tvvbVubPfdd6/3fWlq7lmzZpWTlDt16lSePXt2ozK//zoXL15c7t69e/mnP/1puVwulx977LFykvJtt922zJ/nzTffvLzmmmuW//Of/9SNPfjgg+Wqqqryd77znbqxvfbaq9y2bdvys88+Wzf22GOPlVu1alXv5/2ZZ54pt2rVqnzqqafWy/fwww+XW7du3WAcgJbD4eUAVESHDh0+8irm7+/Vu+aaaz7xRceqq6szYsSIRs//zne+k44dO9Y93meffbL22mvnn//85yfafmP985//TKtWrXLMMcfUGz/++ONTLpdz3XXX1RsfMmRI3d7Y5L1zqzt16pSnn376Y7fTvXv37L///nVjq6yySo455pgsWLAgt912WzO8mubX1Nzf/OY3m7xnvlWrVhk2bFguueSSJO9dQK1nz551Ryl80Msvv5xp06Zl+PDh9faiDxw4MLvsskvdz8uSJUsyefLk7LXXXll33XXr5vXr16/BIetXXnllamtrM2zYsMydO7fuq3v37tlwww1z6623Nun1ALDiWGlK9+2335499tgjPXr0SKlUytVXX93kdZTL5ZxxxhnZaKONUl1dnc997nM59dRTmz8sAFmwYEG9gru0fffdN4MHD85hhx2WtdZaK/vtt1/++te/NqmAf+5zn2vSRdM23HDDeo9LpVI22GCDT3w+c2M9++yz6dGjR4PvR79+/eqe/6APFrj3denSJa+//vrHbmfDDTdMVVX9t/8P286Koqm5+/Tp84m2c8ABB+Sxxx7Lgw8+mIsvvjj77bffMu+l/f72+vbt2+C5fv36Ze7cuVm4cGHmzJmTt99+u8HP1bKWfeqpp1Iul7PhhhumW7du9b6mT5+e2bNnf6LXBEDlrTTndC9cuDCbbbZZDjnkkHq3KWmKY489NjfccEPOOOOMDBgwIK+99lpee+21Zk4KwAsvvJA333yz3u2mltauXbvcfvvtufXWW/OPf/wj119/fS699NJ8+ctfzg033JBWrVp97Haach52Yy2rhCXv7dVsTKbm8GHbKS910bUVwUd9v4rySf/fv/CFL2T99dfPcccdl1mzZuWAAw5o5mQfrra2NqVSKdddd90y/3/fP78dgJZnpSndQ4cOzdChQz/0+UWLFuWkk07KJZdckjfeeCObbrppTj/99LorzU6fPj3nnXdeHnnkkbq/Pn/Sv5QD8NH++Mc/JsmHXhX6fVVVVdl5552z884758wzz8xpp52Wk046KbfeemuGDBnyoYXuk3rqqafqPS6Xy5kxY0a922J16dIlb7zxRoNln3322ay33np1j5uSrVevXrnpppsyf/78enu7H3/88brnm0OvXr3y0EMPpba2tt5e4+bezgd16dIlSRp8z5a1V/3DvmfLM/f++++fn/3sZ+nXr9+H3vv9/e098cQTDZ57/PHHs8Yaa6R9+/Zp27Zt2rVr1+DnalnLrr/++imXy+nTp0822mijT/9CAFhhrDSHl3+co48+Ov/+97/zl7/8JQ899FC+9a1vZbfddqt7I/z73/+e9dZbL9dee2369OmT3r1757DDDrOnG6CZ3XLLLfnpT3+aPn365MADD/zQecv6/ft+CVq0aFGSpH379kkaFrpP6qKLLqp3nvnll1+el19+ud4fdddff/3ceeedeeedd+rGrr322ga3dWpKtq9+9atZsmRJfv3rX9cb/9WvfpVSqfSRf1Ruiq9+9at55ZVXcumll9aNLV68OOecc046dOiQL33pS82ynQ96/9zz22+/vW5syZIl+d///d8Gc9u3b58333yzorkPO+ywnHzyyRk/fvyHzll77bWz+eab58ILL6z3//vII4/khhtuyFe/+tUk7x2RsOuuu+bqq6/Oc889Vzdv+vTpmTx5cr117r333mnVqlXGjh3b4IiFcrmc//znP83w6gCohJVmT/dHee655zJx4sQ899xz6dGjR5LkhBNOyPXXX5+JEyfmtNNOy9NPP51nn302l112WS666KIsWbIkI0eOzD777JNbbrmlwq8AoGW67rrr8vjjj2fx4sV59dVXc8stt+TGG29Mr1698re//S1t27b90GVPOeWU3H777dl9993Tq1evzJ49O7/5zW+yzjrrZLvttkvyXqHr3Llzzj///HTs2DHt27fPF77whU98pFLXrl2z3XbbZcSIEXn11VczYcKEbLDBBvVua3bYYYfl8ssvz2677ZZhw4Zl5syZ+dOf/lTvwmZNzbbHHntkp512ykknnZRnnnkmm222WW644YZcc801Oe644xqs+5M64ogj8tvf/jbDhw/Pfffdl969e+fyyy/P1KlTM2HChI88x/6T2mSTTfLFL34xo0ePzmuvvZauXbvmL3/5SxYvXtxg7qBBg3LppZdm1KhR2WqrrdKhQ4fsscceyzV3r169MmbMmI+d98tf/jJDhw7NNttsk0MPPbTulmGrrbZaveXHjh2b66+/Pttvv32OPPLIuj8WbLLJJnnooYfq5q2//vr52c9+ltGjR+eZZ57JXnvtlY4dO2bWrFm56qqrcsQRR+SEE05ottcJwHJUuQunFydJ+aqrrqp7fO2115aTlNu3b1/vq3Xr1uVhw4aVy+Vy+fDDDy8nKT/xxBN1y913333lJOXHH398eb8EgBbt/Vssvf/Vpk2bcvfu3cu77LJL+ayzzqp3a6r3LX3LsJtvvrm85557lnv06FFu06ZNuUePHuX999+//OSTT9Zb7pprrin379+/3Lp163q36PrSl75U3mSTTZaZ78NuGXbJJZeUR48eXV5zzTXL7dq1K+++++71bvX0vvHjx5c/97nPlaurq8uDBw8u33vvvQ3W+VHZlr5lWLlcLs+fP788cuTIco8ePcqrrLJKecMNNyz/8pe/LNfW1tabl6R81FFHNcj0YbcyW9qrr75aHjFiRHmNNdYot2nTpjxgwIBl3tasuW4ZVi6XyzNnziwPGTKkXF1dXV5rrbXKP/rRj8o33nhjg1uGLViwoHzAAQeUO3fuXE5S73vUmNzv3zLsl7/8ZaMzN+Z1ftgt8G666aby4MGDy+3atSt36tSpvMcee5Qfe+yxBsvfdttt5UGDBpXbtGlTXm+99crnn39+g5/3911xxRXl7bbbru6zysYbb1w+6qij6n0+AaBlKZXLK+BVVz6lUqmUq666KnvttVeS5NJLL82BBx6YRx99tMHFSTp06JDu3bvn5JNPzmmnnZZ333237rm33347q666am644Ybssssuy/MlAAAAsBL4TBxevsUWW2TJkiWZPXv2Mu+3mSSDBw/O4sWLM3PmzLrD+J588skkxVxYBgAAgJXfSrOne8GCBZkxY0aS90r2mWeemZ122ildu3bNuuuum4MOOihTp07N+PHjs8UWW2TOnDm5+eabM3DgwOy+++6pra2tO39swoQJqa2tzVFHHZVOnTrlhhtuqPCrAwAAoCVaaUr3lClTstNOOzUYP/jggzNp0qS8++67+dnPfpaLLrooL774YtZYY4188YtfzNixYzNgwIAkyUsvvZTvfe97ueGGG9K+ffsMHTo048ePT9euXZf3ywEAAGAlsNKUbgAAAFjRfGbu0w0AAADLm9INAAAABWnRVy+vra3NSy+9lI4dO6ZUKlU6DgAAAJ8R5XI58+fPT48ePVJV9eH7s1t06X7ppZfSs2fPSscAAADgM+r555/POuus86HPt+jS3bFjxyTvvchOnTpVOA0AAACfFfPmzUvPnj3reumHadGl+/1Dyjt16qR0AwAAsNx93KnOLqQGAAAABVG6AQAAoCBKNwAAABRE6QYAAICCKN0AAABQEKUbAAAACqJ0AwAAQEGUbgAAACiI0g0AAAAFUboBAACgIEo3AAAAFETpBgAAgIIo3QAAAFAQpRsAAAAKonQDAABAQZRuAAAAKIjSDQAAAAVRugEAAKAgSjcAAAAUROkGAACAgrSudABY2nPPPZe5c+dWOgbwIdZYY42su+66lY4BANAiKN2sUJ577rn07bdxat56u9JRgA/RdtV2eWL644o3AEAjKN2sUObOnZuat97ORsfvllXX6VrpOMBS3nrhtTw5/vrMnTtX6QYAaASlmxXSqut0TYcN1qp0DAAAgE/FhdQAAACgIEo3AAAAFKTipfvFF1/MQQcdlNVXXz3t2rXLgAEDcu+991Y6FgAAAHxqFT2n+/XXX8/gwYOz00475brrrku3bt3y1FNPpUuXLpWMBQAAAM2ioqX79NNPT8+ePTNx4sS6sT59+lQwEQAAADSfih5e/re//S1bbrllvvWtb2XNNdfMFltskd/97neVjAQAAADNpqJ7up9++umcd955GTVqVH70ox/lnnvuyTHHHJM2bdrk4IMPbjB/0aJFWbRoUd3jefPmJUlqa2tTW1u73HJTnHK5nKqqqlSllFK50mmApVWllKqqqpTLZb93AYDPtMZ+Fqpo6a6trc2WW26Z0047LUmyxRZb5JFHHsn555+/zNI9bty4jB07tsH4nDlzUlNTU3heildTU5NBgwalT7vuaRvn9sOKpqZdVVoNGpSamprMnj270nEAACpm/vz5jZpX0dK99tprp3///vXG+vXrlyuuuGKZ80ePHp1Ro0bVPZ43b1569uyZbt26pVOnToVmZfl48cUXc99992XJARulfexFgxXNwrdnZ9p996Vt27ZZc801Kx0HAKBi2rZt26h5FS3dgwcPzhNPPFFv7Mknn0yvXr2WOb+6ujrV1dUNxquqqlJVVfG7n9EMSqXSe6cLpJxyqdJpgKXV5r3Dykulkt+7AMBnWmM/C1X0E9PIkSNz55135rTTTsuMGTNy8cUX53//939z1FFHVTIWAAAANIuKlu6tttoqV111VS655JJsuumm+elPf5oJEybkwAMPrGQsAAAAaBYVPbw8Sb72ta/la1/7WqVjAAAAQLNzQh4AAAAUROkGAACAgijdAAAAUBClGwAAAAqidAMAAEBBlG4AAAAoiNINAAAABVG6AQAAoCBKNwAAABRE6QYAAICCKN0AAABQEKUbAAAACqJ0AwAAQEGUbgAAACiI0g0AAAAFUboBAACgIEo3AAAAFETpBgAAgIIo3QAAAFAQpRsAAAAKonQDAABAQZRuAAAAKIjSDQAAAAVRugEAAKAgSjcAAAAUROkGAACAgijdAAAAUBClGwAAAAqidAMAAEBBlG4AAAAoiNINAAAABVG6AQAAoCBKNwAAABRE6QYAAICCKN0AAABQEKUbAAAACqJ0AwAAQEGUbgAAACiI0g0AAAAFUboBAACgIEo3AAAAFETpBgAAgIIo3QAAAFAQpRsAAAAKonQDAABAQZRuAAAAKIjSDQAAAAVRugEAAKAgSjcAAAAUROkGAACAgijdAAAAUBClGwAAAAqidAMAAEBBlG4AAAAoiNINAAAABVG6AQAAoCBKNwAAABRE6QYAAICCKN0AAABQEKUbAAAACqJ0AwAAQEGUbgAAACiI0g0AAAAFUboBAACgIEo3AAAAFETpBgAAgIIo3QAAAFAQpRsAAAAKUtHSPWbMmJRKpXpfG2+8cSUjAQAAQLNpXekAm2yySW666aa6x61bVzwSAAAANIuKN9zWrVune/fulY4BAAAAza7ipfupp55Kjx490rZt22yzzTYZN25c1l133WXOXbRoURYtWlT3eN68eUmS2tra1NbWLpe8FKtcLqeqqipVKaVUrnQaYGlVKaWqqirlctnvXQDgM62xn4UqWrq/8IUvZNKkSenbt29efvnljB07Nttvv30eeeSRdOzYscH8cePGZezYsQ3G58yZk5qamuURmYLV1NRk0KBB6dOue9qmS6XjAEupaVeVVoMGpaamJrNnz650HACAipk/f36j5pXK5fIKsz/xjTfeSK9evXLmmWfm0EMPbfD8svZ09+zZM6+//no6deq0PKNSkAceeCBbb711Nh+/f9qvv2al4wBLWThzdqYdf0nuvvvubLHFFpWOAwBQMfPmzUuXLl3y5ptvfmQfrfjh5R/UuXPnbLTRRpkxY8Yyn6+urk51dXWD8aqqqlRVufvZyqBUKr13ukDKKZcqnQZYWm3eO6y8VCr5vQsAfKY19rPQCvWJacGCBZk5c2bWXnvtSkcBAACAT62ipfuEE07IbbfdlmeeeSb/93//l2984xtp1apV9t9//0rGAgAAgGZR0cPLX3jhhey///75z3/+k27dumW77bbLnXfemW7dulUyFgAAADSLipbuv/zlL5XcPAAAABRqhTqnGwAAAFYmSjcAAAAUROkGAACAgijdAAAAUBClGwAAAAqidAMAAEBBlG4AAAAoiNINAAAABVG6AQAAoCBKNwAAABRE6QYAAICCKN0AAABQEKUbAAAACqJ0AwAAQEGUbgAAACiI0g0AAAAFUboBAACgIEo3AAAAFETpBgAAgIIo3QAAAFAQpRsAAAAKonQDAABAQZRuAAAAKIjSDQAAAAVRugEAAKAgSjcAAAAUROkGAACAgijdAAAAUBClGwAAAAqidAMAAEBBlG4AAAAoiNINAAAABVG6AQAAoCBKNwAAABRE6QYAAICCKN0AAABQEKUbAAAACqJ0AwAAQEGUbgAAACiI0g0AAAAFUboBAACgIEo3AAAAFETpBgAAgIIo3QAAAFAQpRsAAAAKonQDAABAQZRuAAAAKIjSDQAAAAVRugEAAKAgSjcAAAAUROkGAACAgijdAAAAUBClGwAAAAqidAMAAEBBlG4AAAAoiNINAAAABVG6AQAAoCBKNwAAABRE6QYAAICCKN0AAABQEKUbAAAACqJ0AwAAQEGUbgAAACiI0g0AAAAFUboBAACgIEo3AAAAFETpBgAAgIKsMKX75z//eUqlUo477rhKRwEAAIBm0eTS/fbbb+ett96qe/zss89mwoQJueGGGz5xiHvuuSe//e1vM3DgwE+8DgAAAFjRNLl0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AAA0jtINAAAABVG6AQAAoCBNKt3vvvtudt555zz11FNF5QEAAICVRpNK9yqrrJKHHnqo2TZ+3nnnZeDAgenUqVM6deqUbbbZJtddd12zrR8AAAAqqcmHlx900EH5wx/+0CwbX2eddfLzn/889913X+699958+ctfzp577plHH320WdYPAAAAldTkW4YtXrw4F1xwQW666aYMGjQo7du3r/f8mWee2eh17bHHHvUen3rqqTnvvPNy5513ZpNNNmlqNAAAAFihNLl0P/LII/n85z+fJHnyySfrPVcqlT5xkCVLluSyyy7LwoULs8022yxzzqJFi7Jo0aK6x/PmzUuS1NbWpra29hNvmxVHuVxOVVVVqlJKqVzpNMDSqlJKVVVVyuWy37sAwGdaYz8LNbl033rrrU0O81EefvjhbLPNNqmpqUmHDh1y1VVXpX///sucO27cuIwdO7bB+Jw5c1JTU9OsuaiMmpqaDBo0KH3adU/bdKl0HGApNe2q0mrQoNTU1GT27NmVjgMAUDHz589v1LxSuVz+RPsTZ8yYkZkzZ2aHHXZIu3btUi6XP9Ge7nfeeSfPPfdc3nzzzVx++eX5/e9/n9tuu22ZxXtZe7p79uyZ119/PZ06dfokL4MVzAMPPJCtt946m4/fP+3XX7PScYClLJw5O9OOvyR33313tthii0rHAQComHnz5qVLly558803P7KPNnlP93/+858MGzYst956a0qlUp566qmst956OfTQQ9OlS5eMHz++Setr06ZNNthggyTJoEGDcs899+Sss87Kb3/72wZzq6urU11d3WC8qqoqVVVuOb4yKJVK750ukHLKn/xsBaAgtXnvsPJSqeT3LgDwmdbYz0JN/sQ0cuTIrLLKKnnuueey6qqr1o3vu+++uf7665u6ugZqa2vr7c0GAACAlqrJe7pvuOGGTJ48Oeuss0698Q033DDPPvtsk9Y1evToDB06NOuuu27mz5+fiy++OFOmTMnkyZObGgsAAABWOE0u3QsXLqy3h/t9r7322jIP/f4os2fPzne+8528/PLLWW211TJw4MBMnjw5u+yyS1NjAQAAwAqnyaV7++23z0UXXZSf/vSnSf7fObi/+MUvstNOOzVpXX/4wx+aunkAAABoMZpcun/xi19k5513zr333pt33nknP/jBD/Loo4/mtddey9SpU4vICAAAAC1Sky+ktummm+bJJ5/Mdtttlz333DMLFy7M3nvvnQceeCDrr79+ERkBAACgRWrynu4kWW211XLSSSc1dxYAAABYqXyi0v3666/nD3/4Q6ZPn54k6d+/f0aMGJGuXbs2azgAAABoyZp8ePntt9+e3r175+yzz87rr7+e119/PWeffXb69OmT22+/vYiMAAAA0CI1eU/3UUcdlX333TfnnXdeWrVqlSRZsmRJjjzyyBx11FF5+OGHmz0kAAAAtERN3tM9Y8aMHH/88XWFO0latWqVUaNGZcaMGc0aDgAAAFqyJpfuz3/+83Xncn/Q9OnTs9lmmzVLKAAAAFgZNOrw8oceeqju38ccc0yOPfbYzJgxI1/84heTJHfeeWfOPffc/PznPy8mJQAAALRAjSrdm2++eUqlUsrlct3YD37wgwbzDjjggOy7777Nlw4AAABasEaV7lmzZhWdAwAAAFY6jSrdvXr1KjoHAAAArHSafMuwJHnppZdyxx13ZPbs2amtra333DHHHNMswQAAAKCla3LpnjRpUv7rv/4rbdq0yeqrr55SqVT3XKlUUroBAADg/9fk0v3jH/84P/nJTzJ69OhUVTX5jmMAAADwmdHk1vzWW29lv/32U7gBAADgYzS5OR966KG57LLLisgCAAAAK5UmH14+bty4fO1rX8v111+fAQMGZJVVVqn3/Jlnntls4QAAAKAl+0Sle/Lkyenbt2+SNLiQGgAAAPCeJpfu8ePH54ILLsjw4cMLiAMAAAArjyaf011dXZ3BgwcXkQUAAABWKk0u3ccee2zOOeecIrIAAADASqXJh5fffffdueWWW3Lttddmk002aXAhtSuvvLLZwgEAAEBL1uTS3blz5+y9995FZAEAAICVSpNL98SJE4vIAQAAACudJp/TDQAAADROk/d09+nT5yPvx/30009/qkAAAACwsmhy6T7uuOPqPX733XfzwAMP5Prrr8/3v//95soFAAAALV6TS/exxx67zPFzzz03995776cOBAAAACuLZjune+jQobniiiuaa3UAAADQ4jVb6b788svTtWvX5lodAAAAtHhNPrx8iy22qHchtXK5nFdeeSVz5szJb37zm2YNBwAAAC1Zk0v3XnvtVe9xVVVVunXrlh133DEbb7xxc+UCAACAFq/Jpfvkk08uIgcAAACsdJrtnG4AAACgvkbv6a6qqqp3LveylEqlLF68+FOHAgAAgJVBo0v3VVdd9aHP/fvf/87ZZ5+d2traZgkFAAAAK4NGl+4999yzwdgTTzyRH/7wh/n73/+eAw88MKecckqzhgMAAICW7BOd0/3SSy/l8MMPz4ABA7J48eJMmzYtF154YXr16tXc+QAAAKDFalLpfvPNN3PiiSdmgw02yKOPPpqbb745f//737PpppsWlQ8AAABarEYfXv6LX/wip59+erp3755LLrlkmYebAwAAAP9Po0v3D3/4w7Rr1y4bbLBBLrzwwlx44YXLnHfllVc2WzgAAABoyRpdur/zne987C3DAAAAgP+n0aV70qRJBcYAAACAlc8nuno5AAAA8PGUbgAAACiI0g0AAAAFUboBAACgIEo3AAAAFETpBgAAgIIo3QAAAFAQpRsAAAAKonQDAABAQZRuAAAAKIjSDQAAAAVRugEAAKAgSjcAAAAUROkGAACAgijdAAAAUBClGwAAAAqidAMAAEBBlG4AAAAoiNINAAAABVG6AQAAoCBKNwAAABRE6QYAAICCKN0AAABQkIqW7nHjxmWrrbZKx44ds+aaa2avvfbKE088UclIAAAA0GwqWrpvu+22HHXUUbnzzjtz44035t13381XvvKVLFy4sJKxAAAAoFm0ruTGr7/++nqPJ02alDXXXDP33XdfdthhhwqlAgAAgOaxQp3T/eabbyZJunbtWuEkAAAA8OlVdE/3B9XW1ua4447L4MGDs+mmmy5zzqJFi7Jo0aK6x/Pmzatbtra2drnkpFjlcjlVVVWpSimlcqXTAEurSilVVVUpl8t+7wIAn2mN/Sy0wpTuo446Ko888kjuuOOOD50zbty4jB07tsH4nDlzUlNTU2Q8lpOampoMGjQofdp1T9t0qXQcYCk17arSatCg1NTUZPbs2ZWOAwBQMfPnz2/UvBWidB999NG59tprc/vtt2edddb50HmjR4/OqFGj6h7PmzcvPXv2TLdu3dKpU6flEZWCvfjii7nvvvuy5ICN0j72osGKZuHbszPtvvvStm3brLnmmpWOAwBQMW3btm3UvIqW7nK5nO9973u56qqrMmXKlPTp0+cj51dXV6e6urrBeFVVVaqqVqjT0/mESqXSe6cLpJxyqdJpgKXV5r3Dykulkt+7AMBnWmM/C1W0dB911FG5+OKLc80116Rjx4555ZVXkiSrrbZa2rVrV8loAAAA8KlVdDfFeeedlzfffDM77rhj1l577bqvSy+9tJKxAAAAoFlU/PByAAAAWFk5IQ8AAAAKonQDAABAQZRuAAAAKIjSDQAAAAVRugEAAKAgSjcAAAAUROkGAACAgijdAAAAUBClGwAAAAqidAMAAEBBlG4AAAAoiNINAAAABVG6AQAAoCBKNwAAABRE6QYAAICCKN0AAABQEKUbAAAACqJ0AwAAQEGUbgAAACiI0g0AAAAFUboBAACgIEo3AAAAFETpBgAAgIIo3QAAAFAQpRsAAAAKonQDAABAQZRuAAAAKIjSDQAAAAVRugEAAKAgSjcAAAAUROkGAACAgijdAAAAUBClGwAAAAqidAMAAEBBlG4AAAAoiNINAAAABVG6AQAAoCBKNwAAABRE6QYAAICCKN0AAABQEKUbAAAACqJ0AwAAQEGUbgAAACiI0g0AAAAFUboBAACgIEo3AAAAFETpBgAAgIIo3QAAAFAQpRsAAAAKonQDAABAQZRuAAAAKIjSDQAAAAVRugEAAKAgSjcAAAAUROkGAACAgijdAAAAUBClGwAAAAqidAMAAEBBlG4AAAAoiNINAAAABVG6AQAAoCBKNwAAABRE6QYAAICCKN0AAABQEKUbAAAACqJ0AwAAQEGUbgAAACiI0g0AAAAFqWjpvv3227PHHnukR48eKZVKufrqqysZBwAAAJpVRUv3woULs9lmm+Xcc8+tZAwAAAAoROtKbnzo0KEZOnRoJSMAAABAYSpauptq0aJFWbRoUd3jefPmJUlqa2tTW1tbqVg0o3K5nKqqqlSllFK50mmApVWllKqqqpTLZb93AYDPtMZ+FmpRpXvcuHEZO3Zsg/E5c+akpqamAolobjU1NRk0aFD6tOuetulS6TjAUmraVaXVoEGpqanJ7NmzKx0HAKBi5s+f36h5Lap0jx49OqNGjap7PG/evPTs2TPdunVLp06dKpiM5vLiiy/mvvvuy5IDNkr72IsGK5qFb8/OtPvuS9u2bbPmmmtWOg4AQMW0bdu2UfNaVOmurq5OdXV1g/GqqqpUVbn72cqgVCq9d7pAyimXKp0GWFpt3jusvFQq+b0LAHymNfazkE9MAAAAUJCK7ulesGBBZsyYUfd41qxZmTZtWrp27Zp11123gskAAADg06to6b733nuz00471T1+/3ztgw8+OJMmTapQKgAAAGgeFS3dO+64Y8pl94UCAABg5eScbgAAACiI0g0AAAAFUboBAACgIEo3AAAAFETpBgAAgIIo3QAAAFAQpRsAAAAKonQDAABAQZRuAAAAKIjSDQAAAAVRugEAAKAgSjcAAAAUROkGAACAgijdAAAAUBClGwAAAAqidAMAAEBBlG4AAAAoiNINAAAABVG6AQAAoCBKNwAAABRE6QYAAICCKN0AAABQEKUbAAAACqJ0AwAAQEGUbgAAACiI0g0AAAAFUboBAACgIEo3AAAAFETpBgAAgIIo3QAAAFAQpRsAAAAKonQDAABAQZRuAAAAKIjSDQAAAAVRugEAAKAgSjcAAAAUROkGAACAgijdAAAAUBClGwAAAAqidAMAAEBBlG4AAAAoiNINAAAABVG6AQAAoCBKNwAAABRE6QYAAICCKN0AAABQEKUbAAAACqJ0AwAAQEGUbgAAACiI0g0AAAAFUboBAACgIEo3AAAAFETpBgAAgIIo3QAAAFAQpRsAAAAKonQDAABAQZRuAAAAKIjSDQAAAAVRugEAAKAgSjcAAAAUROkGAACAgijdAAAAUBClGwAAAAqidAMAAEBBlG4AAAAoiNINAAAABVG6AQAAoCArROk+99xz07t377Rt2zZf+MIXcvfdd1c6EgAAAHxqFS/dl156aUaNGpWTTz45999/fzbbbLPsuuuumT17dqWjAQAAwKdS8dJ95pln5vDDD8+IESPSv3//nH/++Vl11VVzwQUXVDoaAAAAfCoVLd3vvPNO7rvvvgwZMqRurKqqKkOGDMm///3vCiYDAACAT691JTc+d+7cLFmyJGuttVa98bXWWiuPP/54g/mLFi3KokWL6h6/+eabSZI33ngjtbW1xYZluZg/f35KpVIWzpydcs3iSscBlvLWi6+lVCpl/vz5eeONNyodB1iGV199Na+88kqlYwAfonv37g36Dy3TvHnzkiTlcvkj51W0dDfVuHHjMnbs2AbjvXr1qkAaivTUr2+qdATgI+y4446VjgAAsEKYP39+VltttQ99vqKle4011kirVq3y6quv1ht/9dVX07179wbzR48enVGjRtU9rq2tzWuvvZbVV189pVKp8LxA08ybNy89e/bM888/n06dOlU6DgC0KN5HYcVWLpczf/789OjR4yPnVbR0t2nTJoMGDcrNN9+cvfbaK8l7Rfrmm2/O0Ucf3WB+dXV1qqur64117tx5OSQFPo1OnTr5sAAAn5D3UVhxfdQe7vdV/PDyUaNG5eCDD86WW26ZrbfeOhMmTMjChQszYsSISkcDAACAT6XipXvffffNnDlz8pOf/CSvvPJKNt9881x//fUuLgAAAECLV/HSnSRHH330Mg8nB1q26urqnHzyyQ1OCwEAPp73UVg5lMofd31zAAAA4BOpqnQAAAAAWFkp3QAAAFAQpRsAAAAKonQDH2nHHXfMcccd16RlxowZk80337yQPADQkn2S99WPMnz48Oy1117Ntj6g+SndwArrnXfeqXQEAAD4VJRu4EMNHz48t912W84666yUSqWUSqVMmjQpnTt3rjfv6quvTqlUSpJMmjQpY8eOzYMPPlhvmSR57rnnsueee6ZDhw7p1KlThg0blldffbVuPe/vIf/973+fPn36pG3btsvrpQJA4Zb1vvrMM8/kkUceydChQ9OhQ4estdZa+fa3v525c+fWLXf55ZdnwIABadeuXVZfffUMGTIkCxcuzJgxY3LhhRfmmmuuqVvflClTKvcCgWVSuoEPddZZZ2WbbbbJ4Ycfnpdffjkvv/xylixZ8pHL7Lvvvjn++OOzySab1C2z7777pra2NnvuuWdee+213Hbbbbnxxhvz9NNPZ9999623/IwZM3LFFVfkyiuvzLRp0wp8dQCwfC3rfbVjx4758pe/nC222CL33ntvrr/++rz66qsZNmxYkuTll1/O/vvvn0MOOSTTp0/PlClTsvfee6dcLueEE07IsGHDsttuu9Wtb9ttt63wqwSW1rrSAYAV12qrrZY2bdpk1VVXTffu3ZMkrVq1+shl2rVrlw4dOqR169Z1yyTJjTfemIcffjizZs1Kz549kyQXXXRRNtlkk9xzzz3Zaqutkrx3SPlFF12Ubt26FfSqAKAylvW++rOf/SxbbLFFTjvttLp5F1xwQXr27Jknn3wyCxYsyOLFi7P33nunV69eSZIBAwbUzW3Xrl0WLVpU7z0XWLHY0w0sF9OnT0/Pnj3rCneS9O/fP507d8706dPrxnr16qVwA/CZ8eCDD+bWW29Nhw4d6r423njjJMnMmTOz2WabZeedd86AAQPyrW99K7/73e/y+uuvVzg10BRKN9AkVVVVKZfL9cbefffdZlt/+/btm21dALCiW7BgQfbYY49Mmzat3tdTTz2VHXbYIa1atcqNN96Y6667Lv37988555yTvn37ZtasWZWODjSS0g18pDZt2tQ7j7tbt26ZP39+Fi5cWDe29LnXSy+TJP369cvzzz+f559/vm7sscceyxtvvJH+/fsXEx4AVjBLv0d+/vOfz6OPPprevXtngw02qPf1/h+iS6VSBg8enLFjx+aBBx5ImzZtctVVVy1zfcCKR+kGPlLv3r1z11135ZlnnsncuXPzhS98Iauuump+9KMfZebMmbn44ovrrk7+wWVmzZqVadOmZe7cuVm0aFGGDBmSAQMG5MADD8z999+fu+++O9/5znfypS99KVtuuWVlXhwALGdLv68eddRRee2117L//vvnnnvuycyZMzN58uSMGDEiS5YsyV133ZXTTjst9957b5577rlceeWVmTNnTvr161e3voceeihPPPFE5s6d26xHnwHNQ+kGPtIJJ5yQVq1apX///unWrVvmzZuXP/3pT/nnP/+ZAQMG5JJLLsmYMWPqLfPNb34zu+22W3baaad069Ytl1xySUqlUq655pp06dIlO+ywQ4YMGZL11lsvl156aWVeGABUwNLvq++8806mTp2aJUuW5Ctf+UoGDBiQ4447Lp07d05VVVU6deqU22+/PV/96lez0UYb5X/+538yfvz4DB06NEly+OGHp2/fvtlyyy3TrVu3TJ06tcKvEFhaqbz0yZkAAABAs7CnGwAAAAqidAMAAEBBlG4AAAAoiNINAAAABVG6AQAAoCBKNwAAABRE6QYAAICCKN0AAABQEKUbAFhuSqVSrr766krHAIDlRukGgOWgVCp95NeYMWM+cvnhw4dnr732KizfpEmTUiqV0q9fvwbPXXbZZSmVSundu3dh2weAlVXrSgcAgM+Cl19+ue7fl156aX7yk5/kiSeeqBvr0KHDcsnxzjvvpE2bNst8rn379pk9e3b+/e9/Z5tttqkb/8Mf/pB11113ueQDgJWNPd0AsBx079697mu11VZLqVSqe3z++ednu+22qzd/woQJdXuWx4wZkwsvvDDXXHNN3Z7xKVOmJEkefvjhfPnLX067du2y+uqr54gjjsiCBQvq1vP+HvJTTz01PXr0SN++fT80Y+vWrXPAAQfkggsuqBt74YUXMmXKlBxwwAEN5p933nlZf/3106ZNm/Tt2zd//OMf6z3/1FNPZYcddkjbtm3Tv3//3HjjjQ3W8fzzz2fYsGHp3Llzunbtmj333DPPPPPMx307AaDFULoBYAV3wgknZNiwYdltt93y8ssv5+WXX862226bhQsXZtddd02XLl1yzz335LLLLstNN92Uo48+ut7yN998c5544onceOONufbaaz9yW4ccckj++te/5q233kry3mHnu+22W9Zaa61686666qoce+yxOf744/PII4/kv/7rvzJixIjceuutSZLa2trsvffeadOmTe66666cf/75OfHEE+ut4913382uu+6ajh075l//+lemTp2aDh06ZLfddss777zzab9tALBCcHg5AKzgOnTokHbt2mXRokXp3r173fiFF16YmpqaXHTRRWnfvn2S5Ne//nX22GOPnH766XVFuX379vn973//oYeVf9AWW2yR9dZbL5dffnm+/e1vZ9KkSTnzzDPz9NNP15t3xhlnZPjw4TnyyCOTJKNGjcqdd96ZM844IzvttFNuuummPP7445k8eXJ69OiRJDnttNMydOjQunVceumlqa2tze9///uUSqUkycSJE9O5c+dMmTIlX/nKVz7Fdw0AVgz2dANACzV9+vRsttlmdYU7SQYPHpza2tp654sPGDCgUYX7fYccckgmTpyY2267LQsXLsxXv/rVZW578ODB9cYGDx6c6dOn1z3fs2fPusKdpN554kny4IMPZsaMGenYsWM6dOiQDh06pGvXrqmpqcnMmTMbnRcAVmT2dANAhVVVVaVcLtcbe/fdd5tt/R8s5Y1x4IEH5gc/+EHGjBmTb3/722ndupiPCwsWLMigQYPy5z//ucFz3bp1K2SbALC82dMNABXWrVu3vPLKK/WK97Rp0+rNadOmTZYsWVJvrF+/fnnwwQezcOHCurGpU6emqqrqIy+Y9nG6du2ar3/967nttttyyCGHLHNOv379MnXq1HpjU6dOTf/+/euef/755+tdtf3OO++sN//zn/98nnrqqay55prZYIMN6n2tttpqnzg/AKxIlG4AqLAdd9wxc+bMyS9+8YvMnDkz5557bq677rp6c3r37p2HHnooTzzxRObOnZt33303Bx54YNq2bZuDDz44jzzySG699dZ873vfy7e//e0GFz5rqkmTJmXu3LnZeOONl/n897///UyaNCnnnXdennrqqZx55pm58sorc8IJJyRJhgwZko022igHH3xwHnzwwfzrX//KSSedVG8dBx54YNZYY43sueee+de//pVZs2ZlypQpOeaYY/LCCy98qvwAsKJQugGgwvr165ff/OY3Offcc7PZZpvl7rvvriuv7zv88MPTt2/fbLnllunWrVumTp2aVVddNZMnT85rr72WrbbaKvvss0923nnn/PrXv/7Umd6/BdmH2WuvvXLWWWfljDPOyCabbJLf/va3mThxYnbcccck7x0yf9VVV+Xtt9/O1ltvncMOOyynnnpqvXWsuuqquf3227Puuutm7733Tr9+/XLooYempqYmnTp1+tSvAQBWBKXy0ieRAQAAAM3Cnm4AAAAoiNINAAAABVG6AQAAoCBKNwAAABRE6QYAAICCKN0AAABQEKUbAAAACqJ0AwAAQEGUbgAAACiI0g0AAAAFUboBAACgIEo3AAAAFOT/A0OTUIvBxtimAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 导师模式分布图\n", + "tutor_mode_counts = data[\"tutor_mode\"].value_counts()\n", + "\n", + "plt.figure(figsize=(10, 6))\n", + "tutor_mode_counts.plot(kind='bar', color='mediumseagreen', edgecolor='black')\n", + "plt.title('Distribution of Tutor Mode')\n", + "plt.xlabel('Tutor Mode')\n", + "plt.ylabel('Number of Records')\n", + "plt.xticks(rotation=0)\n", + "plt.grid(axis='y', alpha=0.3)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "data-analysis", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}