From 7e2b85ee82010781802a4217861bb79aa7db3d30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8B=AE=E5=AD=90=E8=80=97=E8=80=97?= Date: Mon, 27 Oct 2025 21:10:14 +0800 Subject: [PATCH] =?UTF-8?q?ASSISTment2017=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=AF=8F=E4=B8=AA=E9=97=AE=E9=A2=98=E5=85=B3?= =?UTF-8?q?=E8=81=94=E7=9A=84=E6=8A=80=E8=83=BD=E6=95=B0=E9=87=8F=E5=8F=AF?= =?UTF-8?q?=E8=A7=86=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assist17_analysis.ipynb | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/assist17_analysis.ipynb b/assist17_analysis.ipynb index 09c26ae..1f2f709 100644 --- a/assist17_analysis.ipynb +++ b/assist17_analysis.ipynb @@ -3663,7 +3663,8 @@ "- 整体答题正确率分布图\n", "- 主问题vs支撑问题分布\n", "- 情绪状态分布图\n", - "- 性别分布图" + "- 性别分布图\n", + "- 每一个问题关联的技能数量" ] }, { @@ -3872,6 +3873,39 @@ "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": 3, + "id": "88ea3e8c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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7NmzxzAMwzh+/Ljh6upqvPTSSzb99u3bZ5QoUcKmPa9jPq8aDh8+bJw9e9ZITEw0Fi5caHh4eBgBAQFGWlpansvN7/GU/R54eXkZv//+u7Xvzp07DUnG6NGjc9SUrSDbv3TpUmvboUOHrJ/XHTt2WNvXrVt3w79PAByDM1sAnMrb2zvP/1XNvm/liy++KPBgEh4eHho0aFC++/fv31+lS5e2Tvfs2VMVK1bU119/XaD159fXX38tV1dXjRw50qZ97NixMgxDa9assWlv166dqlatap2uV6+efHx89Msvv9x0PYGBgXrkkUesbW5ubho5cqRSU1O1devWf7wtzz33nMPPbrVt29bmzFGTJk0kST169LB5v7Lbr98PJUqU0OOPP26ddnd31+OPP64zZ85o165dkv4acKJ27dqqVauW/vjjD+tP9iVlmzdvtllmq1at8nVP24YNG3T16lWNGjVKLi7/90/v0KFD5ePjo9WrV+dnF+QwePBgrV27Vq1bt9a3336rF154QS1atFD16tX13Xff5eh/9epV/etf/9KqVav09ddfKyIiokDrvZ6fn5927tx500tHbyQqKspmOntEy+xjbvny5crKylKvXr1s3pfAwEBVr149x/ti7zEvSTVr1lSFChUUGhqqxx9/XNWqVdPq1att7snKbbn2Hk/dunXTHXfcYZ2+99571aRJkzz/vti7/d7e3urdu7fNtvn5+al27drW40O68bECwHEYIAOAU6WmpuZ5b8nDDz+sd955R4899pgmTJigtm3bqnv37urZs6fNl9a83HHHHXYNhlG9enWbaYvFomrVqt30fqV/6tdff1VQUJBNcJD+uqQve/7fVa5cOccyypQpowsXLtx0PdWrV8+x/260noK488471a9fP7311lt2jy55I9dvr6+vryQpODg41/br90NQUJBKlSpl01ajRg1Jfz0DqWnTpjpy5IgOHjx4w8slrx90IjQ0NF+1Z+/TmjVr2rS7u7vrzjvv/Ef7PDIyUpGRkbp8+bJ27dqlZcuWacGCBercubMOHTpkc3xNmzZNqampWrNmTa73KxZUbGysBgwYoODgYDVq1EgdO3ZU//79deedd+br9dcfc1WrVpWLi4v1mDty5IgMw8jRL9v1g83Ye8xL0n/+8x/5+PjIzc1NlSpVsvmPjLyWa+/xlNs21KhRQ59++ukN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43rffvutWrRoIS8vLwUHB2vkyJFKS0uzzq9SpYpefPFF9e/fX97e3goJCdGXX36ps2fP6sEHH5S3t7fq1aunH3/8Mc/1AICzEbYAoAhwdXXVyy+/rNdee02///77P1rWpk2bdPLkSW3btk2zZs1STEyMOnfurDJlymjnzp164okn9Pjjj+dYz7hx4zR27Fjt3r1b4eHh6tKli/Us0cWLF3X//ferYcOG+vHHH7V27VqdPn1avXr1slnG+++/L3d3d23fvl0LFizItb65c+dq5syZevXVV7V3715FRkaqa9euOnLkiCTp1KlTqlOnjsaOHatTp07pmWeeybEMb29veXt7a+XKlUpPT7/pPjEMQ0899ZQ++OADffPNN6pXr16+9uXfTZo0ST/99JPWrFmjgwcP6s0331T58uXzfM3777+vEiVK6Pvvv9fcuXM1a9YsvfPOO9b5I0aMUHx8vD755BPt3btX//rXv9S+fXvrvpCky5cva8aMGXrnnXd04MAB+fv756teLy8vSbZnGCdMmKCnn35aBw8eVGRk5E3fi2x5fTaud+zYMbVv3149evTQ3r17tWzZMn377bcaMWKETb/Zs2erWbNm2r17tzp16qR+/fqpf//+6tu3r/773/+qatWq6t+/v004BYBCxwAAFGoDBgwwHnzwQcMwDKNp06bG4MGDDcMwjBUrVhh//zMeExNj1K9f3+a1s2fPNkJCQmyWFRISYly7ds3aVrNmTaNFixbW6czMTKNUqVLGxx9/bBiGYSQmJhqSjOnTp1v7ZGRkGJUqVTJmzJhhGIZhvPDCC0ZERITNun/77TdDknH48GHDMAyjVatWRsOGDW+6vUFBQcZLL71k03bPPfcYTz75pHW6fv36RkxMTJ7L+fzzz40yZcoYnp6exn333WdER0cbe/bssekjyfjss8+MRx991Khdu7bx+++/28wPCQkxZs+ebdN/xYoVhmH8337ZvXu3YRiG0aVLF2PQoEE33b5srVq1MmrXrm1kZWVZ28aPH2/Url3bMAzD+PXXXw1XV1fjf//7n83r2rZta0RHRxuGYRiLFi0yJBkJCQl5ruv6Wi9cuGA89NBDhre3t5GUlGSdP2fOHJvX3ey9yM9nY/PmzYYk48KFC4ZhGMaQIUOMYcOG2Szzm2++MVxcXIwrV64YhvHXfu/bt691/qlTpwxJxqRJk6xt8fHxhiTj1KlTeW47ADgTZ7YAoAiZMWOG3n//fR08eLDAy6hTp45cXP7vz39AQIDq1q1rnXZ1dVW5cuV05swZm9eFh4dbfy9RooQaN25srWPPnj3avHmz9YySt7e3atWqJemvMxnZGjVqlGdtKSkpOnnypJo1a2bT3qxZM7u3uUePHjp58qS+/PJLtW/fXlu2bNHdd9+txYsX2/QbPXq0du7cqW3btumOO+6wax1/N3z4cH3yySdq0KCBnn32WX333Xc3fU3Tpk1tBjkJDw/XkSNHdO3aNe3bt0/Xrl1TjRo1bPbr1q1bbfapu7t7vs/E3XffffL29laZMmW0Z88eLVu2TAEBAdb5jRs3tv5uz3uR12fjenv27NHixYtttikyMlJZWVlKTEy09vv7NmXX+PfPaXbb9Z9TAChMSji7AABA/rVs2VKRkZGKjo7WwIEDbea5uLjkuKQqt0EO3NzcbKYtFkuubXkNtHC91NRUdenSRTNmzMgxr2LFitbfS5Uqle9lOoKnp6ceeOABPfDAA5o0aZIee+wxxcTE2Oy7Bx54QB9//LHWrVunPn36FHhdHTp00K+//qqvv/5acXFxatu2raKiovTqq68WaHmpqalydXXVrl275OrqajPP29vb+ruXl1e+R6VctmyZwsLCVK5cOfn5+eWYfyven9TUVD3++OMaOXJkjnmVK1e2/v73z2T29uXWZs/nFABuNc5sAUARM336dH311VeKj4+3aa9QoYKSkpJsApcjnwG1Y8cO6++ZmZnatWuXateuLUm6++67deDAAVWpUkXVqlWz+bHnC7yPj4+CgoJyDM++fft2hYWF/eNtCAsLsxmIQZK6du2qpUuX6rHHHtMnn3zyj5ZfoUIFDRgwQB9++KHmzJmjt956K8/+O3futJnesWOHqlevLldXVzVs2FDXrl3TmTNncuzTwMDAAtUXHBysqlWr5hq0rmfPe5HXZ+N6d999t3766acc21StWjW5u7vbv1EAUIhxZgsAipi6deuqT58+mjdvnk1769atdfbsWcXGxqpnz55au3at1qxZIx8fH4es94033lD16tVVu3ZtzZ49WxcuXNDgwYMlSVFRUXr77bf1yCOP6Nlnn1XZsmV19OhRffLJJ3rnnXdynJnJy7hx4xQTE6OqVauqQYMGWrRokRISEvTRRx/lexnnzp3Tv/71Lw0ePFj16tVT6dKl9eOPPyo2NlYPPvhgjv4PPfSQlixZon79+qlEiRLq2bNnvteV7fnnn1ejRo1Up04dpaena9WqVTcMHNlOnDihMWPG6PHHH9d///tfvfbaa5o5c6YkqUaNGurTp4/69++vmTNnqmHDhjp79qw2btyoevXqqVOnTnbXaK/8vhd5fTauN378eDVt2lQjRozQY489plKlSumnn35SXFycXn/9ddO3CQBuJcIWABRBU6dO1bJly2zaateurfnz5+vll1/WCy+8oB49euiZZ5656dmV/Jo+fbqmT5+uhIQEVatWTV9++aV1tL3sMyDjx49XRESE0tPTFRISovbt29vcH5YfI0eOVHJyssaOHaszZ84oLCxMX375papXr57vZXh7e6tJkyaaPXu2jh07poyMDAUHB2vo0KH697//netrevbsqaysLPXr108uLi7q3r27XXW7u7srOjpax48fl5eXl1q0aHHTM2X9+/fXlStXdO+998rV1VVPP/20zUOUFy1apBdffFFjx47V//73P5UvX15NmzZV586d7aqtoPL7XuT12bhevXr1tHXrVk2cOFEtWrSQYRiqWrWqHn744VuxSQBwS1mM6y/wBwAApmvdurUaNGiQ7+d4AQCKHu7ZAgAAAAATELYAAAAAwARcRggAAAAAJuDMFgAAAACYgLAFAAAAACYgbAEAAACACQhbAAAAAGACwhYAAAAAmICwBQAAAAAmIGwBAAAAgAkIWwAAAABggv8HvWvDe5QLtucAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 每一个问题关联的技能数量\n", + "skill_counts = data[['problemId', 'skill']].drop_duplicates().groupby('problemId').size()\n", + "# 统计每个问题对应技能数量的分布\n", + "skill_count_distribution = skill_counts.value_counts().sort_index()\n", + "# 绘制直方图\n", + "plt.figure(figsize=(10, 6))\n", + "plt.bar(skill_count_distribution.index, skill_count_distribution.values, color='skyblue')\n", + "plt.xlabel('Number of Skills per Problem')\n", + "plt.ylabel('Number of Problems')\n", + "plt.title('Distribution of Number of Skills per Problem')\n", + "plt.xticks(skill_count_distribution.index)\n", + "plt.grid(axis='y')\n", + "plt.show()" + ] + }, { "cell_type": "markdown", "id": "74d26e6b",