Skip to content

Instantly share code, notes, and snippets.

@elsonidoq
Last active November 9, 2020 14:28
Show Gist options
  • Save elsonidoq/0760f2a3b9a7f95614994f10f4179d26 to your computer and use it in GitHub Desktop.
Save elsonidoq/0760f2a3b9a7f95614994f10f4179d26 to your computer and use it in GitHub Desktop.
Un algoritmo para armar grupos de estudio parejos
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Levanto los datos"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"143"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"\n",
"df = pd.read_csv('/Users/przivic/Downloads/Registro para grupos de estudio.csv')\n",
"\n",
"df = df.rename(\n",
" columns={'Conocimientos de programación': 'coding_skills', 'Conocimientos de Machine Learning': 'ml_skills'}\n",
")\n",
"\n",
"len(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Miramos distribución de las 2 preguntas"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x115f03670>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df.coding_skills.value_counts().sort_index().plot.bar()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1161ecf70>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df.ml_skills.value_counts().sort_index().plot.bar()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"docs = df.to_dict(orient='records')"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"\n",
"def max_coding_skills(group):\n",
" # devuelve cuanto sabe la persona que mas sabe programacion del grupo\n",
" return max([e['coding_skills'] for e in group])\n",
"\n",
"def max_ml_skills(group):\n",
" # devuelve cuanto sabe la persona que mas sabe machine learning del grupo\n",
" return max([e['ml_skills'] for e in group])\n",
"\n",
"def bottle_neck(groups):\n",
" # devuelve la suma de _bottle_neck\n",
" return sum(map(_bottle_neck, groups))\n",
"\n",
"def _bottle_neck(group):\n",
" # devuelve un numero positivo si hay menos de 2 personas que saben mas de 3 en alguna dimensión\n",
" return hinge(2 - len([e for e in group if max(e[k] for k in 'coding_skills ml_skills'.split()) >= 3]))\n",
" \n",
"\n",
"def hinge(n): return max(0, n)\n",
"\n",
"MIN_CODING_SKILLS = 5\n",
"MIN_ML_SKILLS = 5\n",
"\n",
"def var(groups, key):\n",
" # calcula la varianza respecto a una key\n",
" return sum([np.std([e[key] for e in group]) for group in groups])\n",
"\n",
"def loss(groups):\n",
" return (\n",
" # Todos los grupos tienen que tener alguien que sepa de programacion\n",
" sum([hinge(MIN_CODING_SKILLS - max_coding_skills(g)) for g in groups]) + \n",
" # Todos los grupos tienen que tener alguien que sepa de machine learning\n",
" sum([hinge(MIN_ML_SKILLS - max_ml_skills(g)) for g in groups]) +\n",
" # Los grupos deben ser parejos en coding\n",
" var(groups, 'coding_skills') + \n",
" # Los grupos deben ser parejos en machine learning\n",
" var(groups, 'ml_skills') + \n",
" # Definitivamente no tiene que haber una persona que sea \"la que sepa todo\"\n",
" bottle_neck(groups)\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"from time import time\n",
"from random import shuffle, choice\n",
"\n",
"def random_groups(docs, group_size=4):\n",
" # Crea una asignación al azar de grupos\n",
" shuffle(docs)\n",
" return [docs[start:start+group_size] for start in range(0, len(docs), group_size)]\n",
"\n",
"def improve_locally(current_sol):\n",
" # Toma el peor grupo segun la loss y trata de intercambiar con otros grupos \n",
" current_loss = loss(current_sol)\n",
" \n",
" i, worst = max(enumerate(current_sol), key=lambda x: loss([x[1]]))\n",
" for j, other in enumerate(current_sol):\n",
" if i == j: continue\n",
" for wg_i, w_person in enumerate(worst):\n",
" for o_i, o_person in enumerate(other):\n",
" candidate = (\n",
" [g for k, g in enumerate(current_sol) if k not in [i, j]] + \n",
" [replace(worst, wg_i, o_person), replace(other, o_i, w_person)]\n",
" )\n",
" \n",
" new_loss = loss(candidate)\n",
" if new_loss < current_loss:\n",
" return candidate, new_loss\n",
" \n",
" return current_sol, current_loss\n",
" \n",
"def replace(group, index, person):\n",
" res = group[:]\n",
" res[index] = person\n",
" return res\n",
"\n",
"def get_groups(docs, iters=150):\n",
" groups = random_groups(docs)\n",
" losses = []\n",
" t0 = time()\n",
" status = 'max_iter'\n",
" for i in range(iters):\n",
" if time() - t0 > 180: \n",
" status = 'timeout'\n",
" print('timeout')\n",
" break\n",
" groups, loss = improve_locally(groups)\n",
" if losses and losses[-1] == loss: \n",
" status = 'local_minima'\n",
" break\n",
" losses.append(loss)\n",
" \n",
" return groups, losses, status"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 150/150 [22:41<00:00, 9.08s/it]\n"
]
}
],
"source": [
"from tqdm import tqdm\n",
"\n",
"solutions = []\n",
"for i in tqdm(range(150)):\n",
" solutions.append(get_groups(docs, iters=200))"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"import pickle as pkl\n",
"\n",
"with open('solutions.pkl', 'wb') as f:\n",
" pkl.dump(solutions, f, 2)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"best, best_losses, best_status = min(solutions, key=lambda x: x[1][-1])"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"to_save = [[e['Username'] for e in g] for g in best]\n",
"with open('groups.pkl', 'wb') as f:\n",
" pkl.dump(to_save, f)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x116fcbd60>]"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1080x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"plt.figure(figsize=(15,5))\n",
"for g, l, s in solutions:\n",
" plt.plot(l, color='k', alpha=0.25)\n",
" \n",
"plt.ylabel('loss')\n",
"plt.xlabel('move_number')\n",
"plt.plot(best_losses, lw=3)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"final_losses = [l[-1] for _, l, _ in solutions]\n",
"plt.boxplot(final_losses);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Revisamos la mejor solucion y vemos que los grupos hayan quedado parejos"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"def min_coding_skills(group):\n",
" # devuelve cuanto sabe la persona que mas sabe programacion del grupo\n",
" return min([e['coding_skills'] for e in group])\n",
"\n",
"def min_ml_skills(group):\n",
" # devuelve cuanto sabe la persona que mas sabe machine learning del grupo\n",
" return min([e['ml_skills'] for e in group])\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from collections import Counter\n",
"\n",
"x, y = list(zip(*sorted(Counter(list(map(min_coding_skills, best))).items())))\n",
"plt.bar(x,y)\n",
"plt.title('min coding skill per group')\n",
"\n",
"plt.figure()\n",
"x, y = list(zip(*sorted(Counter(list(map(min_ml_skills, best))).items())))\n",
"plt.bar(x,y)\n",
"plt.title('min ml skill per group');"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x, y = list(zip(*sorted(Counter(list(map(max_coding_skills, best))).items())))\n",
"plt.bar(x,y)\n",
"plt.title('max coding skill per group')\n",
"\n",
"plt.figure()\n",
"x, y = list(zip(*sorted(Counter(list(map(max_ml_skills, best))).items())))\n",
"plt.bar(x,y)\n",
"plt.title('max ml skill per group');"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[{'coding_skills': 5, 'ml_skills': 5},\n",
" {'coding_skills': 1, 'ml_skills': 1},\n",
" {'coding_skills': 3, 'ml_skills': 1},\n",
" {'coding_skills': 1, 'ml_skills': 1}]\n",
"****************************************\n",
"[{'coding_skills': 6, 'ml_skills': 4},\n",
" {'coding_skills': 1, 'ml_skills': 1},\n",
" {'coding_skills': 1, 'ml_skills': 1},\n",
" {'coding_skills': 3, 'ml_skills': 1}]\n",
"****************************************\n",
"[{'coding_skills': 2, 'ml_skills': 1},\n",
" {'coding_skills': 2, 'ml_skills': 1},\n",
" {'coding_skills': 5, 'ml_skills': 4},\n",
" {'coding_skills': 3, 'ml_skills': 1}]\n",
"****************************************\n",
"[{'coding_skills': 3, 'ml_skills': 2},\n",
" {'coding_skills': 1, 'ml_skills': 1},\n",
" {'coding_skills': 5, 'ml_skills': 5},\n",
" {'coding_skills': 1, 'ml_skills': 1}]\n",
"****************************************\n",
"[{'coding_skills': 4, 'ml_skills': 4},\n",
" {'coding_skills': 3, 'ml_skills': 3},\n",
" {'coding_skills': 3, 'ml_skills': 3}]\n",
"****************************************\n",
"[{'coding_skills': 2, 'ml_skills': 2},\n",
" {'coding_skills': 2, 'ml_skills': 1},\n",
" {'coding_skills': 3, 'ml_skills': 1},\n",
" {'coding_skills': 5, 'ml_skills': 4}]\n",
"****************************************\n",
"[{'coding_skills': 2, 'ml_skills': 1},\n",
" {'coding_skills': 3, 'ml_skills': 1},\n",
" {'coding_skills': 5, 'ml_skills': 1},\n",
" {'coding_skills': 4, 'ml_skills': 4}]\n",
"****************************************\n",
"[{'coding_skills': 2, 'ml_skills': 1},\n",
" {'coding_skills': 4, 'ml_skills': 4},\n",
" {'coding_skills': 3, 'ml_skills': 1},\n",
" {'coding_skills': 5, 'ml_skills': 1}]\n",
"****************************************\n",
"[{'coding_skills': 2, 'ml_skills': 2},\n",
" {'coding_skills': 5, 'ml_skills': 4},\n",
" {'coding_skills': 2, 'ml_skills': 1},\n",
" {'coding_skills': 3, 'ml_skills': 2}]\n",
"****************************************\n",
"[{'coding_skills': 5, 'ml_skills': 4},\n",
" {'coding_skills': 2, 'ml_skills': 2},\n",
" {'coding_skills': 2, 'ml_skills': 2},\n",
" {'coding_skills': 3, 'ml_skills': 2}]\n",
"****************************************\n",
"[{'coding_skills': 3, 'ml_skills': 2},\n",
" {'coding_skills': 1, 'ml_skills': 2},\n",
" {'coding_skills': 2, 'ml_skills': 2},\n",
" {'coding_skills': 5, 'ml_skills': 5}]\n",
"****************************************\n",
"[{'coding_skills': 5, 'ml_skills': 5},\n",
" {'coding_skills': 3, 'ml_skills': 3},\n",
" {'coding_skills': 1, 'ml_skills': 1},\n",
" {'coding_skills': 2, 'ml_skills': 2}]\n",
"****************************************\n",
"[{'coding_skills': 2, 'ml_skills': 2},\n",
" {'coding_skills': 3, 'ml_skills': 2},\n",
" {'coding_skills': 3, 'ml_skills': 2},\n",
" {'coding_skills': 4, 'ml_skills': 4}]\n",
"****************************************\n",
"[{'coding_skills': 3, 'ml_skills': 4},\n",
" {'coding_skills': 3, 'ml_skills': 2},\n",
" {'coding_skills': 2, 'ml_skills': 1},\n",
" {'coding_skills': 5, 'ml_skills': 3}]\n",
"****************************************\n",
"[{'coding_skills': 4, 'ml_skills': 4},\n",
" {'coding_skills': 5, 'ml_skills': 2},\n",
" {'coding_skills': 4, 'ml_skills': 2},\n",
" {'coding_skills': 3, 'ml_skills': 1}]\n",
"****************************************\n",
"[{'coding_skills': 5, 'ml_skills': 1},\n",
" {'coding_skills': 4, 'ml_skills': 4},\n",
" {'coding_skills': 4, 'ml_skills': 1},\n",
" {'coding_skills': 4, 'ml_skills': 2}]\n",
"****************************************\n",
"[{'coding_skills': 6, 'ml_skills': 5},\n",
" {'coding_skills': 1, 'ml_skills': 2},\n",
" {'coding_skills': 2, 'ml_skills': 2},\n",
" {'coding_skills': 3, 'ml_skills': 4}]\n",
"****************************************\n",
"[{'coding_skills': 6, 'ml_skills': 5},\n",
" {'coding_skills': 4, 'ml_skills': 3},\n",
" {'coding_skills': 2, 'ml_skills': 2},\n",
" {'coding_skills': 2, 'ml_skills': 2}]\n",
"****************************************\n",
"[{'coding_skills': 2, 'ml_skills': 3},\n",
" {'coding_skills': 5, 'ml_skills': 4},\n",
" {'coding_skills': 3, 'ml_skills': 3},\n",
" {'coding_skills': 3, 'ml_skills': 3}]\n",
"****************************************\n",
"[{'coding_skills': 4, 'ml_skills': 4},\n",
" {'coding_skills': 3, 'ml_skills': 3},\n",
" {'coding_skills': 4, 'ml_skills': 2},\n",
" {'coding_skills': 5, 'ml_skills': 2}]\n",
"****************************************\n",
"[{'coding_skills': 4, 'ml_skills': 2},\n",
" {'coding_skills': 6, 'ml_skills': 2},\n",
" {'coding_skills': 3, 'ml_skills': 4},\n",
" {'coding_skills': 3, 'ml_skills': 3}]\n",
"****************************************\n",
"[{'coding_skills': 2, 'ml_skills': 2},\n",
" {'coding_skills': 3, 'ml_skills': 2},\n",
" {'coding_skills': 6, 'ml_skills': 4},\n",
" {'coding_skills': 4, 'ml_skills': 4}]\n",
"****************************************\n",
"[{'coding_skills': 4, 'ml_skills': 1},\n",
" {'coding_skills': 5, 'ml_skills': 2},\n",
" {'coding_skills': 4, 'ml_skills': 4},\n",
" {'coding_skills': 4, 'ml_skills': 3}]\n",
"****************************************\n",
"[{'coding_skills': 2, 'ml_skills': 3},\n",
" {'coding_skills': 3, 'ml_skills': 2},\n",
" {'coding_skills': 6, 'ml_skills': 3},\n",
" {'coding_skills': 4, 'ml_skills': 4}]\n",
"****************************************\n",
"[{'coding_skills': 3, 'ml_skills': 2},\n",
" {'coding_skills': 6, 'ml_skills': 4},\n",
" {'coding_skills': 3, 'ml_skills': 3},\n",
" {'coding_skills': 4, 'ml_skills': 2}]\n",
"****************************************\n",
"[{'coding_skills': 3, 'ml_skills': 2},\n",
" {'coding_skills': 7, 'ml_skills': 3},\n",
" {'coding_skills': 3, 'ml_skills': 2},\n",
" {'coding_skills': 4, 'ml_skills': 4}]\n",
"****************************************\n",
"[{'coding_skills': 4, 'ml_skills': 2},\n",
" {'coding_skills': 4, 'ml_skills': 3},\n",
" {'coding_skills': 5, 'ml_skills': 6},\n",
" {'coding_skills': 3, 'ml_skills': 2}]\n",
"****************************************\n",
"[{'coding_skills': 4, 'ml_skills': 4},\n",
" {'coding_skills': 4, 'ml_skills': 3},\n",
" {'coding_skills': 3, 'ml_skills': 3},\n",
" {'coding_skills': 6, 'ml_skills': 3}]\n",
"****************************************\n",
"[{'coding_skills': 4, 'ml_skills': 4},\n",
" {'coding_skills': 6, 'ml_skills': 3},\n",
" {'coding_skills': 4, 'ml_skills': 3},\n",
" {'coding_skills': 4, 'ml_skills': 2}]\n",
"****************************************\n",
"[{'coding_skills': 4, 'ml_skills': 5},\n",
" {'coding_skills': 4, 'ml_skills': 2},\n",
" {'coding_skills': 6, 'ml_skills': 2},\n",
" {'coding_skills': 4, 'ml_skills': 4}]\n",
"****************************************\n",
"[{'coding_skills': 7, 'ml_skills': 4},\n",
" {'coding_skills': 7, 'ml_skills': 2},\n",
" {'coding_skills': 7, 'ml_skills': 1},\n",
" {'coding_skills': 7, 'ml_skills': 2}]\n",
"****************************************\n",
"[{'coding_skills': 7, 'ml_skills': 2},\n",
" {'coding_skills': 7, 'ml_skills': 7},\n",
" {'coding_skills': 7, 'ml_skills': 2},\n",
" {'coding_skills': 6, 'ml_skills': 2}]\n",
"****************************************\n",
"[{'coding_skills': 7, 'ml_skills': 3},\n",
" {'coding_skills': 7, 'ml_skills': 2},\n",
" {'coding_skills': 6, 'ml_skills': 3},\n",
" {'coding_skills': 7, 'ml_skills': 5}]\n",
"****************************************\n",
"[{'coding_skills': 7, 'ml_skills': 4},\n",
" {'coding_skills': 7, 'ml_skills': 2},\n",
" {'coding_skills': 7, 'ml_skills': 2},\n",
" {'coding_skills': 7, 'ml_skills': 6}]\n",
"****************************************\n",
"[{'coding_skills': 7, 'ml_skills': 3},\n",
" {'coding_skills': 7, 'ml_skills': 3},\n",
" {'coding_skills': 6, 'ml_skills': 6},\n",
" {'coding_skills': 7, 'ml_skills': 3}]\n",
"****************************************\n",
"[{'coding_skills': 7, 'ml_skills': 2},\n",
" {'coding_skills': 7, 'ml_skills': 7},\n",
" {'coding_skills': 7, 'ml_skills': 3},\n",
" {'coding_skills': 7, 'ml_skills': 7}]\n",
"****************************************\n"
]
}
],
"source": [
"from pprint import pprint\n",
"\n",
"def tot_skills(g):\n",
" return sum([e['coding_skills'] + e['ml_skills'] for e in g])\n",
"\n",
"for g in sorted(best, key=tot_skills):\n",
" pprint([{k: d[k] for k in 'ml_skills coding_skills'.split()} for d in g])\n",
" print(\"*\"*40)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment