From c671daf20bfbe037385de10453019483ba7e125e Mon Sep 17 00:00:00 2001 From: Dong Jun <121388798+Chan-Dong-Jun@users.noreply.github.com> Date: Tue, 9 Jul 2024 11:22:49 +0800 Subject: [PATCH 1/9] init --- mesa/datacollection_with_caching.py | 285 +++++ mesa/example.ipynb | 1734 +++++++++++++++++++++++++++ 2 files changed, 2019 insertions(+) create mode 100644 mesa/datacollection_with_caching.py create mode 100644 mesa/example.ipynb diff --git a/mesa/datacollection_with_caching.py b/mesa/datacollection_with_caching.py new file mode 100644 index 00000000000..712482af8e2 --- /dev/null +++ b/mesa/datacollection_with_caching.py @@ -0,0 +1,285 @@ +""" +Mesa Data Collection Module +=========================== + +DataCollector is meant to provide a simple, standard way to collect data +generated by a Mesa model. It collects three types of data: model-level data, +agent-level data, and tables. + +A DataCollector is instantiated with two dictionaries of reporter names and +associated variable names or functions for each, one for model-level data and +one for agent-level data; a third dictionary provides table names and columns. +Variable names are converted into functions which retrieve attributes of that +name. + +When the collect() method is called, each model-level function is called, with +the model as the argument, and the results associated with the relevant +variable. Then the agent-level functions are called on each agent. + +Additionally, other objects can write directly to tables by passing in an +appropriate dictionary object for a table row. + +The DataCollector then stores the data it collects in dictionaries: + * model_vars maps each reporter to a list of its values + * tables maps each table to a dictionary, with each column as a key with a + list as its value. + * _agent_records maps each model step to a list of each agents id + and its values. + +Finally, DataCollector can create a pandas DataFrame from each collection. + +The default DataCollector here makes several assumptions: + * The model has an agent list called agents + * For collecting agent-level variables, agents must have a unique_id +""" + +import contextlib +import itertools +import types +from copy import deepcopy +from functools import partial + +with contextlib.suppress(ImportError): + import pandas as pd + + +class DataCollector: + """Class for collecting data generated by a Mesa model. + + A DataCollector is instantiated with dictionaries of names of model- and + agent-level variables to collect, associated with attribute names or + functions which actually collect them. When the collect(...) method is + called, it collects these attributes and executes these functions one by + one and stores the results. + """ + + def __init__( + self, + model_reporters=None, + agent_reporters=None, + tables=None, + ): + """ + Instantiate a DataCollector with lists of model and agent reporters. + Both model_reporters and agent_reporters accept a dictionary mapping a + variable name to either an attribute name, a function, a method of a class/instance, + or a function with parameters placed in a list. + + Model reporters can take four types of arguments: + 1. Lambda function: + {"agent_count": lambda m: len(m.agents)} + 2. Method of a class/instance: + {"agent_count": self.get_agent_count} # self here is a class instance + {"agent_count": Model.get_agent_count} # Model here is a class + 3. Class attributes of a model: + {"model_attribute": "model_attribute"} + 4. Functions with parameters that have been placed in a list: + {"Model_Function": [function, [param_1, param_2]]} + + Agent reporters can similarly take: + 1. Attribute name (string) referring to agent's attribute: + {"energy": "energy"} + 2. Lambda function: + {"energy": lambda a: a.energy} + 3. Method of an agent class/instance: + {"agent_action": self.do_action} # self here is an agent class instance + {"agent_action": Agent.do_action} # Agent here is a class + 4. Functions with parameters placed in a list: + {"Agent_Function": [function, [param_1, param_2]]} + + The tables arg accepts a dictionary mapping names of tables to lists of + columns. For example, if we want to allow agents to write their age + when they are destroyed (to keep track of lifespans), it might look + like: + {"Lifespan": ["unique_id", "age"]} + + Args: + model_reporters: Dictionary of reporter names and attributes/funcs/methods. + agent_reporters: Dictionary of reporter names and attributes/funcs/methods. + tables: Dictionary of table names to lists of column names. + + Notes: + - If you want to pickle your model you must not use lambda functions. + - If your model includes a large number of agents, it is recommended to + use attribute names for the agent reporter, as it will be faster. + """ + self.model_reporters = {} + self.agent_reporters = {} + + self.model_vars = {} + self._agent_records = {} + self.tables = {} + + if model_reporters is not None: + for name, reporter in model_reporters.items(): + self._new_model_reporter(name, reporter) + + if agent_reporters is not None: + for name, reporter in agent_reporters.items(): + self._new_agent_reporter(name, reporter) + + if tables is not None: + for name, columns in tables.items(): + self._new_table(name, columns) + + def _new_model_reporter(self, name, reporter): + """Add a new model-level reporter to collect. + + Args: + name: Name of the model-level variable to collect. + reporter: Attribute string, or function object that returns the + variable when given a model instance. + """ + self.model_reporters[name] = reporter + self.model_vars[name] = [] + + def _new_agent_reporter(self, name, reporter): + """Add a new agent-level reporter to collect. + + Args: + name: Name of the agent-level variable to collect. + reporter: Attribute string, function object, method of a class/instance, or + function with parameters placed in a list that returns the + variable when given an agent instance. + """ + # Check if the reporter is an attribute string + if isinstance(reporter, str): + attribute_name = reporter + + def attr_reporter(agent): + return getattr(agent, attribute_name, None) + + reporter = attr_reporter + + # Check if the reporter is a function with arguments placed in a list + elif isinstance(reporter, list): + func, params = reporter[0], reporter[1] + + def func_with_params(agent): + return func(agent, *params) + + reporter = func_with_params + + # For other types (like lambda functions, method of a class/instance), + # it's already suitable to be used as a reporter directly. + + self.agent_reporters[name] = reporter + + def _new_table(self, table_name, table_columns): + """Add a new table that objects can write to. + + Args: + table_name: Name of the new table. + table_columns: List of columns to add to the table. + """ + new_table = {column: [] for column in table_columns} + self.tables[table_name] = new_table + + def _record_agents(self, model): + """Record agents data in a mapping of functions and agents.""" + rep_funcs = self.agent_reporters.values() + + def get_reports(agent): + _prefix = (agent.model._steps, agent.unique_id) + reports = tuple(rep(agent) for rep in rep_funcs) + return _prefix + reports + + agent_records = map( + get_reports, + model.schedule.agents + if hasattr(model, "schedule") and model.schedule is not None + else model.agents, + ) + return agent_records + + def collect(self, model): + """Collect all the data for the given model object.""" + if self.model_reporters: + for var, reporter in self.model_reporters.items(): + # Check if lambda or partial function + if isinstance(reporter, types.LambdaType | partial): + # Use deepcopy to store a copy of the data, + # preventing references from being updated across steps. + self.model_vars[var].append(deepcopy(reporter(model))) + # Check if model attribute + elif isinstance(reporter, str): + self.model_vars[var].append( + deepcopy(getattr(model, reporter, None)) + ) + # Check if function with arguments + elif isinstance(reporter, list): + self.model_vars[var].append(deepcopy(reporter[0](*reporter[1]))) + # Assume it's a callable otherwise (e.g., method) + # TODO: Check if method of a class explicitly + else: + self.model_vars[var].append(deepcopy(reporter())) + + if self.agent_reporters: + agent_records = self._record_agents(model) + self._agent_records[model._steps] = list(agent_records) + + def add_table_row(self, table_name, row, ignore_missing=False): + """Add a row dictionary to a specific table. + + Args: + table_name: Name of the table to append a row to. + row: A dictionary of the form {column_name: value...} + ignore_missing: If True, fill any missing columns with Nones; + if False, throw an error if any columns are missing + """ + if table_name not in self.tables: + raise Exception("Table does not exist.") + + for column in self.tables[table_name]: + if column in row: + self.tables[table_name][column].append(row[column]) + elif ignore_missing: + self.tables[table_name][column].append(None) + else: + raise Exception("Could not insert row with missing column") + + def get_model_vars_dataframe(self): + """Create a pandas DataFrame from the model variables. + + The DataFrame has one column for each model variable, and the index is + (implicitly) the model tick. + """ + # Check if self.model_reporters dictionary is empty, if so raise warning + if not self.model_reporters: + raise UserWarning( + "No model reporters have been defined in the DataCollector, returning empty DataFrame." + ) + + return pd.DataFrame(self.model_vars) + + def get_agent_vars_dataframe(self): + """Create a pandas DataFrame from the agent variables. + + The DataFrame has one column for each variable, with two additional + columns for tick and agent_id. + """ + # Check if self.agent_reporters dictionary is empty, if so raise warning + if not self.agent_reporters: + raise UserWarning( + "No agent reporters have been defined in the DataCollector, returning empty DataFrame." + ) + + all_records = itertools.chain.from_iterable(self._agent_records.values()) + rep_names = list(self.agent_reporters) + + df = pd.DataFrame.from_records( + data=all_records, + columns=["Step", "AgentID", *rep_names], + index=["Step", "AgentID"], + ) + return df + + def get_table_dataframe(self, table_name): + """Create a pandas DataFrame from a particular table. + + Args: + table_name: The name of the table to convert. + """ + if table_name not in self.tables: + raise Exception("No such table.") + return pd.DataFrame(self.tables[table_name]) diff --git a/mesa/example.ipynb b/mesa/example.ipynb new file mode 100644 index 00000000000..7040d566e60 --- /dev/null +++ b/mesa/example.ipynb @@ -0,0 +1,1734 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "daa66e6c-9441-4029-86a3-d038b111d5b7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/mnt/c/wsl/github/mesa-forked/mesa\n" + ] + } + ], + "source": [ + "!pwd" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "4694ef1e959aaa8c", + "metadata": { + "ExecuteTime": { + "end_time": "2024-07-05T09:10:20.918337Z", + "start_time": "2024-07-05T09:10:20.912659Z" + } + }, + "outputs": [], + "source": [ + "import datacollection_with_caching" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "57b8f8c18d56265c", + "metadata": { + "ExecuteTime": { + "end_time": "2024-07-05T09:11:18.795826Z", + "start_time": "2024-07-05T09:11:18.791176Z" + }, + "scrolled": true + }, + "outputs": [], + "source": [ + "import mesa\n", + "\n", + "# Data visualization tools.\n", + "import seaborn as sns\n", + "\n", + "# Has multi-dimensional arrays and matrices. Has a large collection of\n", + "# mathematical functions to operate on these arrays.\n", + "import numpy as np\n", + "\n", + "# Data manipulation and analysis.\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "e0f2c44e3fe344a3", + "metadata": { + "ExecuteTime": { + "end_time": "2024-07-05T09:10:24.818999Z", + "start_time": "2024-07-05T09:10:24.807828Z" + } + }, + "outputs": [], + "source": [ + "def compute_gini(model):\n", + " agent_wealths = [agent.wealth for agent in model.schedule.agents]\n", + " x = sorted(agent_wealths)\n", + " N = model.num_agents\n", + " B = sum(xi * (N - i) for i, xi in enumerate(x)) / (N * sum(x))\n", + " return 1 + (1 / N) - 2 * B\n", + "\n", + "\n", + "class MoneyAgent(mesa.Agent):\n", + " \"\"\"An agent with fixed initial wealth.\"\"\"\n", + "\n", + " def __init__(self, unique_id, model):\n", + " super().__init__(unique_id, model)\n", + " self.wealth = 1\n", + "\n", + " def move(self):\n", + " possible_steps = self.model.grid.get_neighborhood(\n", + " self.pos, moore=True, include_center=False\n", + " )\n", + " new_position = self.random.choice(possible_steps)\n", + " self.model.grid.move_agent(self, new_position)\n", + "\n", + " def give_money(self):\n", + " cellmates = self.model.grid.get_cell_list_contents([self.pos])\n", + " cellmates.pop(\n", + " cellmates.index(self)\n", + " ) # Ensure agent is not giving money to itself\n", + " if len(cellmates) > 1:\n", + " other = self.random.choice(cellmates)\n", + " other.wealth += 1\n", + " self.wealth -= 1\n", + " if other == self:\n", + " print(\"I JUST GAVE MONEY TO MYSELF HEHEHE!\")\n", + "\n", + " def step(self):\n", + " self.move()\n", + " if self.wealth > 0:\n", + " self.give_money()\n", + "\n", + "\n", + "class MoneyModel(mesa.Model):\n", + " \"\"\"A model with some number of agents.\"\"\"\n", + "\n", + " def __init__(self, N, width, height):\n", + " super().__init__()\n", + " self.num_agents = N\n", + " self.grid = mesa.space.MultiGrid(width, height, True)\n", + " self.schedule = mesa.time.RandomActivation(self)\n", + "\n", + " # Create agents\n", + " for i in range(self.num_agents):\n", + " a = MoneyAgent(i, self)\n", + " self.schedule.add(a)\n", + " # Add the agent to a random grid cell\n", + " x = self.random.randrange(self.grid.width)\n", + " y = self.random.randrange(self.grid.height)\n", + " self.grid.place_agent(a, (x, y))\n", + "\n", + " self.datacollector = datacollection_with_caching.DataCollector(\n", + " model_reporters={\"Gini\": compute_gini}, agent_reporters={\"Wealth\": \"wealth\"}\n", + " )\n", + "\n", + " def step(self):\n", + " self.datacollector.collect(self)\n", + " self.schedule.step()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "52a4ee6e154b2ea4", + "metadata": { + "ExecuteTime": { + "end_time": "2024-07-05T09:10:25.609759Z", + "start_time": "2024-07-05T09:10:24.975940Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "model._steps=0\n", + "model._steps=1\n", + "model._steps=2\n", + "model._steps=3\n", + "model._steps=4\n", + "model._steps=5\n", + "model._steps=6\n", + "model._steps=7\n", + "model._steps=8\n", + "model._steps=9\n", + "model._steps=10\n", + "model._steps=11\n", + "model._steps=12\n", + "model._steps=13\n", + "model._steps=14\n", + "model._steps=15\n", + "model._steps=16\n", + "model._steps=17\n", + "model._steps=18\n", + "model._steps=19\n", + "model._steps=20\n", + "model._steps=21\n", + "model._steps=22\n", + "model._steps=23\n", + "model._steps=24\n", + "model._steps=25\n", + "model._steps=26\n", + "model._steps=27\n", + "model._steps=28\n", + "model._steps=29\n", + "model._steps=30\n", + "model._steps=31\n", + "model._steps=32\n", + "model._steps=33\n", + "model._steps=34\n", + "model._steps=35\n", + "model._steps=36\n", + "model._steps=37\n", + "model._steps=38\n", + "model._steps=39\n", + "model._steps=40\n", + "model._steps=41\n", + "model._steps=42\n", + "model._steps=43\n", + "model._steps=44\n", + "model._steps=45\n", + "model._steps=46\n", + "model._steps=47\n", + "model._steps=48\n", + "model._steps=49\n", + "model._steps=50\n", + "model._steps=51\n", + "model._steps=52\n", + "model._steps=53\n", + "model._steps=54\n", + "model._steps=55\n", + "model._steps=56\n", + "model._steps=57\n", + "model._steps=58\n", + "model._steps=59\n", + "model._steps=60\n", + "model._steps=61\n", + "model._steps=62\n", + "model._steps=63\n", + "model._steps=64\n", + "model._steps=65\n", + "model._steps=66\n", + "model._steps=67\n", + "model._steps=68\n", + "model._steps=69\n", + "model._steps=70\n", + "model._steps=71\n", + "model._steps=72\n", + "model._steps=73\n", + "model._steps=74\n", + "model._steps=75\n", + "model._steps=76\n", + "model._steps=77\n", + "model._steps=78\n", + "model._steps=79\n", + "model._steps=80\n", + "model._steps=81\n", + "model._steps=82\n", + "model._steps=83\n", + "model._steps=84\n", + "model._steps=85\n", + "model._steps=86\n", + "model._steps=87\n", + "model._steps=88\n", + "model._steps=89\n", + "model._steps=90\n", + "model._steps=91\n", + "model._steps=92\n", + "model._steps=93\n", + "model._steps=94\n", + "model._steps=95\n", + "model._steps=96\n", + "model._steps=97\n", + "model._steps=98\n", + "model._steps=99\n", + "model._steps=100\n", + "Saving model to output_dir/model_data_1.parquet\n", + "model_file='output_dir/model_data_1.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_1.parquet'\n", + "model._steps=101\n", + "model._steps=102\n", + "model._steps=103\n", + "model._steps=104\n", + "model._steps=105\n", + "model._steps=106\n", + "model._steps=107\n", + "model._steps=108\n", + "model._steps=109\n", + "model._steps=110\n", + "model._steps=111\n", + "model._steps=112\n", + "model._steps=113\n", + "model._steps=114\n", + "model._steps=115\n", + "model._steps=116\n", + "model._steps=117\n", + "model._steps=118\n", + "model._steps=119\n", + "model._steps=120\n", + "model._steps=121\n", + "model._steps=122\n", + "model._steps=123\n", + "model._steps=124\n", + "model._steps=125\n", + "model._steps=126\n", + "model._steps=127\n", + "model._steps=128\n", + "model._steps=129\n", + "model._steps=130\n", + "model._steps=131\n", + "model._steps=132\n", + "model._steps=133\n", + "model._steps=134\n", + "model._steps=135\n", + "model._steps=136\n", + "model._steps=137\n", + "model._steps=138\n", + "model._steps=139\n", + "model._steps=140\n", + "model._steps=141\n", + "model._steps=142\n", + "model._steps=143\n", + "model._steps=144\n", + "model._steps=145\n", + "model._steps=146\n", + "model._steps=147\n", + "model._steps=148\n", + "model._steps=149\n", + "model._steps=150\n", + "model._steps=151\n", + "model._steps=152\n", + "model._steps=153\n", + "model._steps=154\n", + "model._steps=155\n", + "model._steps=156\n", + "model._steps=157\n", + "model._steps=158\n", + "model._steps=159\n", + "model._steps=160\n", + "model._steps=161\n", + "model._steps=162\n", + "model._steps=163\n", + "model._steps=164\n", + "model._steps=165\n", + "model._steps=166\n", + "model._steps=167\n", + "model._steps=168\n", + "model._steps=169\n", + "model._steps=170\n", + "model._steps=171\n", + "model._steps=172\n", + "model._steps=173\n", + "model._steps=174\n", + "model._steps=175\n", + "model._steps=176\n", + "model._steps=177\n", + "model._steps=178\n", + "model._steps=179\n", + "model._steps=180\n", + "model._steps=181\n", + "model._steps=182\n", + "model._steps=183\n", + "model._steps=184\n", + "model._steps=185\n", + "model._steps=186\n", + "model._steps=187\n", + "model._steps=188\n", + "model._steps=189\n", + "model._steps=190\n", + "model._steps=191\n", + "model._steps=192\n", + "model._steps=193\n", + "model._steps=194\n", + "model._steps=195\n", + "model._steps=196\n", + "model._steps=197\n", + "model._steps=198\n", + "model._steps=199\n", + "model._steps=200\n", + "Saving model to output_dir/model_data_2.parquet\n", + "model_file='output_dir/model_data_2.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_2.parquet'\n", + "model._steps=201\n", + "model._steps=202\n", + "model._steps=203\n", + "model._steps=204\n", + "model._steps=205\n", + "model._steps=206\n", + "model._steps=207\n", + "model._steps=208\n", + "model._steps=209\n", + "model._steps=210\n", + "model._steps=211\n", + "model._steps=212\n", + "model._steps=213\n", + "model._steps=214\n", + "model._steps=215\n", + "model._steps=216\n", + "model._steps=217\n", + "model._steps=218\n", + "model._steps=219\n", + "model._steps=220\n", + "model._steps=221\n", + "model._steps=222\n", + "model._steps=223\n", + "model._steps=224\n", + "model._steps=225\n", + "model._steps=226\n", + "model._steps=227\n", + "model._steps=228\n", + "model._steps=229\n", + "model._steps=230\n", + "model._steps=231\n", + "model._steps=232\n", + "model._steps=233\n", + "model._steps=234\n", + "model._steps=235\n", + "model._steps=236\n", + "model._steps=237\n", + "model._steps=238\n", + "model._steps=239\n", + "model._steps=240\n", + "model._steps=241\n", + "model._steps=242\n", + "model._steps=243\n", + "model._steps=244\n", + "model._steps=245\n", + "model._steps=246\n", + "model._steps=247\n", + "model._steps=248\n", + "model._steps=249\n", + "model._steps=250\n", + "model._steps=251\n", + "model._steps=252\n", + "model._steps=253\n", + "model._steps=254\n", + "model._steps=255\n", + "model._steps=256\n", + "model._steps=257\n", + "model._steps=258\n", + "model._steps=259\n", + "model._steps=260\n", + "model._steps=261\n", + "model._steps=262\n", + "model._steps=263\n", + "model._steps=264\n", + "model._steps=265\n", + "model._steps=266\n", + "model._steps=267\n", + "model._steps=268\n", + "model._steps=269\n", + "model._steps=270\n", + "model._steps=271\n", + "model._steps=272\n", + "model._steps=273\n", + "model._steps=274\n", + "model._steps=275\n", + "model._steps=276\n", + "model._steps=277\n", + "model._steps=278\n", + "model._steps=279\n", + "model._steps=280\n", + "model._steps=281\n", + "model._steps=282\n", + "model._steps=283\n", + "model._steps=284\n", + "model._steps=285\n", + "model._steps=286\n", + "model._steps=287\n", + "model._steps=288\n", + "model._steps=289\n", + "model._steps=290\n", + "model._steps=291\n", + "model._steps=292\n", + "model._steps=293\n", + "model._steps=294\n", + "model._steps=295\n", + "model._steps=296\n", + "model._steps=297\n", + "model._steps=298\n", + "model._steps=299\n", + "model._steps=300\n", + "Saving model to output_dir/model_data_3.parquet\n", + "model_file='output_dir/model_data_3.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_3.parquet'\n", + "model._steps=301\n", + "model._steps=302\n", + "model._steps=303\n", + "model._steps=304\n", + "model._steps=305\n", + "model._steps=306\n", + "model._steps=307\n", + "model._steps=308\n", + "model._steps=309\n", + "model._steps=310\n", + "model._steps=311\n", + "model._steps=312\n", + "model._steps=313\n", + "model._steps=314\n", + "model._steps=315\n", + "model._steps=316\n", + "model._steps=317\n", + "model._steps=318\n", + "model._steps=319\n", + "model._steps=320\n", + "model._steps=321\n", + "model._steps=322\n", + "model._steps=323\n", + "model._steps=324\n", + "model._steps=325\n", + "model._steps=326\n", + "model._steps=327\n", + "model._steps=328\n", + "model._steps=329\n", + "model._steps=330\n", + "model._steps=331\n", + "model._steps=332\n", + "model._steps=333\n", + "model._steps=334\n", + "model._steps=335\n", + "model._steps=336\n", + "model._steps=337\n", + "model._steps=338\n", + "model._steps=339\n", + "model._steps=340\n", + "model._steps=341\n", + "model._steps=342\n", + "model._steps=343\n", + "model._steps=344\n", + "model._steps=345\n", + "model._steps=346\n", + "model._steps=347\n", + "model._steps=348\n", + "model._steps=349\n", + "model._steps=350\n", + "model._steps=351\n", + "model._steps=352\n", + "model._steps=353\n", + "model._steps=354\n", + "model._steps=355\n", + "model._steps=356\n", + "model._steps=357\n", + "model._steps=358\n", + "model._steps=359\n", + "model._steps=360\n", + "model._steps=361\n", + "model._steps=362\n", + "model._steps=363\n", + "model._steps=364\n", + "model._steps=365\n", + "model._steps=366\n", + "model._steps=367\n", + "model._steps=368\n", + "model._steps=369\n", + "model._steps=370\n", + "model._steps=371\n", + "model._steps=372\n", + "model._steps=373\n", + "model._steps=374\n", + "model._steps=375\n", + "model._steps=376\n", + "model._steps=377\n", + "model._steps=378\n", + "model._steps=379\n", + "model._steps=380\n", + "model._steps=381\n", + "model._steps=382\n", + "model._steps=383\n", + "model._steps=384\n", + "model._steps=385\n", + "model._steps=386\n", + "model._steps=387\n", + "model._steps=388\n", + "model._steps=389\n", + "model._steps=390\n", + "model._steps=391\n", + "model._steps=392\n", + "model._steps=393\n", + "model._steps=394\n", + "model._steps=395\n", + "model._steps=396\n", + "model._steps=397\n", + "model._steps=398\n", + "model._steps=399\n", + "model._steps=400\n", + "Saving model to output_dir/model_data_4.parquet\n", + "model_file='output_dir/model_data_4.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_4.parquet'\n", + "model._steps=401\n", + "model._steps=402\n", + "model._steps=403\n", + "model._steps=404\n", + "model._steps=405\n", + "model._steps=406\n", + "model._steps=407\n", + "model._steps=408\n", + "model._steps=409\n", + "model._steps=410\n", + "model._steps=411\n", + "model._steps=412\n", + "model._steps=413\n", + "model._steps=414\n", + "model._steps=415\n", + "model._steps=416\n", + "model._steps=417\n", + "model._steps=418\n", + "model._steps=419\n", + "model._steps=420\n", + "model._steps=421\n", + "model._steps=422\n", + "model._steps=423\n", + "model._steps=424\n", + "model._steps=425\n", + "model._steps=426\n", + "model._steps=427\n", + "model._steps=428\n", + "model._steps=429\n", + "model._steps=430\n", + "model._steps=431\n", + "model._steps=432\n", + "model._steps=433\n", + "model._steps=434\n", + "model._steps=435\n", + "model._steps=436\n", + "model._steps=437\n", + "model._steps=438\n", + "model._steps=439\n", + "model._steps=440\n", + "model._steps=441\n", + "model._steps=442\n", + "model._steps=443\n", + "model._steps=444\n", + "model._steps=445\n", + "model._steps=446\n", + "model._steps=447\n", + "model._steps=448\n", + "model._steps=449\n", + "model._steps=450\n", + "model._steps=451\n", + "model._steps=452\n", + "model._steps=453\n", + "model._steps=454\n", + "model._steps=455\n", + "model._steps=456\n", + "model._steps=457\n", + "model._steps=458\n", + "model._steps=459\n", + "model._steps=460\n", + "model._steps=461\n", + "model._steps=462\n", + "model._steps=463\n", + "model._steps=464\n", + "model._steps=465\n", + "model._steps=466\n", + "model._steps=467\n", + "model._steps=468\n", + "model._steps=469\n", + "model._steps=470\n", + "model._steps=471\n", + "model._steps=472\n", + "model._steps=473\n", + "model._steps=474\n", + "model._steps=475\n", + "model._steps=476\n", + "model._steps=477\n", + "model._steps=478\n", + "model._steps=479\n", + "model._steps=480\n", + "model._steps=481\n", + "model._steps=482\n", + "model._steps=483\n", + "model._steps=484\n", + "model._steps=485\n", + "model._steps=486\n", + "model._steps=487\n", + "model._steps=488\n", + "model._steps=489\n", + "model._steps=490\n", + "model._steps=491\n", + "model._steps=492\n", + "model._steps=493\n", + "model._steps=494\n", + "model._steps=495\n", + "model._steps=496\n", + "model._steps=497\n", + "model._steps=498\n", + "model._steps=499\n", + "model._steps=500\n", + "Saving model to output_dir/model_data_5.parquet\n", + "model_file='output_dir/model_data_5.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_5.parquet'\n", + "model._steps=501\n", + "model._steps=502\n", + "model._steps=503\n", + "model._steps=504\n", + "model._steps=505\n", + "model._steps=506\n", + "model._steps=507\n", + "model._steps=508\n", + "model._steps=509\n", + "model._steps=510\n", + "model._steps=511\n", + "model._steps=512\n", + "model._steps=513\n", + "model._steps=514\n", + "model._steps=515\n", + "model._steps=516\n", + "model._steps=517\n", + "model._steps=518\n", + "model._steps=519\n", + "model._steps=520\n", + "model._steps=521\n", + "model._steps=522\n", + "model._steps=523\n", + "model._steps=524\n", + "model._steps=525\n", + "model._steps=526\n", + "model._steps=527\n", + "model._steps=528\n", + "model._steps=529\n", + "model._steps=530\n", + "model._steps=531\n", + "model._steps=532\n", + "model._steps=533\n", + "model._steps=534\n", + "model._steps=535\n", + "model._steps=536\n", + "model._steps=537\n", + "model._steps=538\n", + "model._steps=539\n", + "model._steps=540\n", + "model._steps=541\n", + "model._steps=542\n", + "model._steps=543\n", + "model._steps=544\n", + "model._steps=545\n", + "model._steps=546\n", + "model._steps=547\n", + "model._steps=548\n", + "model._steps=549\n", + "model._steps=550\n", + "model._steps=551\n", + "model._steps=552\n", + "model._steps=553\n", + "model._steps=554\n", + "model._steps=555\n", + "model._steps=556\n", + "model._steps=557\n", + "model._steps=558\n", + "model._steps=559\n", + "model._steps=560\n", + "model._steps=561\n", + "model._steps=562\n", + "model._steps=563\n", + "model._steps=564\n", + "model._steps=565\n", + "model._steps=566\n", + "model._steps=567\n", + "model._steps=568\n", + "model._steps=569\n", + "model._steps=570\n", + "model._steps=571\n", + "model._steps=572\n", + "model._steps=573\n", + "model._steps=574\n", + "model._steps=575\n", + "model._steps=576\n", + "model._steps=577\n", + "model._steps=578\n", + "model._steps=579\n", + "model._steps=580\n", + "model._steps=581\n", + "model._steps=582\n", + "model._steps=583\n", + "model._steps=584\n", + "model._steps=585\n", + "model._steps=586\n", + "model._steps=587\n", + "model._steps=588\n", + "model._steps=589\n", + "model._steps=590\n", + "model._steps=591\n", + "model._steps=592\n", + "model._steps=593\n", + "model._steps=594\n", + "model._steps=595\n", + "model._steps=596\n", + "model._steps=597\n", + "model._steps=598\n", + "model._steps=599\n", + "model._steps=600\n", + "Saving model to output_dir/model_data_6.parquet\n", + "model_file='output_dir/model_data_6.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_6.parquet'\n", + "model._steps=601\n", + "model._steps=602\n", + "model._steps=603\n", + "model._steps=604\n", + "model._steps=605\n", + "model._steps=606\n", + "model._steps=607\n", + "model._steps=608\n", + "model._steps=609\n", + "model._steps=610\n", + "model._steps=611\n", + "model._steps=612\n", + "model._steps=613\n", + "model._steps=614\n", + "model._steps=615\n", + "model._steps=616\n", + "model._steps=617\n", + "model._steps=618\n", + "model._steps=619\n", + "model._steps=620\n", + "model._steps=621\n", + "model._steps=622\n", + "model._steps=623\n", + "model._steps=624\n", + "model._steps=625\n", + "model._steps=626\n", + "model._steps=627\n", + "model._steps=628\n", + "model._steps=629\n", + "model._steps=630\n", + "model._steps=631\n", + "model._steps=632\n", + "model._steps=633\n", + "model._steps=634\n", + "model._steps=635\n", + "model._steps=636\n", + "model._steps=637\n", + "model._steps=638\n", + "model._steps=639\n", + "model._steps=640\n", + "model._steps=641\n", + "model._steps=642\n", + "model._steps=643\n", + "model._steps=644\n", + "model._steps=645\n", + "model._steps=646\n", + "model._steps=647\n", + "model._steps=648\n", + "model._steps=649\n", + "model._steps=650\n", + "model._steps=651\n", + "model._steps=652\n", + "model._steps=653\n", + "model._steps=654\n", + "model._steps=655\n", + "model._steps=656\n", + "model._steps=657\n", + "model._steps=658\n", + "model._steps=659\n", + "model._steps=660\n", + "model._steps=661\n", + "model._steps=662\n", + "model._steps=663\n", + "model._steps=664\n", + "model._steps=665\n", + "model._steps=666\n", + "model._steps=667\n", + "model._steps=668\n", + "model._steps=669\n", + "model._steps=670\n", + "model._steps=671\n", + "model._steps=672\n", + "model._steps=673\n", + "model._steps=674\n", + "model._steps=675\n", + "model._steps=676\n", + "model._steps=677\n", + "model._steps=678\n", + "model._steps=679\n", + "model._steps=680\n", + "model._steps=681\n", + "model._steps=682\n", + "model._steps=683\n", + "model._steps=684\n", + "model._steps=685\n", + "model._steps=686\n", + "model._steps=687\n", + "model._steps=688\n", + "model._steps=689\n", + "model._steps=690\n", + "model._steps=691\n", + "model._steps=692\n", + "model._steps=693\n", + "model._steps=694\n", + "model._steps=695\n", + "model._steps=696\n", + "model._steps=697\n", + "model._steps=698\n", + "model._steps=699\n", + "model._steps=700\n", + "Saving model to output_dir/model_data_7.parquet\n", + "model_file='output_dir/model_data_7.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_7.parquet'\n", + "model._steps=701\n", + "model._steps=702\n", + "model._steps=703\n", + "model._steps=704\n", + "model._steps=705\n", + "model._steps=706\n", + "model._steps=707\n", + "model._steps=708\n", + "model._steps=709\n", + "model._steps=710\n", + "model._steps=711\n", + "model._steps=712\n", + "model._steps=713\n", + "model._steps=714\n", + "model._steps=715\n", + "model._steps=716\n", + "model._steps=717\n", + "model._steps=718\n", + "model._steps=719\n", + "model._steps=720\n", + "model._steps=721\n", + "model._steps=722\n", + "model._steps=723\n", + "model._steps=724\n", + "model._steps=725\n", + "model._steps=726\n", + "model._steps=727\n", + "model._steps=728\n", + "model._steps=729\n", + "model._steps=730\n", + "model._steps=731\n", + "model._steps=732\n", + "model._steps=733\n", + "model._steps=734\n", + "model._steps=735\n", + "model._steps=736\n", + "model._steps=737\n", + "model._steps=738\n", + "model._steps=739\n", + "model._steps=740\n", + "model._steps=741\n", + "model._steps=742\n", + "model._steps=743\n", + "model._steps=744\n", + "model._steps=745\n", + "model._steps=746\n", + "model._steps=747\n", + "model._steps=748\n", + "model._steps=749\n", + "model._steps=750\n", + "model._steps=751\n", + "model._steps=752\n", + "model._steps=753\n", + "model._steps=754\n", + "model._steps=755\n", + "model._steps=756\n", + "model._steps=757\n", + "model._steps=758\n", + "model._steps=759\n", + "model._steps=760\n", + "model._steps=761\n", + "model._steps=762\n", + "model._steps=763\n", + "model._steps=764\n", + "model._steps=765\n", + "model._steps=766\n", + "model._steps=767\n", + "model._steps=768\n", + "model._steps=769\n", + "model._steps=770\n", + "model._steps=771\n", + "model._steps=772\n", + "model._steps=773\n", + "model._steps=774\n", + "model._steps=775\n", + "model._steps=776\n", + "model._steps=777\n", + "model._steps=778\n", + "model._steps=779\n", + "model._steps=780\n", + "model._steps=781\n", + "model._steps=782\n", + "model._steps=783\n", + "model._steps=784\n", + "model._steps=785\n", + "model._steps=786\n", + "model._steps=787\n", + "model._steps=788\n", + "model._steps=789\n", + "model._steps=790\n", + "model._steps=791\n", + "model._steps=792\n", + "model._steps=793\n", + "model._steps=794\n", + "model._steps=795\n", + "model._steps=796\n", + "model._steps=797\n", + "model._steps=798\n", + "model._steps=799\n", + "model._steps=800\n", + "Saving model to output_dir/model_data_8.parquet\n", + "model_file='output_dir/model_data_8.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_8.parquet'\n", + "model._steps=801\n", + "model._steps=802\n", + "model._steps=803\n", + "model._steps=804\n", + "model._steps=805\n", + "model._steps=806\n", + "model._steps=807\n", + "model._steps=808\n", + "model._steps=809\n", + "model._steps=810\n", + "model._steps=811\n", + "model._steps=812\n", + "model._steps=813\n", + "model._steps=814\n", + "model._steps=815\n", + "model._steps=816\n", + "model._steps=817\n", + "model._steps=818\n", + "model._steps=819\n", + "model._steps=820\n", + "model._steps=821\n", + "model._steps=822\n", + "model._steps=823\n", + "model._steps=824\n", + "model._steps=825\n", + "model._steps=826\n", + "model._steps=827\n", + "model._steps=828\n", + "model._steps=829\n", + "model._steps=830\n", + "model._steps=831\n", + "model._steps=832\n", + "model._steps=833\n", + "model._steps=834\n", + "model._steps=835\n", + "model._steps=836\n", + "model._steps=837\n", + "model._steps=838\n", + "model._steps=839\n", + "model._steps=840\n", + "model._steps=841\n", + "model._steps=842\n", + "model._steps=843\n", + "model._steps=844\n", + "model._steps=845\n", + "model._steps=846\n", + "model._steps=847\n", + "model._steps=848\n", + "model._steps=849\n", + "model._steps=850\n", + "model._steps=851\n", + "model._steps=852\n", + "model._steps=853\n", + "model._steps=854\n", + "model._steps=855\n", + "model._steps=856\n", + "model._steps=857\n", + "model._steps=858\n", + "model._steps=859\n", + "model._steps=860\n", + "model._steps=861\n", + "model._steps=862\n", + "model._steps=863\n", + "model._steps=864\n", + "model._steps=865\n", + "model._steps=866\n", + "model._steps=867\n", + "model._steps=868\n", + "model._steps=869\n", + "model._steps=870\n", + "model._steps=871\n", + "model._steps=872\n", + "model._steps=873\n", + "model._steps=874\n", + "model._steps=875\n", + "model._steps=876\n", + "model._steps=877\n", + "model._steps=878\n", + "model._steps=879\n", + "model._steps=880\n", + "model._steps=881\n", + "model._steps=882\n", + "model._steps=883\n", + "model._steps=884\n", + "model._steps=885\n", + "model._steps=886\n", + "model._steps=887\n", + "model._steps=888\n", + "model._steps=889\n", + "model._steps=890\n", + "model._steps=891\n", + "model._steps=892\n", + "model._steps=893\n", + "model._steps=894\n", + "model._steps=895\n", + "model._steps=896\n", + "model._steps=897\n", + "model._steps=898\n", + "model._steps=899\n", + "model._steps=900\n", + "Saving model to output_dir/model_data_9.parquet\n", + "model_file='output_dir/model_data_9.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_9.parquet'\n", + "model._steps=901\n", + "model._steps=902\n", + "model._steps=903\n", + "model._steps=904\n", + "model._steps=905\n", + "model._steps=906\n", + "model._steps=907\n", + "model._steps=908\n", + "model._steps=909\n", + "model._steps=910\n", + "model._steps=911\n", + "model._steps=912\n", + "model._steps=913\n", + "model._steps=914\n", + "model._steps=915\n", + "model._steps=916\n", + "model._steps=917\n", + "model._steps=918\n", + "model._steps=919\n", + "model._steps=920\n", + "model._steps=921\n", + "model._steps=922\n", + "model._steps=923\n", + "model._steps=924\n", + "model._steps=925\n", + "model._steps=926\n", + "model._steps=927\n", + "model._steps=928\n", + "model._steps=929\n", + "model._steps=930\n", + "model._steps=931\n", + "model._steps=932\n", + "model._steps=933\n", + "model._steps=934\n", + "model._steps=935\n", + "model._steps=936\n", + "model._steps=937\n", + "model._steps=938\n", + "model._steps=939\n", + "model._steps=940\n", + "model._steps=941\n", + "model._steps=942\n", + "model._steps=943\n", + "model._steps=944\n", + "model._steps=945\n", + "model._steps=946\n", + "model._steps=947\n", + "model._steps=948\n", + "model._steps=949\n", + "model._steps=950\n", + "model._steps=951\n", + "model._steps=952\n", + "model._steps=953\n", + "model._steps=954\n", + "model._steps=955\n", + "model._steps=956\n", + "model._steps=957\n", + "model._steps=958\n", + "model._steps=959\n", + "model._steps=960\n", + "model._steps=961\n", + "model._steps=962\n", + "model._steps=963\n", + "model._steps=964\n", + "model._steps=965\n", + "model._steps=966\n", + "model._steps=967\n", + "model._steps=968\n", + "model._steps=969\n", + "model._steps=970\n", + "model._steps=971\n", + "model._steps=972\n", + "model._steps=973\n", + "model._steps=974\n", + "model._steps=975\n", + "model._steps=976\n", + "model._steps=977\n", + "model._steps=978\n", + "model._steps=979\n", + "model._steps=980\n", + "model._steps=981\n", + "model._steps=982\n", + "model._steps=983\n", + "model._steps=984\n", + "model._steps=985\n", + "model._steps=986\n", + "model._steps=987\n", + "model._steps=988\n", + "model._steps=989\n", + "model._steps=990\n", + "model._steps=991\n", + "model._steps=992\n", + "model._steps=993\n", + "model._steps=994\n", + "model._steps=995\n", + "model._steps=996\n", + "model._steps=997\n", + "model._steps=998\n", + "model._steps=999\n" + ] + } + ], + "source": [ + "model = MoneyModel(100, 10, 10)\n", + "for i in range(1000):\n", + " model.step()\n", + "model.datacollector.cache_remaining_data(model)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "25bf27a3-2605-4b0d-be6d-68ff33bdb1fd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['__class__',\n", + " '__delattr__',\n", + " '__dict__',\n", + " '__dir__',\n", + " '__doc__',\n", + " '__eq__',\n", + " '__format__',\n", + " '__ge__',\n", + " '__getattribute__',\n", + " '__gt__',\n", + " '__hash__',\n", + " '__init__',\n", + " '__init_subclass__',\n", + " '__le__',\n", + " '__lt__',\n", + " '__module__',\n", + " '__ne__',\n", + " '__new__',\n", + " '__reduce__',\n", + " '__reduce_ex__',\n", + " '__repr__',\n", + " '__setattr__',\n", + " '__sizeof__',\n", + " '__str__',\n", + " '__subclasshook__',\n", + " '__weakref__',\n", + " '_agent_records',\n", + " '_new_agent_reporter',\n", + " '_new_model_reporter',\n", + " '_new_table',\n", + " '_record_agents',\n", + " '_save_to_parquet',\n", + " 'add_table_row',\n", + " 'agent_reporters',\n", + " 'cache_interval',\n", + " 'cache_remaining_data',\n", + " 'collect',\n", + " 'get_agent_vars_dataframe',\n", + " 'get_model_vars_cache_dataframe',\n", + " 'get_model_vars_dataframe',\n", + " 'get_table_dataframe',\n", + " 'model_reporters',\n", + " 'model_vars',\n", + " 'model_vars_cache',\n", + " 'output_dir',\n", + " 'tables']" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dir(model.datacollector)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "40a5975d590ee1fc", + "metadata": { + "ExecuteTime": { + "end_time": "2024-07-05T09:10:58.193832Z", + "start_time": "2024-07-05T09:10:58.024329Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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giCgVatWaN++ve/eQOXv8nSoeuvWrQFUZJBSU1O91hZPJrNz91gCFVmW3r17Y8GCBRg7diwWLVqEwYMHK4Zet2nTBr///jv69etXq4GLL9XH90R1B2tuiNzwzDPPICQkBPfeey+ys7PtHq+NDICWyZMnQxAEjBgxQrPbbP369fjss88AANdffz2sVitmzZql2GfGjBkwGAy47rrrAAC33norTCYTpkyZYve+BEHAqVOnvNb+IUOGYPPmzVi8eLHdY46OaWxsLK644gq8//77OHnypN3jubm51WpLaGgozp4969a+7h5L0dChQ7F69Wp88sknyMvLU3RJAcAdd9wBq9WKV155xe53lZeXu90uf1If3xPVHczcELmhXbt2+PrrrzFs2DB06NBBmqFYEAQcPHgQX3/9NYxGI5o3b16r7erbty9mz56NRx55BB07dlTMULxy5Ur8+OOPePXVVwEAN954I6688ko8//zzOHToELp164Zff/0VP/zwA5544gmpyLlNmzZ49dVXMXHiRBw6dAiDBw9Go0aNcPDgQSxevBgPPPAAxo8f75X2P/300/juu+9w++23495770VycjJOnz6NH3/8EXPnzkW3bt00nzd79mz0798fXbp0wZgxY9C6dWtkZ2cjMzMTx44dw+bNmz1uS3JyMubMmYNXX30Vbdu2RWxsLK666irNfd09lqI77rgD48ePx/jx46WlMeQGDBiABx98EOnp6di0aROuvfZaBAYGYu/evVi4cCH++9//4rbbbvP4PempPr4nqjsY3BC56eabb8bWrVvx1ltv4ddff8Unn3wCg8GAli1bYtCgQXjooYccXox96cEHH0SvXr3w1ltv4fPPP0dubi7CwsJwySWXYN68eVKhs9FoxI8//ohJkyZhwYIFmDdvHpKSkjB9+nQ89dRTitecMGEC2rdvjxkzZmDKlCkAKgpIr732Wtx0001ea3tYWBj++usvTJ48GYsXL8Znn32G2NhYXH311U4DxU6dOmHdunWYMmUKPv30U5w6dQqxsbHo0aMHJk2aVK22TJo0CYcPH8Ybb7yBwsJCDBgwwGFw48mxBIDmzZujb9+++Pvvv3H//fdrFmXPnTsXycnJeP/99/Hcc88hICAASUlJuPvuu9GvX79qvSe91cf3RHUD15YiIiKieoU1N0RERFSvMLghIiKieoXBDRER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aNmyJQCgVatWiI+PVxzngoICrFmzRnGcz549i/Xr10v7LF++HDabDSkpKbXwLuqGc+fOwWhUXspMJhNsNhsAHmtf8NYx7dOnD/7880+UlZVJ+/z222/o0KFDjbqkAHAouDfMnz9fsFgswqeffirs2LFDeOCBB4TIyEjFaBJy7uGHHxYiIiKElStXCidPnpR+zp07J+3z0EMPCS1atBCWL18urFu3TujTp4/Qp08f6XFxiPK1114rbNq0SVi2bJnQpEkTDlF2QT5aShB4nL1h7dq1QkBAgPDaa68Je/fuFb766ishJCRE+PLLL6V9pk2bJkRGRgo//PCDsGXLFuHmm2/WHErbo0cPYc2aNcKqVauEdu3aNejhyVpGjRolJCQkSEPBFy1aJMTExAjPPPOMtA+PtecKCwuFjRs3Chs3bhQACG+//bawceNG4fDhw4IgeOeYnj17VoiLixNGjBghbNu2TZg/f74QEhLCoeD+5N133xVatGghmM1moXfv3sLq1av1blKdAkDzZ968edI+58+fFx555BEhKipKCAkJEW655Rbh5MmTitc5dOiQcN111wnBwcFCTEyM8NRTTwllZWW1/G7qFnVww+PsHf/73/+Ezp07CxaLRejYsaPwwQcfKB632WzCiy++KMTFxQkWi0W4+uqrhd27dyv2OXXqlDBs2DAhLCxMCA8PF0aPHi0UFhbW5tvwewUFBcLjjz8utGjRQggKChJat24tPP/884rhxTzWnluxYoXmOXnUqFGCIHjvmG7evFno37+/YLFYhISEBGHatGleab9BEGTTOBIRERHVcay5ISIionqFwQ0RERHVKwxuiIiIqF5hcENERET1CoMbIiIiqlcY3BAREVG9wuCGiIiI6hUGN0RERFSvMLghIiKieoXBDREREdUrDG6IiIioXvl/Y0m6qkoyBGYAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gini = model.datacollector.get_model_vars_dataframe()\n", + "# Plot the Gini coefficient over time\n", + "g = sns.lineplot(data=gini)\n", + "g.set(title=\"Gini Coefficient over Time\", ylabel=\"Gini Coefficient\");" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "80f1723e2db59897", + "metadata": { + "ExecuteTime": { + "end_time": "2024-07-05T09:10:27.300815Z", + "start_time": "2024-07-05T09:10:27.230279Z" + } + }, + "outputs": [ + { + "data": { + "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", + "
Wealth
StepAgentID
901626
810
30
730
472
\n", + "
" + ], + "text/plain": [ + " Wealth\n", + "Step AgentID \n", + "901 62 6\n", + " 81 0\n", + " 3 0\n", + " 73 0\n", + " 47 2" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "agent_wealth = model.datacollector.get_agent_vars_dataframe()\n", + "agent_wealth.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "d4adad84db4bc82", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Gini\n", + "0 0.0000\n", + "1 0.3238\n", + "2 0.4170\n", + "3 0.4370\n", + "4 0.5410\n", + ".. ...\n", + "96 0.6002\n", + "97 0.5882\n", + "98 0.5748\n", + "99 0.5758\n", + "100 0.6174\n", + "\n", + "[101 rows x 1 columns]\n" + ] + } + ], + "source": [ + "import pyarrow.parquet as pq\n", + "import pandas as pd\n", + "\n", + "# Read a single Parquet file\n", + "table = pq.read_table('output_dir/model_data_1.parquet')\n", + "\n", + "# Convert to a pandas DataFrame\n", + "df = table.to_pandas()\n", + "\n", + "# Display the DataFrame\n", + "print(df)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ee5ec296-f096-445d-90a8-af9a85d42ef6", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Gini\n", + "0 0.0000\n", + "1 0.3238\n", + "2 0.4170\n", + "3 0.4370\n", + "4 0.5410\n", + ".. ...\n", + "896 0.7260\n", + "897 0.7300\n", + "898 0.7176\n", + "899 0.7136\n", + "900 0.7324\n", + "\n", + "[901 rows x 1 columns]\n", + " Wealth\n", + "0 1\n", + "1 1\n", + "2 1\n", + "3 1\n", + "4 1\n", + "... ...\n", + "90095 3\n", + "90096 0\n", + "90097 0\n", + "90098 0\n", + "90099 4\n", + "\n", + "[90100 rows x 1 columns]\n" + ] + } + ], + "source": [ + "import pyarrow.parquet as pq\n", + "import pandas as pd\n", + "import glob\n", + "\n", + "# Get a list of all Parquet files\n", + "model_files = glob.glob('output_dir/model_data_*.parquet')\n", + "agent_files = glob.glob('output_dir/agent_data_*.parquet')\n", + "\n", + "# Initialize lists to hold dataframes\n", + "model_dfs = []\n", + "agent_dfs = []\n", + "\n", + "# Read and append each file to the list\n", + "for model_file in model_files:\n", + " table = pq.read_table(model_file)\n", + " df = table.to_pandas()\n", + " model_dfs.append(df)\n", + "\n", + "for agent_file in agent_files:\n", + " table = pq.read_table(agent_file)\n", + " df = table.to_pandas()\n", + " agent_dfs.append(df)\n", + "\n", + "# Concatenate all DataFrames\n", + "model_df = pd.concat(model_dfs, ignore_index=True)\n", + "agent_df = pd.concat(agent_dfs, ignore_index=True)\n", + "\n", + "# Display the combined DataFrames\n", + "print(model_df)\n", + "print(agent_df)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "2ecca3e2-18c9-4dd7-b5da-98a9841a3714", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGzCAYAAADT4Tb9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACHj0lEQVR4nO3dd3gU1foH8O/2JKQTkkAIhI50CBIDKpYoKlflJypyVRAVRUXBiAoqINcSFAtXQLFjvWLBSlEMoKAUBUGQIgihJyRAOmm78/sjmcnM7OxmN9nNZMP38zx5ILOzm7Nt5p33vOccgyAIAoiIiIiaCaPeDSAiIiLyJQY3RERE1KwwuCEiIqJmhcENERERNSsMboiIiKhZYXBDREREzQqDGyIiImpWGNwQERFRs8LghoiIiJoVBjdEfvLkk0/CYDDU676LFi2CwWBAVlaWbxvlBx988AG6d+8Oi8WCyMhIafucOXPQsWNHmEwm9OvXDwCQlJSE2267zavHz8rKgsFgwKJFi3zWZnJWn/eGqKlicEPkhQMHDmDixIno2rUrQkJCEBISgh49euC+++7Dn3/+qVu7tm7diltuuQWJiYmw2WyIjo5GWloa3n33Xdjtdr/93d27d+O2225Dp06d8Oabb+KNN94AAPzwww945JFHMGTIELz77rt49tln/dYGX3n11VebVQC1Zs0aGAwGj36ImhsD15Yi8sx3332HUaNGwWw24+abb0bfvn1hNBqxe/duLFmyBAcPHsSBAwfQvn17AEBVVRWqqqoQFBTk9d+y2+2orKyEzWar8+Tz1ltvYcKECYiLi8Ott96KLl26oKioCJmZmVi6dCmefvppPPbYY/V6znVZuHAh7rnnHuzduxedO3eWtk+dOhVz5szBmTNnYLVape3l5eUwGo2wWCwe/w1BEFBeXg6LxQKTyeTT9sv16tULMTExWLNmjd/+RmPKycnBypUrFdumTZuG0NBQPP7444rtt9xyS73eG6Kmyqx3A4gCwT///IObbroJ7du3R2ZmJlq3bq24/bnnnsOrr74Ko7E2GWo2m2E21+8rZjKZPDqRb9iwARMmTEBqaiqWLVuGsLAw6bbJkyfj999/x44dO+rVBk+cOHECABTdUeL24OBgRWADADabzeu/YTAY6hUgni0EQUBZWRmCg4MV2+Pi4nDLLbcots2ePRsxMTFO24H6vTdETZZARHW66667BADChg0bPL7PzJkzBfVXDIBw3333CV9++aXQs2dPwWq1Cj169BCWL1+u2O/dd98VAAgHDhxw+zeuuOIKwWw2CwcPHvSoTcXFxUJ6errQtm1bwWq1Cl27dhXmzJkjOBwOp30/+OADYcCAAUJQUJAQFRUljBo1Sjh06JB0e/v27QUAih/xOat/3n33Xek+Y8eOVfyd06dPC5MnTxbat28vWK1WISEhQbj11luF3NxcQRAE4cCBA4rHEO3atUsYOXKkEBUVJdhsNiE5OVn4+uuvNV/HdevWCQ8++KAQExMjhISECCNGjBBOnDjh9rkMHTq0wa9lz549hYsuusjpvna7XWjTpo0wcuRIxbaXX35Z6NGjh2Cz2YTY2FjhrrvuEk6dOqW4b/v27YXhw4cLK1asEJKTkwWbzSa8/PLLbtsqb4+r56V+b8TXbu3atcL9998vxMTECBEREcJdd90llJeXC6dPnxZuvfVWITIyUoiMjBQefvhhp8+Rp8+JyNeYuSHywHfffYfOnTsjJSWlwY+1bt06LFmyBPfeey/CwsLwyiuvYOTIkTh06BBatmzp8eOUlpYiMzMTF154Idq1a1fn/oIg4JprrsHq1atxxx13oF+/fvj+++/x8MMP4+jRo3j55ZelfZ955hlMnz4dN954I+68807k5uZi3rx5uPDCC/HHH38gMjISc+fOxfvvv48vv/wSr732GkJDQ9GnTx907twZb7zxBjZt2oS33noLADB48GDNNhUXF+OCCy7Arl27cPvtt2PAgAHIy8vDN998gyNHjiAmJkbzfn/99ReGDBmChIQETJ06FS1atMCnn36KESNG4IsvvsD//d//Kfa///77ERUVhZkzZyIrKwtz587FxIkTsXjxYgDA3Llzcf/99yu6bOLi4hr8Wo4aNQpPPvkksrOzER8fL91/3bp1OHbsGG666SZp2913341FixZh3LhxeOCBB3DgwAHMnz8ff/zxB3755RdFd9GePXswevRo3H333Rg/fjy6devmsq0Ndf/99yM+Ph6zZs3Chg0b8MYbbyAyMhK//vor2rVrh2effRbLli3DnDlz0KtXL4wZM6Zez4nIp/SOroiauoKCAgGAMGLECKfbTp8+LeTm5ko/paWl0m2uMjdWq1XYt2+ftG3btm0CAGHevHnSNk8yN+L9Jk2a5NHz+OqrrwQAwtNPP63Yfv311wsGg0FqU1ZWlmAymYRnnnlGsd/27dsFs9ms2C4+RzHLIho7dqzQokULpzaoswMzZswQAAhLlixx2lfMAmhlbi699FKhd+/eQllZmWL/wYMHC126dJG2ia9jWlqaIqvw4IMPCiaTScjPz5e2uctqqHn6Wu7Zs8fpvRUEQbj33nuF0NBQ6fOydu1aAYDw0UcfKfZbsWKF03Yxy7RixQqP2ipXn8zNsGHDFK9damqqYDAYhAkTJkjbqqqqhLZt2yoe25vnRORrHC1FVIfCwkIAQGhoqNNtF110EVq1aiX9LFiwoM7HS0tLQ6dOnaTf+/Tpg/DwcOzfv79e7ZLX2bizbNkymEwmPPDAA4rtDz30EARBwPLlywEAS5YsgcPhwI033oi8vDzpJz4+Hl26dMHq1au9aqc7X3zxBfr27euUaQHgspD61KlTWLVqFW688UYUFRVJ7Tt58iSGDRuGvXv34ujRo4r73HXXXYrHu+CCC2C323Hw4MF6tdvT17Jr167o16+flCECqovFP//8c1x99dVSncxnn32GiIgIXHbZZYrXPDk5GaGhoU6veYcOHTBs2LB6td1bd9xxh+K1S0lJgSAIuOOOO6RtJpMJAwcOVHyGvX1ORL7EbimiOojBQ3FxsdNtr7/+OoqKipCTk6NZpKlFqwspKioKp0+f9qpd4eHhAICioiKP9j948CDatGnjFAydc8450u0AsHfvXgiCgC5dumg+ji+7Ev755x+MHDnSq/vs27cPgiBg+vTpmD59uuY+J06cQEJCgvS7+jWPiooCAK9fc5GnryVQ3TX12GOP4ejRo0hISMCaNWtw4sQJjBo1Stpn7969KCgoQGxsrMvnI9ehQ4d6tbs+1K9dREQEACAxMdFpu/z19PY5EfkSgxuiOkRERKB169aao47EGhxvJttzNQpK8HJWhs6dO8NsNmP79u1e3a8uDocDBoMBy5cv12yrVgarMTkcDgDAlClTXGYv5MPSAd+95vUxatQoTJs2DZ999hkmT56MTz/9FBEREbjiiiukfRwOB2JjY/HRRx9pPkarVq0Uv6tHRvmTq9dOa7v89fT2ORH5EoMbIg8MHz4cb731FjZt2oRBgwbp3RwAQEhICC655BKsWrUKhw8fdrqSVmvfvj1+/PFHFBUVKTIOu3fvlm4HgE6dOkEQBHTo0AFdu3b13xOo+VveDlXv2LEjgOoMUlpams/a4s1kdp6+lkB1lmXQoEFYvHgxJk6ciCVLlmDEiBGKodedOnXCjz/+iCFDhjRq4OJPzfE5UeBgzQ2RBx555BGEhITg9ttvR05OjtPtjZEB0DJz5kwIgoBbb71Vs9ts8+bNeO+99wAAV111Fex2O+bPn6/Y5+WXX4bBYMCVV14JALjuuutgMpkwa9Ysp+clCAJOnjzps/aPHDkS27Ztw5dfful0m6vXNDY2FhdddBFef/11HD9+3On23NzcerWlRYsWyM/P92hfT19L0ahRo7Bhwwa88847yMvLU3RJAcCNN94Iu92Op556yulvVVVVedyupqQ5PicKHMzcEHmgS5cu+PjjjzF69Gh069ZNmqFYEAQcOHAAH3/8MYxGI9q2bduo7Ro8eDAWLFiAe++9F927d1fMULxmzRp88803ePrppwEAV199NS6++GI8/vjjyMrKQt++ffHDDz/g66+/xuTJk6Ui506dOuHpp5/GtGnTkJWVhREjRiAsLAwHDhzAl19+ibvuugtTpkzxSfsffvhhfP7557jhhhtw++23Izk5GadOncI333yDhQsXom/fvpr3W7BgAc4//3z07t0b48ePR8eOHZGTk4P169fjyJEj2LZtm9dtSU5OxmuvvYann34anTt3RmxsLC655BLNfT19LUU33ngjpkyZgilTpkhLY8gNHToUd999NzIyMrB161ZcfvnlsFgs2Lt3Lz777DP897//xfXXX+/1c9JTc3xOFDgY3BB56Nprr8X27dvx4osv4ocffsA777wDg8GA9u3bY/jw4ZgwYYLLk7E/3X333Tj33HPx4osv4v3330dubi5CQ0MxYMAAvPvuu1Khs9FoxDfffIMZM2Zg8eLFePfdd5GUlIQ5c+bgoYceUjzm1KlT0bVrV7z88suYNWsWgOoC0ssvvxzXXHONz9oeGhqKtWvXYubMmfjyyy/x3nvvITY2FpdeeqnbQLFHjx74/fffMWvWLCxatAgnT55EbGws+vfvjxkzZtSrLTNmzMDBgwfx/PPPo6ioCEOHDnUZ3HjzWgJA27ZtMXjwYPzyyy+48847NYuyFy5ciOTkZLz++ut47LHHYDabkZSUhFtuuQVDhgyp13PSW3N8ThQYuLYUERERNSusuSEiIqJmhcENERERNSsMboiI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tpuO0Q0REZFevM7c3H///XjooYeQnZ2N3r17w2KxKG7v06ePV4+Xnp6OsWPHYuDAgRg0aBDmzp2LkpISjBs3DgAwZswYJCQkICMjA0B1gfDAgQPRqVMnlJeXY9myZfjggw/w2muveftUfI6ZGyIiIv15HdyMHDkSAHD77bdL2wwGAwRB8LqgGABGjRqF3NxczJgxA9nZ2ejXrx9WrFghFRkfOnQIRmNtgqmkpAT33nsvjhw5guDgYHTv3h0ffvghRo0a5e1T8TnW3BAREenP63luDh486Pb29u3bN6hB/ubNOHlvXbvgF2w7nI83xwzEZT3i6r4DERERecSv89w09eClKWDmhoiISD8eBTfffPMNrrzySlgsFnzzzTdu973mmmt80rCAxGXBiYiIdOdRcDNixAhkZ2cjNjYWI0aMcLlffWpumhMWFBMREenPo+BGvsSCerkFqiUVFDO4ISIi0o3X89yQa+LyCwZW3RAREenG44LiM2fOIDMzE//6178AVK/ZJJ84z2Qy4amnnkJQUJDvWxkgOIcfERGR/jwObt577z0sXbpUCm7mz5+Pnj17Ijg4GACwe/dutGnTBg8++KB/WhoAOM8NERGR/jzulvroo49w1113KbZ9/PHHWL16NVavXo05c+bg008/9XkDA0ltQTHDGyIiIr14HNzs27cPvXv3ln4PCgpSzBw8aNAg7Ny507etC1AMbYiIiPTjcbdUfn6+osYmNzdXcXtTWbxST15O9kxERER+4HHmpm3bttixY4fL2//880+0bdvWJ40KdOyVIiIi0o/Hwc1VV12FGTNmoKyszOm2M2fOYNasWRg+fLhPGxdoaguKGd0QERHpxeNuqcceewyffvopunXrhokTJ6Jr164AgD179mD+/PmoqqrCY4895reGBgJpnhvGNkRERLrxOLiJi4vDr7/+invuuQdTp06V6ksMBgMuu+wyvPrqq4iLO7tXwuZQcCIiIv15tSp4hw4dsGLFCpw6dQr79u0DAHTu3BnR0dF+aVygkcqJGd0QERHpxqvgRhQdHY1Bgwb5ui0BT8pmMbohIiLSDdeW8gPW3BAREemHwY0PcZYbIiIi/TG48SUWFBMREemOwY0PcW0pIiIi/TG48aHa4fE6N4SIiOgsxuDGh6TMja6tICIiOrsxuPEhaRI/RjdERES6YXDjF4xuiIiI9MLg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27crDhgrV65EeHi404mB3Lv00kuxfft2bN26VfoZOHAgbr75Zun/fD8az5AhQ5ymRvj777/Rvn17AECHDh0QHx+veD8KCwuxceNGxfuRn5+PzZs3S/usWrUKDocDKSkpjfAsmo/S0lIYjcrTrMlkgsPhAMD3w6/0rmhuDj755BPBZrMJixYtEnbu3CncddddQmRkpGL0B/nGPffcI0RERAhr1qwRjh8/Lv2UlpZK+0yYMEFo166dsGrVKuH3338XUlNThdTUVOl2cejx5ZdfLmzdulVYsWKF0KpVKw499hH5aClB4PvRmDZt2iSYzWbhmWeeEfbu3St89NFHQkhIiPDhhx9K+8yePVuIjIwUvv76a+HPP/8Urr32Ws2hx/379xc2btworFu3TujSpQuHHtfD2LFjhYSEBGko+JIlS4SYmBjhkUcekfbh++EfDG58ZN68eUK7du0Eq9UqDBo0SNiwYYPeTWqWAGj+vPvuu9I+Z86cEe69914hKipKCAkJEf7v//5POH78uOJxsrKyhCuvvFIIDg4WYmJihIceekiorKxs5GfTPKmDG74fjevbb78VevXqJdhsNqF79+7CG2+8objd4XAI06dPF+Li4gSbzSZceumlwp49exT7nDx5Uhg9erQQGhoqhIeHC+PGjROKiooa82k0C4WFhcKkSZOEdu3aCUFBQULHjh2Fxx9/XDHFAd8P/zAIgmyqRCIiIqIAx5obIiIialYY3BAREVGzwuCGiIiImhUGN0RERNSsMLghIiKiZoXBDRERETUrDG6IiIioWWFwQ0RERM0KgxsiIiJqVhjcEBERUbPC4IaIiIialf8HNR7qG7+W6NYAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "g = sns.lineplot(data=model_df)\n", + "g.set(title=\"Gini Coefficient over Time\", ylabel=\"Gini Coefficient\");" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "6e53d7b9-9220-4d9f-afa0-f74a7e2a53e6", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Gini\n", + "0 0.0000\n", + "1 0.3238\n", + "2 0.4170\n", + "3 0.4370\n", + "4 0.5410\n", + " Gini\n", + "0 0.6254\n", + "1 0.6132\n", + "2 0.5976\n", + "3 0.6208\n", + "4 0.6502\n", + " Gini\n", + "0 0.7184\n", + "1 0.7054\n", + "2 0.7100\n", + "3 0.6866\n", + "4 0.7066\n", + " Gini\n", + "0 0.6212\n", + "1 0.6128\n", + "2 0.6254\n", + "3 0.6222\n", + "4 0.6308\n", + " Gini\n", + "0 0.6406\n", + "1 0.6270\n", + "2 0.6264\n", + "3 0.6092\n", + "4 0.5822\n", + " Gini\n", + "0 0.6996\n", + "1 0.6792\n", + "2 0.6850\n", + "3 0.6680\n", + "4 0.6586\n", + " Gini\n", + "0 0.6458\n", + "1 0.6474\n", + "2 0.6430\n", + "3 0.6266\n", + "4 0.6288\n", + " Gini\n", + "0 0.7006\n", + "1 0.7406\n", + "2 0.7164\n", + "3 0.6830\n", + "4 0.6928\n", + " Gini\n", + "0 0.6780\n", + "1 0.6488\n", + "2 0.6318\n", + "3 0.6368\n", + "4 0.6390\n", + " Wealth\n", + "Step AgentID \n", + "0 0 1\n", + " 1 1\n", + " 2 1\n", + " 3 1\n", + " 4 1\n", + " Wealth\n", + "Step AgentID \n", + "101 82 1\n", + " 70 0\n", + " 30 1\n", + " 50 0\n", + " 76 3\n", + " Wealth\n", + "Step AgentID \n", + "201 64 1\n", + " 72 1\n", + " 75 1\n", + " 53 0\n", + " 67 4\n", + " Wealth\n", + "Step AgentID \n", + "301 28 4\n", + " 33 0\n", + " 62 0\n", + " 83 0\n", + " 31 2\n", + " Wealth\n", + "Step AgentID \n", + "401 93 2\n", + " 96 0\n", + " 55 3\n", + " 14 1\n", + " 51 2\n", + " Wealth\n", + "Step AgentID \n", + "501 1 0\n", + " 62 0\n", + " 34 1\n", + " 30 0\n", + " 37 0\n", + " Wealth\n", + "Step AgentID \n", + "601 59 4\n", + " 5 0\n", + " 22 2\n", + " 94 1\n", + " 19 0\n", + " Wealth\n", + "Step AgentID \n", + "701 24 1\n", + " 88 0\n", + " 75 0\n", + " 55 0\n", + " 77 0\n", + " Wealth\n", + "Step AgentID \n", + "801 47 0\n", + " 90 0\n", + " 9 0\n", + " 30 3\n", + " 0 1\n" + ] + } + ], + "source": [ + "import pyarrow.parquet as pq\n", + "\n", + "def process_parquet_file(file_path):\n", + " # Read a single Parquet file\n", + " table = pq.read_table(file_path)\n", + " \n", + " # Convert to a pandas DataFrame\n", + " df = table.to_pandas()\n", + " \n", + " # Process the DataFrame (e.g., analyze, transform, etc.)\n", + " # For example, just print the first few rows\n", + " print(df.head())\n", + " \n", + " # Optionally, return or save the processed DataFrame\n", + " return df\n", + "\n", + "# Get a list of all Parquet files\n", + "model_files = glob.glob('output_dir/model_data_*.parquet')\n", + "agent_files = glob.glob('output_dir/agent_data_*.parquet')\n", + "\n", + "# Process each file incrementally\n", + "for model_file in model_files:\n", + " process_parquet_file(model_file)\n", + "\n", + "for agent_file in agent_files:\n", + " process_parquet_file(agent_file)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "e734a650-4c8e-484e-b8f7-b687e2ab988a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['output_dir/model_data_1.parquet',\n", + " 'output_dir/model_data_2.parquet',\n", + " 'output_dir/model_data_3.parquet',\n", + " 'output_dir/model_data_4.parquet',\n", + " 'output_dir/model_data_5.parquet',\n", + " 'output_dir/model_data_6.parquet',\n", + " 'output_dir/model_data_7.parquet',\n", + " 'output_dir/model_data_8.parquet',\n", + " 'output_dir/model_data_9.parquet']" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model_files" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34615c6d-3312-4be3-a9e4-ad8bd02d6fa4", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From e1b943b67d52f13309645c04be2d6815c43055ec Mon Sep 17 00:00:00 2001 From: Dong Jun <121388798+Chan-Dong-Jun@users.noreply.github.com> Date: Tue, 9 Jul 2024 11:31:51 +0800 Subject: [PATCH 2/9] add cached-dir to gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 78b8b417a8f..5e7523ce2f3 100644 --- a/.gitignore +++ b/.gitignore @@ -88,3 +88,6 @@ dmypy.json # JS dependencies mesa/visualization/templates/external/ mesa/visualization/templates/js/external/ + +# output results default dir +mesa/output_dir/ \ No newline at end of file From 67e8bf0c419d6a00d4d2c54e0bc76a689615ecd8 Mon Sep 17 00:00:00 2001 From: Chan-Dong-Jun Date: Tue, 9 Jul 2024 11:37:00 +0800 Subject: [PATCH 3/9] add caching skeleton code --- mesa/datacollection_with_caching.py | 76 +++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/mesa/datacollection_with_caching.py b/mesa/datacollection_with_caching.py index 712482af8e2..3e093f18da4 100644 --- a/mesa/datacollection_with_caching.py +++ b/mesa/datacollection_with_caching.py @@ -33,11 +33,15 @@ * For collecting agent-level variables, agents must have a unique_id """ +import os import contextlib import itertools import types from copy import deepcopy from functools import partial +import pyarrow as pa +import pyarrow.parquet as pq + with contextlib.suppress(ImportError): import pandas as pd @@ -58,6 +62,7 @@ def __init__( model_reporters=None, agent_reporters=None, tables=None, + output_dir='output_dir', ): """ Instantiate a DataCollector with lists of model and agent reporters. @@ -107,9 +112,19 @@ def __init__( self.agent_reporters = {} self.model_vars = {} + self.model_vars_cache = {} self._agent_records = {} self.tables = {} + self.cache_interval = 100 + self.output_dir = output_dir + + if not output_dir: + raise ValueError('output_dir cannot be None') + if not os.path.exists(output_dir): + print("Creating output directory {}".format(output_dir)) + os.makedirs(output_dir) + if model_reporters is not None: for name, reporter in model_reporters.items(): self._new_model_reporter(name, reporter) @@ -132,6 +147,7 @@ def _new_model_reporter(self, name, reporter): """ self.model_reporters[name] = reporter self.model_vars[name] = [] + self.model_vars_cache[name] = [] def _new_agent_reporter(self, name, reporter): """Add a new agent-level reporter to collect. @@ -201,23 +217,33 @@ def collect(self, model): # Use deepcopy to store a copy of the data, # preventing references from being updated across steps. self.model_vars[var].append(deepcopy(reporter(model))) + self.model_vars_cache[var].append(deepcopy(reporter(model))) # Check if model attribute elif isinstance(reporter, str): self.model_vars[var].append( deepcopy(getattr(model, reporter, None)) ) + self.model_vars_cache[var].append( + deepcopy(getattr(model, reporter, None)) + ) # Check if function with arguments elif isinstance(reporter, list): self.model_vars[var].append(deepcopy(reporter[0](*reporter[1]))) + self.model_vars_cache[var].append(deepcopy(reporter[0](*reporter[1]))) # Assume it's a callable otherwise (e.g., method) # TODO: Check if method of a class explicitly else: self.model_vars[var].append(deepcopy(reporter())) + self.model_vars_cache[var].append(deepcopy(reporter())) if self.agent_reporters: agent_records = self._record_agents(model) self._agent_records[model._steps] = list(agent_records) + print(f"{model._steps=}") + if model._steps % self.cache_interval == 0 and model._steps != 0: + self._save_to_parquet(model) + def add_table_row(self, table_name, row, ignore_missing=False): """Add a row dictionary to a specific table. @@ -252,6 +278,20 @@ def get_model_vars_dataframe(self): return pd.DataFrame(self.model_vars) + def get_model_vars_cache_dataframe(self): + """Create a pandas DataFrame from the model variables. + + The DataFrame has one column for each model variable, and the index is + (implicitly) the model tick. + """ + # Check if self.model_reporters dictionary is empty, if so raise warning + if not self.model_reporters: + raise UserWarning( + "No model reporters have been defined in the DataCollector, returning empty DataFrame." + ) + + return pd.DataFrame(self.model_vars_cache) + def get_agent_vars_dataframe(self): """Create a pandas DataFrame from the agent variables. @@ -283,3 +323,39 @@ def get_table_dataframe(self, table_name): if table_name not in self.tables: raise Exception("No such table.") return pd.DataFrame(self.tables[table_name]) + + def _save_to_parquet(self, model): + """Save the current cache of data to a Parquet file and clear the cache.""" + model_df = self.get_model_vars_cache_dataframe() + agent_df = self.get_agent_vars_dataframe() + + model_file = f"{self.output_dir}/model_data_{model._steps // self.cache_interval}.parquet" + agent_file = f"{self.output_dir}/agent_data_{model._steps // self.cache_interval}.parquet" + print(f"Saving model to {model_file}") + print(f"{model_file=}") + absolute_path = os.path.abspath(model_file) + print(f"{absolute_path=}") + if os.path.exists(absolute_path): + raise FileExistsError(f"A directory with the name {model_file} already exists.") + if os.path.exists(model_file): + raise FileExistsError(f"A directory with the name {model_file} already exists.") + if os.path.exists(agent_file): + raise FileExistsError(f"A directory with the name {agent_file} already exists.") + + if not model_df.empty: + model_table = pa.Table.from_pandas(model_df) + pq.write_table(model_table, model_file) + + if not agent_df.empty: + agent_table = pa.Table.from_pandas(agent_df) + pq.write_table(agent_table, agent_file) + + # Clear the cache + self.model_vars_cache = {var: [] for var in self.model_vars_cache} + self._agent_records = {} + + def cache_remaining_data(self, model): + """Cache the remaining data in model_vars_cache and _agent_records.""" + if not self.model_vars_cache: + print("No model vars cached yet.") + self._save_to_parquet(model) \ No newline at end of file From 20db0168cdac6af3e9c8bb8a7d91c53353883f29 Mon Sep 17 00:00:00 2001 From: Chan-Dong-Jun Date: Fri, 12 Jul 2024 16:57:10 +0800 Subject: [PATCH 4/9] - --- mesa/example.ipynb | 280 ++++++++++++++++++++++----------------------- 1 file changed, 140 insertions(+), 140 deletions(-) diff --git a/mesa/example.ipynb b/mesa/example.ipynb index 7040d566e60..06a09cfb2c7 100644 --- a/mesa/example.ipynb +++ b/mesa/example.ipynb @@ -1179,7 +1179,10 @@ "model._steps=996\n", "model._steps=997\n", "model._steps=998\n", - "model._steps=999\n" + "model._steps=999\n", + "Saving model to output_dir/model_data_10.parquet\n", + "model_file='output_dir/model_data_10.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_10.parquet'\n" ] } ], @@ -1269,7 +1272,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGzCAYAAADT4Tb9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACH0UlEQVR4nO3dd3gUVdsG8Ht3k9000ghJIARCR6QaIFIUS5RXsaCoiAiIihUsERUsIBaCosKrIFixC+IH6iuIJYCKBpDeey9plDQgZXe+P5KZzMzOtmQ3s0nu33XlUmZnN2cnuzPPPOc55xgEQRBAREREVE8Y9W4AERERkTcxuCEiIqJ6hcENERER1SsMboiIiKheYXBDRERE9QqDGyIiIqpXGNwQERFRvcLghoiIiOoVBjdERERUrzC4IfKRl156CQaDoVrP/fTTT2EwGHDo0CHvNsoHvvjiC3Ts2BGBgYGIjIyUtk+fPh2tW7eGyWRC9+7dAQBJSUm45557PHr9Q4cOwWAw4NNPP/Vam8ledf42RP6KwQ2RBw4ePIixY8eiffv2CAkJQUhICDp16oRHH30UW7Zs0a1dmzZtwt13343ExERYLBZER0cjNTUV8+bNg9Vq9dnv3bVrF+655x60adMGH374IT744AMAwK+//opnnnkG/fr1w7x58zB16lSftcFb3nvvvXoVQK1cuRIGg8GtH6L6xsC1pYjc89NPP2Ho0KEICAjA8OHD0a1bNxiNRuzatQuLFi3C4cOHcfDgQbRs2RIAUF5ejvLycgQFBXn8u6xWK8rKymCxWFxefD766CM89NBDiIuLw4gRI9CuXTsUFhYiIyMDS5YswauvvornnnuuWu/Zlblz5+Lhhx/G3r170bZtW2n7hAkTMH36dJw/fx5ms1naXlJSAqPRiMDAQLd/hyAIKCkpQWBgIEwmk1fbL9e5c2fExMRg5cqVPvsdtSk7Oxu//fabYtvEiRMRFhaG559/XrH97rvvrtbfhshfBejdAKK6YP/+/bjzzjvRsmVLZGRkoGnTporHX3/9dbz33nswGquSoQEBAQgIqN5XzGQyuXUhX716NR566CH06dMHS5cuRaNGjaTHnnjiCaxbtw7btm2rVhvckZOTAwCK7ihxe3BwsCKwAQCLxeLx7zAYDNUKEBsKQRBw4cIFBAcHK7bHxcXh7rvvVmybNm0aYmJi7LYD1fvbEPktgYhceuCBBwQAwurVq91+zuTJkwX1VwyA8OijjwqLFy8WLr74YsFsNgudOnUSfv75Z8V+8+bNEwAIBw8edPo7/vOf/wgBAQHC4cOH3WpTUVGRkJaWJjRv3lwwm81C+/bthenTpws2m81u3y+++EK45JJLhKCgICEqKkoYOnSocOTIEenxli1bCgAUP+J7Vv/MmzdPes6oUaMUv+fMmTPCE088IbRs2VIwm81CQkKCMGLECCE3N1cQBEE4ePCg4jVEO3fuFIYMGSJERUUJFotFSE5OFn744QfN47hq1SrhySefFGJiYoSQkBBh8ODBQk5OjtP3MmDAgBofy4svvli44oor7J5rtVqFZs2aCUOGDFFsmzFjhtCpUyfBYrEIsbGxwgMPPCCcPn1a8dyWLVsKgwYNEpYtWyYkJycLFotFmDFjhtO2ytvj6H2p/zbisfvrr7+EcePGCTExMUJERITwwAMPCCUlJcKZM2eEESNGCJGRkUJkZKTw9NNP232O3H1PRN7GzA2RG3766Se0bdsWKSkpNX6tVatWYdGiRXjkkUfQqFEjvPPOOxgyZAiOHDmCxo0bu/06586dQ0ZGBi6//HK0aNHC5f6CIOCmm27CihUrcN9996F79+745Zdf8PTTT+P48eOYMWOGtO9rr72GF198EXfccQfuv/9+5Obm4t1338Xll1+OjRs3IjIyEjNnzsTnn3+OxYsXY86cOQgLC0PXrl3Rtm1bfPDBB1i7di0++ugjAEDfvn0121RUVITLLrsMO3fuxL333otLLrkEeXl5+PHHH3Hs2DHExMRoPm/79u3o168fEhISMGHCBISGhuLbb7/F4MGD8X//93+45ZZbFPuPGzcOUVFRmDx5Mg4dOoSZM2di7NixWLBgAQBg5syZGDdunKLLJi4ursbHcujQoXjppZeQlZWF+Ph46fmrVq3CiRMncOedd0rbHnzwQXz66acYPXo0HnvsMRw8eBCzZs3Cxo0b8ffffyu6i3bv3o1hw4bhwQcfxJgxY9ChQweHba2pcePGIT4+HlOmTMHq1avxwQcfIDIyEv/88w9atGiBqVOnYunSpZg+fTo6d+6MkSNHVus9EXmV3tEVkb/Lz88XAAiDBw+2e+zMmTNCbm6u9HPu3DnpMUeZG7PZLOzbt0/atnnzZgGA8O6770rb3MnciM97/PHH3Xof33//vQBAePXVVxXbb7vtNsFgMEhtOnTokGAymYTXXntNsd/WrVuFgIAAxXbxPYpZFtGoUaOE0NBQuzaoswOTJk0SAAiLFi2y21fMAmhlbq6++mqhS5cuwoULFxT79+3bV2jXrp20TTyOqampiqzCk08+KZhMJuHs2bPSNmdZDTV3j+Xu3bvt/raCIAiPPPKIEBYWJn1e/vrrLwGA8NVXXyn2W7Zsmd12Mcu0bNkyt9oqV53MzcCBAxXHrk+fPoLBYBAeeughaVt5ebnQvHlzxWt78p6IvI2jpYhcKCgoAACEhYXZPXbFFVegSZMm0s/s2bNdvl5qairatGkj/btr164IDw/HgQMHqtUueZ2NM0uXLoXJZMJjjz2m2P7UU09BEAT8/PPPAIBFixbBZrPhjjvuQF5envQTHx+Pdu3aYcWKFR6105n/+7//Q7du3ewyLQAcFlKfPn0ay5cvxx133IHCwkKpfadOncLAgQOxd+9eHD9+XPGcBx54QPF6l112GaxWKw4fPlytdrt7LNu3b4/u3btLGSKgolj8u+++w4033ijVySxcuBARERG45pprFMc8OTkZYWFhdse8VatWGDhwYLXa7qn77rtPcexSUlIgCALuu+8+aZvJZELPnj0Vn2FP3xORN7FbisgFMXgoKiqye+z9999HYWEhsrOzNYs0tWh1IUVFReHMmTMetSs8PBwAUFhY6Nb+hw8fRrNmzeyCoYsuukh6HAD27t0LQRDQrl07zdfxZlfC/v37MWTIEI+es2/fPgiCgBdffBEvvvii5j45OTlISEiQ/q0+5lFRUQDg8TEXuXssgYquqeeeew7Hjx9HQkICVq5ciZycHAwdOlTaZ+/evcjPz0dsbKzD9yPXqlWrarW7OtTHLiIiAgCQmJhot11+PD19T0TexOCGyIWIiAg0bdpUc9SRWIPjyWR7jkZBCR7OytC2bVsEBARg69atHj3PFZvNBoPBgJ9//lmzrVoZrNpks9kAAOPHj3eYvZAPSwe8d8yrY+jQoZg4cSIWLlyIJ554At9++y0iIiLwn//8R9rHZrMhNjYWX331leZrNGnSRPFv9cgoX3J07LS2y4+np++JyJsY3BC5YdCgQfjoo4+wdu1a9O7dW+/mAABCQkJw1VVXYfny5Th69KjdnbRay5Yt8fvvv6OwsFCRcdi1a5f0OAC0adMGgiCgVatWaN++ve/eQOXv8nSoeuvWrQFUZJBSU1O91hZPJrNz91gCFVmW3r17Y8GCBRg7diwWLVqEwYMHK4Zet2nTBr///jv69etXq4GLL9XH90R1B2tuiNzwzDPPICQkBPfeey+ys7PtHq+NDICWyZMnQxAEjBgxQrPbbP369fjss88AANdffz2sVitmzZql2GfGjBkwGAy47rrrAAC33norTCYTpkyZYve+BEHAqVOnvNb+IUOGYPPmzVi8eLHdY46OaWxsLK644gq8//77OHnypN3jubm51WpLaGgozp4969a+7h5L0dChQ7F69Wp88sknyMvLU3RJAcAdd9wBq9WKV155xe53lZeXu90uf1If3xPVHczcELmhXbt2+PrrrzFs2DB06NBBmqFYEAQcPHgQX3/9NYxGI5o3b16r7erbty9mz56NRx55BB07dlTMULxy5Ur8+OOPePXVVwEAN954I6688ko8//zzOHToELp164Zff/0VP/zwA5544gmpyLlNmzZ49dVXMXHiRBw6dAiDBw9Go0aNcPDgQSxevBgPPPAAxo8f75X2P/300/juu+9w++23495770VycjJOnz6NH3/8EXPnzkW3bt00nzd79mz0798fXbp0wZgxY9C6dWtkZ2cjMzMTx44dw+bNmz1uS3JyMubMmYNXX30Vbdu2RWxsLK666irNfd09lqI77rgD48ePx/jx46WlMeQGDBiABx98EOnp6di0aROuvfZaBAYGYu/evVi4cCH++9//4rbbbvP4PempPr4nqjsY3BC56eabb8bWrVvx1ltv4ddff8Unn3wCg8GAli1bYtCgQXjooYccXox96cEHH0SvXr3w1ltv4fPPP0dubi7CwsJwySWXYN68eVKhs9FoxI8//ohJkyZhwYIFmDdvHpKSkjB9+nQ89dRTitecMGEC2rdvjxkzZmDKlCkAKgpIr732Wtx0001ea3tYWBj++usvTJ48GYsXL8Znn32G2NhYXH311U4DxU6dOmHdunWYMmUKPv30U5w6dQqxsbHo0aMHJk2aVK22TJo0CYcPH8Ybb7yBwsJCDBgwwGFw48mxBIDmzZujb9+++Pvvv3H//fdrFmXPnTsXycnJeP/99/Hcc88hICAASUlJuPvuu9GvX79qvSe91cf3RHUD15YiIiKieoU1N0RERFSvMLghIiKieoXBDRER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aNmyJQCgVatWiI+PVxzngoICrFmzRnGcz549i/Xr10v7LF++HDabDSkpKbXwLuqGc+fOwWhUXspMJhNsNhsAHmtf8NYx7dOnD/7880+UlZVJ+/z222/o0KFDjbqkAHAouDfMnz9fsFgswqeffirs2LFDeOCBB4TIyEjFaBJy7uGHHxYiIiKElStXCidPnpR+zp07J+3z0EMPCS1atBCWL18urFu3TujTp4/Qp08f6XFxiPK1114rbNq0SVi2bJnQpEkTDlF2QT5aShB4nL1h7dq1QkBAgPDaa68Je/fuFb766ishJCRE+PLLL6V9pk2bJkRGRgo//PCDsGXLFuHmm2/WHErbo0cPYc2aNcKqVauEdu3aNejhyVpGjRolJCQkSEPBFy1aJMTExAjPPPOMtA+PtecKCwuFjRs3Chs3bhQACG+//bawceNG4fDhw4IgeOeYnj17VoiLixNGjBghbNu2TZg/f74QEhLCoeD+5N133xVatGghmM1moXfv3sLq1av1blKdAkDzZ968edI+58+fFx555BEhKipKCAkJEW655Rbh5MmTitc5dOiQcN111wnBwcFCTEyM8NRTTwllZWW1/G7qFnVww+PsHf/73/+Ezp07CxaLRejYsaPwwQcfKB632WzCiy++KMTFxQkWi0W4+uqrhd27dyv2OXXqlDBs2DAhLCxMCA8PF0aPHi0UFhbW5tvwewUFBcLjjz8utGjRQggKChJat24tPP/884rhxTzWnluxYoXmOXnUqFGCIHjvmG7evFno37+/YLFYhISEBGHatGleab9BEGTTOBIRERHVcay5ISIionqFwQ0RERHVKwxuiIiIqF5hcENERET1CoMbIiIiqlcY3BAREVG9wuCGiIiI6hUGN0RERFSvMLghIiKieoXBDREREdUrDG6IiIioXvl/Y0m6qkoyBGYAAAAASUVORK5CYII=", + "image/png": "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atUK7du3r74XUPZc3g5Vb926NYDSDFJiYqJmbfFmMjtPjyVQmmXp3bs3Fi1ahLFjx2LJkiUYMmSIYuh1mzZt8Mcff6Bfv341GrhUp/r4mqjuYM0NkQdeeOEF+Pv748EHH0RqaqrT7TWRAVAzefJkCIKA+++/X7XbbOvWrfjf//4HALjppptgs9kwd+5cxT6zZs2CwWDAjTfeCAC44447YDKZMGXKFKfXJQgCLly4oFn7hw4dip07d+LHH390us3VMY2IiMA111yDDz74AOfOnXO6PS0trVJtadSoETIzMz3a19NjKRo2bBg2btyIhQsXIj09XdElBQB33303bDYbpk6d6vRcJSUlHrerNqmPr4nqDmZuiDzQrl07fP3117j33nvRoUMHaYZiQRBw7NgxfP311zAajWjevHmNtqtv376YN28eHn/8cXTs2FExQ/GaNWvwyy+/4LXXXgMA3HLLLbj22mvx8ssv4/jx4+jWrRtWrFiBn3/+Gc8884xU5NymTRu89tprmDBhAo4fP44hQ4YgMDAQx44dw48//ohHHnkE48aN06T9zz//PL7//nvcddddePDBBxEXF4eMjAz88ssvWLBgAbp166Z6v3nz5uHKK69Ely5dMHr0aLRu3RqpqanYsGEDTp8+jZ07d3rdlri4OMyfPx+vvfYa2rZti4iICAwYMEB1X0+Ppejuu+/GuHHjMG7cOGlpDLn+/fvj0UcfxbRp07Bjxw5cf/318PHxwaFDh/Ddd9/h3XffxZ133un1a9JTfXxNVHcwuCHy0G233Ybdu3fjnXfewYoVK7Bw4UIYDAa0bNkSgwcPxpgxY1yejKvTo48+il69euGdd97B559/jrS0NAQEBKBnz5749NNPpUJno9GIX375BZMmTcKiRYvw6aefIjY2FjNmzMBzzz2neMzx48ejffv2mDVrFqZMmQKgtID0+uuvx6233qpZ2wMCAvDXX39h8uTJ+PHHH/G///0PERERuO6669wGip06dcKWLVswZcoUfPbZZ7hw4QIiIiLQo0cPTJo0qVJtmTRpEk6cOIG33noLOTk56N+/v8vgxptjCQDNmzdH37598ffff+Phhx9WLcpesGAB4uLi8MEHH+Cll16C2WxGbGws7rvvPvTr169Sr0lv9fE1Ud3AtaWIiIioXmHNDREREdUrDG6IiIioXmFwQ0RERPUK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FsTFxSE5ORlDhgwBANjtdiQnJ2Ps2LEePYbNZsPu3btx0003efXc1UUaLcXghoiISBceBzfbt28HUJq52b17NywWi3SbxWJBt27dMG7cOK8bkJSUhJEjRyI+Ph69e/fG7NmzkZeXh1GjRgEARowYgejoaEybNg0A8Oqrr+KKK65A27ZtkZmZiRkzZuDEiRN4+OGHvX7u6iDNc8OCYiIiIl14HNysXr0aADBq1Ci8++67CAoK0qQBw4YNQ1paGiZNmoSUlBR0794dy5cvl4qMT548CaNsut+LFy9i9OjRSElJQWhoKOLi4rB+/Xp06tRJk/ZUlbgoOIMbIiIifRgEtaFP9Vh2djaCg4ORlZWlWYAmt/HoBdzz4Ua0adIIyc9do/njExERNUTenL+9Hi2Vl5eH6dOnIzk5GefPn4ddXAa7zNGjR719yHrFzpobIiIiXXkd3Dz88MP4888/cf/996Np06aqI6caMhtrboiIiHTldXDz22+/4ddff0W/fv2qoz11HkdLERER6cvreW5CQ0MRFhZWHW2pFwQWFBMREenK6+Bm6tSpmDRpEvLz86ujPXVeeeZG54YQERE1UF53S73zzjs4cuQIIiMjERsbCx8fH8Xt27Zt06xxdZFYc2NkdENERKQLr4MbcSZhUieOljKx5oaIiEgXXgc3kydPro521BvM3BAREemrUmtXZ2Zm4uOPP8aECROQkZEBoLQ76syZM5o2ri6SZihm5oaIiEgXXmdudu3ahcTERAQHB+P48eMYPXo0wsLCsGTJEpw8eRKff/55dbSzzpAm8atU2EhERERV5fUpOCkpCQ888AAOHToEX19faftNN92EtWvXatq4uojz3BAREenL6+Dmn3/+waOPPuq0PTo6GikpKZo0qi7jDMVERET68jq4sVqtyM7Odtp+8OBBNGnSRJNG1WUcLUVERKQvr4ObW2+9Fa+++iqKi4sBAAaDASdPnsSLL76IoUOHat7AukYsKOaaW0RERPrwOrh55513kJubi4iICBQUFKB///5o27YtAgMD8frrr1dHG+uU8m4pnRtCRETUQHk9Wio4OBgrV67EunXrsGvXLuTm5qJnz55ITEysjvbVObmXSgAAjSxeH1oiIiLSQKXPwFdeeSWuvPJKLdtSL5y6WLrmVvNQP51bQkRE1DB5FNy89957eOSRR+Dr64v33nvP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/oIgYNWqVThw4ADefPNN1X0KCwtRWFgo/Z6dnV3ldrtpEACAvVJERET68Tpzk5CQgMOHD2vy5Onp6bDZbIiMjFRsj4yMREpKisv7ZWVlISAgABaLBYMHD8acOXMwcOBA1X2nTZuG4OBg6ScmJkaTtquRCooZ3BAREenG68zNk08+ieeeew4pKSno0qULfHx8FLd37dpVs8a5EhgYiB07diA3NxfJyclISkpC69atcc011zjtO2HCBCQlJUm/Z2dnV1uAIxUUs+qGiIhIN14HN0OHDgUAPPjgg9I2g8EAQRC8LigODw+HyWRCamqqYntqaiqioqJc3s9oNErdYt27d8e+ffswbdo01eDGarXCarV63KaqECBFN0RERKQTr4ObY8eOafbkFosFcXFxSE5OxpAhQwCUDjNPTk7G2LFjPX4cu92uqKshIiKihsvr4KZly5aaNiApKQkjR45EfHw8evfujdmzZyMvLw+jRo0CAIwYMQLR0dGYNm0agNIamvj4eLRp0waFhYVYtmwZvvjiC8yfP1/TdlWGwMQNERGR7jwKbn755RfceOON8PHxwS+//OJ231tvvdWrBgwbNgxpaWmYNGkSUlJS0L17dyxfvlwqMj558iSMxvK657y8PDz++OM4ffo0/Pz80LFjR3z55ZcYNmyYV89bHTiJHxERkf4MguNMfCqMRiNSUlIQERGhCDScHqwSk/jVtOzsbAQHByMrKwtBQUGaPvaN7/6Ffeey8fmDvXF1+yaaPjYREVFD5s3526PMjd1uV/0/KQmc54aIiEh3lVpbitzjUHAiIiL9eFxQXFBQgOTkZNx8880ASuePkY9QMplMmDp1Knx9fbVvJREREZGHPA5u/ve//+HXX3+Vgpu5c+fi8ssvh5+fHwBg//79aNasGZ599tnqaWkdUF5QrG87iIiIGjKPu6W++uorPPLII4ptX3/9NVavXo3Vq1djxowZWLx4seYNrEvESfwY2xAREenH4+Dm8OHD6NKli/S7r6+vYuRU7969sXfvXm1bV8dI484Y3RAREenG426pzMxMRY1NWlqa4nbOEixbOJPRDRERkW48ztw0b94ce/bscXn7rl270Lx5c00aVVdxKDgREZH+PA5ubrrpJkyaNAmXLl1yuq2goABTpkzB4MGDNW0cERERkbc87pZ66aWXsHjxYnTo0AFjx45F+/bt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", "text/plain": [ "
" ] @@ -1317,49 +1320,32 @@ " \n", " \n", " \n", - " \n", - " Wealth\n", - " \n", - " \n", " Step\n", " AgentID\n", - " \n", + " Wealth\n", " \n", " \n", " \n", " \n", - " 901\n", - " 62\n", - " 6\n", - " \n", - " \n", - " 81\n", - " 0\n", - " \n", - " \n", - " 3\n", - " 0\n", - " \n", - " \n", - " 73\n", - " 0\n", + " Step\n", + " NaN\n", + " NaN\n", + " NaN\n", " \n", " \n", - " 47\n", - " 2\n", + " AgentID\n", + " NaN\n", + " NaN\n", + " NaN\n", " \n", " \n", "\n", "" ], "text/plain": [ - " Wealth\n", - "Step AgentID \n", - "901 62 6\n", - " 81 0\n", - " 3 0\n", - " 73 0\n", - " 47 2" + " Step AgentID Wealth\n", + "Step NaN NaN NaN\n", + "AgentID NaN NaN NaN" ] }, "execution_count": 8, @@ -1384,16 +1370,16 @@ "text": [ " Gini\n", "0 0.0000\n", - "1 0.3238\n", - "2 0.4170\n", - "3 0.4370\n", - "4 0.5410\n", + "1 0.3146\n", + "2 0.3576\n", + "3 0.4404\n", + "4 0.4484\n", ".. ...\n", - "96 0.6002\n", - "97 0.5882\n", - "98 0.5748\n", - "99 0.5758\n", - "100 0.6174\n", + "96 0.6668\n", + "97 0.6820\n", + "98 0.6826\n", + "99 0.6416\n", + "100 0.6364\n", "\n", "[101 rows x 1 columns]\n" ] @@ -1427,18 +1413,18 @@ "text": [ " Gini\n", "0 0.0000\n", - "1 0.3238\n", - "2 0.4170\n", - "3 0.4370\n", - "4 0.5410\n", + "1 0.3146\n", + "2 0.3576\n", + "3 0.4404\n", + "4 0.4484\n", ".. ...\n", - "896 0.7260\n", - "897 0.7300\n", - "898 0.7176\n", - "899 0.7136\n", - "900 0.7324\n", + "995 0.6322\n", + "996 0.6274\n", + "997 0.6276\n", + "998 0.6088\n", + "999 0.6256\n", "\n", - "[901 rows x 1 columns]\n", + "[1000 rows x 1 columns]\n", " Wealth\n", "0 1\n", "1 1\n", @@ -1446,13 +1432,13 @@ "3 1\n", "4 1\n", "... ...\n", - "90095 3\n", - "90096 0\n", - "90097 0\n", - "90098 0\n", - "90099 4\n", + "99995 1\n", + "99996 0\n", + "99997 0\n", + "99998 2\n", + "99999 0\n", "\n", - "[90100 rows x 1 columns]\n" + "[100000 rows x 1 columns]\n" ] } ], @@ -1497,7 +1483,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGzCAYAAADT4Tb9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACHj0lEQVR4nO3dd3gU1foH8O/2JKQTkkAIhI50CBIDKpYoKlflJypyVRAVRUXBiAoqINcSFAtXQLFjvWLBSlEMoKAUBUGQIgihJyRAOmm78/sjmcnM7OxmN9nNZMP38zx5ILOzm7Nt5p33vOccgyAIAoiIiIiaCaPeDSAiIiLyJQY3RERE1KwwuCEiIqJmhcENERERNSsMboiIiKhZYXBDREREzQqDGyIiImpWGNwQERFRs8LghoiIiJoVBjdEfvLkk0/CYDDU676LFi2CwWBAVlaWbxvlBx988AG6d+8Oi8WCyMhIafucOXPQsWNHmEwm9OvXDwCQlJSE2267zavHz8rKgsFgwKJFi3zWZnJWn/eGqKlicEPkhQMHDmDixIno2rUrQkJCEBISgh49euC+++7Dn3/+qVu7tm7diltuuQWJiYmw2WyIjo5GWloa3n33Xdjtdr/93d27d+O2225Dp06d8Oabb+KNN94AAPzwww945JFHMGTIELz77rt49tln/dYGX3n11VebVQC1Zs0aGAwGj36ImhsD15Yi8sx3332HUaNGwWw24+abb0bfvn1hNBqxe/duLFmyBAcPHsSBAwfQvn17AEBVVRWqqqoQFBTk9d+y2+2orKyEzWar8+Tz1ltvYcKECYiLi8Ott96KLl26oKioCJmZmVi6dCmefvppPPbYY/V6znVZuHAh7rnnHuzduxedO3eWtk+dOhVz5szBmTNnYLVape3l5eUwGo2wWCwe/w1BEFBeXg6LxQKTyeTT9sv16tULMTExWLNmjd/+RmPKycnBypUrFdumTZuG0NBQPP7444rtt9xyS73eG6Kmyqx3A4gCwT///IObbroJ7du3R2ZmJlq3bq24/bnnnsOrr74Ko7E2GWo2m2E21+8rZjKZPDqRb9iwARMmTEBqaiqWLVuGsLAw6bbJkyfj999/x44dO+rVBk+cOHECABTdUeL24OBgRWADADabzeu/YTAY6hUgni0EQUBZWRmCg4MV2+Pi4nDLLbcots2ePRsxMTFO24H6vTdETZZARHW66667BADChg0bPL7PzJkzBfVXDIBw3333CV9++aXQs2dPwWq1Cj169BCWL1+u2O/dd98VAAgHDhxw+zeuuOIKwWw2CwcPHvSoTcXFxUJ6errQtm1bwWq1Cl27dhXmzJkjOBwOp30/+OADYcCAAUJQUJAQFRUljBo1Sjh06JB0e/v27QUAih/xOat/3n33Xek+Y8eOVfyd06dPC5MnTxbat28vWK1WISEhQbj11luF3NxcQRAE4cCBA4rHEO3atUsYOXKkEBUVJdhsNiE5OVn4+uuvNV/HdevWCQ8++KAQExMjhISECCNGjBBOnDjh9rkMHTq0wa9lz549hYsuusjpvna7XWjTpo0wcuRIxbaXX35Z6NGjh2Cz2YTY2FjhrrvuEk6dOqW4b/v27YXhw4cLK1asEJKTkwWbzSa8/PLLbtsqb4+r56V+b8TXbu3atcL9998vxMTECBEREcJdd90llJeXC6dPnxZuvfVWITIyUoiMjBQefvhhp8+Rp8+JyNeYuSHywHfffYfOnTsjJSWlwY+1bt06LFmyBPfeey/CwsLwyiuvYOTIkTh06BBatmzp8eOUlpYiMzMTF154Idq1a1fn/oIg4JprrsHq1atxxx13oF+/fvj+++/x8MMP4+jRo3j55ZelfZ955hlMnz4dN954I+68807k5uZi3rx5uPDCC/HHH38gMjISc+fOxfvvv48vv/wSr732GkJDQ9GnTx907twZb7zxBjZt2oS33noLADB48GDNNhUXF+OCCy7Arl27cPvtt2PAgAHIy8vDN998gyNHjiAmJkbzfn/99ReGDBmChIQETJ06FS1atMCnn36KESNG4IsvvsD//d//Kfa///77ERUVhZkzZyIrKwtz587FxIkTsXjxYgDA3Llzcf/99yu6bOLi4hr8Wo4aNQpPPvkksrOzER8fL91/3bp1OHbsGG666SZp2913341FixZh3LhxeOCBB3DgwAHMnz8ff/zxB3755RdFd9GePXswevRo3H333Rg/fjy6devmsq0Ndf/99yM+Ph6zZs3Chg0b8MYbbyAyMhK//vor2rVrh2effRbLli3DnDlz0KtXL4wZM6Zez4nIp/SOroiauoKCAgGAMGLECKfbTp8+LeTm5ko/paWl0m2uMjdWq1XYt2+ftG3btm0CAGHevHnSNk8yN+L9Jk2a5NHz+OqrrwQAwtNPP63Yfv311wsGg0FqU1ZWlmAymYRnnnlGsd/27dsFs9ms2C4+RzHLIho7dqzQokULpzaoswMzZswQAAhLlixx2lfMAmhlbi699FKhd+/eQllZmWL/wYMHC126dJG2ia9jWlqaIqvw4IMPCiaTScjPz5e2uctqqHn6Wu7Zs8fpvRUEQbj33nuF0NBQ6fOydu1aAYDw0UcfKfZbsWKF03Yxy7RixQqP2ipXn8zNsGHDFK9damqqYDAYhAkTJkjbqqqqhLZt2yoe25vnRORrHC1FVIfCwkIAQGhoqNNtF110EVq1aiX9LFiwoM7HS0tLQ6dOnaTf+/Tpg/DwcOzfv79e7ZLX2bizbNkymEwmPPDAA4rtDz30EARBwPLlywEAS5YsgcPhwI033oi8vDzpJz4+Hl26dMHq1au9aqc7X3zxBfr27euUaQHgspD61KlTWLVqFW688UYUFRVJ7Tt58iSGDRuGvXv34ujRo4r73HXXXYrHu+CCC2C323Hw4MF6tdvT17Jr167o16+flCECqovFP//8c1x99dVSncxnn32GiIgIXHbZZYrXPDk5GaGhoU6veYcOHTBs2LB6td1bd9xxh+K1S0lJgSAIuOOOO6RtJpMJAwcOVHyGvX1ORL7EbimiOojBQ3FxsdNtr7/+OoqKipCTk6NZpKlFqwspKioKp0+f9qpd4eHhAICioiKP9j948CDatGnjFAydc8450u0AsHfvXgiCgC5dumg+ji+7Ev755x+MHDnSq/vs27cPgiBg+vTpmD59uuY+J06cQEJCgvS7+jWPiooCAK9fc5GnryVQ3TX12GOP4ejRo0hISMCaNWtw4sQJjBo1Stpn7969KCgoQGxsrMvnI9ehQ4d6tbs+1K9dREQEACAxMdFpu/z19PY5EfkSgxuiOkRERKB169aao47EGhxvJttzNQpK8HJWhs6dO8NsNmP79u1e3a8uDocDBoMBy5cv12yrVgarMTkcDgDAlClTXGYv5MPSAd+95vUxatQoTJs2DZ999hkmT56MTz/9FBEREbjiiiukfRwOB2JjY/HRRx9pPkarVq0Uv6tHRvmTq9dOa7v89fT2ORH5EoMbIg8MHz4cb731FjZt2oRBgwbp3RwAQEhICC655BKsWrUKhw8fdrqSVmvfvj1+/PFHFBUVKTIOu3fvlm4HgE6dOkEQBHTo0AFdu3b13xOo+VveDlXv2LEjgOoMUlpams/a4s1kdp6+lkB1lmXQoEFYvHgxJk6ciCVLlmDEiBGKodedOnXCjz/+iCFDhjRq4OJPzfE5UeBgzQ2RBx555BGEhITg9ttvR05OjtPtjZEB0DJz5kwIgoBbb71Vs9ts8+bNeO+99wAAV111Fex2O+bPn6/Y5+WXX4bBYMCVV14JALjuuutgMpkwa9Ysp+clCAJOnjzps/aPHDkS27Ztw5dfful0m6vXNDY2FhdddBFef/11HD9+3On23NzcerWlRYsWyM/P92hfT19L0ahRo7Bhwwa88847yMvLU3RJAcCNN94Iu92Op556yulvVVVVedyupqQ5PicKHMzcEHmgS5cu+PjjjzF69Gh069ZNmqFYEAQcOHAAH3/8MYxGI9q2bduo7Ro8eDAWLFiAe++9F927d1fMULxmzRp88803ePrppwEAV199NS6++GI8/vjjyMrKQt++ffHDDz/g66+/xuTJk6Ui506dOuHpp5/GtGnTkJWVhREjRiAsLAwHDhzAl19+ibvuugtTpkzxSfsffvhhfP7557jhhhtw++23Izk5GadOncI333yDhQsXom/fvpr3W7BgAc4//3z07t0b48ePR8eOHZGTk4P169fjyJEj2LZtm9dtSU5OxmuvvYann34anTt3RmxsLC655BLNfT19LUU33ngjpkyZgilTpkhLY8gNHToUd999NzIyMrB161ZcfvnlsFgs2Lt3Lz777DP897//xfXXX+/1c9JTc3xOFDgY3BB56Nprr8X27dvx4osv4ocffsA777wDg8GA9u3bY/jw4ZgwYYLLk7E/3X333Tj33HPx4osv4v3330dubi5CQ0MxYMAAvPvuu1Khs9FoxDfffIMZM2Zg8eLFePfdd5GUlIQ5c+bgoYceUjzm1KlT0bVrV7z88suYNWsWgOoC0ssvvxzXXHONz9oeGhqKtWvXYubMmfjyyy/x3nvvITY2FpdeeqnbQLFHjx74/fffMWvWLCxatAgnT55EbGws+vfvjxkzZtSrLTNmzMDBgwfx/PPPo6ioCEOHDnUZ3HjzWgJA27ZtMXjwYPzyyy+48847NYuyFy5ciOTkZLz++ut47LHHYDabkZSUhFtuuQVDhgyp13PSW3N8ThQYuLYUERERNSusuSEiIqJmhcENERERNSsMboiI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tpuO0Q0REZFevM7c3H///XjooYeQnZ2N3r17w2KxKG7v06ePV4+Xnp6OsWPHYuDAgRg0aBDmzp2LkpISjBs3DgAwZswYJCQkICMjA0B1gfDAgQPRqVMnlJeXY9myZfjggw/w2muveftUfI6ZGyIiIv15HdyMHDkSAHD77bdL2wwGAwRB8LqgGABGjRqF3NxczJgxA9nZ2ejXrx9WrFghFRkfOnQIRmNtgqmkpAT33nsvjhw5guDgYHTv3h0ffvghRo0a5e1T8TnW3BAREenP63luDh486Pb29u3bN6hB/ubNOHlvXbvgF2w7nI83xwzEZT3i6r4DERERecSv89w09eClKWDmhoiISD8eBTfffPMNrrzySlgsFnzzzTdu973mmmt80rCAxGXBiYiIdOdRcDNixAhkZ2cjNjYWI0aMcLlffWpumhMWFBMREenPo+BGvsSCerkFqiUVFDO4ISIi0o3X89yQa+LyCwZW3RAREenG44LiM2fOIDMzE//6178AVK/ZJJ84z2Qy4amnnkJQUJDvWxkgOIcfERGR/jwObt577z0sXbpUCm7mz5+Pnj17Ijg4GACwe/dutGnTBg8++KB/WhoAOM8NERGR/jzulvroo49w1113KbZ9/PHHWL16NVavXo05c+bg008/9XkDA0ltQTHDGyIiIr14HNzs27cPvXv3ln4PCgpSzBw8aNAg7Ny507etC1AMbYiIiPTjcbdUfn6+osYmNzdXcXtTWbxST15O9kxERER+4HHmpm3bttixY4fL2//880+0bdvWJ40KdOyVIiIi0o/Hwc1VV12FGTNmoKyszOm2M2fOYNasWRg+fLhPGxdoaguKGd0QERHpxeNuqcceewyffvopunXrhokTJ6Jr164AgD179mD+/PmoqqrCY4895reGBgJpnhvGNkRERLrxOLiJi4vDr7/+invuuQdTp06V6ksMBgMuu+wyvPrqq4iLO7tXwuZQcCIiIv15tSp4hw4dsGLFCpw6dQr79u0DAHTu3BnR0dF+aVygkcqJGd0QERHpxqvgRhQdHY1Bgwb5ui0BT8pmMbohIiLSDdeW8gPW3BAREemHwY0PcZYbIiIi/TG48SUWFBMREemOwY0PcW0pIiIi/TG48aHa4fE6N4SIiOgsxuDGh6TMja6tICIiOrsxuPEhaRI/RjdERES6YXDjF4xuiIiI9MLgxocEDgYnIiLSHYMbH2K3FBERkf4Y3PgQF84kIiLSH4MbP+A8N0RERPphcONDtQtnEhERkV4Y3PhQ7QzFujaDiIjorMbgxodqa24Y3RAREemFwY0fMHNDRESkHwY3PsR5boiIiPTH4MaHBMY2REREumsSwc2CBQuQlJSEoKAgpKSkYNOmTS73ffPNN3HBBRcgKioKUVFRSEtLc7t/Y2JBMRERkf50D24WL16M9PR0zJw5E1u2bEHfvn0xbNgwnDhxQnP/NWvWYPTo0Vi9ejXWr1+PxMREXH755Th69Ggjt9wZC4qJiIj0ZxAEfTtTUlJScO6552L+/PkAAIfDgcTERNx///2YOnVqnfe32+2IiorC/PnzMWbMmDr3LywsREREBAoKChAeHt7g9ssNfHol8oorsHzSBTintW8fm4iI6Gzmzflb18xNRUUFNm/ejLS0NGmb0WhEWloa1q9f79FjlJaWorKyEtHR0Zq3l5eXo7CwUPHjL1xbioiISH+6Bjd5eXmw2+2Ii4tTbI+Li0N2drZHj/Hoo4+iTZs2igBJLiMjAxEREdJPYmJig9vtilRzw24pIiIi3ehec9MQs2fPxieffIIvv/wSQUFBmvtMmzYNBQUF0s/hw4f93i5mboiIiPRj1vOPx8TEwGQyIScnR7E9JycH8fHxbu/7wgsvYPbs2fjxxx/Rp08fl/vZbDbYbDaftLcuOpcvEREREXTO3FitViQnJyMzM1Pa5nA4kJmZidTUVJf3e/755/HUU09hxYoVGDhwYGM01SO13VJERESkF10zNwCQnp6OsWPHYuDAgRg0aBDmzp2LkpISjBs3DgAwZswYJCQkICMjAwDw3HPPYcaMGfj444+RlJQk1eaEhoYiNDRUt+cBsKCYiIioKdA9uBk1ahRyc3MxY8YMZGdno1+/flixYoVUZHzo0CEYjbUJptdeew0VFRW4/vrrFY8zc+ZMPPnkk43ZdCe13VKMboiIiPSi+zw3jc2f89z0fvJ7FJVVIfOhoejUSt8sEhERUXMSMPPcNDvSDMVERESkFwY3PlS7thTDGyIiIr0wuPEDhjZERET6YXDjQ2dZ+RIREVGTxODGh2q7pXRtBhER0VmNwY0PSfPcsGOKiIhINwxufEioyd0wc0NERKQfBjc+xJIbIiIi/TG48SHW3BAREemPwY0vSWtLMbohIiLSC4MbP2BoQ0REpB8GNz4kgEU3REREemNw40PSUHCmboiIiHTD4MaHpIJidkwRERHphsGND4nLLzBzQ0REpB8GNz5Um7khIiIivTC48SGB0Q0REZHuGNz4AWtuiIiI9MPghoiIiJoVBjc+IsgWlmJBMRERkX4Y3PiIfNFMxjZERET6YXDjI/K5ibm2FBERkX4Y3PiIoltKx3YQERGd7Rjc+Igyc6NbM4iIiM56DG58RFlzw+iGiIhILwxu/IGxDRERkW4Y3PiIoOiYIiIiIr0wuPERRbcUMzdERES6YXDjB4xtiIiI9MPgxkeUmRuGN0RERHphcOMj8pobhjZERET6YXDjI6y5ISIiahoY3PiIYhI/5m6IiIh0w+DGD5i5ISIi0o/uwc2CBQuQlJSEoKAgpKSkYNOmTS73/euvvzBy5EgkJSXBYDBg7ty5jdfQOsjXliIiIiL96BrcLF68GOnp6Zg5cya2bNmCvn37YtiwYThx4oTm/qWlpejYsSNmz56N+Pj4Rm6tewxtiIiImgZdg5uXXnoJ48ePx7hx49CjRw8sXLgQISEheOeddzT3P/fcczFnzhzcdNNNsNlsjdxa91hQTERE1DToFtxUVFRg8+bNSEtLq22M0Yi0tDSsX7/eZ3+nvLwchYWFih+/4MKZRERETYJuwU1eXh7sdjvi4uIU2+Pi4pCdne2zv5ORkYGIiAjpJzEx0WePLaeY54axDRERkW50Lyj2t2nTpqGgoED6OXz4sF/+jqJbyi9/gYiIiDxh1usPx8TEwGQyIScnR7E9JyfHp8XCNputUepzFPPcMHVDRESkG90yN1arFcnJycjMzJS2ORwOZGZmIjU1Va9m+QRDGyIiIv3olrkBgPT0dIwdOxYDBw7EoEGDMHfuXJSUlGDcuHEAgDFjxiAhIQEZGRkAqouQd+7cKf3/6NGj2Lp1K0JDQ9G5c2fdngfAeW6IiIiaCl2Dm1GjRiE3NxczZsxAdnY2+vXrhxUrVkhFxocOHYLRWJtcOnbsGPr37y/9/sILL+CFF17A0KFDsWbNmsZuvoKyW0q3ZhAREZ31DMJZlnIoLCxEREQECgoKEB4e7rPHzS0qx7nP/AgAyJo93GePS0RERN6dv5v9aKnGInCOYiIioiaBwY2v1MQ27JIiIiLSF4MbHxHzNoxtiIiI9MXgxkcEKXPD8IaIiEhPDG58jKENERGRvhjc+AgLiomIiJoGBjc+IrCgmIiIqElgcOMjtQXFjG6IiIj0xODGR6S5EBnbEBER6YrBjY8wtiEiImoaGNz4GGtuiIiI9MXgxkdqMzeMboiIiPTE4MbHmLkhIiLSF4MbH+E8N0RERE0DgxsfYUExERFR08DgxkekeW7YL0VERKQrBjc+Is5zw9CGiIhIXwxufESquGF0Q0REpCsGNz7CmhsiIqKmgcGNj7HmhoiISF8MbnyGQ8GJiIiaAgY3PiJ1SzFxQ0REpCsGNz4iDQXXtRVERETE4MZHajM3DG+IiIj0xODGR8TlFxjaEBER6YvBjY+w5oaIiKhpYHDjIwJn8SMiImoSGNz4GDM3RERE+mJw4yMC57khIiJqEhjc+AiXXyAiImoaGNz4GLuliIiI9MXgxkdqMzeMboiIiPTE4MZHpHluGNsQERHpisGNj7DmhoiIqGlgcOMj0tpSTN0QERHpqkkENwsWLEBSUhKCgoKQkpKCTZs2ud3/s88+Q/fu3REUFITevXtj2bJljdRSIiIiaup0D24WL16M9PR0zJw5E1u2bEHfvn0xbNgwnDhxQnP/X3/9FaNHj8Ydd9yBP/74AyNGjMCIESOwY8eORm65kiBwnhsiIqKmwCDofFZOSUnBueeei/nz5wMAHA4HEhMTcf/992Pq1KlO+48aNQolJSX47rvvpG3nnXce+vXrh4ULFzrtX15ejvLycun3wsJCJCYmoqCgAOHh4T57HlsOncZ1r/6KtlHBWPfoJT57XCIiIqo+f0dERHh0/tY1c1NRUYHNmzcjLS1N2mY0GpGWlob169dr3mf9+vWK/QFg2LBhLvfPyMhARESE9JOYmOi7JyDDhTOJiIiaBl2Dm7y8PNjtdsTFxSm2x8XFITs7W/M+2dnZXu0/bdo0FBQUSD+HDx/2TeNV4iOCcN/FnXDree398vhERETkGbPeDfA3m80Gm83m97+TEBmMh4d19/vfISIiIvd0zdzExMTAZDIhJydHsT0nJwfx8fGa94mPj/dqfyIiIjq76BrcWK1WJCcnIzMzU9rmcDiQmZmJ1NRUzfukpqYq9geAlStXutyfiIiIzi66d0ulp6dj7NixGDhwIAYNGoS5c+eipKQE48aNAwCMGTMGCQkJyMjIAABMmjQJQ4cOxYsvvojhw4fjk08+we+//4433nhDz6dBRERETYTuwc2oUaOQm5uLGTNmIDs7G/369cOKFSukouFDhw7BaKxNMA0ePBgff/wxnnjiCTz22GPo0qULvvrqK/Tq1Uuvp0BERERNiO7z3DQ2b8bJExERUdMQMPPcEBEREfkagxsiIiJqVhjcEBERUbPC4IaIiIiaFQY3RERE1KwwuCEiIqJmhcENERERNSsMboiIiKhZ0X2G4sYmzllYWFioc0uIiIjIU+J525O5h8+64KaoqAgAkJiYqHNLiIiIyFtFRUWIiIhwu89Zt/yCw+HAsWPHEBYWBoPB4NPHLiwsRGJiIg4fPsylHZoAvh9NC9+PpoXvR9PD98Q9QRBQVFSENm3aKNac1HLWZW6MRiPatm3r178RHh7OD2YTwvejaeH70bTw/Wh6+J64VlfGRsSCYiIiImpWGNwQERFRs8LgxodsNhtmzpwJm82md1MIfD+aGr4fTQvfj6aH74nvnHUFxURERNS8MXNDREREzQqDGyIiImpWGNwQERFRs8LghoiIiJoVBjdERETUrDC48ZEFCxYgKSkJQUFBSElJwaZNm/RuUrOUkZGBc889F2FhYYiNjcWIESOwZ88exT5lZWW477770LJlS4SGhmLkyJHIyclR7HPo0CEMHz4cISEhiI2NxcMPP4yqqqrGfCrN0uzZs2EwGDB58mRpG9+PxnX06FHccsstaNmyJYKDg9G7d2/8/vvv0u2CIGDGjBlo3bo1goODkZaWhr179yoe49SpU7j55psRHh6OyMhI3HHHHSguLm7spxLw7HY7pk+fjg4dOiA4OBidOnXCU089pVj4ke+HnwjUYJ988olgtVqFd955R/jrr7+E8ePHC5GRkUJOTo7eTWt2hg0bJrz77rvCjh07hK1btwpXXXWV0K5dO6G4uFjaZ8KECUJiYqKQmZkp/P7778J5550nDB48WLq9qqpK6NWrl5CWlib88ccfwrJly4SYmBhh2rRpejylZmPTpk1CUlKS0KdPH2HSpEnSdr4fjefUqVNC+/bthdtuu03YuHGjsH//fuH7778X9u3bJ+0ze/ZsISIiQvjqq6+Ebdu2Cddcc43QoUMH4cyZM9I+V1xxhdC3b19hw4YNwtq1a4XOnTsLo0eP1uMpBbRnnnlGaNmypfDdd98JBw4cED777DMhNDRU+O9//yvtw/fDPxjc+MCgQYOE++67T/rdbrcLbdq0ETIyMnRs1dnhxIkTAgDhp59+EgRBEPLz8wWLxSJ89tln0j67du0SAAjr168XBEEQli1bJhiNRiE7O1va57XXXhPCw8OF8vLyxn0CzURRUZHQpUsXYeXKlcLQoUOl4IbvR+N69NFHhfPPP9/l7Q6HQ4iPjxfmzJkjbcvPzxdsNpvwv//9TxAEQdi5c6cAQPjtt9+kfZYvXy4YDAbh6NGj/mt8MzR8+HDh9ttvV2y77rrrhJtvvlkQBL4f/sRuqQaqqKjA5s2bkZaWJm0zGo1IS0vD+vXrdWzZ2aGgoAAAEB0dDQDYvHkzKisrFe9H9+7d0a5dO+n9WL9+PXr37o24uDhpn2HDhqGwsBB//fVXI7a++bjvvvswfPhwxesO8P1obN988w0GDhyIG264AbGxsejfvz/efPNN6fYDBw4gOztb8X5EREQgJSVF8X5ERkZi4MCB0j5paWkwGo3YuHFj4z2ZZmDw4MHIzMzE33//DQDYtm0b1q1bhyuvvBIA3w9/OutWBfe1vLw82O12xYEZAOLi4rB7926dWnV2cDgcmDx5MoYMGYJevXoBALKzs2G1WhEZGanYNy4uDtnZ2dI+Wu+XeBt555NPPsGWLVvw22+/Od3G96Nx7d+/H6+99hrS09Px2GOP4bfffsMDDzwAq9WKsWPHSq+n1ustfz9iY2MVt5vNZkRHR/P98NLUqVNRWFiI7t27w2QywW6345lnnsHNN98MAHw//IjBDQWs++67Dzt27MC6dev0bspZ6/Dhw5g0aRJWrlyJoKAgvZtz1nM4HBg4cCCeffZZAED//v2xY8cOLFy4EGPHjtW5dWefTz/9FB999BE+/vhj9OzZE1u3bsXkyZPRpk0bvh9+xm6pBoqJiYHJZHIa/ZGTk4P4+HidWtX8TZw4Ed999x1Wr16Ntm3bStvj4+NRUVGB/Px8xf7y9yM+Pl7z/RJvI89t3rwZJ06cwIABA2A2m2E2m/HTTz/hlVdegdlsRlxcHN+PRtS6dWv06NFDse2cc87BoUOHANS+nu6OV/Hx8Thx4oTi9qqqKpw6dYrvh5cefvhhTJ06FTfddBN69+6NW2+9FQ8++CAyMjIA8P3wJwY3DWS1WpGcnIzMzExpm8PhQGZmJlJTU3VsWfMkCAImTpyIL7/8EqtWrUKHDh0UtycnJ8NisSjejz179uDQoUPS+5Gamort27crDhgrV65EeHi404mB3Lv00kuxfft2bN26VfoZOHAgbr75Zun/fD8az5AhQ5ymRvj777/Rvn17AECHDh0QHx+veD8KCwuxceNGxfuRn5+PzZs3S/usWrUKDocDKSkpjfAsmo/S0lIYjcrTrMlkgsPhAMD3w6/0rmhuDj755BPBZrMJixYtEnbu3CncddddQmRkpGL0B/nGPffcI0RERAhr1qwRjh8/Lv2UlpZK+0yYMEFo166dsGrVKuH3338XUlNThdTUVOl2cejx5ZdfLmzdulVYsWKF0KpVKw499hH5aClB4PvRmDZt2iSYzWbhmWeeEfbu3St89NFHQkhIiPDhhx9K+8yePVuIjIwUvv76a+HPP/8Urr32Ws2hx/379xc2btworFu3TujSpQuHHtfD2LFjhYSEBGko+JIlS4SYmBjhkUcekfbh++EfDG58ZN68eUK7du0Eq9UqDBo0SNiwYYPeTWqWAGj+vPvuu9I+Z86cEe69914hKipKCAkJEf7v//5POH78uOJxsrKyhCuvvFIIDg4WYmJihIceekiorKxs5GfTPKmDG74fjevbb78VevXqJdhsNqF79+7CG2+8objd4XAI06dPF+Li4gSbzSZceumlwp49exT7nDx5Uhg9erQQGhoqhIeHC+PGjROKiooa82k0C4WFhcKkSZOEdu3aCUFBQULHjh2Fxx9/XDHFAd8P/zAIgmyqRCIiIqIAx5obIiIialYY3BAREVGzwuCGiIiImhUGN0RERNSsMLghIiKiZoXBDRERETUrDG6IiIioWWFwQ0RERM0KgxsiIiJqVhjcEBERUbPC4IaIiIialf8HNR7qG7+W6NYAAAAASUVORK5CYII=", + "image/png": "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pk0bdOzY0XdvoOK1PJ2q3rZtWwDlGaSEhASvtcWTYnbuHkugPMvSv39/rFixApMmTcLq1asxYsQIm6nX7dq1w2+//YaBAwfWaODiS/XxPVHdwTE3RG549tlnERgYiAceeACpqal2v6+JDICamTNnQhAE3HfffardZjt27MDHH38MALjppptgsViwcOFCm33mzZsHnU6HG2+8EQBw++23w2AwYNasWXbvSxAEXLx40WvtHzlyJPbs2YNvvvnG7neOjmlERASuueYavPfee7hw4YLd79PT06vUlkaNGiErK8utfd09lqJRo0Zhy5YtWLJkCTIyMmy6pADgrrvugsViwcsvv2z3WmVlZW63qzapj++J6g5mbojc0KFDB3zxxRe455570KlTJ6lCsSAIOHHiBL744gvo9Xq0bNmyRts1YMAALFq0CI899hg6d+5sU6F4w4YN+P777/HKK68AAIYPH45rr70WL7zwAk6ePImePXvi119/xXfffYcnn3xSGuTcrl07vPLKK5g2bRpOnjyJESNGoHHjxjhx4gS++eYbPPzww5gyZYpX2v/MM8/gq6++wp133okHHngAffv2RWZmJr7//nssXrwYPXv2VH3cokWLcOWVV6J79+4YP3482rZti9TUVGzevBlnz57Fnj17PG5L37598e677+KVV15B+/btERERgcGDB6vu6+6xFN11112YMmUKpkyZIi2NITdo0CA88sgjSEpKwu7du3H99dfDz88PR44cwapVq/DWW2/hjjvu8Pg9aak+vieqOxjcELnp1ltvxb59+/Dmm2/i119/xZIlS6DT6dC6dWsMGzYMEyZMcHgx9qVHHnkEl19+Od5880188sknSE9PR1BQEPr06YOlS5dKA531ej2+//57zJgxAytWrMDSpUsRGxuLOXPm4Omnn7Z5zqlTp6Jjx46YN28eZs2aBaB8AOn111+PW265xWttDwoKwh9//IGZM2fim2++wccff4yIiAhcd911TgPFLl26YPv27Zg1axaWLVuGixcvIiIiAr1798aMGTOq1JYZM2bg1KlTeP3115Gbm4tBgwY5DG48OZYA0LJlSwwYMAB//vknHnroIdVB2YsXL0bfvn3x3nvv4fnnn4fRaERsbCzuvfdeDBw4sErvSWv18T1R3cC1pYiIiKhe4ZgbIiIiqlcY3BAREVG9wuCGiIiI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", "text/plain": [ "
" ] @@ -1525,58 +1511,64 @@ "text": [ " Gini\n", "0 0.0000\n", - "1 0.3238\n", - "2 0.4170\n", - "3 0.4370\n", - "4 0.5410\n", + "1 0.3146\n", + "2 0.3576\n", + "3 0.4404\n", + "4 0.4484\n", " Gini\n", - "0 0.6254\n", - "1 0.6132\n", - "2 0.5976\n", - "3 0.6208\n", - "4 0.6502\n", + "0 0.6464\n", + "1 0.6660\n", + "2 0.6868\n", + "3 0.6882\n", + "4 0.6638\n", " Gini\n", - "0 0.7184\n", - "1 0.7054\n", - "2 0.7100\n", - "3 0.6866\n", - "4 0.7066\n", + "0 0.6682\n", + "1 0.6486\n", + "2 0.6362\n", + "3 0.6306\n", + "4 0.6478\n", " Gini\n", - "0 0.6212\n", - "1 0.6128\n", - "2 0.6254\n", - "3 0.6222\n", - "4 0.6308\n", + "0 0.6858\n", + "1 0.6680\n", + "2 0.6784\n", + "3 0.6580\n", + "4 0.6282\n", " Gini\n", - "0 0.6406\n", - "1 0.6270\n", - "2 0.6264\n", - "3 0.6092\n", - "4 0.5822\n", + "0 0.6598\n", + "1 0.6522\n", + "2 0.6406\n", + "3 0.6294\n", + "4 0.5926\n", " Gini\n", - "0 0.6996\n", - "1 0.6792\n", - "2 0.6850\n", - "3 0.6680\n", - "4 0.6586\n", + "0 0.6316\n", + "1 0.6408\n", + "2 0.6316\n", + "3 0.6290\n", + "4 0.6290\n", " Gini\n", - "0 0.6458\n", - "1 0.6474\n", - "2 0.6430\n", - "3 0.6266\n", - "4 0.6288\n", + "0 0.6842\n", + "1 0.6890\n", + "2 0.6466\n", + "3 0.6742\n", + "4 0.6860\n", " Gini\n", - "0 0.7006\n", - "1 0.7406\n", - "2 0.7164\n", - "3 0.6830\n", - "4 0.6928\n", + "0 0.6142\n", + "1 0.6048\n", + "2 0.6356\n", + "3 0.6490\n", + "4 0.6292\n", " Gini\n", - "0 0.6780\n", - "1 0.6488\n", - "2 0.6318\n", - "3 0.6368\n", - "4 0.6390\n", + "0 0.6488\n", + "1 0.6858\n", + "2 0.6940\n", + "3 0.6962\n", + "4 0.6824\n", + " Gini\n", + "0 0.6966\n", + "1 0.6894\n", + "2 0.7008\n", + "3 0.6778\n", + "4 0.6778\n", " Wealth\n", "Step AgentID \n", "0 0 1\n", @@ -1586,60 +1578,67 @@ " 4 1\n", " Wealth\n", "Step AgentID \n", - "101 82 1\n", - " 70 0\n", - " 30 1\n", - " 50 0\n", - " 76 3\n", + "901 82 2\n", + " 29 0\n", + " 53 0\n", + " 40 2\n", + " 87 0\n", " Wealth\n", "Step AgentID \n", - "201 64 1\n", - " 72 1\n", - " 75 1\n", - " 53 0\n", - " 67 4\n", + "101 39 0\n", + " 67 0\n", + " 0 0\n", + " 5 2\n", + " 29 0\n", " Wealth\n", "Step AgentID \n", - "301 28 4\n", - " 33 0\n", - " 62 0\n", - " 83 0\n", - " 31 2\n", + "201 56 4\n", + " 1 4\n", + " 22 1\n", + " 2 0\n", + " 69 2\n", + " Wealth\n", + "Step AgentID \n", + "301 7 1\n", + " 70 0\n", + " 13 3\n", + " 35 0\n", + " 20 1\n", " Wealth\n", "Step AgentID \n", - "401 93 2\n", - " 96 0\n", - " 55 3\n", - " 14 1\n", - " 51 2\n", + "401 65 2\n", + " 18 3\n", + " 68 0\n", + " 60 0\n", + " 42 0\n", " Wealth\n", "Step AgentID \n", - "501 1 0\n", - " 62 0\n", - " 34 1\n", - " 30 0\n", - " 37 0\n", + "501 45 1\n", + " 60 6\n", + " 72 0\n", + " 79 1\n", + " 99 1\n", " Wealth\n", "Step AgentID \n", - "601 59 4\n", + "601 21 1\n", + " 95 4\n", + " 39 1\n", " 5 0\n", - " 22 2\n", - " 94 1\n", - " 19 0\n", + " 76 2\n", " Wealth\n", "Step AgentID \n", - "701 24 1\n", - " 88 0\n", - " 75 0\n", - " 55 0\n", - " 77 0\n", + "701 73 0\n", + " 13 1\n", + " 49 0\n", + " 94 0\n", + " 44 0\n", " Wealth\n", "Step AgentID \n", - "801 47 0\n", - " 90 0\n", - " 9 0\n", - " 30 3\n", - " 0 1\n" + "801 56 0\n", + " 31 1\n", + " 45 0\n", + " 81 0\n", + " 83 1\n" ] } ], @@ -1682,6 +1681,7 @@ "data": { "text/plain": [ "['output_dir/model_data_1.parquet',\n", + " 'output_dir/model_data_10.parquet',\n", " 'output_dir/model_data_2.parquet',\n", " 'output_dir/model_data_3.parquet',\n", " 'output_dir/model_data_4.parquet',\n", From 46fda253a8238cce9c2ac11e0d012c7ff40fba63 Mon Sep 17 00:00:00 2001 From: Chan-Dong-Jun Date: Tue, 16 Jul 2024 13:31:47 +0800 Subject: [PATCH 5/9] add cacheable model wrapper --- mesa/cacheable_model.py | 156 + mesa/cacheable_wrapper_example.ipynb | 13370 +++++++++++++++++++++++++ mesa/example.ipynb | 236 +- 3 files changed, 13645 insertions(+), 117 deletions(-) create mode 100644 mesa/cacheable_model.py create mode 100644 mesa/cacheable_wrapper_example.ipynb diff --git a/mesa/cacheable_model.py b/mesa/cacheable_model.py new file mode 100644 index 00000000000..4f958d2b4fd --- /dev/null +++ b/mesa/cacheable_model.py @@ -0,0 +1,156 @@ +import os +import contextlib +import itertools +import types +from copy import deepcopy +from functools import partial +from typing import Any + +import pyarrow as pa +import pyarrow.parquet as pq +from pathlib import Path +from enum import Enum +from mesa import Model + +with contextlib.suppress(ImportError): + import pandas as pd + + +class CacheState(Enum): + """When using 'RECORD', with every simulation step the actual simulation will be performed and the model state + written to the cache (also called simulation mode). + When using 'REPLAY', with every step the model state will be read from the cache (also called replay mode).""" + + RECORD = (1,) + REPLAY = 2 + + +class CacheableModel: + """Class that takes a model and writes its steps to a cache file or reads them from a cache file.""" + + def __init__( + self, + model: Model, + cache_file_path: str | Path, + cache_state: CacheState, + total_steps: int, + cache_step_rate: int = 1, + ) -> None: + """Create a new caching wrapper around an existing mesa model instance. + + Attributes: + model: mesa model + cache_file_path: cache file to write to or read from + cache_state: whether to replay by reading from the cache or simulate and write to the cache + cache_step_rate: only every n-th step is cached. If it is 1, every step is cached. If it is 2, + only every second step is cached and so on. Increasing 'cache_step_rate' will reduce cache size and + increase replay performance by skipping the steps inbetween every n-th step. + """ + + self.model = model + self.cache_file_path = Path(cache_file_path) + self._cache_state = cache_state + self._cache_step_rate = cache_step_rate + self._total_steps = total_steps + # self.cache: list[Any] = [] + self.step_count: int = 0 + self.run_finished = False + + # temporary dicts to be flushed + self.model_vars_cache = {} + + + self._agent_records = {} + + self._cache_interval = 100 + self.output_dir = 'output_dir' + + def get_agent_vars_dataframe(self): + """Create a pandas DataFrame from the agent variables. + + The DataFrame has one column for each variable, with two additional + columns for tick and agent_id. + """ + # Check if self.agent_reporters dictionary is empty, if so raise warning + if not self.model.datacollector.agent_reporters: + raise UserWarning( + "No agent reporters have been defined in the DataCollector, returning empty DataFrame." + ) + + all_records = itertools.chain.from_iterable(self._agent_records.values()) + rep_names = list(self.model.datacollector.agent_reporters) + + df = pd.DataFrame.from_records( + data=all_records, + columns=["Step", "AgentID", *rep_names], + index=["Step", "AgentID"], + ) + return df + + def get_model_vars_dataframe(self): + """Create a pandas DataFrame from the model variables. + + The DataFrame has one column for each model variable, and the index is + (implicitly) the model tick. + """ + # Check if self.model_reporters dictionary is empty, if so raise warning + if not self.model.datacollector.model_reporters: + raise UserWarning( + "No model reporters have been defined in the DataCollector, returning empty DataFrame." + ) + + print(f" TEST {self.model._steps=}") + print(f" TEST {self._cache_interval=}") + print(pd.DataFrame(self.model.datacollector.model_vars)[self.model._steps-self._cache_interval:self.model._steps]) + return pd.DataFrame(self.model.datacollector.model_vars)[self.model._steps-self._cache_interval:self.model._steps] + + # def get_table_dataframe(self, table_name): + # """Create a pandas DataFrame from a particular table. + # + # Args: + # table_name: The name of the table to convert. + # """ + # if table_name not in self.tables: + # raise Exception("No such table.") + # return pd.DataFrame(self.tables[table_name]) + + def _save_to_parquet(self, model): + """Save the current cache of data to a Parquet file and clear the cache.""" + model_df = self.get_model_vars_dataframe() + agent_df = self.get_agent_vars_dataframe() + padding = len(str(self._total_steps)) - 1 + print(padding) + model_file = f"{self.output_dir}/model_data_{self.model._steps // self._cache_interval:0{padding}}.parquet" + agent_file = f"{self.output_dir}/agent_data_{self.model._steps // self._cache_interval:0{padding}}.parquet" + + print(f"{model_file=}") + absolute_path = os.path.abspath(model_file) + print(f"{absolute_path=}") + if os.path.exists(absolute_path): + raise FileExistsError(f"A directory with the name {model_file} already exists.") + if os.path.exists(model_file): + raise FileExistsError(f"A directory with the name {model_file} already exists.") + if os.path.exists(agent_file): + raise FileExistsError(f"A directory with the name {agent_file} already exists.") + + if not model_df.empty: + print(f"Saving model to {model_file}") + model_table = pa.Table.from_pandas(model_df) + pq.write_table(model_table, model_file) + + if not agent_df.empty: + print(f"Saving agent to {agent_file}") + agent_table = pa.Table.from_pandas(agent_df) + pq.write_table(agent_table, agent_file) + + # Clear the cache + + + def cache(self): + """Custom collect method to extend the original collect behavior.""" + # Implement your custom logic here + # For example, let's say we want to write collected data to a cache file every `cache_step_rate` steps + if self.model._steps % self._cache_interval == 0: + print("CALLED") + print(f"{self.model._steps=}") + self._save_to_parquet(self.model) diff --git a/mesa/cacheable_wrapper_example.ipynb b/mesa/cacheable_wrapper_example.ipynb new file mode 100644 index 00000000000..3239129baef --- /dev/null +++ b/mesa/cacheable_wrapper_example.ipynb @@ -0,0 +1,13370 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "initial_id", + "metadata": {}, + "outputs": [], + "source": [ + "import mesa\n", + "\n", + "# Data visualization tools.\n", + "import seaborn as sns\n", + "\n", + "# Has multi-dimensional arrays and matrices. Has a large collection of\n", + "# mathematical functions to operate on these arrays.\n", + "import numpy as np\n", + "\n", + "# Data manipulation and analysis.\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "c25f0179-d5ea-47d1-9e4e-c460030d5f73", + "metadata": {}, + "outputs": [], + "source": [ + "from cacheable_model import CacheableModel" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "7ecda9c7-ec67-4322-b351-99dc5d3a5a67", + "metadata": {}, + "outputs": [], + "source": [ + "import cacheable_model" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "d29660ed-cd5d-45a1-af20-cab8fdceeb7a", + "metadata": {}, + "outputs": [], + "source": [ + "def compute_gini(model):\n", + " agent_wealths = [agent.wealth for agent in model.schedule.agents]\n", + " x = sorted(agent_wealths)\n", + " N = model.num_agents\n", + " B = sum(xi * (N - i) for i, xi in enumerate(x)) / (N * sum(x))\n", + " return 1 + (1 / N) - 2 * B\n", + "\n", + "\n", + "class MoneyAgent(mesa.Agent):\n", + " \"\"\"An agent with fixed initial wealth.\"\"\"\n", + "\n", + " def __init__(self, unique_id, model):\n", + " super().__init__(unique_id, model)\n", + " self.wealth = 1\n", + "\n", + " def move(self):\n", + " possible_steps = self.model.grid.get_neighborhood(\n", + " self.pos, moore=True, include_center=False\n", + " )\n", + " new_position = self.random.choice(possible_steps)\n", + " self.model.grid.move_agent(self, new_position)\n", + "\n", + " def give_money(self):\n", + " cellmates = self.model.grid.get_cell_list_contents([self.pos])\n", + " cellmates.pop(\n", + " cellmates.index(self)\n", + " ) # Ensure agent is not giving money to itself\n", + " if len(cellmates) > 1:\n", + " other = self.random.choice(cellmates)\n", + " other.wealth += 1\n", + " self.wealth -= 1\n", + " if other == self:\n", + " print(\"I JUST GAVE MONEY TO MYSELF HEHEHE!\")\n", + "\n", + " def step(self):\n", + " self.move()\n", + " if self.wealth > 0:\n", + " self.give_money()\n", + "\n", + "\n", + "class MoneyModel(mesa.Model):\n", + " \"\"\"A model with some number of agents.\"\"\"\n", + "\n", + " def __init__(self, N, width, height):\n", + " super().__init__()\n", + " self.num_agents = N\n", + " self.grid = mesa.space.MultiGrid(width, height, True)\n", + " self.schedule = mesa.time.RandomActivation(self)\n", + "\n", + " # Create agents\n", + " for i in range(self.num_agents):\n", + " a = MoneyAgent(i, self)\n", + " self.schedule.add(a)\n", + " # Add the agent to a random grid cell\n", + " x = self.random.randrange(self.grid.width)\n", + " y = self.random.randrange(self.grid.height)\n", + " self.grid.place_agent(a, (x, y))\n", + "\n", + " self.datacollector = mesa.DataCollector(\n", + " model_reporters={\"Gini\": compute_gini}, agent_reporters={\"Wealth\": \"wealth\"}\n", + " )\n", + "\n", + " def step(self):\n", + " self.datacollector.collect(self)\n", + " self.schedule.step()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "657a3190-c26a-492c-abe6-be53b6e8a6d8", + "metadata": {}, + "outputs": [], + "source": [ + "model = MoneyModel(100, 10, 10)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "b699ed8e-0cd0-452f-8719-6c6e0956f1a6", + "metadata": {}, + "outputs": [], + "source": [ + "cacheable_model = CacheableModel(model, \"a\", 10000, None)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9d237ce1-d933-44fc-8818-2f373c4e710c", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "dde8f54d-34ed-429d-99f7-b17c1b2cd5a5", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "1\n", + "2\n", + "3\n", + "4\n", + "5\n", + "6\n", + "7\n", + "8\n", + "9\n", + "10\n", + "11\n", + "12\n", + "13\n", + "14\n", + "15\n", + "16\n", + "17\n", + "18\n", + "19\n", + "20\n", + "21\n", + "22\n", + "23\n", + "24\n", + "25\n", + "26\n", + "27\n", + "28\n", + "29\n", + "30\n", + "31\n", + "32\n", + "33\n", + "34\n", + "35\n", + "36\n", + "37\n", + "38\n", + "39\n", + "40\n", + "41\n", + "42\n", + "43\n", + "44\n", + "45\n", + "46\n", + "47\n", + "48\n", + "49\n", + "50\n", + "51\n", + "52\n", + "53\n", + "54\n", + "55\n", + "56\n", + "57\n", + "58\n", + "59\n", + "60\n", + "61\n", + "62\n", + "63\n", + "64\n", + "65\n", + "66\n", + "67\n", + "68\n", + "69\n", + "70\n", + "71\n", + "72\n", + "73\n", + "74\n", + "75\n", + "76\n", + "77\n", + "78\n", + "79\n", + "80\n", + "81\n", + "82\n", + "83\n", + "84\n", + "85\n", + "86\n", + "87\n", + "88\n", + "89\n", + "90\n", + "91\n", + "92\n", + "93\n", + "94\n", + "95\n", + "96\n", + "97\n", + "98\n", + "99\n", + "CALLED\n", + "self.model._steps=100\n", + " TEST self.model._steps=100\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "0 0.0000\n", + "1 0.2822\n", + "2 0.3666\n", + "3 0.4510\n", + "4 0.5058\n", + ".. ...\n", + "95 0.6584\n", + "96 0.6582\n", + "97 0.6362\n", + "98 0.6440\n", + "99 0.6602\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_001.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_001.parquet'\n", + "Saving model to output_dir/model_data_001.parquet\n", + "Saving agent to output_dir/agent_data_001.parquet\n", + "100\n", + "101\n", + "102\n", + "103\n", + "104\n", + "105\n", + "106\n", + "107\n", + "108\n", + "109\n", + "110\n", + "111\n", + "112\n", + "113\n", + "114\n", + "115\n", + "116\n", + "117\n", + "118\n", + "119\n", + "120\n", + "121\n", + "122\n", + "123\n", + "124\n", + "125\n", + "126\n", + "127\n", + "128\n", + "129\n", + "130\n", + "131\n", + "132\n", + "133\n", + "134\n", + "135\n", + "136\n", + "137\n", + "138\n", + "139\n", + "140\n", + "141\n", + "142\n", + "143\n", + "144\n", + "145\n", + "146\n", + "147\n", + "148\n", + "149\n", + "150\n", + "151\n", + "152\n", + "153\n", + "154\n", + "155\n", + "156\n", + "157\n", + "158\n", + "159\n", + "160\n", + "161\n", + "162\n", + "163\n", + "164\n", + "165\n", + "166\n", + "167\n", + "168\n", + "169\n", + "170\n", + "171\n", + "172\n", + "173\n", + "174\n", + "175\n", + "176\n", + "177\n", + "178\n", + "179\n", + "180\n", + "181\n", + "182\n", + "183\n", + "184\n", + "185\n", + "186\n", + "187\n", + "188\n", + "189\n", + "190\n", + "191\n", + "192\n", + "193\n", + "194\n", + "195\n", + "196\n", + "197\n", + "198\n", + "199\n", + "CALLED\n", + "self.model._steps=200\n", + " TEST self.model._steps=200\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "100 0.6794\n", + "101 0.6842\n", + "102 0.6756\n", + "103 0.6532\n", + "104 0.6452\n", + ".. ...\n", + "195 0.6662\n", + "196 0.6802\n", + "197 0.6730\n", + "198 0.6922\n", + "199 0.6740\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_002.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_002.parquet'\n", + "Saving model to output_dir/model_data_002.parquet\n", + "Saving agent to output_dir/agent_data_002.parquet\n", + "200\n", + "201\n", + "202\n", + "203\n", + "204\n", + "205\n", + "206\n", + "207\n", + "208\n", + "209\n", + "210\n", + "211\n", + "212\n", + "213\n", + "214\n", + "215\n", + "216\n", + "217\n", + "218\n", + "219\n", + "220\n", + "221\n", + "222\n", + "223\n", + "224\n", + "225\n", + "226\n", + "227\n", + "228\n", + "229\n", + "230\n", + "231\n", + "232\n", + "233\n", + "234\n", + "235\n", + "236\n", + "237\n", + "238\n", + "239\n", + "240\n", + "241\n", + "242\n", + "243\n", + "244\n", + "245\n", + "246\n", + "247\n", + "248\n", + "249\n", + "250\n", + "251\n", + "252\n", + "253\n", + "254\n", + "255\n", + "256\n", + "257\n", + "258\n", + "259\n", + "260\n", + "261\n", + "262\n", + "263\n", + "264\n", + "265\n", + "266\n", + "267\n", + "268\n", + "269\n", + "270\n", + "271\n", + "272\n", + "273\n", + "274\n", + "275\n", + "276\n", + "277\n", + "278\n", + "279\n", + "280\n", + "281\n", + "282\n", + "283\n", + "284\n", + "285\n", + "286\n", + "287\n", + "288\n", + "289\n", + "290\n", + "291\n", + "292\n", + "293\n", + "294\n", + "295\n", + "296\n", + "297\n", + "298\n", + "299\n", + "CALLED\n", + "self.model._steps=300\n", + " TEST self.model._steps=300\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "200 0.6700\n", + "201 0.7024\n", + "202 0.7048\n", + "203 0.7060\n", + "204 0.7140\n", + ".. ...\n", + "295 0.6354\n", + "296 0.6508\n", + "297 0.6608\n", + "298 0.6710\n", + "299 0.6758\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_003.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_003.parquet'\n", + "Saving model to output_dir/model_data_003.parquet\n", + "Saving agent to output_dir/agent_data_003.parquet\n", + "300\n", + "301\n", + "302\n", + "303\n", + "304\n", + "305\n", + "306\n", + "307\n", + "308\n", + "309\n", + "310\n", + "311\n", + "312\n", + "313\n", + "314\n", + "315\n", + "316\n", + "317\n", + "318\n", + "319\n", + "320\n", + "321\n", + "322\n", + "323\n", + "324\n", + "325\n", + "326\n", + "327\n", + "328\n", + "329\n", + "330\n", + "331\n", + "332\n", + "333\n", + "334\n", + "335\n", + "336\n", + "337\n", + "338\n", + "339\n", + "340\n", + "341\n", + "342\n", + "343\n", + "344\n", + "345\n", + "346\n", + "347\n", + "348\n", + "349\n", + "350\n", + "351\n", + "352\n", + "353\n", + "354\n", + "355\n", + "356\n", + "357\n", + "358\n", + "359\n", + "360\n", + "361\n", + "362\n", + "363\n", + "364\n", + "365\n", + "366\n", + "367\n", + "368\n", + "369\n", + "370\n", + "371\n", + "372\n", + "373\n", + "374\n", + "375\n", + "376\n", + "377\n", + "378\n", + "379\n", + "380\n", + "381\n", + "382\n", + "383\n", + "384\n", + "385\n", + "386\n", + "387\n", + "388\n", + "389\n", + "390\n", + "391\n", + "392\n", + "393\n", + "394\n", + "395\n", + "396\n", + "397\n", + "398\n", + "399\n", + "CALLED\n", + "self.model._steps=400\n", + " TEST self.model._steps=400\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "300 0.6624\n", + "301 0.6698\n", + "302 0.6680\n", + "303 0.6694\n", + "304 0.6552\n", + ".. ...\n", + "395 0.7076\n", + "396 0.7040\n", + "397 0.6994\n", + "398 0.6720\n", + "399 0.6754\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_004.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_004.parquet'\n", + "Saving model to output_dir/model_data_004.parquet\n", + "Saving agent to output_dir/agent_data_004.parquet\n", + "400\n", + "401\n", + "402\n", + "403\n", + "404\n", + "405\n", + "406\n", + "407\n", + "408\n", + "409\n", + "410\n", + "411\n", + "412\n", + "413\n", + "414\n", + "415\n", + "416\n", + "417\n", + "418\n", + "419\n", + "420\n", + "421\n", + "422\n", + "423\n", + "424\n", + "425\n", + "426\n", + "427\n", + "428\n", + "429\n", + "430\n", + "431\n", + "432\n", + "433\n", + "434\n", + "435\n", + "436\n", + "437\n", + "438\n", + "439\n", + "440\n", + "441\n", + "442\n", + "443\n", + "444\n", + "445\n", + "446\n", + "447\n", + "448\n", + "449\n", + "450\n", + "451\n", + "452\n", + "453\n", + "454\n", + "455\n", + "456\n", + "457\n", + "458\n", + "459\n", + "460\n", + "461\n", + "462\n", + "463\n", + "464\n", + "465\n", + "466\n", + "467\n", + "468\n", + "469\n", + "470\n", + "471\n", + "472\n", + "473\n", + "474\n", + "475\n", + "476\n", + "477\n", + "478\n", + "479\n", + "480\n", + "481\n", + "482\n", + "483\n", + "484\n", + "485\n", + "486\n", + "487\n", + "488\n", + "489\n", + "490\n", + "491\n", + "492\n", + "493\n", + "494\n", + "495\n", + "496\n", + "497\n", + "498\n", + "499\n", + "CALLED\n", + "self.model._steps=500\n", + " TEST self.model._steps=500\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "400 0.6564\n", + "401 0.6750\n", + "402 0.6640\n", + "403 0.6606\n", + "404 0.6750\n", + ".. ...\n", + "495 0.6998\n", + "496 0.7218\n", + "497 0.7408\n", + "498 0.7520\n", + "499 0.7272\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_005.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_005.parquet'\n", + "Saving model to output_dir/model_data_005.parquet\n", + "Saving agent to output_dir/agent_data_005.parquet\n", + "500\n", + "501\n", + "502\n", + "503\n", + "504\n", + "505\n", + "506\n", + "507\n", + "508\n", + "509\n", + "510\n", + "511\n", + "512\n", + "513\n", + "514\n", + "515\n", + "516\n", + "517\n", + "518\n", + "519\n", + "520\n", + "521\n", + "522\n", + "523\n", + "524\n", + "525\n", + "526\n", + "527\n", + "528\n", + "529\n", + "530\n", + "531\n", + "532\n", + "533\n", + "534\n", + "535\n", + "536\n", + "537\n", + "538\n", + "539\n", + "540\n", + "541\n", + "542\n", + "543\n", + "544\n", + "545\n", + "546\n", + "547\n", + "548\n", + "549\n", + "550\n", + "551\n", + "552\n", + "553\n", + "554\n", + "555\n", + "556\n", + "557\n", + "558\n", + "559\n", + "560\n", + "561\n", + "562\n", + "563\n", + "564\n", + "565\n", + "566\n", + "567\n", + "568\n", + "569\n", + "570\n", + "571\n", + "572\n", + "573\n", + "574\n", + "575\n", + "576\n", + "577\n", + "578\n", + "579\n", + "580\n", + "581\n", + "582\n", + "583\n", + "584\n", + "585\n", + "586\n", + "587\n", + "588\n", + "589\n", + "590\n", + "591\n", + "592\n", + "593\n", + "594\n", + "595\n", + "596\n", + "597\n", + "598\n", + "599\n", + "CALLED\n", + "self.model._steps=600\n", + " TEST self.model._steps=600\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "500 0.7098\n", + "501 0.7074\n", + "502 0.6860\n", + "503 0.6830\n", + "504 0.6782\n", + ".. ...\n", + "595 0.5814\n", + "596 0.6096\n", + "597 0.5986\n", + "598 0.6060\n", + "599 0.5644\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_006.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_006.parquet'\n", + "Saving model to output_dir/model_data_006.parquet\n", + "Saving agent to output_dir/agent_data_006.parquet\n", + "600\n", + "601\n", + "602\n", + "603\n", + "604\n", + "605\n", + "606\n", + "607\n", + "608\n", + "609\n", + "610\n", + "611\n", + "612\n", + "613\n", + "614\n", + "615\n", + "616\n", + "617\n", + "618\n", + "619\n", + "620\n", + "621\n", + "622\n", + "623\n", + "624\n", + "625\n", + "626\n", + "627\n", + "628\n", + "629\n", + "630\n", + "631\n", + "632\n", + "633\n", + "634\n", + "635\n", + "636\n", + "637\n", + "638\n", + "639\n", + "640\n", + "641\n", + "642\n", + "643\n", + "644\n", + "645\n", + "646\n", + "647\n", + "648\n", + "649\n", + "650\n", + "651\n", + "652\n", + "653\n", + "654\n", + "655\n", + "656\n", + "657\n", + "658\n", + "659\n", + "660\n", + "661\n", + "662\n", + "663\n", + "664\n", + "665\n", + "666\n", + "667\n", + "668\n", + "669\n", + "670\n", + "671\n", + "672\n", + "673\n", + "674\n", + "675\n", + "676\n", + "677\n", + "678\n", + "679\n", + "680\n", + "681\n", + "682\n", + "683\n", + "684\n", + "685\n", + "686\n", + "687\n", + "688\n", + "689\n", + "690\n", + "691\n", + "692\n", + "693\n", + "694\n", + "695\n", + "696\n", + "697\n", + "698\n", + "699\n", + "CALLED\n", + "self.model._steps=700\n", + " TEST self.model._steps=700\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "600 0.5644\n", + "601 0.5670\n", + "602 0.5526\n", + "603 0.5812\n", + "604 0.5790\n", + ".. ...\n", + "695 0.5914\n", + "696 0.5914\n", + "697 0.5842\n", + "698 0.5660\n", + "699 0.5610\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_007.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_007.parquet'\n", + "Saving model to output_dir/model_data_007.parquet\n", + "Saving agent to output_dir/agent_data_007.parquet\n", + "700\n", + "701\n", + "702\n", + "703\n", + "704\n", + "705\n", + "706\n", + "707\n", + "708\n", + "709\n", + "710\n", + "711\n", + "712\n", + "713\n", + "714\n", + "715\n", + "716\n", + "717\n", + "718\n", + "719\n", + "720\n", + "721\n", + "722\n", + "723\n", + "724\n", + "725\n", + "726\n", + "727\n", + "728\n", + "729\n", + "730\n", + "731\n", + "732\n", + "733\n", + "734\n", + "735\n", + "736\n", + "737\n", + "738\n", + "739\n", + "740\n", + "741\n", + "742\n", + "743\n", + "744\n", + "745\n", + "746\n", + "747\n", + "748\n", + "749\n", + "750\n", + "751\n", + "752\n", + "753\n", + "754\n", + "755\n", + "756\n", + "757\n", + "758\n", + "759\n", + "760\n", + "761\n", + "762\n", + "763\n", + "764\n", + "765\n", + "766\n", + "767\n", + "768\n", + "769\n", + "770\n", + "771\n", + "772\n", + "773\n", + "774\n", + "775\n", + "776\n", + "777\n", + "778\n", + "779\n", + "780\n", + "781\n", + "782\n", + "783\n", + "784\n", + "785\n", + "786\n", + "787\n", + "788\n", + "789\n", + "790\n", + "791\n", + "792\n", + "793\n", + "794\n", + "795\n", + "796\n", + "797\n", + "798\n", + "799\n", + "CALLED\n", + "self.model._steps=800\n", + " TEST self.model._steps=800\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "700 0.5854\n", + "701 0.5978\n", + "702 0.6238\n", + "703 0.6210\n", + "704 0.6024\n", + ".. ...\n", + "795 0.6382\n", + "796 0.6890\n", + "797 0.6552\n", + "798 0.6240\n", + "799 0.6294\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_008.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_008.parquet'\n", + "Saving model to output_dir/model_data_008.parquet\n", + "Saving agent to output_dir/agent_data_008.parquet\n", + "800\n", + "801\n", + "802\n", + "803\n", + "804\n", + "805\n", + "806\n", + "807\n", + "808\n", + "809\n", + "810\n", + "811\n", + "812\n", + "813\n", + "814\n", + "815\n", + "816\n", + "817\n", + "818\n", + "819\n", + "820\n", + "821\n", + "822\n", + "823\n", + "824\n", + "825\n", + "826\n", + "827\n", + "828\n", + "829\n", + "830\n", + "831\n", + "832\n", + "833\n", + "834\n", + "835\n", + "836\n", + "837\n", + "838\n", + "839\n", + "840\n", + "841\n", + "842\n", + "843\n", + "844\n", + "845\n", + "846\n", + "847\n", + "848\n", + "849\n", + "850\n", + "851\n", + "852\n", + "853\n", + "854\n", + "855\n", + "856\n", + "857\n", + "858\n", + "859\n", + "860\n", + "861\n", + "862\n", + "863\n", + "864\n", + "865\n", + "866\n", + "867\n", + "868\n", + "869\n", + "870\n", + "871\n", + "872\n", + "873\n", + "874\n", + "875\n", + "876\n", + "877\n", + "878\n", + "879\n", + "880\n", + "881\n", + "882\n", + "883\n", + "884\n", + "885\n", + "886\n", + "887\n", + "888\n", + "889\n", + "890\n", + "891\n", + "892\n", + "893\n", + "894\n", + "895\n", + "896\n", + "897\n", + "898\n", + "899\n", + "CALLED\n", + "self.model._steps=900\n", + " TEST self.model._steps=900\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "800 0.6286\n", + "801 0.6666\n", + "802 0.6810\n", + "803 0.6466\n", + "804 0.6530\n", + ".. ...\n", + "895 0.6044\n", + "896 0.6332\n", + "897 0.6382\n", + "898 0.6346\n", + "899 0.6394\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_009.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_009.parquet'\n", + "Saving model to output_dir/model_data_009.parquet\n", + "Saving agent to output_dir/agent_data_009.parquet\n", + "900\n", + "901\n", + "902\n", + "903\n", + "904\n", + "905\n", + "906\n", + "907\n", + "908\n", + "909\n", + "910\n", + "911\n", + "912\n", + "913\n", + "914\n", + "915\n", + "916\n", + "917\n", + "918\n", + "919\n", + "920\n", + "921\n", + "922\n", + "923\n", + "924\n", + "925\n", + "926\n", + "927\n", + "928\n", + "929\n", + "930\n", + "931\n", + "932\n", + "933\n", + "934\n", + "935\n", + "936\n", + "937\n", + "938\n", + "939\n", + "940\n", + "941\n", + "942\n", + "943\n", + "944\n", + "945\n", + "946\n", + "947\n", + "948\n", + "949\n", + "950\n", + "951\n", + "952\n", + "953\n", + "954\n", + "955\n", + "956\n", + "957\n", + "958\n", + "959\n", + "960\n", + "961\n", + "962\n", + "963\n", + "964\n", + "965\n", + "966\n", + "967\n", + "968\n", + "969\n", + "970\n", + "971\n", + "972\n", + "973\n", + "974\n", + "975\n", + "976\n", + "977\n", + "978\n", + "979\n", + "980\n", + "981\n", + "982\n", + "983\n", + "984\n", + "985\n", + "986\n", + "987\n", + "988\n", + "989\n", + "990\n", + "991\n", + "992\n", + "993\n", + "994\n", + "995\n", + "996\n", + "997\n", + "998\n", + "999\n", + "CALLED\n", + "self.model._steps=1000\n", + " TEST self.model._steps=1000\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "900 0.6104\n", + "901 0.6256\n", + "902 0.6256\n", + "903 0.6492\n", + "904 0.6398\n", + ".. ...\n", + "995 0.6574\n", + "996 0.6876\n", + "997 0.6758\n", + "998 0.6832\n", + "999 0.6808\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_010.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_010.parquet'\n", + "Saving model to output_dir/model_data_010.parquet\n", + "Saving agent to output_dir/agent_data_010.parquet\n", + "1000\n", + "1001\n", + "1002\n", + "1003\n", + "1004\n", + "1005\n", + "1006\n", + "1007\n", + "1008\n", + "1009\n", + "1010\n", + "1011\n", + "1012\n", + "1013\n", + "1014\n", + "1015\n", + "1016\n", + "1017\n", + "1018\n", + "1019\n", + "1020\n", + "1021\n", + "1022\n", + "1023\n", + "1024\n", + "1025\n", + "1026\n", + "1027\n", + "1028\n", + "1029\n", + "1030\n", + "1031\n", + "1032\n", + "1033\n", + "1034\n", + "1035\n", + "1036\n", + "1037\n", + "1038\n", + "1039\n", + "1040\n", + "1041\n", + "1042\n", + "1043\n", + "1044\n", + "1045\n", + "1046\n", + "1047\n", + "1048\n", + "1049\n", + "1050\n", + "1051\n", + "1052\n", + "1053\n", + "1054\n", + "1055\n", + "1056\n", + "1057\n", + "1058\n", + "1059\n", + "1060\n", + "1061\n", + "1062\n", + "1063\n", + "1064\n", + "1065\n", + "1066\n", + "1067\n", + "1068\n", + "1069\n", + "1070\n", + "1071\n", + "1072\n", + "1073\n", + "1074\n", + "1075\n", + "1076\n", + "1077\n", + "1078\n", + "1079\n", + "1080\n", + "1081\n", + "1082\n", + "1083\n", + "1084\n", + "1085\n", + "1086\n", + "1087\n", + "1088\n", + "1089\n", + "1090\n", + "1091\n", + "1092\n", + "1093\n", + "1094\n", + "1095\n", + "1096\n", + "1097\n", + "1098\n", + "1099\n", + "CALLED\n", + "self.model._steps=1100\n", + " TEST self.model._steps=1100\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "1000 0.6886\n", + "1001 0.6966\n", + "1002 0.7010\n", + "1003 0.6996\n", + "1004 0.7024\n", + "... ...\n", + "1095 0.6654\n", + "1096 0.6440\n", + "1097 0.6194\n", + "1098 0.6104\n", + "1099 0.6164\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_011.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_011.parquet'\n", + "Saving model to output_dir/model_data_011.parquet\n", + "Saving agent to output_dir/agent_data_011.parquet\n", + "1100\n", + "1101\n", + "1102\n", + "1103\n", + "1104\n", + "1105\n", + "1106\n", + "1107\n", + "1108\n", + "1109\n", + "1110\n", + "1111\n", + "1112\n", + "1113\n", + "1114\n", + "1115\n", + "1116\n", + "1117\n", + "1118\n", + "1119\n", + "1120\n", + "1121\n", + "1122\n", + "1123\n", + "1124\n", + "1125\n", + "1126\n", + "1127\n", + "1128\n", + "1129\n", + "1130\n", + "1131\n", + "1132\n", + "1133\n", + "1134\n", + "1135\n", + "1136\n", + "1137\n", + "1138\n", + "1139\n", + "1140\n", + "1141\n", + "1142\n", + "1143\n", + "1144\n", + "1145\n", + "1146\n", + "1147\n", + "1148\n", + "1149\n", + "1150\n", + "1151\n", + "1152\n", + "1153\n", + "1154\n", + "1155\n", + "1156\n", + "1157\n", + "1158\n", + "1159\n", + "1160\n", + "1161\n", + "1162\n", + "1163\n", + "1164\n", + "1165\n", + "1166\n", + "1167\n", + "1168\n", + "1169\n", + "1170\n", + "1171\n", + "1172\n", + "1173\n", + "1174\n", + "1175\n", + "1176\n", + "1177\n", + "1178\n", + "1179\n", + "1180\n", + "1181\n", + "1182\n", + "1183\n", + "1184\n", + "1185\n", + "1186\n", + "1187\n", + "1188\n", + "1189\n", + "1190\n", + "1191\n", + "1192\n", + "1193\n", + "1194\n", + "1195\n", + "1196\n", + "1197\n", + "1198\n", + "1199\n", + "CALLED\n", + "self.model._steps=1200\n", + " TEST self.model._steps=1200\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "1100 0.6172\n", + "1101 0.6234\n", + "1102 0.6470\n", + "1103 0.6720\n", + "1104 0.6834\n", + "... ...\n", + "1195 0.7018\n", + "1196 0.7106\n", + "1197 0.7160\n", + "1198 0.7260\n", + "1199 0.7386\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_012.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_012.parquet'\n", + "Saving model to output_dir/model_data_012.parquet\n", + "Saving agent to output_dir/agent_data_012.parquet\n", + "1200\n", + "1201\n", + "1202\n", + "1203\n", + "1204\n", + "1205\n", + "1206\n", + "1207\n", + "1208\n", + "1209\n", + "1210\n", + "1211\n", + "1212\n", + "1213\n", + "1214\n", + "1215\n", + "1216\n", + "1217\n", + "1218\n", + "1219\n", + "1220\n", + "1221\n", + "1222\n", + "1223\n", + "1224\n", + "1225\n", + "1226\n", + "1227\n", + "1228\n", + "1229\n", + "1230\n", + "1231\n", + "1232\n", + "1233\n", + "1234\n", + "1235\n", + "1236\n", + "1237\n", + "1238\n", + "1239\n", + "1240\n", + "1241\n", + "1242\n", + "1243\n", + "1244\n", + "1245\n", + "1246\n", + "1247\n", + "1248\n", + "1249\n", + "1250\n", + "1251\n", + "1252\n", + "1253\n", + "1254\n", + "1255\n", + "1256\n", + "1257\n", + "1258\n", + "1259\n", + "1260\n", + "1261\n", + "1262\n", + "1263\n", + "1264\n", + "1265\n", + "1266\n", + "1267\n", + "1268\n", + "1269\n", + "1270\n", + "1271\n", + "1272\n", + "1273\n", + "1274\n", + "1275\n", + "1276\n", + "1277\n", + "1278\n", + "1279\n", + "1280\n", + "1281\n", + "1282\n", + "1283\n", + "1284\n", + "1285\n", + "1286\n", + "1287\n", + "1288\n", + "1289\n", + "1290\n", + "1291\n", + "1292\n", + "1293\n", + "1294\n", + "1295\n", + "1296\n", + "1297\n", + "1298\n", + "1299\n", + "CALLED\n", + "self.model._steps=1300\n", + " TEST self.model._steps=1300\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "1200 0.7374\n", + "1201 0.7374\n", + "1202 0.7254\n", + "1203 0.7120\n", + "1204 0.7244\n", + "... ...\n", + "1295 0.7200\n", + "1296 0.7142\n", + "1297 0.7236\n", + "1298 0.7348\n", + "1299 0.7336\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_013.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_013.parquet'\n", + "Saving model to output_dir/model_data_013.parquet\n", + "Saving agent to output_dir/agent_data_013.parquet\n", + "1300\n", + "1301\n", + "1302\n", + "1303\n", + "1304\n", + "1305\n", + "1306\n", + "1307\n", + "1308\n", + "1309\n", + "1310\n", + "1311\n", + "1312\n", + "1313\n", + "1314\n", + "1315\n", + "1316\n", + "1317\n", + "1318\n", + "1319\n", + "1320\n", + "1321\n", + "1322\n", + "1323\n", + "1324\n", + "1325\n", + "1326\n", + "1327\n", + "1328\n", + "1329\n", + "1330\n", + "1331\n", + "1332\n", + "1333\n", + "1334\n", + "1335\n", + "1336\n", + "1337\n", + "1338\n", + "1339\n", + "1340\n", + "1341\n", + "1342\n", + "1343\n", + "1344\n", + "1345\n", + "1346\n", + "1347\n", + "1348\n", + "1349\n", + "1350\n", + "1351\n", + "1352\n", + "1353\n", + "1354\n", + "1355\n", + "1356\n", + "1357\n", + "1358\n", + "1359\n", + "1360\n", + "1361\n", + "1362\n", + "1363\n", + "1364\n", + "1365\n", + "1366\n", + "1367\n", + "1368\n", + "1369\n", + "1370\n", + "1371\n", + "1372\n", + "1373\n", + "1374\n", + "1375\n", + "1376\n", + "1377\n", + "1378\n", + "1379\n", + "1380\n", + "1381\n", + "1382\n", + "1383\n", + "1384\n", + "1385\n", + "1386\n", + "1387\n", + "1388\n", + "1389\n", + "1390\n", + "1391\n", + "1392\n", + "1393\n", + "1394\n", + "1395\n", + "1396\n", + "1397\n", + "1398\n", + "1399\n", + "CALLED\n", + "self.model._steps=1400\n", + " TEST self.model._steps=1400\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "1300 0.7340\n", + "1301 0.7028\n", + "1302 0.7090\n", + "1303 0.7110\n", + "1304 0.7042\n", + "... ...\n", + "1395 0.6168\n", + "1396 0.6126\n", + "1397 0.6136\n", + "1398 0.6016\n", + "1399 0.6364\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_014.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_014.parquet'\n", + "Saving model to output_dir/model_data_014.parquet\n", + "Saving agent to output_dir/agent_data_014.parquet\n", + "1400\n", + "1401\n", + "1402\n", + "1403\n", + "1404\n", + "1405\n", + "1406\n", + "1407\n", + "1408\n", + "1409\n", + "1410\n", + "1411\n", + "1412\n", + "1413\n", + "1414\n", + "1415\n", + "1416\n", + "1417\n", + "1418\n", + "1419\n", + "1420\n", + "1421\n", + "1422\n", + "1423\n", + "1424\n", + "1425\n", + "1426\n", + "1427\n", + "1428\n", + "1429\n", + "1430\n", + "1431\n", + "1432\n", + "1433\n", + "1434\n", + "1435\n", + "1436\n", + "1437\n", + "1438\n", + "1439\n", + "1440\n", + "1441\n", + "1442\n", + "1443\n", + "1444\n", + "1445\n", + "1446\n", + "1447\n", + "1448\n", + "1449\n", + "1450\n", + "1451\n", + "1452\n", + "1453\n", + "1454\n", + "1455\n", + "1456\n", + "1457\n", + "1458\n", + "1459\n", + "1460\n", + "1461\n", + "1462\n", + "1463\n", + "1464\n", + "1465\n", + "1466\n", + "1467\n", + "1468\n", + "1469\n", + "1470\n", + "1471\n", + "1472\n", + "1473\n", + "1474\n", + "1475\n", + "1476\n", + "1477\n", + "1478\n", + "1479\n", + "1480\n", + "1481\n", + "1482\n", + "1483\n", + "1484\n", + "1485\n", + "1486\n", + "1487\n", + "1488\n", + "1489\n", + "1490\n", + "1491\n", + "1492\n", + "1493\n", + "1494\n", + "1495\n", + "1496\n", + "1497\n", + "1498\n", + "1499\n", + "CALLED\n", + "self.model._steps=1500\n", + " TEST self.model._steps=1500\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "1400 0.6408\n", + "1401 0.6330\n", + "1402 0.6278\n", + "1403 0.6626\n", + "1404 0.6406\n", + "... ...\n", + "1495 0.6386\n", + "1496 0.6352\n", + "1497 0.6134\n", + "1498 0.6234\n", + "1499 0.6340\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_015.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_015.parquet'\n", + "Saving model to output_dir/model_data_015.parquet\n", + "Saving agent to output_dir/agent_data_015.parquet\n", + "1500\n", + "1501\n", + "1502\n", + "1503\n", + "1504\n", + "1505\n", + "1506\n", + "1507\n", + "1508\n", + "1509\n", + "1510\n", + "1511\n", + "1512\n", + "1513\n", + "1514\n", + "1515\n", + "1516\n", + "1517\n", + "1518\n", + "1519\n", + "1520\n", + "1521\n", + "1522\n", + "1523\n", + "1524\n", + "1525\n", + "1526\n", + "1527\n", + "1528\n", + "1529\n", + "1530\n", + "1531\n", + "1532\n", + "1533\n", + "1534\n", + "1535\n", + "1536\n", + "1537\n", + "1538\n", + "1539\n", + "1540\n", + "1541\n", + "1542\n", + "1543\n", + "1544\n", + "1545\n", + "1546\n", + "1547\n", + "1548\n", + "1549\n", + "1550\n", + "1551\n", + "1552\n", + "1553\n", + "1554\n", + "1555\n", + "1556\n", + "1557\n", + "1558\n", + "1559\n", + "1560\n", + "1561\n", + "1562\n", + "1563\n", + "1564\n", + "1565\n", + "1566\n", + "1567\n", + "1568\n", + "1569\n", + "1570\n", + "1571\n", + "1572\n", + "1573\n", + "1574\n", + "1575\n", + "1576\n", + "1577\n", + "1578\n", + "1579\n", + "1580\n", + "1581\n", + "1582\n", + "1583\n", + "1584\n", + "1585\n", + "1586\n", + "1587\n", + "1588\n", + "1589\n", + "1590\n", + "1591\n", + "1592\n", + "1593\n", + "1594\n", + "1595\n", + "1596\n", + "1597\n", + "1598\n", + "1599\n", + "CALLED\n", + "self.model._steps=1600\n", + " TEST self.model._steps=1600\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "1500 0.6612\n", + "1501 0.6702\n", + "1502 0.6478\n", + "1503 0.6638\n", + "1504 0.6648\n", + "... ...\n", + "1595 0.7150\n", + "1596 0.7262\n", + "1597 0.7246\n", + "1598 0.6906\n", + "1599 0.6838\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_016.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_016.parquet'\n", + "Saving model to output_dir/model_data_016.parquet\n", + "Saving agent to output_dir/agent_data_016.parquet\n", + "1600\n", + "1601\n", + "1602\n", + "1603\n", + "1604\n", + "1605\n", + "1606\n", + "1607\n", + "1608\n", + "1609\n", + "1610\n", + "1611\n", + "1612\n", + "1613\n", + "1614\n", + "1615\n", + "1616\n", + "1617\n", + "1618\n", + "1619\n", + "1620\n", + "1621\n", + "1622\n", + "1623\n", + "1624\n", + "1625\n", + "1626\n", + "1627\n", + "1628\n", + "1629\n", + "1630\n", + "1631\n", + "1632\n", + "1633\n", + "1634\n", + "1635\n", + "1636\n", + "1637\n", + "1638\n", + "1639\n", + "1640\n", + "1641\n", + "1642\n", + "1643\n", + "1644\n", + "1645\n", + "1646\n", + "1647\n", + "1648\n", + "1649\n", + "1650\n", + "1651\n", + "1652\n", + "1653\n", + "1654\n", + "1655\n", + "1656\n", + "1657\n", + "1658\n", + "1659\n", + "1660\n", + "1661\n", + "1662\n", + "1663\n", + "1664\n", + "1665\n", + "1666\n", + "1667\n", + "1668\n", + "1669\n", + "1670\n", + "1671\n", + "1672\n", + "1673\n", + "1674\n", + "1675\n", + "1676\n", + "1677\n", + "1678\n", + "1679\n", + "1680\n", + "1681\n", + "1682\n", + "1683\n", + "1684\n", + "1685\n", + "1686\n", + "1687\n", + "1688\n", + "1689\n", + "1690\n", + "1691\n", + "1692\n", + "1693\n", + "1694\n", + "1695\n", + "1696\n", + "1697\n", + "1698\n", + "1699\n", + "CALLED\n", + "self.model._steps=1700\n", + " TEST self.model._steps=1700\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "1600 0.6952\n", + "1601 0.7148\n", + "1602 0.6994\n", + "1603 0.6886\n", + "1604 0.7010\n", + "... ...\n", + "1695 0.6130\n", + "1696 0.6006\n", + "1697 0.6050\n", + "1698 0.6002\n", + "1699 0.5850\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_017.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_017.parquet'\n", + "Saving model to output_dir/model_data_017.parquet\n", + "Saving agent to output_dir/agent_data_017.parquet\n", + "1700\n", + "1701\n", + "1702\n", + "1703\n", + "1704\n", + "1705\n", + "1706\n", + "1707\n", + "1708\n", + "1709\n", + "1710\n", + "1711\n", + "1712\n", + "1713\n", + "1714\n", + "1715\n", + "1716\n", + "1717\n", + "1718\n", + "1719\n", + "1720\n", + "1721\n", + "1722\n", + "1723\n", + "1724\n", + "1725\n", + "1726\n", + "1727\n", + "1728\n", + "1729\n", + "1730\n", + "1731\n", + "1732\n", + "1733\n", + "1734\n", + "1735\n", + "1736\n", + "1737\n", + "1738\n", + "1739\n", + "1740\n", + "1741\n", + "1742\n", + "1743\n", + "1744\n", + "1745\n", + "1746\n", + "1747\n", + "1748\n", + "1749\n", + "1750\n", + "1751\n", + "1752\n", + "1753\n", + "1754\n", + "1755\n", + "1756\n", + "1757\n", + "1758\n", + "1759\n", + "1760\n", + "1761\n", + "1762\n", + "1763\n", + "1764\n", + "1765\n", + "1766\n", + "1767\n", + "1768\n", + "1769\n", + "1770\n", + "1771\n", + "1772\n", + "1773\n", + "1774\n", + "1775\n", + "1776\n", + "1777\n", + "1778\n", + "1779\n", + "1780\n", + "1781\n", + "1782\n", + "1783\n", + "1784\n", + "1785\n", + "1786\n", + "1787\n", + "1788\n", + "1789\n", + "1790\n", + "1791\n", + "1792\n", + "1793\n", + "1794\n", + "1795\n", + "1796\n", + "1797\n", + "1798\n", + "1799\n", + "CALLED\n", + "self.model._steps=1800\n", + " TEST self.model._steps=1800\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "1700 0.5704\n", + "1701 0.5840\n", + "1702 0.5956\n", + "1703 0.6024\n", + "1704 0.6298\n", + "... ...\n", + "1795 0.6470\n", + "1796 0.6504\n", + "1797 0.6308\n", + "1798 0.6372\n", + "1799 0.6220\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_018.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_018.parquet'\n", + "Saving model to output_dir/model_data_018.parquet\n", + "Saving agent to output_dir/agent_data_018.parquet\n", + "1800\n", + "1801\n", + "1802\n", + "1803\n", + "1804\n", + "1805\n", + "1806\n", + "1807\n", + "1808\n", + "1809\n", + "1810\n", + "1811\n", + "1812\n", + "1813\n", + "1814\n", + "1815\n", + "1816\n", + "1817\n", + "1818\n", + "1819\n", + "1820\n", + "1821\n", + "1822\n", + "1823\n", + "1824\n", + "1825\n", + "1826\n", + "1827\n", + "1828\n", + "1829\n", + "1830\n", + "1831\n", + "1832\n", + "1833\n", + "1834\n", + "1835\n", + "1836\n", + "1837\n", + "1838\n", + "1839\n", + "1840\n", + "1841\n", + "1842\n", + "1843\n", + "1844\n", + "1845\n", + "1846\n", + "1847\n", + "1848\n", + "1849\n", + "1850\n", + "1851\n", + "1852\n", + "1853\n", + "1854\n", + "1855\n", + "1856\n", + "1857\n", + "1858\n", + "1859\n", + "1860\n", + "1861\n", + "1862\n", + "1863\n", + "1864\n", + "1865\n", + "1866\n", + "1867\n", + "1868\n", + "1869\n", + "1870\n", + "1871\n", + "1872\n", + "1873\n", + "1874\n", + "1875\n", + "1876\n", + "1877\n", + "1878\n", + "1879\n", + "1880\n", + "1881\n", + "1882\n", + "1883\n", + "1884\n", + "1885\n", + "1886\n", + "1887\n", + "1888\n", + "1889\n", + "1890\n", + "1891\n", + "1892\n", + "1893\n", + "1894\n", + "1895\n", + "1896\n", + "1897\n", + "1898\n", + "1899\n", + "CALLED\n", + "self.model._steps=1900\n", + " TEST self.model._steps=1900\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "1800 0.6428\n", + "1801 0.6518\n", + "1802 0.6422\n", + "1803 0.6568\n", + "1804 0.6676\n", + "... ...\n", + "1895 0.6824\n", + "1896 0.6732\n", + "1897 0.6770\n", + "1898 0.6472\n", + "1899 0.6642\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_019.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_019.parquet'\n", + "Saving model to output_dir/model_data_019.parquet\n", + "Saving agent to output_dir/agent_data_019.parquet\n", + "1900\n", + "1901\n", + "1902\n", + "1903\n", + "1904\n", + "1905\n", + "1906\n", + "1907\n", + "1908\n", + "1909\n", + "1910\n", + "1911\n", + "1912\n", + "1913\n", + "1914\n", + "1915\n", + "1916\n", + "1917\n", + "1918\n", + "1919\n", + "1920\n", + "1921\n", + "1922\n", + "1923\n", + "1924\n", + "1925\n", + "1926\n", + "1927\n", + "1928\n", + "1929\n", + "1930\n", + "1931\n", + "1932\n", + "1933\n", + "1934\n", + "1935\n", + "1936\n", + "1937\n", + "1938\n", + "1939\n", + "1940\n", + "1941\n", + "1942\n", + "1943\n", + "1944\n", + "1945\n", + "1946\n", + "1947\n", + "1948\n", + "1949\n", + "1950\n", + "1951\n", + "1952\n", + "1953\n", + "1954\n", + "1955\n", + "1956\n", + "1957\n", + "1958\n", + "1959\n", + "1960\n", + "1961\n", + "1962\n", + "1963\n", + "1964\n", + "1965\n", + "1966\n", + "1967\n", + "1968\n", + "1969\n", + "1970\n", + "1971\n", + "1972\n", + "1973\n", + "1974\n", + "1975\n", + "1976\n", + "1977\n", + "1978\n", + "1979\n", + "1980\n", + "1981\n", + "1982\n", + "1983\n", + "1984\n", + "1985\n", + "1986\n", + "1987\n", + "1988\n", + "1989\n", + "1990\n", + "1991\n", + "1992\n", + "1993\n", + "1994\n", + "1995\n", + "1996\n", + "1997\n", + "1998\n", + "1999\n", + "CALLED\n", + "self.model._steps=2000\n", + " TEST self.model._steps=2000\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "1900 0.6662\n", + "1901 0.6552\n", + "1902 0.6858\n", + "1903 0.6734\n", + "1904 0.6736\n", + "... ...\n", + "1995 0.6336\n", + "1996 0.6394\n", + "1997 0.6560\n", + "1998 0.6730\n", + "1999 0.6548\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_020.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_020.parquet'\n", + "Saving model to output_dir/model_data_020.parquet\n", + "Saving agent to output_dir/agent_data_020.parquet\n", + "2000\n", + "2001\n", + "2002\n", + "2003\n", + "2004\n", + "2005\n", + "2006\n", + "2007\n", + "2008\n", + "2009\n", + "2010\n", + "2011\n", + "2012\n", + "2013\n", + "2014\n", + "2015\n", + "2016\n", + "2017\n", + "2018\n", + "2019\n", + "2020\n", + "2021\n", + "2022\n", + "2023\n", + "2024\n", + "2025\n", + "2026\n", + "2027\n", + "2028\n", + "2029\n", + "2030\n", + "2031\n", + "2032\n", + "2033\n", + "2034\n", + "2035\n", + "2036\n", + "2037\n", + "2038\n", + "2039\n", + "2040\n", + "2041\n", + "2042\n", + "2043\n", + "2044\n", + "2045\n", + "2046\n", + "2047\n", + "2048\n", + "2049\n", + "2050\n", + "2051\n", + "2052\n", + "2053\n", + "2054\n", + "2055\n", + "2056\n", + "2057\n", + "2058\n", + "2059\n", + "2060\n", + "2061\n", + "2062\n", + "2063\n", + "2064\n", + "2065\n", + "2066\n", + "2067\n", + "2068\n", + "2069\n", + "2070\n", + "2071\n", + "2072\n", + "2073\n", + "2074\n", + "2075\n", + "2076\n", + "2077\n", + "2078\n", + "2079\n", + "2080\n", + "2081\n", + "2082\n", + "2083\n", + "2084\n", + "2085\n", + "2086\n", + "2087\n", + "2088\n", + "2089\n", + "2090\n", + "2091\n", + "2092\n", + "2093\n", + "2094\n", + "2095\n", + "2096\n", + "2097\n", + "2098\n", + "2099\n", + "CALLED\n", + "self.model._steps=2100\n", + " TEST self.model._steps=2100\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "2000 0.6300\n", + "2001 0.6346\n", + "2002 0.6306\n", + "2003 0.6200\n", + "2004 0.6350\n", + "... ...\n", + "2095 0.5842\n", + "2096 0.6182\n", + "2097 0.6242\n", + "2098 0.6362\n", + "2099 0.6582\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_021.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_021.parquet'\n", + "Saving model to output_dir/model_data_021.parquet\n", + "Saving agent to output_dir/agent_data_021.parquet\n", + "2100\n", + "2101\n", + "2102\n", + "2103\n", + "2104\n", + "2105\n", + "2106\n", + "2107\n", + "2108\n", + "2109\n", + "2110\n", + "2111\n", + "2112\n", + "2113\n", + "2114\n", + "2115\n", + "2116\n", + "2117\n", + "2118\n", + "2119\n", + "2120\n", + "2121\n", + "2122\n", + "2123\n", + "2124\n", + "2125\n", + "2126\n", + "2127\n", + "2128\n", + "2129\n", + "2130\n", + "2131\n", + "2132\n", + "2133\n", + "2134\n", + "2135\n", + "2136\n", + "2137\n", + "2138\n", + "2139\n", + "2140\n", + "2141\n", + "2142\n", + "2143\n", + "2144\n", + "2145\n", + "2146\n", + "2147\n", + "2148\n", + "2149\n", + "2150\n", + "2151\n", + "2152\n", + "2153\n", + "2154\n", + "2155\n", + "2156\n", + "2157\n", + "2158\n", + "2159\n", + "2160\n", + "2161\n", + "2162\n", + "2163\n", + "2164\n", + "2165\n", + "2166\n", + "2167\n", + "2168\n", + "2169\n", + "2170\n", + "2171\n", + "2172\n", + "2173\n", + "2174\n", + "2175\n", + "2176\n", + "2177\n", + "2178\n", + "2179\n", + "2180\n", + "2181\n", + "2182\n", + "2183\n", + "2184\n", + "2185\n", + "2186\n", + "2187\n", + "2188\n", + "2189\n", + "2190\n", + "2191\n", + "2192\n", + "2193\n", + "2194\n", + "2195\n", + "2196\n", + "2197\n", + "2198\n", + "2199\n", + "CALLED\n", + "self.model._steps=2200\n", + " TEST self.model._steps=2200\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "2100 0.6650\n", + "2101 0.6848\n", + "2102 0.6912\n", + "2103 0.6896\n", + "2104 0.6706\n", + "... ...\n", + "2195 0.7040\n", + "2196 0.6770\n", + "2197 0.6816\n", + "2198 0.7012\n", + "2199 0.6818\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_022.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_022.parquet'\n", + "Saving model to output_dir/model_data_022.parquet\n", + "Saving agent to output_dir/agent_data_022.parquet\n", + "2200\n", + "2201\n", + "2202\n", + "2203\n", + "2204\n", + "2205\n", + "2206\n", + "2207\n", + "2208\n", + "2209\n", + "2210\n", + "2211\n", + "2212\n", + "2213\n", + "2214\n", + "2215\n", + "2216\n", + "2217\n", + "2218\n", + "2219\n", + "2220\n", + "2221\n", + "2222\n", + "2223\n", + "2224\n", + "2225\n", + "2226\n", + "2227\n", + "2228\n", + "2229\n", + "2230\n", + "2231\n", + "2232\n", + "2233\n", + "2234\n", + "2235\n", + "2236\n", + "2237\n", + "2238\n", + "2239\n", + "2240\n", + "2241\n", + "2242\n", + "2243\n", + "2244\n", + "2245\n", + "2246\n", + "2247\n", + "2248\n", + "2249\n", + "2250\n", + "2251\n", + "2252\n", + "2253\n", + "2254\n", + "2255\n", + "2256\n", + "2257\n", + "2258\n", + "2259\n", + "2260\n", + "2261\n", + "2262\n", + "2263\n", + "2264\n", + "2265\n", + "2266\n", + "2267\n", + "2268\n", + "2269\n", + "2270\n", + "2271\n", + "2272\n", + "2273\n", + "2274\n", + "2275\n", + "2276\n", + "2277\n", + "2278\n", + "2279\n", + "2280\n", + "2281\n", + "2282\n", + "2283\n", + "2284\n", + "2285\n", + "2286\n", + "2287\n", + "2288\n", + "2289\n", + "2290\n", + "2291\n", + "2292\n", + "2293\n", + "2294\n", + "2295\n", + "2296\n", + "2297\n", + "2298\n", + "2299\n", + "CALLED\n", + "self.model._steps=2300\n", + " TEST self.model._steps=2300\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "2200 0.6824\n", + "2201 0.6906\n", + "2202 0.7024\n", + "2203 0.6690\n", + "2204 0.6562\n", + "... ...\n", + "2295 0.7012\n", + "2296 0.6888\n", + "2297 0.6826\n", + "2298 0.6680\n", + "2299 0.6778\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_023.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_023.parquet'\n", + "Saving model to output_dir/model_data_023.parquet\n", + "Saving agent to output_dir/agent_data_023.parquet\n", + "2300\n", + "2301\n", + "2302\n", + "2303\n", + "2304\n", + "2305\n", + "2306\n", + "2307\n", + "2308\n", + "2309\n", + "2310\n", + "2311\n", + "2312\n", + "2313\n", + "2314\n", + "2315\n", + "2316\n", + "2317\n", + "2318\n", + "2319\n", + "2320\n", + "2321\n", + "2322\n", + "2323\n", + "2324\n", + "2325\n", + "2326\n", + "2327\n", + "2328\n", + "2329\n", + "2330\n", + "2331\n", + "2332\n", + "2333\n", + "2334\n", + "2335\n", + "2336\n", + "2337\n", + "2338\n", + "2339\n", + "2340\n", + "2341\n", + "2342\n", + "2343\n", + "2344\n", + "2345\n", + "2346\n", + "2347\n", + "2348\n", + "2349\n", + "2350\n", + "2351\n", + "2352\n", + "2353\n", + "2354\n", + "2355\n", + "2356\n", + "2357\n", + "2358\n", + "2359\n", + "2360\n", + "2361\n", + "2362\n", + "2363\n", + "2364\n", + "2365\n", + "2366\n", + "2367\n", + "2368\n", + "2369\n", + "2370\n", + "2371\n", + "2372\n", + "2373\n", + "2374\n", + "2375\n", + "2376\n", + "2377\n", + "2378\n", + "2379\n", + "2380\n", + "2381\n", + "2382\n", + "2383\n", + "2384\n", + "2385\n", + "2386\n", + "2387\n", + "2388\n", + "2389\n", + "2390\n", + "2391\n", + "2392\n", + "2393\n", + "2394\n", + "2395\n", + "2396\n", + "2397\n", + "2398\n", + "2399\n", + "CALLED\n", + "self.model._steps=2400\n", + " TEST self.model._steps=2400\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "2300 0.6866\n", + "2301 0.7058\n", + "2302 0.7228\n", + "2303 0.6972\n", + "2304 0.7260\n", + "... ...\n", + "2395 0.6832\n", + "2396 0.6752\n", + "2397 0.6798\n", + "2398 0.6688\n", + "2399 0.6850\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_024.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_024.parquet'\n", + "Saving model to output_dir/model_data_024.parquet\n", + "Saving agent to output_dir/agent_data_024.parquet\n", + "2400\n", + "2401\n", + "2402\n", + "2403\n", + "2404\n", + "2405\n", + "2406\n", + "2407\n", + "2408\n", + "2409\n", + "2410\n", + "2411\n", + "2412\n", + "2413\n", + "2414\n", + "2415\n", + "2416\n", + "2417\n", + "2418\n", + "2419\n", + "2420\n", + "2421\n", + "2422\n", + "2423\n", + "2424\n", + "2425\n", + "2426\n", + "2427\n", + "2428\n", + "2429\n", + "2430\n", + "2431\n", + "2432\n", + "2433\n", + "2434\n", + "2435\n", + "2436\n", + "2437\n", + "2438\n", + "2439\n", + "2440\n", + "2441\n", + "2442\n", + "2443\n", + "2444\n", + "2445\n", + "2446\n", + "2447\n", + "2448\n", + "2449\n", + "2450\n", + "2451\n", + "2452\n", + "2453\n", + "2454\n", + "2455\n", + "2456\n", + "2457\n", + "2458\n", + "2459\n", + "2460\n", + "2461\n", + "2462\n", + "2463\n", + "2464\n", + "2465\n", + "2466\n", + "2467\n", + "2468\n", + "2469\n", + "2470\n", + "2471\n", + "2472\n", + "2473\n", + "2474\n", + "2475\n", + "2476\n", + "2477\n", + "2478\n", + "2479\n", + "2480\n", + "2481\n", + "2482\n", + "2483\n", + "2484\n", + "2485\n", + "2486\n", + "2487\n", + "2488\n", + "2489\n", + "2490\n", + "2491\n", + "2492\n", + "2493\n", + "2494\n", + "2495\n", + "2496\n", + "2497\n", + "2498\n", + "2499\n", + "CALLED\n", + "self.model._steps=2500\n", + " TEST self.model._steps=2500\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "2400 0.6994\n", + "2401 0.6884\n", + "2402 0.6870\n", + "2403 0.6612\n", + "2404 0.6716\n", + "... ...\n", + "2495 0.6496\n", + "2496 0.6534\n", + "2497 0.6500\n", + "2498 0.6460\n", + "2499 0.6532\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_025.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_025.parquet'\n", + "Saving model to output_dir/model_data_025.parquet\n", + "Saving agent to output_dir/agent_data_025.parquet\n", + "2500\n", + "2501\n", + "2502\n", + "2503\n", + "2504\n", + "2505\n", + "2506\n", + "2507\n", + "2508\n", + "2509\n", + "2510\n", + "2511\n", + "2512\n", + "2513\n", + "2514\n", + "2515\n", + "2516\n", + "2517\n", + "2518\n", + "2519\n", + "2520\n", + "2521\n", + "2522\n", + "2523\n", + "2524\n", + "2525\n", + "2526\n", + "2527\n", + "2528\n", + "2529\n", + "2530\n", + "2531\n", + "2532\n", + "2533\n", + "2534\n", + "2535\n", + "2536\n", + "2537\n", + "2538\n", + "2539\n", + "2540\n", + "2541\n", + "2542\n", + "2543\n", + "2544\n", + "2545\n", + "2546\n", + "2547\n", + "2548\n", + "2549\n", + "2550\n", + "2551\n", + "2552\n", + "2553\n", + "2554\n", + "2555\n", + "2556\n", + "2557\n", + "2558\n", + "2559\n", + "2560\n", + "2561\n", + "2562\n", + "2563\n", + "2564\n", + "2565\n", + "2566\n", + "2567\n", + "2568\n", + "2569\n", + "2570\n", + "2571\n", + "2572\n", + "2573\n", + "2574\n", + "2575\n", + "2576\n", + "2577\n", + "2578\n", + "2579\n", + "2580\n", + "2581\n", + "2582\n", + "2583\n", + "2584\n", + "2585\n", + "2586\n", + "2587\n", + "2588\n", + "2589\n", + "2590\n", + "2591\n", + "2592\n", + "2593\n", + "2594\n", + "2595\n", + "2596\n", + "2597\n", + "2598\n", + "2599\n", + "CALLED\n", + "self.model._steps=2600\n", + " TEST self.model._steps=2600\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "2500 0.6828\n", + "2501 0.6718\n", + "2502 0.6546\n", + "2503 0.6384\n", + "2504 0.6320\n", + "... ...\n", + "2595 0.6142\n", + "2596 0.6306\n", + "2597 0.6378\n", + "2598 0.6732\n", + "2599 0.6952\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_026.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_026.parquet'\n", + "Saving model to output_dir/model_data_026.parquet\n", + "Saving agent to output_dir/agent_data_026.parquet\n", + "2600\n", + "2601\n", + "2602\n", + "2603\n", + "2604\n", + "2605\n", + "2606\n", + "2607\n", + "2608\n", + "2609\n", + "2610\n", + "2611\n", + "2612\n", + "2613\n", + "2614\n", + "2615\n", + "2616\n", + "2617\n", + "2618\n", + "2619\n", + "2620\n", + "2621\n", + "2622\n", + "2623\n", + "2624\n", + "2625\n", + "2626\n", + "2627\n", + "2628\n", + "2629\n", + "2630\n", + "2631\n", + "2632\n", + "2633\n", + "2634\n", + "2635\n", + "2636\n", + "2637\n", + "2638\n", + "2639\n", + "2640\n", + "2641\n", + "2642\n", + "2643\n", + "2644\n", + "2645\n", + "2646\n", + "2647\n", + "2648\n", + "2649\n", + "2650\n", + "2651\n", + "2652\n", + "2653\n", + "2654\n", + "2655\n", + "2656\n", + "2657\n", + "2658\n", + "2659\n", + "2660\n", + "2661\n", + "2662\n", + "2663\n", + "2664\n", + "2665\n", + "2666\n", + "2667\n", + "2668\n", + "2669\n", + "2670\n", + "2671\n", + "2672\n", + "2673\n", + "2674\n", + "2675\n", + "2676\n", + "2677\n", + "2678\n", + "2679\n", + "2680\n", + "2681\n", + "2682\n", + "2683\n", + "2684\n", + "2685\n", + "2686\n", + "2687\n", + "2688\n", + "2689\n", + "2690\n", + "2691\n", + "2692\n", + "2693\n", + "2694\n", + "2695\n", + "2696\n", + "2697\n", + "2698\n", + "2699\n", + "CALLED\n", + "self.model._steps=2700\n", + " TEST self.model._steps=2700\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "2600 0.6610\n", + "2601 0.6734\n", + "2602 0.6920\n", + "2603 0.6636\n", + "2604 0.6586\n", + "... ...\n", + "2695 0.6574\n", + "2696 0.6408\n", + "2697 0.6620\n", + "2698 0.6498\n", + "2699 0.6674\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_027.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_027.parquet'\n", + "Saving model to output_dir/model_data_027.parquet\n", + "Saving agent to output_dir/agent_data_027.parquet\n", + "2700\n", + "2701\n", + "2702\n", + "2703\n", + "2704\n", + "2705\n", + "2706\n", + "2707\n", + "2708\n", + "2709\n", + "2710\n", + "2711\n", + "2712\n", + "2713\n", + "2714\n", + "2715\n", + "2716\n", + "2717\n", + "2718\n", + "2719\n", + "2720\n", + "2721\n", + "2722\n", + "2723\n", + "2724\n", + "2725\n", + "2726\n", + "2727\n", + "2728\n", + "2729\n", + "2730\n", + "2731\n", + "2732\n", + "2733\n", + "2734\n", + "2735\n", + "2736\n", + "2737\n", + "2738\n", + "2739\n", + "2740\n", + "2741\n", + "2742\n", + "2743\n", + "2744\n", + "2745\n", + "2746\n", + "2747\n", + "2748\n", + "2749\n", + "2750\n", + "2751\n", + "2752\n", + "2753\n", + "2754\n", + "2755\n", + "2756\n", + "2757\n", + "2758\n", + "2759\n", + "2760\n", + "2761\n", + "2762\n", + "2763\n", + "2764\n", + "2765\n", + "2766\n", + "2767\n", + "2768\n", + "2769\n", + "2770\n", + "2771\n", + "2772\n", + "2773\n", + "2774\n", + "2775\n", + "2776\n", + "2777\n", + "2778\n", + "2779\n", + "2780\n", + "2781\n", + "2782\n", + "2783\n", + "2784\n", + "2785\n", + "2786\n", + "2787\n", + "2788\n", + "2789\n", + "2790\n", + "2791\n", + "2792\n", + "2793\n", + "2794\n", + "2795\n", + "2796\n", + "2797\n", + "2798\n", + "2799\n", + "CALLED\n", + "self.model._steps=2800\n", + " TEST self.model._steps=2800\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "2700 0.6478\n", + "2701 0.6354\n", + "2702 0.6686\n", + "2703 0.6860\n", + "2704 0.6950\n", + "... ...\n", + "2795 0.6406\n", + "2796 0.6630\n", + "2797 0.6570\n", + "2798 0.6592\n", + "2799 0.6754\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_028.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_028.parquet'\n", + "Saving model to output_dir/model_data_028.parquet\n", + "Saving agent to output_dir/agent_data_028.parquet\n", + "2800\n", + "2801\n", + "2802\n", + "2803\n", + "2804\n", + "2805\n", + "2806\n", + "2807\n", + "2808\n", + "2809\n", + "2810\n", + "2811\n", + "2812\n", + "2813\n", + "2814\n", + "2815\n", + "2816\n", + "2817\n", + "2818\n", + "2819\n", + "2820\n", + "2821\n", + "2822\n", + "2823\n", + "2824\n", + "2825\n", + "2826\n", + "2827\n", + "2828\n", + "2829\n", + "2830\n", + "2831\n", + "2832\n", + "2833\n", + "2834\n", + "2835\n", + "2836\n", + "2837\n", + "2838\n", + "2839\n", + "2840\n", + "2841\n", + "2842\n", + "2843\n", + "2844\n", + "2845\n", + "2846\n", + "2847\n", + "2848\n", + "2849\n", + "2850\n", + "2851\n", + "2852\n", + "2853\n", + "2854\n", + "2855\n", + "2856\n", + "2857\n", + "2858\n", + "2859\n", + "2860\n", + "2861\n", + "2862\n", + "2863\n", + "2864\n", + "2865\n", + "2866\n", + "2867\n", + "2868\n", + "2869\n", + "2870\n", + "2871\n", + "2872\n", + "2873\n", + "2874\n", + "2875\n", + "2876\n", + "2877\n", + "2878\n", + "2879\n", + "2880\n", + "2881\n", + "2882\n", + "2883\n", + "2884\n", + "2885\n", + "2886\n", + "2887\n", + "2888\n", + "2889\n", + "2890\n", + "2891\n", + "2892\n", + "2893\n", + "2894\n", + "2895\n", + "2896\n", + "2897\n", + "2898\n", + "2899\n", + "CALLED\n", + "self.model._steps=2900\n", + " TEST self.model._steps=2900\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "2800 0.6906\n", + "2801 0.6980\n", + "2802 0.6872\n", + "2803 0.6568\n", + "2804 0.6436\n", + "... ...\n", + "2895 0.6928\n", + "2896 0.7038\n", + "2897 0.6912\n", + "2898 0.6860\n", + "2899 0.6788\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_029.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_029.parquet'\n", + "Saving model to output_dir/model_data_029.parquet\n", + "Saving agent to output_dir/agent_data_029.parquet\n", + "2900\n", + "2901\n", + "2902\n", + "2903\n", + "2904\n", + "2905\n", + "2906\n", + "2907\n", + "2908\n", + "2909\n", + "2910\n", + "2911\n", + "2912\n", + "2913\n", + "2914\n", + "2915\n", + "2916\n", + "2917\n", + "2918\n", + "2919\n", + "2920\n", + "2921\n", + "2922\n", + "2923\n", + "2924\n", + "2925\n", + "2926\n", + "2927\n", + "2928\n", + "2929\n", + "2930\n", + "2931\n", + "2932\n", + "2933\n", + "2934\n", + "2935\n", + "2936\n", + "2937\n", + "2938\n", + "2939\n", + "2940\n", + "2941\n", + "2942\n", + "2943\n", + "2944\n", + "2945\n", + "2946\n", + "2947\n", + "2948\n", + "2949\n", + "2950\n", + "2951\n", + "2952\n", + "2953\n", + "2954\n", + "2955\n", + "2956\n", + "2957\n", + "2958\n", + "2959\n", + "2960\n", + "2961\n", + "2962\n", + "2963\n", + "2964\n", + "2965\n", + "2966\n", + "2967\n", + "2968\n", + "2969\n", + "2970\n", + "2971\n", + "2972\n", + "2973\n", + "2974\n", + "2975\n", + "2976\n", + "2977\n", + "2978\n", + "2979\n", + "2980\n", + "2981\n", + "2982\n", + "2983\n", + "2984\n", + "2985\n", + "2986\n", + "2987\n", + "2988\n", + "2989\n", + "2990\n", + "2991\n", + "2992\n", + "2993\n", + "2994\n", + "2995\n", + "2996\n", + "2997\n", + "2998\n", + "2999\n", + "CALLED\n", + "self.model._steps=3000\n", + " TEST self.model._steps=3000\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "2900 0.6914\n", + "2901 0.6850\n", + "2902 0.7054\n", + "2903 0.6760\n", + "2904 0.6714\n", + "... ...\n", + "2995 0.6808\n", + "2996 0.6906\n", + "2997 0.7006\n", + "2998 0.7008\n", + "2999 0.6908\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_030.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_030.parquet'\n", + "Saving model to output_dir/model_data_030.parquet\n", + "Saving agent to output_dir/agent_data_030.parquet\n", + "3000\n", + "3001\n", + "3002\n", + "3003\n", + "3004\n", + "3005\n", + "3006\n", + "3007\n", + "3008\n", + "3009\n", + "3010\n", + "3011\n", + "3012\n", + "3013\n", + "3014\n", + "3015\n", + "3016\n", + "3017\n", + "3018\n", + "3019\n", + "3020\n", + "3021\n", + "3022\n", + "3023\n", + "3024\n", + "3025\n", + "3026\n", + "3027\n", + "3028\n", + "3029\n", + "3030\n", + "3031\n", + "3032\n", + "3033\n", + "3034\n", + "3035\n", + "3036\n", + "3037\n", + "3038\n", + "3039\n", + "3040\n", + "3041\n", + "3042\n", + "3043\n", + "3044\n", + "3045\n", + "3046\n", + "3047\n", + "3048\n", + "3049\n", + "3050\n", + "3051\n", + "3052\n", + "3053\n", + "3054\n", + "3055\n", + "3056\n", + "3057\n", + "3058\n", + "3059\n", + "3060\n", + "3061\n", + "3062\n", + "3063\n", + "3064\n", + "3065\n", + "3066\n", + "3067\n", + "3068\n", + "3069\n", + "3070\n", + "3071\n", + "3072\n", + "3073\n", + "3074\n", + "3075\n", + "3076\n", + "3077\n", + "3078\n", + "3079\n", + "3080\n", + "3081\n", + "3082\n", + "3083\n", + "3084\n", + "3085\n", + "3086\n", + "3087\n", + "3088\n", + "3089\n", + "3090\n", + "3091\n", + "3092\n", + "3093\n", + "3094\n", + "3095\n", + "3096\n", + "3097\n", + "3098\n", + "3099\n", + "CALLED\n", + "self.model._steps=3100\n", + " TEST self.model._steps=3100\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "3000 0.6942\n", + "3001 0.6854\n", + "3002 0.6828\n", + "3003 0.6758\n", + "3004 0.6922\n", + "... ...\n", + "3095 0.6512\n", + "3096 0.6520\n", + "3097 0.6322\n", + "3098 0.6354\n", + "3099 0.6106\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_031.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_031.parquet'\n", + "Saving model to output_dir/model_data_031.parquet\n", + "Saving agent to output_dir/agent_data_031.parquet\n", + "3100\n", + "3101\n", + "3102\n", + "3103\n", + "3104\n", + "3105\n", + "3106\n", + "3107\n", + "3108\n", + "3109\n", + "3110\n", + "3111\n", + "3112\n", + "3113\n", + "3114\n", + "3115\n", + "3116\n", + "3117\n", + "3118\n", + "3119\n", + "3120\n", + "3121\n", + "3122\n", + "3123\n", + "3124\n", + "3125\n", + "3126\n", + "3127\n", + "3128\n", + "3129\n", + "3130\n", + "3131\n", + "3132\n", + "3133\n", + "3134\n", + "3135\n", + "3136\n", + "3137\n", + "3138\n", + "3139\n", + "3140\n", + "3141\n", + "3142\n", + "3143\n", + "3144\n", + "3145\n", + "3146\n", + "3147\n", + "3148\n", + "3149\n", + "3150\n", + "3151\n", + "3152\n", + "3153\n", + "3154\n", + "3155\n", + "3156\n", + "3157\n", + "3158\n", + "3159\n", + "3160\n", + "3161\n", + "3162\n", + "3163\n", + "3164\n", + "3165\n", + "3166\n", + "3167\n", + "3168\n", + "3169\n", + "3170\n", + "3171\n", + "3172\n", + "3173\n", + "3174\n", + "3175\n", + "3176\n", + "3177\n", + "3178\n", + "3179\n", + "3180\n", + "3181\n", + "3182\n", + "3183\n", + "3184\n", + "3185\n", + "3186\n", + "3187\n", + "3188\n", + "3189\n", + "3190\n", + "3191\n", + "3192\n", + "3193\n", + "3194\n", + "3195\n", + "3196\n", + "3197\n", + "3198\n", + "3199\n", + "CALLED\n", + "self.model._steps=3200\n", + " TEST self.model._steps=3200\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "3100 0.6394\n", + "3101 0.6518\n", + "3102 0.6254\n", + "3103 0.6022\n", + "3104 0.5750\n", + "... ...\n", + "3195 0.6678\n", + "3196 0.6514\n", + "3197 0.6456\n", + "3198 0.6450\n", + "3199 0.6520\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_032.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_032.parquet'\n", + "Saving model to output_dir/model_data_032.parquet\n", + "Saving agent to output_dir/agent_data_032.parquet\n", + "3200\n", + "3201\n", + "3202\n", + "3203\n", + "3204\n", + "3205\n", + "3206\n", + "3207\n", + "3208\n", + "3209\n", + "3210\n", + "3211\n", + "3212\n", + "3213\n", + "3214\n", + "3215\n", + "3216\n", + "3217\n", + "3218\n", + "3219\n", + "3220\n", + "3221\n", + "3222\n", + "3223\n", + "3224\n", + "3225\n", + "3226\n", + "3227\n", + "3228\n", + "3229\n", + "3230\n", + "3231\n", + "3232\n", + "3233\n", + "3234\n", + "3235\n", + "3236\n", + "3237\n", + "3238\n", + "3239\n", + "3240\n", + "3241\n", + "3242\n", + "3243\n", + "3244\n", + "3245\n", + "3246\n", + "3247\n", + "3248\n", + "3249\n", + "3250\n", + "3251\n", + "3252\n", + "3253\n", + "3254\n", + "3255\n", + "3256\n", + "3257\n", + "3258\n", + "3259\n", + "3260\n", + "3261\n", + "3262\n", + "3263\n", + "3264\n", + "3265\n", + "3266\n", + "3267\n", + "3268\n", + "3269\n", + "3270\n", + "3271\n", + "3272\n", + "3273\n", + "3274\n", + "3275\n", + "3276\n", + "3277\n", + "3278\n", + "3279\n", + "3280\n", + "3281\n", + "3282\n", + "3283\n", + "3284\n", + "3285\n", + "3286\n", + "3287\n", + "3288\n", + "3289\n", + "3290\n", + "3291\n", + "3292\n", + "3293\n", + "3294\n", + "3295\n", + "3296\n", + "3297\n", + "3298\n", + "3299\n", + "CALLED\n", + "self.model._steps=3300\n", + " TEST self.model._steps=3300\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "3200 0.6600\n", + "3201 0.6952\n", + "3202 0.6746\n", + "3203 0.6792\n", + "3204 0.6746\n", + "... ...\n", + "3295 0.6034\n", + "3296 0.6086\n", + "3297 0.6050\n", + "3298 0.6384\n", + "3299 0.6246\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_033.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_033.parquet'\n", + "Saving model to output_dir/model_data_033.parquet\n", + "Saving agent to output_dir/agent_data_033.parquet\n", + "3300\n", + "3301\n", + "3302\n", + "3303\n", + "3304\n", + "3305\n", + "3306\n", + "3307\n", + "3308\n", + "3309\n", + "3310\n", + "3311\n", + "3312\n", + "3313\n", + "3314\n", + "3315\n", + "3316\n", + "3317\n", + "3318\n", + "3319\n", + "3320\n", + "3321\n", + "3322\n", + "3323\n", + "3324\n", + "3325\n", + "3326\n", + "3327\n", + "3328\n", + "3329\n", + "3330\n", + "3331\n", + "3332\n", + "3333\n", + "3334\n", + "3335\n", + "3336\n", + "3337\n", + "3338\n", + "3339\n", + "3340\n", + "3341\n", + "3342\n", + "3343\n", + "3344\n", + "3345\n", + "3346\n", + "3347\n", + "3348\n", + "3349\n", + "3350\n", + "3351\n", + "3352\n", + "3353\n", + "3354\n", + "3355\n", + "3356\n", + "3357\n", + "3358\n", + "3359\n", + "3360\n", + "3361\n", + "3362\n", + "3363\n", + "3364\n", + "3365\n", + "3366\n", + "3367\n", + "3368\n", + "3369\n", + "3370\n", + "3371\n", + "3372\n", + "3373\n", + "3374\n", + "3375\n", + "3376\n", + "3377\n", + "3378\n", + "3379\n", + "3380\n", + "3381\n", + "3382\n", + "3383\n", + "3384\n", + "3385\n", + "3386\n", + "3387\n", + "3388\n", + "3389\n", + "3390\n", + "3391\n", + "3392\n", + "3393\n", + "3394\n", + "3395\n", + "3396\n", + "3397\n", + "3398\n", + "3399\n", + "CALLED\n", + "self.model._steps=3400\n", + " TEST self.model._steps=3400\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "3300 0.6344\n", + "3301 0.6618\n", + "3302 0.6624\n", + "3303 0.6802\n", + "3304 0.6522\n", + "... ...\n", + "3395 0.7030\n", + "3396 0.7020\n", + "3397 0.7192\n", + "3398 0.7042\n", + "3399 0.6716\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_034.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_034.parquet'\n", + "Saving model to output_dir/model_data_034.parquet\n", + "Saving agent to output_dir/agent_data_034.parquet\n", + "3400\n", + "3401\n", + "3402\n", + "3403\n", + "3404\n", + "3405\n", + "3406\n", + "3407\n", + "3408\n", + "3409\n", + "3410\n", + "3411\n", + "3412\n", + "3413\n", + "3414\n", + "3415\n", + "3416\n", + "3417\n", + "3418\n", + "3419\n", + "3420\n", + "3421\n", + "3422\n", + "3423\n", + "3424\n", + "3425\n", + "3426\n", + "3427\n", + "3428\n", + "3429\n", + "3430\n", + "3431\n", + "3432\n", + "3433\n", + "3434\n", + "3435\n", + "3436\n", + "3437\n", + "3438\n", + "3439\n", + "3440\n", + "3441\n", + "3442\n", + "3443\n", + "3444\n", + "3445\n", + "3446\n", + "3447\n", + "3448\n", + "3449\n", + "3450\n", + "3451\n", + "3452\n", + "3453\n", + "3454\n", + "3455\n", + "3456\n", + "3457\n", + "3458\n", + "3459\n", + "3460\n", + "3461\n", + "3462\n", + "3463\n", + "3464\n", + "3465\n", + "3466\n", + "3467\n", + "3468\n", + "3469\n", + "3470\n", + "3471\n", + "3472\n", + "3473\n", + "3474\n", + "3475\n", + "3476\n", + "3477\n", + "3478\n", + "3479\n", + "3480\n", + "3481\n", + "3482\n", + "3483\n", + "3484\n", + "3485\n", + "3486\n", + "3487\n", + "3488\n", + "3489\n", + "3490\n", + "3491\n", + "3492\n", + "3493\n", + "3494\n", + "3495\n", + "3496\n", + "3497\n", + "3498\n", + "3499\n", + "CALLED\n", + "self.model._steps=3500\n", + " TEST self.model._steps=3500\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "3400 0.6644\n", + "3401 0.6556\n", + "3402 0.6176\n", + "3403 0.6558\n", + "3404 0.6584\n", + "... ...\n", + "3495 0.6556\n", + "3496 0.6556\n", + "3497 0.6476\n", + "3498 0.6894\n", + "3499 0.7044\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_035.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_035.parquet'\n", + "Saving model to output_dir/model_data_035.parquet\n", + "Saving agent to output_dir/agent_data_035.parquet\n", + "3500\n", + "3501\n", + "3502\n", + "3503\n", + "3504\n", + "3505\n", + "3506\n", + "3507\n", + "3508\n", + "3509\n", + "3510\n", + "3511\n", + "3512\n", + "3513\n", + "3514\n", + "3515\n", + "3516\n", + "3517\n", + "3518\n", + "3519\n", + "3520\n", + "3521\n", + "3522\n", + "3523\n", + "3524\n", + "3525\n", + "3526\n", + "3527\n", + "3528\n", + "3529\n", + "3530\n", + "3531\n", + "3532\n", + "3533\n", + "3534\n", + "3535\n", + "3536\n", + "3537\n", + "3538\n", + "3539\n", + "3540\n", + "3541\n", + "3542\n", + "3543\n", + "3544\n", + "3545\n", + "3546\n", + "3547\n", + "3548\n", + "3549\n", + "3550\n", + "3551\n", + "3552\n", + "3553\n", + "3554\n", + "3555\n", + "3556\n", + "3557\n", + "3558\n", + "3559\n", + "3560\n", + "3561\n", + "3562\n", + "3563\n", + "3564\n", + "3565\n", + "3566\n", + "3567\n", + "3568\n", + "3569\n", + "3570\n", + "3571\n", + "3572\n", + "3573\n", + "3574\n", + "3575\n", + "3576\n", + "3577\n", + "3578\n", + "3579\n", + "3580\n", + "3581\n", + "3582\n", + "3583\n", + "3584\n", + "3585\n", + "3586\n", + "3587\n", + "3588\n", + "3589\n", + "3590\n", + "3591\n", + "3592\n", + "3593\n", + "3594\n", + "3595\n", + "3596\n", + "3597\n", + "3598\n", + "3599\n", + "CALLED\n", + "self.model._steps=3600\n", + " TEST self.model._steps=3600\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "3500 0.6840\n", + "3501 0.6700\n", + "3502 0.6556\n", + "3503 0.6634\n", + "3504 0.6734\n", + "... ...\n", + "3595 0.6882\n", + "3596 0.6588\n", + "3597 0.6494\n", + "3598 0.6612\n", + "3599 0.6488\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_036.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_036.parquet'\n", + "Saving model to output_dir/model_data_036.parquet\n", + "Saving agent to output_dir/agent_data_036.parquet\n", + "3600\n", + "3601\n", + "3602\n", + "3603\n", + "3604\n", + "3605\n", + "3606\n", + "3607\n", + "3608\n", + "3609\n", + "3610\n", + "3611\n", + "3612\n", + "3613\n", + "3614\n", + "3615\n", + "3616\n", + "3617\n", + "3618\n", + "3619\n", + "3620\n", + "3621\n", + "3622\n", + "3623\n", + "3624\n", + "3625\n", + "3626\n", + "3627\n", + "3628\n", + "3629\n", + "3630\n", + "3631\n", + "3632\n", + "3633\n", + "3634\n", + "3635\n", + "3636\n", + "3637\n", + "3638\n", + "3639\n", + "3640\n", + "3641\n", + "3642\n", + "3643\n", + "3644\n", + "3645\n", + "3646\n", + "3647\n", + "3648\n", + "3649\n", + "3650\n", + "3651\n", + "3652\n", + "3653\n", + "3654\n", + "3655\n", + "3656\n", + "3657\n", + "3658\n", + "3659\n", + "3660\n", + "3661\n", + "3662\n", + "3663\n", + "3664\n", + "3665\n", + "3666\n", + "3667\n", + "3668\n", + "3669\n", + "3670\n", + "3671\n", + "3672\n", + "3673\n", + "3674\n", + "3675\n", + "3676\n", + "3677\n", + "3678\n", + "3679\n", + "3680\n", + "3681\n", + "3682\n", + "3683\n", + "3684\n", + "3685\n", + "3686\n", + "3687\n", + "3688\n", + "3689\n", + "3690\n", + "3691\n", + "3692\n", + "3693\n", + "3694\n", + "3695\n", + "3696\n", + "3697\n", + "3698\n", + "3699\n", + "CALLED\n", + "self.model._steps=3700\n", + " TEST self.model._steps=3700\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "3600 0.6346\n", + "3601 0.6464\n", + "3602 0.6606\n", + "3603 0.6786\n", + "3604 0.6776\n", + "... ...\n", + "3695 0.6574\n", + "3696 0.6392\n", + "3697 0.6462\n", + "3698 0.6488\n", + "3699 0.6564\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_037.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_037.parquet'\n", + "Saving model to output_dir/model_data_037.parquet\n", + "Saving agent to output_dir/agent_data_037.parquet\n", + "3700\n", + "3701\n", + "3702\n", + "3703\n", + "3704\n", + "3705\n", + "3706\n", + "3707\n", + "3708\n", + "3709\n", + "3710\n", + "3711\n", + "3712\n", + "3713\n", + "3714\n", + "3715\n", + "3716\n", + "3717\n", + "3718\n", + "3719\n", + "3720\n", + "3721\n", + "3722\n", + "3723\n", + "3724\n", + "3725\n", + "3726\n", + "3727\n", + "3728\n", + "3729\n", + "3730\n", + "3731\n", + "3732\n", + "3733\n", + "3734\n", + "3735\n", + "3736\n", + "3737\n", + "3738\n", + "3739\n", + "3740\n", + "3741\n", + "3742\n", + "3743\n", + "3744\n", + "3745\n", + "3746\n", + "3747\n", + "3748\n", + "3749\n", + "3750\n", + "3751\n", + "3752\n", + "3753\n", + "3754\n", + "3755\n", + "3756\n", + "3757\n", + "3758\n", + "3759\n", + "3760\n", + "3761\n", + "3762\n", + "3763\n", + "3764\n", + "3765\n", + "3766\n", + "3767\n", + "3768\n", + "3769\n", + "3770\n", + "3771\n", + "3772\n", + "3773\n", + "3774\n", + "3775\n", + "3776\n", + "3777\n", + "3778\n", + "3779\n", + "3780\n", + "3781\n", + "3782\n", + "3783\n", + "3784\n", + "3785\n", + "3786\n", + "3787\n", + "3788\n", + "3789\n", + "3790\n", + "3791\n", + "3792\n", + "3793\n", + "3794\n", + "3795\n", + "3796\n", + "3797\n", + "3798\n", + "3799\n", + "CALLED\n", + "self.model._steps=3800\n", + " TEST self.model._steps=3800\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "3700 0.6678\n", + "3701 0.6698\n", + "3702 0.6574\n", + "3703 0.6756\n", + "3704 0.6732\n", + "... ...\n", + "3795 0.6104\n", + "3796 0.6070\n", + "3797 0.6162\n", + "3798 0.6340\n", + "3799 0.6198\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_038.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_038.parquet'\n", + "Saving model to output_dir/model_data_038.parquet\n", + "Saving agent to output_dir/agent_data_038.parquet\n", + "3800\n", + "3801\n", + "3802\n", + "3803\n", + "3804\n", + "3805\n", + "3806\n", + "3807\n", + "3808\n", + "3809\n", + "3810\n", + "3811\n", + "3812\n", + "3813\n", + "3814\n", + "3815\n", + "3816\n", + "3817\n", + "3818\n", + "3819\n", + "3820\n", + "3821\n", + "3822\n", + "3823\n", + "3824\n", + "3825\n", + "3826\n", + "3827\n", + "3828\n", + "3829\n", + "3830\n", + "3831\n", + "3832\n", + "3833\n", + "3834\n", + "3835\n", + "3836\n", + "3837\n", + "3838\n", + "3839\n", + "3840\n", + "3841\n", + "3842\n", + "3843\n", + "3844\n", + "3845\n", + "3846\n", + "3847\n", + "3848\n", + "3849\n", + "3850\n", + "3851\n", + "3852\n", + "3853\n", + "3854\n", + "3855\n", + "3856\n", + "3857\n", + "3858\n", + "3859\n", + "3860\n", + "3861\n", + "3862\n", + "3863\n", + "3864\n", + "3865\n", + "3866\n", + "3867\n", + "3868\n", + "3869\n", + "3870\n", + "3871\n", + "3872\n", + "3873\n", + "3874\n", + "3875\n", + "3876\n", + "3877\n", + "3878\n", + "3879\n", + "3880\n", + "3881\n", + "3882\n", + "3883\n", + "3884\n", + "3885\n", + "3886\n", + "3887\n", + "3888\n", + "3889\n", + "3890\n", + "3891\n", + "3892\n", + "3893\n", + "3894\n", + "3895\n", + "3896\n", + "3897\n", + "3898\n", + "3899\n", + "CALLED\n", + "self.model._steps=3900\n", + " TEST self.model._steps=3900\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "3800 0.6248\n", + "3801 0.6336\n", + "3802 0.6418\n", + "3803 0.6578\n", + "3804 0.6586\n", + "... ...\n", + "3895 0.6710\n", + "3896 0.6606\n", + "3897 0.6676\n", + "3898 0.6784\n", + "3899 0.6920\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_039.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_039.parquet'\n", + "Saving model to output_dir/model_data_039.parquet\n", + "Saving agent to output_dir/agent_data_039.parquet\n", + "3900\n", + "3901\n", + "3902\n", + "3903\n", + "3904\n", + "3905\n", + "3906\n", + "3907\n", + "3908\n", + "3909\n", + "3910\n", + "3911\n", + "3912\n", + "3913\n", + "3914\n", + "3915\n", + "3916\n", + "3917\n", + "3918\n", + "3919\n", + "3920\n", + "3921\n", + "3922\n", + "3923\n", + "3924\n", + "3925\n", + "3926\n", + "3927\n", + "3928\n", + "3929\n", + "3930\n", + "3931\n", + "3932\n", + "3933\n", + "3934\n", + "3935\n", + "3936\n", + "3937\n", + "3938\n", + "3939\n", + "3940\n", + "3941\n", + "3942\n", + "3943\n", + "3944\n", + "3945\n", + "3946\n", + "3947\n", + "3948\n", + "3949\n", + "3950\n", + "3951\n", + "3952\n", + "3953\n", + "3954\n", + "3955\n", + "3956\n", + "3957\n", + "3958\n", + "3959\n", + "3960\n", + "3961\n", + "3962\n", + "3963\n", + "3964\n", + "3965\n", + "3966\n", + "3967\n", + "3968\n", + "3969\n", + "3970\n", + "3971\n", + "3972\n", + "3973\n", + "3974\n", + "3975\n", + "3976\n", + "3977\n", + "3978\n", + "3979\n", + "3980\n", + "3981\n", + "3982\n", + "3983\n", + "3984\n", + "3985\n", + "3986\n", + "3987\n", + "3988\n", + "3989\n", + "3990\n", + "3991\n", + "3992\n", + "3993\n", + "3994\n", + "3995\n", + "3996\n", + "3997\n", + "3998\n", + "3999\n", + "CALLED\n", + "self.model._steps=4000\n", + " TEST self.model._steps=4000\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "3900 0.6756\n", + "3901 0.6754\n", + "3902 0.6668\n", + "3903 0.6708\n", + "3904 0.6940\n", + "... ...\n", + "3995 0.6720\n", + "3996 0.6460\n", + "3997 0.6556\n", + "3998 0.6400\n", + "3999 0.6360\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_040.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_040.parquet'\n", + "Saving model to output_dir/model_data_040.parquet\n", + "Saving agent to output_dir/agent_data_040.parquet\n", + "4000\n", + "4001\n", + "4002\n", + "4003\n", + "4004\n", + "4005\n", + "4006\n", + "4007\n", + "4008\n", + "4009\n", + "4010\n", + "4011\n", + "4012\n", + "4013\n", + "4014\n", + "4015\n", + "4016\n", + "4017\n", + "4018\n", + "4019\n", + "4020\n", + "4021\n", + "4022\n", + "4023\n", + "4024\n", + "4025\n", + "4026\n", + "4027\n", + "4028\n", + "4029\n", + "4030\n", + "4031\n", + "4032\n", + "4033\n", + "4034\n", + "4035\n", + "4036\n", + "4037\n", + "4038\n", + "4039\n", + "4040\n", + "4041\n", + "4042\n", + "4043\n", + "4044\n", + "4045\n", + "4046\n", + "4047\n", + "4048\n", + "4049\n", + "4050\n", + "4051\n", + "4052\n", + "4053\n", + "4054\n", + "4055\n", + "4056\n", + "4057\n", + "4058\n", + "4059\n", + "4060\n", + "4061\n", + "4062\n", + "4063\n", + "4064\n", + "4065\n", + "4066\n", + "4067\n", + "4068\n", + "4069\n", + "4070\n", + "4071\n", + "4072\n", + "4073\n", + "4074\n", + "4075\n", + "4076\n", + "4077\n", + "4078\n", + "4079\n", + "4080\n", + "4081\n", + "4082\n", + "4083\n", + "4084\n", + "4085\n", + "4086\n", + "4087\n", + "4088\n", + "4089\n", + "4090\n", + "4091\n", + "4092\n", + "4093\n", + "4094\n", + "4095\n", + "4096\n", + "4097\n", + "4098\n", + "4099\n", + "CALLED\n", + "self.model._steps=4100\n", + " TEST self.model._steps=4100\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "4000 0.5930\n", + "4001 0.5802\n", + "4002 0.5750\n", + "4003 0.6004\n", + "4004 0.5798\n", + "... ...\n", + "4095 0.6906\n", + "4096 0.6782\n", + "4097 0.6606\n", + "4098 0.6482\n", + "4099 0.6362\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_041.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_041.parquet'\n", + "Saving model to output_dir/model_data_041.parquet\n", + "Saving agent to output_dir/agent_data_041.parquet\n", + "4100\n", + "4101\n", + "4102\n", + "4103\n", + "4104\n", + "4105\n", + "4106\n", + "4107\n", + "4108\n", + "4109\n", + "4110\n", + "4111\n", + "4112\n", + "4113\n", + "4114\n", + "4115\n", + "4116\n", + "4117\n", + "4118\n", + "4119\n", + "4120\n", + "4121\n", + "4122\n", + "4123\n", + "4124\n", + "4125\n", + "4126\n", + "4127\n", + "4128\n", + "4129\n", + "4130\n", + "4131\n", + "4132\n", + "4133\n", + "4134\n", + "4135\n", + "4136\n", + "4137\n", + "4138\n", + "4139\n", + "4140\n", + "4141\n", + "4142\n", + "4143\n", + "4144\n", + "4145\n", + "4146\n", + "4147\n", + "4148\n", + "4149\n", + "4150\n", + "4151\n", + "4152\n", + "4153\n", + "4154\n", + "4155\n", + "4156\n", + "4157\n", + "4158\n", + "4159\n", + "4160\n", + "4161\n", + "4162\n", + "4163\n", + "4164\n", + "4165\n", + "4166\n", + "4167\n", + "4168\n", + "4169\n", + "4170\n", + "4171\n", + "4172\n", + "4173\n", + "4174\n", + "4175\n", + "4176\n", + "4177\n", + "4178\n", + "4179\n", + "4180\n", + "4181\n", + "4182\n", + "4183\n", + "4184\n", + "4185\n", + "4186\n", + "4187\n", + "4188\n", + "4189\n", + "4190\n", + "4191\n", + "4192\n", + "4193\n", + "4194\n", + "4195\n", + "4196\n", + "4197\n", + "4198\n", + "4199\n", + "CALLED\n", + "self.model._steps=4200\n", + " TEST self.model._steps=4200\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "4100 0.6638\n", + "4101 0.6520\n", + "4102 0.6346\n", + "4103 0.6352\n", + "4104 0.6618\n", + "... ...\n", + "4195 0.6758\n", + "4196 0.7008\n", + "4197 0.6850\n", + "4198 0.6952\n", + "4199 0.6928\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_042.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_042.parquet'\n", + "Saving model to output_dir/model_data_042.parquet\n", + "Saving agent to output_dir/agent_data_042.parquet\n", + "4200\n", + "4201\n", + "4202\n", + "4203\n", + "4204\n", + "4205\n", + "4206\n", + "4207\n", + "4208\n", + "4209\n", + "4210\n", + "4211\n", + "4212\n", + "4213\n", + "4214\n", + "4215\n", + "4216\n", + "4217\n", + "4218\n", + "4219\n", + "4220\n", + "4221\n", + "4222\n", + "4223\n", + "4224\n", + "4225\n", + "4226\n", + "4227\n", + "4228\n", + "4229\n", + "4230\n", + "4231\n", + "4232\n", + "4233\n", + "4234\n", + "4235\n", + "4236\n", + "4237\n", + "4238\n", + "4239\n", + "4240\n", + "4241\n", + "4242\n", + "4243\n", + "4244\n", + "4245\n", + "4246\n", + "4247\n", + "4248\n", + "4249\n", + "4250\n", + "4251\n", + "4252\n", + "4253\n", + "4254\n", + "4255\n", + "4256\n", + "4257\n", + "4258\n", + "4259\n", + "4260\n", + "4261\n", + "4262\n", + "4263\n", + "4264\n", + "4265\n", + "4266\n", + "4267\n", + "4268\n", + "4269\n", + "4270\n", + "4271\n", + "4272\n", + "4273\n", + "4274\n", + "4275\n", + "4276\n", + "4277\n", + "4278\n", + "4279\n", + "4280\n", + "4281\n", + "4282\n", + "4283\n", + "4284\n", + "4285\n", + "4286\n", + "4287\n", + "4288\n", + "4289\n", + "4290\n", + "4291\n", + "4292\n", + "4293\n", + "4294\n", + "4295\n", + "4296\n", + "4297\n", + "4298\n", + "4299\n", + "CALLED\n", + "self.model._steps=4300\n", + " TEST self.model._steps=4300\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "4200 0.7056\n", + "4201 0.7012\n", + "4202 0.6968\n", + "4203 0.6604\n", + "4204 0.6212\n", + "... ...\n", + "4295 0.6988\n", + "4296 0.6814\n", + "4297 0.6724\n", + "4298 0.6732\n", + "4299 0.6884\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_043.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_043.parquet'\n", + "Saving model to output_dir/model_data_043.parquet\n", + "Saving agent to output_dir/agent_data_043.parquet\n", + "4300\n", + "4301\n", + "4302\n", + "4303\n", + "4304\n", + "4305\n", + "4306\n", + "4307\n", + "4308\n", + "4309\n", + "4310\n", + "4311\n", + "4312\n", + "4313\n", + "4314\n", + "4315\n", + "4316\n", + "4317\n", + "4318\n", + "4319\n", + "4320\n", + "4321\n", + "4322\n", + "4323\n", + "4324\n", + "4325\n", + "4326\n", + "4327\n", + "4328\n", + "4329\n", + "4330\n", + "4331\n", + "4332\n", + "4333\n", + "4334\n", + "4335\n", + "4336\n", + "4337\n", + "4338\n", + "4339\n", + "4340\n", + "4341\n", + "4342\n", + "4343\n", + "4344\n", + "4345\n", + "4346\n", + "4347\n", + "4348\n", + "4349\n", + "4350\n", + "4351\n", + "4352\n", + "4353\n", + "4354\n", + "4355\n", + "4356\n", + "4357\n", + "4358\n", + "4359\n", + "4360\n", + "4361\n", + "4362\n", + "4363\n", + "4364\n", + "4365\n", + "4366\n", + "4367\n", + "4368\n", + "4369\n", + "4370\n", + "4371\n", + "4372\n", + "4373\n", + "4374\n", + "4375\n", + "4376\n", + "4377\n", + "4378\n", + "4379\n", + "4380\n", + "4381\n", + "4382\n", + "4383\n", + "4384\n", + "4385\n", + "4386\n", + "4387\n", + "4388\n", + "4389\n", + "4390\n", + "4391\n", + "4392\n", + "4393\n", + "4394\n", + "4395\n", + "4396\n", + "4397\n", + "4398\n", + "4399\n", + "CALLED\n", + "self.model._steps=4400\n", + " TEST self.model._steps=4400\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "4300 0.6724\n", + "4301 0.6880\n", + "4302 0.6988\n", + "4303 0.6800\n", + "4304 0.6872\n", + "... ...\n", + "4395 0.7256\n", + "4396 0.7320\n", + "4397 0.7132\n", + "4398 0.7356\n", + "4399 0.7414\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_044.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_044.parquet'\n", + "Saving model to output_dir/model_data_044.parquet\n", + "Saving agent to output_dir/agent_data_044.parquet\n", + "4400\n", + "4401\n", + "4402\n", + "4403\n", + "4404\n", + "4405\n", + "4406\n", + "4407\n", + "4408\n", + "4409\n", + "4410\n", + "4411\n", + "4412\n", + "4413\n", + "4414\n", + "4415\n", + "4416\n", + "4417\n", + "4418\n", + "4419\n", + "4420\n", + "4421\n", + "4422\n", + "4423\n", + "4424\n", + "4425\n", + "4426\n", + "4427\n", + "4428\n", + "4429\n", + "4430\n", + "4431\n", + "4432\n", + "4433\n", + "4434\n", + "4435\n", + "4436\n", + "4437\n", + "4438\n", + "4439\n", + "4440\n", + "4441\n", + "4442\n", + "4443\n", + "4444\n", + "4445\n", + "4446\n", + "4447\n", + "4448\n", + "4449\n", + "4450\n", + "4451\n", + "4452\n", + "4453\n", + "4454\n", + "4455\n", + "4456\n", + "4457\n", + "4458\n", + "4459\n", + "4460\n", + "4461\n", + "4462\n", + "4463\n", + "4464\n", + "4465\n", + "4466\n", + "4467\n", + "4468\n", + "4469\n", + "4470\n", + "4471\n", + "4472\n", + "4473\n", + "4474\n", + "4475\n", + "4476\n", + "4477\n", + "4478\n", + "4479\n", + "4480\n", + "4481\n", + "4482\n", + "4483\n", + "4484\n", + "4485\n", + "4486\n", + "4487\n", + "4488\n", + "4489\n", + "4490\n", + "4491\n", + "4492\n", + "4493\n", + "4494\n", + "4495\n", + "4496\n", + "4497\n", + "4498\n", + "4499\n", + "CALLED\n", + "self.model._steps=4500\n", + " TEST self.model._steps=4500\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "4400 0.7330\n", + "4401 0.7446\n", + "4402 0.7126\n", + "4403 0.7188\n", + "4404 0.7308\n", + "... ...\n", + "4495 0.6998\n", + "4496 0.6968\n", + "4497 0.6790\n", + "4498 0.6564\n", + "4499 0.6662\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_045.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_045.parquet'\n", + "Saving model to output_dir/model_data_045.parquet\n", + "Saving agent to output_dir/agent_data_045.parquet\n", + "4500\n", + "4501\n", + "4502\n", + "4503\n", + "4504\n", + "4505\n", + "4506\n", + "4507\n", + "4508\n", + "4509\n", + "4510\n", + "4511\n", + "4512\n", + "4513\n", + "4514\n", + "4515\n", + "4516\n", + "4517\n", + "4518\n", + "4519\n", + "4520\n", + "4521\n", + "4522\n", + "4523\n", + "4524\n", + "4525\n", + "4526\n", + "4527\n", + "4528\n", + "4529\n", + "4530\n", + "4531\n", + "4532\n", + "4533\n", + "4534\n", + "4535\n", + "4536\n", + "4537\n", + "4538\n", + "4539\n", + "4540\n", + "4541\n", + "4542\n", + "4543\n", + "4544\n", + "4545\n", + "4546\n", + "4547\n", + "4548\n", + "4549\n", + "4550\n", + "4551\n", + "4552\n", + "4553\n", + "4554\n", + "4555\n", + "4556\n", + "4557\n", + "4558\n", + "4559\n", + "4560\n", + "4561\n", + "4562\n", + "4563\n", + "4564\n", + "4565\n", + "4566\n", + "4567\n", + "4568\n", + "4569\n", + "4570\n", + "4571\n", + "4572\n", + "4573\n", + "4574\n", + "4575\n", + "4576\n", + "4577\n", + "4578\n", + "4579\n", + "4580\n", + "4581\n", + "4582\n", + "4583\n", + "4584\n", + "4585\n", + "4586\n", + "4587\n", + "4588\n", + "4589\n", + "4590\n", + "4591\n", + "4592\n", + "4593\n", + "4594\n", + "4595\n", + "4596\n", + "4597\n", + "4598\n", + "4599\n", + "CALLED\n", + "self.model._steps=4600\n", + " TEST self.model._steps=4600\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "4500 0.6500\n", + "4501 0.6568\n", + "4502 0.6662\n", + "4503 0.6720\n", + "4504 0.6622\n", + "... ...\n", + "4595 0.7024\n", + "4596 0.6896\n", + "4597 0.7136\n", + "4598 0.7180\n", + "4599 0.7112\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_046.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_046.parquet'\n", + "Saving model to output_dir/model_data_046.parquet\n", + "Saving agent to output_dir/agent_data_046.parquet\n", + "4600\n", + "4601\n", + "4602\n", + "4603\n", + "4604\n", + "4605\n", + "4606\n", + "4607\n", + "4608\n", + "4609\n", + "4610\n", + "4611\n", + "4612\n", + "4613\n", + "4614\n", + "4615\n", + "4616\n", + "4617\n", + "4618\n", + "4619\n", + "4620\n", + "4621\n", + "4622\n", + "4623\n", + "4624\n", + "4625\n", + "4626\n", + "4627\n", + "4628\n", + "4629\n", + "4630\n", + "4631\n", + "4632\n", + "4633\n", + "4634\n", + "4635\n", + "4636\n", + "4637\n", + "4638\n", + "4639\n", + "4640\n", + "4641\n", + "4642\n", + "4643\n", + "4644\n", + "4645\n", + "4646\n", + "4647\n", + "4648\n", + "4649\n", + "4650\n", + "4651\n", + "4652\n", + "4653\n", + "4654\n", + "4655\n", + "4656\n", + "4657\n", + "4658\n", + "4659\n", + "4660\n", + "4661\n", + "4662\n", + "4663\n", + "4664\n", + "4665\n", + "4666\n", + "4667\n", + "4668\n", + "4669\n", + "4670\n", + "4671\n", + "4672\n", + "4673\n", + "4674\n", + "4675\n", + "4676\n", + "4677\n", + "4678\n", + "4679\n", + "4680\n", + "4681\n", + "4682\n", + "4683\n", + "4684\n", + "4685\n", + "4686\n", + "4687\n", + "4688\n", + "4689\n", + "4690\n", + "4691\n", + "4692\n", + "4693\n", + "4694\n", + "4695\n", + "4696\n", + "4697\n", + "4698\n", + "4699\n", + "CALLED\n", + "self.model._steps=4700\n", + " TEST self.model._steps=4700\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "4600 0.6964\n", + "4601 0.6790\n", + "4602 0.6760\n", + "4603 0.6958\n", + "4604 0.6650\n", + "... ...\n", + "4695 0.6366\n", + "4696 0.6312\n", + "4697 0.6948\n", + "4698 0.6788\n", + "4699 0.6832\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_047.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_047.parquet'\n", + "Saving model to output_dir/model_data_047.parquet\n", + "Saving agent to output_dir/agent_data_047.parquet\n", + "4700\n", + "4701\n", + "4702\n", + "4703\n", + "4704\n", + "4705\n", + "4706\n", + "4707\n", + "4708\n", + "4709\n", + "4710\n", + "4711\n", + "4712\n", + "4713\n", + "4714\n", + "4715\n", + "4716\n", + "4717\n", + "4718\n", + "4719\n", + "4720\n", + "4721\n", + "4722\n", + "4723\n", + "4724\n", + "4725\n", + "4726\n", + "4727\n", + "4728\n", + "4729\n", + "4730\n", + "4731\n", + "4732\n", + "4733\n", + "4734\n", + "4735\n", + "4736\n", + "4737\n", + "4738\n", + "4739\n", + "4740\n", + "4741\n", + "4742\n", + "4743\n", + "4744\n", + "4745\n", + "4746\n", + "4747\n", + "4748\n", + "4749\n", + "4750\n", + "4751\n", + "4752\n", + "4753\n", + "4754\n", + "4755\n", + "4756\n", + "4757\n", + "4758\n", + "4759\n", + "4760\n", + "4761\n", + "4762\n", + "4763\n", + "4764\n", + "4765\n", + "4766\n", + "4767\n", + "4768\n", + "4769\n", + "4770\n", + "4771\n", + "4772\n", + "4773\n", + "4774\n", + "4775\n", + "4776\n", + "4777\n", + "4778\n", + "4779\n", + "4780\n", + "4781\n", + "4782\n", + "4783\n", + "4784\n", + "4785\n", + "4786\n", + "4787\n", + "4788\n", + "4789\n", + "4790\n", + "4791\n", + "4792\n", + "4793\n", + "4794\n", + "4795\n", + "4796\n", + "4797\n", + "4798\n", + "4799\n", + "CALLED\n", + "self.model._steps=4800\n", + " TEST self.model._steps=4800\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "4700 0.6968\n", + "4701 0.7030\n", + "4702 0.7016\n", + "4703 0.7108\n", + "4704 0.7126\n", + "... ...\n", + "4795 0.6664\n", + "4796 0.6556\n", + "4797 0.6322\n", + "4798 0.6430\n", + "4799 0.6480\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_048.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_048.parquet'\n", + "Saving model to output_dir/model_data_048.parquet\n", + "Saving agent to output_dir/agent_data_048.parquet\n", + "4800\n", + "4801\n", + "4802\n", + "4803\n", + "4804\n", + "4805\n", + "4806\n", + "4807\n", + "4808\n", + "4809\n", + "4810\n", + "4811\n", + "4812\n", + "4813\n", + "4814\n", + "4815\n", + "4816\n", + "4817\n", + "4818\n", + "4819\n", + "4820\n", + "4821\n", + "4822\n", + "4823\n", + "4824\n", + "4825\n", + "4826\n", + "4827\n", + "4828\n", + "4829\n", + "4830\n", + "4831\n", + "4832\n", + "4833\n", + "4834\n", + "4835\n", + "4836\n", + "4837\n", + "4838\n", + "4839\n", + "4840\n", + "4841\n", + "4842\n", + "4843\n", + "4844\n", + "4845\n", + "4846\n", + "4847\n", + "4848\n", + "4849\n", + "4850\n", + "4851\n", + "4852\n", + "4853\n", + "4854\n", + "4855\n", + "4856\n", + "4857\n", + "4858\n", + "4859\n", + "4860\n", + "4861\n", + "4862\n", + "4863\n", + "4864\n", + "4865\n", + "4866\n", + "4867\n", + "4868\n", + "4869\n", + "4870\n", + "4871\n", + "4872\n", + "4873\n", + "4874\n", + "4875\n", + "4876\n", + "4877\n", + "4878\n", + "4879\n", + "4880\n", + "4881\n", + "4882\n", + "4883\n", + "4884\n", + "4885\n", + "4886\n", + "4887\n", + "4888\n", + "4889\n", + "4890\n", + "4891\n", + "4892\n", + "4893\n", + "4894\n", + "4895\n", + "4896\n", + "4897\n", + "4898\n", + "4899\n", + "CALLED\n", + "self.model._steps=4900\n", + " TEST self.model._steps=4900\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "4800 0.6212\n", + "4801 0.6648\n", + "4802 0.6418\n", + "4803 0.6202\n", + "4804 0.6282\n", + "... ...\n", + "4895 0.6880\n", + "4896 0.6904\n", + "4897 0.6694\n", + "4898 0.6674\n", + "4899 0.6632\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_049.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_049.parquet'\n", + "Saving model to output_dir/model_data_049.parquet\n", + "Saving agent to output_dir/agent_data_049.parquet\n", + "4900\n", + "4901\n", + "4902\n", + "4903\n", + "4904\n", + "4905\n", + "4906\n", + "4907\n", + "4908\n", + "4909\n", + "4910\n", + "4911\n", + "4912\n", + "4913\n", + "4914\n", + "4915\n", + "4916\n", + "4917\n", + "4918\n", + "4919\n", + "4920\n", + "4921\n", + "4922\n", + "4923\n", + "4924\n", + "4925\n", + "4926\n", + "4927\n", + "4928\n", + "4929\n", + "4930\n", + "4931\n", + "4932\n", + "4933\n", + "4934\n", + "4935\n", + "4936\n", + "4937\n", + "4938\n", + "4939\n", + "4940\n", + "4941\n", + "4942\n", + "4943\n", + "4944\n", + "4945\n", + "4946\n", + "4947\n", + "4948\n", + "4949\n", + "4950\n", + "4951\n", + "4952\n", + "4953\n", + "4954\n", + "4955\n", + "4956\n", + "4957\n", + "4958\n", + "4959\n", + "4960\n", + "4961\n", + "4962\n", + "4963\n", + "4964\n", + "4965\n", + "4966\n", + "4967\n", + "4968\n", + "4969\n", + "4970\n", + "4971\n", + "4972\n", + "4973\n", + "4974\n", + "4975\n", + "4976\n", + "4977\n", + "4978\n", + "4979\n", + "4980\n", + "4981\n", + "4982\n", + "4983\n", + "4984\n", + "4985\n", + "4986\n", + "4987\n", + "4988\n", + "4989\n", + "4990\n", + "4991\n", + "4992\n", + "4993\n", + "4994\n", + "4995\n", + "4996\n", + "4997\n", + "4998\n", + "4999\n", + "CALLED\n", + "self.model._steps=5000\n", + " TEST self.model._steps=5000\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "4900 0.6716\n", + "4901 0.6754\n", + "4902 0.6870\n", + "4903 0.6812\n", + "4904 0.6874\n", + "... ...\n", + "4995 0.6382\n", + "4996 0.6416\n", + "4997 0.6322\n", + "4998 0.6220\n", + "4999 0.6396\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_050.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_050.parquet'\n", + "Saving model to output_dir/model_data_050.parquet\n", + "Saving agent to output_dir/agent_data_050.parquet\n", + "5000\n", + "5001\n", + "5002\n", + "5003\n", + "5004\n", + "5005\n", + "5006\n", + "5007\n", + "5008\n", + "5009\n", + "5010\n", + "5011\n", + "5012\n", + "5013\n", + "5014\n", + "5015\n", + "5016\n", + "5017\n", + "5018\n", + "5019\n", + "5020\n", + "5021\n", + "5022\n", + "5023\n", + "5024\n", + "5025\n", + "5026\n", + "5027\n", + "5028\n", + "5029\n", + "5030\n", + "5031\n", + "5032\n", + "5033\n", + "5034\n", + "5035\n", + "5036\n", + "5037\n", + "5038\n", + "5039\n", + "5040\n", + "5041\n", + "5042\n", + "5043\n", + "5044\n", + "5045\n", + "5046\n", + "5047\n", + "5048\n", + "5049\n", + "5050\n", + "5051\n", + "5052\n", + "5053\n", + "5054\n", + "5055\n", + "5056\n", + "5057\n", + "5058\n", + "5059\n", + "5060\n", + "5061\n", + "5062\n", + "5063\n", + "5064\n", + "5065\n", + "5066\n", + "5067\n", + "5068\n", + "5069\n", + "5070\n", + "5071\n", + "5072\n", + "5073\n", + "5074\n", + "5075\n", + "5076\n", + "5077\n", + "5078\n", + "5079\n", + "5080\n", + "5081\n", + "5082\n", + "5083\n", + "5084\n", + "5085\n", + "5086\n", + "5087\n", + "5088\n", + "5089\n", + "5090\n", + "5091\n", + "5092\n", + "5093\n", + "5094\n", + "5095\n", + "5096\n", + "5097\n", + "5098\n", + "5099\n", + "CALLED\n", + "self.model._steps=5100\n", + " TEST self.model._steps=5100\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "5000 0.6246\n", + "5001 0.6210\n", + "5002 0.6736\n", + "5003 0.6626\n", + "5004 0.6456\n", + "... ...\n", + "5095 0.6524\n", + "5096 0.6610\n", + "5097 0.6748\n", + "5098 0.6804\n", + "5099 0.6846\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_051.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_051.parquet'\n", + "Saving model to output_dir/model_data_051.parquet\n", + "Saving agent to output_dir/agent_data_051.parquet\n", + "5100\n", + "5101\n", + "5102\n", + "5103\n", + "5104\n", + "5105\n", + "5106\n", + "5107\n", + "5108\n", + "5109\n", + "5110\n", + "5111\n", + "5112\n", + "5113\n", + "5114\n", + "5115\n", + "5116\n", + "5117\n", + "5118\n", + "5119\n", + "5120\n", + "5121\n", + "5122\n", + "5123\n", + "5124\n", + "5125\n", + "5126\n", + "5127\n", + "5128\n", + "5129\n", + "5130\n", + "5131\n", + "5132\n", + "5133\n", + "5134\n", + "5135\n", + "5136\n", + "5137\n", + "5138\n", + "5139\n", + "5140\n", + "5141\n", + "5142\n", + "5143\n", + "5144\n", + "5145\n", + "5146\n", + "5147\n", + "5148\n", + "5149\n", + "5150\n", + "5151\n", + "5152\n", + "5153\n", + "5154\n", + "5155\n", + "5156\n", + "5157\n", + "5158\n", + "5159\n", + "5160\n", + "5161\n", + "5162\n", + "5163\n", + "5164\n", + "5165\n", + "5166\n", + "5167\n", + "5168\n", + "5169\n", + "5170\n", + "5171\n", + "5172\n", + "5173\n", + "5174\n", + "5175\n", + "5176\n", + "5177\n", + "5178\n", + "5179\n", + "5180\n", + "5181\n", + "5182\n", + "5183\n", + "5184\n", + "5185\n", + "5186\n", + "5187\n", + "5188\n", + "5189\n", + "5190\n", + "5191\n", + "5192\n", + "5193\n", + "5194\n", + "5195\n", + "5196\n", + "5197\n", + "5198\n", + "5199\n", + "CALLED\n", + "self.model._steps=5200\n", + " TEST self.model._steps=5200\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "5100 0.6938\n", + "5101 0.6982\n", + "5102 0.7010\n", + "5103 0.6944\n", + "5104 0.6960\n", + "... ...\n", + "5195 0.6748\n", + "5196 0.7096\n", + "5197 0.7074\n", + "5198 0.6946\n", + "5199 0.6784\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_052.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_052.parquet'\n", + "Saving model to output_dir/model_data_052.parquet\n", + "Saving agent to output_dir/agent_data_052.parquet\n", + "5200\n", + "5201\n", + "5202\n", + "5203\n", + "5204\n", + "5205\n", + "5206\n", + "5207\n", + "5208\n", + "5209\n", + "5210\n", + "5211\n", + "5212\n", + "5213\n", + "5214\n", + "5215\n", + "5216\n", + "5217\n", + "5218\n", + "5219\n", + "5220\n", + "5221\n", + "5222\n", + "5223\n", + "5224\n", + "5225\n", + "5226\n", + "5227\n", + "5228\n", + "5229\n", + "5230\n", + "5231\n", + "5232\n", + "5233\n", + "5234\n", + "5235\n", + "5236\n", + "5237\n", + "5238\n", + "5239\n", + "5240\n", + "5241\n", + "5242\n", + "5243\n", + "5244\n", + "5245\n", + "5246\n", + "5247\n", + "5248\n", + "5249\n", + "5250\n", + "5251\n", + "5252\n", + "5253\n", + "5254\n", + "5255\n", + "5256\n", + "5257\n", + "5258\n", + "5259\n", + "5260\n", + "5261\n", + "5262\n", + "5263\n", + "5264\n", + "5265\n", + "5266\n", + "5267\n", + "5268\n", + "5269\n", + "5270\n", + "5271\n", + "5272\n", + "5273\n", + "5274\n", + "5275\n", + "5276\n", + "5277\n", + "5278\n", + "5279\n", + "5280\n", + "5281\n", + "5282\n", + "5283\n", + "5284\n", + "5285\n", + "5286\n", + "5287\n", + "5288\n", + "5289\n", + "5290\n", + "5291\n", + "5292\n", + "5293\n", + "5294\n", + "5295\n", + "5296\n", + "5297\n", + "5298\n", + "5299\n", + "CALLED\n", + "self.model._steps=5300\n", + " TEST self.model._steps=5300\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "5200 0.6756\n", + "5201 0.6502\n", + "5202 0.6784\n", + "5203 0.6718\n", + "5204 0.6522\n", + "... ...\n", + "5295 0.6344\n", + "5296 0.6598\n", + "5297 0.6662\n", + "5298 0.6868\n", + "5299 0.6816\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_053.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_053.parquet'\n", + "Saving model to output_dir/model_data_053.parquet\n", + "Saving agent to output_dir/agent_data_053.parquet\n", + "5300\n", + "5301\n", + "5302\n", + "5303\n", + "5304\n", + "5305\n", + "5306\n", + "5307\n", + "5308\n", + "5309\n", + "5310\n", + "5311\n", + "5312\n", + "5313\n", + "5314\n", + "5315\n", + "5316\n", + "5317\n", + "5318\n", + "5319\n", + "5320\n", + "5321\n", + "5322\n", + "5323\n", + "5324\n", + "5325\n", + "5326\n", + "5327\n", + "5328\n", + "5329\n", + "5330\n", + "5331\n", + "5332\n", + "5333\n", + "5334\n", + "5335\n", + "5336\n", + "5337\n", + "5338\n", + "5339\n", + "5340\n", + "5341\n", + "5342\n", + "5343\n", + "5344\n", + "5345\n", + "5346\n", + "5347\n", + "5348\n", + "5349\n", + "5350\n", + "5351\n", + "5352\n", + "5353\n", + "5354\n", + "5355\n", + "5356\n", + "5357\n", + "5358\n", + "5359\n", + "5360\n", + "5361\n", + "5362\n", + "5363\n", + "5364\n", + "5365\n", + "5366\n", + "5367\n", + "5368\n", + "5369\n", + "5370\n", + "5371\n", + "5372\n", + "5373\n", + "5374\n", + "5375\n", + "5376\n", + "5377\n", + "5378\n", + "5379\n", + "5380\n", + "5381\n", + "5382\n", + "5383\n", + "5384\n", + "5385\n", + "5386\n", + "5387\n", + "5388\n", + "5389\n", + "5390\n", + "5391\n", + "5392\n", + "5393\n", + "5394\n", + "5395\n", + "5396\n", + "5397\n", + "5398\n", + "5399\n", + "CALLED\n", + "self.model._steps=5400\n", + " TEST self.model._steps=5400\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "5300 0.6626\n", + "5301 0.6426\n", + "5302 0.6606\n", + "5303 0.6736\n", + "5304 0.6600\n", + "... ...\n", + "5395 0.6588\n", + "5396 0.6626\n", + "5397 0.6586\n", + "5398 0.6400\n", + "5399 0.6606\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_054.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_054.parquet'\n", + "Saving model to output_dir/model_data_054.parquet\n", + "Saving agent to output_dir/agent_data_054.parquet\n", + "5400\n", + "5401\n", + "5402\n", + "5403\n", + "5404\n", + "5405\n", + "5406\n", + "5407\n", + "5408\n", + "5409\n", + "5410\n", + "5411\n", + "5412\n", + "5413\n", + "5414\n", + "5415\n", + "5416\n", + "5417\n", + "5418\n", + "5419\n", + "5420\n", + "5421\n", + "5422\n", + "5423\n", + "5424\n", + "5425\n", + "5426\n", + "5427\n", + "5428\n", + "5429\n", + "5430\n", + "5431\n", + "5432\n", + "5433\n", + "5434\n", + "5435\n", + "5436\n", + "5437\n", + "5438\n", + "5439\n", + "5440\n", + "5441\n", + "5442\n", + "5443\n", + "5444\n", + "5445\n", + "5446\n", + "5447\n", + "5448\n", + "5449\n", + "5450\n", + "5451\n", + "5452\n", + "5453\n", + "5454\n", + "5455\n", + "5456\n", + "5457\n", + "5458\n", + "5459\n", + "5460\n", + "5461\n", + "5462\n", + "5463\n", + "5464\n", + "5465\n", + "5466\n", + "5467\n", + "5468\n", + "5469\n", + "5470\n", + "5471\n", + "5472\n", + "5473\n", + "5474\n", + "5475\n", + "5476\n", + "5477\n", + "5478\n", + "5479\n", + "5480\n", + "5481\n", + "5482\n", + "5483\n", + "5484\n", + "5485\n", + "5486\n", + "5487\n", + "5488\n", + "5489\n", + "5490\n", + "5491\n", + "5492\n", + "5493\n", + "5494\n", + "5495\n", + "5496\n", + "5497\n", + "5498\n", + "5499\n", + "CALLED\n", + "self.model._steps=5500\n", + " TEST self.model._steps=5500\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "5400 0.6546\n", + "5401 0.6418\n", + "5402 0.6224\n", + "5403 0.6440\n", + "5404 0.6510\n", + "... ...\n", + "5495 0.6696\n", + "5496 0.6654\n", + "5497 0.6728\n", + "5498 0.6728\n", + "5499 0.6632\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_055.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_055.parquet'\n", + "Saving model to output_dir/model_data_055.parquet\n", + "Saving agent to output_dir/agent_data_055.parquet\n", + "5500\n", + "5501\n", + "5502\n", + "5503\n", + "5504\n", + "5505\n", + "5506\n", + "5507\n", + "5508\n", + "5509\n", + "5510\n", + "5511\n", + "5512\n", + "5513\n", + "5514\n", + "5515\n", + "5516\n", + "5517\n", + "5518\n", + "5519\n", + "5520\n", + "5521\n", + "5522\n", + "5523\n", + "5524\n", + "5525\n", + "5526\n", + "5527\n", + "5528\n", + "5529\n", + "5530\n", + "5531\n", + "5532\n", + "5533\n", + "5534\n", + "5535\n", + "5536\n", + "5537\n", + "5538\n", + "5539\n", + "5540\n", + "5541\n", + "5542\n", + "5543\n", + "5544\n", + "5545\n", + "5546\n", + "5547\n", + "5548\n", + "5549\n", + "5550\n", + "5551\n", + "5552\n", + "5553\n", + "5554\n", + "5555\n", + "5556\n", + "5557\n", + "5558\n", + "5559\n", + "5560\n", + "5561\n", + "5562\n", + "5563\n", + "5564\n", + "5565\n", + "5566\n", + "5567\n", + "5568\n", + "5569\n", + "5570\n", + "5571\n", + "5572\n", + "5573\n", + "5574\n", + "5575\n", + "5576\n", + "5577\n", + "5578\n", + "5579\n", + "5580\n", + "5581\n", + "5582\n", + "5583\n", + "5584\n", + "5585\n", + "5586\n", + "5587\n", + "5588\n", + "5589\n", + "5590\n", + "5591\n", + "5592\n", + "5593\n", + "5594\n", + "5595\n", + "5596\n", + "5597\n", + "5598\n", + "5599\n", + "CALLED\n", + "self.model._steps=5600\n", + " TEST self.model._steps=5600\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "5500 0.6564\n", + "5501 0.6546\n", + "5502 0.6722\n", + "5503 0.6564\n", + "5504 0.6656\n", + "... ...\n", + "5595 0.6404\n", + "5596 0.6396\n", + "5597 0.6376\n", + "5598 0.6480\n", + "5599 0.6518\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_056.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_056.parquet'\n", + "Saving model to output_dir/model_data_056.parquet\n", + "Saving agent to output_dir/agent_data_056.parquet\n", + "5600\n", + "5601\n", + "5602\n", + "5603\n", + "5604\n", + "5605\n", + "5606\n", + "5607\n", + "5608\n", + "5609\n", + "5610\n", + "5611\n", + "5612\n", + "5613\n", + "5614\n", + "5615\n", + "5616\n", + "5617\n", + "5618\n", + "5619\n", + "5620\n", + "5621\n", + "5622\n", + "5623\n", + "5624\n", + "5625\n", + "5626\n", + "5627\n", + "5628\n", + "5629\n", + "5630\n", + "5631\n", + "5632\n", + "5633\n", + "5634\n", + "5635\n", + "5636\n", + "5637\n", + "5638\n", + "5639\n", + "5640\n", + "5641\n", + "5642\n", + "5643\n", + "5644\n", + "5645\n", + "5646\n", + "5647\n", + "5648\n", + "5649\n", + "5650\n", + "5651\n", + "5652\n", + "5653\n", + "5654\n", + "5655\n", + "5656\n", + "5657\n", + "5658\n", + "5659\n", + "5660\n", + "5661\n", + "5662\n", + "5663\n", + "5664\n", + "5665\n", + "5666\n", + "5667\n", + "5668\n", + "5669\n", + "5670\n", + "5671\n", + "5672\n", + "5673\n", + "5674\n", + "5675\n", + "5676\n", + "5677\n", + "5678\n", + "5679\n", + "5680\n", + "5681\n", + "5682\n", + "5683\n", + "5684\n", + "5685\n", + "5686\n", + "5687\n", + "5688\n", + "5689\n", + "5690\n", + "5691\n", + "5692\n", + "5693\n", + "5694\n", + "5695\n", + "5696\n", + "5697\n", + "5698\n", + "5699\n", + "CALLED\n", + "self.model._steps=5700\n", + " TEST self.model._steps=5700\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "5600 0.6502\n", + "5601 0.6484\n", + "5602 0.6394\n", + "5603 0.6448\n", + "5604 0.6208\n", + "... ...\n", + "5695 0.6908\n", + "5696 0.7294\n", + "5697 0.7138\n", + "5698 0.7230\n", + "5699 0.7194\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_057.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_057.parquet'\n", + "Saving model to output_dir/model_data_057.parquet\n", + "Saving agent to output_dir/agent_data_057.parquet\n", + "5700\n", + "5701\n", + "5702\n", + "5703\n", + "5704\n", + "5705\n", + "5706\n", + "5707\n", + "5708\n", + "5709\n", + "5710\n", + "5711\n", + "5712\n", + "5713\n", + "5714\n", + "5715\n", + "5716\n", + "5717\n", + "5718\n", + "5719\n", + "5720\n", + "5721\n", + "5722\n", + "5723\n", + "5724\n", + "5725\n", + "5726\n", + "5727\n", + "5728\n", + "5729\n", + "5730\n", + "5731\n", + "5732\n", + "5733\n", + "5734\n", + "5735\n", + "5736\n", + "5737\n", + "5738\n", + "5739\n", + "5740\n", + "5741\n", + "5742\n", + "5743\n", + "5744\n", + "5745\n", + "5746\n", + "5747\n", + "5748\n", + "5749\n", + "5750\n", + "5751\n", + "5752\n", + "5753\n", + "5754\n", + "5755\n", + "5756\n", + "5757\n", + "5758\n", + "5759\n", + "5760\n", + "5761\n", + "5762\n", + "5763\n", + "5764\n", + "5765\n", + "5766\n", + "5767\n", + "5768\n", + "5769\n", + "5770\n", + "5771\n", + "5772\n", + "5773\n", + "5774\n", + "5775\n", + "5776\n", + "5777\n", + "5778\n", + "5779\n", + "5780\n", + "5781\n", + "5782\n", + "5783\n", + "5784\n", + "5785\n", + "5786\n", + "5787\n", + "5788\n", + "5789\n", + "5790\n", + "5791\n", + "5792\n", + "5793\n", + "5794\n", + "5795\n", + "5796\n", + "5797\n", + "5798\n", + "5799\n", + "CALLED\n", + "self.model._steps=5800\n", + " TEST self.model._steps=5800\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "5700 0.7168\n", + "5701 0.7240\n", + "5702 0.7228\n", + "5703 0.7160\n", + "5704 0.7184\n", + "... ...\n", + "5795 0.6828\n", + "5796 0.6898\n", + "5797 0.7010\n", + "5798 0.7120\n", + "5799 0.7136\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_058.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_058.parquet'\n", + "Saving model to output_dir/model_data_058.parquet\n", + "Saving agent to output_dir/agent_data_058.parquet\n", + "5800\n", + "5801\n", + "5802\n", + "5803\n", + "5804\n", + "5805\n", + "5806\n", + "5807\n", + "5808\n", + "5809\n", + "5810\n", + "5811\n", + "5812\n", + "5813\n", + "5814\n", + "5815\n", + "5816\n", + "5817\n", + "5818\n", + "5819\n", + "5820\n", + "5821\n", + "5822\n", + "5823\n", + "5824\n", + "5825\n", + "5826\n", + "5827\n", + "5828\n", + "5829\n", + "5830\n", + "5831\n", + "5832\n", + "5833\n", + "5834\n", + "5835\n", + "5836\n", + "5837\n", + "5838\n", + "5839\n", + "5840\n", + "5841\n", + "5842\n", + "5843\n", + "5844\n", + "5845\n", + "5846\n", + "5847\n", + "5848\n", + "5849\n", + "5850\n", + "5851\n", + "5852\n", + "5853\n", + "5854\n", + "5855\n", + "5856\n", + "5857\n", + "5858\n", + "5859\n", + "5860\n", + "5861\n", + "5862\n", + "5863\n", + "5864\n", + "5865\n", + "5866\n", + "5867\n", + "5868\n", + "5869\n", + "5870\n", + "5871\n", + "5872\n", + "5873\n", + "5874\n", + "5875\n", + "5876\n", + "5877\n", + "5878\n", + "5879\n", + "5880\n", + "5881\n", + "5882\n", + "5883\n", + "5884\n", + "5885\n", + "5886\n", + "5887\n", + "5888\n", + "5889\n", + "5890\n", + "5891\n", + "5892\n", + "5893\n", + "5894\n", + "5895\n", + "5896\n", + "5897\n", + "5898\n", + "5899\n", + "CALLED\n", + "self.model._steps=5900\n", + " TEST self.model._steps=5900\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "5800 0.6898\n", + "5801 0.6930\n", + "5802 0.6824\n", + "5803 0.6764\n", + "5804 0.6460\n", + "... ...\n", + "5895 0.6548\n", + "5896 0.6816\n", + "5897 0.6702\n", + "5898 0.6754\n", + "5899 0.6860\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_059.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_059.parquet'\n", + "Saving model to output_dir/model_data_059.parquet\n", + "Saving agent to output_dir/agent_data_059.parquet\n", + "5900\n", + "5901\n", + "5902\n", + "5903\n", + "5904\n", + "5905\n", + "5906\n", + "5907\n", + "5908\n", + "5909\n", + "5910\n", + "5911\n", + "5912\n", + "5913\n", + "5914\n", + "5915\n", + "5916\n", + "5917\n", + "5918\n", + "5919\n", + "5920\n", + "5921\n", + "5922\n", + "5923\n", + "5924\n", + "5925\n", + "5926\n", + "5927\n", + "5928\n", + "5929\n", + "5930\n", + "5931\n", + "5932\n", + "5933\n", + "5934\n", + "5935\n", + "5936\n", + "5937\n", + "5938\n", + "5939\n", + "5940\n", + "5941\n", + "5942\n", + "5943\n", + "5944\n", + "5945\n", + "5946\n", + "5947\n", + "5948\n", + "5949\n", + "5950\n", + "5951\n", + "5952\n", + "5953\n", + "5954\n", + "5955\n", + "5956\n", + "5957\n", + "5958\n", + "5959\n", + "5960\n", + "5961\n", + "5962\n", + "5963\n", + "5964\n", + "5965\n", + "5966\n", + "5967\n", + "5968\n", + "5969\n", + "5970\n", + "5971\n", + "5972\n", + "5973\n", + "5974\n", + "5975\n", + "5976\n", + "5977\n", + "5978\n", + "5979\n", + "5980\n", + "5981\n", + "5982\n", + "5983\n", + "5984\n", + "5985\n", + "5986\n", + "5987\n", + "5988\n", + "5989\n", + "5990\n", + "5991\n", + "5992\n", + "5993\n", + "5994\n", + "5995\n", + "5996\n", + "5997\n", + "5998\n", + "5999\n", + "CALLED\n", + "self.model._steps=6000\n", + " TEST self.model._steps=6000\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "5900 0.6962\n", + "5901 0.6814\n", + "5902 0.6622\n", + "5903 0.6738\n", + "5904 0.6670\n", + "... ...\n", + "5995 0.5982\n", + "5996 0.5974\n", + "5997 0.5904\n", + "5998 0.5750\n", + "5999 0.5794\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_060.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_060.parquet'\n", + "Saving model to output_dir/model_data_060.parquet\n", + "Saving agent to output_dir/agent_data_060.parquet\n", + "6000\n", + "6001\n", + "6002\n", + "6003\n", + "6004\n", + "6005\n", + "6006\n", + "6007\n", + "6008\n", + "6009\n", + "6010\n", + "6011\n", + "6012\n", + "6013\n", + "6014\n", + "6015\n", + "6016\n", + "6017\n", + "6018\n", + "6019\n", + "6020\n", + "6021\n", + "6022\n", + "6023\n", + "6024\n", + "6025\n", + "6026\n", + "6027\n", + "6028\n", + "6029\n", + "6030\n", + "6031\n", + "6032\n", + "6033\n", + "6034\n", + "6035\n", + "6036\n", + "6037\n", + "6038\n", + "6039\n", + "6040\n", + "6041\n", + "6042\n", + "6043\n", + "6044\n", + "6045\n", + "6046\n", + "6047\n", + "6048\n", + "6049\n", + "6050\n", + "6051\n", + "6052\n", + "6053\n", + "6054\n", + "6055\n", + "6056\n", + "6057\n", + "6058\n", + "6059\n", + "6060\n", + "6061\n", + "6062\n", + "6063\n", + "6064\n", + "6065\n", + "6066\n", + "6067\n", + "6068\n", + "6069\n", + "6070\n", + "6071\n", + "6072\n", + "6073\n", + "6074\n", + "6075\n", + "6076\n", + "6077\n", + "6078\n", + "6079\n", + "6080\n", + "6081\n", + "6082\n", + "6083\n", + "6084\n", + "6085\n", + "6086\n", + "6087\n", + "6088\n", + "6089\n", + "6090\n", + "6091\n", + "6092\n", + "6093\n", + "6094\n", + "6095\n", + "6096\n", + "6097\n", + "6098\n", + "6099\n", + "CALLED\n", + "self.model._steps=6100\n", + " TEST self.model._steps=6100\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "6000 0.5854\n", + "6001 0.5958\n", + "6002 0.6226\n", + "6003 0.6268\n", + "6004 0.6618\n", + "... ...\n", + "6095 0.6460\n", + "6096 0.6372\n", + "6097 0.6520\n", + "6098 0.6554\n", + "6099 0.6380\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_061.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_061.parquet'\n", + "Saving model to output_dir/model_data_061.parquet\n", + "Saving agent to output_dir/agent_data_061.parquet\n", + "6100\n", + "6101\n", + "6102\n", + "6103\n", + "6104\n", + "6105\n", + "6106\n", + "6107\n", + "6108\n", + "6109\n", + "6110\n", + "6111\n", + "6112\n", + "6113\n", + "6114\n", + "6115\n", + "6116\n", + "6117\n", + "6118\n", + "6119\n", + "6120\n", + "6121\n", + "6122\n", + "6123\n", + "6124\n", + "6125\n", + "6126\n", + "6127\n", + "6128\n", + "6129\n", + "6130\n", + "6131\n", + "6132\n", + "6133\n", + "6134\n", + "6135\n", + "6136\n", + "6137\n", + "6138\n", + "6139\n", + "6140\n", + "6141\n", + "6142\n", + "6143\n", + "6144\n", + "6145\n", + "6146\n", + "6147\n", + "6148\n", + "6149\n", + "6150\n", + "6151\n", + "6152\n", + "6153\n", + "6154\n", + "6155\n", + "6156\n", + "6157\n", + "6158\n", + "6159\n", + "6160\n", + "6161\n", + "6162\n", + "6163\n", + "6164\n", + "6165\n", + "6166\n", + "6167\n", + "6168\n", + "6169\n", + "6170\n", + "6171\n", + "6172\n", + "6173\n", + "6174\n", + "6175\n", + "6176\n", + "6177\n", + "6178\n", + "6179\n", + "6180\n", + "6181\n", + "6182\n", + "6183\n", + "6184\n", + "6185\n", + "6186\n", + "6187\n", + "6188\n", + "6189\n", + "6190\n", + "6191\n", + "6192\n", + "6193\n", + "6194\n", + "6195\n", + "6196\n", + "6197\n", + "6198\n", + "6199\n", + "CALLED\n", + "self.model._steps=6200\n", + " TEST self.model._steps=6200\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "6100 0.6122\n", + "6101 0.6106\n", + "6102 0.6094\n", + "6103 0.6184\n", + "6104 0.6390\n", + "... ...\n", + "6195 0.6700\n", + "6196 0.6602\n", + "6197 0.6812\n", + "6198 0.6620\n", + "6199 0.6818\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_062.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_062.parquet'\n", + "Saving model to output_dir/model_data_062.parquet\n", + "Saving agent to output_dir/agent_data_062.parquet\n", + "6200\n", + "6201\n", + "6202\n", + "6203\n", + "6204\n", + "6205\n", + "6206\n", + "6207\n", + "6208\n", + "6209\n", + "6210\n", + "6211\n", + "6212\n", + "6213\n", + "6214\n", + "6215\n", + "6216\n", + "6217\n", + "6218\n", + "6219\n", + "6220\n", + "6221\n", + "6222\n", + "6223\n", + "6224\n", + "6225\n", + "6226\n", + "6227\n", + "6228\n", + "6229\n", + "6230\n", + "6231\n", + "6232\n", + "6233\n", + "6234\n", + "6235\n", + "6236\n", + "6237\n", + "6238\n", + "6239\n", + "6240\n", + "6241\n", + "6242\n", + "6243\n", + "6244\n", + "6245\n", + "6246\n", + "6247\n", + "6248\n", + "6249\n", + "6250\n", + "6251\n", + "6252\n", + "6253\n", + "6254\n", + "6255\n", + "6256\n", + "6257\n", + "6258\n", + "6259\n", + "6260\n", + "6261\n", + "6262\n", + "6263\n", + "6264\n", + "6265\n", + "6266\n", + "6267\n", + "6268\n", + "6269\n", + "6270\n", + "6271\n", + "6272\n", + "6273\n", + "6274\n", + "6275\n", + "6276\n", + "6277\n", + "6278\n", + "6279\n", + "6280\n", + "6281\n", + "6282\n", + "6283\n", + "6284\n", + "6285\n", + "6286\n", + "6287\n", + "6288\n", + "6289\n", + "6290\n", + "6291\n", + "6292\n", + "6293\n", + "6294\n", + "6295\n", + "6296\n", + "6297\n", + "6298\n", + "6299\n", + "CALLED\n", + "self.model._steps=6300\n", + " TEST self.model._steps=6300\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "6200 0.7074\n", + "6201 0.6912\n", + "6202 0.6990\n", + "6203 0.7122\n", + "6204 0.7230\n", + "... ...\n", + "6295 0.6710\n", + "6296 0.6800\n", + "6297 0.6578\n", + "6298 0.6654\n", + "6299 0.6560\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_063.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_063.parquet'\n", + "Saving model to output_dir/model_data_063.parquet\n", + "Saving agent to output_dir/agent_data_063.parquet\n", + "6300\n", + "6301\n", + "6302\n", + "6303\n", + "6304\n", + "6305\n", + "6306\n", + "6307\n", + "6308\n", + "6309\n", + "6310\n", + "6311\n", + "6312\n", + "6313\n", + "6314\n", + "6315\n", + "6316\n", + "6317\n", + "6318\n", + "6319\n", + "6320\n", + "6321\n", + "6322\n", + "6323\n", + "6324\n", + "6325\n", + "6326\n", + "6327\n", + "6328\n", + "6329\n", + "6330\n", + "6331\n", + "6332\n", + "6333\n", + "6334\n", + "6335\n", + "6336\n", + "6337\n", + "6338\n", + "6339\n", + "6340\n", + "6341\n", + "6342\n", + "6343\n", + "6344\n", + "6345\n", + "6346\n", + "6347\n", + "6348\n", + "6349\n", + "6350\n", + "6351\n", + "6352\n", + "6353\n", + "6354\n", + "6355\n", + "6356\n", + "6357\n", + "6358\n", + "6359\n", + "6360\n", + "6361\n", + "6362\n", + "6363\n", + "6364\n", + "6365\n", + "6366\n", + "6367\n", + "6368\n", + "6369\n", + "6370\n", + "6371\n", + "6372\n", + "6373\n", + "6374\n", + "6375\n", + "6376\n", + "6377\n", + "6378\n", + "6379\n", + "6380\n", + "6381\n", + "6382\n", + "6383\n", + "6384\n", + "6385\n", + "6386\n", + "6387\n", + "6388\n", + "6389\n", + "6390\n", + "6391\n", + "6392\n", + "6393\n", + "6394\n", + "6395\n", + "6396\n", + "6397\n", + "6398\n", + "6399\n", + "CALLED\n", + "self.model._steps=6400\n", + " TEST self.model._steps=6400\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "6300 0.6668\n", + "6301 0.6226\n", + "6302 0.6426\n", + "6303 0.6436\n", + "6304 0.6544\n", + "... ...\n", + "6395 0.6688\n", + "6396 0.6844\n", + "6397 0.6896\n", + "6398 0.6938\n", + "6399 0.7022\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_064.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_064.parquet'\n", + "Saving model to output_dir/model_data_064.parquet\n", + "Saving agent to output_dir/agent_data_064.parquet\n", + "6400\n", + "6401\n", + "6402\n", + "6403\n", + "6404\n", + "6405\n", + "6406\n", + "6407\n", + "6408\n", + "6409\n", + "6410\n", + "6411\n", + "6412\n", + "6413\n", + "6414\n", + "6415\n", + "6416\n", + "6417\n", + "6418\n", + "6419\n", + "6420\n", + "6421\n", + "6422\n", + "6423\n", + "6424\n", + "6425\n", + "6426\n", + "6427\n", + "6428\n", + "6429\n", + "6430\n", + "6431\n", + "6432\n", + "6433\n", + "6434\n", + "6435\n", + "6436\n", + "6437\n", + "6438\n", + "6439\n", + "6440\n", + "6441\n", + "6442\n", + "6443\n", + "6444\n", + "6445\n", + "6446\n", + "6447\n", + "6448\n", + "6449\n", + "6450\n", + "6451\n", + "6452\n", + "6453\n", + "6454\n", + "6455\n", + "6456\n", + "6457\n", + "6458\n", + "6459\n", + "6460\n", + "6461\n", + "6462\n", + "6463\n", + "6464\n", + "6465\n", + "6466\n", + "6467\n", + "6468\n", + "6469\n", + "6470\n", + "6471\n", + "6472\n", + "6473\n", + "6474\n", + "6475\n", + "6476\n", + "6477\n", + "6478\n", + "6479\n", + "6480\n", + "6481\n", + "6482\n", + "6483\n", + "6484\n", + "6485\n", + "6486\n", + "6487\n", + "6488\n", + "6489\n", + "6490\n", + "6491\n", + "6492\n", + "6493\n", + "6494\n", + "6495\n", + "6496\n", + "6497\n", + "6498\n", + "6499\n", + "CALLED\n", + "self.model._steps=6500\n", + " TEST self.model._steps=6500\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "6400 0.7002\n", + "6401 0.6872\n", + "6402 0.6718\n", + "6403 0.7072\n", + "6404 0.6848\n", + "... ...\n", + "6495 0.7172\n", + "6496 0.6978\n", + "6497 0.7108\n", + "6498 0.7166\n", + "6499 0.6990\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_065.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_065.parquet'\n", + "Saving model to output_dir/model_data_065.parquet\n", + "Saving agent to output_dir/agent_data_065.parquet\n", + "6500\n", + "6501\n", + "6502\n", + "6503\n", + "6504\n", + "6505\n", + "6506\n", + "6507\n", + "6508\n", + "6509\n", + "6510\n", + "6511\n", + "6512\n", + "6513\n", + "6514\n", + "6515\n", + "6516\n", + "6517\n", + "6518\n", + "6519\n", + "6520\n", + "6521\n", + "6522\n", + "6523\n", + "6524\n", + "6525\n", + "6526\n", + "6527\n", + "6528\n", + "6529\n", + "6530\n", + "6531\n", + "6532\n", + "6533\n", + "6534\n", + "6535\n", + "6536\n", + "6537\n", + "6538\n", + "6539\n", + "6540\n", + "6541\n", + "6542\n", + "6543\n", + "6544\n", + "6545\n", + "6546\n", + "6547\n", + "6548\n", + "6549\n", + "6550\n", + "6551\n", + "6552\n", + "6553\n", + "6554\n", + "6555\n", + "6556\n", + "6557\n", + "6558\n", + "6559\n", + "6560\n", + "6561\n", + "6562\n", + "6563\n", + "6564\n", + "6565\n", + "6566\n", + "6567\n", + "6568\n", + "6569\n", + "6570\n", + "6571\n", + "6572\n", + "6573\n", + "6574\n", + "6575\n", + "6576\n", + "6577\n", + "6578\n", + "6579\n", + "6580\n", + "6581\n", + "6582\n", + "6583\n", + "6584\n", + "6585\n", + "6586\n", + "6587\n", + "6588\n", + "6589\n", + "6590\n", + "6591\n", + "6592\n", + "6593\n", + "6594\n", + "6595\n", + "6596\n", + "6597\n", + "6598\n", + "6599\n", + "CALLED\n", + "self.model._steps=6600\n", + " TEST self.model._steps=6600\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "6500 0.6888\n", + "6501 0.7066\n", + "6502 0.7068\n", + "6503 0.6898\n", + "6504 0.6928\n", + "... ...\n", + "6595 0.6804\n", + "6596 0.6648\n", + "6597 0.6424\n", + "6598 0.6346\n", + "6599 0.6264\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_066.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_066.parquet'\n", + "Saving model to output_dir/model_data_066.parquet\n", + "Saving agent to output_dir/agent_data_066.parquet\n", + "6600\n", + "6601\n", + "6602\n", + "6603\n", + "6604\n", + "6605\n", + "6606\n", + "6607\n", + "6608\n", + "6609\n", + "6610\n", + "6611\n", + "6612\n", + "6613\n", + "6614\n", + "6615\n", + "6616\n", + "6617\n", + "6618\n", + "6619\n", + "6620\n", + "6621\n", + "6622\n", + "6623\n", + "6624\n", + "6625\n", + "6626\n", + "6627\n", + "6628\n", + "6629\n", + "6630\n", + "6631\n", + "6632\n", + "6633\n", + "6634\n", + "6635\n", + "6636\n", + "6637\n", + "6638\n", + "6639\n", + "6640\n", + "6641\n", + "6642\n", + "6643\n", + "6644\n", + "6645\n", + "6646\n", + "6647\n", + "6648\n", + "6649\n", + "6650\n", + "6651\n", + "6652\n", + "6653\n", + "6654\n", + "6655\n", + "6656\n", + "6657\n", + "6658\n", + "6659\n", + "6660\n", + "6661\n", + "6662\n", + "6663\n", + "6664\n", + "6665\n", + "6666\n", + "6667\n", + "6668\n", + "6669\n", + "6670\n", + "6671\n", + "6672\n", + "6673\n", + "6674\n", + "6675\n", + "6676\n", + "6677\n", + "6678\n", + "6679\n", + "6680\n", + "6681\n", + "6682\n", + "6683\n", + "6684\n", + "6685\n", + "6686\n", + "6687\n", + "6688\n", + "6689\n", + "6690\n", + "6691\n", + "6692\n", + "6693\n", + "6694\n", + "6695\n", + "6696\n", + "6697\n", + "6698\n", + "6699\n", + "CALLED\n", + "self.model._steps=6700\n", + " TEST self.model._steps=6700\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "6600 0.6150\n", + "6601 0.6304\n", + "6602 0.6556\n", + "6603 0.6400\n", + "6604 0.6178\n", + "... ...\n", + "6695 0.7218\n", + "6696 0.7260\n", + "6697 0.7100\n", + "6698 0.7012\n", + "6699 0.7178\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_067.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_067.parquet'\n", + "Saving model to output_dir/model_data_067.parquet\n", + "Saving agent to output_dir/agent_data_067.parquet\n", + "6700\n", + "6701\n", + "6702\n", + "6703\n", + "6704\n", + "6705\n", + "6706\n", + "6707\n", + "6708\n", + "6709\n", + "6710\n", + "6711\n", + "6712\n", + "6713\n", + "6714\n", + "6715\n", + "6716\n", + "6717\n", + "6718\n", + "6719\n", + "6720\n", + "6721\n", + "6722\n", + "6723\n", + "6724\n", + "6725\n", + "6726\n", + "6727\n", + "6728\n", + "6729\n", + "6730\n", + "6731\n", + "6732\n", + "6733\n", + "6734\n", + "6735\n", + "6736\n", + "6737\n", + "6738\n", + "6739\n", + "6740\n", + "6741\n", + "6742\n", + "6743\n", + "6744\n", + "6745\n", + "6746\n", + "6747\n", + "6748\n", + "6749\n", + "6750\n", + "6751\n", + "6752\n", + "6753\n", + "6754\n", + "6755\n", + "6756\n", + "6757\n", + "6758\n", + "6759\n", + "6760\n", + "6761\n", + "6762\n", + "6763\n", + "6764\n", + "6765\n", + "6766\n", + "6767\n", + "6768\n", + "6769\n", + "6770\n", + "6771\n", + "6772\n", + "6773\n", + "6774\n", + "6775\n", + "6776\n", + "6777\n", + "6778\n", + "6779\n", + "6780\n", + "6781\n", + "6782\n", + "6783\n", + "6784\n", + "6785\n", + "6786\n", + "6787\n", + "6788\n", + "6789\n", + "6790\n", + "6791\n", + "6792\n", + "6793\n", + "6794\n", + "6795\n", + "6796\n", + "6797\n", + "6798\n", + "6799\n", + "CALLED\n", + "self.model._steps=6800\n", + " TEST self.model._steps=6800\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "6700 0.7140\n", + "6701 0.6918\n", + "6702 0.6902\n", + "6703 0.6968\n", + "6704 0.7136\n", + "... ...\n", + "6795 0.5904\n", + "6796 0.5826\n", + "6797 0.5538\n", + "6798 0.5822\n", + "6799 0.6018\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_068.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_068.parquet'\n", + "Saving model to output_dir/model_data_068.parquet\n", + "Saving agent to output_dir/agent_data_068.parquet\n", + "6800\n", + "6801\n", + "6802\n", + "6803\n", + "6804\n", + "6805\n", + "6806\n", + "6807\n", + "6808\n", + "6809\n", + "6810\n", + "6811\n", + "6812\n", + "6813\n", + "6814\n", + "6815\n", + "6816\n", + "6817\n", + "6818\n", + "6819\n", + "6820\n", + "6821\n", + "6822\n", + "6823\n", + "6824\n", + "6825\n", + "6826\n", + "6827\n", + "6828\n", + "6829\n", + "6830\n", + "6831\n", + "6832\n", + "6833\n", + "6834\n", + "6835\n", + "6836\n", + "6837\n", + "6838\n", + "6839\n", + "6840\n", + "6841\n", + "6842\n", + "6843\n", + "6844\n", + "6845\n", + "6846\n", + "6847\n", + "6848\n", + "6849\n", + "6850\n", + "6851\n", + "6852\n", + "6853\n", + "6854\n", + "6855\n", + "6856\n", + "6857\n", + "6858\n", + "6859\n", + "6860\n", + "6861\n", + "6862\n", + "6863\n", + "6864\n", + "6865\n", + "6866\n", + "6867\n", + "6868\n", + "6869\n", + "6870\n", + "6871\n", + "6872\n", + "6873\n", + "6874\n", + "6875\n", + "6876\n", + "6877\n", + "6878\n", + "6879\n", + "6880\n", + "6881\n", + "6882\n", + "6883\n", + "6884\n", + "6885\n", + "6886\n", + "6887\n", + "6888\n", + "6889\n", + "6890\n", + "6891\n", + "6892\n", + "6893\n", + "6894\n", + "6895\n", + "6896\n", + "6897\n", + "6898\n", + "6899\n", + "CALLED\n", + "self.model._steps=6900\n", + " TEST self.model._steps=6900\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "6800 0.6018\n", + "6801 0.6132\n", + "6802 0.6478\n", + "6803 0.6440\n", + "6804 0.6480\n", + "... ...\n", + "6895 0.6738\n", + "6896 0.6890\n", + "6897 0.6738\n", + "6898 0.6594\n", + "6899 0.6536\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_069.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_069.parquet'\n", + "Saving model to output_dir/model_data_069.parquet\n", + "Saving agent to output_dir/agent_data_069.parquet\n", + "6900\n", + "6901\n", + "6902\n", + "6903\n", + "6904\n", + "6905\n", + "6906\n", + "6907\n", + "6908\n", + "6909\n", + "6910\n", + "6911\n", + "6912\n", + "6913\n", + "6914\n", + "6915\n", + "6916\n", + "6917\n", + "6918\n", + "6919\n", + "6920\n", + "6921\n", + "6922\n", + "6923\n", + "6924\n", + "6925\n", + "6926\n", + "6927\n", + "6928\n", + "6929\n", + "6930\n", + "6931\n", + "6932\n", + "6933\n", + "6934\n", + "6935\n", + "6936\n", + "6937\n", + "6938\n", + "6939\n", + "6940\n", + "6941\n", + "6942\n", + "6943\n", + "6944\n", + "6945\n", + "6946\n", + "6947\n", + "6948\n", + "6949\n", + "6950\n", + "6951\n", + "6952\n", + "6953\n", + "6954\n", + "6955\n", + "6956\n", + "6957\n", + "6958\n", + "6959\n", + "6960\n", + "6961\n", + "6962\n", + "6963\n", + "6964\n", + "6965\n", + "6966\n", + "6967\n", + "6968\n", + "6969\n", + "6970\n", + "6971\n", + "6972\n", + "6973\n", + "6974\n", + "6975\n", + "6976\n", + "6977\n", + "6978\n", + "6979\n", + "6980\n", + "6981\n", + "6982\n", + "6983\n", + "6984\n", + "6985\n", + "6986\n", + "6987\n", + "6988\n", + "6989\n", + "6990\n", + "6991\n", + "6992\n", + "6993\n", + "6994\n", + "6995\n", + "6996\n", + "6997\n", + "6998\n", + "6999\n", + "CALLED\n", + "self.model._steps=7000\n", + " TEST self.model._steps=7000\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "6900 0.6618\n", + "6901 0.6596\n", + "6902 0.6514\n", + "6903 0.6430\n", + "6904 0.6200\n", + "... ...\n", + "6995 0.6768\n", + "6996 0.6620\n", + "6997 0.6800\n", + "6998 0.6548\n", + "6999 0.6348\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_070.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_070.parquet'\n", + "Saving model to output_dir/model_data_070.parquet\n", + "Saving agent to output_dir/agent_data_070.parquet\n", + "7000\n", + "7001\n", + "7002\n", + "7003\n", + "7004\n", + "7005\n", + "7006\n", + "7007\n", + "7008\n", + "7009\n", + "7010\n", + "7011\n", + "7012\n", + "7013\n", + "7014\n", + "7015\n", + "7016\n", + "7017\n", + "7018\n", + "7019\n", + "7020\n", + "7021\n", + "7022\n", + "7023\n", + "7024\n", + "7025\n", + "7026\n", + "7027\n", + "7028\n", + "7029\n", + "7030\n", + "7031\n", + "7032\n", + "7033\n", + "7034\n", + "7035\n", + "7036\n", + "7037\n", + "7038\n", + "7039\n", + "7040\n", + "7041\n", + "7042\n", + "7043\n", + "7044\n", + "7045\n", + "7046\n", + "7047\n", + "7048\n", + "7049\n", + "7050\n", + "7051\n", + "7052\n", + "7053\n", + "7054\n", + "7055\n", + "7056\n", + "7057\n", + "7058\n", + "7059\n", + "7060\n", + "7061\n", + "7062\n", + "7063\n", + "7064\n", + "7065\n", + "7066\n", + "7067\n", + "7068\n", + "7069\n", + "7070\n", + "7071\n", + "7072\n", + "7073\n", + "7074\n", + "7075\n", + "7076\n", + "7077\n", + "7078\n", + "7079\n", + "7080\n", + "7081\n", + "7082\n", + "7083\n", + "7084\n", + "7085\n", + "7086\n", + "7087\n", + "7088\n", + "7089\n", + "7090\n", + "7091\n", + "7092\n", + "7093\n", + "7094\n", + "7095\n", + "7096\n", + "7097\n", + "7098\n", + "7099\n", + "CALLED\n", + "self.model._steps=7100\n", + " TEST self.model._steps=7100\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "7000 0.6408\n", + "7001 0.6480\n", + "7002 0.6576\n", + "7003 0.6788\n", + "7004 0.6646\n", + "... ...\n", + "7095 0.6596\n", + "7096 0.6640\n", + "7097 0.6632\n", + "7098 0.6574\n", + "7099 0.6560\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_071.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_071.parquet'\n", + "Saving model to output_dir/model_data_071.parquet\n", + "Saving agent to output_dir/agent_data_071.parquet\n", + "7100\n", + "7101\n", + "7102\n", + "7103\n", + "7104\n", + "7105\n", + "7106\n", + "7107\n", + "7108\n", + "7109\n", + "7110\n", + "7111\n", + "7112\n", + "7113\n", + "7114\n", + "7115\n", + "7116\n", + "7117\n", + "7118\n", + "7119\n", + "7120\n", + "7121\n", + "7122\n", + "7123\n", + "7124\n", + "7125\n", + "7126\n", + "7127\n", + "7128\n", + "7129\n", + "7130\n", + "7131\n", + "7132\n", + "7133\n", + "7134\n", + "7135\n", + "7136\n", + "7137\n", + "7138\n", + "7139\n", + "7140\n", + "7141\n", + "7142\n", + "7143\n", + "7144\n", + "7145\n", + "7146\n", + "7147\n", + "7148\n", + "7149\n", + "7150\n", + "7151\n", + "7152\n", + "7153\n", + "7154\n", + "7155\n", + "7156\n", + "7157\n", + "7158\n", + "7159\n", + "7160\n", + "7161\n", + "7162\n", + "7163\n", + "7164\n", + "7165\n", + "7166\n", + "7167\n", + "7168\n", + "7169\n", + "7170\n", + "7171\n", + "7172\n", + "7173\n", + "7174\n", + "7175\n", + "7176\n", + "7177\n", + "7178\n", + "7179\n", + "7180\n", + "7181\n", + "7182\n", + "7183\n", + "7184\n", + "7185\n", + "7186\n", + "7187\n", + "7188\n", + "7189\n", + "7190\n", + "7191\n", + "7192\n", + "7193\n", + "7194\n", + "7195\n", + "7196\n", + "7197\n", + "7198\n", + "7199\n", + "CALLED\n", + "self.model._steps=7200\n", + " TEST self.model._steps=7200\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "7100 0.6498\n", + "7101 0.7024\n", + "7102 0.6968\n", + "7103 0.7072\n", + "7104 0.7078\n", + "... ...\n", + "7195 0.5950\n", + "7196 0.5954\n", + "7197 0.5890\n", + "7198 0.6056\n", + "7199 0.6184\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_072.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_072.parquet'\n", + "Saving model to output_dir/model_data_072.parquet\n", + "Saving agent to output_dir/agent_data_072.parquet\n", + "7200\n", + "7201\n", + "7202\n", + "7203\n", + "7204\n", + "7205\n", + "7206\n", + "7207\n", + "7208\n", + "7209\n", + "7210\n", + "7211\n", + "7212\n", + "7213\n", + "7214\n", + "7215\n", + "7216\n", + "7217\n", + "7218\n", + "7219\n", + "7220\n", + "7221\n", + "7222\n", + "7223\n", + "7224\n", + "7225\n", + "7226\n", + "7227\n", + "7228\n", + "7229\n", + "7230\n", + "7231\n", + "7232\n", + "7233\n", + "7234\n", + "7235\n", + "7236\n", + "7237\n", + "7238\n", + "7239\n", + "7240\n", + "7241\n", + "7242\n", + "7243\n", + "7244\n", + "7245\n", + "7246\n", + "7247\n", + "7248\n", + "7249\n", + "7250\n", + "7251\n", + "7252\n", + "7253\n", + "7254\n", + "7255\n", + "7256\n", + "7257\n", + "7258\n", + "7259\n", + "7260\n", + "7261\n", + "7262\n", + "7263\n", + "7264\n", + "7265\n", + "7266\n", + "7267\n", + "7268\n", + "7269\n", + "7270\n", + "7271\n", + "7272\n", + "7273\n", + "7274\n", + "7275\n", + "7276\n", + "7277\n", + "7278\n", + "7279\n", + "7280\n", + "7281\n", + "7282\n", + "7283\n", + "7284\n", + "7285\n", + "7286\n", + "7287\n", + "7288\n", + "7289\n", + "7290\n", + "7291\n", + "7292\n", + "7293\n", + "7294\n", + "7295\n", + "7296\n", + "7297\n", + "7298\n", + "7299\n", + "CALLED\n", + "self.model._steps=7300\n", + " TEST self.model._steps=7300\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "7200 0.6282\n", + "7201 0.6050\n", + "7202 0.6012\n", + "7203 0.6304\n", + "7204 0.6386\n", + "... ...\n", + "7295 0.7196\n", + "7296 0.7090\n", + "7297 0.7040\n", + "7298 0.7220\n", + "7299 0.7098\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_073.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_073.parquet'\n", + "Saving model to output_dir/model_data_073.parquet\n", + "Saving agent to output_dir/agent_data_073.parquet\n", + "7300\n", + "7301\n", + "7302\n", + "7303\n", + "7304\n", + "7305\n", + "7306\n", + "7307\n", + "7308\n", + "7309\n", + "7310\n", + "7311\n", + "7312\n", + "7313\n", + "7314\n", + "7315\n", + "7316\n", + "7317\n", + "7318\n", + "7319\n", + "7320\n", + "7321\n", + "7322\n", + "7323\n", + "7324\n", + "7325\n", + "7326\n", + "7327\n", + "7328\n", + "7329\n", + "7330\n", + "7331\n", + "7332\n", + "7333\n", + "7334\n", + "7335\n", + "7336\n", + "7337\n", + "7338\n", + "7339\n", + "7340\n", + "7341\n", + "7342\n", + "7343\n", + "7344\n", + "7345\n", + "7346\n", + "7347\n", + "7348\n", + "7349\n", + "7350\n", + "7351\n", + "7352\n", + "7353\n", + "7354\n", + "7355\n", + "7356\n", + "7357\n", + "7358\n", + "7359\n", + "7360\n", + "7361\n", + "7362\n", + "7363\n", + "7364\n", + "7365\n", + "7366\n", + "7367\n", + "7368\n", + "7369\n", + "7370\n", + "7371\n", + "7372\n", + "7373\n", + "7374\n", + "7375\n", + "7376\n", + "7377\n", + "7378\n", + "7379\n", + "7380\n", + "7381\n", + "7382\n", + "7383\n", + "7384\n", + "7385\n", + "7386\n", + "7387\n", + "7388\n", + "7389\n", + "7390\n", + "7391\n", + "7392\n", + "7393\n", + "7394\n", + "7395\n", + "7396\n", + "7397\n", + "7398\n", + "7399\n", + "CALLED\n", + "self.model._steps=7400\n", + " TEST self.model._steps=7400\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "7300 0.7098\n", + "7301 0.7130\n", + "7302 0.7068\n", + "7303 0.7118\n", + "7304 0.6830\n", + "... ...\n", + "7395 0.7224\n", + "7396 0.7202\n", + "7397 0.7058\n", + "7398 0.7010\n", + "7399 0.7196\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_074.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_074.parquet'\n", + "Saving model to output_dir/model_data_074.parquet\n", + "Saving agent to output_dir/agent_data_074.parquet\n", + "7400\n", + "7401\n", + "7402\n", + "7403\n", + "7404\n", + "7405\n", + "7406\n", + "7407\n", + "7408\n", + "7409\n", + "7410\n", + "7411\n", + "7412\n", + "7413\n", + "7414\n", + "7415\n", + "7416\n", + "7417\n", + "7418\n", + "7419\n", + "7420\n", + "7421\n", + "7422\n", + "7423\n", + "7424\n", + "7425\n", + "7426\n", + "7427\n", + "7428\n", + "7429\n", + "7430\n", + "7431\n", + "7432\n", + "7433\n", + "7434\n", + "7435\n", + "7436\n", + "7437\n", + "7438\n", + "7439\n", + "7440\n", + "7441\n", + "7442\n", + "7443\n", + "7444\n", + "7445\n", + "7446\n", + "7447\n", + "7448\n", + "7449\n", + "7450\n", + "7451\n", + "7452\n", + "7453\n", + "7454\n", + "7455\n", + "7456\n", + "7457\n", + "7458\n", + "7459\n", + "7460\n", + "7461\n", + "7462\n", + "7463\n", + "7464\n", + "7465\n", + "7466\n", + "7467\n", + "7468\n", + "7469\n", + "7470\n", + "7471\n", + "7472\n", + "7473\n", + "7474\n", + "7475\n", + "7476\n", + "7477\n", + "7478\n", + "7479\n", + "7480\n", + "7481\n", + "7482\n", + "7483\n", + "7484\n", + "7485\n", + "7486\n", + "7487\n", + "7488\n", + "7489\n", + "7490\n", + "7491\n", + "7492\n", + "7493\n", + "7494\n", + "7495\n", + "7496\n", + "7497\n", + "7498\n", + "7499\n", + "CALLED\n", + "self.model._steps=7500\n", + " TEST self.model._steps=7500\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "7400 0.7164\n", + "7401 0.7264\n", + "7402 0.7132\n", + "7403 0.6930\n", + "7404 0.6944\n", + "... ...\n", + "7495 0.6570\n", + "7496 0.6382\n", + "7497 0.6440\n", + "7498 0.6264\n", + "7499 0.6110\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_075.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_075.parquet'\n", + "Saving model to output_dir/model_data_075.parquet\n", + "Saving agent to output_dir/agent_data_075.parquet\n", + "7500\n", + "7501\n", + "7502\n", + "7503\n", + "7504\n", + "7505\n", + "7506\n", + "7507\n", + "7508\n", + "7509\n", + "7510\n", + "7511\n", + "7512\n", + "7513\n", + "7514\n", + "7515\n", + "7516\n", + "7517\n", + "7518\n", + "7519\n", + "7520\n", + "7521\n", + "7522\n", + "7523\n", + "7524\n", + "7525\n", + "7526\n", + "7527\n", + "7528\n", + "7529\n", + "7530\n", + "7531\n", + "7532\n", + "7533\n", + "7534\n", + "7535\n", + "7536\n", + "7537\n", + "7538\n", + "7539\n", + "7540\n", + "7541\n", + "7542\n", + "7543\n", + "7544\n", + "7545\n", + "7546\n", + "7547\n", + "7548\n", + "7549\n", + "7550\n", + "7551\n", + "7552\n", + "7553\n", + "7554\n", + "7555\n", + "7556\n", + "7557\n", + "7558\n", + "7559\n", + "7560\n", + "7561\n", + "7562\n", + "7563\n", + "7564\n", + "7565\n", + "7566\n", + "7567\n", + "7568\n", + "7569\n", + "7570\n", + "7571\n", + "7572\n", + "7573\n", + "7574\n", + "7575\n", + "7576\n", + "7577\n", + "7578\n", + "7579\n", + "7580\n", + "7581\n", + "7582\n", + "7583\n", + "7584\n", + "7585\n", + "7586\n", + "7587\n", + "7588\n", + "7589\n", + "7590\n", + "7591\n", + "7592\n", + "7593\n", + "7594\n", + "7595\n", + "7596\n", + "7597\n", + "7598\n", + "7599\n", + "CALLED\n", + "self.model._steps=7600\n", + " TEST self.model._steps=7600\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "7500 0.6100\n", + "7501 0.6186\n", + "7502 0.6224\n", + "7503 0.6370\n", + "7504 0.6460\n", + "... ...\n", + "7595 0.6688\n", + "7596 0.6596\n", + "7597 0.6746\n", + "7598 0.6608\n", + "7599 0.6634\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_076.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_076.parquet'\n", + "Saving model to output_dir/model_data_076.parquet\n", + "Saving agent to output_dir/agent_data_076.parquet\n", + "7600\n", + "7601\n", + "7602\n", + "7603\n", + "7604\n", + "7605\n", + "7606\n", + "7607\n", + "7608\n", + "7609\n", + "7610\n", + "7611\n", + "7612\n", + "7613\n", + "7614\n", + "7615\n", + "7616\n", + "7617\n", + "7618\n", + "7619\n", + "7620\n", + "7621\n", + "7622\n", + "7623\n", + "7624\n", + "7625\n", + "7626\n", + "7627\n", + "7628\n", + "7629\n", + "7630\n", + "7631\n", + "7632\n", + "7633\n", + "7634\n", + "7635\n", + "7636\n", + "7637\n", + "7638\n", + "7639\n", + "7640\n", + "7641\n", + "7642\n", + "7643\n", + "7644\n", + "7645\n", + "7646\n", + "7647\n", + "7648\n", + "7649\n", + "7650\n", + "7651\n", + "7652\n", + "7653\n", + "7654\n", + "7655\n", + "7656\n", + "7657\n", + "7658\n", + "7659\n", + "7660\n", + "7661\n", + "7662\n", + "7663\n", + "7664\n", + "7665\n", + "7666\n", + "7667\n", + "7668\n", + "7669\n", + "7670\n", + "7671\n", + "7672\n", + "7673\n", + "7674\n", + "7675\n", + "7676\n", + "7677\n", + "7678\n", + "7679\n", + "7680\n", + "7681\n", + "7682\n", + "7683\n", + "7684\n", + "7685\n", + "7686\n", + "7687\n", + "7688\n", + "7689\n", + "7690\n", + "7691\n", + "7692\n", + "7693\n", + "7694\n", + "7695\n", + "7696\n", + "7697\n", + "7698\n", + "7699\n", + "CALLED\n", + "self.model._steps=7700\n", + " TEST self.model._steps=7700\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "7600 0.6758\n", + "7601 0.6774\n", + "7602 0.6970\n", + "7603 0.6934\n", + "7604 0.6738\n", + "... ...\n", + "7695 0.6820\n", + "7696 0.6854\n", + "7697 0.6614\n", + "7698 0.6598\n", + "7699 0.6828\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_077.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_077.parquet'\n", + "Saving model to output_dir/model_data_077.parquet\n", + "Saving agent to output_dir/agent_data_077.parquet\n", + "7700\n", + "7701\n", + "7702\n", + "7703\n", + "7704\n", + "7705\n", + "7706\n", + "7707\n", + "7708\n", + "7709\n", + "7710\n", + "7711\n", + "7712\n", + "7713\n", + "7714\n", + "7715\n", + "7716\n", + "7717\n", + "7718\n", + "7719\n", + "7720\n", + "7721\n", + "7722\n", + "7723\n", + "7724\n", + "7725\n", + "7726\n", + "7727\n", + "7728\n", + "7729\n", + "7730\n", + "7731\n", + "7732\n", + "7733\n", + "7734\n", + "7735\n", + "7736\n", + "7737\n", + "7738\n", + "7739\n", + "7740\n", + "7741\n", + "7742\n", + "7743\n", + "7744\n", + "7745\n", + "7746\n", + "7747\n", + "7748\n", + "7749\n", + "7750\n", + "7751\n", + "7752\n", + "7753\n", + "7754\n", + "7755\n", + "7756\n", + "7757\n", + "7758\n", + "7759\n", + "7760\n", + "7761\n", + "7762\n", + "7763\n", + "7764\n", + "7765\n", + "7766\n", + "7767\n", + "7768\n", + "7769\n", + "7770\n", + "7771\n", + "7772\n", + "7773\n", + "7774\n", + "7775\n", + "7776\n", + "7777\n", + "7778\n", + "7779\n", + "7780\n", + "7781\n", + "7782\n", + "7783\n", + "7784\n", + "7785\n", + "7786\n", + "7787\n", + "7788\n", + "7789\n", + "7790\n", + "7791\n", + "7792\n", + "7793\n", + "7794\n", + "7795\n", + "7796\n", + "7797\n", + "7798\n", + "7799\n", + "CALLED\n", + "self.model._steps=7800\n", + " TEST self.model._steps=7800\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "7700 0.6920\n", + "7701 0.7154\n", + "7702 0.7136\n", + "7703 0.6998\n", + "7704 0.7004\n", + "... ...\n", + "7795 0.6688\n", + "7796 0.6688\n", + "7797 0.6500\n", + "7798 0.6186\n", + "7799 0.6290\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_078.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_078.parquet'\n", + "Saving model to output_dir/model_data_078.parquet\n", + "Saving agent to output_dir/agent_data_078.parquet\n", + "7800\n", + "7801\n", + "7802\n", + "7803\n", + "7804\n", + "7805\n", + "7806\n", + "7807\n", + "7808\n", + "7809\n", + "7810\n", + "7811\n", + "7812\n", + "7813\n", + "7814\n", + "7815\n", + "7816\n", + "7817\n", + "7818\n", + "7819\n", + "7820\n", + "7821\n", + "7822\n", + "7823\n", + "7824\n", + "7825\n", + "7826\n", + "7827\n", + "7828\n", + "7829\n", + "7830\n", + "7831\n", + "7832\n", + "7833\n", + "7834\n", + "7835\n", + "7836\n", + "7837\n", + "7838\n", + "7839\n", + "7840\n", + "7841\n", + "7842\n", + "7843\n", + "7844\n", + "7845\n", + "7846\n", + "7847\n", + "7848\n", + "7849\n", + "7850\n", + "7851\n", + "7852\n", + "7853\n", + "7854\n", + "7855\n", + "7856\n", + "7857\n", + "7858\n", + "7859\n", + "7860\n", + "7861\n", + "7862\n", + "7863\n", + "7864\n", + "7865\n", + "7866\n", + "7867\n", + "7868\n", + "7869\n", + "7870\n", + "7871\n", + "7872\n", + "7873\n", + "7874\n", + "7875\n", + "7876\n", + "7877\n", + "7878\n", + "7879\n", + "7880\n", + "7881\n", + "7882\n", + "7883\n", + "7884\n", + "7885\n", + "7886\n", + "7887\n", + "7888\n", + "7889\n", + "7890\n", + "7891\n", + "7892\n", + "7893\n", + "7894\n", + "7895\n", + "7896\n", + "7897\n", + "7898\n", + "7899\n", + "CALLED\n", + "self.model._steps=7900\n", + " TEST self.model._steps=7900\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "7800 0.6536\n", + "7801 0.6282\n", + "7802 0.5970\n", + "7803 0.5968\n", + "7804 0.5590\n", + "... ...\n", + "7895 0.6542\n", + "7896 0.6522\n", + "7897 0.6520\n", + "7898 0.6602\n", + "7899 0.6742\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_079.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_079.parquet'\n", + "Saving model to output_dir/model_data_079.parquet\n", + "Saving agent to output_dir/agent_data_079.parquet\n", + "7900\n", + "7901\n", + "7902\n", + "7903\n", + "7904\n", + "7905\n", + "7906\n", + "7907\n", + "7908\n", + "7909\n", + "7910\n", + "7911\n", + "7912\n", + "7913\n", + "7914\n", + "7915\n", + "7916\n", + "7917\n", + "7918\n", + "7919\n", + "7920\n", + "7921\n", + "7922\n", + "7923\n", + "7924\n", + "7925\n", + "7926\n", + "7927\n", + "7928\n", + "7929\n", + "7930\n", + "7931\n", + "7932\n", + "7933\n", + "7934\n", + "7935\n", + "7936\n", + "7937\n", + "7938\n", + "7939\n", + "7940\n", + "7941\n", + "7942\n", + "7943\n", + "7944\n", + "7945\n", + "7946\n", + "7947\n", + "7948\n", + "7949\n", + "7950\n", + "7951\n", + "7952\n", + "7953\n", + "7954\n", + "7955\n", + "7956\n", + "7957\n", + "7958\n", + "7959\n", + "7960\n", + "7961\n", + "7962\n", + "7963\n", + "7964\n", + "7965\n", + "7966\n", + "7967\n", + "7968\n", + "7969\n", + "7970\n", + "7971\n", + "7972\n", + "7973\n", + "7974\n", + "7975\n", + "7976\n", + "7977\n", + "7978\n", + "7979\n", + "7980\n", + "7981\n", + "7982\n", + "7983\n", + "7984\n", + "7985\n", + "7986\n", + "7987\n", + "7988\n", + "7989\n", + "7990\n", + "7991\n", + "7992\n", + "7993\n", + "7994\n", + "7995\n", + "7996\n", + "7997\n", + "7998\n", + "7999\n", + "CALLED\n", + "self.model._steps=8000\n", + " TEST self.model._steps=8000\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "7900 0.6750\n", + "7901 0.6750\n", + "7902 0.6586\n", + "7903 0.6552\n", + "7904 0.6562\n", + "... ...\n", + "7995 0.6274\n", + "7996 0.6490\n", + "7997 0.6490\n", + "7998 0.6466\n", + "7999 0.6676\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_080.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_080.parquet'\n", + "Saving model to output_dir/model_data_080.parquet\n", + "Saving agent to output_dir/agent_data_080.parquet\n", + "8000\n", + "8001\n", + "8002\n", + "8003\n", + "8004\n", + "8005\n", + "8006\n", + "8007\n", + "8008\n", + "8009\n", + "8010\n", + "8011\n", + "8012\n", + "8013\n", + "8014\n", + "8015\n", + "8016\n", + "8017\n", + "8018\n", + "8019\n", + "8020\n", + "8021\n", + "8022\n", + "8023\n", + "8024\n", + "8025\n", + "8026\n", + "8027\n", + "8028\n", + "8029\n", + "8030\n", + "8031\n", + "8032\n", + "8033\n", + "8034\n", + "8035\n", + "8036\n", + "8037\n", + "8038\n", + "8039\n", + "8040\n", + "8041\n", + "8042\n", + "8043\n", + "8044\n", + "8045\n", + "8046\n", + "8047\n", + "8048\n", + "8049\n", + "8050\n", + "8051\n", + "8052\n", + "8053\n", + "8054\n", + "8055\n", + "8056\n", + "8057\n", + "8058\n", + "8059\n", + "8060\n", + "8061\n", + "8062\n", + "8063\n", + "8064\n", + "8065\n", + "8066\n", + "8067\n", + "8068\n", + "8069\n", + "8070\n", + "8071\n", + "8072\n", + "8073\n", + "8074\n", + "8075\n", + "8076\n", + "8077\n", + "8078\n", + "8079\n", + "8080\n", + "8081\n", + "8082\n", + "8083\n", + "8084\n", + "8085\n", + "8086\n", + "8087\n", + "8088\n", + "8089\n", + "8090\n", + "8091\n", + "8092\n", + "8093\n", + "8094\n", + "8095\n", + "8096\n", + "8097\n", + "8098\n", + "8099\n", + "CALLED\n", + "self.model._steps=8100\n", + " TEST self.model._steps=8100\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "8000 0.6536\n", + "8001 0.6876\n", + "8002 0.6596\n", + "8003 0.6678\n", + "8004 0.6604\n", + "... ...\n", + "8095 0.6826\n", + "8096 0.6794\n", + "8097 0.6702\n", + "8098 0.6896\n", + "8099 0.6846\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_081.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_081.parquet'\n", + "Saving model to output_dir/model_data_081.parquet\n", + "Saving agent to output_dir/agent_data_081.parquet\n", + "8100\n", + "8101\n", + "8102\n", + "8103\n", + "8104\n", + "8105\n", + "8106\n", + "8107\n", + "8108\n", + "8109\n", + "8110\n", + "8111\n", + "8112\n", + "8113\n", + "8114\n", + "8115\n", + "8116\n", + "8117\n", + "8118\n", + "8119\n", + "8120\n", + "8121\n", + "8122\n", + "8123\n", + "8124\n", + "8125\n", + "8126\n", + "8127\n", + "8128\n", + "8129\n", + "8130\n", + "8131\n", + "8132\n", + "8133\n", + "8134\n", + "8135\n", + "8136\n", + "8137\n", + "8138\n", + "8139\n", + "8140\n", + "8141\n", + "8142\n", + "8143\n", + "8144\n", + "8145\n", + "8146\n", + "8147\n", + "8148\n", + "8149\n", + "8150\n", + "8151\n", + "8152\n", + "8153\n", + "8154\n", + "8155\n", + "8156\n", + "8157\n", + "8158\n", + "8159\n", + "8160\n", + "8161\n", + "8162\n", + "8163\n", + "8164\n", + "8165\n", + "8166\n", + "8167\n", + "8168\n", + "8169\n", + "8170\n", + "8171\n", + "8172\n", + "8173\n", + "8174\n", + "8175\n", + "8176\n", + "8177\n", + "8178\n", + "8179\n", + "8180\n", + "8181\n", + "8182\n", + "8183\n", + "8184\n", + "8185\n", + "8186\n", + "8187\n", + "8188\n", + "8189\n", + "8190\n", + "8191\n", + "8192\n", + "8193\n", + "8194\n", + "8195\n", + "8196\n", + "8197\n", + "8198\n", + "8199\n", + "CALLED\n", + "self.model._steps=8200\n", + " TEST self.model._steps=8200\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "8100 0.6596\n", + "8101 0.6556\n", + "8102 0.6390\n", + "8103 0.6512\n", + "8104 0.6536\n", + "... ...\n", + "8195 0.6192\n", + "8196 0.5868\n", + "8197 0.5528\n", + "8198 0.5546\n", + "8199 0.5764\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_082.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_082.parquet'\n", + "Saving model to output_dir/model_data_082.parquet\n", + "Saving agent to output_dir/agent_data_082.parquet\n", + "8200\n", + "8201\n", + "8202\n", + "8203\n", + "8204\n", + "8205\n", + "8206\n", + "8207\n", + "8208\n", + "8209\n", + "8210\n", + "8211\n", + "8212\n", + "8213\n", + "8214\n", + "8215\n", + "8216\n", + "8217\n", + "8218\n", + "8219\n", + "8220\n", + "8221\n", + "8222\n", + "8223\n", + "8224\n", + "8225\n", + "8226\n", + "8227\n", + "8228\n", + "8229\n", + "8230\n", + "8231\n", + "8232\n", + "8233\n", + "8234\n", + "8235\n", + "8236\n", + "8237\n", + "8238\n", + "8239\n", + "8240\n", + "8241\n", + "8242\n", + "8243\n", + "8244\n", + "8245\n", + "8246\n", + "8247\n", + "8248\n", + "8249\n", + "8250\n", + "8251\n", + "8252\n", + "8253\n", + "8254\n", + "8255\n", + "8256\n", + "8257\n", + "8258\n", + "8259\n", + "8260\n", + "8261\n", + "8262\n", + "8263\n", + "8264\n", + "8265\n", + "8266\n", + "8267\n", + "8268\n", + "8269\n", + "8270\n", + "8271\n", + "8272\n", + "8273\n", + "8274\n", + "8275\n", + "8276\n", + "8277\n", + "8278\n", + "8279\n", + "8280\n", + "8281\n", + "8282\n", + "8283\n", + "8284\n", + "8285\n", + "8286\n", + "8287\n", + "8288\n", + "8289\n", + "8290\n", + "8291\n", + "8292\n", + "8293\n", + "8294\n", + "8295\n", + "8296\n", + "8297\n", + "8298\n", + "8299\n", + "CALLED\n", + "self.model._steps=8300\n", + " TEST self.model._steps=8300\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "8200 0.5874\n", + "8201 0.6296\n", + "8202 0.6404\n", + "8203 0.6348\n", + "8204 0.6300\n", + "... ...\n", + "8295 0.6170\n", + "8296 0.6200\n", + "8297 0.6168\n", + "8298 0.6098\n", + "8299 0.6362\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_083.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_083.parquet'\n", + "Saving model to output_dir/model_data_083.parquet\n", + "Saving agent to output_dir/agent_data_083.parquet\n", + "8300\n", + "8301\n", + "8302\n", + "8303\n", + "8304\n", + "8305\n", + "8306\n", + "8307\n", + "8308\n", + "8309\n", + "8310\n", + "8311\n", + "8312\n", + "8313\n", + "8314\n", + "8315\n", + "8316\n", + "8317\n", + "8318\n", + "8319\n", + "8320\n", + "8321\n", + "8322\n", + "8323\n", + "8324\n", + "8325\n", + "8326\n", + "8327\n", + "8328\n", + "8329\n", + "8330\n", + "8331\n", + "8332\n", + "8333\n", + "8334\n", + "8335\n", + "8336\n", + "8337\n", + "8338\n", + "8339\n", + "8340\n", + "8341\n", + "8342\n", + "8343\n", + "8344\n", + "8345\n", + "8346\n", + "8347\n", + "8348\n", + "8349\n", + "8350\n", + "8351\n", + "8352\n", + "8353\n", + "8354\n", + "8355\n", + "8356\n", + "8357\n", + "8358\n", + "8359\n", + "8360\n", + "8361\n", + "8362\n", + "8363\n", + "8364\n", + "8365\n", + "8366\n", + "8367\n", + "8368\n", + "8369\n", + "8370\n", + "8371\n", + "8372\n", + "8373\n", + "8374\n", + "8375\n", + "8376\n", + "8377\n", + "8378\n", + "8379\n", + "8380\n", + "8381\n", + "8382\n", + "8383\n", + "8384\n", + "8385\n", + "8386\n", + "8387\n", + "8388\n", + "8389\n", + "8390\n", + "8391\n", + "8392\n", + "8393\n", + "8394\n", + "8395\n", + "8396\n", + "8397\n", + "8398\n", + "8399\n", + "CALLED\n", + "self.model._steps=8400\n", + " TEST self.model._steps=8400\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "8300 0.6248\n", + "8301 0.6196\n", + "8302 0.5904\n", + "8303 0.5808\n", + "8304 0.6252\n", + "... ...\n", + "8395 0.6416\n", + "8396 0.6250\n", + "8397 0.6210\n", + "8398 0.6002\n", + "8399 0.6116\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_084.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_084.parquet'\n", + "Saving model to output_dir/model_data_084.parquet\n", + "Saving agent to output_dir/agent_data_084.parquet\n", + "8400\n", + "8401\n", + "8402\n", + "8403\n", + "8404\n", + "8405\n", + "8406\n", + "8407\n", + "8408\n", + "8409\n", + "8410\n", + "8411\n", + "8412\n", + "8413\n", + "8414\n", + "8415\n", + "8416\n", + "8417\n", + "8418\n", + "8419\n", + "8420\n", + "8421\n", + "8422\n", + "8423\n", + "8424\n", + "8425\n", + "8426\n", + "8427\n", + "8428\n", + "8429\n", + "8430\n", + "8431\n", + "8432\n", + "8433\n", + "8434\n", + "8435\n", + "8436\n", + "8437\n", + "8438\n", + "8439\n", + "8440\n", + "8441\n", + "8442\n", + "8443\n", + "8444\n", + "8445\n", + "8446\n", + "8447\n", + "8448\n", + "8449\n", + "8450\n", + "8451\n", + "8452\n", + "8453\n", + "8454\n", + "8455\n", + "8456\n", + "8457\n", + "8458\n", + "8459\n", + "8460\n", + "8461\n", + "8462\n", + "8463\n", + "8464\n", + "8465\n", + "8466\n", + "8467\n", + "8468\n", + "8469\n", + "8470\n", + "8471\n", + "8472\n", + "8473\n", + "8474\n", + "8475\n", + "8476\n", + "8477\n", + "8478\n", + "8479\n", + "8480\n", + "8481\n", + "8482\n", + "8483\n", + "8484\n", + "8485\n", + "8486\n", + "8487\n", + "8488\n", + "8489\n", + "8490\n", + "8491\n", + "8492\n", + "8493\n", + "8494\n", + "8495\n", + "8496\n", + "8497\n", + "8498\n", + "8499\n", + "CALLED\n", + "self.model._steps=8500\n", + " TEST self.model._steps=8500\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "8400 0.6312\n", + "8401 0.6326\n", + "8402 0.6460\n", + "8403 0.6402\n", + "8404 0.6592\n", + "... ...\n", + "8495 0.6840\n", + "8496 0.6944\n", + "8497 0.6580\n", + "8498 0.6248\n", + "8499 0.6256\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_085.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_085.parquet'\n", + "Saving model to output_dir/model_data_085.parquet\n", + "Saving agent to output_dir/agent_data_085.parquet\n", + "8500\n", + "8501\n", + "8502\n", + "8503\n", + "8504\n", + "8505\n", + "8506\n", + "8507\n", + "8508\n", + "8509\n", + "8510\n", + "8511\n", + "8512\n", + "8513\n", + "8514\n", + "8515\n", + "8516\n", + "8517\n", + "8518\n", + "8519\n", + "8520\n", + "8521\n", + "8522\n", + "8523\n", + "8524\n", + "8525\n", + "8526\n", + "8527\n", + "8528\n", + "8529\n", + "8530\n", + "8531\n", + "8532\n", + "8533\n", + "8534\n", + "8535\n", + "8536\n", + "8537\n", + "8538\n", + "8539\n", + "8540\n", + "8541\n", + "8542\n", + "8543\n", + "8544\n", + "8545\n", + "8546\n", + "8547\n", + "8548\n", + "8549\n", + "8550\n", + "8551\n", + "8552\n", + "8553\n", + "8554\n", + "8555\n", + "8556\n", + "8557\n", + "8558\n", + "8559\n", + "8560\n", + "8561\n", + "8562\n", + "8563\n", + "8564\n", + "8565\n", + "8566\n", + "8567\n", + "8568\n", + "8569\n", + "8570\n", + "8571\n", + "8572\n", + "8573\n", + "8574\n", + "8575\n", + "8576\n", + "8577\n", + "8578\n", + "8579\n", + "8580\n", + "8581\n", + "8582\n", + "8583\n", + "8584\n", + "8585\n", + "8586\n", + "8587\n", + "8588\n", + "8589\n", + "8590\n", + "8591\n", + "8592\n", + "8593\n", + "8594\n", + "8595\n", + "8596\n", + "8597\n", + "8598\n", + "8599\n", + "CALLED\n", + "self.model._steps=8600\n", + " TEST self.model._steps=8600\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "8500 0.5962\n", + "8501 0.5966\n", + "8502 0.5870\n", + "8503 0.6094\n", + "8504 0.6174\n", + "... ...\n", + "8595 0.7202\n", + "8596 0.7282\n", + "8597 0.7224\n", + "8598 0.6968\n", + "8599 0.6676\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_086.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_086.parquet'\n", + "Saving model to output_dir/model_data_086.parquet\n", + "Saving agent to output_dir/agent_data_086.parquet\n", + "8600\n", + "8601\n", + "8602\n", + "8603\n", + "8604\n", + "8605\n", + "8606\n", + "8607\n", + "8608\n", + "8609\n", + "8610\n", + "8611\n", + "8612\n", + "8613\n", + "8614\n", + "8615\n", + "8616\n", + "8617\n", + "8618\n", + "8619\n", + "8620\n", + "8621\n", + "8622\n", + "8623\n", + "8624\n", + "8625\n", + "8626\n", + "8627\n", + "8628\n", + "8629\n", + "8630\n", + "8631\n", + "8632\n", + "8633\n", + "8634\n", + "8635\n", + "8636\n", + "8637\n", + "8638\n", + "8639\n", + "8640\n", + "8641\n", + "8642\n", + "8643\n", + "8644\n", + "8645\n", + "8646\n", + "8647\n", + "8648\n", + "8649\n", + "8650\n", + "8651\n", + "8652\n", + "8653\n", + "8654\n", + "8655\n", + "8656\n", + "8657\n", + "8658\n", + "8659\n", + "8660\n", + "8661\n", + "8662\n", + "8663\n", + "8664\n", + "8665\n", + "8666\n", + "8667\n", + "8668\n", + "8669\n", + "8670\n", + "8671\n", + "8672\n", + "8673\n", + "8674\n", + "8675\n", + "8676\n", + "8677\n", + "8678\n", + "8679\n", + "8680\n", + "8681\n", + "8682\n", + "8683\n", + "8684\n", + "8685\n", + "8686\n", + "8687\n", + "8688\n", + "8689\n", + "8690\n", + "8691\n", + "8692\n", + "8693\n", + "8694\n", + "8695\n", + "8696\n", + "8697\n", + "8698\n", + "8699\n", + "CALLED\n", + "self.model._steps=8700\n", + " TEST self.model._steps=8700\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "8600 0.6634\n", + "8601 0.6824\n", + "8602 0.7022\n", + "8603 0.6984\n", + "8604 0.6728\n", + "... ...\n", + "8695 0.6688\n", + "8696 0.6624\n", + "8697 0.6290\n", + "8698 0.6286\n", + "8699 0.6720\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_087.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_087.parquet'\n", + "Saving model to output_dir/model_data_087.parquet\n", + "Saving agent to output_dir/agent_data_087.parquet\n", + "8700\n", + "8701\n", + "8702\n", + "8703\n", + "8704\n", + "8705\n", + "8706\n", + "8707\n", + "8708\n", + "8709\n", + "8710\n", + "8711\n", + "8712\n", + "8713\n", + "8714\n", + "8715\n", + "8716\n", + "8717\n", + "8718\n", + "8719\n", + "8720\n", + "8721\n", + "8722\n", + "8723\n", + "8724\n", + "8725\n", + "8726\n", + "8727\n", + "8728\n", + "8729\n", + "8730\n", + "8731\n", + "8732\n", + "8733\n", + "8734\n", + "8735\n", + "8736\n", + "8737\n", + "8738\n", + "8739\n", + "8740\n", + "8741\n", + "8742\n", + "8743\n", + "8744\n", + "8745\n", + "8746\n", + "8747\n", + "8748\n", + "8749\n", + "8750\n", + "8751\n", + "8752\n", + "8753\n", + "8754\n", + "8755\n", + "8756\n", + "8757\n", + "8758\n", + "8759\n", + "8760\n", + "8761\n", + "8762\n", + "8763\n", + "8764\n", + "8765\n", + "8766\n", + "8767\n", + "8768\n", + "8769\n", + "8770\n", + "8771\n", + "8772\n", + "8773\n", + "8774\n", + "8775\n", + "8776\n", + "8777\n", + "8778\n", + "8779\n", + "8780\n", + "8781\n", + "8782\n", + "8783\n", + "8784\n", + "8785\n", + "8786\n", + "8787\n", + "8788\n", + "8789\n", + "8790\n", + "8791\n", + "8792\n", + "8793\n", + "8794\n", + "8795\n", + "8796\n", + "8797\n", + "8798\n", + "8799\n", + "CALLED\n", + "self.model._steps=8800\n", + " TEST self.model._steps=8800\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "8700 0.6530\n", + "8701 0.6516\n", + "8702 0.6486\n", + "8703 0.6506\n", + "8704 0.6426\n", + "... ...\n", + "8795 0.6002\n", + "8796 0.6142\n", + "8797 0.6314\n", + "8798 0.6416\n", + "8799 0.6268\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_088.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_088.parquet'\n", + "Saving model to output_dir/model_data_088.parquet\n", + "Saving agent to output_dir/agent_data_088.parquet\n", + "8800\n", + "8801\n", + "8802\n", + "8803\n", + "8804\n", + "8805\n", + "8806\n", + "8807\n", + "8808\n", + "8809\n", + "8810\n", + "8811\n", + "8812\n", + "8813\n", + "8814\n", + "8815\n", + "8816\n", + "8817\n", + "8818\n", + "8819\n", + "8820\n", + "8821\n", + "8822\n", + "8823\n", + "8824\n", + "8825\n", + "8826\n", + "8827\n", + "8828\n", + "8829\n", + "8830\n", + "8831\n", + "8832\n", + "8833\n", + "8834\n", + "8835\n", + "8836\n", + "8837\n", + "8838\n", + "8839\n", + "8840\n", + "8841\n", + "8842\n", + "8843\n", + "8844\n", + "8845\n", + "8846\n", + "8847\n", + "8848\n", + "8849\n", + "8850\n", + "8851\n", + "8852\n", + "8853\n", + "8854\n", + "8855\n", + "8856\n", + "8857\n", + "8858\n", + "8859\n", + "8860\n", + "8861\n", + "8862\n", + "8863\n", + "8864\n", + "8865\n", + "8866\n", + "8867\n", + "8868\n", + "8869\n", + "8870\n", + "8871\n", + "8872\n", + "8873\n", + "8874\n", + "8875\n", + "8876\n", + "8877\n", + "8878\n", + "8879\n", + "8880\n", + "8881\n", + "8882\n", + "8883\n", + "8884\n", + "8885\n", + "8886\n", + "8887\n", + "8888\n", + "8889\n", + "8890\n", + "8891\n", + "8892\n", + "8893\n", + "8894\n", + "8895\n", + "8896\n", + "8897\n", + "8898\n", + "8899\n", + "CALLED\n", + "self.model._steps=8900\n", + " TEST self.model._steps=8900\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "8800 0.6426\n", + "8801 0.6366\n", + "8802 0.6264\n", + "8803 0.6396\n", + "8804 0.6566\n", + "... ...\n", + "8895 0.6882\n", + "8896 0.6882\n", + "8897 0.6818\n", + "8898 0.6820\n", + "8899 0.6970\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_089.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_089.parquet'\n", + "Saving model to output_dir/model_data_089.parquet\n", + "Saving agent to output_dir/agent_data_089.parquet\n", + "8900\n", + "8901\n", + "8902\n", + "8903\n", + "8904\n", + "8905\n", + "8906\n", + "8907\n", + "8908\n", + "8909\n", + "8910\n", + "8911\n", + "8912\n", + "8913\n", + "8914\n", + "8915\n", + "8916\n", + "8917\n", + "8918\n", + "8919\n", + "8920\n", + "8921\n", + "8922\n", + "8923\n", + "8924\n", + "8925\n", + "8926\n", + "8927\n", + "8928\n", + "8929\n", + "8930\n", + "8931\n", + "8932\n", + "8933\n", + "8934\n", + "8935\n", + "8936\n", + "8937\n", + "8938\n", + "8939\n", + "8940\n", + "8941\n", + "8942\n", + "8943\n", + "8944\n", + "8945\n", + "8946\n", + "8947\n", + "8948\n", + "8949\n", + "8950\n", + "8951\n", + "8952\n", + "8953\n", + "8954\n", + "8955\n", + "8956\n", + "8957\n", + "8958\n", + "8959\n", + "8960\n", + "8961\n", + "8962\n", + "8963\n", + "8964\n", + "8965\n", + "8966\n", + "8967\n", + "8968\n", + "8969\n", + "8970\n", + "8971\n", + "8972\n", + "8973\n", + "8974\n", + "8975\n", + "8976\n", + "8977\n", + "8978\n", + "8979\n", + "8980\n", + "8981\n", + "8982\n", + "8983\n", + "8984\n", + "8985\n", + "8986\n", + "8987\n", + "8988\n", + "8989\n", + "8990\n", + "8991\n", + "8992\n", + "8993\n", + "8994\n", + "8995\n", + "8996\n", + "8997\n", + "8998\n", + "8999\n", + "CALLED\n", + "self.model._steps=9000\n", + " TEST self.model._steps=9000\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "8900 0.7008\n", + "8901 0.6852\n", + "8902 0.6920\n", + "8903 0.6604\n", + "8904 0.6550\n", + "... ...\n", + "8995 0.7144\n", + "8996 0.6980\n", + "8997 0.6754\n", + "8998 0.6324\n", + "8999 0.6424\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_090.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_090.parquet'\n", + "Saving model to output_dir/model_data_090.parquet\n", + "Saving agent to output_dir/agent_data_090.parquet\n", + "9000\n", + "9001\n", + "9002\n", + "9003\n", + "9004\n", + "9005\n", + "9006\n", + "9007\n", + "9008\n", + "9009\n", + "9010\n", + "9011\n", + "9012\n", + "9013\n", + "9014\n", + "9015\n", + "9016\n", + "9017\n", + "9018\n", + "9019\n", + "9020\n", + "9021\n", + "9022\n", + "9023\n", + "9024\n", + "9025\n", + "9026\n", + "9027\n", + "9028\n", + "9029\n", + "9030\n", + "9031\n", + "9032\n", + "9033\n", + "9034\n", + "9035\n", + "9036\n", + "9037\n", + "9038\n", + "9039\n", + "9040\n", + "9041\n", + "9042\n", + "9043\n", + "9044\n", + "9045\n", + "9046\n", + "9047\n", + "9048\n", + "9049\n", + "9050\n", + "9051\n", + "9052\n", + "9053\n", + "9054\n", + "9055\n", + "9056\n", + "9057\n", + "9058\n", + "9059\n", + "9060\n", + "9061\n", + "9062\n", + "9063\n", + "9064\n", + "9065\n", + "9066\n", + "9067\n", + "9068\n", + "9069\n", + "9070\n", + "9071\n", + "9072\n", + "9073\n", + "9074\n", + "9075\n", + "9076\n", + "9077\n", + "9078\n", + "9079\n", + "9080\n", + "9081\n", + "9082\n", + "9083\n", + "9084\n", + "9085\n", + "9086\n", + "9087\n", + "9088\n", + "9089\n", + "9090\n", + "9091\n", + "9092\n", + "9093\n", + "9094\n", + "9095\n", + "9096\n", + "9097\n", + "9098\n", + "9099\n", + "CALLED\n", + "self.model._steps=9100\n", + " TEST self.model._steps=9100\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "9000 0.6600\n", + "9001 0.6660\n", + "9002 0.6482\n", + "9003 0.6292\n", + "9004 0.6260\n", + "... ...\n", + "9095 0.6864\n", + "9096 0.6864\n", + "9097 0.6562\n", + "9098 0.6756\n", + "9099 0.6722\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_091.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_091.parquet'\n", + "Saving model to output_dir/model_data_091.parquet\n", + "Saving agent to output_dir/agent_data_091.parquet\n", + "9100\n", + "9101\n", + "9102\n", + "9103\n", + "9104\n", + "9105\n", + "9106\n", + "9107\n", + "9108\n", + "9109\n", + "9110\n", + "9111\n", + "9112\n", + "9113\n", + "9114\n", + "9115\n", + "9116\n", + "9117\n", + "9118\n", + "9119\n", + "9120\n", + "9121\n", + "9122\n", + "9123\n", + "9124\n", + "9125\n", + "9126\n", + "9127\n", + "9128\n", + "9129\n", + "9130\n", + "9131\n", + "9132\n", + "9133\n", + "9134\n", + "9135\n", + "9136\n", + "9137\n", + "9138\n", + "9139\n", + "9140\n", + "9141\n", + "9142\n", + "9143\n", + "9144\n", + "9145\n", + "9146\n", + "9147\n", + "9148\n", + "9149\n", + "9150\n", + "9151\n", + "9152\n", + "9153\n", + "9154\n", + "9155\n", + "9156\n", + "9157\n", + "9158\n", + "9159\n", + "9160\n", + "9161\n", + "9162\n", + "9163\n", + "9164\n", + "9165\n", + "9166\n", + "9167\n", + "9168\n", + "9169\n", + "9170\n", + "9171\n", + "9172\n", + "9173\n", + "9174\n", + "9175\n", + "9176\n", + "9177\n", + "9178\n", + "9179\n", + "9180\n", + "9181\n", + "9182\n", + "9183\n", + "9184\n", + "9185\n", + "9186\n", + "9187\n", + "9188\n", + "9189\n", + "9190\n", + "9191\n", + "9192\n", + "9193\n", + "9194\n", + "9195\n", + "9196\n", + "9197\n", + "9198\n", + "9199\n", + "CALLED\n", + "self.model._steps=9200\n", + " TEST self.model._steps=9200\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "9100 0.6948\n", + "9101 0.6942\n", + "9102 0.6880\n", + "9103 0.6748\n", + "9104 0.6588\n", + "... ...\n", + "9195 0.6270\n", + "9196 0.6274\n", + "9197 0.6492\n", + "9198 0.6668\n", + "9199 0.6688\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_092.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_092.parquet'\n", + "Saving model to output_dir/model_data_092.parquet\n", + "Saving agent to output_dir/agent_data_092.parquet\n", + "9200\n", + "9201\n", + "9202\n", + "9203\n", + "9204\n", + "9205\n", + "9206\n", + "9207\n", + "9208\n", + "9209\n", + "9210\n", + "9211\n", + "9212\n", + "9213\n", + "9214\n", + "9215\n", + "9216\n", + "9217\n", + "9218\n", + "9219\n", + "9220\n", + "9221\n", + "9222\n", + "9223\n", + "9224\n", + "9225\n", + "9226\n", + "9227\n", + "9228\n", + "9229\n", + "9230\n", + "9231\n", + "9232\n", + "9233\n", + "9234\n", + "9235\n", + "9236\n", + "9237\n", + "9238\n", + "9239\n", + "9240\n", + "9241\n", + "9242\n", + "9243\n", + "9244\n", + "9245\n", + "9246\n", + "9247\n", + "9248\n", + "9249\n", + "9250\n", + "9251\n", + "9252\n", + "9253\n", + "9254\n", + "9255\n", + "9256\n", + "9257\n", + "9258\n", + "9259\n", + "9260\n", + "9261\n", + "9262\n", + "9263\n", + "9264\n", + "9265\n", + "9266\n", + "9267\n", + "9268\n", + "9269\n", + "9270\n", + "9271\n", + "9272\n", + "9273\n", + "9274\n", + "9275\n", + "9276\n", + "9277\n", + "9278\n", + "9279\n", + "9280\n", + "9281\n", + "9282\n", + "9283\n", + "9284\n", + "9285\n", + "9286\n", + "9287\n", + "9288\n", + "9289\n", + "9290\n", + "9291\n", + "9292\n", + "9293\n", + "9294\n", + "9295\n", + "9296\n", + "9297\n", + "9298\n", + "9299\n", + "CALLED\n", + "self.model._steps=9300\n", + " TEST self.model._steps=9300\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "9200 0.6650\n", + "9201 0.6328\n", + "9202 0.6276\n", + "9203 0.6102\n", + "9204 0.6698\n", + "... ...\n", + "9295 0.6362\n", + "9296 0.5956\n", + "9297 0.6454\n", + "9298 0.6164\n", + "9299 0.6040\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_093.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_093.parquet'\n", + "Saving model to output_dir/model_data_093.parquet\n", + "Saving agent to output_dir/agent_data_093.parquet\n", + "9300\n", + "9301\n", + "9302\n", + "9303\n", + "9304\n", + "9305\n", + "9306\n", + "9307\n", + "9308\n", + "9309\n", + "9310\n", + "9311\n", + "9312\n", + "9313\n", + "9314\n", + "9315\n", + "9316\n", + "9317\n", + "9318\n", + "9319\n", + "9320\n", + "9321\n", + "9322\n", + "9323\n", + "9324\n", + "9325\n", + "9326\n", + "9327\n", + "9328\n", + "9329\n", + "9330\n", + "9331\n", + "9332\n", + "9333\n", + "9334\n", + "9335\n", + "9336\n", + "9337\n", + "9338\n", + "9339\n", + "9340\n", + "9341\n", + "9342\n", + "9343\n", + "9344\n", + "9345\n", + "9346\n", + "9347\n", + "9348\n", + "9349\n", + "9350\n", + "9351\n", + "9352\n", + "9353\n", + "9354\n", + "9355\n", + "9356\n", + "9357\n", + "9358\n", + "9359\n", + "9360\n", + "9361\n", + "9362\n", + "9363\n", + "9364\n", + "9365\n", + "9366\n", + "9367\n", + "9368\n", + "9369\n", + "9370\n", + "9371\n", + "9372\n", + "9373\n", + "9374\n", + "9375\n", + "9376\n", + "9377\n", + "9378\n", + "9379\n", + "9380\n", + "9381\n", + "9382\n", + "9383\n", + "9384\n", + "9385\n", + "9386\n", + "9387\n", + "9388\n", + "9389\n", + "9390\n", + "9391\n", + "9392\n", + "9393\n", + "9394\n", + "9395\n", + "9396\n", + "9397\n", + "9398\n", + "9399\n", + "CALLED\n", + "self.model._steps=9400\n", + " TEST self.model._steps=9400\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "9300 0.5816\n", + "9301 0.6006\n", + "9302 0.6044\n", + "9303 0.6112\n", + "9304 0.6036\n", + "... ...\n", + "9395 0.6742\n", + "9396 0.6826\n", + "9397 0.6758\n", + "9398 0.6590\n", + "9399 0.6568\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_094.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_094.parquet'\n", + "Saving model to output_dir/model_data_094.parquet\n", + "Saving agent to output_dir/agent_data_094.parquet\n", + "9400\n", + "9401\n", + "9402\n", + "9403\n", + "9404\n", + "9405\n", + "9406\n", + "9407\n", + "9408\n", + "9409\n", + "9410\n", + "9411\n", + "9412\n", + "9413\n", + "9414\n", + "9415\n", + "9416\n", + "9417\n", + "9418\n", + "9419\n", + "9420\n", + "9421\n", + "9422\n", + "9423\n", + "9424\n", + "9425\n", + "9426\n", + "9427\n", + "9428\n", + "9429\n", + "9430\n", + "9431\n", + "9432\n", + "9433\n", + "9434\n", + "9435\n", + "9436\n", + "9437\n", + "9438\n", + "9439\n", + "9440\n", + "9441\n", + "9442\n", + "9443\n", + "9444\n", + "9445\n", + "9446\n", + "9447\n", + "9448\n", + "9449\n", + "9450\n", + "9451\n", + "9452\n", + "9453\n", + "9454\n", + "9455\n", + "9456\n", + "9457\n", + "9458\n", + "9459\n", + "9460\n", + "9461\n", + "9462\n", + "9463\n", + "9464\n", + "9465\n", + "9466\n", + "9467\n", + "9468\n", + "9469\n", + "9470\n", + "9471\n", + "9472\n", + "9473\n", + "9474\n", + "9475\n", + "9476\n", + "9477\n", + "9478\n", + "9479\n", + "9480\n", + "9481\n", + "9482\n", + "9483\n", + "9484\n", + "9485\n", + "9486\n", + "9487\n", + "9488\n", + "9489\n", + "9490\n", + "9491\n", + "9492\n", + "9493\n", + "9494\n", + "9495\n", + "9496\n", + "9497\n", + "9498\n", + "9499\n", + "CALLED\n", + "self.model._steps=9500\n", + " TEST self.model._steps=9500\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "9400 0.6706\n", + "9401 0.6598\n", + "9402 0.6360\n", + "9403 0.6558\n", + "9404 0.6356\n", + "... ...\n", + "9495 0.6264\n", + "9496 0.6366\n", + "9497 0.6178\n", + "9498 0.6306\n", + "9499 0.6230\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_095.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_095.parquet'\n", + "Saving model to output_dir/model_data_095.parquet\n", + "Saving agent to output_dir/agent_data_095.parquet\n", + "9500\n", + "9501\n", + "9502\n", + "9503\n", + "9504\n", + "9505\n", + "9506\n", + "9507\n", + "9508\n", + "9509\n", + "9510\n", + "9511\n", + "9512\n", + "9513\n", + "9514\n", + "9515\n", + "9516\n", + "9517\n", + "9518\n", + "9519\n", + "9520\n", + "9521\n", + "9522\n", + "9523\n", + "9524\n", + "9525\n", + "9526\n", + "9527\n", + "9528\n", + "9529\n", + "9530\n", + "9531\n", + "9532\n", + "9533\n", + "9534\n", + "9535\n", + "9536\n", + "9537\n", + "9538\n", + "9539\n", + "9540\n", + "9541\n", + "9542\n", + "9543\n", + "9544\n", + "9545\n", + "9546\n", + "9547\n", + "9548\n", + "9549\n", + "9550\n", + "9551\n", + "9552\n", + "9553\n", + "9554\n", + "9555\n", + "9556\n", + "9557\n", + "9558\n", + "9559\n", + "9560\n", + "9561\n", + "9562\n", + "9563\n", + "9564\n", + "9565\n", + "9566\n", + "9567\n", + "9568\n", + "9569\n", + "9570\n", + "9571\n", + "9572\n", + "9573\n", + "9574\n", + "9575\n", + "9576\n", + "9577\n", + "9578\n", + "9579\n", + "9580\n", + "9581\n", + "9582\n", + "9583\n", + "9584\n", + "9585\n", + "9586\n", + "9587\n", + "9588\n", + "9589\n", + "9590\n", + "9591\n", + "9592\n", + "9593\n", + "9594\n", + "9595\n", + "9596\n", + "9597\n", + "9598\n", + "9599\n", + "CALLED\n", + "self.model._steps=9600\n", + " TEST self.model._steps=9600\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "9500 0.6226\n", + "9501 0.6344\n", + "9502 0.6200\n", + "9503 0.5742\n", + "9504 0.5810\n", + "... ...\n", + "9595 0.5926\n", + "9596 0.6168\n", + "9597 0.6368\n", + "9598 0.5948\n", + "9599 0.5980\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_096.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_096.parquet'\n", + "Saving model to output_dir/model_data_096.parquet\n", + "Saving agent to output_dir/agent_data_096.parquet\n", + "9600\n", + "9601\n", + "9602\n", + "9603\n", + "9604\n", + "9605\n", + "9606\n", + "9607\n", + "9608\n", + "9609\n", + "9610\n", + "9611\n", + "9612\n", + "9613\n", + "9614\n", + "9615\n", + "9616\n", + "9617\n", + "9618\n", + "9619\n", + "9620\n", + "9621\n", + "9622\n", + "9623\n", + "9624\n", + "9625\n", + "9626\n", + "9627\n", + "9628\n", + "9629\n", + "9630\n", + "9631\n", + "9632\n", + "9633\n", + "9634\n", + "9635\n", + "9636\n", + "9637\n", + "9638\n", + "9639\n", + "9640\n", + "9641\n", + "9642\n", + "9643\n", + "9644\n", + "9645\n", + "9646\n", + "9647\n", + "9648\n", + "9649\n", + "9650\n", + "9651\n", + "9652\n", + "9653\n", + "9654\n", + "9655\n", + "9656\n", + "9657\n", + "9658\n", + "9659\n", + "9660\n", + "9661\n", + "9662\n", + "9663\n", + "9664\n", + "9665\n", + "9666\n", + "9667\n", + "9668\n", + "9669\n", + "9670\n", + "9671\n", + "9672\n", + "9673\n", + "9674\n", + "9675\n", + "9676\n", + "9677\n", + "9678\n", + "9679\n", + "9680\n", + "9681\n", + "9682\n", + "9683\n", + "9684\n", + "9685\n", + "9686\n", + "9687\n", + "9688\n", + "9689\n", + "9690\n", + "9691\n", + "9692\n", + "9693\n", + "9694\n", + "9695\n", + "9696\n", + "9697\n", + "9698\n", + "9699\n", + "CALLED\n", + "self.model._steps=9700\n", + " TEST self.model._steps=9700\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "9600 0.5968\n", + "9601 0.6164\n", + "9602 0.6104\n", + "9603 0.5840\n", + "9604 0.6014\n", + "... ...\n", + "9695 0.6778\n", + "9696 0.6622\n", + "9697 0.6408\n", + "9698 0.6512\n", + "9699 0.6408\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_097.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_097.parquet'\n", + "Saving model to output_dir/model_data_097.parquet\n", + "Saving agent to output_dir/agent_data_097.parquet\n", + "9700\n", + "9701\n", + "9702\n", + "9703\n", + "9704\n", + "9705\n", + "9706\n", + "9707\n", + "9708\n", + "9709\n", + "9710\n", + "9711\n", + "9712\n", + "9713\n", + "9714\n", + "9715\n", + "9716\n", + "9717\n", + "9718\n", + "9719\n", + "9720\n", + "9721\n", + "9722\n", + "9723\n", + "9724\n", + "9725\n", + "9726\n", + "9727\n", + "9728\n", + "9729\n", + "9730\n", + "9731\n", + "9732\n", + "9733\n", + "9734\n", + "9735\n", + "9736\n", + "9737\n", + "9738\n", + "9739\n", + "9740\n", + "9741\n", + "9742\n", + "9743\n", + "9744\n", + "9745\n", + "9746\n", + "9747\n", + "9748\n", + "9749\n", + "9750\n", + "9751\n", + "9752\n", + "9753\n", + "9754\n", + "9755\n", + "9756\n", + "9757\n", + "9758\n", + "9759\n", + "9760\n", + "9761\n", + "9762\n", + "9763\n", + "9764\n", + "9765\n", + "9766\n", + "9767\n", + "9768\n", + "9769\n", + "9770\n", + "9771\n", + "9772\n", + "9773\n", + "9774\n", + "9775\n", + "9776\n", + "9777\n", + "9778\n", + "9779\n", + "9780\n", + "9781\n", + "9782\n", + "9783\n", + "9784\n", + "9785\n", + "9786\n", + "9787\n", + "9788\n", + "9789\n", + "9790\n", + "9791\n", + "9792\n", + "9793\n", + "9794\n", + "9795\n", + "9796\n", + "9797\n", + "9798\n", + "9799\n", + "CALLED\n", + "self.model._steps=9800\n", + " TEST self.model._steps=9800\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "9700 0.6264\n", + "9701 0.6406\n", + "9702 0.6062\n", + "9703 0.5840\n", + "9704 0.6138\n", + "... ...\n", + "9795 0.6252\n", + "9796 0.6192\n", + "9797 0.6358\n", + "9798 0.6650\n", + "9799 0.6634\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_098.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_098.parquet'\n", + "Saving model to output_dir/model_data_098.parquet\n", + "Saving agent to output_dir/agent_data_098.parquet\n", + "9800\n", + "9801\n", + "9802\n", + "9803\n", + "9804\n", + "9805\n", + "9806\n", + "9807\n", + "9808\n", + "9809\n", + "9810\n", + "9811\n", + "9812\n", + "9813\n", + "9814\n", + "9815\n", + "9816\n", + "9817\n", + "9818\n", + "9819\n", + "9820\n", + "9821\n", + "9822\n", + "9823\n", + "9824\n", + "9825\n", + "9826\n", + "9827\n", + "9828\n", + "9829\n", + "9830\n", + "9831\n", + "9832\n", + "9833\n", + "9834\n", + "9835\n", + "9836\n", + "9837\n", + "9838\n", + "9839\n", + "9840\n", + "9841\n", + "9842\n", + "9843\n", + "9844\n", + "9845\n", + "9846\n", + "9847\n", + "9848\n", + "9849\n", + "9850\n", + "9851\n", + "9852\n", + "9853\n", + "9854\n", + "9855\n", + "9856\n", + "9857\n", + "9858\n", + "9859\n", + "9860\n", + "9861\n", + "9862\n", + "9863\n", + "9864\n", + "9865\n", + "9866\n", + "9867\n", + "9868\n", + "9869\n", + "9870\n", + "9871\n", + "9872\n", + "9873\n", + "9874\n", + "9875\n", + "9876\n", + "9877\n", + "9878\n", + "9879\n", + "9880\n", + "9881\n", + "9882\n", + "9883\n", + "9884\n", + "9885\n", + "9886\n", + "9887\n", + "9888\n", + "9889\n", + "9890\n", + "9891\n", + "9892\n", + "9893\n", + "9894\n", + "9895\n", + "9896\n", + "9897\n", + "9898\n", + "9899\n", + "CALLED\n", + "self.model._steps=9900\n", + " TEST self.model._steps=9900\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "9800 0.6592\n", + "9801 0.6786\n", + "9802 0.6664\n", + "9803 0.6486\n", + "9804 0.6418\n", + "... ...\n", + "9895 0.6196\n", + "9896 0.6306\n", + "9897 0.6260\n", + "9898 0.6456\n", + "9899 0.6434\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_099.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_099.parquet'\n", + "Saving model to output_dir/model_data_099.parquet\n", + "Saving agent to output_dir/agent_data_099.parquet\n", + "9900\n", + "9901\n", + "9902\n", + "9903\n", + "9904\n", + "9905\n", + "9906\n", + "9907\n", + "9908\n", + "9909\n", + "9910\n", + "9911\n", + "9912\n", + "9913\n", + "9914\n", + "9915\n", + "9916\n", + "9917\n", + "9918\n", + "9919\n", + "9920\n", + "9921\n", + "9922\n", + "9923\n", + "9924\n", + "9925\n", + "9926\n", + "9927\n", + "9928\n", + "9929\n", + "9930\n", + "9931\n", + "9932\n", + "9933\n", + "9934\n", + "9935\n", + "9936\n", + "9937\n", + "9938\n", + "9939\n", + "9940\n", + "9941\n", + "9942\n", + "9943\n", + "9944\n", + "9945\n", + "9946\n", + "9947\n", + "9948\n", + "9949\n", + "9950\n", + "9951\n", + "9952\n", + "9953\n", + "9954\n", + "9955\n", + "9956\n", + "9957\n", + "9958\n", + "9959\n", + "9960\n", + "9961\n", + "9962\n", + "9963\n", + "9964\n", + "9965\n", + "9966\n", + "9967\n", + "9968\n", + "9969\n", + "9970\n", + "9971\n", + "9972\n", + "9973\n", + "9974\n", + "9975\n", + "9976\n", + "9977\n", + "9978\n", + "9979\n", + "9980\n", + "9981\n", + "9982\n", + "9983\n", + "9984\n", + "9985\n", + "9986\n", + "9987\n", + "9988\n", + "9989\n", + "9990\n", + "9991\n", + "9992\n", + "9993\n", + "9994\n", + "9995\n", + "9996\n", + "9997\n", + "9998\n", + "9999\n", + "CALLED\n", + "self.model._steps=10000\n", + " TEST self.model._steps=10000\n", + " TEST self._cache_interval=100\n", + " Gini\n", + "9900 0.6436\n", + "9901 0.6410\n", + "9902 0.6306\n", + "9903 0.6366\n", + "9904 0.6398\n", + "... ...\n", + "9995 0.6358\n", + "9996 0.6332\n", + "9997 0.6128\n", + "9998 0.6314\n", + "9999 0.6778\n", + "\n", + "[100 rows x 1 columns]\n", + "3\n", + "model_file='output_dir/model_data_100.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_100.parquet'\n", + "Saving model to output_dir/model_data_100.parquet\n", + "Saving agent to output_dir/agent_data_100.parquet\n" + ] + } + ], + "source": [ + "for i in range(10000):\n", + " print(i)\n", + " cacheable_model.model.step()\n", + " cacheable_model.cache()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "248ea838-5c71-4838-b6ad-fdcfdc3a1c1e", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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OoYPH45atWph5cqVyMjIwHfffWeLchIRERFJIrvmJikpCc8++yxOnjwJHx8fzfI+ffrgr7/+UrRwVYnMTmdERERkI7KDm3///RcvvviiwfKIiAhkZmYqUigiIiIiS8kObry9vZGfn2+w/MSJE6hTp44ihSIiIiKylOzg5uGHH8bbb7+N27dvAwBUKhUyMjLwxhtvYMCAAYoXkIiIiEgO2cHNRx99hMLCQoSGhuLmzZvo0aMHmjZtipo1a+K9996zRRmrBGbcEBEROQfZvaUCAwOxadMmbNu2DQcPHkRhYSE6duyIhIQEW5SvSuIgfkRERI4jO7ip0K1bN3Tr1k3JshARERFZTVJw88knn2DEiBHw8fHBJ598YnLdl19+WZGCEREREVlCUnAzZ84cPP300/Dx8cGcOXOMrqdSqRjcEBERkUNJCm7Onj0r+v9UiWP4EREROQeL5pYi01RgRjEREZGjyA5uBgwYgPfff99g+QcffIDHH39ckUIRERERWUp2cPPXX3+hT58+BssffPDBaj23FBERETkH2cFNYWEhvLy8DJZ7enqKTstAREREZE+yg5vo6GgsXbrUYPmSJUvQqlUrRQpVJWklFHMQPyIiIseRPYjflClT8Oijj+L06dO49957AQCpqan4+eefsXz5csULSERERCSH7OCmX79+WL16NWbMmIEVK1bA19cXbdu2xR9//IEePXrYooxEREREklk0/ULfvn3Rt29fpctCREREZDWOc0NEREQuRVLNTa1atXDixAmEhIQgODgYKhMZs1evXlWscFWJoJVRzHxiIiIix5E8t1TNmjUBAHPnzrVleYiIiIisIim4OXDgAB577DF4e3ujUaNG6NKlCzw8LErXISIiIrIpSTk3n376KQoLCwEAvXr1qrZNT0REROT8JFW/REVF4ZNPPsH9998PQRCwY8cOBAcHi657zz33KFrAqoKzghMRETkHScHNrFmzMHLkSKSkpEClUuGRRx4RXU+lUqGsrEzRAlZFphKuiYiIyLYkBTf9+/dH//79UVhYiICAABw/fhyhoaG2LhsRERGRbJJybpKSklBUVAR/f39s2bIFjRo1QmBgoOg/IiIiIkeSnVB87733Kp5QPH/+fERFRcHHxwdxcXFIS0uT9L4lS5ZApVKhf//+ipaHiIiIqi6HJxQvXboUSUlJWLBgAeLi4jB37lwkJiaabfpKT0/HhAkT0L17d1n7sxXtfGJm3BARETmOShDM9/NZvXo1Ro4ciezsbKhUKhh7iyUJxXFxcejUqRPmzZsHAFCr1YiMjMTYsWMxceJE0feUlZXhnnvuwXPPPYe///4b169fx+rVqyXtLz8/H4GBgcjLy0NAQICssppytagEHd/ZBAA4M6MP3NwY4hARESlFzv1bUrNU//79kZmZifz8fAiCgOPHj+PatWsG/+Q2V5WUlGDPnj1ISEioLJCbGxISErBjxw6j73v77bcRGhqK559/3uw+iouLkZ+fr/OPiIiIXJesYYa1E4qVGKE4NzcXZWVlCAsL01keFhaGY8eOib5n27Zt+Oabb7B//35J+0hJScH06dOtLSoRERFVEbJnBe/RowfOnTuHN998E4MGDUJ2djYAYP369Thy5IjiBdRWUFCAwYMH46uvvkJISIik9yQnJyMvL0/z7/z58zYtIxERETmW7ODmzz//RHR0NHbt2oWVK1dqelEdOHAA06ZNk7WtkJAQuLu7IysrS2d5VlYWwsPDDdY/ffo00tPT0a9fP3h4eMDDwwPfffcd1qxZAw8PD5w+fdrgPd7e3ggICND5ZwvaeUgcw4+IiMhxZAc3EydOxLvvvotNmzbBy8tLs/zee+/Fzp07ZW3Ly8sLMTExSE1N1SxTq9VITU1FfHy8wfotW7bEoUOHsH//fs2/hx9+GL169cL+/fsRGRkp9+MQERGRi5GdOHPo0CH89NNPBstDQ0ORm5sruwBJSUkYOnQoYmNj0blzZ8ydOxdFRUUYNmwYAGDIkCGIiIhASkoKfHx80KZNG533BwUFAYDBciIiIqqeZAc3QUFBuHz5Mho1aqSzfN++fYiIiJBdgIEDByInJwdTp05FZmYm2rdvjw0bNmiSjDMyMuDmJruCiYiIiKop2cHNk08+iTfeeAPLly+HSqWCWq3G9u3bMWHCBAwZMsSiQowZMwZjxowRfW3r1q0m37t48WKL9mlLnDiTiIjIcWRXicyYMQMtW7ZEZGQkCgsL0apVK9xzzz3o0qUL3nzzTVuUsUowOxIiERER2YXsmhsvLy989dVXmDJlCg4fPozCwkJ06NABzZo1s0X5iIiIiGSxeCS+Bg0aaHonsRmGiIiInIVFmbrfffcdoqOj4evrC19fX7Rt2xbff/+90mUjIiIikk12zc3s2bMxZcoUjBkzBl27dgVQPiXCyJEjkZubi/HjxyteyKrA/PSjREREZA+yg5tPP/0Un3/+uU7PqIcffhitW7fGW2+9VW2DGyIiInIOspulLl++jC5duhgs79KlCy5fvqxIoYiIiIgsJTu4adq0KZYtW2awfOnSpewxRURERA4nu1lq+vTpGDhwIP766y9Nzs327duRmpoqGvQQERER2ZPsmpsBAwZg165dCAkJwerVq7F69WqEhIQgLS0NjzzyiC3KWCUId4bxY694IiIix7JonJuYmBj88MMPSpeFiIiIyGqSa24uXbqECRMmID8/3+C1vLw8vPbaa8jKylK0cERERERySQ5uZs+ejfz8fAQEBBi8FhgYiIKCAsyePVvRwhERERHJJTm42bBhg8lZv4cMGYLffvtNkUJVZUy5ISIicizJwc3Zs2fRoEEDo6/Xr18f6enpSpSpauIIxURERE5BcnDj6+trMnhJT0+Hr6+vEmUiIiIispjk4CYuLs7k5JjfffcdOnfurEihiIiIiCwluSv4hAkT0Lt3bwQGBuK1115DWFgYACArKwsffPABFi9ejI0bN9qsoERERERSSA5uevXqhfnz52PcuHGYM2cOAgICoFKpkJeXB09PT3z66ae49957bVnWKkHFUfyIiIgcStYgfi+++CIeeughLFu2DKdOnYIgCGjevDkee+wx1K9f31ZlrBKYT0xEROQcZI9QHBERgfHjx9uiLERERERWkz23FBEREZEzY3BDRERELoXBjUKEO0k3TCcmIiJyLAY3RERE5FIY3BAREZFLkdRbqlatWjhx4gRCQkIQHBxsciyXq1evKlY4IiIiIrkkBTdz5sxBzZo1AQBz5861ZXmqPI7hR0RE5FiSgpuhQ4eK/j9VEjiMHxERkVOQPYgfAKjVapw6dQrZ2dlQq9U6r91zzz2KFIyIiIjIErKDm507d+Kpp57CuXPnIAi6tRUqlQplZWWKFY6IiIhILtnBzciRIxEbG4u1a9eibt26nCiSiIiInIrs4ObkyZNYsWIFmjZtaovyVHkqDuNHRETkULLHuYmLi8OpU6cULcT8+fMRFRUFHx8fxMXFIS0tzei6K1euRGxsLIKCglCjRg20b98e33//vaLlsYTAfGIiIiKnILvmZuzYsXj11VeRmZmJ6OhoeHp66rzetm1bWdtbunQpkpKSsGDB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D39/f4d9DiIiInIODg9uBg4ciJycHEydOhWZmZlo3749NmzYoEkyzsjIgJtbZQXT559/jpKSEjz22GM625k2bRreeustexZdB8fwIyIicg4OD24AYMyYMRgzZozoa1u3btX5Oz093fYFIiIioirL4SMUExERESmJwY3CmE9MRETkWAxuiIiIyKUwuFEMM4qJiIicAYMbIiIicikMboiIiMilMLhRGPOJiYiIHIvBDREREbkUBjcK4QjFREREzoHBDREREbkUBjcK46zgREREjsXghoiIiFwKgxuFMOWGiIjIOTC4ISIiIpfC4IaIiIhcCoMbhTGdmIiIyLEY3BAREZFLYXCjEA7iR0RE5BwY3BAREZFLYXBDRERELoXBjcI4QDEREZFjMbghIiIil8LgRiECxygmIiJyCgxuiIiIyKUwuFEck26IiIgcicENERERuRQGN0RERORSGNwohCMUExEROQcGN0RERORSGNwojIP4ERERORaDGyIiInIpDG4UwpwbIiIi5+Dw4Gb+/PmIioqCj48P4uLikJaWZnTdI0eOYMCAAYiKioJKpcLcuXPtV1AiIiKqEhwa3CxduhRJSUmYNm0a9u7di3bt2iExMRHZ2dmi69+4cQONGzfGzJkzER4ebufSSsOUGyIiIsdyaHAze/ZsDB8+HMOGDUOrVq2wYMEC+Pn5YeHChaLrd+rUCbNmzcKTTz4Jb29vSfsoLi5Gfn6+zj8iIiJyXQ4LbkpKSrBnzx4kJCRUFsbNDQkJCdixY4di+0lJSUFgYKDmX2RkpGLbJiIiIufjsOAmNzcXZWVlCAsL01keFhaGzMxMxfaTnJyMvLw8zb/z588rtm1tnBWciIjIOXg4ugC25u3tLbkJi4iIiKo+h9XchISEwN3dHVlZWTrLs7KynDZZWAoO4kdERORYDgtuvLy8EBMTg9TUVM0ytVqN1NRUxMfHO6pYREREVMU5tFkqKSkJQ4cORWxsLDp37oy5c+eiqKgIw4YNAwAMGTIEERERSElJAVCehPzff/9p/v/ixYvYv38//P390bRpU4d9DiIiInIeDg1uBg4ciJycHEydOhWZmZlo3749NmzYoEkyzsjIgJtbZeXSpUuX0KFDB83fH374IT788EP06NEDW7dutXfxdXCEYiIiIufg8ITiMWPGYMyYMaKv6QcsUVFREBhFEBERkQkOn37B1ag4RjEREZFDMbghIiIil8LghoiIiFwKgxsiIiJyKQxuFMZB/IiIiByLwQ0RERG5FAY3RERE5FIY3CiEw+8QERE5BwY3RERE5FIY3CiM+cRERESOxeCGiIiIXAqDGyIiInIpDG4UIoAZxURERM6AwQ0RERG5FAY3ClNxiGIiIiKHYnBDRERELoXBDREREbkUBjcK4QjFREREzoHBDREREbkUBjdERETkUhjcEBERkUthcENEREQuhcGNQphPTERE5BwY3CiMY/gRERE5FoMbIiIicikMboiIiMilMLghIiIil8LgRiEChygmIiJyCgxuFMaEYiIiIsdicENEREQuhcENERERuRQGNwphxg0REZFzcIrgZv78+YiKioKPjw/i4uKQlpZmcv3ly5ejZcuW8PHxQXR0NNatW2enkpqnApNuiIiIHMnhwc3SpUuRlJSEadOmYe/evWjXrh0SExORnZ0tuv4///yDQYMG4fnnn8e+ffvQv39/9O/fH4cPH7ZzyYmIiMgZqQQH92GOi4tDp06dMG/ePACAWq1GZGQkxo4di4kTJxqsP3DgQBQVFeG3337TLLv77rvRvn17LFiwwGD94uJiFBcXa/7Oz89HZGQk8vLyEBAQoNjn2JtxDY9+9g8a1PLDX6/3Umy7REREVH7/DgwMlHT/dmjNTUlJCfbs2YOEhATNMjc3NyQkJGDHjh2i79mxY4fO+gCQmJhodP2UlBQEBgZq/kVGRir3AYiIiMjpODS4yc3NRVlZGcLCwnSWh4WFITMzU/Q9mZmZstZPTk5GXl6e5t/58+eVKbyesAAfjO7VBIPvbmiT7RMREZE0Ho4ugK15e3vD29vb5vuJCPLFa4ktbb4fIiIiMs2hNTchISFwd3dHVlaWzvKsrCyEh4eLvic8PFzW+kRERFS9ODS48fLyQkxMDFJTUzXL1Go1UlNTER8fL/qe+Ph4nfUBYNOmTUbXJyIiourF4c1SSUlJGDp0KGJjY9G5c2fMnTsXRUVFGDZsGABgyJAhiIiIQEpKCgBg3Lhx6NGjBz766CP07dsXS5Yswe7du/Hll1868mMQERGRk3B4cDNw4EDk5ORg6tSpyMzMRPv27bFhwwZN0nBGRgbc3CormLp06YKffvoJb775JiZNmoRmzZph9erVaNOmjaM+AhERETkRh49zY29y+skTERGRc6gy49wQERERKY3BDREREbkUBjdERETkUhjcEBERkUthcENEREQuhcENERERuRQGN0RERORSGNwQERGRS3H4CMX2VjFmYX5+voNLQkRERFJV3LeljD1c7YKbgoICAEBkZKSDS0JERERyFRQUIDAw0OQ61W76BbVajUuXLqFmzZpQqVSKbjs/Px+RkZE4f/48p3awIR5n++Bxtg8eZ/vhsbYPWx1nQRBQUFCAevXq6cw5Kaba1dy4ubmhfv36Nt1HQEAAfzh2wONsHzzO9sHjbD881vZhi+NsrsamAhOKiYiIyKUwuCEiIiKXwuBGQd7e3pg2bRq8vb0dXRSXxuNsHzzO9sHjbD881vbhDMe52iUUExERkWtjzQ0RERG5FAY3RERE5FIY3BAREZFLYXBDRERELoXBDREREbkUBjcKmT9/PqKiouDj44O4uDikpaU5ukhOLSUlBZ06dULNmjURGhqK/v374/jx4zrr3Lp1C6NHj0bt2rXh7++PAQMGICsrS2edjIwM9O3bF35+fggNDcVrr72G0tJSnXW2bt2Kjh07wtvbG02bNsXixYtt/fGc0syZM6FSqfDKK69olvEYK+fixYt45plnULt2bfj6+iI6Ohq7d+/WvC4IAqZOnYq6devC19cXCQkJOHnypM42rl69iqeffhoBAQEICgrC888/j8LCQp11Dh48iO7du8PHxweRkZH44IMP7PL5nEFZWRmmTJmCRo0awdfXF02aNME777yjM5Eij7N8f/31F/r164d69epBpVJh9erVOq/b85guX74cLVu2hI+PD6Kjo7Fu3TrLPpRAVluyZIng5eUlLFy4UDhy5IgwfPhwISgoSMjKynJ00ZxWYmKisGjRIuHw4cPC/v37hT59+ggNGjQQCgsLNeuMHDlSiIyMFFJTU4Xdu3cLd999t9ClSxfN66WlpUKbNm2EhIQEYd++fcK6deuEkJAQITk5WbPOmTNnBD8/PyEpKUn477//hE8//VRwd3cXNmzYYNfP62hpaWlCVFSU0LZtW2HcuHGa5TzGyrh69arQsGFD4dlnnxV27dolnDlzRvj999+FU6dOadaZOXOmEBgYKKxevVo4cOCA8PDDDwuNGjUSbt68qVnngQceENq1ayfs3LlT+Pvvv4WmTZsKgwYN0ryel5cnhIWFCU8//bRw+PBh4eeffxZ8fX2FL774wq6f11Hee+89oXbt2sJvv/0mnD17Vli+fLng7+8vfPzxx5p1eJzlW7dunTB58mRh5cqVAgBh1apVOq/b65hu375dcHd3Fz744APhv//+E958803B09NTOHTokOzPxOBGAZ07dxZGjx6t+busrEyoV6+ekJKS4sBSVS3Z2dkCAOHPP/8UBEEQrl+/Lnh6egrLly/XrHP06FEBgLBjxw5BEMp/kG5ubkJmZqZmnc8//1wICAgQiouLBUEQhNdff11o3bq1zr4GDhwoJCYm2vojOY2CggKhWbNmwqZNm4QePXpoghseY+W88cYbQrdu3Yy+rlarhfDwcGHWrFmaZdevXxe8vb2Fn3/+WRAEQfjvv/8EAMK///6rWWf9+vWCSqUSLl68KAiCIHz22WdCcHCw5thX7LtFixZKfySn1LdvX+G5557TWfboo48KTz/9tCAIPM5K0A9u7HlMn3jiCaFv37465YmLixNefPFF2Z+DzVJWKikpwZ49e5CQkKBZ5ubmhoSEBOzYscOBJata8vLyAAC1atUCAOzZswe3b9/WOa4tW7ZEgwYNNMd1x44diI6ORlhYmGadxMRE5Ofn48iRI5p1tLdRsU51+m5Gjx6Nvn37GhwHHmPlrFmzBrGxsXj88ccRGhqKDh064KuvvtK8fvbsWWRmZuocp8DAQMTFxekc66CgIMTGxmrWSUhIgJubG3bt2qVZ55577oGXl5dmncTERBw/fhzXrl2z9cd0uC5duiA1NRUnTpwAABw4cADbtm3Dgw8+CIDH2RbseUyVvJYwuLFSbm4uysrKdC7+ABAWFobMzEwHlapqUavVeOWVV9C1a1e0adMGAJCZmQkvLy8EBQXprKt9XDMzM0WPe8VrptbJz8/HzZs3bfFxnMqSJUuwd+9epKSkGLzGY6ycM2fO4PPPP0ezZs3w+++/Y9SoUXj55Zfx7bffAqg8VqauE5mZmQgNDdV53cPDA7Vq1ZL1fbiyiRMn4sknn0TLli3h6emJDh064JVXXsHTTz8NgMfZFux5TI2tY8kx95D9DiKFjR49GocPH8a2bdscXRSXcv78eYwbNw6bNm2Cj4+Po4vj0tRqNWJjYzFjxgwAQIcOHXD48GEsWLAAQ4cOdXDpXMeyZcvw448/4qeffkLr1q2xf/9+vPLKK6hXrx6PM+lgzY2VQkJC4O7ubtDDJCsrC+Hh4Q4qVdUxZswY/Pbbb9iyZQvq16+vWR4eHo6SkhJcv35dZ33t4xoeHi563CteM7VOQEAAfH19lf44TmXPnj3Izs5Gx44d4eHhAQ8PD/z555/45JNP4OHhgbCwMB5jhdStWxetWrXSWXbXXXchIyMDQOWxMnWdCA8PR3Z2ts7rpaWluHr1qqzvw5W99tprmtqb6OhoDB48GOPHj9fUTPI4K8+ex9TYOpYccwY3VvLy8kJMTAxSU1M1y9RqNVJTUxEfH+/Akjk3QRAwZswYrFq1Cps3b0ajRo10Xo+JiYGnp6fOcT1+/DgyMjI0xzU+Ph6HDh3S+VFt2rQJAQEBmhtNfHy8zjYq1qkO3819992HQ4cOYf/+/Zp/sbGxePrppzX/z2OsjK5duxoMZXDixAk0bNgQANCoUSOEh4frHKf8/Hzs2rVL51hfv34de/bs0ayzefNmqNVqxMXFadb566+/cPv2bc06mzZtQosWLRAcHGyzz+csbty4ATc33duWu7s71Go1AB5nW7DnMVX0WiI7BZkMLFmyRPD29hYWL14s/Pfff8KIESOEoKAgnR4mpGvUqFFCYGCgsHXrVuHy5cuafzdu3NCsM3LkSKFBgwbC5s2bhd27dwvx8fFCfHy85vWKbsr333+/sH//fmHDhg1CnTp1RLspv/baa8LRo0eF+fPnV7tuytq0e0sJAo+xUtLS0gQPDw/hvffeE06ePCn8+OOPgp+fn/DDDz9o1pk5c6YQFBQk/Prrr8LBgweF//3vf6LdaTt06CDs2rVL2LZtm9CsWTOd7rTXr18XwsLChMGDBwuHDx8WlixZIvj5+blsF2V9Q4cOFSIiIjRdwVeuXCmEhIQIr7/+umYdHmf5CgoKhH379gn79u0TAAizZ88W9u3bJ5w7d04QBPsd0+3btwseHh7Chx9+KBw9elSYNm0au4I72qeffio0aNBA8PLyEjp37izs3LnT0UVyagBE/y1atEizzs2bN4WXXnpJCA4OFvz8/IRHHnlEuHz5ss520tPThQcffFDw9fUVQkJChFdffVW4ffu2zjpbtmwR2rdvL3h5eQmNGzfW2Ud1ox/c8Bgr5//+7/+ENm3aCN7e3kLLli2FL7/8Uud1tVotTJkyRQgLCxO8vb2F++67Tzh+/LjOOleuXBEGDRok+Pv7CwEBAcKwYcOEgoICnXUOHDggdOvWTfD29hYiIiKEmTNn2vyzOYv8/Hxh3LhxQoMGDQQfHx+hcePGwuTJk3W6F/M4y7dlyxbR6/HQoUMFQbDvMV22bJnQvHlzwcvLS2jdurWwdu1aiz6TShC0hnYkIiIiquKYc0NEREQuhcENERERuRQGN0RERORSGNwQERGRS2FwQ0RERC6FwQ0RERG5FAY3RERE5FIY3BAREZFLYXBDRERELoXBDREREbkUBjdERETkUv4fQmpbS+5IZXYAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "gini = model.datacollector.get_model_vars_dataframe()\n", + "# Plot the Gini coefficient over time\n", + "g = sns.lineplot(data=gini)\n", + "g.set(title=\"Gini Coefficient over Time\", ylabel=\"Gini Coefficient\");" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "9cf0a6c4-a976-4835-82e2-706f49b175d3", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + "
Gini
00.0000
10.2822
20.3666
30.4510
40.5058
......
99950.6358
99960.6332
99970.6128
99980.6314
99990.6778
\n", + "

10000 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " Gini\n", + "0 0.0000\n", + "1 0.2822\n", + "2 0.3666\n", + "3 0.4510\n", + "4 0.5058\n", + "... ...\n", + "9995 0.6358\n", + "9996 0.6332\n", + "9997 0.6128\n", + "9998 0.6314\n", + "9999 0.6778\n", + "\n", + "[10000 rows x 1 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gini" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c9515417-7c5f-45f8-8ffa-2f466288ea1f", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Gini\n", + "0 0.0000\n", + "1 0.2822\n", + "2 0.3666\n", + "3 0.4510\n", + "4 0.5058\n", + "... ...\n", + "9995 0.6358\n", + "9996 0.6332\n", + "9997 0.6128\n", + "9998 0.6314\n", + "9999 0.6778\n", + "\n", + "[10000 rows x 1 columns]\n" + ] + } + ], + "source": [ + "import pyarrow.parquet as pq\n", + "import pandas as pd\n", + "import glob\n", + "\n", + "# Get a list of all Parquet files\n", + "model_files = glob.glob('output_dir/model_data_*.parquet')\n", + "agent_files = glob.glob('output_dir/agent_data_*.parquet')\n", + "\n", + "# Initialize lists to hold dataframes\n", + "model_dfs = []\n", + "agent_dfs = []\n", + "\n", + "# Read and append each file to the list\n", + "for model_file in model_files:\n", + " table = pq.read_table(model_file)\n", + " df = table.to_pandas()\n", + " model_dfs.append(df)\n", + "\n", + "for agent_file in agent_files:\n", + " table = pq.read_table(agent_file)\n", + " df = table.to_pandas()\n", + " agent_dfs.append(df)\n", + "\n", + "# Concatenate all DataFrames\n", + "model_df = pd.concat(model_dfs, ignore_index=True)\n", + "agent_df = pd.concat(agent_dfs, ignore_index=True)\n", + "\n", + "# Display the combined DataFrames\n", + "print(model_df)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "c6c73b47-b23c-4347-9951-b721ea5ed5da", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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OoYPH45atWph5cqVyMjIwHfffWeLchIRERFJIrvmJikpCc8++yxOnjwJHx8fzfI+ffrgr7/+UrRwVYnMTmdERERkI7KDm3///RcvvviiwfKIiAhkZmYqUigiIiIiS8kObry9vZGfn2+w/MSJE6hTp44ihSIiIiKylOzg5uGHH8bbb7+N27dvAwBUKhUyMjLwxhtvYMCAAYoXkIiIiEgO2cHNRx99hMLCQoSGhuLmzZvo0aMHmjZtipo1a+K9996zRRmrBGbcEBEROQfZvaUCAwOxadMmbNu2DQcPHkRhYSE6duyIhIQEW5SvSuIgfkRERI4jO7ip0K1bN3Tr1k3JshARERFZTVJw88knn2DEiBHw8fHBJ598YnLdl19+WZGCEREREVlCUnAzZ84cPP300/Dx8cGcOXOMrqdSqRjcEBERkUNJCm7Onj0r+v9UiWP4EREROQeL5pYi01RgRjEREZGjyA5uBgwYgPfff99g+QcffIDHH39ckUIRERERWUp2cPPXX3+hT58+BssffPDBaj23FBERETkH2cFNYWEhvLy8DJZ7enqKTstAREREZE+yg5vo6GgsXbrUYPmSJUvQqlUrRQpVJWklFHMQPyIiIseRPYjflClT8Oijj+L06dO49957AQCpqan4+eefsXz5csULSERERCSH7OCmX79+WL16NWbMmIEVK1bA19cXbdu2xR9//IEePXrYooxEREREklk0/ULfvn3Rt29fpctCREREZDWOc0NEREQuRVLNTa1atXDixAmEhIQgODgYKhMZs1evXlWscFWJoJVRzHxiIiIix5E8t1TNmjUBAHPnzrVleYiIiIisIim4OXDgAB577DF4e3ujUaNG6NKlCzw8LErXISIiIrIpSTk3n376KQoLCwEAvXr1qrZNT0REROT8JFW/REVF4ZNPPsH9998PQRCwY8cOBAcHi657zz33KFrAqoKzghMRETkHScHNrFmzMHLkSKSkpEClUuGRRx4RXU+lUqGsrEzRAlZFphKuiYiIyLYkBTf9+/dH//79UVhYiICAABw/fhyhoaG2LhsRERGRbJJybpKSklBUVAR/f39s2bIFjRo1QmBgoOg/IiIiIkeSnVB87733Kp5QPH/+fERFRcHHxwdxcXFIS0uT9L4lS5ZApVKhf//+ipaHiIiIqi6HJxQvXboUSUlJWLBgAeLi4jB37lwkJiaabfpKT0/HhAkT0L17d1n7sxXtfGJm3BARETmOShDM9/NZvXo1Ro4ciezsbKhUKhh7iyUJxXFxcejUqRPmzZsHAFCr1YiMjMTYsWMxceJE0feUlZXhnnvuwXPPPYe///4b169fx+rVqyXtLz8/H4GBgcjLy0NAQICssppytagEHd/ZBAA4M6MP3NwY4hARESlFzv1bUrNU//79kZmZifz8fAiCgOPHj+PatWsG/+Q2V5WUlGDPnj1ISEioLJCbGxISErBjxw6j73v77bcRGhqK559/3uw+iouLkZ+fr/OPiIiIXJesYYa1E4qVGKE4NzcXZWVlCAsL01keFhaGY8eOib5n27Zt+Oabb7B//35J+0hJScH06dOtLSoRERFVEbJnBe/RowfOnTuHN998E4MGDUJ2djYAYP369Thy5IjiBdRWUFCAwYMH46uvvkJISIik9yQnJyMvL0/z7/z58zYtIxERETmW7ODmzz//RHR0NHbt2oWVK1dqelEdOHAA06ZNk7WtkJAQuLu7IysrS2d5VlYWwsPDDdY/ffo00tPT0a9fP3h4eMDDwwPfffcd1qxZAw8PD5w+fdrgPd7e3ggICND5ZwvaeUgcw4+IiMhxZAc3EydOxLvvvotNmzbBy8tLs/zee+/Fzp07ZW3Ly8sLMTExSE1N1SxTq9VITU1FfHy8wfotW7bEoUOHsH//fs2/hx9+GL169cL+/fsRGRkp9+MQERGRi5GdOHPo0CH89NNPBstDQ0ORm5sruwBJSUkYOnQoYmNj0blzZ8ydOxdFRUUYNmwYAGDIkCGIiIhASkoKfHx80KZNG533BwUFAYDBciIiIqqeZAc3QUFBuHz5Mho1aqSzfN++fYiIiJBdgIEDByInJwdTp05FZmYm2rdvjw0bNmiSjDMyMuDmJruCiYiIiKop2cHNk08+iTfeeAPLly+HSqWCWq3G9u3bMWHCBAwZMsSiQowZMwZjxowRfW3r1q0m37t48WKL9mlLnDiTiIjIcWRXicyYMQMtW7ZEZGQkCgsL0apVK9xzzz3o0qUL3nzzTVuUsUowOxIiERER2YXsmhsvLy989dVXmDJlCg4fPozCwkJ06NABzZo1s0X5iIiIiGSxeCS+Bg0aaHonsRmGiIiInIVFmbrfffcdoqOj4evrC19fX7Rt2xbff/+90mUjIiIikk12zc3s2bMxZcoUjBkzBl27dgVQPiXCyJEjkZubi/HjxyteyKrA/PSjREREZA+yg5tPP/0Un3/+uU7PqIcffhitW7fGW2+9VW2DGyIiInIOspulLl++jC5duhgs79KlCy5fvqxIoYiIiIgsJTu4adq0KZYtW2awfOnSpewxRURERA4nu1lq+vTpGDhwIP766y9Nzs327duRmpoqGvQQERER2ZPsmpsBAwZg165dCAkJwerVq7F69WqEhIQgLS0NjzzyiC3KWCUId4bxY694IiIix7JonJuYmBj88MMPSpeFiIiIyGqSa24uXbqECRMmID8/3+C1vLw8vPbaa8jKylK0cERERERySQ5uZs+ejfz8fAQEBBi8FhgYiIKCAsyePVvRwhERERHJJTm42bBhg8lZv4cMGYLffvtNkUJVZUy5ISIicizJwc3Zs2fRoEEDo6/Xr18f6enpSpSpauIIxURERE5BcnDj6+trMnhJT0+Hr6+vEmUiIiIispjk4CYuLs7k5JjfffcdOnfurEihiIiIiCwluSv4hAkT0Lt3bwQGBuK1115DWFgYACArKwsffPABFi9ejI0bN9qsoERERERSSA5uevXqhfnz52PcuHGYM2cOAgICoFKpkJeXB09PT3z66ae49957bVnWKkHFUfyIiIgcStYgfi+++CIeeughLFu2DKdOnYIgCGjevDkee+wx1K9f31ZlrBKYT0xEROQcZI9QHBERgfHjx9uiLERERERWkz23FBEREZEzY3BDRERELoXBjUKEO0k3TCcmIiJyLAY3RERE5FIY3BAREZFLkdRbqlatWjhx4gRCQkIQHBxsciyXq1evKlY4IiIiIrkkBTdz5sxBzZo1AQBz5861ZXmqPI7hR0RE5FiSgpuhQ4eK/j9VEjiMHxERkVOQPYgfAKjVapw6dQrZ2dlQq9U6r91zzz2KFIyIiIjIErKDm507d+Kpp57CuXPnIAi6tRUqlQplZWWKFY6IiIhILtnBzciRIxEbG4u1a9eibt26nCiSiIiInIrs4ObkyZNYsWIFmjZtaovyVHkqDuNHRETkULLHuYmLi8OpU6cULcT8+fMRFRUFHx8fxMXFIS0tzei6K1euRGxsLIKCglCjRg20b98e33//vaLlsYTAfGIiIiKnILvmZuzYsXj11VeRmZmJ6OhoeHp66rzetm1bWdtbunQpkpKSsGDB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D39/f4d9DiIiInIODg9uBg4ciJycHEydOhWZmZlo3749NmzYoEkyzsjIgJtbZQXT559/jpKSEjz22GM625k2bRreeustexZdB8fwIyIicg4OD24AYMyYMRgzZozoa1u3btX5Oz093fYFIiIioirL4SMUExERESmJwY3CmE9MRETkWAxuiIiIyKUwuFEMM4qJiIicAYMbIiIicikMboiIiMilMLhRGPOJiYiIHIvBDREREbkUBjcK4QjFREREzoHBDREREbkUBjcK46zgREREjsXghoiIiFwKgxuFMOWGiIjIOTC4ISIiIpfC4IaIiIhcCoMbhTGdmIiIyLEY3BAREZFLYXCjEA7iR0RE5BwY3BAREZFLYXBDRERELoXBjcI4QDEREZFjMbghIiIil8LgRiECxygmIiJyCgxuiIiIyKUwuFEck26IiIgcicENERERuRQGN0RERORSGNwohCMUExEROQcGN0RERORSGNwojIP4ERERORaDGyIiInIpDG4UwpwbIiIi5+Dw4Gb+/PmIioqCj48P4uLikJaWZnTdI0eOYMCAAYiKioJKpcLcuXPtV1AiIiKqEhwa3CxduhRJSUmYNm0a9u7di3bt2iExMRHZ2dmi69+4cQONGzfGzJkzER4ebufSSsOUGyIiIsdyaHAze/ZsDB8+HMOGDUOrVq2wYMEC+Pn5YeHChaLrd+rUCbNmzcKTTz4Jb29vSfsoLi5Gfn6+zj8iIiJyXQ4LbkpKSrBnzx4kJCRUFsbNDQkJCdixY4di+0lJSUFgYKDmX2RkpGLbJiIiIufjsOAmNzcXZWVlCAsL01keFhaGzMxMxfaTnJyMvLw8zb/z588rtm1tnBWciIjIOXg4ugC25u3tLbkJi4iIiKo+h9XchISEwN3dHVlZWTrLs7KynDZZWAoO4kdERORYDgtuvLy8EBMTg9TUVM0ytVqN1NRUxMfHO6pYREREVMU5tFkqKSkJQ4cORWxsLDp37oy5c+eiqKgIw4YNAwAMGTIEERERSElJAVCehPzff/9p/v/ixYvYv38//P390bRpU4d9DiIiInIeDg1uBg4ciJycHEydOhWZmZlo3749NmzYoEkyzsjIgJtbZeXSpUuX0KFDB83fH374IT788EP06NEDW7dutXfxdXCEYiIiIufg8ITiMWPGYMyYMaKv6QcsUVFREBhFEBERkQkOn37B1ag4RjEREZFDMbghIiIil8LghoiIiFwKgxsiIiJyKQxuFMZB/IiIiByLwQ0RERG5FAY3RERE5FIY3CiEw+8QERE5BwY3RERE5FIY3CiM+cRERESOxeCGiIiIXAqDGyIiInIpDG4UIoAZxURERM6AwQ0RERG5FAY3ClNxiGIiIiKHYnBDRERELoXBDREREbkUBjcK4QjFREREzoHBDREREbkUBjdERETkUhjcEBERkUthcENEREQuhcGNQphPTERE5BwY3CiMY/gRERE5FoMbIiIicikMboiIiMilMLghIiIil8LgRiEChygmIiJyCgxuFMaEYiIiIsdicENEREQuhcENERERuRQGNwphxg0REZFzcIrgZv78+YiKioKPjw/i4uKQlpZmcv3ly5ejZcuW8PHxQXR0NNatW2enkpqnApNuiIiIHMnhwc3SpUuRlJSEadOmYe/evWjXrh0SExORnZ0tuv4///yDQYMG4fnnn8e+ffvQv39/9O/fH4cPH7ZzyYmIiMgZqQQH92GOi4tDp06dMG/ePACAWq1GZGQkxo4di4kTJxqsP3DgQBQVFeG3337TLLv77rvRvn17LFiwwGD94uJiFBcXa/7Oz89HZGQk8vLyEBAQoNjn2JtxDY9+9g8a1PLDX6/3Umy7REREVH7/DgwMlHT/dmjNTUlJCfbs2YOEhATNMjc3NyQkJGDHjh2i79mxY4fO+gCQmJhodP2UlBQEBgZq/kVGRir3AYiIiMjpODS4yc3NRVlZGcLCwnSWh4WFITMzU/Q9mZmZstZPTk5GXl6e5t/58+eVKbyesAAfjO7VBIPvbmiT7RMREZE0Ho4ugK15e3vD29vb5vuJCPLFa4ktbb4fIiIiMs2hNTchISFwd3dHVlaWzvKsrCyEh4eLvic8PFzW+kRERFS9ODS48fLyQkxMDFJTUzXL1Go1UlNTER8fL/qe+Ph4nfUBYNOmTUbXJyIiourF4c1SSUlJGDp0KGJjY9G5c2fMnTsXRUVFGDZsGABgyJAhiIiIQEpKCgBg3Lhx6NGjBz766CP07dsXS5Yswe7du/Hll1868mMQERGRk3B4cDNw4EDk5ORg6tSpyMzMRPv27bFhwwZN0nBGRgbc3CormLp06YKffvoJb775JiZNmoRmzZph9erVaNOmjaM+AhERETkRh49zY29y+skTERGRc6gy49wQERERKY3BDREREbkUBjdERETkUhjcEBERkUthcENEREQuhcENERERuRQGN0RERORSGNwQERGRS3H4CMX2VjFmYX5+voNLQkRERFJV3LeljD1c7YKbgoICAEBkZKSDS0JERERyFRQUIDAw0OQ61W76BbVajUuXLqFmzZpQqVSKbjs/Px+RkZE4f/48p3awIR5n++Bxtg8eZ/vhsbYPWx1nQRBQUFCAevXq6cw5Kaba1dy4ubmhfv36Nt1HQEAAfzh2wONsHzzO9sHjbD881vZhi+NsrsamAhOKiYiIyKUwuCEiIiKXwuBGQd7e3pg2bRq8vb0dXRSXxuNsHzzO9sHjbD881vbhDMe52iUUExERkWtjzQ0RERG5FAY3RERE5FIY3BAREZFLYXBDRERELoXBDREREbkUBjcKmT9/PqKiouDj44O4uDikpaU5ukhOLSUlBZ06dULNmjURGhqK/v374/jx4zrr3Lp1C6NHj0bt2rXh7++PAQMGICsrS2edjIwM9O3bF35+fggNDcVrr72G0tJSnXW2bt2Kjh07wtvbG02bNsXixYtt/fGc0syZM6FSqfDKK69olvEYK+fixYt45plnULt2bfj6+iI6Ohq7d+/WvC4IAqZOnYq6devC19cXCQkJOHnypM42rl69iqeffhoBAQEICgrC888/j8LCQp11Dh48iO7du8PHxweRkZH44IMP7PL5nEFZWRmmTJmCRo0awdfXF02aNME777yjM5Eij7N8f/31F/r164d69epBpVJh9erVOq/b85guX74cLVu2hI+PD6Kjo7Fu3TrLPpRAVluyZIng5eUlLFy4UDhy5IgwfPhwISgoSMjKynJ00ZxWYmKisGjRIuHw4cPC/v37hT59+ggNGjQQCgsLNeuMHDlSiIyMFFJTU4Xdu3cLd999t9ClSxfN66WlpUKbNm2EhIQEYd++fcK6deuEkJAQITk5WbPOmTNnBD8/PyEpKUn477//hE8//VRwd3cXNmzYYNfP62hpaWlCVFSU0LZtW2HcuHGa5TzGyrh69arQsGFD4dlnnxV27dolnDlzRvj999+FU6dOadaZOXOmEBgYKKxevVo4cOCA8PDDDwuNGjUSbt68qVnngQceENq1ayfs3LlT+Pvvv4WmTZsKgwYN0ryel5cnhIWFCU8//bRw+PBh4eeffxZ8fX2FL774wq6f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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "model_df\n", + "g = sns.lineplot(data=model_df)\n", + "g.set(title=\"Gini Coefficient over Time\", ylabel=\"Gini Coefficient\");" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "21cfeacd-dcfa-485f-848e-88cb619addfc", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "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", + "
Gini
00.0000
10.2822
20.3666
30.4510
40.5058
......
99950.6358
99960.6332
99970.6128
99980.6314
99990.6778
\n", + "

10000 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " Gini\n", + "0 0.0000\n", + "1 0.2822\n", + "2 0.3666\n", + "3 0.4510\n", + "4 0.5058\n", + "... ...\n", + "9995 0.6358\n", + "9996 0.6332\n", + "9997 0.6128\n", + "9998 0.6314\n", + "9999 0.6778\n", + "\n", + "[10000 rows x 1 columns]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model_df" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "421bd10b-33a6-470e-bcc1-0fc0d840062d", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + "
Gini
00.0000
10.2822
20.3666
30.4510
40.5058
......
1000.6794
1010.6842
1020.6756
1030.6532
1040.6452
\n", + "

105 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " Gini\n", + "0 0.0000\n", + "1 0.2822\n", + "2 0.3666\n", + "3 0.4510\n", + "4 0.5058\n", + ".. ...\n", + "100 0.6794\n", + "101 0.6842\n", + "102 0.6756\n", + "103 0.6532\n", + "104 0.6452\n", + "\n", + "[105 rows x 1 columns]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model_df[:105]" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "1473d070-d9ca-4c0f-913e-107f9fa48b46", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + "
Gini
00.0000
10.2822
20.3666
30.4510
40.5058
......
960.6582
970.6362
980.6440
990.6602
1000.6794
\n", + "

101 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " Gini\n", + "0 0.0000\n", + "1 0.2822\n", + "2 0.3666\n", + "3 0.4510\n", + "4 0.5058\n", + ".. ...\n", + "96 0.6582\n", + "97 0.6362\n", + "98 0.6440\n", + "99 0.6602\n", + "100 0.6794\n", + "\n", + "[101 rows x 1 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gini[:101]" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "8c967f5e-4b91-44b8-b3f5-ab6874d0e28f", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['output_dir/model_data_001.parquet',\n", + " 'output_dir/model_data_002.parquet',\n", + " 'output_dir/model_data_003.parquet',\n", + " 'output_dir/model_data_004.parquet',\n", + " 'output_dir/model_data_005.parquet',\n", + " 'output_dir/model_data_006.parquet',\n", + " 'output_dir/model_data_007.parquet',\n", + " 'output_dir/model_data_008.parquet',\n", + " 'output_dir/model_data_009.parquet',\n", + " 'output_dir/model_data_010.parquet',\n", + " 'output_dir/model_data_011.parquet',\n", + " 'output_dir/model_data_012.parquet',\n", + " 'output_dir/model_data_013.parquet',\n", + " 'output_dir/model_data_014.parquet',\n", + " 'output_dir/model_data_015.parquet',\n", + " 'output_dir/model_data_016.parquet',\n", + " 'output_dir/model_data_017.parquet',\n", + " 'output_dir/model_data_018.parquet',\n", + " 'output_dir/model_data_019.parquet',\n", + " 'output_dir/model_data_020.parquet',\n", + " 'output_dir/model_data_021.parquet',\n", + " 'output_dir/model_data_022.parquet',\n", + " 'output_dir/model_data_023.parquet',\n", + " 'output_dir/model_data_024.parquet',\n", + " 'output_dir/model_data_025.parquet',\n", + " 'output_dir/model_data_026.parquet',\n", + " 'output_dir/model_data_027.parquet',\n", + " 'output_dir/model_data_028.parquet',\n", + " 'output_dir/model_data_029.parquet',\n", + " 'output_dir/model_data_030.parquet',\n", + " 'output_dir/model_data_031.parquet',\n", + " 'output_dir/model_data_032.parquet',\n", + " 'output_dir/model_data_033.parquet',\n", + " 'output_dir/model_data_034.parquet',\n", + " 'output_dir/model_data_035.parquet',\n", + " 'output_dir/model_data_036.parquet',\n", + " 'output_dir/model_data_037.parquet',\n", + " 'output_dir/model_data_038.parquet',\n", + " 'output_dir/model_data_039.parquet',\n", + " 'output_dir/model_data_040.parquet',\n", + " 'output_dir/model_data_041.parquet',\n", + " 'output_dir/model_data_042.parquet',\n", + " 'output_dir/model_data_043.parquet',\n", + " 'output_dir/model_data_044.parquet',\n", + " 'output_dir/model_data_045.parquet',\n", + " 'output_dir/model_data_046.parquet',\n", + " 'output_dir/model_data_047.parquet',\n", + " 'output_dir/model_data_048.parquet',\n", + " 'output_dir/model_data_049.parquet',\n", + " 'output_dir/model_data_050.parquet',\n", + " 'output_dir/model_data_051.parquet',\n", + " 'output_dir/model_data_052.parquet',\n", + " 'output_dir/model_data_053.parquet',\n", + " 'output_dir/model_data_054.parquet',\n", + " 'output_dir/model_data_055.parquet',\n", + " 'output_dir/model_data_056.parquet',\n", + " 'output_dir/model_data_057.parquet',\n", + " 'output_dir/model_data_058.parquet',\n", + " 'output_dir/model_data_059.parquet',\n", + " 'output_dir/model_data_060.parquet',\n", + " 'output_dir/model_data_061.parquet',\n", + " 'output_dir/model_data_062.parquet',\n", + " 'output_dir/model_data_063.parquet',\n", + " 'output_dir/model_data_064.parquet',\n", + " 'output_dir/model_data_065.parquet',\n", + " 'output_dir/model_data_066.parquet',\n", + " 'output_dir/model_data_067.parquet',\n", + " 'output_dir/model_data_068.parquet',\n", + " 'output_dir/model_data_069.parquet',\n", + " 'output_dir/model_data_070.parquet',\n", + " 'output_dir/model_data_071.parquet',\n", + " 'output_dir/model_data_072.parquet',\n", + " 'output_dir/model_data_073.parquet',\n", + " 'output_dir/model_data_074.parquet',\n", + " 'output_dir/model_data_075.parquet',\n", + " 'output_dir/model_data_076.parquet',\n", + " 'output_dir/model_data_077.parquet',\n", + " 'output_dir/model_data_078.parquet',\n", + " 'output_dir/model_data_079.parquet',\n", + " 'output_dir/model_data_080.parquet',\n", + " 'output_dir/model_data_081.parquet',\n", + " 'output_dir/model_data_082.parquet',\n", + " 'output_dir/model_data_083.parquet',\n", + " 'output_dir/model_data_084.parquet',\n", + " 'output_dir/model_data_085.parquet',\n", + " 'output_dir/model_data_086.parquet',\n", + " 'output_dir/model_data_087.parquet',\n", + " 'output_dir/model_data_088.parquet',\n", + " 'output_dir/model_data_089.parquet',\n", + " 'output_dir/model_data_090.parquet',\n", + " 'output_dir/model_data_091.parquet',\n", + " 'output_dir/model_data_092.parquet',\n", + " 'output_dir/model_data_093.parquet',\n", + " 'output_dir/model_data_094.parquet',\n", + " 'output_dir/model_data_095.parquet',\n", + " 'output_dir/model_data_096.parquet',\n", + " 'output_dir/model_data_097.parquet',\n", + " 'output_dir/model_data_098.parquet',\n", + " 'output_dir/model_data_099.parquet',\n", + " 'output_dir/model_data_100.parquet']" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model_files" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "ea25fe67-a4fb-432c-8592-2a6b73dc28f0", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "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", + "
Gini
00.0000
10.2822
20.3666
30.4510
40.5058
......
99950.6358
99960.6332
99970.6128
99980.6314
99990.6778
\n", + "

10000 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " Gini\n", + "0 0.0000\n", + "1 0.2822\n", + "2 0.3666\n", + "3 0.4510\n", + "4 0.5058\n", + "... ...\n", + "9995 0.6358\n", + "9996 0.6332\n", + "9997 0.6128\n", + "9998 0.6314\n", + "9999 0.6778\n", + "\n", + "[10000 rows x 1 columns]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model_df" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "50f26db2-06e0-49a1-996e-53e71a62ecbd", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "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", + "
Gini
00.0000
10.2822
20.3666
30.4510
40.5058
......
99950.6358
99960.6332
99970.6128
99980.6314
99990.6778
\n", + "

10000 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " Gini\n", + "0 0.0000\n", + "1 0.2822\n", + "2 0.3666\n", + "3 0.4510\n", + "4 0.5058\n", + "... ...\n", + "9995 0.6358\n", + "9996 0.6332\n", + "9997 0.6128\n", + "9998 0.6314\n", + "9999 0.6778\n", + "\n", + "[10000 rows x 1 columns]" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gini" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1ac6d4b7-b74f-41e8-82eb-368d77355d91", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/mesa/example.ipynb b/mesa/example.ipynb index 06a09cfb2c7..84f02283e0b 100644 --- a/mesa/example.ipynb +++ b/mesa/example.ipynb @@ -1197,7 +1197,9 @@ "cell_type": "code", "execution_count": 6, "id": "25bf27a3-2605-4b0d-be6d-68ff33bdb1fd", - "metadata": {}, + "metadata": { + "scrolled": true + }, "outputs": [ { "data": { @@ -1272,7 +1274,7 @@ "outputs": [ { "data": { - "image/png": "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atUK7du3r74XUPZc3g5Vb926NYDSDFJiYqJmbfFmMjtPjyVQmmXp3bs3Fi1ahLFjx2LJkiUYMmSIYuh1mzZt8Mcff6Bfv341GrhUp/r4mqjuYM0NkQdeeOEF+Pv748EHH0RqaqrT7TWRAVAzefJkCIKA+++/X7XbbOvWrfjf//4HALjppptgs9kwd+5cxT6zZs2CwWDAjTfeCAC44447YDKZMGXKFKfXJQgCLly4oFn7hw4dip07d+LHH390us3VMY2IiMA111yDDz74AOfOnXO6PS0trVJtadSoETIzMz3a19NjKRo2bBg2btyIhQsXIj09XdElBQB33303bDYbpk6d6vRcJSUlHrerNqmPr4nqDmZuiDzQrl07fP3117j33nvRoUMHaYZiQRBw7NgxfP311zAajWjevHmNtqtv376YN28eHn/8cXTs2FExQ/GaNWvwyy+/4LXXXgMA3HLLLbj22mvx8ssv4/jx4+jWrRtWrFiBn3/+Gc8884xU5NymTRu89tprmDBhAo4fP44hQ4YgMDAQx44dw48//ohHHnkE48aN06T9zz//PL7//nvcddddePDBBxEXF4eMjAz88ssvWLBgAbp166Z6v3nz5uHKK69Ely5dMHr0aLRu3RqpqanYsGEDTp8+jZ07d3rdlri4OMyfPx+vvfYa2rZti4iICAwYMEB1X0+Ppejuu+/GuHHjMG7cOGlpDLn+/fvj0UcfxbRp07Bjxw5cf/318PHxwaFDh/Ddd9/h3XffxZ133un1a9JTfXxNVHcwuCHy0G233Ybdu3fjnXfewYoVK7Bw4UIYDAa0bNkSgwcPxpgxY1yejKvTo48+il69euGdd97B559/jrS0NAQEBKBnz5749NNPpUJno9GIX375BZMmTcKiRYvw6aefIjY2FjNmzMBzzz2neMzx48ejffv2mDVrFqZMmQKgtID0+uuvx6233qpZ2wMCAvDXX39h8uTJ+PHHH/G///0PERERuO6669wGip06dcKWLVswZcoUfPbZZ7hw4QIiIiLQo0cPTJo0qVJtmTRpEk6cOIG33noLOTk56N+/v8vgxptjCQDNmzdH37598ffff+Phhx9WLcpesGAB4uLi8MEHH+Cll16C2WxGbGws7rvvPvTr169Sr0lv9fE1Ud3AtaWIiIioXmHNDREREdUrDG6IiIioXmFwQ0RERPUK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FsTFxSE5ORlDhgwBANjtdiQnJ2Ps2LEePYbNZsPu3btx0003efXc1UUaLcXghoiISBceBzfbt28HUJq52b17NywWi3SbxWJBt27dMG7cOK8bkJSUhJEjRyI+Ph69e/fG7NmzkZeXh1GjRgEARowYgejoaEybNg0A8Oqrr+KKK65A27ZtkZmZiRkzZuDEiRN4+OGHvX7u6iDNc8OCYiIiIl14HNysXr0aADBq1Ci8++67CAoK0qQBw4YNQ1paGiZNmoSUlBR0794dy5cvl4qMT548CaNsut+LFy9i9OjRSElJQWhoKOLi4rB+/Xp06tRJk/ZUlbgoOIMbIiIifRgEtaFP9Vh2djaCg4ORlZWlWYAmt/HoBdzz4Ua0adIIyc9do/njExERNUTenL+9Hi2Vl5eH6dOnIzk5GefPn4ddXAa7zNGjR719yHrFzpobIiIiXXkd3Dz88MP4888/cf/996Np06aqI6caMhtrboiIiHTldXDz22+/4ddff0W/fv2qoz11HkdLERER6cvreW5CQ0MRFhZWHW2pFwQWFBMREenK6+Bm6tSpmDRpEvLz86ujPXVeeeZG54YQERE1UF53S73zzjs4cuQIIiMjERsbCx8fH8Xt27Zt06xxdZFYc2NkdENERKQLr4MbcSZhUieOljKx5oaIiEgXXgc3kydPro521BvM3BAREemrUmtXZ2Zm4uOPP8aECROQkZEBoLQ76syZM5o2ri6SZihm5oaIiEgXXmdudu3ahcTERAQHB+P48eMYPXo0wsLCsGTJEpw8eRKff/55dbSzzpAm8atU2EhERERV5fUpOCkpCQ888AAOHToEX19faftNN92EtWvXatq4uojz3BAREenL6+Dmn3/+waOPPuq0PTo6GikpKZo0qi7jDMVERET68jq4sVqtyM7Odtp+8OBBNGnSRJNG1WUcLUVERKQvr4ObW2+9Fa+++iqKi4sBAAaDASdPnsSLL76IoUOHat7AukYsKOaaW0RERPrwOrh55513kJubi4iICBQUFKB///5o27YtAgMD8frrr1dHG+uU8m4pnRtCRETUQHk9Wio4OBgrV67EunXrsGvXLuTm5qJnz55ITEysjvbVObmXSgAAjSxeH1oiIiLSQKXPwFdeeSWuvPJKLdtSL5y6WLrmVvNQP51bQkRE1DB5FNy89957eOSRR+Dr64v33nvP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/oIgYNWqVThw4ADefPNN1X0KCwtRWFgo/Z6dnV3ldrtpEACAvVJERET68Tpzk5CQgMOHD2vy5Onp6bDZbIiMjFRsj4yMREpKisv7ZWVlISAgABaLBYMHD8acOXMwcOBA1X2nTZuG4OBg6ScmJkaTtquRCooZ3BAREenG68zNk08+ieeeew4pKSno0qULfHx8FLd37dpVs8a5EhgYiB07diA3NxfJyclISkpC69atcc011zjtO2HCBCQlJUm/Z2dnV1uAIxUUs+qGiIhIN14HN0OHDgUAPPjgg9I2g8EAQRC8LigODw+HyWRCamqqYntqaiqioqJc3s9oNErdYt27d8e+ffswbdo01eDGarXCarV63KaqECBFN0RERKQTr4ObY8eOafbkFosFcXFxSE5OxpAhQwCUDjNPTk7G2LFjPX4cu92uqKshIiKihsvr4KZly5aaNiApKQkjR45EfHw8evfujdmzZyMvLw+jRo0CAIwYMQLR0dGYNm0agNIamvj4eLRp0waFhYVYtmwZvvjiC8yfP1/TdlWGwMQNERGR7jwKbn755RfceOON8PHxwS+//OJ231tvvdWrBgwbNgxpaWmYNGkSUlJS0L17dyxfvlwqMj558iSMxvK657y8PDz++OM4ffo0/Pz80LFjR3z55ZcYNmyYV89bHTiJHxERkf4MguNMfCqMRiNSUlIQERGhCDScHqwSk/jVtOzsbAQHByMrKwtBQUGaPvaN7/6Ffeey8fmDvXF1+yaaPjYREVFD5s3526PMjd1uV/0/KQmc54aIiEh3lVpbitzjUHAiIiL9eFxQXFBQgOTkZNx8880ASuePkY9QMplMmDp1Knx9fbVvJREREZGHPA5u/ve//+HXX3+Vgpu5c+fi8ssvh5+fHwBg//79aNasGZ599tnqaWkdUF5QrG87iIiIGjKPu6W++uorPPLII4ptX3/9NVavXo3Vq1djxowZWLx4seYNrEvESfwY2xAREenH4+Dm8OHD6NKli/S7r6+vYuRU7969sXfvXm1bV8dI484Y3RAREenG426pzMxMRY1NWlqa4nbOEixbOJPRDRERkW48ztw0b94ce/bscXn7rl270Lx5c00aVVdxKDgREZH+PA5ubrrpJkyaNAmXLl1yuq2goABTpkzB4MGDNW0cERERkbc87pZ66aWXsHjxYnTo0AFjx45F+/btAQAHDhzA3LlzUVJSgpdeeqnaGloXsOSGiIhIfx4HN5GRkVi/fj0ee+wxjB8/XtYFY8DAgQPx/vvvS+tBNVhcW4qIiEh3Xq0K3qpVKyxfvhwZGRk4fPgwAKBt27YICwurlsbVNVLmhrENERGRbrwKbkRhYWHo3bu31m2p86Rsls7tICIiasi4tpSGmLkhIiLSH4MbIiIiqlcY3GhImqGYHVNERES6YXCjIWltKcY2REREumFwoyFpVXB9m0FERNSgMbjRkMB5boiIiHTH4KYaMLQhIiLSD4MbIiIiqlcY3GiIq4ITERHpj8GNhsoXzmR0Q0REpBcGNxoqLyjWtx1EREQNGYMbDQlS7oaIiIj0wuBGQwJjGyIiIt0xuKkG7JYiIiLSD4MbDbGgmIiISH8MbjTEgmIiIiL9MbjRFOe5ISIi0huDGw2VL5zJ6IaIiEgvDG40xMFSRERE+mNwUw3YLUVERKSfWhHczJs3D7GxsfD19UVCQgI2b97sct+PPvoIV111FUJDQxEaGorExES3+9ckaW0pndtBRETUkOke3CxatAhJSUmYPHkytm3bhm7dumHQoEE4f/686v5r1qzBvffei9WrV2PDhg2IiYnB9ddfjzNnztRwy51JQ8EZ3RAREenGIAj6zqubkJCAXr16Ye7cuQAAu92OmJgYPPnkkxg/fnyF97fZbAgNDcXcuXMxYsSICvfPzs5GcHAwsrKyEBQUVOX2y3WbsgJZBcX4I6k/2kYEaPrYREREDZk3529dMzdFRUXYunUrEhMTpW1GoxGJiYnYsGGDR4+Rn5+P4uJihIWFqd5eWFiI7OxsxU91kbqlmLkhIiLSja7BTXp6Omw2GyIjIxXbIyMjkZKS4tFjvPjii2jWrJkiQJKbNm0agoODpZ+YmJgqt9sVjpYiIiLSn+41N1Uxffp0fPvtt/jxxx/h6+urus+ECROQlZUl/Zw6dara28XEDRERkX7Mej55eHg4TCYTUlNTFdtTU1MRFRXl9r5vv/02pk+fjj/++ANdu3Z1uZ/VaoXVatWkvRWSll9geENERKQXXTM3FosFcXFxSE5OlrbZ7XYkJyejT58+Lu/31ltvYerUqVi+fDni4+NroqkeKV84k4iIiPSia+YGAJKSkjBy5EjEx8ejd+/emD17NvLy8jBq1CgAwIgRIxAdHY1p06YBAN58801MmjQJX3/9NWJjY6XanICAAAQE6DtCiQXFRERE+tM9uBk2bBjS0tIwadIkpKSkoHv37li+fLlUZHzy5EkYjeUJpvnz56OoqAh33nmn4nEmT56MV155pSab7qQ8c8PohoiISC+6z3NT06pznpvLJi5HQbENa5+/Fi0a+2v62ERERA1ZnZnnpr5itxQREZF+GNxoSOBMN0RERLpjcKMhQRoKrm87iIiIGjIGNxoqXziT0Q0REZFeGNxoSczc6NsKIiKiBo3BjYZYc0NERKQ/BjfVgL1SRERE+mFwoyGpoJgdU0RERLphcKOh8oJiXZtBRETUoDG40ZC0tpTO7SAiImrIGNxoiOXERERE+mNwoyGhfOVMIiIi0gmDm2rAgmIiIiL9MLipBiwoJiIi0g+DG40IQnnFDWMbIiIi/TC40YgstuHaUkRERDpicKMRjpQiIiKqHRjcaITdUkRERLUDg5tqwF4pIiIi/TC40Yi8W4pDwYmIiPTD4EYjgjK6ISIiIp0wuNGIIMvdsFuKiIhIPwxuNCJwuBQREVGtwOCmGjBxQ0REpB8GN9WAk/gRERHph8GNRhQzFOvXDCIiogaPwY1GWFBMRERUOzC40Ygyc8PohoiISC8MbjTCwVJERES1A4MbjSjWlmLihoiISDcMbjTCzA0REVHtwOCmGjBzQ0REpB8GNxphQTEREVHtoHtwM2/ePMTGxsLX1xcJCQnYvHmzy33//fdfDB06FLGxsTAYDJg9e3bNNbQi8uCGsQ0REZFudA1uFi1ahKSkJEyePBnbtm1Dt27dMGjQIJw/f151//z8fLRu3RrTp09HVFRUDbfWPYFVN0RERLWCrsHNzJkzMXr0aIwaNQqdOnXCggUL4O/vj4ULF6ru36tXL8yYMQP33HMPrFZrDbfWPc5QTEREVDvoFtwUFRVh69atSExMLG+M0YjExERs2LBBs+cpLCxEdna24qc6yPM2XFuKiIhIP7oFN+np6bDZbIiMjFRsj4yMREpKimbPM23aNAQHB0s/MTExmj22KwxtiIiI9KN7QXF1mzBhArKysqSfU6dOVcvzcBI/IiKi2sGs1xOHh4fDZDIhNTVVsT01NVXTYmGr1Voj9TksJyYiIqoddMvcWCwWxMXFITk5Wdpmt9uRnJyMPn366NWsSlMUFDN1Q0REpBvdMjcAkJSUhJEjRyI+Ph69e/fG7NmzkZeXh1GjRgEARowYgejoaEybNg1AaRHy3r17pf+fOXMGO3bsQEBAANq2bavb6wA4FJyIiKi20DW4GTZsGNLS0jBp0iSkpKSge/fuWL58uVRkfPLkSRiN5cmls2fPokePHtLvb7/9Nt5++230798fa9asqenmK5XFNkzaEBER6csgyCthG4Ds7GwEBwcjKysLQUFBmj3u+exL6P1GMowG4Oi0wZo9LhEREXl3/q73o6Vqihghst6GiIhIXwxuNNKw8l9ERES1F4MbjYgFxczbEBER6YvBjUYEFhQTERHVCgxuNCLV3DB3Q0REpCsGN1pjbENERKQrBjcaEUfUM7YhIiLSF4MbjXC0FBERUe3A4EZjLCgmIiLSF4MbjUijpdgxRUREpCsGNxqR5rlhbENERKQrBjcaY2xDRESkLwY3GimfxI/hDRERkZ4Y3GiEg6WIiIhqBwY3GuE8N0RERLUDgxuNSJkbRjdERES6YnCjkfKh4ERERKQnBjcaY0ExERGRvhjcaIbz3BAREdUGDG40wrWliIiIagcGNxoRYxsmboiIiPTF4EYjnMSPiIiodmBwoxFpbSmd20FERNTQMbjRGBM3RERE+mJwoxEWFBMREdUODG40InCKYiIiolqBwY1GBM5zQ0REVCswuNEIl18gIiKqHRjcaIyZGyIiIn0xuNGYgbkbIiIiXTG40QhHSxEREdUODG40woJiIiKi2oHBjUZYUExERFQ7MLjRiLRwJlM3REREuqoVwc28efMQGxsLX19fJCQkYPPmzW73/+6779CxY0f4+vqiS5cuWLZsWQ211DWBRTdERES1gu7BzaJFi5CUlITJkydj27Zt6NatGwYNGoTz58+r7r9+/Xrce++9eOihh7B9+3YMGTIEQ4YMwZ49e2q45eqYuCEiItKXQdA55ZCQkIBevXph7ty5AAC73Y6YmBg8+eSTGD9+vNP+w4YNQ15eHpYuXSptu+KKK9C9e3csWLDAaf/CwkIUFhZKv2dnZyMmJgZZWVkICgrS7HVsO3kRd7y/Hs1D/bDuxQGaPS4RERGVnr+Dg4M9On/rmrkpKirC1q1bkZiYKG0zGo1ITEzEhg0bVO+zYcMGxf4AMGjQIJf7T5s2DcHBwdJPTEyMdi9ARiooZuaGiIhIV7oGN+np6bDZbIiMjFRsj4yMREpKiup9UlJSvNp/woQJyMrKkn5OnTqlTeMdRAX74olr2+D+K1pWy+MTERGRZ8x6N6C6Wa1WWK3Wan+e6BA/PD+oY7U/DxEREbmna+YmPDwcJpMJqampiu2pqamIiopSvU9UVJRX+xMREVHDomtwY7FYEBcXh+TkZGmb3W5HcnIy+vTpo3qfPn36KPYHgJUrV7rcn4iIiBoW3bulkpKSMHLkSMTHx6N3796YPXs28vLyMGrUKADAiBEjEB0djWnTpgEAnn76afTv3x/vvPMOBg8ejG+//RZbtmzBhx9+qOfLICIiolpC9+Bm2LBhSEtLw6RJk5CSkoLu3btj+fLlUtHwyZMnYTSWJ5j69u2Lr7/+Gv/973/x0ksvoV27dvjpp5/QuXNnvV4CERER1SK6z3NT07wZJ09ERES1Q52Z54aIiIhIawxuiIiIqF5hcENERET1CoMbIiIiqlcY3BAREVG9wuCGiIiI6hUGN0RERFSvMLghIiKiekX3GYprmjhnYXZ2ts4tISIiIk+J521P5h5ucMFNTk4OACAmJkbnlhAREZG3cnJyEBwc7HafBrf8gt1ux9mzZxEYGAiDwaDpY2dnZyMmJganTp3i0g7ViMe5ZvA41xwe65rB41wzqus4C4KAnJwcNGvWTLHmpJoGl7kxGo1o3rx5tT5HUFAQPzg1gMe5ZvA41xwe65rB41wzquM4V5SxEbGgmIiIiOoVBjdERERUrzC40ZDVasXkyZNhtVr1bkq9xuNcM3icaw6Pdc3gca4ZteE4N7iCYiIiIqrfmLkhIiKieoXBDREREdUrDG6IiIioXmFwQ0RERPUKgxsiIiKqVxjcaGTevHmIjY2Fr68vEhISsHnzZr2bVKdMmzYNvXr1QmBgICIiIjBkyBAcOHBAsc+lS5fwxBNPoHHjxggICMDQoUORmpqq2OfkyZMYPHgw/P39ERERgeeffx4lJSU1+VLqlOnTp8NgMOCZZ56RtvE4a+PMmTO477770LhxY/j5+aFLly7YsmWLdLsgCJg0aRKaNm0KPz8/JCYm4tChQ4rHyMjIwPDhwxEUFISQkBA89NBDyM3NremXUqvZbDZMnDgRrVq1gp+fH9q0aYOpU6cqFlfksfbe2rVrccstt6BZs2YwGAz46aefFLdrdUx37dqFq666Cr6+voiJicFbb72lzQsQqMq+/fZbwWKxCAsXLhT+/fdfYfTo0UJISIiQmpqqd9PqjEGDBgmffvqpsGfPHmHHjh3CTTfdJLRo0ULIzc2V9hkzZowQExMjJCcnC1u2bBGuuOIKoW/fvtLtJSUlQufOnYXExERh+/btwrJly4Tw8HBhwoQJerykWm/z5s1CbGys0LVrV+Hpp5+WtvM4V11GRobQsmVL4YEHHhA2bdokHD16VPj999+Fw4cPS/tMnz5dCA4OFn766Sdh586dwq233iq0atVKKCgokPa54YYbhG7dugkbN24U/vrrL6Ft27bCvffeq8dLqrVef/11oXHjxsLSpUuFY8eOCd99950QEBAgvPvuu9I+PNbeW7ZsmfDyyy8LS5YsEQAIP/74o+J2LY5pVlaWEBkZKQwfPlzYs2eP8M033wh+fn7CBx98UOX2M7jRQO/evYUnnnhC+t1mswnNmjUTpk2bpmOr6rbz588LAIQ///xTEARByMzMFHx8fITvvvtO2mffvn0CAGHDhg2CIJR+GI1Go5CSkiLtM3/+fCEoKEgoLCys2RdQy+Xk5Ajt2rUTVq5cKfTv318KbnictfHiiy8KV155pcvb7Xa7EBUVJcyYMUPalpmZKVitVuGbb74RBEEQ9u7dKwAQ/vnnH2mf3377TTAYDMKZM2eqr/F1zODBg4UHH3xQse2OO+4Qhg8fLggCj7UWHIMbrY7p+++/L4SGhiq+N1588UWhQ4cOVW4zu6WqqKioCFu3bkViYqK0zWg0IjExERs2bNCxZXVbVlYWACAsLAwAsHXrVhQXFyuOc8eOHdGiRQvpOG/YsAFdunRBZGSktM+gQYOQnZ2Nf//9twZbX/s98cQTGDx4sOJ4AjzOWvnll18QHx+Pu+66CxEREejRowc++ugj6fZjx44hJSVFcZyDg4ORkJCgOM4hISGIj4+X9klMTITRaMSmTZtq7sXUcn379kVycjIOHjwIANi5cyfWrVuHG2+8EQCPdXXQ6phu2LABV199NSwWi7TPoEGDcODAAVy8eLFKbWxwq4JrLT09HTabTfFFDwCRkZHYv3+/Tq2q2+x2O5555hn069cPnTt3BgCkpKTAYrEgJCREsW9kZCRSUlKkfdT+DuJtVOrbb7/Ftm3b8M8//zjdxuOsjaNHj2L+/PlISkrCSy+9hH/++QdPPfUULBYLRo4cKR0nteMoP84RERGK281mM8LCwnicZcaPH4/s7Gx07NgRJpMJNpsNr7/+OoYPHw4APNbVQKtjmpKSglatWjk9hnhbaGhopdvI4IZqnSeeeAJ79uzBunXr9G5KvXPq1Ck8/fTTWLlyJXx9ffVuTr1lt9sRHx+PN954AwDQo0cP7NmzBwsWLMDIkSN1bl39snjxYnz11Vf4+uuvcfnll2PHjh145pln0KxZMx7rBozdUlUUHh4Ok8nkNJokNTUVUVFROrWq7ho7diyWLl2K1atXo3nz5tL2qKgoFBUVITMzU7G//DhHRUWp/h3E26i02+n8+fPo2bMnzGYzzGYz/vzzT7z33nswm82IjIzkcdZA06ZN0alTJ8W2yy67DCdPngRQfpzcfW9ERUXh/PnzittLSkqQkZHB4yzz/PPPY/z48bjnnnvQpUsX3H///Xj22Wcxbdo0ADzW1UGrY1qd3yUMbqrIYrEgLi4OycnJ0ja73Y7k5GT06dNHx5bVLYIgYOzYsfjxxx+xatUqp1RlXFwcfHx8FMf5wIEDOHnypHSc+/Tpg927dys+UCtXrkRQUJDTiaahuu6667B7927s2LFD+omPj8fw4cOl//M4V12/fv2cpjI4ePAgWrZsCQBo1aoVoqKiFMc5OzsbmzZtUhznzMxMbN26Vdpn1apVsNvtSEhIqIFXUTfk5+fDaFSeykwmE+x2OwAe6+qg1THt06cP1q5di+LiYmmflStXokOHDlXqkgLAoeBa+PbbbwWr1Sp89tlnwt69e4VHHnlECAkJUYwmIfcee+wxITg4WFizZo1w7tw56Sc/P1/aZ8yYMUKLFi2EVatWCVu2bBH69Okj9OnTR7pdHKJ8/fXXCzt27BCWL18uNGnShEOUKyAfLSUIPM5a2Lx5s2A2m4XXX39dOHTokPDVV18J/v7+wpdffintM336dCEkJET4+eefhV27dgm33Xab6lDaHj16CJs2bRLWrVsntGvXrkEPT1YzcuRIITo6WhoKvmTJEiE8PFx44YUXpH14rL2Xk5MjbN++Xdi+fbsAQJg5c6awfft24cSJE4IgaHNMMzMzhcjISOH+++8X9uzZI3z77beCv78/h4LXJnPmzBFatGghWCwWoXfv3sLGjRv1blKdAkD159NPP5X2KSgoEB5//HEhNDRU8Pf3F26//Xbh3Llzisc5fvy4cOONNwp+fn5CeHi48NxzzwnFxcU1/GrqFsfghsdZG//3f/8ndO7cWbBarULHjh2FDz/8UHG73W4XJk6cKERGRgpWq1W47rrrhAMHDij2uXDhgnDvvfcKAQEBQlBQkDBq1CghJyenJl9GrZednS08/fTTQosWLQRfX1+hdevWwssvv6wYXsxj7b3Vq1erfiePHDlSEATtjunOnTuFK6+8UrBarUJ0dLQwffp0TdpvEATZNI5EREREdRxrboiIiKheYXBDRERE9QqDGyIiIqpXGNwQERFRvcLghoiIiOoVBjdERERUrzC4ISIionqFwQ0RERHVKwxuiIiIqF5hcENERET1CoMbIiIiqlf+H9pZpmxTQLn5AAAAAElFTkSuQmCC", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGzCAYAAADT4Tb9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACG1UlEQVR4nO3deXgT1foH8G+SNulGN0pbKIWyL7JaoAIqiFVUrooXFb0IiLuCG+IVVEBcwJ8ooIDiBriDC6BXEcUKCsqibAKyCqVsbdm678n8/mhnOjOZSZM26XT5fp6njzKZpCfTZOad95zzHpMgCAKIiIiIGgiz0Q0gIiIi8iYGN0RERNSgMLghIiKiBoXBDRERETUoDG6IiIioQWFwQ0RERA0KgxsiIiJqUBjcEBERUYPC4IaIiIgaFAY3RD7y3HPPwWQyVeu5S5cuhclkQmpqqncb5QMfffQROnfuDH9/f4SHh0vbZ8+ejbZt28JisaBXr14AgISEBNx5550evX5qaipMJhOWLl3qtTaTs+r8bYjqKgY3RB44evQoJkyYgI4dOyIoKAhBQUHo2rUrxo8fj7/++suwdu3cuRN33HEH4uPjYbPZEBkZieTkZCxZsgR2u91nv3f//v2488470a5dO7z77rt45513AAA//vgj/vvf/2LgwIFYsmQJZs6c6bM2eMubb77ZoAKo9evXw2QyufVD1NCYuLYUkXu+/fZbjBw5En5+fhg1ahR69uwJs9mM/fv3Y8WKFTh27BiOHj2K1q1bAwDKyspQVlaGgIAAj3+X3W5HaWkpbDZblRef9957Dw888ABiYmIwevRodOjQAbm5uUhJScF3332HF198EU8//XS13nNVFi1ahAcffBCHDh1C+/btpe2TJ0/G7NmzUVhYCKvVKm0vLi6G2WyGv7+/279DEAQUFxfD398fFovFq+2X69atG6KiorB+/Xqf/Y7alJGRgbVr1yq2TZkyBSEhIXjmmWcU2++4445q/W2I6io/oxtAVB/8888/uO2229C6dWukpKSgefPmisf/7//+D2+++SbM5spkqJ+fH/z8qvcVs1gsbl3IN2/ejAceeAD9+/fH6tWr0aRJE+mxxx57DH/++Sf27NlTrTa4IzMzEwAU3VHi9sDAQEVgAwA2m83j32EymaoVIDYWgiCgqKgIgYGBiu0xMTG44447FNtefvllREVFOW0Hqve3IaqzBCKq0n333ScAEDZv3uz2c6ZPny6ov2IAhPHjxwsrV64ULrroIsFqtQpdu3YVvv/+e8V+S5YsEQAIR48edfk7rrnmGsHPz084duyYW23Ky8sTJk6cKLRs2VKwWq1Cx44dhdmzZwsOh8Np348++ki4+OKLhYCAACEiIkIYOXKkkJaWJj3eunVrAYDiR3zP6p8lS5ZIzxk7dqzi91y4cEF47LHHhNatWwtWq1WIi4sTRo8eLZw5c0YQBEE4evSo4jVE+/btE0aMGCFEREQINptNSExMFL7++mvN47hx40bh8ccfF6KiooSgoCBh+PDhQmZmpsv3MmjQoBofy4suukgYPHiw03PtdrvQokULYcSIEYptc+fOFbp27SrYbDYhOjpauO+++4Tz588rntu6dWth2LBhwpo1a4TExETBZrMJc+fOddlWeXv03pf6byMeuw0bNggPP/ywEBUVJYSFhQn33XefUFxcLFy4cEEYPXq0EB4eLoSHhwtPPvmk0+fI3fdE5G3M3BC54dtvv0X79u2RlJRU49fauHEjVqxYgYceeghNmjTBG2+8gREjRiAtLQ1NmzZ1+3UKCgqQkpKCyy+/HK1atapyf0EQcMMNN2DdunW4++670atXL/zwww948skncfLkScydO1fa96WXXsLUqVNx66234p577sGZM2cwf/58XH755dixYwfCw8Mxb948fPjhh1i5ciXeeusthISEoEePHmjfvj3eeecdbN26Fe+99x4AYMCAAZptysvLw2WXXYZ9+/bhrrvuwsUXX4yzZ8/im2++wYkTJxAVFaX5vL1792LgwIGIi4vD5MmTERwcjM8//xzDhw/HV199hZtuukmx/8MPP4yIiAhMnz4dqampmDdvHiZMmIDly5cDAObNm4eHH35Y0WUTExNT42M5cuRIPPfcc0hPT0dsbKz0/I0bN+LUqVO47bbbpG33338/li5dinHjxuGRRx7B0aNHsWDBAuzYsQO//faborvowIEDuP3223H//ffj3nvvRadOnXTbWlMPP/wwYmNjMWPGDGzevBnvvPMOwsPD8fvvv6NVq1aYOXMmVq9ejdmzZ6Nbt24YM2ZMtd4TkVcZHV0R1XXZ2dkCAGH48OFOj124cEE4c+aM9FNQUCA9ppe5sVqtwuHDh6Vtu3btEgAI8+fPl7a5k7kRn/foo4+69T5WrVolABBefPFFxfabb75ZMJlMUptSU1MFi8UivPTSS4r9du/eLfj5+Sm2i+9RzLKIxo4dKwQHBzu1QZ0dmDZtmgBAWLFihdO+YhZAK3Nz5ZVXCt27dxeKiooU+w8YMEDo0KGDtE08jsnJyYqswuOPPy5YLBYhKytL2uYqq6Hm7rE8cOCA099WEAThoYceEkJCQqTPy4YNGwQAwieffKLYb82aNU7bxSzTmjVr3GqrXHUyN0OHDlUcu/79+wsmk0l44IEHpG1lZWVCy5YtFa/tyXsi8jbOliKqQk5ODgAgJCTE6bHBgwejWbNm0s/ChQurfL3k5GS0a9dO+nePHj0QGhqKI0eOVKtd8nE2rqxevRoWiwWPPPKIYvsTTzwBQRDw/fffAwBWrFgBh8OBW2+9FWfPnpV+YmNj0aFDB6xbt86jdrry1VdfoWfPnk6ZFgC6A6nPnz+Pn3/+Gbfeeityc3Ol9p07dw5Dhw7FoUOHcPLkScVz7rvvPsXrXXbZZbDb7Th27Fi12u3usezYsSN69eolZYiA8sHiX375Ja6//nppnMwXX3yBsLAwXHXVVYpjnpiYiJCQEKdj3qZNGwwdOrRabffU3XffrTh2SUlJEAQBd999t7TNYrGgT58+is+wp++JyJvYLUVUBTF4yMvLc3rs7bffRm5uLjIyMjQHaWrR6kKKiIjAhQsXPGpXaGgoACA3N9et/Y8dO4YWLVo4BUNdunSRHgeAQ4cOQRAEdOjQQfN1vNmV8M8//2DEiBEePefw4cMQBAFTp07F1KlTNffJzMxEXFyc9G/1MY+IiAAAj4+5yN1jCZR3TT399NM4efIk4uLisH79emRmZmLkyJHSPocOHUJ2djaio6N1349cmzZtqtXu6lAfu7CwMABAfHy803b58fT0PRF5E4MboiqEhYWhefPmmrOOxDE4nhTb05sFJXhYlaF9+/bw8/PD7t27PXpeVRwOB0wmE77//nvNtmplsGqTw+EAAEyaNEk3eyGflg5475hXx8iRIzFlyhR88cUXeOyxx/D5558jLCwM11xzjbSPw+FAdHQ0PvnkE83XaNasmeLf6plRvqR37LS2y4+np++JyJsY3BC5YdiwYXjvvfewdetW9OvXz+jmAACCgoIwZMgQ/Pzzzzh+/LjTnbRa69at8dNPPyE3N1eRcdi/f7/0OAC0a9cOgiCgTZs26Nixo+/eQMXv8nSqetu2bQGUZ5CSk5O91hZPitm5eyyB8ixLv379sHz5ckyYMAErVqzA8OHDFVOv27Vrh59++gkDBw6s1cDFlxrie6L6g2NuiNzw3//+F0FBQbjrrruQkZHh9HhtZAC0TJ8+HYIgYPTo0ZrdZtu2bcMHH3wAALjuuutgt9uxYMECxT5z586FyWTCtddeCwD497//DYvFghkzZji9L0EQcO7cOa+1f8SIEdi1axdWrlzp9JjeMY2OjsbgwYPx9ttv4/Tp006PnzlzplptCQ4ORlZWllv7unssRSNHjsTmzZuxePFinD17VtElBQC33nor7HY7XnjhBaffVVZW5na76pKG+J6o/mDmhsgNHTp0wKefforbb78dnTp1kioUC4KAo0eP4tNPP4XZbEbLli1rtV0DBgzAwoUL8dBDD6Fz586KCsXr16/HN998gxdffBEAcP311+OKK67AM888g9TUVPTs2RM//vgjvv76azz22GPSIOd27drhxRdfxJQpU5Camorhw4ejSZMmOHr0KFauXIn77rsPkyZN8kr7n3zySXz55Ze45ZZbcNdddyExMRHnz5/HN998g0WLFqFnz56az1u4cCEuvfRSdO/eHffeey/atm2LjIwMbNq0CSdOnMCuXbs8bktiYiLeeustvPjii2jfvj2io6MxZMgQzX3dPZaiW2+9FZMmTcKkSZOkpTHkBg0ahPvvvx+zZs3Czp07cfXVV8Pf3x+HDh3CF198gddffx0333yzx+/JSA3xPVH9weCGyE033ngjdu/ejddeew0//vgjFi9eDJPJhNatW2PYsGF44IEHdC/GvnT//fejb9++eO211/Dhhx/izJkzCAkJwcUXX4wlS5ZIA53NZjO++eYbTJs2DcuXL8eSJUuQkJCA2bNn44knnlC85uTJk9GxY0fMnTsXM2bMAFA+gPTqq6/GDTfc4LW2h4SEYMOGDZg+fTpWrlyJDz74ANHR0bjyyitdBopdu3bFn3/+iRkzZmDp0qU4d+4coqOj0bt3b0ybNq1abZk2bRqOHTuGV155Bbm5uRg0aJBucOPJsQSAli1bYsCAAfjtt99wzz33aA7KXrRoERITE/H222/j6aefhp+fHxISEnDHHXdg4MCB1XpPRmuI74nqB64tRURERA0Kx9wQERFRg8LghoiIiBoUBjdE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", "text/plain": [ "
" ] @@ -1370,16 +1372,16 @@ "text": [ " Gini\n", "0 0.0000\n", - "1 0.3146\n", - "2 0.3576\n", - "3 0.4404\n", - "4 0.4484\n", + "1 0.3306\n", + "2 0.4212\n", + "3 0.4780\n", + "4 0.5296\n", ".. ...\n", - "96 0.6668\n", - "97 0.6820\n", - "98 0.6826\n", - "99 0.6416\n", - "100 0.6364\n", + "96 0.6400\n", + "97 0.6526\n", + "98 0.6444\n", + "99 0.6492\n", + "100 0.6492\n", "\n", "[101 rows x 1 columns]\n" ] @@ -1413,16 +1415,16 @@ "text": [ " Gini\n", "0 0.0000\n", - "1 0.3146\n", - "2 0.3576\n", - "3 0.4404\n", - "4 0.4484\n", + "1 0.3306\n", + "2 0.4212\n", + "3 0.4780\n", + "4 0.5296\n", ".. ...\n", - "995 0.6322\n", - "996 0.6274\n", - "997 0.6276\n", - "998 0.6088\n", - "999 0.6256\n", + "995 0.6524\n", + "996 0.6772\n", + "997 0.6878\n", + "998 0.6702\n", + "999 0.6804\n", "\n", "[1000 rows x 1 columns]\n", " Wealth\n", @@ -1433,9 +1435,9 @@ "4 1\n", "... ...\n", "99995 1\n", - "99996 0\n", + "99996 1\n", "99997 0\n", - "99998 2\n", + "99998 1\n", "99999 0\n", "\n", "[100000 rows x 1 columns]\n" @@ -1483,7 +1485,7 @@ "outputs": [ { "data": { - "image/png": "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pk0bdOzY0XdvoOK1PJ2q3rZtWwDlGaSEhASvtcWTYnbuHkugPMvSv39/rFixApMmTcLq1asxYsQIm6nX7dq1w2+//YaBAwfWaODiS/XxPVHdwTE3RG549tlnERgYiAceeACpqal2v6+JDICamTNnQhAE3HfffardZjt27MDHH38MALjppptgsViwcOFCm33mzZsHnU6HG2+8EQBw++23w2AwYNasWXbvSxAEXLx40WvtHzlyJPbs2YNvvvnG7neOjmlERASuueYavPfee7hw4YLd79PT06vUlkaNGiErK8utfd09lqJRo0Zhy5YtWLJkCTIyMmy6pADgrrvugsViwcsvv2z3WmVlZW63qzapj++J6g5mbojc0KFDB3zxxRe455570KlTJ6lCsSAIOHHiBL744gvo9Xq0bNmyRts1YMAALFq0CI899hg6d+5sU6F4w4YN+P777/HKK68AAIYPH45rr70WL7zwAk6ePImePXvi119/xXfffYcnn3xSGuTcrl07vPLKK5g2bRpOnjyJESNGoHHjxjhx4gS++eYbPPzww5gyZYpX2v/MM8/gq6++wp133okHHngAffv2RWZmJr7//nssXrwYPXv2VH3cokWLcOWVV6J79+4YP3482rZti9TUVGzevBlnz57Fnj17PG5L37598e677+KVV15B+/btERERgcGDB6vu6+6xFN11112YMmUKpkyZIi2NITdo0CA88sgjSEpKwu7du3H99dfDz88PR44cwapVq/DWW2/hjjvu8Pg9aak+vieqOxjcELnp1ltvxb59+/Dmm2/i119/xZIlS6DT6dC6dWsMGzYMEyZMcHgx9qVHHnkEl19+Od5880188sknSE9PR1BQEPr06YOlS5dKA531ej2+//57zJgxAytWrMDSpUsRGxuLOXPm4Omnn7Z5zqlTp6Jjx46YN28eZs2aBaB8AOn111+PW265xWttDwoKwh9//IGZM2fim2++wccff4yIiAhcd911TgPFLl26YPv27Zg1axaWLVuGixcvIiIiAr1798aMGTOq1JYZM2bg1KlTeP3115Gbm4tBgwY5DG48OZYA0LJlSwwYMAB//vknHnroIdVB2YsXL0bfvn3x3nvv4fnnn4fRaERsbCzuvfdeDBw4sErvSWv18T1R3cC1pYiIiKhe4ZgbIiIiqlcY3BAREVG9wuCGiIiI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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGzCAYAAADT4Tb9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACHeElEQVR4nO3deXgTVdsG8DtJm3SjG6UtlELZkR0KlIKKSxGVV0VRkQ8BUUFUFEVUUAFxAV9RQAHFDXAHUVxeFxQLyL7vyL6VrQtL99Ilme+PdqYzk0malKTTlvt3Xb2UySQ9nSQzzzznnOcYBEEQQERERFRLGPVuABEREZEnMbghIiKiWoXBDREREdUqDG6IiIioVmFwQ0RERLUKgxsiIiKqVRjcEBERUa3C4IaIiIhqFQY3REREVKswuCHykldffRUGg6FSz124cCEMBgNOnDjh2UZ5wZdffonWrVvD19cXoaGh0vbp06ejadOmMJlM6NSpEwAgLi4ODz30kFuvf+LECRgMBixcuNBjbSZ7lXlviKorBjdEbjh+/DhGjx6Nli1bIiAgAAEBAWjTpg2efPJJ7N69W7d27dy5Ew8++CBiY2NhsVgQHh6OpKQkLFiwAFar1Wu/98CBA3jooYfQrFkzfPLJJ/j4448BAH/99RdeeOEF9OrVCwsWLMDUqVO91gZP+eCDD2pVALVq1SoYDAaXfohqGwPXliJyza+//oqBAwfCx8cHgwcPRseOHWE0GnHgwAEsXboUJ0+exPHjx9G4cWMAQElJCUpKSuDn5+f277JarSguLobFYqnw4vPpp59i1KhRiIqKwpAhQ9CiRQvk5OQgOTkZv/32G9544w289NJLlfqbKzJv3jw8/vjjOHz4MJo3by5tHz9+PKZPn46CggKYzWZpe2FhIYxGI3x9fV3+HYIgoLCwEL6+vjCZTB5tv1y7du0QERGBVatWee13VKW0tDQsX75csW3ChAkICgrCyy+/rNj+4IMPVuq9IaqufPRuAFFNcPToUTzwwANo3LgxkpOTUb9+fcXj//3vf/HBBx/AaCxPhvr4+MDHp3JfMZPJ5NKFfOPGjRg1ahQSExPx+++/o06dOtJjzzzzDLZu3Yq9e/dWqg2uSE9PBwBFd5S43d/fXxHYAIDFYnH7dxgMhkoFiFcLQRBw+fJl+Pv7K7ZHRUXhwQcfVGx76623EBERYbcdqNx7Q1RtCURUoZEjRwoAhI0bN7r8nMmTJwvqrxgA4cknnxR+/PFHoW3btoLZbBbatGkj/PHHH4r9FixYIAAQjh8/7vR33HrrrYKPj49w8uRJl9qUm5srjB07VmjYsKFgNpuFli1bCtOnTxdsNpvdvl9++aXQpUsXwc/PTwgLCxMGDhwopKSkSI83btxYAKD4Ef9m9c+CBQuk5wwbNkzxey5duiQ888wzQuPGjQWz2SzExMQIQ4YMETIyMgRBEITjx48rXkO0f/9+YcCAAUJYWJhgsViE+Ph44eeff9Y8jmvXrhWeffZZISIiQggICBD69+8vpKenO/1bevfufcXHsm3btsINN9xg91yr1So0aNBAGDBggGLbzJkzhTZt2ggWi0WIjIwURo4cKVy8eFHx3MaNGwv9+vUTli1bJsTHxwsWi0WYOXOm07bK2+Po71K/N+KxW7NmjfDUU08JERERQkhIiDBy5EihsLBQuHTpkjBkyBAhNDRUCA0NFZ5//nm7z5GrfxORpzFzQ+SCX3/9Fc2bN0dCQsIVv9batWuxdOlSPPHEE6hTpw7ef/99DBgwACkpKahbt67Lr5Ofn4/k5GRcf/31aNSoUYX7C4KAO++8EytXrsQjjzyCTp064c8//8Tzzz+PM2fOYObMmdK+b775JiZOnIj7778fjz76KDIyMjB79mxcf/312LFjB0JDQzFr1ix88cUX+PHHH/Hhhx8iKCgIHTp0QPPmzfHxxx9j8+bN+PTTTwEAPXv21GxTbm4urrvuOuzfvx8PP/wwunTpgvPnz+OXX37B6dOnERERofm8ffv2oVevXoiJicH48eMRGBiI7777Dv3798cPP/yAu+++W7H/U089hbCwMEyePBknTpzArFmzMHr0aCxevBgAMGvWLDz11FOKLpuoqKgrPpYDBw7Eq6++itTUVERHR0vPX7t2Lc6ePYsHHnhA2vbYY49h4cKFGD58OJ5++mkcP34cc+bMwY4dO7Bu3TpFd9HBgwcxaNAgPPbYYxgxYgRatWrlsK1X6qmnnkJ0dDSmTJmCjRs34uOPP0ZoaCjWr1+PRo0aYerUqfj9998xffp0tGvXDkOHDq3U30TkUXpHV0TVXVZWlgBA6N+/v91jly5dEjIyMqSf/Px86TFHmRuz2SwcOXJE2rZr1y4BgDB79mxpmyuZG/F5Y8aMcenv+OmnnwQAwhtvvKHYfu+99woGg0Fq04kTJwSTySS8+eabiv327Nkj+Pj4KLaLf6OYZRENGzZMCAwMtGuDOjswadIkAYCwdOlSu33FLIBW5ubmm28W2rdvL1y+fFmxf8+ePYUWLVpI28TjmJSUpMgqPPvss4LJZBIyMzOlbc6yGmquHsuDBw/avbeCIAhPPPGEEBQUJH1e1qxZIwAQvv76a8V+y5Yts9suZpmWLVvmUlvlKpO56du3r+LYJSYmCgaDQRg1apS0raSkRGjYsKHitd35m4g8jbOliCqQnZ0NAAgKCrJ77IYbbkC9evWkn7lz51b4eklJSWjWrJn07w4dOiA4OBjHjh2rVLvk42yc+f3332EymfD0008rtj/33HMQBAF//PEHAGDp0qWw2Wy4//77cf78eeknOjoaLVq0wMqVK91qpzM//PADOnbsaJdpAeBwIPXFixexYsUK3H///cjJyZHad+HCBfTt2xeHDx/GmTNnFM8ZOXKk4vWuu+46WK1WnDx5slLtdvVYtmzZEp06dZIyREDpYPHvv/8ed9xxhzROZsmSJQgJCUGfPn0Uxzw+Ph5BQUF2x7xJkybo27dvpdrurkceeURx7BISEiAIAh555BFpm8lkQteuXRWfYXf/JiJPYrcUUQXE4CE3N9fusY8++gg5OTlIS0vTHKSpRasLKSwsDJcuXXKrXcHBwQCAnJwcl/Y/efIkGjRoYBcMXXPNNdLjAHD48GEIgoAWLVpovo4nuxKOHj2KAQMGuPWcI0eOQBAETJw4ERMnTtTcJz09HTExMdK/1cc8LCwMANw+5iJXjyVQ2jX10ksv4cyZM4iJicGqVauQnp6OgQMHSvscPnwYWVlZiIyMdPj3yDVp0qRS7a4M9bELCQkBAMTGxtptlx9Pd/8mIk9icENUgZCQENSvX19z1pE4BsedYnuOZkEJblZlaN68OXx8fLBnzx63nlcRm80Gg8GAP/74Q7OtWhmsqmSz2QAA48aNc5i9kE9LBzx3zCtj4MCBmDBhApYsWYJnnnkG3333HUJCQnDrrbdK+9hsNkRGRuLrr7/WfI169eop/q2eGeVNjo6d1nb58XT3byLyJAY3RC7o168fPv30U2zevBndu3fXuzkAgICAANx0001YsWIFTp06ZXcnrda4cWP8/fffyMnJUWQcDhw4ID0OAM2aNYMgCGjSpAlatmzpvT+g7He5O1W9adOmAEozSElJSR5rizvF7Fw9lkBplqV79+5YvHgxRo8ejaVLl6J///6KqdfNmjXD33//jV69elVp4OJNtfFvopqDY26IXPDCCy8gICAADz/8MNLS0uwer4oMgJbJkydDEAQMGTJEs9ts27Zt+PzzzwEAt99+O6xWK+bMmaPYZ+bMmTAYDLjtttsAAPfccw9MJhOmTJli93cJgoALFy54rP0DBgzArl278OOPP9o95uiYRkZG4oYbbsBHH32Ec+fO2T2ekZFRqbYEBgYiMzPTpX1dPZaigQMHYuPGjZg/fz7Onz+v6JICgPvvvx9WqxWvv/663e8qKSlxuV3VSW38m6jmYOaGyAUtWrTAN998g0GDBqFVq1ZShWJBEHD8+HF88803MBqNaNiwYZW2q2fPnpg7dy6eeOIJtG7dWlGheNWqVfjll1/wxhtvAADuuOMO3HjjjXj55Zdx4sQJdOzYEX/99Rd+/vlnPPPMM9Ig52bNmuGNN97AhAkTcOLECfTv3x916tTB8ePH8eOPP2LkyJEYN26cR9r//PPP4/vvv8d9992Hhx9+GPHx8bh48SJ++eUXzJs3Dx07dtR83ty5c3Httdeiffv2GDFiBJo2bYq0tDRs2LABp0+fxq5du9xuS3x8PD788EO88cYbaN68OSIjI3HTTTdp7uvqsRTdf//9GDduHMaNGyctjSHXu3dvPPbYY5g2bRp27tyJW265Bb6+vjh8+DCWLFmC9957D/fee6/bf5OeauPfRDUHgxsiF911113Ys2cP3n33Xfz111+YP38+DAYDGjdujH79+mHUqFEOL8be9Nhjj6Fbt25499138cUXXyAjIwNBQUHo0qULFixYIA10NhqN+OWXXzBp0iQsXrwYCxYsQFxcHKZPn47nnntO8Zrjx49Hy5YtMXPmTEyZMgVA6QDSW265BXfeeafH2h4UFIQ1a9Zg8uTJ+PHHH/H5558jMjISN998s9NAsU2bNti6dSumTJmChQsX4sKFC4iMjETnzp0xadKkSrVl0qRJOHnyJN5++23k5OSgd+/eDoMbd44lADRs2BA9e/bEunXr8Oijj2oOyp43bx7i4+Px0Ucf4aWXXoKPjw/i4uLw4IMPolevXpX6m/RWG/8mqhm4thQRERHVKhxzQ0RERLUKgxsiIiKqVRjcEBERUa3C4IaIiIhqFQY3REREVKswuCEiIqJa5aqrc2Oz2XD27FnUqVPHrXLrREREpB9BEJCTk4MGDRrAaHSem7nqgpuzZ89WuAYPERERVU+nTp2qsBr8VRfciIvcnTp1CsHBwTq3hoiIiFyRnZ2N2NhYxWK1jlx1wY3YFRUcHMzghoiIqIZxZUgJBxQTERFRrcLghoiIiGoVBjdERERUq1x1Y26IiIiqkiAIKCkpgdVq1bsp1Z6vry9MJtMVvw6DGyIiIi8pKirCuXPnkJ+fr3dTagSDwYCGDRsiKCjoil6HwQ0REZEX2Gw2HD9+HCaTCQ0aNIDZbGbxWCcEQUBGRgZOnz6NFi1aXFEGh8ENERGRFxQVFcFmsyE2NhYBAQF6N6dGqFevHk6cOIHi4uIrCm44oJiIiMiLKloqgMp5KrPFI05ERES1CoMbIiIiqlUY3BAREVGlGAwG/PTTTy7vv3DhQoSGhnqtPSIGN0RERGQnNTUVY8aMQfPmzeHn54eoqCj06tULH374oTS1/dy5c7jttttcfs2BAwfi0KFD3mqyhLOliIioxlp5MB0Xc4swIL6h3k2pVY4dO4ZevXohNDQUU6dORfv27WGxWLBnzx58/PHHiImJwZ133ono6Gi3Xtff3x/+/v5eanU5BjdERFRjDV+wBQDQNiYYraODdW5NxQRBQEFx1Vcq9vc1uTUT6YknnoCPjw+2bt2KwMBAaXvTpk1x1113QRAEAKXdUj/++CP69++PEydOoEmTJvjhhx8we/ZsbNq0CS1atMC8efOQmJgIoLRb6plnnkFmZqZH/z41BjdERFQjWW2C9P+7T2XViOCmoNiKNpP+rPLf++9rfRFgdu2Sf+HCBfz111+YOnWqIrCRcxYovfzyy3jnnXfQokULvPzyyxg0aBCOHDkCH5+qCzk45oaIiGqk/KIS6f9PXeLyBp5y5MgRCIKAVq1aKbZHREQgKCgIQUFBePHFFx0+f9y4cejXrx9atmyJKVOm4OTJkzhy5Ii3m63AzA0REdVIBUXl3Tvnc4t0bInr/H1N+Pe1vrr83iu1efNm2Gw2DB48GIWFhQ7369Chg/T/9evXBwCkp6ejdevWV9wGVzG4ISKiGilfFtzkFZY42bP6MBgMLncP6aV58+YwGAw4ePCgYnvTpk0BoMIBwb6+vtL/i91XNpvNw610jt1SRERUI+XJuqVya0hwUxPUrVsXffr0wZw5c5CXl6d3cyqFwQ0R1SqX8orw2+5zKCyp+hkpVDUEQcDS7aex9cQlaVvO5WIdW1T7fPDBBygpKUHXrl2xePFi7N+/HwcPHsRXX32FAwcOXNGillWheufGiIjcNPLLrdhy4hLG3dISo29qoXdzyAs2Hb+Isd/tUmzLuczMjSc1a9YMO3bswNSpUzFhwgScPn0aFosFbdq0wbhx4/DEE0/o3USnGNwQUa2ypexufun2MwxuaqmTF+y7ShjceF79+vUxe/ZszJ492+E+Yr0bAIiLi1P8GwBCQ0MV2x566CE89NBDHm+rGoMbIqoVPvrnKLaeLO+mCPb3dbI3VXc2m4Aiqw1+GrN86vjZv7ccc0NyDG6IqMaz2gRM++OAYpvFh0MKa7JhCzZjR0om1r14E0IClMGMyWhfQC63sASCILhVhZdqL377ia5SX208iQc+3oBsDw7EPJiag3f/OoiMHMc1MLzh+Hn7booLeTWj7gmV+2tfKq5/eyW2p1zCmsPnkVtYgr/3p9ntV1hiP63YatNnWQOqnhjcEF2lXvlpLzYeu4jP1hz3yOuVWG3oO2s1Zq84gkWbUzzymq46kJptt+18btUGWHTlRn65DSkX83HPB+ulbRZf+8tUoSyImX5vB4iJHI67IRGDG6KrnKfudrNlF5a0nMseeU1XnbxgX3o/u6AYNpugsTfVJL4mjeBGlrkZ0KUhgiylIywqCm5KrDa8/OMe/LzzjGcbWQH1IFtyzFPHisENVQufrjmG295bw7ttHfhojF+ojFzZhSW/sGq7B05rrCtkE4DcIt7J13Ql1tKLnSAI0lpSYnBzZ8cGMBoN0gDjimrd/Lr7HL7elIIxi3Yqtm87eRFp2Z4PyMVKvfn5XPfKVUVFpd3JV1pHhwOKqVp447f9AIBP1xzH+Nuqbv0RAnw07oxdkV9UgjWHz+P6FvXgbzYhp7D8wuLJcTyuOHWxQHN7Vn4xgjVm1uhldvJh/LbnHL4d0QNhgWa9m1MjiJnFZxbvxF/70vD3c72lAo3ioPE6fqWXsopmTJ3JLP+c5BWWINDig2V7UzHqq23o2jgM3z/e06NtN5lMCA0NRXp6OgAgICCAA56dsNlsyMjIQEBAwBWvIM7gppaz2gQs3nIKXRqHonV0sN7N0WSVdR0U8E67SlyWdUX5VjJz88L3u/Hr7nO4N74h3rmvoyJzk11Qte9jqoO77qyCYsRWaUuce3f5IQDAZ2uPY1zfVg73O3khD/VD/GHmjC8puPl551kApVleMWAVx+OI3VK5qm6p7MvF2HD0ArrHhSMs0IwLssU1n/p2B+Y/1A0zlpeunyQvI+BJ0dHRACAFOOSc0WhEo0aNrjgIZHBTix1Ky8HzS3Zh1+ksAMC2V5JQN8iic6vsnc3UvuvW2+ViK05fKkDzyCC9m+JRBUVWdHvzb+nfvpW8gP66+xwA4Pttp/HOfR0V6/xkFVRt5uaCg+7MzPzqU5JfPpZgzsojGNyjEeqH2C9A+M+hDAybvxm9mtfF14/28Fp79p3NwoJ1J/DcLS0121HV8h3c2MxcfgiXZQtkLlh3Ag/2aAQAsPiUdl2ImRv5mJvdpzNx55x1AIDEpnXx7cgeiu7L3WXnxTwvd6EaDAbUr18fkZGRKC6uPp/H6spsNsNovPKgnsFNLXbLzNWKfx9MzUHP5tUvuDmXVX7XnZZdfcbcDP1sMzafuIivH01Ar+YRejfHY45m5CrS954Yv/flhhOKwmpV2S1VbLXhkoMgJrOg+kwHzytSXkQHf7oJK567wW6/L9afAACsO3LBq+15aMEWZOQU4vttp7Hiud5oWu/KgnirTcCFvEJE1vGr1POf/naH5vaLeUV48/f9im1fbSydjSd2SwWJY25kn2sxsAGADcdKj2WmLOgOspQGRvLsWGGJVQqYPM1kMlX79ZhqE+Y8aymtEefVtYKnvIukOg0o3nziIgDgiw0n9G2Ii0qsNuw8lYliq30NEGc8scDkxJ/3Yd4/R6V/Z1dh5uaSk3o2VZ1BckZd++dYhvZqy8VVNMNL3p6b3v3nil/v8a+2ofubydh1KrNSz/97v/vdNmbVmJuKBhRnyYJg8Xwo75XNKijG73vOYc3hDLfbojdBEDgrS6ZaBDdz585FXFwc/Pz8kJCQgM2bNzvc94YbboDBYLD76devXxW2uPr7vOzuTy6vmo5nkQc36rvb6qC6BoVqM5YfQv+56zBVdZerVqQKfoo0CqJVxoHUHOn/i61Vd5I9n2sf3PiXleyvTt1SrhY2LPbQ+1GRQLNnswh//VtabO+rjSfdfm5lL8rizVAdB2Nu5ApLrIpgVyxdcLm4/HjvPZOFJ77ejiGfbVacl6o7q01A/7nr8MDHGxnglNE9uFm8eDHGjh2LyZMnY/v27ejYsSP69u3rcPDV0qVLce7cOeln7969MJlMuO+++6q45dVXsdWGV//3r932eauO6dCail2WnczzqmEg4eyEWZ18sKo0c7Jg3Qmn+6mDGU8FN4rXtNqq7CR7Kd8+uGkUHgCgemVutNoJlGbcAGBHyiXsPJWpGGDvTbFlx8gT5O91SCXW9FIH3I40rReo+LdYmVprzI3axbwixeehqMSGwhKros7T1hPlg4rf+O1fHEnPdaldejuQmo1dp7Ow6fhFzerNVyPdg5sZM2ZgxIgRGD58ONq0aYN58+YhICAA8+fP19w/PDwc0dHR0s/y5csREBDA4EbGUY2Rg2k5OJKeo/mYnuR3SI4GFeqptlU9VXdbeetkWFXZG62uCPHCnVWNMjdagdZ/lx1Ahyl/Yc/pLNz9wXr0n7uuyjKskcGVGxuj5WBa+XmlouBmw9ELmLn8kOK7XtFncFD3Rhh/W2sM7xmn2D6qdzMAstlSTm6Onlm0065gZc7lEsUNlXzG1FcbUzDii61O21VdbE/JlP6/st/nrPxivPD9Lqw/et5DrdKXrsFNUVERtm3bhqSkJGmb0WhEUlISNmzY4NJrfPbZZ3jggQcQGBio+XhhYSGys7MVP7VdfrHjL3huFRdXc0WhInNTPdqXIqt4m11DghtXF4qsiswNYB9EeYvW+yNmbqrLgOJDaTl44fvddts/XHUU+UVWjFlUPpj2YhWtiaUu3ljZjNHu05m4ddYa6d8Vvcqkn/fiveTDePGHPdI2rc/g9S3rSf/fuVEoRvVuhkBL+RwYP18jrmtRuo84mP1oRmmmpUTjs7fpeOkYOoMBCCjrknt+yS7F+effs8rrg9aaZZ6w5nAG3vnzoGY7K2PiT3ul/6/sGLqPVh/Fd1tP4/8+2eSRNulN1+Dm/PnzsFqtiIqKUmyPiopCampqhc/fvHkz9u7di0cffdThPtOmTUNISIj0ExtbnapeuK6wxIppv+/HhqMVz6BwFiDYqmF/rHydmIJia5Wl5R25lFeE66evlP6dW1h97v6dCZCNoShwMnZJHXS42iUg58p4BFc+q56glVlrEVU68+fPfWk4nKZvtnLvmSy7mYtqx2QXUUfdV1dqw9ELGLNohzRtvkT1PavsMhxLtyuXMsh38tmz2QQcLuvq2S7LkogBhtnHiJkDO2LRyB4Y0qOx9LiYmRHHUgHlASwABJV1Sx1IzcHm4xed3pD4Go1SdmnlQeXAYa3Mj6e7VwVBwJDPNmPOyiNYdfDKBy6rv+uVvVk5fam8JIe3bniqku7dUlfis88+Q/v27dG9e3eH+0yYMAFZWVnSz6lTp6qwhZ7z5YaT+Gj1MQz6ZGOF+zrr2lF/EdKzL+OrjSd17Q5SXyj17po6fkF5t3a5uHz8SF5hCSb/vBdbymZSVSfyE/8P20873E+dtt5/LtvtNZj2n6s4A/poFaX0xTFR98Y3xLv3dcTikT3QJKI8k/vgZ/reiT725Ta39pcPcPWUy8VWDPpkI37eeVYKRqw25e/Jr+R4N/U4OWeFONNlg6rFcTJA+cXU4mPE3Z0bokfTuoruLTFj4yf7jMuncNeRZXTmrz2OTCcBYvcm4QgNcL06dI7GcdmecgmPf7UNpy46XlZh9aEMzVlXYnYJAC57YKaiOhiubLeUfA2vkxe8k7GqSroGNxERETCZTEhLUy5pn5aWJlV1dCQvLw+LFi3CI4884nQ/i8WC4OBgxU9NpLUwIFAaCHy+/gTOZBagqMSG++atV9R3sN9f+WUavnALXvlpL6b8Yj8Auaqov4wv/bgX+85mYcbyQ04zEN6iVRdTvBN8L/kwPt9wEvfNc63b1FtsNgGH03IUQUmI7ITtrDCieizMgdQczPz7kFu/f9/Z6tO9K465qRtoxoD4hkhoWhdtGpR/z/WunXQlaxZ5auFP+edBPAeUqD4HzjIuzqif5+x1TsmK6Mm/9+rlFADl2B1xZpd8hXCz7GIsr2bbMMxfUc9G7Y3+7RAe6Pqg5/Mas9zu+WA9/tibiie+3q75nLzCEgydvxlDPttsdw47KisB4IkstTq4qWzW5VxW+WekpswQdUbX4MZsNiM+Ph7JycnSNpvNhuTkZCQmJjp97pIlS1BYWIgHH3zQ282sFkwOSuTPXH4Ik3/Zh/vnbcDPO89gi2y0PwAsHN4NswZ2kv6tzoqIF6nvndzpe5s6c/O/XWfR7/21eD/5MGb9fajKpzZqdetllK1yvft0ZpW2xZEP/zmKPjNX40NZbRn5cXR2ctc6+c1eccSt35/u4rRm0ffbTmPzce9ku8RuKXkmQGs9qcvFVl1mvzgaYBtkqbiGamW6DLXIAw4xW6DulqrsQGbxnNK2LKB0GtzIMh3yC2hhsZi5Kc/MyI9bgNl55qZN/fJgdsepTHy25rjd7+7dsh5OvNUPcRGBqGNxPbi54GQM1J4zWTiQah/oy4+B+pwrr8vkiZu3S3nK73plMzfyILyyXZTVie7dUmPHjsUnn3yCzz//HPv378fjjz+OvLw8DB8+HAAwdOhQTJgwwe55n332Gfr374+6detWdZN14Wjl5uQDpVPmz2QWaJ4Ib2gVif6dY3Bz60gAjsdKuHIH4a1+WGfrEH285hi6vZmMn3eeQUGRFc8v2YXk/WkO9/cErbuWXadKS7Xr3Rd9IbcQW05cxPQ/S9fDEf8LKLsHnM0SEsfcdIwNlbY1CHFv5oyrRfoEQcDeM1kYt2QX7v9oA57+dofH64eI71cdVUAz78F4AEB42QKVAz/agKQZ/2DdkaqdDSK/IMeE+mPBQ90AuDb+rVDWRXUlQb78mIvdeOrgprKZG7E2lbi0i7Nu5RR5cCMbFyOeu8wOMjdiYsbPRx7cyAKhAF8M7xUHANh28hJ+23NO8Xu/eTQBHw2Jl7XZ9UCuosKAL2oMFJefTy+rzhkXZZmWyh5zuSvN3AhCaRZYnlG6kqBr2d5zOJiq/6xc3YObgQMH4p133sGkSZPQqVMn7Ny5E8uWLZMGGaekpODcOeUH9eDBg1i7dm2FXVK1iclUHtzIT1TyOx1nlVr9y9K6lf0yHUnPQfepf2t+kSvy7eYUtJ20DN9sSrF7rKDIisVbS8dBXVPfvstQEEoLdY1ZtBMfrT6KJdtO45HPvTeWIz3nsmZ2Zm3ZBVEeQNpsgse6DVw1fukeRZdY47rlgyrl762zQaniya9pRCAev6F0Km2TetqzDbX8tvscFmoUidT8XVYb0nPK7wh/2XXW41NNxZWeI1TrpnVuFAqgdPbR7tOZ0hpr322t2nF3UcHl7Vr74o1oVrbMgSvfRbG75o1f/0XitBWaFbytNgFPfr0d7ycfdvg68jtxMRhUj7mpbD0n8UIYEVQaRK48mOHwZkm+ert88kB55qb8kuTna0R0sB/8fU3SGCp/2aB5s2o1+8ZO6vZ0jA1VBJnuDNquqBTErtNZdiU25DOWxOOTVVCMbzen4Lg8iPBAoG8/5sbxa6rHR+UWluDdvw6hj2rAe2XbtenYBYz6ajv6znI+gL4q6B7cAMDo0aNx8uRJFBYWYtOmTUhISJAeW7VqFRYuXKjYv1WrVhAEAX369KnilurHIBsJIv+yye903vnL8bgJcbCp+oTqapXSkV9uQ2Z+sRSIuGrbyYuYsHQP8oqseOnH0qmfC9Ydx83vrsKZzALFnVx841C7Il1y8tH83pL07j9SMTy51LL1r+TjFD785yg6TvkL205W3eDi5f8qs1ZRsnV85HfMzirzigGar8mAjg1DAbg3iPXJb7THGWjJL7QqLioA8PDCrZqpfGccXSxtNgGHymZDtYpWro0kv/OXj0NTjzXxFkEQsP7IeakGybwHu8BgMCjGjVRE7GL4dO1xpGZfxmdr7btbxEzFjOWOu3Dl33vx/KE+DpUpeJhXWII9Z0qDRvkCs3vLtsnZbILdQPzcwhKcyyqQfrc8uDEYDPjnhRuw9ZUk6TPkJzt26tIHwU7q66hXV7+rY4zi32JgpsWVOlffb1POGJNnT8Tg5oXvd2HC0j1Ysq18CICrkycEwfGNlLpbylHm5vc959B28p9YuK78M9Tl9eWYs9K+S7qyN8HbUryzsnplVIvghiomz9bI06QWk/1bKM4ceOqm5tI2cZqwukvA38XgJsXBgOaK7JAVlxJN+d+/OJqRh0/XHFNctBqGBdjdjcl5O0tSYrUpppB2ig3Few90AlC68N7lYqvi+E3/8yByCkvw+q/OlztwpqDIiv/tOlvpSrriWCyrTYD88DibLVIkm3YrXiw8NXB7aGJjxb/zi62aYwDcqaVxIDUbnab8hQ81gs5Tl/KRX2SF2WRE47rKwFgdVImqqv7OpuMX8X+flv+dYWUDvp19xtXUd+Hy9/XkhTz0n7sOy/8tL5vhaHyIoluqrLSB2C0lXtgrMwV95vLyG6prm0dIN1FalcaPZuQi5WK+YlbfvrNZSJy2QgqY1UGIxcekrG0jy1SrxyGquyXl1N36D/WKw2O9m0r/Vn925FwZXCuoqvvIP/NiFuTPffbd6a4EEZeLregzc7XmTFmrTcD7K5QZO0djbkaXHWOxer3VJjgMhCrbdSxfvV2esdUDg5saokDjzgsACjVO1P/XoxHWvHAjxvZpKW3zLxuQV9mIXN0/7yr5LAZAOW7A39ekOHkP6dEYbw3o4FIbPLWw3eViK9YczsDlYqtd8bQODUPQIrKO9O+HF27RvIvzc+NOXO2tP/bjqW934Imv3ZsuLPIp665UX7CdDSguljI3RikA8MSUVKB0mq1cQVGJ4oQncqdQ3aSf9yGnsAT/XXbA7rHtZXeKbRoEK6ayih67vqndtsp+lt0ln30ClE9ndpa5CVDdbIz+Zgc+XVO+bIp8fNrzS3Zj56lMfCIbPHvGQXZTfv4o75YqPQ51A0u7zRytrO7MqkPl38MAsw+aRZYGCVrj/8SxOeGBZoQGlAYii7coM8EVrcgtvxmzqrJUwX6OB2irz0O+JiP6dyrP3si7d9Vc6q5TfaTk3Trqz4Gco2rycisPpONIei42Hb9ol8H8dnOK3TZHAYv6U+9OyRBXyccX3a/zjFIGNzWE/MuiHDhqf5F45NomiA0PUHyhg/1Lv/iVqX56JatGy8cI+PuaFF1LkXUs5eM/6gUi0OKDTrGhiuJdcvKT2ZDPNnukFsMbv/2LIZ9tRuuJy/DrbuXYrlB/X9SVpavXH72geWccWafyZezFFPW6IxUXvNOqZrrm8Hlk5RdrDg5Vv28ZOYV4ZtEOrC8rrleauSm9WBzLyEN2BQMnAeeDWl+7qy36ta9v144rHVfgrIqrONA7vnGY5uMTbr8G7WNCFNuqKnNTqOrqE2dHObuAx4T6K/59IDUHb/xWnhmU11w5ozHd31EJAPlNjRgglZSNuYmoU/oZ1zqXVKS+bCB6gNkkBZhaS2/IM4bisVC3V525UZN3RV1ULZjqLHOjRR5INnIyXqeiAcWAMnDYeyZLMS5uzKKdALRnvOa78N3YLeviU3+ntW7yHJ2v1V9ddQBzW7todCqbZFDZm2D5zZ94Q60XBjc1hPzD9u+5bEz+eS9Ssy7b3W19Nqyr5sW2cXjpHZV9QKA9C0suLUs5iNHZxUadwpWvhHy5xIovZSsG24TyFKr8hC/e1alZVSdMR7V/3PHVxvJBzq/9Wl7r5974hrg3PlbqSlBrHV2e0bmSPECA7ARQ0WwYR33/HV/7C5Nk5ddFWfnFSM26jNnJh3E+txCTft6Ln3aexc5TmQBKu0fkXQQTlu6xew01eaDyRv920v83rReIoYlxdnfI+UXWKy5K52wmnxis13cy20ucLeXK63mSuntArKJrMhow5uYWms95o387XNs8wuFrygvtaQWNWgFPWvZlxWf7Qm4hvt92WhrcKw7ErkzmRj6IOzTAVxbc2L/nUnBjkgc3yq6LipYQkX++0lTdHuINnKvkWaAujcIUwc5Lt7fGrW1La61pFfFTfcwVVdbV2SiR1t/mrOChSD4zUR0wa32WXZ0KnqcKYB69rim6xZXeJLjbLVViteFysVXRbarOQlY1Bjc1RIFsvag3ftuPzzecxMgvt9rdbUc5WAxPTLumOKmo6eikfyFPGdyopzaK3k8+jHaT/0Svt1ZI07XlmSJBgKLWSZHVJgtuyj+KgQ7qf6inznrrEtW7ZT28c19HNKob4PBO8ufRvTD93tIuNFenRWsJtJSfACqqZOsss7J0R+mARoMBCCsLDi/lF2P4wi14d/khPLNop11VYbPJqOhS+02VuRJN+30/7pqzFhdyC6UUvclowOCERtKA9G6NwzWfWyDL3NzZsYG0vUPDEM39tcizAOpxV3nSNHDHF7a6quCmyjI3qjtoeaCcdE35kjMP9miEmFB/vD2gAxKa1sVXjybYde+J5N8BrW4FdbAAwG5Nq7wiK8Yt2SX9W+yWctaV6Yh4ERyW2BgBZh9pPFGx1Yb07MuKrEeRtXRfeeZGHYy5uj4aAKSrijM6G1CspW6gBfGNw9A9Lhy9mkcobvMeubaptLaVVlmFJqoxOuKYuQ1HLyhu4EQ2m6D5t7kyWFkerKi7jzNk2Ssx0HRlKnhq1mW7z08dPx+HE08qMnT+ZvSYlqx4P/0djHmrKgxuqkDO5WKcvnRlWYbzOfYp492ns+xSjZF1LHb7AUCjsuDmfG6Rw/5URyd99UBDR8+fUTa48ExmgTRdW30HIF/np6jEpkhVixzN4KqqdbFiwpRdA989piwo6WsywOJjkk6mrnTnOCLP3Pz1r/P6Pa4MOvY1GqWLaGZ+kRTQrD1y3q6rwFfWLQXYdwmcyyrAmcwCfLT6GHadzsL7yYelu9ggiw8MBgN+ffo6jO3TEi/1u0azPXlFJdJnwN/XJA3QdjTYV4s86P7P7LWw2gQIgoAj6bnSBdlRQAxA0bUIAFtOXKr0AG53qO+y5d0SDULLb0KeSWqJdeNvwv3dyte9c1TgT8yC5ReVaGbEtLql9p21n7kkJwaG8uyD/FyQkVOI33afQ1GJDc8s2oH75q2X3hMxU9uhbNadb9kYsHNZl9F9ajISp62QXkf+XXc0kaGibikAeKDsOIllDERBGt0gTSMC8eHgLpqvYzIa8MPjPbH4sR4wGQ2KrJDJaJCygWez7ANGdXbkp51n8fuecw6XxykssWl2R+5Iyawwkyg/36o/U2L5j9vbR+OWtqUBsyuf7Wv/uwInziuvSYEWH82xmZfyiqSs8j+HMjDlf/vsBoyvP3oBmfnF2H26/LPm6mQVb9G3U+wq0Xv6KlzMK8KaF25ErJO+XWfOOhmUJlc3SDu4qWPxgclogNUmILOgCP7m0gu4PL1aZLVpXnTUUw3VAcvRjFy85KBLQ30SkKdCxboPgPKOzVHfuasDQQVBsOsecYd63IM6YBQvpGIVXGd3X/lFJdh28hJ6NK2rOeBVHcgVW22a+wHOK6WKfEwGqVtP3c2gHuRpNhkVs0/kaeTM/CLFhQkoPcmLmRvx4tskIhBPO+hiAcrG3JS95/5mkxTMuVNorERWj+Xfc9lY/m8aCkus0lgGeXu0hAfafyf2nc1Cz2aOu388wVl14bpBFnz9aAKCLD529XkAx8GaeLf9g2qxSpHWeSLI4oPzuY4/O+L7Lrb37WUHsGDdCfwyuhdaRNXBtD/2Y+n2M+jTJkoqRbD3TBY6xoZKwY3Y5SZ+dsVCiYoqxLIsrfoiLapoQDEAvHZXOwzq3gjtVGOpjBpjWib+pw1uLCtg6oh4rlCfMhqW3eRo3Zhq3Qh+ucE+YyMqKLbavT5Qesxf+H433ry7ncOAX15wUJ25EYOb525pJWXLj7mwknmJTcD/dp1VbAuy+EiBrnjDtuZwBoZ8thkP9YzDq3e2xbD5m0ufbxXwelm3tKPvctI1zo+7tzFzUwXErpk1hytXvCy3sMTpBTQm1B+/PX0t/h57vcNlGgwGg1T3w1FkX+zgQ2qXuVEFN7/uOodNGqX1BcHxVEMA+Gztcak4nvyk1rdtNFpGBdml5tV3OFpjVDJyCtHrrRV4W2NmjasaqjI36jv/wLILtBhEaA3SPpyWg74zV6PNpD9LVwB2sLyBOpBxlg5WD6DU4mM0SAG0uhtKPVbK18cIP7P2Wj2H0uyXKcgvKtFc6kBNflIrKCqfPu/na5LuzF0Jbmw2AZN/3quonAoAo77aho9XH1NscxbcqLulxHZ5W0VjH3o1j1BUiZYLsji60InrQmm/ttZ3O8jJewXIgpuy9n6w6igKiq2Y+fch/Lq7fKFNdY0loLxbUDz+vmXvr9aq3PLMjaPp1a50S5l9jOgYG+rwXCfnToZQ/WpiBjfncondcRWDm1+fuhbXtYgo+12O215QbNWcHg+ULnJ723trHD4330HmpqjEJmVSwwPMaBpRWmfoWIZrEy3UY5YCzSa7a8TU30vPowvL1i8UrZMV4tQacD2oeyPcFx9rt70qMbipQo4+3I5cyC3Eq7/sw+pD9iPi5UL8fdG2QQiay6YtO9oPABasPSGNXZCfJB3daVbULeVoSmFWQbF0QnM2TRNQTo/1N5vw17O9sWhED8U+6m4prWJsX286ibNZlzUL8blKPW6pjp8v3rmvo/RvcZyMGERczCuyO/nN/PsQDsq64L7epH1Xpw4UnV10XZnp5msyIqFJ6ZIk6gBA3S1lMRkVAU19WcbK16Qxs6PIKtVIcRZMfPhgvHTRls+W8vM1Sq/rqAv0aEYulmw9BUEQsPpwBj53cDesvjg6u4CrBxQD9oMpvaHwCmaJBTiYaSIOKHZ4l68xtVj+XkVrjMnzd5BNKyy2YfQ3OzR/j5iFEH+fmGkSP0/ycWjiTYi0xILJcXDjSreUO9wZ1KrO9gaYfaRzZrpq8VPxuxRk8cG98Q0BOC+EWVBkdfqZO34+z0kBRlnmpuwzte9sFh4sq6FkNJSONxKHHmhNPdfqOlfXIPMxGaW/V3z/5G2S1zrLyC6UHtO68X6gW6xmJq0qMbipQu4uTLdoyyksXH/C4cqzojAXV7gVx4gs3noK75WVapdf8IpLHFTAVHVvqC/IjrINnV5bLl3gm9Yrr17aSeNuVetO3mg0YNo97aV/q/uItYIxR106Wk44SN8GalxYxLszoHygXJDFB/XKuqzUr6U+UTpKt6uDGWefEbFbql+H+mjmoJKzr8mIVmUzudTvk/p4+fqUjjMYcV0TAOXFHwHAqJFDzy+0SicyZ8GEr8mIDmVdBgVFJVK15CCLj3RnfvJiPhauO27XxXn7e2vw/Pe7sXjLKadF5dQrNWu9ZyKtgabu3mhUhjxzs2hkDyd72nPYLVVshc0mOAyctG40gmSLRHaMtR/IHSjrlpK/H66McRM/r+JriMGrPNgvtgpIuZCPl38sndFn9jE6PGe40i3lzILh3RSzLd0Z96HVbSS+lvrmRb4Wlhg8OvvuZhUUKTLPdTTeX63zmdUmYO+Z8gys+Jka9PFGbC6r9hzi7wuT0SCdl7RmOm076VrlYDG4OZCagxnLDymCVHn7cwpLpPORVuCk93gbgMFNlXJ3BLrWOjJaQv0dlw6Xk5ejn1e2mrT8DnrJNu0pjOpqtxVdkLVGyXcsmx3jYzRI0w3lHC30eEub8lkl6pkVWnf/8jvairo+/pJVdpUL0OgScFQZVZw1cUI1xT5MNZ3dUeE2u0DRSVEvsX/9mug6WDi8u+Y+PiaDw0Hl6hsps6n0b+rSqPT9kM/u0TrR5haW4PmymTcVrWgdIFvL7HDZujvN6gVJv7OoxIZX//cvXlFNYRdP3uOX7sFOjerWIvVdsLNuMvV7AZQGNycv5GHhuuNeWwxV/Fte6XcNejR1b4FfdaZz1bgbAJTOOLxcYrWbsZhY9vr5RVa7GWVidd6m9QJRP0TZ5QqUX4gKi23SMiNA6RpRjojHTN7lCJTe/QPKYKDEZsOIL8rXgzP7GDH9Pu1inVeaubmxVSS+eqR8+R53ZuxM+k8bAJCCfQCKbpqs/GKUWG0QBEFRCFMMRJ1VMlaPeeqlMd3/cpH953DRFuV6fOLxlnf7hZZNIBDPMYUlNrsskLgau3yJDC3ya8T7yYcVg6mLVWuRiYPXtTI3es+UAhjceJ082lV3E8gJgoADqdmKE62rk4NCHNSFUZN3QRSW2GCzCYoAYbaDcSHq7hB13Qd1sDN7UGe71xiU0AgfDYnHV48mIFrjBJtZoH2XbnHyJVGPafhywwm8LqvnUVE3jqNBllqpbEfBSVxEaSr4uCpzo/7C+2nckZ44n2c3Nd9Z1VDxDinE39fhRcDXZNQcoCo+pvx36UVPflIUaQ34lAeXzoIJoLxbJaugWBoD0DK6Dnx9lBHW97J1dtSzehx1SalZZHfPWlpE1bFr7/aUS+g9fRVe/d+/mPm34zXZroQYLFbmgt23rMaKKFw27iu/yGp3d94iqvyipS4MJ7ZjVO9mmhkraZC31ebyxIWnvt2Bs5kF5YOEyz5D4jlGft4rLhEUXbQWHyNubBWpuVCuO1PBHWkmyxK7k0G4p0tDrBt/E166vXzmn3ixP5iWgy5vLMf/fbqpbLZe6ePymj3OsoEXZOeah3s1wRt3t7PbR6tu0Rfrld+B9Bz7G16xm1zMegmCfRe02H3YsWEoJpYFcaIWkUFSQBjiZDq9ehiA+N5rlcJg5uYqoM4uqPtuRYu2nMKts9bg6W/L+7hdXVQt1MX6Dp1UKenD6blwZQKS2K0gRuPqAWTyjNRdnRpo1tqx+JjQt200ejStq3myd7TQo7OTnfqOe+LP+xT/rijzJZ5wxNWjRQG+9hdK9YJ+oriy1YrV3VLqNLbWYMMVB9Kl/xe7t5xl9+QFD7W6jYDSu3RHJxb1M8T3QTwpKgYrWq9sTIoYIJ7JLECJTYDRADQI8XO6rlK/99dW6nd1aRQmZQwc+fGJnop//76nPGv3y86z6t2dWnfkPJ5ZtMPp+l2A9krXrooND8CvT10r/TvQ7FOeDSu0L4wYHmiWMnP5qousfJbSbe2VQROgHFCcqjHtWcu5rMsY/c126SIvZm60xmppzdIDtBerdGdRUUf8zSbMuL8jptzZ1mGg70hMqL+qsnvpufX7badhtQnYfPyi4u/x9TFImZs0Vd2dT4d2lYp9isVMI4IsmHRHG0QEWfDNowmK/bWCG3nJAAB2mU5AXvlafvOqPS4yyGJSzNCMbxyG5WN749qybndntYLU1yPx861V5JCZm6uAXXCjEXkD5d1Ey/aVn3S1BgdqcVTRV+3xG5rjh8cTpdSkq8vSi2MfxBLl6qyE+KEfc3MLzLy/k3ShlpMHNGaNE6CjmQ++qiq6chV1J2Q4ONYisTjhoG6N8H8JjaTtWsGBo6nlcWXdUidVGRj74Ea8qypd3ddmE5BRFnyFB5rRpCxIctZvXyS7S3aUOXF2kVfPYBEvMmLgdbnEKqXWKzq2FX02xWMoBpiB5tK6OI6yGFeyVlgfWdelI80j62D18zdipMZaU1pVfZ0Z/Okm/LTzLKb871+n+2lV33ZHu5gQTL27Pd4f1Bkmo0HKsMhrB4mCLD7SuCOxyy7lQj4Wb0mRMgoWHxNubBWJxSN74JsR5RdWeXBzTiO4UZdGEG2XdRuKF1atMW8lqu4MMRur9b12Z1FRZ+7p0hDDesZd8euItXPkM5Dkg6xLu6W039+kNlFSzSkxO1gkCzraNFBmrrQmE2gdz8vFVkV2WTu4UR5z8XsdYPFBgCzLqc7UOJuBdkmVCf9j7zl8ufGkXZFIoHoEN6xz42Xq9KCjWiVaM3/UfbjBfj6aUyxdHXNjMhoQ3zgc17eohyPp9lN9tQiCINW5aVQ3AAfTchxmbjo3CoXRaLCbOg0ov3i5GhdGra4s0cT/tMFLP9rX0RHvoLLyizW7Fk47uWh9vekkVpWNKQgPNCuyGhV1I8j3FU9e2QXFWLjuOPKKrBjVu5ldqtbsY4QgCHjg443YdPwiAswmNCi7aDzcK04a8OdszI14N2YpK763atwNeHrRDkXhLDFwnHxHmwovvurMzckL+Wg3+U/8b/S1FU5jriirGCAFN6Wfd3Eck9bFK/tyMYZ8ttnp6zliMAAPOliLTK1R3QDUc/NO3pnNGuUP5IpKKp+5EcmD7kCLCedzgeELtiBVlQEOMPsgwGJCTmGJFMzc9O4qRW0oi68RBoMBCU3rKoJvMfNQZLVJM206NAyRPlcVdUEaDOXvq9bFWD1RQdxXa9C0s25oPWit/STPuPoYDU67RNU3SvLzd7CfL8IDzVL3uVbmRqtr/fj5PARafKTzrngcxZuHohKb3fdXPK+UBsHata0qop5Y8vUm5Xgg8XdHBVt0nykFMHPjderMzQUHXSVaMxPUF5A7OzWw2wdwfcyNqH1D+75uRwqKrVIQERvmKHNT+sUR7yy1TnDygEGdzp9xf0d0jdMuNw8A/mbtj2lRiQ0zlh9Cx9f+wsL1J+wed1YVWpy5AZSOZ6hszT/xxH8+twiv/u9fTP/zIL7YcEJaIFTMKpRYBeQVWaV6QPlFVinAjAiySHdT+UUl2J5yCXfMXmt38VRnAuIiAvHjE70Ud1ti5ka+1IEj4vukvvhO/+tghcFNswoGJoonXPHkLE0V1rjQP7pwq902kbMxAADw8ZCubo1paRvj+me/ImcyC/C5xudOJN6ceGr8gfj9Ugc2QGn2LVD6DJXVwlH1Ocvf5xB/X/wyuhd+e/paxSB8sVtK/K6L+zrj52OSMpta70WR1aYYzC7uo3VcPJW58ZRHr23i8LFxt7SEwWBwmqVwVjnbaDRgxXO9pQkAWrOcxO/P2wPKB2AfP5+nmG0lLxvgV3Zs1a+VW3YtCZAV0gQqnhggV9EMwwFdGuKHxxMVA7r1VL0+SbWQOr1/wcEgVq0S3OoMR5DFF001pgA30Big60xMqOtVkuWp0sjg0i/hFxtOKrovxMG0zu4C5CetaNUihxWl7R2dPGYsP4T3y6a0azl90bXuhmA/XxhcWEBUJA+ExJOX/E74px1nUFhiQ6DZhP6dYgCUZl0cFU+MCLJId1N5RVYM/Wwz9pzJwv+pSrmLfdzyC4jJaFBMCxdnxshPqlpT7+Wvoz7+l4usFXZLjb6xudPH1RdEsctE6+InTmnV0tXBat8idxfnu9KqxOoT/ORf9jnYs3TBSuDKVo2Xc7QsCVB6XANl3VZa1O9zh4ahaNsgRBH0iJlleddyRWs2ycfJaI25KbHZ4GMs30f8fcGalcirZokVV3WMDXWYuZJnTF5xsPxIRfW9QgPMUn0prfFO4vvRuVGotB5ZZn6xonaTPJARM1/qCQHiOKxAWe0e+d/giopKmfj7mhDfOBwtopzXW6sqDG68TJ25OZ+nnbnRmkaoPpEGmk2a3311Rd2KRAW7npoXu9V8jAZFe/49W1p74Y+95YstanVHieQn0PviYxVTvCu683anyqicowHF6uqupeskVepXaN757CpL519TP1i6+F4uttn1WYua1AuU7qbyi0qkz4L6zlveLSUnD/7EIFm+T++yBQDVfFVjbkQFxVanmZu+baMcLpEhsgtunHRLOeNsaQfAeysPOyqoNmaRdlE7tcISq3RhUgfzlRXg5ELkazKqBhzbZwEcdY/J3xPxMyof7KsdhJSTzwR01C0lL69wc1kFa62xglWx5pe7HH3G5LWV1AOX25fVearoewIAqWVdgc8t2YX957Lxf59sxLaTl1BstUnHIzzQLAVKOZeLFZcBeT0o8T2WDyjOyClUZFDlgZE735+Kxtk5q9Csh+rVmlpIfYH66J9juGvOWuw8lSltO5KeozlLRt0tFWjxsas1ALg+oFjkzp2kvGS6fOBmUUlpwa+vylbAvaZ+sKKGxn1lVTtF8gG5Zh+jYjpiRWMSKjs4zdGJ8qKqWyzQYkLr6Mp1VzhL6zatFyj9bZeLtTM3LSKD0KxekKIujCOOBqjKL55by8buyI/39Q6CG+kOWhWI7DmTpRiM3bhugOI9cCXYdJS58TEZpcHTFbkvviE6xoZixXO9sfmlmzX3CQ1wbbyZOw6m5qDz68sx7ff9do/9vT9d4xnAgdRsRTAtrlhtNhk16+xUhp+T74lZVm8lr7BEczC9o++Z0WiQMi4XpOCm/GIdGuCLOf/neEyc/KLmqFtKjBXnP9RVqqSu1d3VKNy1z0ZVclQgUp71UJ+Dl4wqXWxXnfX5doR9MUf5LKt7PliP9UcvYMCH66WgxWAo/ZzXkYKbEsVNs3x8X3lwU/p4evZldHvzb+mGK8BiUrTVncWIK+qWqg6DiOUY3HiZVnp/1+ks9J+7Tvr3p2uOKx4X77rU2ZyYMH/NgcfuLhIp7+t+74FOikBDfccqTgn2NRnRoWGotFLug59tQuuJy7DlROnF9PoWynT/a3e1w61t7aediuR3DBVVFa5s5uZAag6malyg1F2DAWYf3N+1IZ7v2wpLVVOGtci7sPx8jXbF8URNIoLK08QlNs3p7mJNDmm8hJO7oyJVTRGRo/PTD48nYs7/dUa8g66d8syNye6uS1z48P8SGuGf52+UprwDrp3E1BcuedZBq4ij2ornemNqWXXqpvWCEBnsh6dusu8Kq2g8iKt+230O320pLWK59sh5ZOYX46PVxxSl7E+qCjWKjmXk4tZZa9DrrfKFRsVZkfXqWK5oEVc5Z0Xi5JmbvKISzYkLjhbVBcqzN+J4OnlwEx5oxn86NEC/9vU1nyv/fjbQmFmVln1ZCuzbNigvRyF/7/43+lq8e19H9GjqeOydXhyNmZJno9Q3HOIxkd84xIT6I7GZfTHH7rLxhvJBxWK2JSzADJPRIGWBci4XK64r428r7xKTyjqUPf6PaumeYD8ftwqdyjn7/AGVP097C4MbL3O0hg5Q3j2ivnO+a846FJbY17JoXDfAbvZVZT12fVN0ig1F37bRuLdLeZZFPfansEQ5zsNRhUt1l5S/2YSJd7TR3Fd8XOSoC0Akr+ky/6GuTvdV+3j1MbsaNOqy/iajAT4mI568sblUrdeZerJuPYPB4LBWUJOIwPJp1sVWzUKFYtZFDBic9WsXOph942gqdHzjcPyng+OBxfK7bPWMO6kAnTizxexe5kad7j4sK+KmVbxNrWm9ILugd2yflljxXG/FtorGNLjqyW+244UfduNIeq6iEKQ8A/Kf2dp1eMSB3/LKsOKFwFPBF+C8y6Z9wxApw5BfZLWb0ejva3KaQVJnXCJkY27E915cBVpN/nlsFmF/fvh5Z+nCm20bBCuqZ8sXNG3fMAQD4ht6LBD0JIeZG9l2R8uhyD+fjkoOvDeok+Z2caFcsRtJK3Mz/6GuigWGxc/dO38eBGD/vqorVLsT3FRUYd+VhUyrEoMbL3MWjIi1UdQnwINpOZrTTBuFB8Cq6paq7J3OhNuvwU9P9oKfr0lRNVbdXqlbSrrIaX/RTUb7j1JMqD9WjrsB2yf2sXtM3k+v7rpTE2Q9zDe0jMT+1251a0S++qRS0UwgRz4eEo/rWkRIZdorktAkXHEnpZW5Ed97cUyK824p7Yq398q6ALUGdDoi31edDcouEGujlG6XZ15cmf2jvkj17xwj/X832Z3q/Ie64pOhXVGvjgVjysbXaC3uKL6mfI0ywHldH0daRmkH6AAwe4VygLqYyZCviK4mD8LE46ZeLdsTtD4/a164ETsn9UGIv6+UScgrtG9rTJi/08AhTNW9Jx9QLI4HCw80awZI8unbMRrj/8R6OF0ahSna0DUuHL1b1sNg2XT36shh5ka2PTLYDz88nogWkUEunx9E9UP8MVnjRlDsPg8PEIObskUtL5dI52l1t6xY8XzPmSykZ1+2y1Krl2aJc7GLGKi4W0pdz0hvrHPjZc4yN6lZl9GsXpDmPuJK4D5GA25oFYmoYAsCzD6KbqnrW9ZTTBGsLPnJecQXW/H5w92lKFz8EokXOUej67UK8wFwOL7CqJi+7PyC3KZ+MDo3CkWDEH8YnVTgdeTEhTzFWi5aSwu44pa20bhFo6stLMBXUQOiXh0LrmsegbBAs5SJuVxs1axoK2a8xAtIeo5yxkRRiQ1mHyOsNkH2Xij/foPBgM0v3Yy3lh3AsMQ4zbaLNSjU20TqLIl4YhUvXAGyC5irfevDe8VhzeHzGHl9U8XU9HYxIZhyZ1uEBvjiptalWScx+3RXpwaIdBDceMonQ7ui9/RVmo/ZLTVSlgFxNMsRUGZU0nMuIyTAV7oQaK1TVlktooLsAvWYUH/pu+Qsc6PVXSTXJCIQx2QZTnnVc/n3LSrYz67eiTyTp3X3Lma/1ONSTEYDPn9Ye4206sTRoFt1BjO+cTiWj1VmFuWZ4Hfu6+jwd7SItJ9hJAaowf6l72sd2YBiaW0r1U1lZB2L1CXafWqy3WuKNwNLRiXin4MZGJzgvEbUNyMS8Nma40g+kK7ZLfX32N5ImvEPAOc38npgcONlYo0Yf1+TXZEmcWyN1t26OL06yM8Hnw4r74qRDyj+wkMnBh/ZCWntkfPYdTpT+lKKF0Tx4hekcbLu3iQc93RpaLe9Io/f0AyH03KQ0MT5ooI+JiN+fKKXYlunRqEIDfBFo/AATLjtGgxSTZuWE2vOAKVdYBWVzXfX0id64cZ3Vkn/3vJyktQ9Ic/cfKIaWzWgS0Pc3zUWQHnm5pRq+vq5rAI0rhuoCEy0BoZGBvthxv2dHLaxjsUHF0pK/+7p93aAj8mgCJLUryn+vlZl0zrlF2lXZ1hMvqOtw8ccVY9VZ2acqWwWvHHdQLzS7xq88Zv9eCx1dkMsuuao+CYAvCbrxkrPKUSLqDrlBdacrFburql3t0dP2bgeQHmTIL5HC9efwLhbWir2k3cBaWlaLxDJB8pe06B8j+VLALz3QGf8d9kB5BWWSDWbXF3+xRuDv6uCepFWkSuzTmPDA7Bhwk2o4+frNIunlfGSAmSzMrjJlnVLqddqm/N/XXD/Rxs0f8ddsjpp3eLCFRlUR3o2i8DXG1MU7ZGTD1PQGg+qJ3ZLeVlx2UUiUuOLII6p0frQiOlF9cmxommZlaE+octXFRYHFJsdZG5aR9fBd48lulUvQfTira3x6bBuleqrDbL4YN2LN+GHx3vC7OP8+fK72M/Xn8D4pfbVjq9Ek4hANK6rrB0kHlNn0yPfvreDdPfn72tfLwcoD3YqCm4qIi/0eF/XWNzdWRmM3i3rNpLrWLYemfxip+7C0EtF9VeccXQM1WUCcsXgRlVWoEujUMVNgUgMgsS7XEel+SujQag/npYNqv5kqOPxZ+qBpBXNqJSPxRAHQc+4vyPG3NxCkX1oFV0H8x/qprgwujobzNUgqLq5rizrO6h7efdZ0jWRLk3zBkqPbUXdk+o1pAD5Z0gMbuwHFKszrnGq85Bo+r0d8F8Xs/zzHuyCOhYfaXyj+F1xFOSJ6mv8DXpi5sbLxFRdVLAfTl5QVswtcJK5kYIb1cnxoyHxGLdkF17p516/rjvk6cci1YBieRBj8bHPqFQlsS3yL/hjvZuiR5O6GL5wi7QtVzb+4FXVkgTOln1wx8dDumLiz3sxto/yjtlRgcKm9QIVQZ2jbMjm4xcw/a+D+E/ZTBWjoXLjTCoa2PpwryYItPjg0zXHcLRsHZ26gWZpXSF5kO1u6QFvcTQ2xxWOjqG6NlKOFNyUZ25m3N8Rd3WKQdvJy+zGi209cRGfrjkmDYIP8GDmBgCe7dMS93WNRUONMTQXZW1UZ4krev/lF9/oskDHWTZWHrS7mpEJC6wenxt3PXpdE9zWPhrRwX74dnNpFqONC4Pi3WHxMSm6lABg1t+l47/EAd0h/vIBxaWfO3XdKK1aSH6+RtxXliF2xa3t6uOWNtFSVlA9Hu+eLjEoKrFheK84AMDnD3fH+iPncY+DGyS9MLjxMnGGjNYME7FbSitzI2Z11BmRzo3CkPzcDR5upZK8WFOhakCxv2rwYHVY2l4e3DQM9ceNrSMVj4sXKPXCdHd0bIA7XFimwBWtyjJY9m2zv7ufcX9Hu7E7joKb91ccAQDsKquLVNlFGCu6uBmNBgzq3giH03JxNKO0+6xjbKh0AZUX/qo2wc0VFMczORhcq64PI2b9xID/jo4NpIu+VlXrLzacVPzbkwOKgdKMYGy49t354B6N8ena0vdO/Xc4+ntF8m7H+i4EjfLzmauZmxAX18CrbgwGAxqGKY95ReUrKqOeKrgRqTM38ptPdTu0xsOJi/u6Q97dqT7nNAwLUNzE9W5Zz2GhUD2xW8rLNh4r7ZfuFBtq9wFQj7lpEhFoN5PDk332rsotLO8aEe8QfMVS/fKCXdVkHRjlrJ/SL+KUO8vHeyQfSEfO5WK7QZbuzCyqLK0ZKg1C7dPUrgaJ6rsoV7WT1RdxRn5H3rFhqPT/8guq3hepUb2bIcBscntWipyjhf3Ug2XFwFicCeIre54rs5Y9OaC4Ik0iAqWlNtTBTQUTEhU3Ua4EjfLPa5iT8Tzyz7lW10tN5VuJruGKhDs4jmL2XhxzY7UJUskO9TnMZLRf68rZpBZXqLtwfavZlG9HmLnxsv3nSpcp6No4DI9d3xS7T2dh6fbTWLLtNL7fdhr16likGTUTbmuNFlF1FINTPdln7yr5mlbqqeCWCkqt60HeDvGOcmhiYxRbbdKg0Tkrj2BQN+WUU1tFZ3wvSZDVpRCpg9iIIIvm8hGVXWF69E3NcSm/CLe2c1xYEVDe+YnjbQDlbBu9Mzfjb2uN525peUWfv4qeavExorDEhpyyQF/sfpJ3Jbpyiq/qmxMxOFV/tCsKiuXtrFen4oGy8lIOzsZgXdciAn/sTQUARHloja3qwBvnPkeDvsUMoVZWRivICrSYNIsBVpb6nFOZbnE91IxW1mDiHVT9ED8EWnyQ2KyudJd0IDUHYxbtlBZMU6/7IW6ravJuMnFhSnHQrkUxfbh6RPDyE414AjAYDOgsGwj579lsu7FNxToENyOua6KZzVFnbgZ11+4jd2cFbDk/XxPevLs9rmvhPH0s726QZ24aKTI3+ndLXenFxVhB2kW8wEuZG3GNNdnvdaXgnKPq0N5iVnUhdGwYgtbRdRSDYbXIu0UdZRDk5EGesxXi5UVBHWXLaqLK3mQ442jtMPHmV/15s/gYFauDS6+jCqjV2Uh32XfJ1Yz3kZkbL7qQWyjNfpHfDanH34irBweYTQj284GvySB1B+nRLSUPblLL2iYus2BxUhtFL8rMjfb/NwwLsFurSz0zpio4uiDKj+sdHRs4vMBUdsyNq/zKLnKN6wYouhvCA8344uHu8DEZqs37fiUqmqFXr44Fpy8VyLqlyheQ1ZLYtC42HLug2DYssTHaxbjWHegp6mrfk+5og/jGFU/5lXcfuRLcyLOKDZx0Yz1+QzP89W+aw9l4Nc2g7o2w9kiGYlq1pzha3kNdNV4UE6pdmFF9Q/zItU2uqF1tY5SDp6tbJWJHav5Zqpqy2QT0nbVa+rf8bledXhQ/u4EWHxgMBkWat6oyN+Nvay39f/blEsxfexz3zVsvbRMzUPJqpNXlIicf++MjK2oln94aHuhrl7nRoy6Do9oS8pOUyeB4gLE37hjlWkXVgcEA3KQalA2UFo3s2SxC41k1T0UDbMW1lcRxWmIg7Kjg5HUt7Y9LlIdWA3eHuvq2q9OV5WODXAlu+nWojyCLD+6rYMmEzo3CsOmlm50WsKtJpt3THqufv9Hl4+qOh3raByENQvwwJLG80J58XTZHhRkbhZdvF9fMuxJirStRTemWYubGS46dz8N52dRM+QnAUe0T8YIWHmiWRs1rFc3zhlG9myEiyIJxS3ZJ0x3lxOCsWnZLyercyO8qwgPNuK5FBNYcPo9L+cX2mRsduqWSrrEPGtRKqzBrfzW9Hdx0bxKOzS8lVVj0rabTWsAwwGySAuDy4Kb0M2PVyNzIP/1a4yH0GHCvHjyqXpXaEXnmxpUK1PVD/LF9Yh+XukmjvFxxuqp5a/2rpGsiseyZ63AxtwgfrT6GSXe0QdOIQMXvm3JnO9z+/hoAkMo0qJUuxpsGALitXf0rXtDSx2TEguHdMHxBaXkNSw0JbmpGK2sg+XQ9sR6AyNHMGLELSr4IpafrZDjjrHaDWNDJWcl+vcjboW6SOO7mm00p2FG2xo2oqtdC6d4k3KUTo9FgUCxUKeftbimgtEumNo2P0BIaYMaeV2/BQ7JKyfLvnXrMTbHGmBt5dKMVEFh0WCVZvcSGqxkGefsbOSgEp+YosJk1sBMA4JV+12g+TtoMBgNaRwejZ/MIfP5wdzSrF2R3vpAX49SqagwoqwZXdnalmrznoVW0/VIR1ZHuV6e5c+ciLi4Ofn5+SEhIwObNm53un5mZiSeffBL169eHxWJBy5Yt8fvvv1dRa10nZgmaRwbZlaF3dGckpobDA8vH53i6ToYzzSODNKe3Ggzla6QoMjdeziK4Sn43rV7AU97ej1YfUzxW1WuhOKoeqmYyOF4/q7IDisleHT9fRZVj+feuflmXUkGxFcVWm/ZUcNlrab1f3s6yaVEHN46CZDWDwYC1L96IFc/1vuIq6P07x2DPq7fg0euaXtHrkD35KuPyYFyuvWycl6eyh/KhEm0aeLaAobfo2i21ePFijB07FvPmzUNCQgJmzZqFvn374uDBg4iMtE/fFxUVoU+fPoiMjMT333+PmJgYnDx5EqGhoVXf+AqIBeO0xk5olY33MRqkD6K8S6AqZ0uZfYwICzDbTR20+BilOwh55qC61LkxlGU68oqsaKGaueHsAnNDq6opPPXVIwlYsu0UJtzm/E72+pb1sPpQBoYkNnbYZabHBbM2k3f7Rsi+d61ld6e5l0tkU8G1j79W6l+P90reLbV4ZA+3ulDUs2KuhDfGpJDyZtfRja98fTZPZdebRARi2j3t0SDUv9pk7Cuia3AzY8YMjBgxAsOHDwcAzJs3D7/99hvmz5+P8ePH2+0/f/58XLx4EevXr4evb+mXJy4uriqb7DKxzoBWlkZrKm2A2aRZDbaq69xo9UY4WmCxuoy5AYAtrySh2CrYBYNaXQN920bh1nbR6Nfe8zMetFzbIgLXtqh4IO78YV1xMb8IkXX8cCgtR3MfPbo6ajP550WefWkaESQtdptbWFLhgGKtbIfemZuEps4XpKWax2AwIMTfF1kFxejh4P01GQ34aEg8DqXmoENDz83Wq6icQHWjWwhWVFSEbdu2ISkpqbwxRiOSkpKwYYP2qqa//PILEhMT8eSTTyIqKgrt2rXD1KlTYbU6XtCrsLAQ2dnZip+qIA5M1EpXawU38pOsvEhaZUpnXwn5IGiR/CQt78OtTqPmA8w+msdV6wLz6HVNcXfnhtWui8fHZERkWaEzRxdGR1ORqXIc3QmHBPhKg3H/3JcqrQunGFAsy4porZtUFeOj1F4tq8z9xA3Nqvx3U9X45/kbsOaFG50O1O7bNhpP3dzCa4OfawLdMjfnz5+H1WpFVFSUYntUVBQOHDig+Zxjx45hxYoVGDx4MH7//XccOXIETzzxBIqLizF58mTN50ybNg1TpkzxePsr4qxbylHmRpQtWxm6kYN1ZKqSPAjQ44R9JdRdZ0EWH3St4sJqleEo8DrhoBYGVY68XMAtbaNQZLWhc9kSBnX8fJCeUyhVuQbURfzKX0erSq8emZtb2kZj56Q+Li9mSTVPaICZ768LqtetawVsNhsiIyPx8ccfIz4+HgMHDsTLL7+MefPmOXzOhAkTkJWVJf2cOnWqStpa3i1lHz9WlLnp16G0u6R7k/Aqn7XyuMYdn7yaa00b86EugNVENbWyunIURIrVrMkz5Osd+fmaMOP+ThiSGAcACNLoanI0FVxrSQq9MoO88BHpmLmJiIiAyWRCWlqaYntaWhqio7XXv6lfvz58fX1hMpWf+K+55hqkpqaiqKgIZrPG3ZPFAoul4rVSPK28W8r+BKeVzZFvaxIRiI0TbtZMdXvb2D4tcUubKNz9QXkBP5us6qk8uOlVAwq6qad7N3QwfbK6cRREVoelD2qTaFlqX5z2LQrWqBEjH3PzYI/GmL3iCK5tHqEZjNa0LCdRbaLbbbjZbEZ8fDySk5OlbTabDcnJyUhMTNR8Tq9evXDkyBHYZBesQ4cOoX79+pqBjZ4KyqaCa9Wp0SyZrdovOsRPl5Ojr8moWJMJAOQV3Q0GA17v3w7PJLXA7e2dL8JYHaine1/pNNeq4uiu/937a0el1+rCx2SUxtqoB19qFcDzlc2WevrmFvj84e74aEi85mt7qsYIEblP12/f2LFj8cknn+Dzzz/H/v378fjjjyMvL0+aPTV06FBMmDBB2v/xxx/HxYsXMWbMGBw6dAi//fYbpk6diieffFKvP8EhZ7OltDhaNE0v8u4p9Xo1Q3o0xjNJLWtE906EqhZEkIsVW/WmNXC4Q8MQtG1QtWsVXQ3Wjb8Ja164UTH+BgDqWOwDYXkFbF+TEb1b1pO6lMff1lqRGawupRKIrka6fvsGDhyId955B5MmTUKnTp2wc+dOLFu2TBpknJKSgnPnzkn7x8bG4s8//8SWLVvQoUMHPP300xgzZozmtHG9OZstpcXVYltV5cVby9eaqvpFCjznljbRGNi1fIVtR0tfVDdageOdHatm6vrVJsTfF7EaA/fj4+wHnjuaCg6ULmGy9Ime0r+r22w8oquJ7rexo0ePxujRozUfW7Vqld22xMREbNy40cutunLOZktpqcplFtxVlYUEPc1oLO1GW7y1dCB5RQsmVkcWHyMm3dEGg7rVrDoTNd0dHRrghe93K7b5OCjip/W4s0CIiLyLtxZeImVuXOyWqupifa54JqkFIutY8PTNLfRuyhWRFxt0VGG2OuvZrC4GJzSu9es9VTdaWdeKAhb54xZT9ftOE10tau4teTUnjblxMXPj6n5V6ZmklngmqaXezbhi8i6emjgMoiZ3C9Y2FVXlDvbzxQu3tgKgXOSQiKpWDTzV1wwVdUtFq6pL1qnBXT81SU3MfgiMbnTz0u2tFf92JfP3xA3N8cQNzb3VJCJyAYMbLxFXBdcq4gcAC4Z3Q5dGobi/a0Pc0iYKfdpU/2nVtUHzekEV70RUZuT1zTAssbH0b98aGBwTXY2YLvCSy8WltXgcdTddUz8YS5/oVZVNuqotHtkDe85koU+bqIp3rmaYuNGXfLVsE4MbohqBwY2X5EtF/KrfWJqrUULTujV2lWR1nSGqWvJp4pwBRVQzsFvKS9ydLUWkFlY2IPXm1pE6t+TqdkOreqgbaIavyaDI4hBR9cXMjRfYbAIKS0q7pZi5ocpa9sz12HriEvq2rXldabWJn68Jq1+4EZkFxYhSTQQgouqJwY0XiNPAgeo5xZtqhqhgP/TrUF/vZhBKC1nW5GKWRFcbdkt5gbi6sI/RwG4pIiKiKsbgxgsu5RcBAEIDfGvE4pJERES1CYMbL8jMLwZQuiAfERERVS0GN16QVSBmbsw6t4SIiOjqw+DGC8TMTSgzN0RERFWOwY0XZBaUBTfM3BAREVU5BjdekF0W3AT7c+ooERFRVWNw4wX5FawITkRERN7D4MYLCqTghpkbIiKiqsbgxgvyi7muFBERkV4Y3HhBAVcEJyIi0g2DGy+QVgRncENERFTlGNx4gRTcsFuKiIioyjG48QIOKCYiItIPgxsPO3E+DwfTcgCwW4qIiEgPDG487KPVR6X/54BiIiKiqsfgxsOC/crXkzL78PASERFVNV59PSwssHw9qSZ1A3VsCRER0dWJwY2HlVhtAICBXWNhNBp0bg0REdHVh8GNhxVbBQCAj4mBDRERkR4Y3HiY1VYa3PiaeGiJiIj0wCuwhxXbSrulTOySIiIi0gWDGw8rYbcUERGRrhjceJg4oNjXyENLRESkB16BPazYxswNERGRnqpFcDN37lzExcXBz88PCQkJ2Lx5s8N9Fy5cCIPBoPjx8/OrwtY6Z7VyQDEREZGedL8CL168GGPHjsXkyZOxfft2dOzYEX379kV6errD5wQHB+PcuXPSz8mTJ6uwxc5xQDEREZG+dA9uZsyYgREjRmD48OFo06YN5s2bh4CAAMyfP9/hcwwGA6Kjo6WfqKgoh/sWFhYiOztb8eNN0oBiBjdERES60DW4KSoqwrZt25CUlCRtMxqNSEpKwoYNGxw+Lzc3F40bN0ZsbCzuuusu7Nu3z+G+06ZNQ0hIiPQTGxvr0b9BraQsc8NuKSIiIn3oegU+f/48rFarXeYlKioKqampms9p1aoV5s+fj59//hlfffUVbDYbevbsidOnT2vuP2HCBGRlZUk/p06d8vjfIcep4ERERPry0bsB7kpMTERiYqL07549e+Kaa67BRx99hNdff91uf4vFAovFUmXtKxErFHMqOBERkS7cvgKnpKRAEAS77YIgICUlxa3XioiIgMlkQlpammJ7WloaoqOjXXoNX19fdO7cGUeOHHHrd3tLsZUDiomIiPTkdnDTpEkTZGRk2G2/ePEimjRp4tZrmc1mxMfHIzk5Wdpms9mQnJysyM44Y7VasWfPHtSvX9+t3+0t7JYiIiLSl9vdUoIgwGCwv3Dn5uZWqt7M2LFjMWzYMHTt2hXdu3fHrFmzkJeXh+HDhwMAhg4dipiYGEybNg0A8Nprr6FHjx5o3rw5MjMzMX36dJw8eRKPPvqo27/bGzigmIiISF8uBzdjx44FUDoNe+LEiQgICJAes1qt2LRpEzp16uR2AwYOHIiMjAxMmjQJqamp6NSpE5YtWyYNMk5JSYFRNn7l0qVLGDFiBFJTUxEWFob4+HisX78ebdq0cft3e4M45oZTwYmIiPRhELQG0Gi48cYbAQD//PMPEhMTYTabpcfMZjPi4uIwbtw4tGjRwjst9ZDs7GyEhIQgKysLwcHBHn/9O2avxZ4zWVjwUDfc2DrS469PRER0NXLn+u1y5mblypUAgOHDh+O9997zSmBQG3BAMRERkb7cHnOzYMECb7Sj1ijhwplERES6cju4ycvLw1tvvYXk5GSkp6fDVjaAVnTs2DGPNa4mstq4cCYREZGe3A5uHn30Ufzzzz8YMmQI6tevrzlz6momdktxQDEREZE+3A5u/vjjD/z222/o1auXN9pT44l1bpi5ISIi0ofbV+CwsDCEh4d7oy21gljnhgOKiYiI9OF2cPP6669j0qRJyM/P90Z7arxiKXPD4IaIiEgPbndLvfvuuzh69CiioqIQFxcHX19fxePbt2/3WONqIqtUxI/dUkRERHpwO7jp37+/F5pRe0gDipm5ISIi0oXbwc3kyZO90Y5ao4RTwYmIiHRVqStwZmYmPv30U0yYMAEXL14EUNoddebMGY82rqYRBEHqluKAYiIiIn24nbnZvXs3kpKSEBISghMnTmDEiBEIDw/H0qVLkZKSgi+++MIb7awRxKwNAPhyzA0REZEu3L4Cjx07Fg899BAOHz4MPz8/afvtt9+O1atXe7RxNY1Y4wbgmBsiIiK9uB3cbNmyBY899pjd9piYGKSmpnqkUTVVsWwpCgY3RERE+nA7uLFYLMjOzrbbfujQIdSrV88jjaqp5JkbdksRERHpw+0r8J133onXXnsNxcXFAACDwYCUlBS8+OKLGDBggMcbWJOUlE0DNxgAIwcUExER6cLt4Obdd99Fbm4uIiMjUVBQgN69e6N58+aoU6cO3nzzTW+0scaQpoEza0NERKQbt2dLhYSEYPny5Vi7di12796N3NxcdOnSBUlJSd5oX40idktxvA0REZF+3A5uRNdeey2uvfZaT7alxhMHFPuwS4qIiEg3LgU377//PkaOHAk/Pz+8//77Tvd9+umnPdKwmqjEyurEREREenMpuJk5cyYGDx4MPz8/zJw50+F+BoPh6g5uyjI3rE5MRESkH5eCm+PHj2v+Pykxc0NERKQ/XoU9SMzccEAxERGRftwObgYMGID//ve/dtvffvtt3HfffR5pVE1VLM6WYrcUERGRbtwOblavXo3bb7/dbvttt9121a8tJa4I7sM6N0RERLpx+yqcm5sLs9lst93X11dzWYarSbGV3VJERER6czu4ad++PRYvXmy3fdGiRWjTpo1HGlVTlRfxY+aGiIhIL24X8Zs4cSLuueceHD16FDfddBMAIDk5Gd9++y2WLFni8QbWJCU2jrkhIiLSm9vBzR133IGffvoJU6dOxffffw9/f3906NABf//9N3r37u2NNtYY4pgb1rkhIiLST6WWX+jXrx/69evn6bbUeFahLLgxMLghIiLSCweHeJBQFtxwshQREZF+XMrchIeH49ChQ4iIiEBYWBgMTjITFy9e9FjjahqxW8rIzA0REZFuXF5bqk6dOgCAWbNmebM9NRrH3BAREenPpeBm165duPfee2GxWNCkSRP07NkTPj6VGq6jae7cuZg+fTpSU1PRsWNHzJ49G927d6/weYsWLcKgQYNw11134aeffvJYeyrLxjE3REREunNpdMjs2bORm5sLALjxxhs92vW0ePFijB07FpMnT8b27dvRsWNH9O3bF+np6U6fd+LECYwbNw7XXXedx9pypcpq+MHIzA0REZFuXEq/xMXF4f3338ctt9wCQRCwYcMGhIWFae57/fXXu9WAGTNmYMSIERg+fDgAYN68efjtt98wf/58jB8/XvM5VqsVgwcPxpQpU7BmzRpkZma69Tu9hbOliIiI9OdScDN9+nSMGjUK06ZNg8FgwN133625n8FggNVqdfmXFxUVYdu2bZgwYYK0zWg0IikpCRs2bHD4vNdeew2RkZF45JFHsGbNGqe/o7CwEIWFhdK/vblEhDhbimNuiIiI9ONSt1T//v2RmpqK7OxsCIKAgwcP4tKlS3Y/7nZXnT9/HlarFVFRUYrtUVFRSE1N1XzO2rVr8dlnn+GTTz5x6XdMmzYNISEh0k9sbKxbbXSHOKCYiRsiIiL9uBTcjB07Fnl5eQgKCsLKlSvRpEkTRcAg//GmnJwcDBkyBJ988gkiIiJces6ECROQlZUl/Zw6dcpr7eNsKSIiIv251C01e/ZsvPjiiwgMDMRNN92Ec+fOITIy8op/eUREBEwmE9LS0hTb09LSEB0dbbf/0aNHceLECdxxxx3SNputbCVuHx8cPHgQzZo1UzzHYrHAYrFccVtdwdlSRERE+tN1QLHZbEZ8fDySk5PRv39/AKXBSnJyMkaPHm23f+vWrbFnzx7FtldeeQU5OTl47733vNrl5ArOliIiItKfrgOKgdIur2HDhqFr167o3r07Zs2ahby8PGn21NChQxETE4Np06bBz88P7dq1Uzw/NDQUAOy264GZGyIiIv25FNz0798f/fv3R25uLoKDg3Hw4EGPdEsBwMCBA5GRkYFJkyYhNTUVnTp1wrJly6RBxikpKTDWkMWapOUXmLkhIiLSjVtlhuUDij1ZoXj06NGa3VAAsGrVKqfPXbhwocfacaXEzA1jGyIiIv24nRLp3bs3Tp48iVdeeQWDBg2SKgn/8ccf2Ldvn8cbWJPYOFuKiIhId24HN//88w/at2+PTZs2YenSpdKyDLt27cLkyZM93sCaxCpwVXAiIiK9uR3cjB8/Hm+88QaWL18Os9ksbb/pppuwceNGjzauphFnSzFzQ0REpB+3g5s9e/ZozpaKjIzE+fPnPdKomsrG5ReIiIh053ZwExoainPnztlt37FjB2JiYjzSqJpKmi3FbikiIiLduB3cPPDAA3jxxReRmpoKg8EAm82GdevWYdy4cRg6dKg32lhjlGdudG4IERHRVczty/DUqVPRunVrxMbGIjc3F23atMH111+Pnj174pVXXvFGG2sMGzM3REREunO7WI3ZbMYnn3yCiRMnYu/evcjNzUXnzp3RokULb7SvRuFsKSIiIv1VuhJfo0aNpLWcDLyYA+BsKSIiouqgUqNDvvjiC7Rv3x7+/v7w9/dHhw4d8OWXX3q6bTUOi/gRERHpz+3MzYwZMzBx4kSMHj0avXr1AgCsXbsWo0aNwvnz5/Hss896vJE1BbuliIiI9Od2cDN79mx8+OGHiplRd955J9q2bYtXX331qg5uyjM3OjeEiIjoKub2ZfjcuXPo2bOn3faePXtq1r+5mtiYuSEiItKd28FN8+bN8d1339ltX7x48VU/Y8paGtswuCEiItKR291SU6ZMwcCBA7F69WppzM26deuQnJysGfRcTTigmIiISH9uZ24GDBiATZs2ISIiAj/99BN++uknREREYPPmzZprTl1NpOUXGNwQERHpplJ1buLj4/HVV195ui01njhbysRuKSIiIt24nLk5e/Ysxo0bh+zsbLvHsrKy8PzzzyMtLc2jjatpOFuKiIhIfy5fhmfMmIHs7GwEBwfbPRYSEoKcnBzMmDHDo42raThbioiISH8uBzfLli1zuur30KFD8euvv3qkUTUVZ0sRERHpz+Xg5vjx42jUqJHDxxs2bIgTJ054ok01FmdLERER6c/l4Mbf399p8HLixAn4+/t7ok01FmdLERER6c/l4CYhIcHp4phffPEFunfv7pFG1VScLUVERKQ/l6eCjxs3Dn369EFISAief/55REVFAQDS0tLw9ttvY+HChfjrr7+81tCagLOliIiI9OdycHPjjTdi7ty5GDNmDGbOnIng4GAYDAZkZWXB19cXs2fPxk033eTNtlZ7ZeOJYWDmhoiISDduFfF77LHH8J///Affffcdjhw5AkEQ0LJlS9x7771o2LCht9pYYwiCUPFORERE5FVuVyiOiYnBs88+64221HhS5kbXVhAREV3dODrEg8TEDbuliIiI9MPgxgsY2hAREemHwY0HccQNERGR/hjceFJZvxR7pYiIiPTD4MaDyqeC69oMIiKiq5pLs6XCw8Nx6NAhREREICws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", "text/plain": [ "
" ] @@ -1511,64 +1513,64 @@ "text": [ " Gini\n", "0 0.0000\n", - "1 0.3146\n", - "2 0.3576\n", - "3 0.4404\n", - "4 0.4484\n", + "1 0.3306\n", + "2 0.4212\n", + "3 0.4780\n", + "4 0.5296\n", " Gini\n", - "0 0.6464\n", - "1 0.6660\n", - "2 0.6868\n", - "3 0.6882\n", - "4 0.6638\n", + "0 0.6946\n", + "1 0.6848\n", + "2 0.6424\n", + "3 0.6594\n", + "4 0.6154\n", " Gini\n", - "0 0.6682\n", - "1 0.6486\n", - "2 0.6362\n", - "3 0.6306\n", - "4 0.6478\n", + "0 0.6788\n", + "1 0.6416\n", + "2 0.6414\n", + "3 0.6464\n", + "4 0.6328\n", " Gini\n", - "0 0.6858\n", - "1 0.6680\n", - "2 0.6784\n", - "3 0.6580\n", - "4 0.6282\n", + "0 0.6142\n", + "1 0.6306\n", + "2 0.6226\n", + "3 0.6378\n", + "4 0.6510\n", " Gini\n", - "0 0.6598\n", - "1 0.6522\n", - "2 0.6406\n", - "3 0.6294\n", - "4 0.5926\n", + "0 0.6512\n", + "1 0.6582\n", + "2 0.6444\n", + "3 0.6696\n", + "4 0.6732\n", " Gini\n", - "0 0.6316\n", - "1 0.6408\n", - "2 0.6316\n", - "3 0.6290\n", - "4 0.6290\n", + "0 0.7136\n", + "1 0.7310\n", + "2 0.7370\n", + "3 0.7268\n", + "4 0.7102\n", " Gini\n", - "0 0.6842\n", - "1 0.6890\n", - "2 0.6466\n", - "3 0.6742\n", - "4 0.6860\n", + "0 0.6758\n", + "1 0.6930\n", + "2 0.6886\n", + "3 0.7034\n", + "4 0.6858\n", " Gini\n", - "0 0.6142\n", - "1 0.6048\n", - "2 0.6356\n", - "3 0.6490\n", - "4 0.6292\n", + "0 0.6150\n", + "1 0.6206\n", + "2 0.6342\n", + "3 0.6640\n", + "4 0.6834\n", " Gini\n", - "0 0.6488\n", - "1 0.6858\n", - "2 0.6940\n", - "3 0.6962\n", - "4 0.6824\n", + "0 0.7000\n", + "1 0.7150\n", + "2 0.7220\n", + "3 0.7152\n", + "4 0.7160\n", " Gini\n", - "0 0.6966\n", - "1 0.6894\n", - "2 0.7008\n", - "3 0.6778\n", - "4 0.6778\n", + "0 0.6556\n", + "1 0.6782\n", + "2 0.6824\n", + "3 0.6520\n", + "4 0.6560\n", " Wealth\n", "Step AgentID \n", "0 0 1\n", @@ -1578,67 +1580,67 @@ " 4 1\n", " Wealth\n", "Step AgentID \n", - "901 82 2\n", - " 29 0\n", - " 53 0\n", - " 40 2\n", - " 87 0\n", + "901 27 0\n", + " 6 0\n", + " 71 0\n", + " 68 0\n", + " 94 1\n", " Wealth\n", "Step AgentID \n", - "101 39 0\n", - " 67 0\n", - " 0 0\n", - " 5 2\n", - " 29 0\n", + "101 5 0\n", + " 27 0\n", + " 51 0\n", + " 81 2\n", + " 63 2\n", " Wealth\n", "Step AgentID \n", - "201 56 4\n", - " 1 4\n", - " 22 1\n", - " 2 0\n", - " 69 2\n", + "201 96 1\n", + " 81 4\n", + " 46 1\n", + " 55 3\n", + " 80 1\n", " Wealth\n", "Step AgentID \n", - "301 7 1\n", - " 70 0\n", - " 13 3\n", - " 35 0\n", - " 20 1\n", + "301 66 1\n", + " 71 0\n", + " 91 2\n", + " 45 0\n", + " 50 2\n", " Wealth\n", "Step AgentID \n", - "401 65 2\n", - " 18 3\n", - " 68 0\n", - " 60 0\n", - " 42 0\n", + "401 70 0\n", + " 35 4\n", + " 27 2\n", + " 41 1\n", + " 0 0\n", " Wealth\n", "Step AgentID \n", - "501 45 1\n", - " 60 6\n", - " 72 0\n", - " 79 1\n", - " 99 1\n", + "501 68 1\n", + " 48 0\n", + " 19 1\n", + " 66 0\n", + " 81 0\n", " Wealth\n", "Step AgentID \n", - "601 21 1\n", - " 95 4\n", - " 39 1\n", - " 5 0\n", - " 76 2\n", + "601 50 3\n", + " 92 1\n", + " 40 2\n", + " 52 0\n", + " 57 0\n", " Wealth\n", "Step AgentID \n", - "701 73 0\n", - " 13 1\n", - " 49 0\n", - " 94 0\n", - " 44 0\n", + "701 46 6\n", + " 16 3\n", + " 63 0\n", + " 98 0\n", + " 15 0\n", " Wealth\n", "Step AgentID \n", - "801 56 0\n", - " 31 1\n", - " 45 0\n", - " 81 0\n", - " 83 1\n" + "801 18 1\n", + " 78 1\n", + " 87 0\n", + " 79 0\n", + " 11 1\n" ] } ], From 1bc139cd7993911c3759d5d5e5fb23e229224c43 Mon Sep 17 00:00:00 2001 From: Chan-Dong-Jun Date: Tue, 16 Jul 2024 15:25:56 +0800 Subject: [PATCH 6/9] add save_special_results method --- mesa/cacheable_model.py | 76 +- mesa/cacheable_wrapper_example.ipynb | 19971 ++++++++++++++++--------- 2 files changed, 13226 insertions(+), 6821 deletions(-) diff --git a/mesa/cacheable_model.py b/mesa/cacheable_model.py index 4f958d2b4fd..f4d3b47be63 100644 --- a/mesa/cacheable_model.py +++ b/mesa/cacheable_model.py @@ -4,7 +4,7 @@ import types from copy import deepcopy from functools import partial -from typing import Any +from typing import Any, Callable import pyarrow as pa import pyarrow.parquet as pq @@ -32,9 +32,10 @@ def __init__( self, model: Model, cache_file_path: str | Path, - cache_state: CacheState, + # cache_state: CacheState, total_steps: int, - cache_step_rate: int = 1, + # cache_step_rate: int = 1, + condition_function=None, ) -> None: """Create a new caching wrapper around an existing mesa model instance. @@ -49,8 +50,8 @@ def __init__( self.model = model self.cache_file_path = Path(cache_file_path) - self._cache_state = cache_state - self._cache_step_rate = cache_step_rate + # self._cache_state = cache_state + # self._cache_step_rate = cache_step_rate self._total_steps = total_steps # self.cache: list[Any] = [] self.step_count: int = 0 @@ -63,8 +64,10 @@ def __init__( self._agent_records = {} self._cache_interval = 100 - self.output_dir = 'output_dir' + # self.output_dir = 'output_dir' + self._last_cached_step = 0 # inclusive since it is the bottom bound of slicing + self.condition_function = condition_function def get_agent_vars_dataframe(self): """Create a pandas DataFrame from the agent variables. @@ -101,8 +104,8 @@ def get_model_vars_dataframe(self): print(f" TEST {self.model._steps=}") print(f" TEST {self._cache_interval=}") - print(pd.DataFrame(self.model.datacollector.model_vars)[self.model._steps-self._cache_interval:self.model._steps]) - return pd.DataFrame(self.model.datacollector.model_vars)[self.model._steps-self._cache_interval:self.model._steps] + print(pd.DataFrame(self.model.datacollector.model_vars)[self._last_cached_step:self.model._steps]) + return pd.DataFrame(self.model.datacollector.model_vars)[self._last_cached_step:self.model._steps] # def get_table_dataframe(self, table_name): # """Create a pandas DataFrame from a particular table. @@ -120,8 +123,12 @@ def _save_to_parquet(self, model): agent_df = self.get_agent_vars_dataframe() padding = len(str(self._total_steps)) - 1 print(padding) - model_file = f"{self.output_dir}/model_data_{self.model._steps // self._cache_interval:0{padding}}.parquet" - agent_file = f"{self.output_dir}/agent_data_{self.model._steps // self._cache_interval:0{padding}}.parquet" + + # ceiling function + model_file = f"{self.cache_file_path}/model_data_{-(self.model._steps // -self._cache_interval):0{padding}}.parquet" + agent_file = f"{self.cache_file_path}/agent_data_{-(self.model._steps // -self._cache_interval):0{padding}}.parquet" + + self.cache_file_path.mkdir(parents=True, exist_ok=True) print(f"{model_file=}") absolute_path = os.path.abspath(model_file) @@ -154,3 +161,52 @@ def cache(self): print("CALLED") print(f"{self.model._steps=}") self._save_to_parquet(self.model) + self._last_cached_step = self.model._steps + elif self.model._steps == self._total_steps: + print("FINAL CALLED") + print(f"{self.model._steps=}") + self._save_to_parquet(self.model) + self._last_cached_step = self.model._steps + + if self.condition_function and self.save_special_results(self.condition_function): + # print("CHECK SPECIAL RESULTS CONDITION") + pass + + def save_special_results(self, condition_function: Callable[[dict], bool]): + + model_vars = self.model.datacollector.model_vars + # print(f"{model_vars=}") + print(f"{model_vars.get('Gini', 0)[-1]=}") + self.cache_file_path.mkdir(parents=True, exist_ok=True) + # if condition_function(model_vars): + # special_results_df = pd.DataFrame(model_vars) + # special_results_file = f"{self.cache_file_path}/special_results.parquet" + # + # + # if not special_results_df.empty: + # print(f"Condition met. Saving special results to {special_results_file}") + # special_results_table = pa.Table.from_pandas(special_results_df) + # pq.write_table(special_results_table, special_results_file) + # else: + # print("Condition met but no data to save.") + + current_step = self.model._steps + special_results_file = f"{self.cache_file_path}/special_results.parquet" + if condition_function(model_vars): + step_data = {key: [value[-1]] for key, value in model_vars.items()} + step_data['Step'] = current_step + special_results_df = pd.DataFrame(step_data) + + # Append the current step data to the Parquet file + if os.path.exists(special_results_file): + existing_data = pq.read_table(special_results_file).to_pandas() + combined_data = pd.concat([existing_data, special_results_df], ignore_index=True) + special_results_table = pa.Table.from_pandas(combined_data) + else: + special_results_table = pa.Table.from_pandas(special_results_df) + + pq.write_table(special_results_table, special_results_file) + + print(f"Condition met. Appended special results for step {current_step} to {special_results_file}") + else: + print(f"Condition not met at step {current_step}. No data to save.") diff --git a/mesa/cacheable_wrapper_example.ipynb b/mesa/cacheable_wrapper_example.ipynb index 3239129baef..0d646d87e17 100644 --- a/mesa/cacheable_wrapper_example.ipynb +++ b/mesa/cacheable_wrapper_example.ipynb @@ -23,6 +23,31 @@ { "cell_type": "code", "execution_count": 2, + "id": "79ad4023-eeec-417d-bba6-488789992889", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Directory test_path and its contents have been deleted.\n" + ] + } + ], + "source": [ + "import shutil\n", + "\n", + "def delete_directory(directory_path):\n", + " shutil.rmtree(directory_path)\n", + " print(f\"Directory {directory_path} and its contents have been deleted.\")\n", + "\n", + "directory_to_delete = \"test_path\"\n", + "delete_directory(directory_to_delete)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, "id": "c25f0179-d5ea-47d1-9e4e-c460030d5f73", "metadata": {}, "outputs": [], @@ -32,7 +57,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "id": "7ecda9c7-ec67-4322-b351-99dc5d3a5a67", "metadata": {}, "outputs": [], @@ -42,7 +67,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "d29660ed-cd5d-45a1-af20-cab8fdceeb7a", "metadata": {}, "outputs": [], @@ -116,7 +141,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "657a3190-c26a-492c-abe6-be53b6e8a6d8", "metadata": {}, "outputs": [], @@ -126,12 +151,23 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, + "id": "165b9f97-1e7b-40d5-8d6f-b705d0e45bd1", + "metadata": {}, + "outputs": [], + "source": [ + "def condition_function(model_vars):\n", + " return model_vars.get('Gini', 0)[-1] > 0.7" + ] + }, + { + "cell_type": "code", + "execution_count": 8, "id": "b699ed8e-0cd0-452f-8719-6c6e0956f1a6", "metadata": {}, "outputs": [], "source": [ - "cacheable_model = CacheableModel(model, \"a\", 10000, None)" + "cacheable_model = CacheableModel(model, \"test_path\", 5555, condition_function)" ] }, { @@ -144,7 +180,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 9, "id": "dde8f54d-34ed-429d-99f7-b17c1b2cd5a5", "metadata": { "scrolled": true @@ -155,104 +191,302 @@ "output_type": "stream", "text": [ "0\n", + "model_vars.get('Gini', 0)[-1]=0.0\n", + "Condition not met at step 1. No data to save.\n", "1\n", + "model_vars.get('Gini', 0)[-1]=0.32720000000000005\n", + "Condition not met at step 2. No data to save.\n", "2\n", + "model_vars.get('Gini', 0)[-1]=0.4626\n", + "Condition not met at step 3. No data to save.\n", "3\n", + "model_vars.get('Gini', 0)[-1]=0.4626\n", + "Condition not met at step 4. No data to save.\n", "4\n", + "model_vars.get('Gini', 0)[-1]=0.508\n", + "Condition not met at step 5. No data to save.\n", "5\n", + "model_vars.get('Gini', 0)[-1]=0.5302\n", + "Condition not met at step 6. No data to save.\n", "6\n", + "model_vars.get('Gini', 0)[-1]=0.5518000000000001\n", + "Condition not met at step 7. No data to save.\n", "7\n", + "model_vars.get('Gini', 0)[-1]=0.5973999999999999\n", + "Condition not met at step 8. No data to save.\n", "8\n", + "model_vars.get('Gini', 0)[-1]=0.6082000000000001\n", + "Condition not met at step 9. No data to save.\n", "9\n", + "model_vars.get('Gini', 0)[-1]=0.6000000000000001\n", + "Condition not met at step 10. No data to save.\n", "10\n", + "model_vars.get('Gini', 0)[-1]=0.6046\n", + "Condition not met at step 11. No data to save.\n", "11\n", + "model_vars.get('Gini', 0)[-1]=0.6093999999999999\n", + "Condition not met at step 12. No data to save.\n", "12\n", + "model_vars.get('Gini', 0)[-1]=0.618\n", + "Condition not met at step 13. No data to save.\n", "13\n", + "model_vars.get('Gini', 0)[-1]=0.6096\n", + "Condition not met at step 14. No data to save.\n", "14\n", + "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", + "Condition not met at step 15. No data to save.\n", "15\n", + "model_vars.get('Gini', 0)[-1]=0.6044\n", + "Condition not met at step 16. No data to save.\n", "16\n", + "model_vars.get('Gini', 0)[-1]=0.6078\n", + "Condition not met at step 17. No data to save.\n", "17\n", + "model_vars.get('Gini', 0)[-1]=0.6018\n", + "Condition not met at step 18. No data to save.\n", "18\n", + "model_vars.get('Gini', 0)[-1]=0.6058\n", + "Condition not met at step 19. No data to save.\n", "19\n", + "model_vars.get('Gini', 0)[-1]=0.616\n", + "Condition not met at step 20. No data to save.\n", "20\n", + "model_vars.get('Gini', 0)[-1]=0.5754\n", + "Condition not met at step 21. No data to save.\n", "21\n", + "model_vars.get('Gini', 0)[-1]=0.5886\n", + "Condition not met at step 22. No data to save.\n", "22\n", + "model_vars.get('Gini', 0)[-1]=0.6106\n", + "Condition not met at step 23. No data to save.\n", "23\n", + "model_vars.get('Gini', 0)[-1]=0.6156\n", + "Condition not met at step 24. No data to save.\n", "24\n", + "model_vars.get('Gini', 0)[-1]=0.6334\n", + "Condition not met at step 25. No data to save.\n", "25\n", + "model_vars.get('Gini', 0)[-1]=0.6562\n", + "Condition not met at step 26. No data to save.\n", "26\n", + "model_vars.get('Gini', 0)[-1]=0.6592\n", + "Condition not met at step 27. No data to save.\n", "27\n", + "model_vars.get('Gini', 0)[-1]=0.6652\n", + "Condition not met at step 28. No data to save.\n", "28\n", + "model_vars.get('Gini', 0)[-1]=0.6408\n", + "Condition not met at step 29. No data to save.\n", "29\n", + "model_vars.get('Gini', 0)[-1]=0.653\n", + "Condition not met at step 30. No data to save.\n", "30\n", + "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", + "Condition not met at step 31. No data to save.\n", "31\n", + "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", + "Condition not met at step 32. No data to save.\n", "32\n", + "model_vars.get('Gini', 0)[-1]=0.6662\n", + "Condition not met at step 33. No data to save.\n", "33\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 34. No data to save.\n", "34\n", + "model_vars.get('Gini', 0)[-1]=0.6804\n", + "Condition not met at step 35. No data to save.\n", "35\n", + "model_vars.get('Gini', 0)[-1]=0.6636\n", + "Condition not met at step 36. No data to save.\n", "36\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 37. No data to save.\n", "37\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 38. No data to save.\n", "38\n", + "model_vars.get('Gini', 0)[-1]=0.6892\n", + "Condition not met at step 39. No data to save.\n", "39\n", + "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", + "Condition not met at step 40. No data to save.\n", "40\n", + "model_vars.get('Gini', 0)[-1]=0.6894\n", + "Condition not met at step 41. No data to save.\n", "41\n", + "model_vars.get('Gini', 0)[-1]=0.7046\n", + "Condition met. Appended special results for step 42 to test_path/special_results.parquet\n", "42\n", + "model_vars.get('Gini', 0)[-1]=0.7010000000000001\n", + "Condition met. Appended special results for step 43 to test_path/special_results.parquet\n", "43\n", + "model_vars.get('Gini', 0)[-1]=0.7056\n", + "Condition met. Appended special results for step 44 to test_path/special_results.parquet\n", "44\n", + "model_vars.get('Gini', 0)[-1]=0.7203999999999999\n", + "Condition met. Appended special results for step 45 to test_path/special_results.parquet\n", "45\n", + "model_vars.get('Gini', 0)[-1]=0.7092\n", + "Condition met. Appended special results for step 46 to test_path/special_results.parquet\n", "46\n", + "model_vars.get('Gini', 0)[-1]=0.7028000000000001\n", + "Condition met. Appended special results for step 47 to test_path/special_results.parquet\n", "47\n", + "model_vars.get('Gini', 0)[-1]=0.7166\n", + "Condition met. Appended special results for step 48 to test_path/special_results.parquet\n", "48\n", + "model_vars.get('Gini', 0)[-1]=0.7146\n", + "Condition met. Appended special results for step 49 to test_path/special_results.parquet\n", "49\n", + "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", + "Condition not met at step 50. No data to save.\n", "50\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 51. No data to save.\n", "51\n", + "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", + "Condition not met at step 52. No data to save.\n", "52\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 53. No data to save.\n", "53\n", + "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", + "Condition not met at step 54. No data to save.\n", "54\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 55. No data to save.\n", "55\n", + "model_vars.get('Gini', 0)[-1]=0.6914\n", + "Condition not met at step 56. No data to save.\n", "56\n", + "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", + "Condition not met at step 57. No data to save.\n", "57\n", + "model_vars.get('Gini', 0)[-1]=0.7058\n", + "Condition met. Appended special results for step 58 to test_path/special_results.parquet\n", "58\n", + "model_vars.get('Gini', 0)[-1]=0.7056\n", + "Condition met. Appended special results for step 59 to test_path/special_results.parquet\n", "59\n", + "model_vars.get('Gini', 0)[-1]=0.7250000000000001\n", + "Condition met. Appended special results for step 60 to test_path/special_results.parquet\n", "60\n", + "model_vars.get('Gini', 0)[-1]=0.7012\n", + "Condition met. Appended special results for step 61 to test_path/special_results.parquet\n", "61\n", + "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", + "Condition met. Appended special results for step 62 to test_path/special_results.parquet\n", "62\n", + "model_vars.get('Gini', 0)[-1]=0.7088\n", + "Condition met. Appended special results for step 63 to test_path/special_results.parquet\n", "63\n", + "model_vars.get('Gini', 0)[-1]=0.6976\n", + "Condition not met at step 64. No data to save.\n", "64\n", + "model_vars.get('Gini', 0)[-1]=0.7183999999999999\n", + "Condition met. Appended special results for step 65 to test_path/special_results.parquet\n", "65\n", + "model_vars.get('Gini', 0)[-1]=0.7010000000000001\n", + "Condition met. Appended special results for step 66 to test_path/special_results.parquet\n", "66\n", + "model_vars.get('Gini', 0)[-1]=0.7012\n", + "Condition met. Appended special results for step 67 to test_path/special_results.parquet\n", "67\n", + "model_vars.get('Gini', 0)[-1]=0.698\n", + "Condition not met at step 68. No data to save.\n", "68\n", + "model_vars.get('Gini', 0)[-1]=0.7028000000000001\n", + "Condition met. Appended special results for step 69 to test_path/special_results.parquet\n", "69\n", + "model_vars.get('Gini', 0)[-1]=0.7414000000000001\n", + "Condition met. Appended special results for step 70 to test_path/special_results.parquet\n", "70\n", + "model_vars.get('Gini', 0)[-1]=0.73\n", + "Condition met. Appended special results for step 71 to test_path/special_results.parquet\n", "71\n", + "model_vars.get('Gini', 0)[-1]=0.7041999999999999\n", + "Condition met. Appended special results for step 72 to test_path/special_results.parquet\n", "72\n", + "model_vars.get('Gini', 0)[-1]=0.6754\n", + "Condition not met at step 73. No data to save.\n", "73\n", + "model_vars.get('Gini', 0)[-1]=0.6956\n", + "Condition not met at step 74. No data to save.\n", "74\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 75. No data to save.\n", "75\n", + "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", + "Condition not met at step 76. No data to save.\n", "76\n", + "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", + "Condition not met at step 77. No data to save.\n", "77\n", + "model_vars.get('Gini', 0)[-1]=0.6952\n", + "Condition not met at step 78. No data to save.\n", "78\n", + "model_vars.get('Gini', 0)[-1]=0.6904\n", + "Condition not met at step 79. No data to save.\n", "79\n", + "model_vars.get('Gini', 0)[-1]=0.7098\n", + "Condition met. Appended special results for step 80 to test_path/special_results.parquet\n", "80\n", + "model_vars.get('Gini', 0)[-1]=0.7174\n", + "Condition met. Appended special results for step 81 to test_path/special_results.parquet\n", "81\n", + "model_vars.get('Gini', 0)[-1]=0.7203999999999999\n", + "Condition met. Appended special results for step 82 to test_path/special_results.parquet\n", "82\n", + "model_vars.get('Gini', 0)[-1]=0.7144\n", + "Condition met. Appended special results for step 83 to test_path/special_results.parquet\n", "83\n", + "model_vars.get('Gini', 0)[-1]=0.712\n", + "Condition met. Appended special results for step 84 to test_path/special_results.parquet\n", "84\n", + "model_vars.get('Gini', 0)[-1]=0.7004\n", + "Condition met. Appended special results for step 85 to test_path/special_results.parquet\n", "85\n", + "model_vars.get('Gini', 0)[-1]=0.6952\n", + "Condition not met at step 86. No data to save.\n", "86\n", + "model_vars.get('Gini', 0)[-1]=0.7016\n", + "Condition met. Appended special results for step 87 to test_path/special_results.parquet\n", "87\n", + "model_vars.get('Gini', 0)[-1]=0.6692\n", + "Condition not met at step 88. No data to save.\n", "88\n", + "model_vars.get('Gini', 0)[-1]=0.6692\n", + "Condition not met at step 89. No data to save.\n", "89\n", + "model_vars.get('Gini', 0)[-1]=0.679\n", + "Condition not met at step 90. No data to save.\n", "90\n", + "model_vars.get('Gini', 0)[-1]=0.6826\n", + "Condition not met at step 91. No data to save.\n", "91\n", + "model_vars.get('Gini', 0)[-1]=0.6794\n", + "Condition not met at step 92. No data to save.\n", "92\n", + "model_vars.get('Gini', 0)[-1]=0.6890000000000001\n", + "Condition not met at step 93. No data to save.\n", "93\n", + "model_vars.get('Gini', 0)[-1]=0.6974\n", + "Condition not met at step 94. No data to save.\n", "94\n", + "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", + "Condition not met at step 95. No data to save.\n", "95\n", + "model_vars.get('Gini', 0)[-1]=0.6754\n", + "Condition not met at step 96. No data to save.\n", "96\n", + "model_vars.get('Gini', 0)[-1]=0.6764\n", + "Condition not met at step 97. No data to save.\n", "97\n", + "model_vars.get('Gini', 0)[-1]=0.6834\n", + "Condition not met at step 98. No data to save.\n", "98\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 99. No data to save.\n", "99\n", "CALLED\n", "self.model._steps=100\n", @@ -260,12367 +494,17864 @@ " TEST self._cache_interval=100\n", " Gini\n", "0 0.0000\n", - "1 0.2822\n", - "2 0.3666\n", - "3 0.4510\n", - "4 0.5058\n", + "1 0.3272\n", + "2 0.4626\n", + "3 0.4626\n", + "4 0.5080\n", ".. ...\n", - "95 0.6584\n", - "96 0.6582\n", - "97 0.6362\n", - "98 0.6440\n", - "99 0.6602\n", + "95 0.6754\n", + "96 0.6764\n", + "97 0.6834\n", + "98 0.6582\n", + "99 0.6464\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_001.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_001.parquet'\n", - "Saving model to output_dir/model_data_001.parquet\n", - "Saving agent to output_dir/agent_data_001.parquet\n", + "model_file='test_path/model_data_001.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_001.parquet'\n", + "Saving model to test_path/model_data_001.parquet\n", + "Saving agent to test_path/agent_data_001.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", + "Condition not met at step 100. No data to save.\n", "100\n", + "model_vars.get('Gini', 0)[-1]=0.665\n", + "Condition not met at step 101. No data to save.\n", "101\n", + "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", + "Condition not met at step 102. No data to save.\n", "102\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 103. No data to save.\n", "103\n", + "model_vars.get('Gini', 0)[-1]=0.6656\n", + "Condition not met at step 104. No data to save.\n", "104\n", + "model_vars.get('Gini', 0)[-1]=0.645\n", + "Condition not met at step 105. No data to save.\n", "105\n", + "model_vars.get('Gini', 0)[-1]=0.6514\n", + "Condition not met at step 106. No data to save.\n", "106\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 107. No data to save.\n", "107\n", + "model_vars.get('Gini', 0)[-1]=0.6412\n", + "Condition not met at step 108. No data to save.\n", "108\n", + "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", + "Condition not met at step 109. No data to save.\n", "109\n", + "model_vars.get('Gini', 0)[-1]=0.662\n", + "Condition not met at step 110. No data to save.\n", "110\n", + "model_vars.get('Gini', 0)[-1]=0.6388\n", + "Condition not met at step 111. No data to save.\n", "111\n", + "model_vars.get('Gini', 0)[-1]=0.628\n", + "Condition not met at step 112. No data to save.\n", "112\n", + "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", + "Condition not met at step 113. No data to save.\n", "113\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 114. No data to save.\n", "114\n", + "model_vars.get('Gini', 0)[-1]=0.6702\n", + "Condition not met at step 115. No data to save.\n", "115\n", + "model_vars.get('Gini', 0)[-1]=0.6414\n", + "Condition not met at step 116. No data to save.\n", "116\n", + "model_vars.get('Gini', 0)[-1]=0.655\n", + "Condition not met at step 117. No data to save.\n", "117\n", + "model_vars.get('Gini', 0)[-1]=0.6696\n", + "Condition not met at step 118. No data to save.\n", "118\n", + "model_vars.get('Gini', 0)[-1]=0.6576\n", + "Condition not met at step 119. No data to save.\n", "119\n", + "model_vars.get('Gini', 0)[-1]=0.654\n", + "Condition not met at step 120. No data to save.\n", "120\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 121. No data to save.\n", "121\n", + "model_vars.get('Gini', 0)[-1]=0.6516\n", + "Condition not met at step 122. No data to save.\n", "122\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 123. No data to save.\n", "123\n", + "model_vars.get('Gini', 0)[-1]=0.6736\n", + "Condition not met at step 124. No data to save.\n", "124\n", + "model_vars.get('Gini', 0)[-1]=0.6736\n", + "Condition not met at step 125. No data to save.\n", "125\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 126. No data to save.\n", "126\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 127. No data to save.\n", "127\n", + "model_vars.get('Gini', 0)[-1]=0.6782\n", + "Condition not met at step 128. No data to save.\n", "128\n", + "model_vars.get('Gini', 0)[-1]=0.6742\n", + "Condition not met at step 129. No data to save.\n", "129\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 130. No data to save.\n", "130\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 131. No data to save.\n", "131\n", + "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", + "Condition not met at step 132. No data to save.\n", "132\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 133. No data to save.\n", "133\n", + "model_vars.get('Gini', 0)[-1]=0.639\n", + "Condition not met at step 134. No data to save.\n", "134\n", + "model_vars.get('Gini', 0)[-1]=0.638\n", + "Condition not met at step 135. No data to save.\n", "135\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 136. No data to save.\n", "136\n", + "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", + "Condition not met at step 137. No data to save.\n", "137\n", + "model_vars.get('Gini', 0)[-1]=0.6144000000000001\n", + "Condition not met at step 138. No data to save.\n", "138\n", + "model_vars.get('Gini', 0)[-1]=0.5794\n", + "Condition not met at step 139. No data to save.\n", "139\n", + "model_vars.get('Gini', 0)[-1]=0.5993999999999999\n", + "Condition not met at step 140. No data to save.\n", "140\n", + "model_vars.get('Gini', 0)[-1]=0.6272\n", + "Condition not met at step 141. No data to save.\n", "141\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 142. No data to save.\n", "142\n", + "model_vars.get('Gini', 0)[-1]=0.621\n", + "Condition not met at step 143. No data to save.\n", "143\n", + "model_vars.get('Gini', 0)[-1]=0.6192\n", + "Condition not met at step 144. No data to save.\n", "144\n", + "model_vars.get('Gini', 0)[-1]=0.5778000000000001\n", + "Condition not met at step 145. No data to save.\n", "145\n", + "model_vars.get('Gini', 0)[-1]=0.616\n", + "Condition not met at step 146. No data to save.\n", "146\n", + "model_vars.get('Gini', 0)[-1]=0.6402\n", + "Condition not met at step 147. No data to save.\n", "147\n", + "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", + "Condition not met at step 148. No data to save.\n", "148\n", + "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", + "Condition not met at step 149. No data to save.\n", "149\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 150. No data to save.\n", "150\n", + "model_vars.get('Gini', 0)[-1]=0.6392\n", + "Condition not met at step 151. No data to save.\n", "151\n", + "model_vars.get('Gini', 0)[-1]=0.6238\n", + "Condition not met at step 152. No data to save.\n", "152\n", + "model_vars.get('Gini', 0)[-1]=0.6294\n", + "Condition not met at step 153. No data to save.\n", "153\n", + "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", + "Condition not met at step 154. No data to save.\n", "154\n", + "model_vars.get('Gini', 0)[-1]=0.6372\n", + "Condition not met at step 155. No data to save.\n", "155\n", + "model_vars.get('Gini', 0)[-1]=0.6392\n", + "Condition not met at step 156. No data to save.\n", "156\n", + "model_vars.get('Gini', 0)[-1]=0.6232\n", + "Condition not met at step 157. No data to save.\n", "157\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 158. No data to save.\n", "158\n", + "model_vars.get('Gini', 0)[-1]=0.6454\n", + "Condition not met at step 159. No data to save.\n", "159\n", + "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", + "Condition not met at step 160. No data to save.\n", "160\n", + "model_vars.get('Gini', 0)[-1]=0.64\n", + "Condition not met at step 161. No data to save.\n", "161\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 162. No data to save.\n", "162\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 163. No data to save.\n", "163\n", + "model_vars.get('Gini', 0)[-1]=0.6612\n", + "Condition not met at step 164. No data to save.\n", "164\n", + "model_vars.get('Gini', 0)[-1]=0.6622\n", + "Condition not met at step 165. No data to save.\n", "165\n", + "model_vars.get('Gini', 0)[-1]=0.6572\n", + "Condition not met at step 166. No data to save.\n", "166\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 167. No data to save.\n", "167\n", + "model_vars.get('Gini', 0)[-1]=0.654\n", + "Condition not met at step 168. No data to save.\n", "168\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 169. No data to save.\n", "169\n", + "model_vars.get('Gini', 0)[-1]=0.6736\n", + "Condition not met at step 170. No data to save.\n", "170\n", + "model_vars.get('Gini', 0)[-1]=0.6346\n", + "Condition not met at step 171. No data to save.\n", "171\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 172. No data to save.\n", "172\n", + "model_vars.get('Gini', 0)[-1]=0.6556\n", + "Condition not met at step 173. No data to save.\n", "173\n", + "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", + "Condition not met at step 174. No data to save.\n", "174\n", + "model_vars.get('Gini', 0)[-1]=0.6742\n", + "Condition not met at step 175. No data to save.\n", "175\n", + "model_vars.get('Gini', 0)[-1]=0.6722\n", + "Condition not met at step 176. No data to save.\n", "176\n", + "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", + "Condition not met at step 177. No data to save.\n", "177\n", + "model_vars.get('Gini', 0)[-1]=0.6876\n", + "Condition not met at step 178. No data to save.\n", "178\n", + "model_vars.get('Gini', 0)[-1]=0.6776\n", + "Condition not met at step 179. No data to save.\n", "179\n", + "model_vars.get('Gini', 0)[-1]=0.706\n", + "Condition met. Appended special results for step 180 to test_path/special_results.parquet\n", "180\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 181. No data to save.\n", "181\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 182. No data to save.\n", "182\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 183. No data to save.\n", "183\n", + "model_vars.get('Gini', 0)[-1]=0.6492\n", + "Condition not met at step 184. No data to save.\n", "184\n", + "model_vars.get('Gini', 0)[-1]=0.6374\n", + "Condition not met at step 185. No data to save.\n", "185\n", + "model_vars.get('Gini', 0)[-1]=0.6366\n", + "Condition not met at step 186. No data to save.\n", "186\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 187. No data to save.\n", "187\n", + "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", + "Condition not met at step 188. No data to save.\n", "188\n", + "model_vars.get('Gini', 0)[-1]=0.6562\n", + "Condition not met at step 189. No data to save.\n", "189\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 190. No data to save.\n", "190\n", + "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", + "Condition not met at step 191. No data to save.\n", "191\n", + "model_vars.get('Gini', 0)[-1]=0.5978\n", + "Condition not met at step 192. No data to save.\n", "192\n", + "model_vars.get('Gini', 0)[-1]=0.6194\n", + "Condition not met at step 193. No data to save.\n", "193\n", + "model_vars.get('Gini', 0)[-1]=0.6195999999999999\n", + "Condition not met at step 194. No data to save.\n", "194\n", + "model_vars.get('Gini', 0)[-1]=0.6144000000000001\n", + "Condition not met at step 195. No data to save.\n", "195\n", + "model_vars.get('Gini', 0)[-1]=0.6086\n", + "Condition not met at step 196. No data to save.\n", "196\n", + "model_vars.get('Gini', 0)[-1]=0.6013999999999999\n", + "Condition not met at step 197. No data to save.\n", "197\n", + "model_vars.get('Gini', 0)[-1]=0.613\n", + "Condition not met at step 198. No data to save.\n", "198\n", + "model_vars.get('Gini', 0)[-1]=0.6184000000000001\n", + "Condition not met at step 199. No data to save.\n", "199\n", "CALLED\n", "self.model._steps=200\n", " TEST self.model._steps=200\n", " TEST self._cache_interval=100\n", " Gini\n", - "100 0.6794\n", - "101 0.6842\n", - "102 0.6756\n", - "103 0.6532\n", - "104 0.6452\n", + "100 0.6650\n", + "101 0.6506\n", + "102 0.6734\n", + "103 0.6656\n", + "104 0.6450\n", ".. ...\n", - "195 0.6662\n", - "196 0.6802\n", - "197 0.6730\n", - "198 0.6922\n", - "199 0.6740\n", + "195 0.6086\n", + "196 0.6014\n", + "197 0.6130\n", + "198 0.6184\n", + "199 0.6284\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_002.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_002.parquet'\n", - "Saving model to output_dir/model_data_002.parquet\n", - "Saving agent to output_dir/agent_data_002.parquet\n", + "model_file='test_path/model_data_002.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_002.parquet'\n", + "Saving model to test_path/model_data_002.parquet\n", + "Saving agent to test_path/agent_data_002.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", + "Condition not met at step 200. No data to save.\n", "200\n", + "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", + "Condition not met at step 201. No data to save.\n", "201\n", + "model_vars.get('Gini', 0)[-1]=0.6086\n", + "Condition not met at step 202. No data to save.\n", "202\n", + "model_vars.get('Gini', 0)[-1]=0.625\n", + "Condition not met at step 203. No data to save.\n", "203\n", + "model_vars.get('Gini', 0)[-1]=0.606\n", + "Condition not met at step 204. No data to save.\n", "204\n", + "model_vars.get('Gini', 0)[-1]=0.624\n", + "Condition not met at step 205. No data to save.\n", "205\n", + "model_vars.get('Gini', 0)[-1]=0.6388\n", + "Condition not met at step 206. No data to save.\n", "206\n", + "model_vars.get('Gini', 0)[-1]=0.6158\n", + "Condition not met at step 207. No data to save.\n", "207\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 208. No data to save.\n", "208\n", + "model_vars.get('Gini', 0)[-1]=0.6494\n", + "Condition not met at step 209. No data to save.\n", "209\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 210. No data to save.\n", "210\n", + "model_vars.get('Gini', 0)[-1]=0.6358\n", + "Condition not met at step 211. No data to save.\n", "211\n", + "model_vars.get('Gini', 0)[-1]=0.6328\n", + "Condition not met at step 212. No data to save.\n", "212\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 213. No data to save.\n", "213\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 214. No data to save.\n", "214\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 215. No data to save.\n", "215\n", + "model_vars.get('Gini', 0)[-1]=0.6456\n", + "Condition not met at step 216. No data to save.\n", "216\n", + "model_vars.get('Gini', 0)[-1]=0.6358\n", + "Condition not met at step 217. No data to save.\n", "217\n", + "model_vars.get('Gini', 0)[-1]=0.642\n", + "Condition not met at step 218. No data to save.\n", "218\n", + "model_vars.get('Gini', 0)[-1]=0.659\n", + "Condition not met at step 219. No data to save.\n", "219\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 220. No data to save.\n", "220\n", + "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "Condition not met at step 221. No data to save.\n", "221\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 222. No data to save.\n", "222\n", + "model_vars.get('Gini', 0)[-1]=0.6584\n", + "Condition not met at step 223. No data to save.\n", "223\n", + "model_vars.get('Gini', 0)[-1]=0.663\n", + "Condition not met at step 224. No data to save.\n", "224\n", + "model_vars.get('Gini', 0)[-1]=0.6312\n", + "Condition not met at step 225. No data to save.\n", "225\n", + "model_vars.get('Gini', 0)[-1]=0.6215999999999999\n", + "Condition not met at step 226. No data to save.\n", "226\n", + "model_vars.get('Gini', 0)[-1]=0.5973999999999999\n", + "Condition not met at step 227. No data to save.\n", "227\n", + "model_vars.get('Gini', 0)[-1]=0.623\n", + "Condition not met at step 228. No data to save.\n", "228\n", + "model_vars.get('Gini', 0)[-1]=0.6532\n", + "Condition not met at step 229. No data to save.\n", "229\n", + "model_vars.get('Gini', 0)[-1]=0.6502\n", + "Condition not met at step 230. No data to save.\n", "230\n", + "model_vars.get('Gini', 0)[-1]=0.654\n", + "Condition not met at step 231. No data to save.\n", "231\n", + "model_vars.get('Gini', 0)[-1]=0.6608\n", + "Condition not met at step 232. No data to save.\n", "232\n", + "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", + "Condition not met at step 233. No data to save.\n", "233\n", + "model_vars.get('Gini', 0)[-1]=0.6344000000000001\n", + "Condition not met at step 234. No data to save.\n", "234\n", + "model_vars.get('Gini', 0)[-1]=0.6374\n", + "Condition not met at step 235. No data to save.\n", "235\n", + "model_vars.get('Gini', 0)[-1]=0.621\n", + "Condition not met at step 236. No data to save.\n", "236\n", + "model_vars.get('Gini', 0)[-1]=0.6282000000000001\n", + "Condition not met at step 237. No data to save.\n", "237\n", + "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", + "Condition not met at step 238. No data to save.\n", "238\n", + "model_vars.get('Gini', 0)[-1]=0.6166\n", + "Condition not met at step 239. No data to save.\n", "239\n", + "model_vars.get('Gini', 0)[-1]=0.6033999999999999\n", + "Condition not met at step 240. No data to save.\n", "240\n", + "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", + "Condition not met at step 241. No data to save.\n", "241\n", + "model_vars.get('Gini', 0)[-1]=0.5998\n", + "Condition not met at step 242. No data to save.\n", "242\n", + "model_vars.get('Gini', 0)[-1]=0.6292\n", + "Condition not met at step 243. No data to save.\n", "243\n", + "model_vars.get('Gini', 0)[-1]=0.6394\n", + "Condition not met at step 244. No data to save.\n", "244\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 245. No data to save.\n", "245\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 246. No data to save.\n", "246\n", + "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", + "Condition not met at step 247. No data to save.\n", "247\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 248. No data to save.\n", "248\n", + "model_vars.get('Gini', 0)[-1]=0.683\n", + "Condition not met at step 249. No data to save.\n", "249\n", + "model_vars.get('Gini', 0)[-1]=0.679\n", + "Condition not met at step 250. No data to save.\n", "250\n", + "model_vars.get('Gini', 0)[-1]=0.6862\n", + "Condition not met at step 251. No data to save.\n", "251\n", + "model_vars.get('Gini', 0)[-1]=0.6882\n", + "Condition not met at step 252. No data to save.\n", "252\n", + "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", + "Condition not met at step 253. No data to save.\n", "253\n", + "model_vars.get('Gini', 0)[-1]=0.6978\n", + "Condition not met at step 254. No data to save.\n", "254\n", + "model_vars.get('Gini', 0)[-1]=0.6836\n", + "Condition not met at step 255. No data to save.\n", "255\n", + "model_vars.get('Gini', 0)[-1]=0.6996\n", + "Condition not met at step 256. No data to save.\n", "256\n", + "model_vars.get('Gini', 0)[-1]=0.6984\n", + "Condition not met at step 257. No data to save.\n", "257\n", + "model_vars.get('Gini', 0)[-1]=0.6950000000000001\n", + "Condition not met at step 258. No data to save.\n", "258\n", + "model_vars.get('Gini', 0)[-1]=0.6904\n", + "Condition not met at step 259. No data to save.\n", "259\n", + "model_vars.get('Gini', 0)[-1]=0.6964\n", + "Condition not met at step 260. No data to save.\n", "260\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 261. No data to save.\n", "261\n", + "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", + "Condition not met at step 262. No data to save.\n", "262\n", + "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", + "Condition not met at step 263. No data to save.\n", "263\n", + "model_vars.get('Gini', 0)[-1]=0.6692\n", + "Condition not met at step 264. No data to save.\n", "264\n", + "model_vars.get('Gini', 0)[-1]=0.7076\n", + "Condition met. Appended special results for step 265 to test_path/special_results.parquet\n", "265\n", + "model_vars.get('Gini', 0)[-1]=0.6912\n", + "Condition not met at step 266. No data to save.\n", "266\n", + "model_vars.get('Gini', 0)[-1]=0.6754\n", + "Condition not met at step 267. No data to save.\n", "267\n", + "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", + "Condition not met at step 268. No data to save.\n", "268\n", + "model_vars.get('Gini', 0)[-1]=0.6376\n", + "Condition not met at step 269. No data to save.\n", "269\n", + "model_vars.get('Gini', 0)[-1]=0.6392\n", + "Condition not met at step 270. No data to save.\n", "270\n", + "model_vars.get('Gini', 0)[-1]=0.6476\n", + "Condition not met at step 271. No data to save.\n", "271\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 272. No data to save.\n", "272\n", + "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", + "Condition not met at step 273. No data to save.\n", "273\n", + "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", + "Condition not met at step 274. No data to save.\n", "274\n", + "model_vars.get('Gini', 0)[-1]=0.6338\n", + "Condition not met at step 275. No data to save.\n", "275\n", + "model_vars.get('Gini', 0)[-1]=0.6106\n", + "Condition not met at step 276. No data to save.\n", "276\n", + "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", + "Condition not met at step 277. No data to save.\n", "277\n", + "model_vars.get('Gini', 0)[-1]=0.627\n", + "Condition not met at step 278. No data to save.\n", "278\n", + "model_vars.get('Gini', 0)[-1]=0.622\n", + "Condition not met at step 279. No data to save.\n", "279\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 280. No data to save.\n", "280\n", + "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", + "Condition not met at step 281. No data to save.\n", "281\n", + "model_vars.get('Gini', 0)[-1]=0.6592\n", + "Condition not met at step 282. No data to save.\n", "282\n", + "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "Condition not met at step 283. No data to save.\n", "283\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 284. No data to save.\n", "284\n", + "model_vars.get('Gini', 0)[-1]=0.6572\n", + "Condition not met at step 285. No data to save.\n", "285\n", + "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", + "Condition not met at step 286. No data to save.\n", "286\n", + "model_vars.get('Gini', 0)[-1]=0.6722\n", + "Condition not met at step 287. No data to save.\n", "287\n", + "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", + "Condition not met at step 288. No data to save.\n", "288\n", + "model_vars.get('Gini', 0)[-1]=0.6716\n", + "Condition not met at step 289. No data to save.\n", "289\n", + "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", + "Condition not met at step 290. No data to save.\n", "290\n", + "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", + "Condition not met at step 291. No data to save.\n", "291\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 292. No data to save.\n", "292\n", + "model_vars.get('Gini', 0)[-1]=0.6696\n", + "Condition not met at step 293. No data to save.\n", "293\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 294. No data to save.\n", "294\n", + "model_vars.get('Gini', 0)[-1]=0.64\n", + "Condition not met at step 295. No data to save.\n", "295\n", + "model_vars.get('Gini', 0)[-1]=0.6338\n", + "Condition not met at step 296. No data to save.\n", "296\n", + "model_vars.get('Gini', 0)[-1]=0.642\n", + "Condition not met at step 297. No data to save.\n", "297\n", + "model_vars.get('Gini', 0)[-1]=0.6716\n", + "Condition not met at step 298. No data to save.\n", "298\n", + "model_vars.get('Gini', 0)[-1]=0.6904\n", + "Condition not met at step 299. No data to save.\n", "299\n", "CALLED\n", "self.model._steps=300\n", " TEST self.model._steps=300\n", " TEST self._cache_interval=100\n", " Gini\n", - "200 0.6700\n", - "201 0.7024\n", - "202 0.7048\n", - "203 0.7060\n", - "204 0.7140\n", + "200 0.6256\n", + "201 0.6086\n", + "202 0.6250\n", + "203 0.6060\n", + "204 0.6240\n", ".. ...\n", - "295 0.6354\n", - "296 0.6508\n", - "297 0.6608\n", - "298 0.6710\n", - "299 0.6758\n", + "295 0.6338\n", + "296 0.6420\n", + "297 0.6716\n", + "298 0.6904\n", + "299 0.6808\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_003.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_003.parquet'\n", - "Saving model to output_dir/model_data_003.parquet\n", - "Saving agent to output_dir/agent_data_003.parquet\n", + "model_file='test_path/model_data_003.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_003.parquet'\n", + "Saving model to test_path/model_data_003.parquet\n", + "Saving agent to test_path/agent_data_003.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "Condition not met at step 300. No data to save.\n", "300\n", + "model_vars.get('Gini', 0)[-1]=0.6764\n", + "Condition not met at step 301. No data to save.\n", "301\n", + "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", + "Condition not met at step 302. No data to save.\n", "302\n", + "model_vars.get('Gini', 0)[-1]=0.6702\n", + "Condition not met at step 303. No data to save.\n", "303\n", + "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", + "Condition not met at step 304. No data to save.\n", "304\n", + "model_vars.get('Gini', 0)[-1]=0.6638\n", + "Condition not met at step 305. No data to save.\n", "305\n", + "model_vars.get('Gini', 0)[-1]=0.664\n", + "Condition not met at step 306. No data to save.\n", "306\n", + "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", + "Condition not met at step 307. No data to save.\n", "307\n", + "model_vars.get('Gini', 0)[-1]=0.6792\n", + "Condition not met at step 308. No data to save.\n", "308\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 309. No data to save.\n", "309\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 310. No data to save.\n", "310\n", + "model_vars.get('Gini', 0)[-1]=0.648\n", + "Condition not met at step 311. No data to save.\n", "311\n", + "model_vars.get('Gini', 0)[-1]=0.6332\n", + "Condition not met at step 312. No data to save.\n", "312\n", + "model_vars.get('Gini', 0)[-1]=0.6235999999999999\n", + "Condition not met at step 313. No data to save.\n", "313\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 314. No data to save.\n", "314\n", + "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", + "Condition not met at step 315. No data to save.\n", "315\n", + "model_vars.get('Gini', 0)[-1]=0.612\n", + "Condition not met at step 316. No data to save.\n", "316\n", + "model_vars.get('Gini', 0)[-1]=0.626\n", + "Condition not met at step 317. No data to save.\n", "317\n", + "model_vars.get('Gini', 0)[-1]=0.631\n", + "Condition not met at step 318. No data to save.\n", "318\n", + "model_vars.get('Gini', 0)[-1]=0.632\n", + "Condition not met at step 319. No data to save.\n", "319\n", + "model_vars.get('Gini', 0)[-1]=0.6266\n", + "Condition not met at step 320. No data to save.\n", "320\n", + "model_vars.get('Gini', 0)[-1]=0.6248\n", + "Condition not met at step 321. No data to save.\n", "321\n", + "model_vars.get('Gini', 0)[-1]=0.6656\n", + "Condition not met at step 322. No data to save.\n", "322\n", + "model_vars.get('Gini', 0)[-1]=0.6554\n", + "Condition not met at step 323. No data to save.\n", "323\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 324. No data to save.\n", "324\n", + "model_vars.get('Gini', 0)[-1]=0.6474\n", + "Condition not met at step 325. No data to save.\n", "325\n", + "model_vars.get('Gini', 0)[-1]=0.657\n", + "Condition not met at step 326. No data to save.\n", "326\n", + "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", + "Condition not met at step 327. No data to save.\n", "327\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 328. No data to save.\n", "328\n", + "model_vars.get('Gini', 0)[-1]=0.6694\n", + "Condition not met at step 329. No data to save.\n", "329\n", + "model_vars.get('Gini', 0)[-1]=0.6802\n", + "Condition not met at step 330. No data to save.\n", "330\n", + "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", + "Condition not met at step 331. No data to save.\n", "331\n", + "model_vars.get('Gini', 0)[-1]=0.638\n", + "Condition not met at step 332. No data to save.\n", "332\n", + "model_vars.get('Gini', 0)[-1]=0.6674\n", + "Condition not met at step 333. No data to save.\n", "333\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 334. No data to save.\n", "334\n", + "model_vars.get('Gini', 0)[-1]=0.666\n", + "Condition not met at step 335. No data to save.\n", "335\n", + "model_vars.get('Gini', 0)[-1]=0.6736\n", + "Condition not met at step 336. No data to save.\n", "336\n", + "model_vars.get('Gini', 0)[-1]=0.6842\n", + "Condition not met at step 337. No data to save.\n", "337\n", + "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", + "Condition not met at step 338. No data to save.\n", "338\n", + "model_vars.get('Gini', 0)[-1]=0.651\n", + "Condition not met at step 339. No data to save.\n", "339\n", + "model_vars.get('Gini', 0)[-1]=0.659\n", + "Condition not met at step 340. No data to save.\n", "340\n", + "model_vars.get('Gini', 0)[-1]=0.6654\n", + "Condition not met at step 341. No data to save.\n", "341\n", + "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", + "Condition not met at step 342. No data to save.\n", "342\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 343. No data to save.\n", "343\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 344. No data to save.\n", "344\n", + "model_vars.get('Gini', 0)[-1]=0.6584\n", + "Condition not met at step 345. No data to save.\n", "345\n", + "model_vars.get('Gini', 0)[-1]=0.6572\n", + "Condition not met at step 346. No data to save.\n", "346\n", + "model_vars.get('Gini', 0)[-1]=0.6436\n", + "Condition not met at step 347. No data to save.\n", "347\n", + "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", + "Condition not met at step 348. No data to save.\n", "348\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 349. No data to save.\n", "349\n", + "model_vars.get('Gini', 0)[-1]=0.6806\n", + "Condition not met at step 350. No data to save.\n", "350\n", + "model_vars.get('Gini', 0)[-1]=0.6918\n", + "Condition not met at step 351. No data to save.\n", "351\n", + "model_vars.get('Gini', 0)[-1]=0.6842\n", + "Condition not met at step 352. No data to save.\n", "352\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 353. No data to save.\n", "353\n", + "model_vars.get('Gini', 0)[-1]=0.6476\n", + "Condition not met at step 354. No data to save.\n", "354\n", + "model_vars.get('Gini', 0)[-1]=0.645\n", + "Condition not met at step 355. No data to save.\n", "355\n", + "model_vars.get('Gini', 0)[-1]=0.615\n", + "Condition not met at step 356. No data to save.\n", "356\n", + "model_vars.get('Gini', 0)[-1]=0.6254\n", + "Condition not met at step 357. No data to save.\n", "357\n", + "model_vars.get('Gini', 0)[-1]=0.6093999999999999\n", + "Condition not met at step 358. No data to save.\n", "358\n", + "model_vars.get('Gini', 0)[-1]=0.601\n", + "Condition not met at step 359. No data to save.\n", "359\n", + "model_vars.get('Gini', 0)[-1]=0.5958\n", + "Condition not met at step 360. No data to save.\n", "360\n", + "model_vars.get('Gini', 0)[-1]=0.6116\n", + "Condition not met at step 361. No data to save.\n", "361\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 362. No data to save.\n", "362\n", + "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", + "Condition not met at step 363. No data to save.\n", "363\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 364. No data to save.\n", "364\n", + "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", + "Condition not met at step 365. No data to save.\n", "365\n", + "model_vars.get('Gini', 0)[-1]=0.7064\n", + "Condition met. Appended special results for step 366 to test_path/special_results.parquet\n", "366\n", + "model_vars.get('Gini', 0)[-1]=0.6936\n", + "Condition not met at step 367. No data to save.\n", "367\n", + "model_vars.get('Gini', 0)[-1]=0.685\n", + "Condition not met at step 368. No data to save.\n", "368\n", + "model_vars.get('Gini', 0)[-1]=0.7116\n", + "Condition met. Appended special results for step 369 to test_path/special_results.parquet\n", "369\n", + "model_vars.get('Gini', 0)[-1]=0.708\n", + "Condition met. Appended special results for step 370 to test_path/special_results.parquet\n", "370\n", + "model_vars.get('Gini', 0)[-1]=0.6938\n", + "Condition not met at step 371. No data to save.\n", "371\n", + "model_vars.get('Gini', 0)[-1]=0.6912\n", + "Condition not met at step 372. No data to save.\n", "372\n", + "model_vars.get('Gini', 0)[-1]=0.6914\n", + "Condition not met at step 373. No data to save.\n", "373\n", + "model_vars.get('Gini', 0)[-1]=0.7058\n", + "Condition met. Appended special results for step 374 to test_path/special_results.parquet\n", "374\n", + "model_vars.get('Gini', 0)[-1]=0.6928000000000001\n", + "Condition not met at step 375. No data to save.\n", "375\n", + "model_vars.get('Gini', 0)[-1]=0.6916\n", + "Condition not met at step 376. No data to save.\n", "376\n", + "model_vars.get('Gini', 0)[-1]=0.6926\n", + "Condition not met at step 377. No data to save.\n", "377\n", + "model_vars.get('Gini', 0)[-1]=0.6916\n", + "Condition not met at step 378. No data to save.\n", "378\n", + "model_vars.get('Gini', 0)[-1]=0.7114\n", + "Condition met. Appended special results for step 379 to test_path/special_results.parquet\n", "379\n", + "model_vars.get('Gini', 0)[-1]=0.7052\n", + "Condition met. Appended special results for step 380 to test_path/special_results.parquet\n", "380\n", + "model_vars.get('Gini', 0)[-1]=0.6968000000000001\n", + "Condition not met at step 381. No data to save.\n", "381\n", + "model_vars.get('Gini', 0)[-1]=0.6576\n", + "Condition not met at step 382. No data to save.\n", "382\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 383. No data to save.\n", "383\n", + "model_vars.get('Gini', 0)[-1]=0.6342\n", + "Condition not met at step 384. No data to save.\n", "384\n", + "model_vars.get('Gini', 0)[-1]=0.615\n", + "Condition not met at step 385. No data to save.\n", "385\n", + "model_vars.get('Gini', 0)[-1]=0.6298\n", + "Condition not met at step 386. No data to save.\n", "386\n", + "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", + "Condition not met at step 387. No data to save.\n", "387\n", + "model_vars.get('Gini', 0)[-1]=0.5982000000000001\n", + "Condition not met at step 388. No data to save.\n", "388\n", + "model_vars.get('Gini', 0)[-1]=0.6122000000000001\n", + "Condition not met at step 389. No data to save.\n", "389\n", + "model_vars.get('Gini', 0)[-1]=0.6398\n", + "Condition not met at step 390. No data to save.\n", "390\n", + "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", + "Condition not met at step 391. No data to save.\n", "391\n", + "model_vars.get('Gini', 0)[-1]=0.6258\n", + "Condition not met at step 392. No data to save.\n", "392\n", + "model_vars.get('Gini', 0)[-1]=0.6372\n", + "Condition not met at step 393. No data to save.\n", "393\n", + "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", + "Condition not met at step 394. No data to save.\n", "394\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 395. No data to save.\n", "395\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 396. No data to save.\n", "396\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 397. No data to save.\n", "397\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 398. No data to save.\n", "398\n", + "model_vars.get('Gini', 0)[-1]=0.6556\n", + "Condition not met at step 399. No data to save.\n", "399\n", "CALLED\n", "self.model._steps=400\n", " TEST self.model._steps=400\n", " TEST self._cache_interval=100\n", " Gini\n", - "300 0.6624\n", - "301 0.6698\n", - "302 0.6680\n", - "303 0.6694\n", - "304 0.6552\n", + "300 0.6764\n", + "301 0.6888\n", + "302 0.6702\n", + "303 0.6726\n", + "304 0.6638\n", ".. ...\n", - "395 0.7076\n", - "396 0.7040\n", - "397 0.6994\n", - "398 0.6720\n", - "399 0.6754\n", + "395 0.6800\n", + "396 0.6448\n", + "397 0.6418\n", + "398 0.6556\n", + "399 0.6790\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_004.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_004.parquet'\n", - "Saving model to output_dir/model_data_004.parquet\n", - "Saving agent to output_dir/agent_data_004.parquet\n", + "model_file='test_path/model_data_004.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_004.parquet'\n", + "Saving model to test_path/model_data_004.parquet\n", + "Saving agent to test_path/agent_data_004.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.679\n", + "Condition not met at step 400. No data to save.\n", "400\n", + "model_vars.get('Gini', 0)[-1]=0.6890000000000001\n", + "Condition not met at step 401. No data to save.\n", "401\n", + "model_vars.get('Gini', 0)[-1]=0.6862\n", + "Condition not met at step 402. No data to save.\n", "402\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 403. No data to save.\n", "403\n", + "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", + "Condition not met at step 404. No data to save.\n", "404\n", + "model_vars.get('Gini', 0)[-1]=0.6194\n", + "Condition not met at step 405. No data to save.\n", "405\n", + "model_vars.get('Gini', 0)[-1]=0.6532\n", + "Condition not met at step 406. No data to save.\n", "406\n", + "model_vars.get('Gini', 0)[-1]=0.6784\n", + "Condition not met at step 407. No data to save.\n", "407\n", + "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", + "Condition not met at step 408. No data to save.\n", "408\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 409. No data to save.\n", "409\n", + "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", + "Condition not met at step 410. No data to save.\n", "410\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 411. No data to save.\n", "411\n", + "model_vars.get('Gini', 0)[-1]=0.627\n", + "Condition not met at step 412. No data to save.\n", "412\n", + "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", + "Condition not met at step 413. No data to save.\n", "413\n", + "model_vars.get('Gini', 0)[-1]=0.6168\n", + "Condition not met at step 414. No data to save.\n", "414\n", + "model_vars.get('Gini', 0)[-1]=0.6318\n", + "Condition not met at step 415. No data to save.\n", "415\n", + "model_vars.get('Gini', 0)[-1]=0.6318\n", + "Condition not met at step 416. No data to save.\n", "416\n", + "model_vars.get('Gini', 0)[-1]=0.6422\n", + "Condition not met at step 417. No data to save.\n", "417\n", + "model_vars.get('Gini', 0)[-1]=0.609\n", + "Condition not met at step 418. No data to save.\n", "418\n", + "model_vars.get('Gini', 0)[-1]=0.5594\n", + "Condition not met at step 419. No data to save.\n", "419\n", + "model_vars.get('Gini', 0)[-1]=0.577\n", + "Condition not met at step 420. No data to save.\n", "420\n", + "model_vars.get('Gini', 0)[-1]=0.5862\n", + "Condition not met at step 421. No data to save.\n", "421\n", + "model_vars.get('Gini', 0)[-1]=0.5842\n", + "Condition not met at step 422. No data to save.\n", "422\n", + "model_vars.get('Gini', 0)[-1]=0.5722\n", + "Condition not met at step 423. No data to save.\n", "423\n", + "model_vars.get('Gini', 0)[-1]=0.5756\n", + "Condition not met at step 424. No data to save.\n", "424\n", + "model_vars.get('Gini', 0)[-1]=0.625\n", + "Condition not met at step 425. No data to save.\n", "425\n", + "model_vars.get('Gini', 0)[-1]=0.6556\n", + "Condition not met at step 426. No data to save.\n", "426\n", + "model_vars.get('Gini', 0)[-1]=0.62\n", + "Condition not met at step 427. No data to save.\n", "427\n", + "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", + "Condition not met at step 428. No data to save.\n", "428\n", + "model_vars.get('Gini', 0)[-1]=0.6086\n", + "Condition not met at step 429. No data to save.\n", "429\n", + "model_vars.get('Gini', 0)[-1]=0.622\n", + "Condition not met at step 430. No data to save.\n", "430\n", + "model_vars.get('Gini', 0)[-1]=0.664\n", + "Condition not met at step 431. No data to save.\n", "431\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 432. No data to save.\n", "432\n", + "model_vars.get('Gini', 0)[-1]=0.6398\n", + "Condition not met at step 433. No data to save.\n", "433\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 434. No data to save.\n", "434\n", + "model_vars.get('Gini', 0)[-1]=0.663\n", + "Condition not met at step 435. No data to save.\n", "435\n", + "model_vars.get('Gini', 0)[-1]=0.655\n", + "Condition not met at step 436. No data to save.\n", "436\n", + "model_vars.get('Gini', 0)[-1]=0.6812\n", + "Condition not met at step 437. No data to save.\n", "437\n", + "model_vars.get('Gini', 0)[-1]=0.6436\n", + "Condition not met at step 438. No data to save.\n", "438\n", + "model_vars.get('Gini', 0)[-1]=0.6594\n", + "Condition not met at step 439. No data to save.\n", "439\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 440. No data to save.\n", "440\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 441. No data to save.\n", "441\n", + "model_vars.get('Gini', 0)[-1]=0.6794\n", + "Condition not met at step 442. No data to save.\n", "442\n", + "model_vars.get('Gini', 0)[-1]=0.6924\n", + "Condition not met at step 443. No data to save.\n", "443\n", + "model_vars.get('Gini', 0)[-1]=0.7192000000000001\n", + "Condition met. Appended special results for step 444 to test_path/special_results.parquet\n", "444\n", + "model_vars.get('Gini', 0)[-1]=0.7183999999999999\n", + "Condition met. Appended special results for step 445 to test_path/special_results.parquet\n", "445\n", + "model_vars.get('Gini', 0)[-1]=0.7298\n", + "Condition met. Appended special results for step 446 to test_path/special_results.parquet\n", "446\n", + "model_vars.get('Gini', 0)[-1]=0.7202\n", + "Condition met. Appended special results for step 447 to test_path/special_results.parquet\n", "447\n", + "model_vars.get('Gini', 0)[-1]=0.6868000000000001\n", + "Condition not met at step 448. No data to save.\n", "448\n", + "model_vars.get('Gini', 0)[-1]=0.6944\n", + "Condition not met at step 449. No data to save.\n", "449\n", + "model_vars.get('Gini', 0)[-1]=0.6902\n", + "Condition not met at step 450. No data to save.\n", "450\n", + "model_vars.get('Gini', 0)[-1]=0.6698\n", + "Condition not met at step 451. No data to save.\n", "451\n", + "model_vars.get('Gini', 0)[-1]=0.6742\n", + "Condition not met at step 452. No data to save.\n", "452\n", + "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", + "Condition not met at step 453. No data to save.\n", "453\n", + "model_vars.get('Gini', 0)[-1]=0.7101999999999999\n", + "Condition met. Appended special results for step 454 to test_path/special_results.parquet\n", "454\n", + "model_vars.get('Gini', 0)[-1]=0.7146\n", + "Condition met. Appended special results for step 455 to test_path/special_results.parquet\n", "455\n", + "model_vars.get('Gini', 0)[-1]=0.6864\n", + "Condition not met at step 456. No data to save.\n", "456\n", + "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", + "Condition not met at step 457. No data to save.\n", "457\n", + "model_vars.get('Gini', 0)[-1]=0.6744\n", + "Condition not met at step 458. No data to save.\n", "458\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 459. No data to save.\n", "459\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 460. No data to save.\n", "460\n", + "model_vars.get('Gini', 0)[-1]=0.6928000000000001\n", + "Condition not met at step 461. No data to save.\n", "461\n", + "model_vars.get('Gini', 0)[-1]=0.7168\n", + "Condition met. Appended special results for step 462 to test_path/special_results.parquet\n", "462\n", + "model_vars.get('Gini', 0)[-1]=0.7326\n", + "Condition met. Appended special results for step 463 to test_path/special_results.parquet\n", "463\n", + "model_vars.get('Gini', 0)[-1]=0.7286\n", + "Condition met. Appended special results for step 464 to test_path/special_results.parquet\n", "464\n", + "model_vars.get('Gini', 0)[-1]=0.7270000000000001\n", + "Condition met. Appended special results for step 465 to test_path/special_results.parquet\n", "465\n", + "model_vars.get('Gini', 0)[-1]=0.7182\n", + "Condition met. Appended special results for step 466 to test_path/special_results.parquet\n", "466\n", + "model_vars.get('Gini', 0)[-1]=0.7226\n", + "Condition met. Appended special results for step 467 to test_path/special_results.parquet\n", "467\n", + "model_vars.get('Gini', 0)[-1]=0.7472000000000001\n", + "Condition met. Appended special results for step 468 to test_path/special_results.parquet\n", "468\n", + "model_vars.get('Gini', 0)[-1]=0.7326\n", + "Condition met. Appended special results for step 469 to test_path/special_results.parquet\n", "469\n", + "model_vars.get('Gini', 0)[-1]=0.746\n", + "Condition met. Appended special results for step 470 to test_path/special_results.parquet\n", "470\n", + "model_vars.get('Gini', 0)[-1]=0.7574000000000001\n", + "Condition met. Appended special results for step 471 to test_path/special_results.parquet\n", "471\n", + "model_vars.get('Gini', 0)[-1]=0.7532000000000001\n", + "Condition met. Appended special results for step 472 to test_path/special_results.parquet\n", "472\n", + "model_vars.get('Gini', 0)[-1]=0.745\n", + "Condition met. Appended special results for step 473 to test_path/special_results.parquet\n", "473\n", + "model_vars.get('Gini', 0)[-1]=0.7472000000000001\n", + "Condition met. Appended special results for step 474 to test_path/special_results.parquet\n", "474\n", + "model_vars.get('Gini', 0)[-1]=0.7332000000000001\n", + "Condition met. Appended special results for step 475 to test_path/special_results.parquet\n", "475\n", + "model_vars.get('Gini', 0)[-1]=0.7425999999999999\n", + "Condition met. Appended special results for step 476 to test_path/special_results.parquet\n", "476\n", + "model_vars.get('Gini', 0)[-1]=0.7256\n", + "Condition met. Appended special results for step 477 to test_path/special_results.parquet\n", "477\n", + "model_vars.get('Gini', 0)[-1]=0.7432000000000001\n", + "Condition met. Appended special results for step 478 to test_path/special_results.parquet\n", "478\n", + "model_vars.get('Gini', 0)[-1]=0.7074\n", + "Condition met. Appended special results for step 479 to test_path/special_results.parquet\n", "479\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 480. No data to save.\n", "480\n", + "model_vars.get('Gini', 0)[-1]=0.6674\n", + "Condition not met at step 481. No data to save.\n", "481\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 482. No data to save.\n", "482\n", + "model_vars.get('Gini', 0)[-1]=0.6738\n", + "Condition not met at step 483. No data to save.\n", "483\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 484. No data to save.\n", "484\n", + "model_vars.get('Gini', 0)[-1]=0.6772\n", + "Condition not met at step 485. No data to save.\n", "485\n", + "model_vars.get('Gini', 0)[-1]=0.6716\n", + "Condition not met at step 486. No data to save.\n", "486\n", + "model_vars.get('Gini', 0)[-1]=0.6698\n", + "Condition not met at step 487. No data to save.\n", "487\n", + "model_vars.get('Gini', 0)[-1]=0.6488\n", + "Condition not met at step 488. No data to save.\n", "488\n", + "model_vars.get('Gini', 0)[-1]=0.6354\n", + "Condition not met at step 489. No data to save.\n", "489\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 490. No data to save.\n", "490\n", + "model_vars.get('Gini', 0)[-1]=0.6594\n", + "Condition not met at step 491. No data to save.\n", "491\n", + "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", + "Condition not met at step 492. No data to save.\n", "492\n", + "model_vars.get('Gini', 0)[-1]=0.6874\n", + "Condition not met at step 493. No data to save.\n", "493\n", + "model_vars.get('Gini', 0)[-1]=0.7092\n", + "Condition met. Appended special results for step 494 to test_path/special_results.parquet\n", "494\n", + "model_vars.get('Gini', 0)[-1]=0.6984\n", + "Condition not met at step 495. No data to save.\n", "495\n", + "model_vars.get('Gini', 0)[-1]=0.7084\n", + "Condition met. Appended special results for step 496 to test_path/special_results.parquet\n", "496\n", + "model_vars.get('Gini', 0)[-1]=0.6936\n", + "Condition not met at step 497. No data to save.\n", "497\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 498. No data to save.\n", "498\n", + "model_vars.get('Gini', 0)[-1]=0.6916\n", + "Condition not met at step 499. No data to save.\n", "499\n", "CALLED\n", "self.model._steps=500\n", " TEST self.model._steps=500\n", " TEST self._cache_interval=100\n", " Gini\n", - "400 0.6564\n", - "401 0.6750\n", - "402 0.6640\n", - "403 0.6606\n", - "404 0.6750\n", + "400 0.6890\n", + "401 0.6862\n", + "402 0.6704\n", + "403 0.6486\n", + "404 0.6194\n", ".. ...\n", - "495 0.6998\n", - "496 0.7218\n", - "497 0.7408\n", - "498 0.7520\n", - "499 0.7272\n", + "495 0.7084\n", + "496 0.6936\n", + "497 0.6788\n", + "498 0.6916\n", + "499 0.6602\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_005.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_005.parquet'\n", - "Saving model to output_dir/model_data_005.parquet\n", - "Saving agent to output_dir/agent_data_005.parquet\n", + "model_file='test_path/model_data_005.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_005.parquet'\n", + "Saving model to test_path/model_data_005.parquet\n", + "Saving agent to test_path/agent_data_005.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 500. No data to save.\n", "500\n", + "model_vars.get('Gini', 0)[-1]=0.661\n", + "Condition not met at step 501. No data to save.\n", "501\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 502. No data to save.\n", "502\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 503. No data to save.\n", "503\n", + "model_vars.get('Gini', 0)[-1]=0.6584\n", + "Condition not met at step 504. No data to save.\n", "504\n", + "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", + "Condition not met at step 505. No data to save.\n", "505\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 506. No data to save.\n", "506\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 507. No data to save.\n", "507\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 508. No data to save.\n", "508\n", + "model_vars.get('Gini', 0)[-1]=0.6288\n", + "Condition not met at step 509. No data to save.\n", "509\n", + "model_vars.get('Gini', 0)[-1]=0.616\n", + "Condition not met at step 510. No data to save.\n", "510\n", + "model_vars.get('Gini', 0)[-1]=0.65\n", + "Condition not met at step 511. No data to save.\n", "511\n", + "model_vars.get('Gini', 0)[-1]=0.6388\n", + "Condition not met at step 512. No data to save.\n", "512\n", + "model_vars.get('Gini', 0)[-1]=0.6442\n", + "Condition not met at step 513. No data to save.\n", "513\n", + "model_vars.get('Gini', 0)[-1]=0.671\n", + "Condition not met at step 514. No data to save.\n", "514\n", + "model_vars.get('Gini', 0)[-1]=0.6472\n", + "Condition not met at step 515. No data to save.\n", "515\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 516. No data to save.\n", "516\n", + "model_vars.get('Gini', 0)[-1]=0.6782\n", + "Condition not met at step 517. No data to save.\n", "517\n", + "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", + "Condition not met at step 518. No data to save.\n", "518\n", + "model_vars.get('Gini', 0)[-1]=0.6950000000000001\n", + "Condition not met at step 519. No data to save.\n", "519\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 520. No data to save.\n", "520\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 521. No data to save.\n", "521\n", + "model_vars.get('Gini', 0)[-1]=0.6866\n", + "Condition not met at step 522. No data to save.\n", "522\n", + "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "Condition not met at step 523. No data to save.\n", "523\n", + "model_vars.get('Gini', 0)[-1]=0.6882\n", + "Condition not met at step 524. No data to save.\n", "524\n", + "model_vars.get('Gini', 0)[-1]=0.7050000000000001\n", + "Condition met. Appended special results for step 525 to test_path/special_results.parquet\n", "525\n", + "model_vars.get('Gini', 0)[-1]=0.6818\n", + "Condition not met at step 526. No data to save.\n", "526\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 527. No data to save.\n", "527\n", + "model_vars.get('Gini', 0)[-1]=0.6862\n", + "Condition not met at step 528. No data to save.\n", "528\n", + "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", + "Condition not met at step 529. No data to save.\n", "529\n", + "model_vars.get('Gini', 0)[-1]=0.6702\n", + "Condition not met at step 530. No data to save.\n", "530\n", + "model_vars.get('Gini', 0)[-1]=0.6778\n", + "Condition not met at step 531. No data to save.\n", "531\n", + "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", + "Condition not met at step 532. No data to save.\n", "532\n", + "model_vars.get('Gini', 0)[-1]=0.6776\n", + "Condition not met at step 533. No data to save.\n", "533\n", + "model_vars.get('Gini', 0)[-1]=0.6868000000000001\n", + "Condition not met at step 534. No data to save.\n", "534\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 535. No data to save.\n", "535\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 536. No data to save.\n", "536\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 537. No data to save.\n", "537\n", + "model_vars.get('Gini', 0)[-1]=0.6636\n", + "Condition not met at step 538. No data to save.\n", "538\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 539. No data to save.\n", "539\n", + "model_vars.get('Gini', 0)[-1]=0.6268\n", + "Condition not met at step 540. No data to save.\n", "540\n", + "model_vars.get('Gini', 0)[-1]=0.6328\n", + "Condition not met at step 541. No data to save.\n", "541\n", + "model_vars.get('Gini', 0)[-1]=0.649\n", + "Condition not met at step 542. No data to save.\n", "542\n", + "model_vars.get('Gini', 0)[-1]=0.6516\n", + "Condition not met at step 543. No data to save.\n", "543\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 544. No data to save.\n", "544\n", + "model_vars.get('Gini', 0)[-1]=0.6992\n", + "Condition not met at step 545. No data to save.\n", "545\n", + "model_vars.get('Gini', 0)[-1]=0.6924\n", + "Condition not met at step 546. No data to save.\n", "546\n", + "model_vars.get('Gini', 0)[-1]=0.6998\n", + "Condition not met at step 547. No data to save.\n", "547\n", + "model_vars.get('Gini', 0)[-1]=0.7034\n", + "Condition met. Appended special results for step 548 to test_path/special_results.parquet\n", "548\n", + "model_vars.get('Gini', 0)[-1]=0.687\n", + "Condition not met at step 549. No data to save.\n", "549\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 550. No data to save.\n", "550\n", + "model_vars.get('Gini', 0)[-1]=0.687\n", + "Condition not met at step 551. No data to save.\n", "551\n", + "model_vars.get('Gini', 0)[-1]=0.669\n", + "Condition not met at step 552. No data to save.\n", "552\n", + "model_vars.get('Gini', 0)[-1]=0.6796\n", + "Condition not met at step 553. No data to save.\n", "553\n", + "model_vars.get('Gini', 0)[-1]=0.683\n", + "Condition not met at step 554. No data to save.\n", "554\n", + "model_vars.get('Gini', 0)[-1]=0.6608\n", + "Condition not met at step 555. No data to save.\n", "555\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 556. No data to save.\n", "556\n", + "model_vars.get('Gini', 0)[-1]=0.6824\n", + "Condition not met at step 557. No data to save.\n", "557\n", + "model_vars.get('Gini', 0)[-1]=0.6804\n", + "Condition not met at step 558. No data to save.\n", "558\n", + "model_vars.get('Gini', 0)[-1]=0.6682\n", + "Condition not met at step 559. No data to save.\n", "559\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 560. No data to save.\n", "560\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 561. No data to save.\n", "561\n", + "model_vars.get('Gini', 0)[-1]=0.609\n", + "Condition not met at step 562. No data to save.\n", "562\n", + "model_vars.get('Gini', 0)[-1]=0.6064\n", + "Condition not met at step 563. No data to save.\n", "563\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 564. No data to save.\n", "564\n", + "model_vars.get('Gini', 0)[-1]=0.66\n", + "Condition not met at step 565. No data to save.\n", "565\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 566. No data to save.\n", "566\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 567. No data to save.\n", "567\n", + "model_vars.get('Gini', 0)[-1]=0.6492\n", + "Condition not met at step 568. No data to save.\n", "568\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 569. No data to save.\n", "569\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 570. No data to save.\n", "570\n", + "model_vars.get('Gini', 0)[-1]=0.6354\n", + "Condition not met at step 571. No data to save.\n", "571\n", + "model_vars.get('Gini', 0)[-1]=0.621\n", + "Condition not met at step 572. No data to save.\n", "572\n", + "model_vars.get('Gini', 0)[-1]=0.6318\n", + "Condition not met at step 573. No data to save.\n", "573\n", + "model_vars.get('Gini', 0)[-1]=0.6298\n", + "Condition not met at step 574. No data to save.\n", "574\n", + "model_vars.get('Gini', 0)[-1]=0.629\n", + "Condition not met at step 575. No data to save.\n", "575\n", + "model_vars.get('Gini', 0)[-1]=0.6408\n", + "Condition not met at step 576. No data to save.\n", "576\n", + "model_vars.get('Gini', 0)[-1]=0.6058\n", + "Condition not met at step 577. No data to save.\n", "577\n", + "model_vars.get('Gini', 0)[-1]=0.607\n", + "Condition not met at step 578. No data to save.\n", "578\n", + "model_vars.get('Gini', 0)[-1]=0.6268\n", + "Condition not met at step 579. No data to save.\n", "579\n", + "model_vars.get('Gini', 0)[-1]=0.632\n", + "Condition not met at step 580. No data to save.\n", "580\n", + "model_vars.get('Gini', 0)[-1]=0.64\n", + "Condition not met at step 581. No data to save.\n", "581\n", + "model_vars.get('Gini', 0)[-1]=0.6298\n", + "Condition not met at step 582. No data to save.\n", "582\n", + "model_vars.get('Gini', 0)[-1]=0.6053999999999999\n", + "Condition not met at step 583. No data to save.\n", "583\n", + "model_vars.get('Gini', 0)[-1]=0.5938\n", + "Condition not met at step 584. No data to save.\n", "584\n", + "model_vars.get('Gini', 0)[-1]=0.5976\n", + "Condition not met at step 585. No data to save.\n", "585\n", + "model_vars.get('Gini', 0)[-1]=0.6462\n", + "Condition not met at step 586. No data to save.\n", "586\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 587. No data to save.\n", "587\n", + "model_vars.get('Gini', 0)[-1]=0.6202000000000001\n", + "Condition not met at step 588. No data to save.\n", "588\n", + "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", + "Condition not met at step 589. No data to save.\n", "589\n", + "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", + "Condition not met at step 590. No data to save.\n", "590\n", + "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", + "Condition not met at step 591. No data to save.\n", "591\n", + "model_vars.get('Gini', 0)[-1]=0.6437999999999999\n", + "Condition not met at step 592. No data to save.\n", "592\n", + "model_vars.get('Gini', 0)[-1]=0.6342\n", + "Condition not met at step 593. No data to save.\n", "593\n", + "model_vars.get('Gini', 0)[-1]=0.6436\n", + "Condition not met at step 594. No data to save.\n", "594\n", + "model_vars.get('Gini', 0)[-1]=0.6608\n", + "Condition not met at step 595. No data to save.\n", "595\n", + "model_vars.get('Gini', 0)[-1]=0.654\n", + "Condition not met at step 596. No data to save.\n", "596\n", + "model_vars.get('Gini', 0)[-1]=0.6926\n", + "Condition not met at step 597. No data to save.\n", "597\n", + "model_vars.get('Gini', 0)[-1]=0.6836\n", + "Condition not met at step 598. No data to save.\n", "598\n", + "model_vars.get('Gini', 0)[-1]=0.7032\n", + "Condition met. Appended special results for step 599 to test_path/special_results.parquet\n", "599\n", "CALLED\n", "self.model._steps=600\n", " TEST self.model._steps=600\n", " TEST self._cache_interval=100\n", " Gini\n", - "500 0.7098\n", - "501 0.7074\n", - "502 0.6860\n", - "503 0.6830\n", - "504 0.6782\n", + "500 0.6610\n", + "501 0.6544\n", + "502 0.6406\n", + "503 0.6584\n", + "504 0.6760\n", ".. ...\n", - "595 0.5814\n", - "596 0.6096\n", - "597 0.5986\n", - "598 0.6060\n", - "599 0.5644\n", + "595 0.6540\n", + "596 0.6926\n", + "597 0.6836\n", + "598 0.7032\n", + "599 0.6522\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_006.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_006.parquet'\n", - "Saving model to output_dir/model_data_006.parquet\n", - "Saving agent to output_dir/agent_data_006.parquet\n", + "model_file='test_path/model_data_006.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_006.parquet'\n", + "Saving model to test_path/model_data_006.parquet\n", + "Saving agent to test_path/agent_data_006.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6522\n", + "Condition not met at step 600. No data to save.\n", "600\n", + "model_vars.get('Gini', 0)[-1]=0.6476\n", + "Condition not met at step 601. No data to save.\n", "601\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 602. No data to save.\n", "602\n", + "model_vars.get('Gini', 0)[-1]=0.6836\n", + "Condition not met at step 603. No data to save.\n", "603\n", + "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", + "Condition not met at step 604. No data to save.\n", "604\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 605. No data to save.\n", "605\n", + "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", + "Condition not met at step 606. No data to save.\n", "606\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 607. No data to save.\n", "607\n", + "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", + "Condition not met at step 608. No data to save.\n", "608\n", + "model_vars.get('Gini', 0)[-1]=0.635\n", + "Condition not met at step 609. No data to save.\n", "609\n", + "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", + "Condition not met at step 610. No data to save.\n", "610\n", + "model_vars.get('Gini', 0)[-1]=0.645\n", + "Condition not met at step 611. No data to save.\n", "611\n", + "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", + "Condition not met at step 612. No data to save.\n", "612\n", + "model_vars.get('Gini', 0)[-1]=0.665\n", + "Condition not met at step 613. No data to save.\n", "613\n", + "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", + "Condition not met at step 614. No data to save.\n", "614\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 615. No data to save.\n", "615\n", + "model_vars.get('Gini', 0)[-1]=0.6576\n", + "Condition not met at step 616. No data to save.\n", "616\n", + "model_vars.get('Gini', 0)[-1]=0.6522\n", + "Condition not met at step 617. No data to save.\n", "617\n", + "model_vars.get('Gini', 0)[-1]=0.6612\n", + "Condition not met at step 618. No data to save.\n", "618\n", + "model_vars.get('Gini', 0)[-1]=0.6806\n", + "Condition not met at step 619. No data to save.\n", "619\n", + "model_vars.get('Gini', 0)[-1]=0.6744\n", + "Condition not met at step 620. No data to save.\n", "620\n", + "model_vars.get('Gini', 0)[-1]=0.671\n", + "Condition not met at step 621. No data to save.\n", "621\n", + "model_vars.get('Gini', 0)[-1]=0.6612\n", + "Condition not met at step 622. No data to save.\n", "622\n", + "model_vars.get('Gini', 0)[-1]=0.6528\n", + "Condition not met at step 623. No data to save.\n", "623\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 624. No data to save.\n", "624\n", + "model_vars.get('Gini', 0)[-1]=0.6858\n", + "Condition not met at step 625. No data to save.\n", "625\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 626. No data to save.\n", "626\n", + "model_vars.get('Gini', 0)[-1]=0.6472\n", + "Condition not met at step 627. No data to save.\n", "627\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 628. No data to save.\n", "628\n", + "model_vars.get('Gini', 0)[-1]=0.6232\n", + "Condition not met at step 629. No data to save.\n", "629\n", + "model_vars.get('Gini', 0)[-1]=0.6232\n", + "Condition not met at step 630. No data to save.\n", "630\n", + "model_vars.get('Gini', 0)[-1]=0.6514\n", + "Condition not met at step 631. No data to save.\n", "631\n", + "model_vars.get('Gini', 0)[-1]=0.6528\n", + "Condition not met at step 632. No data to save.\n", "632\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 633. No data to save.\n", "633\n", + "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", + "Condition not met at step 634. No data to save.\n", "634\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 635. No data to save.\n", "635\n", + "model_vars.get('Gini', 0)[-1]=0.6492\n", + "Condition not met at step 636. No data to save.\n", "636\n", + "model_vars.get('Gini', 0)[-1]=0.6492\n", + "Condition not met at step 637. No data to save.\n", "637\n", + "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", + "Condition not met at step 638. No data to save.\n", "638\n", + "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", + "Condition not met at step 639. No data to save.\n", "639\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 640. No data to save.\n", "640\n", + "model_vars.get('Gini', 0)[-1]=0.6754\n", + "Condition not met at step 641. No data to save.\n", "641\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 642. No data to save.\n", "642\n", + "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", + "Condition not met at step 643. No data to save.\n", "643\n", + "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", + "Condition not met at step 644. No data to save.\n", "644\n", + "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", + "Condition not met at step 645. No data to save.\n", "645\n", + "model_vars.get('Gini', 0)[-1]=0.662\n", + "Condition not met at step 646. No data to save.\n", "646\n", + "model_vars.get('Gini', 0)[-1]=0.6676\n", + "Condition not met at step 647. No data to save.\n", "647\n", + "model_vars.get('Gini', 0)[-1]=0.665\n", + "Condition not met at step 648. No data to save.\n", "648\n", + "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", + "Condition not met at step 649. No data to save.\n", "649\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 650. No data to save.\n", "650\n", + "model_vars.get('Gini', 0)[-1]=0.6454\n", + "Condition not met at step 651. No data to save.\n", "651\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 652. No data to save.\n", "652\n", + "model_vars.get('Gini', 0)[-1]=0.6612\n", + "Condition not met at step 653. No data to save.\n", "653\n", + "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", + "Condition not met at step 654. No data to save.\n", "654\n", + "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", + "Condition not met at step 655. No data to save.\n", "655\n", + "model_vars.get('Gini', 0)[-1]=0.64\n", + "Condition not met at step 656. No data to save.\n", "656\n", + "model_vars.get('Gini', 0)[-1]=0.6414\n", + "Condition not met at step 657. No data to save.\n", "657\n", + "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", + "Condition not met at step 658. No data to save.\n", "658\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 659. No data to save.\n", "659\n", + "model_vars.get('Gini', 0)[-1]=0.6532\n", + "Condition not met at step 660. No data to save.\n", "660\n", + "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", + "Condition not met at step 661. No data to save.\n", "661\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 662. No data to save.\n", "662\n", + "model_vars.get('Gini', 0)[-1]=0.6048\n", + "Condition not met at step 663. No data to save.\n", "663\n", + "model_vars.get('Gini', 0)[-1]=0.6148\n", + "Condition not met at step 664. No data to save.\n", "664\n", + "model_vars.get('Gini', 0)[-1]=0.6214\n", + "Condition not met at step 665. No data to save.\n", "665\n", + "model_vars.get('Gini', 0)[-1]=0.6235999999999999\n", + "Condition not met at step 666. No data to save.\n", "666\n", + "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", + "Condition not met at step 667. No data to save.\n", "667\n", + "model_vars.get('Gini', 0)[-1]=0.6372\n", + "Condition not met at step 668. No data to save.\n", "668\n", + "model_vars.get('Gini', 0)[-1]=0.618\n", + "Condition not met at step 669. No data to save.\n", "669\n", + "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", + "Condition not met at step 670. No data to save.\n", "670\n", + "model_vars.get('Gini', 0)[-1]=0.6454\n", + "Condition not met at step 671. No data to save.\n", "671\n", + "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", + "Condition not met at step 672. No data to save.\n", "672\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 673. No data to save.\n", "673\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 674. No data to save.\n", "674\n", + "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", + "Condition not met at step 675. No data to save.\n", "675\n", + "model_vars.get('Gini', 0)[-1]=0.6584\n", + "Condition not met at step 676. No data to save.\n", "676\n", + "model_vars.get('Gini', 0)[-1]=0.6306\n", + "Condition not met at step 677. No data to save.\n", "677\n", + "model_vars.get('Gini', 0)[-1]=0.6862\n", + "Condition not met at step 678. No data to save.\n", "678\n", + "model_vars.get('Gini', 0)[-1]=0.7\n", + "Condition not met at step 679. No data to save.\n", "679\n", + "model_vars.get('Gini', 0)[-1]=0.683\n", + "Condition not met at step 680. No data to save.\n", "680\n", + "model_vars.get('Gini', 0)[-1]=0.6779999999999999\n", + "Condition not met at step 681. No data to save.\n", "681\n", + "model_vars.get('Gini', 0)[-1]=0.6908000000000001\n", + "Condition not met at step 682. No data to save.\n", "682\n", + "model_vars.get('Gini', 0)[-1]=0.6822\n", + "Condition not met at step 683. No data to save.\n", "683\n", + "model_vars.get('Gini', 0)[-1]=0.6796\n", + "Condition not met at step 684. No data to save.\n", "684\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 685. No data to save.\n", "685\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 686. No data to save.\n", "686\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 687. No data to save.\n", "687\n", + "model_vars.get('Gini', 0)[-1]=0.6494\n", + "Condition not met at step 688. No data to save.\n", "688\n", + "model_vars.get('Gini', 0)[-1]=0.6342\n", + "Condition not met at step 689. No data to save.\n", "689\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 690. No data to save.\n", "690\n", + "model_vars.get('Gini', 0)[-1]=0.6308\n", + "Condition not met at step 691. No data to save.\n", "691\n", + "model_vars.get('Gini', 0)[-1]=0.6472\n", + "Condition not met at step 692. No data to save.\n", "692\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 693. No data to save.\n", "693\n", + "model_vars.get('Gini', 0)[-1]=0.6532\n", + "Condition not met at step 694. No data to save.\n", "694\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 695. No data to save.\n", "695\n", + "model_vars.get('Gini', 0)[-1]=0.6056\n", + "Condition not met at step 696. No data to save.\n", "696\n", + "model_vars.get('Gini', 0)[-1]=0.6456\n", + "Condition not met at step 697. No data to save.\n", "697\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 698. No data to save.\n", "698\n", + "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", + "Condition not met at step 699. No data to save.\n", "699\n", "CALLED\n", "self.model._steps=700\n", " TEST self.model._steps=700\n", " TEST self._cache_interval=100\n", " Gini\n", - "600 0.5644\n", - "601 0.5670\n", - "602 0.5526\n", - "603 0.5812\n", - "604 0.5790\n", + "600 0.6476\n", + "601 0.6418\n", + "602 0.6836\n", + "603 0.6526\n", + "604 0.6448\n", ".. ...\n", - "695 0.5914\n", - "696 0.5914\n", - "697 0.5842\n", - "698 0.5660\n", - "699 0.5610\n", + "695 0.6056\n", + "696 0.6456\n", + "697 0.6458\n", + "698 0.6538\n", + "699 0.6572\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_007.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_007.parquet'\n", - "Saving model to output_dir/model_data_007.parquet\n", - "Saving agent to output_dir/agent_data_007.parquet\n", + "model_file='test_path/model_data_007.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_007.parquet'\n", + "Saving model to test_path/model_data_007.parquet\n", + "Saving agent to test_path/agent_data_007.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6572\n", + "Condition not met at step 700. No data to save.\n", "700\n", + "model_vars.get('Gini', 0)[-1]=0.65\n", + "Condition not met at step 701. No data to save.\n", "701\n", + "model_vars.get('Gini', 0)[-1]=0.65\n", + "Condition not met at step 702. No data to save.\n", "702\n", + "model_vars.get('Gini', 0)[-1]=0.6402\n", + "Condition not met at step 703. No data to save.\n", "703\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 704. No data to save.\n", "704\n", + "model_vars.get('Gini', 0)[-1]=0.6596\n", + "Condition not met at step 705. No data to save.\n", "705\n", + "model_vars.get('Gini', 0)[-1]=0.6474\n", + "Condition not met at step 706. No data to save.\n", "706\n", + "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", + "Condition not met at step 707. No data to save.\n", "707\n", + "model_vars.get('Gini', 0)[-1]=0.6106\n", + "Condition not met at step 708. No data to save.\n", "708\n", + "model_vars.get('Gini', 0)[-1]=0.6174\n", + "Condition not met at step 709. No data to save.\n", "709\n", + "model_vars.get('Gini', 0)[-1]=0.6226\n", + "Condition not met at step 710. No data to save.\n", "710\n", + "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", + "Condition not met at step 711. No data to save.\n", "711\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 712. No data to save.\n", "712\n", + "model_vars.get('Gini', 0)[-1]=0.6388\n", + "Condition not met at step 713. No data to save.\n", "713\n", + "model_vars.get('Gini', 0)[-1]=0.633\n", + "Condition not met at step 714. No data to save.\n", "714\n", + "model_vars.get('Gini', 0)[-1]=0.6736\n", + "Condition not met at step 715. No data to save.\n", "715\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 716. No data to save.\n", "716\n", + "model_vars.get('Gini', 0)[-1]=0.6744\n", + "Condition not met at step 717. No data to save.\n", "717\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 718. No data to save.\n", "718\n", + "model_vars.get('Gini', 0)[-1]=0.6288\n", + "Condition not met at step 719. No data to save.\n", "719\n", + "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", + "Condition not met at step 720. No data to save.\n", "720\n", + "model_vars.get('Gini', 0)[-1]=0.6414\n", + "Condition not met at step 721. No data to save.\n", "721\n", + "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", + "Condition not met at step 722. No data to save.\n", "722\n", + "model_vars.get('Gini', 0)[-1]=0.6235999999999999\n", + "Condition not met at step 723. No data to save.\n", "723\n", + "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", + "Condition not met at step 724. No data to save.\n", "724\n", + "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", + "Condition not met at step 725. No data to save.\n", "725\n", + "model_vars.get('Gini', 0)[-1]=0.6194\n", + "Condition not met at step 726. No data to save.\n", "726\n", + "model_vars.get('Gini', 0)[-1]=0.6288\n", + "Condition not met at step 727. No data to save.\n", "727\n", + "model_vars.get('Gini', 0)[-1]=0.6048\n", + "Condition not met at step 728. No data to save.\n", "728\n", + "model_vars.get('Gini', 0)[-1]=0.6000000000000001\n", + "Condition not met at step 729. No data to save.\n", "729\n", + "model_vars.get('Gini', 0)[-1]=0.6204000000000001\n", + "Condition not met at step 730. No data to save.\n", "730\n", + "model_vars.get('Gini', 0)[-1]=0.6148\n", + "Condition not met at step 731. No data to save.\n", "731\n", + "model_vars.get('Gini', 0)[-1]=0.6312\n", + "Condition not met at step 732. No data to save.\n", "732\n", + "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", + "Condition not met at step 733. No data to save.\n", "733\n", + "model_vars.get('Gini', 0)[-1]=0.6096\n", + "Condition not met at step 734. No data to save.\n", "734\n", + "model_vars.get('Gini', 0)[-1]=0.6344000000000001\n", + "Condition not met at step 735. No data to save.\n", "735\n", + "model_vars.get('Gini', 0)[-1]=0.6516\n", + "Condition not met at step 736. No data to save.\n", "736\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 737. No data to save.\n", "737\n", + "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", + "Condition not met at step 738. No data to save.\n", "738\n", + "model_vars.get('Gini', 0)[-1]=0.665\n", + "Condition not met at step 739. No data to save.\n", "739\n", + "model_vars.get('Gini', 0)[-1]=0.6358\n", + "Condition not met at step 740. No data to save.\n", "740\n", + "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", + "Condition not met at step 741. No data to save.\n", "741\n", + "model_vars.get('Gini', 0)[-1]=0.6408\n", + "Condition not met at step 742. No data to save.\n", "742\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 743. No data to save.\n", "743\n", + "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", + "Condition not met at step 744. No data to save.\n", "744\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 745. No data to save.\n", "745\n", + "model_vars.get('Gini', 0)[-1]=0.6432\n", + "Condition not met at step 746. No data to save.\n", "746\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 747. No data to save.\n", "747\n", + "model_vars.get('Gini', 0)[-1]=0.6452\n", + "Condition not met at step 748. No data to save.\n", "748\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 749. No data to save.\n", "749\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 750. No data to save.\n", "750\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 751. No data to save.\n", "751\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 752. No data to save.\n", "752\n", + "model_vars.get('Gini', 0)[-1]=0.666\n", + "Condition not met at step 753. No data to save.\n", "753\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 754. No data to save.\n", "754\n", + "model_vars.get('Gini', 0)[-1]=0.666\n", + "Condition not met at step 755. No data to save.\n", "755\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 756. No data to save.\n", "756\n", + "model_vars.get('Gini', 0)[-1]=0.6764\n", + "Condition not met at step 757. No data to save.\n", "757\n", + "model_vars.get('Gini', 0)[-1]=0.657\n", + "Condition not met at step 758. No data to save.\n", "758\n", + "model_vars.get('Gini', 0)[-1]=0.6624\n", + "Condition not met at step 759. No data to save.\n", "759\n", + "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", + "Condition not met at step 760. No data to save.\n", "760\n", + "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", + "Condition not met at step 761. No data to save.\n", "761\n", + "model_vars.get('Gini', 0)[-1]=0.5982000000000001\n", + "Condition not met at step 762. No data to save.\n", "762\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 763. No data to save.\n", "763\n", + "model_vars.get('Gini', 0)[-1]=0.6308\n", + "Condition not met at step 764. No data to save.\n", "764\n", + "model_vars.get('Gini', 0)[-1]=0.6452\n", + "Condition not met at step 765. No data to save.\n", "765\n", + "model_vars.get('Gini', 0)[-1]=0.6608\n", + "Condition not met at step 766. No data to save.\n", "766\n", + "model_vars.get('Gini', 0)[-1]=0.6594\n", + "Condition not met at step 767. No data to save.\n", "767\n", + "model_vars.get('Gini', 0)[-1]=0.661\n", + "Condition not met at step 768. No data to save.\n", "768\n", + "model_vars.get('Gini', 0)[-1]=0.6394\n", + "Condition not met at step 769. No data to save.\n", "769\n", + "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", + "Condition not met at step 770. No data to save.\n", "770\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 771. No data to save.\n", "771\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 772. No data to save.\n", "772\n", + "model_vars.get('Gini', 0)[-1]=0.6328\n", + "Condition not met at step 773. No data to save.\n", "773\n", + "model_vars.get('Gini', 0)[-1]=0.6454\n", + "Condition not met at step 774. No data to save.\n", "774\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 775. No data to save.\n", "775\n", + "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", + "Condition not met at step 776. No data to save.\n", "776\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 777. No data to save.\n", "777\n", + "model_vars.get('Gini', 0)[-1]=0.6608\n", + "Condition not met at step 778. No data to save.\n", "778\n", + "model_vars.get('Gini', 0)[-1]=0.6776\n", + "Condition not met at step 779. No data to save.\n", "779\n", + "model_vars.get('Gini', 0)[-1]=0.6314\n", + "Condition not met at step 780. No data to save.\n", "780\n", + "model_vars.get('Gini', 0)[-1]=0.6358\n", + "Condition not met at step 781. No data to save.\n", "781\n", + "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", + "Condition not met at step 782. No data to save.\n", "782\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 783. No data to save.\n", "783\n", + "model_vars.get('Gini', 0)[-1]=0.6396\n", + "Condition not met at step 784. No data to save.\n", "784\n", + "model_vars.get('Gini', 0)[-1]=0.641\n", + "Condition not met at step 785. No data to save.\n", "785\n", + "model_vars.get('Gini', 0)[-1]=0.6294\n", + "Condition not met at step 786. No data to save.\n", "786\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 787. No data to save.\n", "787\n", + "model_vars.get('Gini', 0)[-1]=0.6896\n", + "Condition not met at step 788. No data to save.\n", "788\n", + "model_vars.get('Gini', 0)[-1]=0.6872\n", + "Condition not met at step 789. No data to save.\n", "789\n", + "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", + "Condition not met at step 790. No data to save.\n", "790\n", + "model_vars.get('Gini', 0)[-1]=0.645\n", + "Condition not met at step 791. No data to save.\n", "791\n", + "model_vars.get('Gini', 0)[-1]=0.6342\n", + "Condition not met at step 792. No data to save.\n", "792\n", + "model_vars.get('Gini', 0)[-1]=0.635\n", + "Condition not met at step 793. No data to save.\n", "793\n", + "model_vars.get('Gini', 0)[-1]=0.6186\n", + "Condition not met at step 794. No data to save.\n", "794\n", + "model_vars.get('Gini', 0)[-1]=0.6136\n", + "Condition not met at step 795. No data to save.\n", "795\n", + "model_vars.get('Gini', 0)[-1]=0.6366\n", + "Condition not met at step 796. No data to save.\n", "796\n", + "model_vars.get('Gini', 0)[-1]=0.613\n", + "Condition not met at step 797. No data to save.\n", "797\n", + "model_vars.get('Gini', 0)[-1]=0.6186\n", + "Condition not met at step 798. No data to save.\n", "798\n", + "model_vars.get('Gini', 0)[-1]=0.6078\n", + "Condition not met at step 799. No data to save.\n", "799\n", "CALLED\n", "self.model._steps=800\n", " TEST self.model._steps=800\n", " TEST self._cache_interval=100\n", " Gini\n", - "700 0.5854\n", - "701 0.5978\n", - "702 0.6238\n", - "703 0.6210\n", - "704 0.6024\n", + "700 0.6500\n", + "701 0.6500\n", + "702 0.6402\n", + "703 0.6274\n", + "704 0.6596\n", ".. ...\n", - "795 0.6382\n", - "796 0.6890\n", - "797 0.6552\n", - "798 0.6240\n", - "799 0.6294\n", + "795 0.6366\n", + "796 0.6130\n", + "797 0.6186\n", + "798 0.6078\n", + "799 0.6270\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_008.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_008.parquet'\n", - "Saving model to output_dir/model_data_008.parquet\n", - "Saving agent to output_dir/agent_data_008.parquet\n", + "model_file='test_path/model_data_008.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_008.parquet'\n", + "Saving model to test_path/model_data_008.parquet\n", + "Saving agent to test_path/agent_data_008.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.627\n", + "Condition not met at step 800. No data to save.\n", "800\n", + "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", + "Condition not met at step 801. No data to save.\n", "801\n", + "model_vars.get('Gini', 0)[-1]=0.6202000000000001\n", + "Condition not met at step 802. No data to save.\n", "802\n", + "model_vars.get('Gini', 0)[-1]=0.621\n", + "Condition not met at step 803. No data to save.\n", "803\n", + "model_vars.get('Gini', 0)[-1]=0.6514\n", + "Condition not met at step 804. No data to save.\n", "804\n", + "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", + "Condition not met at step 805. No data to save.\n", "805\n", + "model_vars.get('Gini', 0)[-1]=0.6252\n", + "Condition not met at step 806. No data to save.\n", "806\n", + "model_vars.get('Gini', 0)[-1]=0.6388\n", + "Condition not met at step 807. No data to save.\n", "807\n", + "model_vars.get('Gini', 0)[-1]=0.6212\n", + "Condition not met at step 808. No data to save.\n", "808\n", + "model_vars.get('Gini', 0)[-1]=0.6156\n", + "Condition not met at step 809. No data to save.\n", "809\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 810. No data to save.\n", "810\n", + "model_vars.get('Gini', 0)[-1]=0.635\n", + "Condition not met at step 811. No data to save.\n", "811\n", + "model_vars.get('Gini', 0)[-1]=0.6376\n", + "Condition not met at step 812. No data to save.\n", "812\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 813. No data to save.\n", "813\n", + "model_vars.get('Gini', 0)[-1]=0.644\n", + "Condition not met at step 814. No data to save.\n", "814\n", + "model_vars.get('Gini', 0)[-1]=0.653\n", + "Condition not met at step 815. No data to save.\n", "815\n", + "model_vars.get('Gini', 0)[-1]=0.6452\n", + "Condition not met at step 816. No data to save.\n", "816\n", + "model_vars.get('Gini', 0)[-1]=0.6344000000000001\n", + "Condition not met at step 817. No data to save.\n", "817\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 818. No data to save.\n", "818\n", + "model_vars.get('Gini', 0)[-1]=0.6394\n", + "Condition not met at step 819. No data to save.\n", "819\n", + "model_vars.get('Gini', 0)[-1]=0.6576\n", + "Condition not met at step 820. No data to save.\n", "820\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 821. No data to save.\n", "821\n", + "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", + "Condition not met at step 822. No data to save.\n", "822\n", + "model_vars.get('Gini', 0)[-1]=0.6522\n", + "Condition not met at step 823. No data to save.\n", "823\n", + "model_vars.get('Gini', 0)[-1]=0.6388\n", + "Condition not met at step 824. No data to save.\n", "824\n", + "model_vars.get('Gini', 0)[-1]=0.6318\n", + "Condition not met at step 825. No data to save.\n", "825\n", + "model_vars.get('Gini', 0)[-1]=0.5884\n", + "Condition not met at step 826. No data to save.\n", "826\n", + "model_vars.get('Gini', 0)[-1]=0.5722\n", + "Condition not met at step 827. No data to save.\n", "827\n", + "model_vars.get('Gini', 0)[-1]=0.5920000000000001\n", + "Condition not met at step 828. No data to save.\n", "828\n", + "model_vars.get('Gini', 0)[-1]=0.6338\n", + "Condition not met at step 829. No data to save.\n", "829\n", + "model_vars.get('Gini', 0)[-1]=0.6382\n", + "Condition not met at step 830. No data to save.\n", "830\n", + "model_vars.get('Gini', 0)[-1]=0.621\n", + "Condition not met at step 831. No data to save.\n", "831\n", + "model_vars.get('Gini', 0)[-1]=0.64\n", + "Condition not met at step 832. No data to save.\n", "832\n", + "model_vars.get('Gini', 0)[-1]=0.642\n", + "Condition not met at step 833. No data to save.\n", "833\n", + "model_vars.get('Gini', 0)[-1]=0.663\n", + "Condition not met at step 834. No data to save.\n", "834\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 835. No data to save.\n", "835\n", + "model_vars.get('Gini', 0)[-1]=0.687\n", + "Condition not met at step 836. No data to save.\n", "836\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 837. No data to save.\n", "837\n", + "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", + "Condition not met at step 838. No data to save.\n", "838\n", + "model_vars.get('Gini', 0)[-1]=0.6134\n", + "Condition not met at step 839. No data to save.\n", "839\n", + "model_vars.get('Gini', 0)[-1]=0.5918\n", + "Condition not met at step 840. No data to save.\n", "840\n", + "model_vars.get('Gini', 0)[-1]=0.5864\n", + "Condition not met at step 841. No data to save.\n", "841\n", + "model_vars.get('Gini', 0)[-1]=0.5804\n", + "Condition not met at step 842. No data to save.\n", "842\n", + "model_vars.get('Gini', 0)[-1]=0.6076\n", + "Condition not met at step 843. No data to save.\n", "843\n", + "model_vars.get('Gini', 0)[-1]=0.5880000000000001\n", + "Condition not met at step 844. No data to save.\n", "844\n", + "model_vars.get('Gini', 0)[-1]=0.5884\n", + "Condition not met at step 845. No data to save.\n", "845\n", + "model_vars.get('Gini', 0)[-1]=0.5984\n", + "Condition not met at step 846. No data to save.\n", "846\n", + "model_vars.get('Gini', 0)[-1]=0.6104\n", + "Condition not met at step 847. No data to save.\n", "847\n", + "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", + "Condition not met at step 848. No data to save.\n", "848\n", + "model_vars.get('Gini', 0)[-1]=0.6314\n", + "Condition not met at step 849. No data to save.\n", "849\n", + "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", + "Condition not met at step 850. No data to save.\n", "850\n", + "model_vars.get('Gini', 0)[-1]=0.6388\n", + "Condition not met at step 851. No data to save.\n", "851\n", + "model_vars.get('Gini', 0)[-1]=0.6292\n", + "Condition not met at step 852. No data to save.\n", "852\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 853. No data to save.\n", "853\n", + "model_vars.get('Gini', 0)[-1]=0.6166\n", + "Condition not met at step 854. No data to save.\n", "854\n", + "model_vars.get('Gini', 0)[-1]=0.627\n", + "Condition not met at step 855. No data to save.\n", "855\n", + "model_vars.get('Gini', 0)[-1]=0.627\n", + "Condition not met at step 856. No data to save.\n", "856\n", + "model_vars.get('Gini', 0)[-1]=0.6136\n", + "Condition not met at step 857. No data to save.\n", "857\n", + "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", + "Condition not met at step 858. No data to save.\n", "858\n", + "model_vars.get('Gini', 0)[-1]=0.635\n", + "Condition not met at step 859. No data to save.\n", "859\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 860. No data to save.\n", "860\n", + "model_vars.get('Gini', 0)[-1]=0.6148\n", + "Condition not met at step 861. No data to save.\n", "861\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 862. No data to save.\n", "862\n", + "model_vars.get('Gini', 0)[-1]=0.6834\n", + "Condition not met at step 863. No data to save.\n", "863\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 864. No data to save.\n", "864\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 865. No data to save.\n", "865\n", + "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", + "Condition not met at step 866. No data to save.\n", "866\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 867. No data to save.\n", "867\n", + "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", + "Condition not met at step 868. No data to save.\n", "868\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 869. No data to save.\n", "869\n", + "model_vars.get('Gini', 0)[-1]=0.6678\n", + "Condition not met at step 870. No data to save.\n", "870\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 871. No data to save.\n", "871\n", + "model_vars.get('Gini', 0)[-1]=0.6852\n", + "Condition not met at step 872. No data to save.\n", "872\n", + "model_vars.get('Gini', 0)[-1]=0.6878\n", + "Condition not met at step 873. No data to save.\n", "873\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 874. No data to save.\n", "874\n", + "model_vars.get('Gini', 0)[-1]=0.6798\n", + "Condition not met at step 875. No data to save.\n", "875\n", + "model_vars.get('Gini', 0)[-1]=0.651\n", + "Condition not met at step 876. No data to save.\n", "876\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 877. No data to save.\n", "877\n", + "model_vars.get('Gini', 0)[-1]=0.6488\n", + "Condition not met at step 878. No data to save.\n", "878\n", + "model_vars.get('Gini', 0)[-1]=0.6235999999999999\n", + "Condition not met at step 879. No data to save.\n", "879\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 880. No data to save.\n", "880\n", + "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", + "Condition not met at step 881. No data to save.\n", "881\n", + "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", + "Condition not met at step 882. No data to save.\n", "882\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 883. No data to save.\n", "883\n", + "model_vars.get('Gini', 0)[-1]=0.6152\n", + "Condition not met at step 884. No data to save.\n", "884\n", + "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", + "Condition not met at step 885. No data to save.\n", "885\n", + "model_vars.get('Gini', 0)[-1]=0.644\n", + "Condition not met at step 886. No data to save.\n", "886\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 887. No data to save.\n", "887\n", + "model_vars.get('Gini', 0)[-1]=0.6314\n", + "Condition not met at step 888. No data to save.\n", "888\n", + "model_vars.get('Gini', 0)[-1]=0.6244000000000001\n", + "Condition not met at step 889. No data to save.\n", "889\n", + "model_vars.get('Gini', 0)[-1]=0.6082000000000001\n", + "Condition not met at step 890. No data to save.\n", "890\n", + "model_vars.get('Gini', 0)[-1]=0.5820000000000001\n", + "Condition not met at step 891. No data to save.\n", "891\n", + "model_vars.get('Gini', 0)[-1]=0.6096\n", + "Condition not met at step 892. No data to save.\n", "892\n", + "model_vars.get('Gini', 0)[-1]=0.6436\n", + "Condition not met at step 893. No data to save.\n", "893\n", + "model_vars.get('Gini', 0)[-1]=0.6812\n", + "Condition not met at step 894. No data to save.\n", "894\n", + "model_vars.get('Gini', 0)[-1]=0.655\n", + "Condition not met at step 895. No data to save.\n", "895\n", + "model_vars.get('Gini', 0)[-1]=0.6924\n", + "Condition not met at step 896. No data to save.\n", "896\n", + "model_vars.get('Gini', 0)[-1]=0.667\n", + "Condition not met at step 897. No data to save.\n", "897\n", + "model_vars.get('Gini', 0)[-1]=0.7064\n", + "Condition met. Appended special results for step 898 to test_path/special_results.parquet\n", "898\n", + "model_vars.get('Gini', 0)[-1]=0.7068\n", + "Condition met. Appended special results for step 899 to test_path/special_results.parquet\n", "899\n", "CALLED\n", "self.model._steps=900\n", " TEST self.model._steps=900\n", " TEST self._cache_interval=100\n", " Gini\n", - "800 0.6286\n", - "801 0.6666\n", - "802 0.6810\n", - "803 0.6466\n", - "804 0.6530\n", + "800 0.6176\n", + "801 0.6202\n", + "802 0.6210\n", + "803 0.6514\n", + "804 0.6578\n", ".. ...\n", - "895 0.6044\n", - "896 0.6332\n", - "897 0.6382\n", - "898 0.6346\n", - "899 0.6394\n", + "895 0.6924\n", + "896 0.6670\n", + "897 0.7064\n", + "898 0.7068\n", + "899 0.6792\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_009.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_009.parquet'\n", - "Saving model to output_dir/model_data_009.parquet\n", - "Saving agent to output_dir/agent_data_009.parquet\n", + "model_file='test_path/model_data_009.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_009.parquet'\n", + "Saving model to test_path/model_data_009.parquet\n", + "Saving agent to test_path/agent_data_009.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6792\n", + "Condition not met at step 900. No data to save.\n", "900\n", + "model_vars.get('Gini', 0)[-1]=0.7038\n", + "Condition met. Appended special results for step 901 to test_path/special_results.parquet\n", "901\n", + "model_vars.get('Gini', 0)[-1]=0.6784\n", + "Condition not met at step 902. No data to save.\n", "902\n", + "model_vars.get('Gini', 0)[-1]=0.6872\n", + "Condition not met at step 903. No data to save.\n", "903\n", + "model_vars.get('Gini', 0)[-1]=0.6596\n", + "Condition not met at step 904. No data to save.\n", "904\n", + "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", + "Condition not met at step 905. No data to save.\n", "905\n", + "model_vars.get('Gini', 0)[-1]=0.63\n", + "Condition not met at step 906. No data to save.\n", "906\n", + "model_vars.get('Gini', 0)[-1]=0.5976\n", + "Condition not met at step 907. No data to save.\n", "907\n", + "model_vars.get('Gini', 0)[-1]=0.6124\n", + "Condition not met at step 908. No data to save.\n", "908\n", + "model_vars.get('Gini', 0)[-1]=0.6004\n", + "Condition not met at step 909. No data to save.\n", "909\n", + "model_vars.get('Gini', 0)[-1]=0.6488\n", + "Condition not met at step 910. No data to save.\n", "910\n", + "model_vars.get('Gini', 0)[-1]=0.6362\n", + "Condition not met at step 911. No data to save.\n", "911\n", + "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", + "Condition not met at step 912. No data to save.\n", "912\n", + "model_vars.get('Gini', 0)[-1]=0.6454\n", + "Condition not met at step 913. No data to save.\n", "913\n", + "model_vars.get('Gini', 0)[-1]=0.6432\n", + "Condition not met at step 914. No data to save.\n", "914\n", + "model_vars.get('Gini', 0)[-1]=0.6564\n", + "Condition not met at step 915. No data to save.\n", "915\n", + "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", + "Condition not met at step 916. No data to save.\n", "916\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 917. No data to save.\n", "917\n", + "model_vars.get('Gini', 0)[-1]=0.6076\n", + "Condition not met at step 918. No data to save.\n", "918\n", + "model_vars.get('Gini', 0)[-1]=0.6013999999999999\n", + "Condition not met at step 919. No data to save.\n", "919\n", + "model_vars.get('Gini', 0)[-1]=0.6088\n", + "Condition not met at step 920. No data to save.\n", "920\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 921. No data to save.\n", "921\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 922. No data to save.\n", "922\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 923. No data to save.\n", "923\n", + "model_vars.get('Gini', 0)[-1]=0.6792\n", + "Condition not met at step 924. No data to save.\n", "924\n", + "model_vars.get('Gini', 0)[-1]=0.6818\n", + "Condition not met at step 925. No data to save.\n", "925\n", + "model_vars.get('Gini', 0)[-1]=0.6898\n", + "Condition not met at step 926. No data to save.\n", "926\n", + "model_vars.get('Gini', 0)[-1]=0.6928000000000001\n", + "Condition not met at step 927. No data to save.\n", "927\n", + "model_vars.get('Gini', 0)[-1]=0.698\n", + "Condition not met at step 928. No data to save.\n", "928\n", + "model_vars.get('Gini', 0)[-1]=0.7078\n", + "Condition met. Appended special results for step 929 to test_path/special_results.parquet\n", "929\n", + "model_vars.get('Gini', 0)[-1]=0.6846\n", + "Condition not met at step 930. No data to save.\n", "930\n", + "model_vars.get('Gini', 0)[-1]=0.6884\n", + "Condition not met at step 931. No data to save.\n", "931\n", + "model_vars.get('Gini', 0)[-1]=0.7004\n", + "Condition met. Appended special results for step 932 to test_path/special_results.parquet\n", "932\n", + "model_vars.get('Gini', 0)[-1]=0.7048\n", + "Condition met. Appended special results for step 933 to test_path/special_results.parquet\n", "933\n", + "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", + "Condition met. Appended special results for step 934 to test_path/special_results.parquet\n", "934\n", + "model_vars.get('Gini', 0)[-1]=0.6952\n", + "Condition not met at step 935. No data to save.\n", "935\n", + "model_vars.get('Gini', 0)[-1]=0.6924\n", + "Condition not met at step 936. No data to save.\n", "936\n", + "model_vars.get('Gini', 0)[-1]=0.6862\n", + "Condition not met at step 937. No data to save.\n", "937\n", + "model_vars.get('Gini', 0)[-1]=0.6624\n", + "Condition not met at step 938. No data to save.\n", "938\n", + "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "Condition not met at step 939. No data to save.\n", "939\n", + "model_vars.get('Gini', 0)[-1]=0.6858\n", + "Condition not met at step 940. No data to save.\n", "940\n", + "model_vars.get('Gini', 0)[-1]=0.6946\n", + "Condition not met at step 941. No data to save.\n", "941\n", + "model_vars.get('Gini', 0)[-1]=0.6874\n", + "Condition not met at step 942. No data to save.\n", "942\n", + "model_vars.get('Gini', 0)[-1]=0.6804\n", + "Condition not met at step 943. No data to save.\n", "943\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 944. No data to save.\n", "944\n", + "model_vars.get('Gini', 0)[-1]=0.6636\n", + "Condition not met at step 945. No data to save.\n", "945\n", + "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", + "Condition not met at step 946. No data to save.\n", "946\n", + "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", + "Condition not met at step 947. No data to save.\n", "947\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 948. No data to save.\n", "948\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 949. No data to save.\n", "949\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 950. No data to save.\n", "950\n", + "model_vars.get('Gini', 0)[-1]=0.6428\n", + "Condition not met at step 951. No data to save.\n", "951\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 952. No data to save.\n", "952\n", + "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", + "Condition not met at step 953. No data to save.\n", "953\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 954. No data to save.\n", "954\n", + "model_vars.get('Gini', 0)[-1]=0.6442\n", + "Condition not met at step 955. No data to save.\n", "955\n", + "model_vars.get('Gini', 0)[-1]=0.6294\n", + "Condition not met at step 956. No data to save.\n", "956\n", + "model_vars.get('Gini', 0)[-1]=0.6374\n", + "Condition not met at step 957. No data to save.\n", "957\n", + "model_vars.get('Gini', 0)[-1]=0.6362\n", + "Condition not met at step 958. No data to save.\n", "958\n", + "model_vars.get('Gini', 0)[-1]=0.6492\n", + "Condition not met at step 959. No data to save.\n", "959\n", + "model_vars.get('Gini', 0)[-1]=0.642\n", + "Condition not met at step 960. No data to save.\n", "960\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 961. No data to save.\n", "961\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 962. No data to save.\n", "962\n", + "model_vars.get('Gini', 0)[-1]=0.6394\n", + "Condition not met at step 963. No data to save.\n", "963\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 964. No data to save.\n", "964\n", + "model_vars.get('Gini', 0)[-1]=0.6362\n", + "Condition not met at step 965. No data to save.\n", "965\n", + "model_vars.get('Gini', 0)[-1]=0.6452\n", + "Condition not met at step 966. No data to save.\n", "966\n", + "model_vars.get('Gini', 0)[-1]=0.6402\n", + "Condition not met at step 967. No data to save.\n", "967\n", + "model_vars.get('Gini', 0)[-1]=0.6528\n", + "Condition not met at step 968. No data to save.\n", "968\n", + "model_vars.get('Gini', 0)[-1]=0.6358\n", + "Condition not met at step 969. No data to save.\n", "969\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 970. No data to save.\n", "970\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 971. No data to save.\n", "971\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 972. No data to save.\n", "972\n", + "model_vars.get('Gini', 0)[-1]=0.6234\n", + "Condition not met at step 973. No data to save.\n", "973\n", + "model_vars.get('Gini', 0)[-1]=0.5932\n", + "Condition not met at step 974. No data to save.\n", "974\n", + "model_vars.get('Gini', 0)[-1]=0.6332\n", + "Condition not met at step 975. No data to save.\n", "975\n", + "model_vars.get('Gini', 0)[-1]=0.6226\n", + "Condition not met at step 976. No data to save.\n", "976\n", + "model_vars.get('Gini', 0)[-1]=0.6388\n", + "Condition not met at step 977. No data to save.\n", "977\n", + "model_vars.get('Gini', 0)[-1]=0.6634\n", + "Condition not met at step 978. No data to save.\n", "978\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 979. No data to save.\n", "979\n", + "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "Condition not met at step 980. No data to save.\n", "980\n", + "model_vars.get('Gini', 0)[-1]=0.6702\n", + "Condition not met at step 981. No data to save.\n", "981\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 982. No data to save.\n", "982\n", + "model_vars.get('Gini', 0)[-1]=0.6294\n", + "Condition not met at step 983. No data to save.\n", "983\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 984. No data to save.\n", "984\n", + "model_vars.get('Gini', 0)[-1]=0.6754\n", + "Condition not met at step 985. No data to save.\n", "985\n", + "model_vars.get('Gini', 0)[-1]=0.6562\n", + "Condition not met at step 986. No data to save.\n", "986\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 987. No data to save.\n", "987\n", + "model_vars.get('Gini', 0)[-1]=0.6862\n", + "Condition not met at step 988. No data to save.\n", "988\n", + "model_vars.get('Gini', 0)[-1]=0.7024\n", + "Condition met. Appended special results for step 989 to test_path/special_results.parquet\n", "989\n", + "model_vars.get('Gini', 0)[-1]=0.7170000000000001\n", + "Condition met. Appended special results for step 990 to test_path/special_results.parquet\n", "990\n", + "model_vars.get('Gini', 0)[-1]=0.6974\n", + "Condition not met at step 991. No data to save.\n", "991\n", + "model_vars.get('Gini', 0)[-1]=0.6816\n", + "Condition not met at step 992. No data to save.\n", "992\n", + "model_vars.get('Gini', 0)[-1]=0.7086\n", + "Condition met. Appended special results for step 993 to test_path/special_results.parquet\n", "993\n", + "model_vars.get('Gini', 0)[-1]=0.6996\n", + "Condition not met at step 994. No data to save.\n", "994\n", + "model_vars.get('Gini', 0)[-1]=0.677\n", + "Condition not met at step 995. No data to save.\n", "995\n", + "model_vars.get('Gini', 0)[-1]=0.6921999999999999\n", + "Condition not met at step 996. No data to save.\n", "996\n", + "model_vars.get('Gini', 0)[-1]=0.685\n", + "Condition not met at step 997. No data to save.\n", "997\n", + "model_vars.get('Gini', 0)[-1]=0.6806\n", + "Condition not met at step 998. No data to save.\n", "998\n", + "model_vars.get('Gini', 0)[-1]=0.651\n", + "Condition not met at step 999. No data to save.\n", "999\n", "CALLED\n", "self.model._steps=1000\n", " TEST self.model._steps=1000\n", " TEST self._cache_interval=100\n", " Gini\n", - "900 0.6104\n", - "901 0.6256\n", - "902 0.6256\n", - "903 0.6492\n", - "904 0.6398\n", + "900 0.7038\n", + "901 0.6784\n", + "902 0.6872\n", + "903 0.6596\n", + "904 0.6486\n", ".. ...\n", - "995 0.6574\n", - "996 0.6876\n", - "997 0.6758\n", - "998 0.6832\n", - "999 0.6808\n", + "995 0.6922\n", + "996 0.6850\n", + "997 0.6806\n", + "998 0.6510\n", + "999 0.6530\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_010.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_010.parquet'\n", - "Saving model to output_dir/model_data_010.parquet\n", - "Saving agent to output_dir/agent_data_010.parquet\n", + "model_file='test_path/model_data_010.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_010.parquet'\n", + "Saving model to test_path/model_data_010.parquet\n", + "Saving agent to test_path/agent_data_010.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.653\n", + "Condition not met at step 1000. No data to save.\n", "1000\n", + "model_vars.get('Gini', 0)[-1]=0.6574\n", + "Condition not met at step 1001. No data to save.\n", "1001\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 1002. No data to save.\n", "1002\n", + "model_vars.get('Gini', 0)[-1]=0.6254\n", + "Condition not met at step 1003. No data to save.\n", "1003\n", + "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", + "Condition not met at step 1004. No data to save.\n", "1004\n", + "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", + "Condition not met at step 1005. No data to save.\n", "1005\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 1006. No data to save.\n", "1006\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 1007. No data to save.\n", "1007\n", + "model_vars.get('Gini', 0)[-1]=0.6348\n", + "Condition not met at step 1008. No data to save.\n", "1008\n", + "model_vars.get('Gini', 0)[-1]=0.6442\n", + "Condition not met at step 1009. No data to save.\n", "1009\n", + "model_vars.get('Gini', 0)[-1]=0.6184000000000001\n", + "Condition not met at step 1010. No data to save.\n", "1010\n", + "model_vars.get('Gini', 0)[-1]=0.5946\n", + "Condition not met at step 1011. No data to save.\n", "1011\n", + "model_vars.get('Gini', 0)[-1]=0.6018\n", + "Condition not met at step 1012. No data to save.\n", "1012\n", + "model_vars.get('Gini', 0)[-1]=0.6093999999999999\n", + "Condition not met at step 1013. No data to save.\n", "1013\n", + "model_vars.get('Gini', 0)[-1]=0.615\n", + "Condition not met at step 1014. No data to save.\n", "1014\n", + "model_vars.get('Gini', 0)[-1]=0.648\n", + "Condition not met at step 1015. No data to save.\n", "1015\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 1016. No data to save.\n", "1016\n", + "model_vars.get('Gini', 0)[-1]=0.6432\n", + "Condition not met at step 1017. No data to save.\n", "1017\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 1018. No data to save.\n", "1018\n", + "model_vars.get('Gini', 0)[-1]=0.6806\n", + "Condition not met at step 1019. No data to save.\n", "1019\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 1020. No data to save.\n", "1020\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 1021. No data to save.\n", "1021\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 1022. No data to save.\n", "1022\n", + "model_vars.get('Gini', 0)[-1]=0.6324000000000001\n", + "Condition not met at step 1023. No data to save.\n", "1023\n", + "model_vars.get('Gini', 0)[-1]=0.6522\n", + "Condition not met at step 1024. No data to save.\n", "1024\n", + "model_vars.get('Gini', 0)[-1]=0.6528\n", + "Condition not met at step 1025. No data to save.\n", "1025\n", + "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", + "Condition not met at step 1026. No data to save.\n", "1026\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 1027. No data to save.\n", "1027\n", + "model_vars.get('Gini', 0)[-1]=0.6522\n", + "Condition not met at step 1028. No data to save.\n", "1028\n", + "model_vars.get('Gini', 0)[-1]=0.6612\n", + "Condition not met at step 1029. No data to save.\n", "1029\n", + "model_vars.get('Gini', 0)[-1]=0.6732\n", + "Condition not met at step 1030. No data to save.\n", "1030\n", + "model_vars.get('Gini', 0)[-1]=0.6594\n", + "Condition not met at step 1031. No data to save.\n", "1031\n", + "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", + "Condition not met at step 1032. No data to save.\n", "1032\n", + "model_vars.get('Gini', 0)[-1]=0.6452\n", + "Condition not met at step 1033. No data to save.\n", "1033\n", + "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", + "Condition not met at step 1034. No data to save.\n", "1034\n", + "model_vars.get('Gini', 0)[-1]=0.6532\n", + "Condition not met at step 1035. No data to save.\n", "1035\n", + "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", + "Condition not met at step 1036. No data to save.\n", "1036\n", + "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", + "Condition not met at step 1037. No data to save.\n", "1037\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 1038. No data to save.\n", "1038\n", + "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", + "Condition not met at step 1039. No data to save.\n", "1039\n", + "model_vars.get('Gini', 0)[-1]=0.6806\n", + "Condition not met at step 1040. No data to save.\n", "1040\n", + "model_vars.get('Gini', 0)[-1]=0.6856\n", + "Condition not met at step 1041. No data to save.\n", "1041\n", + "model_vars.get('Gini', 0)[-1]=0.6779999999999999\n", + "Condition not met at step 1042. No data to save.\n", "1042\n", + "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", + "Condition not met at step 1043. No data to save.\n", "1043\n", + "model_vars.get('Gini', 0)[-1]=0.6594\n", + "Condition not met at step 1044. No data to save.\n", "1044\n", + "model_vars.get('Gini', 0)[-1]=0.6534\n", + "Condition not met at step 1045. No data to save.\n", "1045\n", + "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", + "Condition not met at step 1046. No data to save.\n", "1046\n", + "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", + "Condition not met at step 1047. No data to save.\n", "1047\n", + "model_vars.get('Gini', 0)[-1]=0.6474\n", + "Condition not met at step 1048. No data to save.\n", "1048\n", + "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", + "Condition not met at step 1049. No data to save.\n", "1049\n", + "model_vars.get('Gini', 0)[-1]=0.6574\n", + "Condition not met at step 1050. No data to save.\n", "1050\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 1051. No data to save.\n", "1051\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 1052. No data to save.\n", "1052\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 1053. No data to save.\n", "1053\n", + "model_vars.get('Gini', 0)[-1]=0.6166\n", + "Condition not met at step 1054. No data to save.\n", "1054\n", + "model_vars.get('Gini', 0)[-1]=0.6148\n", + "Condition not met at step 1055. No data to save.\n", "1055\n", + "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", + "Condition not met at step 1056. No data to save.\n", "1056\n", + "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", + "Condition not met at step 1057. No data to save.\n", "1057\n", + "model_vars.get('Gini', 0)[-1]=0.6488\n", + "Condition not met at step 1058. No data to save.\n", "1058\n", + "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", + "Condition not met at step 1059. No data to save.\n", "1059\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 1060. No data to save.\n", "1060\n", + "model_vars.get('Gini', 0)[-1]=0.6572\n", + "Condition not met at step 1061. No data to save.\n", "1061\n", + "model_vars.get('Gini', 0)[-1]=0.6348\n", + "Condition not met at step 1062. No data to save.\n", "1062\n", + "model_vars.get('Gini', 0)[-1]=0.6534\n", + "Condition not met at step 1063. No data to save.\n", "1063\n", + "model_vars.get('Gini', 0)[-1]=0.65\n", + "Condition not met at step 1064. No data to save.\n", "1064\n", + "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", + "Condition not met at step 1065. No data to save.\n", "1065\n", + "model_vars.get('Gini', 0)[-1]=0.6242000000000001\n", + "Condition not met at step 1066. No data to save.\n", "1066\n", + "model_vars.get('Gini', 0)[-1]=0.6188\n", + "Condition not met at step 1067. No data to save.\n", "1067\n", + "model_vars.get('Gini', 0)[-1]=0.6068\n", + "Condition not met at step 1068. No data to save.\n", "1068\n", + "model_vars.get('Gini', 0)[-1]=0.6228\n", + "Condition not met at step 1069. No data to save.\n", "1069\n", + "model_vars.get('Gini', 0)[-1]=0.6204000000000001\n", + "Condition not met at step 1070. No data to save.\n", "1070\n", + "model_vars.get('Gini', 0)[-1]=0.6266\n", + "Condition not met at step 1071. No data to save.\n", "1071\n", + "model_vars.get('Gini', 0)[-1]=0.6437999999999999\n", + "Condition not met at step 1072. No data to save.\n", "1072\n", + "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", + "Condition not met at step 1073. No data to save.\n", "1073\n", + "model_vars.get('Gini', 0)[-1]=0.638\n", + "Condition not met at step 1074. No data to save.\n", "1074\n", + "model_vars.get('Gini', 0)[-1]=0.622\n", + "Condition not met at step 1075. No data to save.\n", "1075\n", + "model_vars.get('Gini', 0)[-1]=0.639\n", + "Condition not met at step 1076. No data to save.\n", "1076\n", + "model_vars.get('Gini', 0)[-1]=0.6634\n", + "Condition not met at step 1077. No data to save.\n", "1077\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 1078. No data to save.\n", "1078\n", + "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", + "Condition not met at step 1079. No data to save.\n", "1079\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 1080. No data to save.\n", "1080\n", + "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", + "Condition not met at step 1081. No data to save.\n", "1081\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 1082. No data to save.\n", "1082\n", + "model_vars.get('Gini', 0)[-1]=0.6662\n", + "Condition not met at step 1083. No data to save.\n", "1083\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 1084. No data to save.\n", "1084\n", + "model_vars.get('Gini', 0)[-1]=0.6502\n", + "Condition not met at step 1085. No data to save.\n", "1085\n", + "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", + "Condition not met at step 1086. No data to save.\n", "1086\n", + "model_vars.get('Gini', 0)[-1]=0.6528\n", + "Condition not met at step 1087. No data to save.\n", "1087\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 1088. No data to save.\n", "1088\n", + "model_vars.get('Gini', 0)[-1]=0.6594\n", + "Condition not met at step 1089. No data to save.\n", "1089\n", + "model_vars.get('Gini', 0)[-1]=0.6914\n", + "Condition not met at step 1090. No data to save.\n", "1090\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 1091. No data to save.\n", "1091\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 1092. No data to save.\n", "1092\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 1093. No data to save.\n", "1093\n", + "model_vars.get('Gini', 0)[-1]=0.6834\n", + "Condition not met at step 1094. No data to save.\n", "1094\n", + "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", + "Condition not met at step 1095. No data to save.\n", "1095\n", + "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", + "Condition not met at step 1096. No data to save.\n", "1096\n", + "model_vars.get('Gini', 0)[-1]=0.6684\n", + "Condition not met at step 1097. No data to save.\n", "1097\n", + "model_vars.get('Gini', 0)[-1]=0.6692\n", + "Condition not met at step 1098. No data to save.\n", "1098\n", + "model_vars.get('Gini', 0)[-1]=0.6672\n", + "Condition not met at step 1099. No data to save.\n", "1099\n", "CALLED\n", "self.model._steps=1100\n", " TEST self.model._steps=1100\n", " TEST self._cache_interval=100\n", " Gini\n", - "1000 0.6886\n", - "1001 0.6966\n", - "1002 0.7010\n", - "1003 0.6996\n", - "1004 0.7024\n", + "1000 0.6574\n", + "1001 0.6482\n", + "1002 0.6254\n", + "1003 0.6316\n", + "1004 0.6486\n", "... ...\n", - "1095 0.6654\n", - "1096 0.6440\n", - "1097 0.6194\n", - "1098 0.6104\n", - "1099 0.6164\n", + "1095 0.6820\n", + "1096 0.6684\n", + "1097 0.6692\n", + "1098 0.6672\n", + "1099 0.6878\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_011.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_011.parquet'\n", - "Saving model to output_dir/model_data_011.parquet\n", - "Saving agent to output_dir/agent_data_011.parquet\n", + "model_file='test_path/model_data_011.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_011.parquet'\n", + "Saving model to test_path/model_data_011.parquet\n", + "Saving agent to test_path/agent_data_011.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6878\n", + "Condition not met at step 1100. No data to save.\n", "1100\n", + "model_vars.get('Gini', 0)[-1]=0.6744\n", + "Condition not met at step 1101. No data to save.\n", "1101\n", + "model_vars.get('Gini', 0)[-1]=0.6722\n", + "Condition not met at step 1102. No data to save.\n", "1102\n", + "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", + "Condition not met at step 1103. No data to save.\n", "1103\n", + "model_vars.get('Gini', 0)[-1]=0.6402\n", + "Condition not met at step 1104. No data to save.\n", "1104\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 1105. No data to save.\n", "1105\n", + "model_vars.get('Gini', 0)[-1]=0.6126\n", + "Condition not met at step 1106. No data to save.\n", "1106\n", + "model_vars.get('Gini', 0)[-1]=0.608\n", + "Condition not met at step 1107. No data to save.\n", "1107\n", + "model_vars.get('Gini', 0)[-1]=0.6312\n", + "Condition not met at step 1108. No data to save.\n", "1108\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 1109. No data to save.\n", "1109\n", + "model_vars.get('Gini', 0)[-1]=0.6208\n", + "Condition not met at step 1110. No data to save.\n", "1110\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 1111. No data to save.\n", "1111\n", + "model_vars.get('Gini', 0)[-1]=0.6534\n", + "Condition not met at step 1112. No data to save.\n", "1112\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 1113. No data to save.\n", "1113\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 1114. No data to save.\n", "1114\n", + "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", + "Condition not met at step 1115. No data to save.\n", "1115\n", + "model_vars.get('Gini', 0)[-1]=0.6774\n", + "Condition not met at step 1116. No data to save.\n", "1116\n", + "model_vars.get('Gini', 0)[-1]=0.6966\n", + "Condition not met at step 1117. No data to save.\n", "1117\n", + "model_vars.get('Gini', 0)[-1]=0.6898\n", + "Condition not met at step 1118. No data to save.\n", "1118\n", + "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", + "Condition not met at step 1119. No data to save.\n", "1119\n", + "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", + "Condition not met at step 1120. No data to save.\n", "1120\n", + "model_vars.get('Gini', 0)[-1]=0.6676\n", + "Condition not met at step 1121. No data to save.\n", "1121\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 1122. No data to save.\n", "1122\n", + "model_vars.get('Gini', 0)[-1]=0.665\n", + "Condition not met at step 1123. No data to save.\n", "1123\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 1124. No data to save.\n", "1124\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 1125. No data to save.\n", "1125\n", + "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", + "Condition not met at step 1126. No data to save.\n", "1126\n", + "model_vars.get('Gini', 0)[-1]=0.644\n", + "Condition not met at step 1127. No data to save.\n", "1127\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 1128. No data to save.\n", "1128\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 1129. No data to save.\n", "1129\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 1130. No data to save.\n", "1130\n", + "model_vars.get('Gini', 0)[-1]=0.6684\n", + "Condition not met at step 1131. No data to save.\n", "1131\n", + "model_vars.get('Gini', 0)[-1]=0.6414\n", + "Condition not met at step 1132. No data to save.\n", "1132\n", + "model_vars.get('Gini', 0)[-1]=0.6076\n", + "Condition not met at step 1133. No data to save.\n", "1133\n", + "model_vars.get('Gini', 0)[-1]=0.606\n", + "Condition not met at step 1134. No data to save.\n", "1134\n", + "model_vars.get('Gini', 0)[-1]=0.6234\n", + "Condition not met at step 1135. No data to save.\n", "1135\n", + "model_vars.get('Gini', 0)[-1]=0.6232\n", + "Condition not met at step 1136. No data to save.\n", "1136\n", + "model_vars.get('Gini', 0)[-1]=0.6326\n", + "Condition not met at step 1137. No data to save.\n", "1137\n", + "model_vars.get('Gini', 0)[-1]=0.627\n", + "Condition not met at step 1138. No data to save.\n", "1138\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 1139. No data to save.\n", "1139\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 1140. No data to save.\n", "1140\n", + "model_vars.get('Gini', 0)[-1]=0.654\n", + "Condition not met at step 1141. No data to save.\n", "1141\n", + "model_vars.get('Gini', 0)[-1]=0.6348\n", + "Condition not met at step 1142. No data to save.\n", "1142\n", + "model_vars.get('Gini', 0)[-1]=0.6292\n", + "Condition not met at step 1143. No data to save.\n", "1143\n", + "model_vars.get('Gini', 0)[-1]=0.6098\n", + "Condition not met at step 1144. No data to save.\n", "1144\n", + "model_vars.get('Gini', 0)[-1]=0.6166\n", + "Condition not met at step 1145. No data to save.\n", "1145\n", + "model_vars.get('Gini', 0)[-1]=0.6166\n", + "Condition not met at step 1146. No data to save.\n", "1146\n", + "model_vars.get('Gini', 0)[-1]=0.6066\n", + "Condition not met at step 1147. No data to save.\n", "1147\n", + "model_vars.get('Gini', 0)[-1]=0.6228\n", + "Condition not met at step 1148. No data to save.\n", "1148\n", + "model_vars.get('Gini', 0)[-1]=0.6204000000000001\n", + "Condition not met at step 1149. No data to save.\n", "1149\n", + "model_vars.get('Gini', 0)[-1]=0.6268\n", + "Condition not met at step 1150. No data to save.\n", "1150\n", + "model_vars.get('Gini', 0)[-1]=0.641\n", + "Condition not met at step 1151. No data to save.\n", "1151\n", + "model_vars.get('Gini', 0)[-1]=0.6652\n", + "Condition not met at step 1152. No data to save.\n", "1152\n", + "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", + "Condition not met at step 1153. No data to save.\n", "1153\n", + "model_vars.get('Gini', 0)[-1]=0.6738\n", + "Condition not met at step 1154. No data to save.\n", "1154\n", + "model_vars.get('Gini', 0)[-1]=0.6798\n", + "Condition not met at step 1155. No data to save.\n", "1155\n", + "model_vars.get('Gini', 0)[-1]=0.685\n", + "Condition not met at step 1156. No data to save.\n", "1156\n", + "model_vars.get('Gini', 0)[-1]=0.6826\n", + "Condition not met at step 1157. No data to save.\n", "1157\n", + "model_vars.get('Gini', 0)[-1]=0.6802\n", + "Condition not met at step 1158. No data to save.\n", "1158\n", + "model_vars.get('Gini', 0)[-1]=0.7026\n", + "Condition met. Appended special results for step 1159 to test_path/special_results.parquet\n", "1159\n", + "model_vars.get('Gini', 0)[-1]=0.6964\n", + "Condition not met at step 1160. No data to save.\n", "1160\n", + "model_vars.get('Gini', 0)[-1]=0.7001999999999999\n", + "Condition met. Appended special results for step 1161 to test_path/special_results.parquet\n", "1161\n", + "model_vars.get('Gini', 0)[-1]=0.6906\n", + "Condition not met at step 1162. No data to save.\n", "1162\n", + "model_vars.get('Gini', 0)[-1]=0.6854\n", + "Condition not met at step 1163. No data to save.\n", "1163\n", + "model_vars.get('Gini', 0)[-1]=0.6968000000000001\n", + "Condition not met at step 1164. No data to save.\n", "1164\n", + "model_vars.get('Gini', 0)[-1]=0.6842\n", + "Condition not met at step 1165. No data to save.\n", "1165\n", + "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", + "Condition not met at step 1166. No data to save.\n", "1166\n", + "model_vars.get('Gini', 0)[-1]=0.7068\n", + "Condition met. Appended special results for step 1167 to test_path/special_results.parquet\n", "1167\n", + "model_vars.get('Gini', 0)[-1]=0.6978\n", + "Condition not met at step 1168. No data to save.\n", "1168\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 1169. No data to save.\n", "1169\n", + "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", + "Condition not met at step 1170. No data to save.\n", "1170\n", + "model_vars.get('Gini', 0)[-1]=0.6638\n", + "Condition not met at step 1171. No data to save.\n", "1171\n", + "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", + "Condition not met at step 1172. No data to save.\n", "1172\n", + "model_vars.get('Gini', 0)[-1]=0.6824\n", + "Condition not met at step 1173. No data to save.\n", "1173\n", + "model_vars.get('Gini', 0)[-1]=0.6794\n", + "Condition not met at step 1174. No data to save.\n", "1174\n", + "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", + "Condition not met at step 1175. No data to save.\n", "1175\n", + "model_vars.get('Gini', 0)[-1]=0.6772\n", + "Condition not met at step 1176. No data to save.\n", "1176\n", + "model_vars.get('Gini', 0)[-1]=0.6796\n", + "Condition not met at step 1177. No data to save.\n", "1177\n", + "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", + "Condition not met at step 1178. No data to save.\n", "1178\n", + "model_vars.get('Gini', 0)[-1]=0.6662\n", + "Condition not met at step 1179. No data to save.\n", "1179\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 1180. No data to save.\n", "1180\n", + "model_vars.get('Gini', 0)[-1]=0.6906\n", + "Condition not met at step 1181. No data to save.\n", "1181\n", + "model_vars.get('Gini', 0)[-1]=0.6702\n", + "Condition not met at step 1182. No data to save.\n", "1182\n", + "model_vars.get('Gini', 0)[-1]=0.669\n", + "Condition not met at step 1183. No data to save.\n", "1183\n", + "model_vars.get('Gini', 0)[-1]=0.6374\n", + "Condition not met at step 1184. No data to save.\n", "1184\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 1185. No data to save.\n", "1185\n", + "model_vars.get('Gini', 0)[-1]=0.6778\n", + "Condition not met at step 1186. No data to save.\n", "1186\n", + "model_vars.get('Gini', 0)[-1]=0.6826\n", + "Condition not met at step 1187. No data to save.\n", "1187\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 1188. No data to save.\n", "1188\n", + "model_vars.get('Gini', 0)[-1]=0.6738\n", + "Condition not met at step 1189. No data to save.\n", "1189\n", + "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", + "Condition not met at step 1190. No data to save.\n", "1190\n", + "model_vars.get('Gini', 0)[-1]=0.6862\n", + "Condition not met at step 1191. No data to save.\n", "1191\n", + "model_vars.get('Gini', 0)[-1]=0.6921999999999999\n", + "Condition not met at step 1192. No data to save.\n", "1192\n", + "model_vars.get('Gini', 0)[-1]=0.7166\n", + "Condition met. Appended special results for step 1193 to test_path/special_results.parquet\n", "1193\n", + "model_vars.get('Gini', 0)[-1]=0.6864\n", + "Condition not met at step 1194. No data to save.\n", "1194\n", + "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", + "Condition not met at step 1195. No data to save.\n", "1195\n", + "model_vars.get('Gini', 0)[-1]=0.6562\n", + "Condition not met at step 1196. No data to save.\n", "1196\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 1197. No data to save.\n", "1197\n", + "model_vars.get('Gini', 0)[-1]=0.642\n", + "Condition not met at step 1198. No data to save.\n", "1198\n", + "model_vars.get('Gini', 0)[-1]=0.6554\n", + "Condition not met at step 1199. No data to save.\n", "1199\n", "CALLED\n", "self.model._steps=1200\n", " TEST self.model._steps=1200\n", " TEST self._cache_interval=100\n", " Gini\n", - "1100 0.6172\n", - "1101 0.6234\n", - "1102 0.6470\n", - "1103 0.6720\n", - "1104 0.6834\n", + "1100 0.6744\n", + "1101 0.6722\n", + "1102 0.6566\n", + "1103 0.6402\n", + "1104 0.6434\n", "... ...\n", - "1195 0.7018\n", - "1196 0.7106\n", - "1197 0.7160\n", - "1198 0.7260\n", - "1199 0.7386\n", + "1195 0.6562\n", + "1196 0.6602\n", + "1197 0.6420\n", + "1198 0.6554\n", + "1199 0.6302\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_012.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_012.parquet'\n", - "Saving model to output_dir/model_data_012.parquet\n", - "Saving agent to output_dir/agent_data_012.parquet\n", + "model_file='test_path/model_data_012.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_012.parquet'\n", + "Saving model to test_path/model_data_012.parquet\n", + "Saving agent to test_path/agent_data_012.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6302\n", + "Condition not met at step 1200. No data to save.\n", "1200\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 1201. No data to save.\n", "1201\n", + "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", + "Condition not met at step 1202. No data to save.\n", "1202\n", + "model_vars.get('Gini', 0)[-1]=0.645\n", + "Condition not met at step 1203. No data to save.\n", "1203\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 1204. No data to save.\n", "1204\n", + "model_vars.get('Gini', 0)[-1]=0.6194\n", + "Condition not met at step 1205. No data to save.\n", "1205\n", + "model_vars.get('Gini', 0)[-1]=0.666\n", + "Condition not met at step 1206. No data to save.\n", "1206\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 1207. No data to save.\n", "1207\n", + "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", + "Condition not met at step 1208. No data to save.\n", "1208\n", + "model_vars.get('Gini', 0)[-1]=0.6412\n", + "Condition not met at step 1209. No data to save.\n", "1209\n", + "model_vars.get('Gini', 0)[-1]=0.639\n", + "Condition not met at step 1210. No data to save.\n", "1210\n", + "model_vars.get('Gini', 0)[-1]=0.6414\n", + "Condition not met at step 1211. No data to save.\n", "1211\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 1212. No data to save.\n", "1212\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 1213. No data to save.\n", "1213\n", + "model_vars.get('Gini', 0)[-1]=0.6242000000000001\n", + "Condition not met at step 1214. No data to save.\n", "1214\n", + "model_vars.get('Gini', 0)[-1]=0.6098\n", + "Condition not met at step 1215. No data to save.\n", "1215\n", + "model_vars.get('Gini', 0)[-1]=0.6242000000000001\n", + "Condition not met at step 1216. No data to save.\n", "1216\n", + "model_vars.get('Gini', 0)[-1]=0.6266\n", + "Condition not met at step 1217. No data to save.\n", "1217\n", + "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", + "Condition not met at step 1218. No data to save.\n", "1218\n", + "model_vars.get('Gini', 0)[-1]=0.6258\n", + "Condition not met at step 1219. No data to save.\n", "1219\n", + "model_vars.get('Gini', 0)[-1]=0.6228\n", + "Condition not met at step 1220. No data to save.\n", "1220\n", + "model_vars.get('Gini', 0)[-1]=0.6124\n", + "Condition not met at step 1221. No data to save.\n", "1221\n", + "model_vars.get('Gini', 0)[-1]=0.657\n", + "Condition not met at step 1222. No data to save.\n", "1222\n", + "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", + "Condition not met at step 1223. No data to save.\n", "1223\n", + "model_vars.get('Gini', 0)[-1]=0.6722\n", + "Condition not met at step 1224. No data to save.\n", "1224\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 1225. No data to save.\n", "1225\n", + "model_vars.get('Gini', 0)[-1]=0.6456\n", + "Condition not met at step 1226. No data to save.\n", "1226\n", + "model_vars.get('Gini', 0)[-1]=0.625\n", + "Condition not met at step 1227. No data to save.\n", "1227\n", + "model_vars.get('Gini', 0)[-1]=0.6116\n", + "Condition not met at step 1228. No data to save.\n", "1228\n", + "model_vars.get('Gini', 0)[-1]=0.6154\n", + "Condition not met at step 1229. No data to save.\n", "1229\n", + "model_vars.get('Gini', 0)[-1]=0.624\n", + "Condition not met at step 1230. No data to save.\n", "1230\n", + "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", + "Condition not met at step 1231. No data to save.\n", "1231\n", + "model_vars.get('Gini', 0)[-1]=0.6392\n", + "Condition not met at step 1232. No data to save.\n", "1232\n", + "model_vars.get('Gini', 0)[-1]=0.6398\n", + "Condition not met at step 1233. No data to save.\n", "1233\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 1234. No data to save.\n", "1234\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 1235. No data to save.\n", "1235\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 1236. No data to save.\n", "1236\n", + "model_vars.get('Gini', 0)[-1]=0.6572\n", + "Condition not met at step 1237. No data to save.\n", "1237\n", + "model_vars.get('Gini', 0)[-1]=0.6472\n", + "Condition not met at step 1238. No data to save.\n", "1238\n", + "model_vars.get('Gini', 0)[-1]=0.6318\n", + "Condition not met at step 1239. No data to save.\n", "1239\n", + "model_vars.get('Gini', 0)[-1]=0.6374\n", + "Condition not met at step 1240. No data to save.\n", "1240\n", + "model_vars.get('Gini', 0)[-1]=0.65\n", + "Condition not met at step 1241. No data to save.\n", "1241\n", + "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", + "Condition not met at step 1242. No data to save.\n", "1242\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 1243. No data to save.\n", "1243\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 1244. No data to save.\n", "1244\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 1245. No data to save.\n", "1245\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 1246. No data to save.\n", "1246\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 1247. No data to save.\n", "1247\n", + "model_vars.get('Gini', 0)[-1]=0.6437999999999999\n", + "Condition not met at step 1248. No data to save.\n", "1248\n", + "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", + "Condition not met at step 1249. No data to save.\n", "1249\n", + "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", + "Condition not met at step 1250. No data to save.\n", "1250\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 1251. No data to save.\n", "1251\n", + "model_vars.get('Gini', 0)[-1]=0.6798\n", + "Condition not met at step 1252. No data to save.\n", "1252\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 1253. No data to save.\n", "1253\n", + "model_vars.get('Gini', 0)[-1]=0.6672\n", + "Condition not met at step 1254. No data to save.\n", "1254\n", + "model_vars.get('Gini', 0)[-1]=0.692\n", + "Condition not met at step 1255. No data to save.\n", "1255\n", + "model_vars.get('Gini', 0)[-1]=0.6984\n", + "Condition not met at step 1256. No data to save.\n", "1256\n", + "model_vars.get('Gini', 0)[-1]=0.6874\n", + "Condition not met at step 1257. No data to save.\n", "1257\n", + "model_vars.get('Gini', 0)[-1]=0.7146\n", + "Condition met. Appended special results for step 1258 to test_path/special_results.parquet\n", "1258\n", + "model_vars.get('Gini', 0)[-1]=0.7041999999999999\n", + "Condition met. Appended special results for step 1259 to test_path/special_results.parquet\n", "1259\n", + "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", + "Condition not met at step 1260. No data to save.\n", "1260\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 1261. No data to save.\n", "1261\n", + "model_vars.get('Gini', 0)[-1]=0.6422\n", + "Condition not met at step 1262. No data to save.\n", "1262\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 1263. No data to save.\n", "1263\n", + "model_vars.get('Gini', 0)[-1]=0.6442\n", + "Condition not met at step 1264. No data to save.\n", "1264\n", + "model_vars.get('Gini', 0)[-1]=0.6552\n", + "Condition not met at step 1265. No data to save.\n", "1265\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 1266. No data to save.\n", "1266\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 1267. No data to save.\n", "1267\n", + "model_vars.get('Gini', 0)[-1]=0.6232\n", + "Condition not met at step 1268. No data to save.\n", "1268\n", + "model_vars.get('Gini', 0)[-1]=0.633\n", + "Condition not met at step 1269. No data to save.\n", "1269\n", + "model_vars.get('Gini', 0)[-1]=0.6246\n", + "Condition not met at step 1270. No data to save.\n", "1270\n", + "model_vars.get('Gini', 0)[-1]=0.635\n", + "Condition not met at step 1271. No data to save.\n", "1271\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 1272. No data to save.\n", "1272\n", + "model_vars.get('Gini', 0)[-1]=0.6258\n", + "Condition not met at step 1273. No data to save.\n", "1273\n", + "model_vars.get('Gini', 0)[-1]=0.6308\n", + "Condition not met at step 1274. No data to save.\n", "1274\n", + "model_vars.get('Gini', 0)[-1]=0.6278\n", + "Condition not met at step 1275. No data to save.\n", "1275\n", + "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", + "Condition not met at step 1276. No data to save.\n", "1276\n", + "model_vars.get('Gini', 0)[-1]=0.6232\n", + "Condition not met at step 1277. No data to save.\n", "1277\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 1278. No data to save.\n", "1278\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 1279. No data to save.\n", "1279\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 1280. No data to save.\n", "1280\n", + "model_vars.get('Gini', 0)[-1]=0.6328\n", + "Condition not met at step 1281. No data to save.\n", "1281\n", + "model_vars.get('Gini', 0)[-1]=0.604\n", + "Condition not met at step 1282. No data to save.\n", "1282\n", + "model_vars.get('Gini', 0)[-1]=0.5860000000000001\n", + "Condition not met at step 1283. No data to save.\n", "1283\n", + "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", + "Condition not met at step 1284. No data to save.\n", "1284\n", + "model_vars.get('Gini', 0)[-1]=0.5940000000000001\n", + "Condition not met at step 1285. No data to save.\n", "1285\n", + "model_vars.get('Gini', 0)[-1]=0.6122000000000001\n", + "Condition not met at step 1286. No data to save.\n", "1286\n", + "model_vars.get('Gini', 0)[-1]=0.6116\n", + "Condition not met at step 1287. No data to save.\n", "1287\n", + "model_vars.get('Gini', 0)[-1]=0.6116\n", + "Condition not met at step 1288. No data to save.\n", "1288\n", + "model_vars.get('Gini', 0)[-1]=0.6116\n", + "Condition not met at step 1289. No data to save.\n", "1289\n", + "model_vars.get('Gini', 0)[-1]=0.6234\n", + "Condition not met at step 1290. No data to save.\n", "1290\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 1291. No data to save.\n", "1291\n", + "model_vars.get('Gini', 0)[-1]=0.6834\n", + "Condition not met at step 1292. No data to save.\n", "1292\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 1293. No data to save.\n", "1293\n", + "model_vars.get('Gini', 0)[-1]=0.6516\n", + "Condition not met at step 1294. No data to save.\n", "1294\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 1295. No data to save.\n", "1295\n", + "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", + "Condition not met at step 1296. No data to save.\n", "1296\n", + "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", + "Condition not met at step 1297. No data to save.\n", "1297\n", + "model_vars.get('Gini', 0)[-1]=0.6462\n", + "Condition not met at step 1298. No data to save.\n", "1298\n", + "model_vars.get('Gini', 0)[-1]=0.6282000000000001\n", + "Condition not met at step 1299. No data to save.\n", "1299\n", "CALLED\n", "self.model._steps=1300\n", " TEST self.model._steps=1300\n", " TEST self._cache_interval=100\n", " Gini\n", - "1200 0.7374\n", - "1201 0.7374\n", - "1202 0.7254\n", - "1203 0.7120\n", - "1204 0.7244\n", + "1200 0.6602\n", + "1201 0.6498\n", + "1202 0.6450\n", + "1203 0.6416\n", + "1204 0.6194\n", "... ...\n", - "1295 0.7200\n", - "1296 0.7142\n", - "1297 0.7236\n", - "1298 0.7348\n", - "1299 0.7336\n", + "1295 0.6176\n", + "1296 0.6446\n", + "1297 0.6462\n", + "1298 0.6282\n", + "1299 0.6144\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_013.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_013.parquet'\n", - "Saving model to output_dir/model_data_013.parquet\n", - "Saving agent to output_dir/agent_data_013.parquet\n", + "model_file='test_path/model_data_013.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_013.parquet'\n", + "Saving model to test_path/model_data_013.parquet\n", + "Saving agent to test_path/agent_data_013.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6144000000000001\n", + "Condition not met at step 1300. No data to save.\n", "1300\n", + "model_vars.get('Gini', 0)[-1]=0.5794\n", + "Condition not met at step 1301. No data to save.\n", "1301\n", + "model_vars.get('Gini', 0)[-1]=0.5938\n", + "Condition not met at step 1302. No data to save.\n", "1302\n", + "model_vars.get('Gini', 0)[-1]=0.6288\n", + "Condition not met at step 1303. No data to save.\n", "1303\n", + "model_vars.get('Gini', 0)[-1]=0.6124\n", + "Condition not met at step 1304. No data to save.\n", "1304\n", + "model_vars.get('Gini', 0)[-1]=0.6046\n", + "Condition not met at step 1305. No data to save.\n", "1305\n", + "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", + "Condition not met at step 1306. No data to save.\n", "1306\n", + "model_vars.get('Gini', 0)[-1]=0.6072\n", + "Condition not met at step 1307. No data to save.\n", "1307\n", + "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", + "Condition not met at step 1308. No data to save.\n", "1308\n", + "model_vars.get('Gini', 0)[-1]=0.6178\n", + "Condition not met at step 1309. No data to save.\n", "1309\n", + "model_vars.get('Gini', 0)[-1]=0.6332\n", + "Condition not met at step 1310. No data to save.\n", "1310\n", + "model_vars.get('Gini', 0)[-1]=0.6362\n", + "Condition not met at step 1311. No data to save.\n", "1311\n", + "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", + "Condition not met at step 1312. No data to save.\n", "1312\n", + "model_vars.get('Gini', 0)[-1]=0.644\n", + "Condition not met at step 1313. No data to save.\n", "1313\n", + "model_vars.get('Gini', 0)[-1]=0.6168\n", + "Condition not met at step 1314. No data to save.\n", "1314\n", + "model_vars.get('Gini', 0)[-1]=0.6272\n", + "Condition not met at step 1315. No data to save.\n", "1315\n", + "model_vars.get('Gini', 0)[-1]=0.6184000000000001\n", + "Condition not met at step 1316. No data to save.\n", "1316\n", + "model_vars.get('Gini', 0)[-1]=0.625\n", + "Condition not met at step 1317. No data to save.\n", "1317\n", + "model_vars.get('Gini', 0)[-1]=0.6268\n", + "Condition not met at step 1318. No data to save.\n", "1318\n", + "model_vars.get('Gini', 0)[-1]=0.6338\n", + "Condition not met at step 1319. No data to save.\n", "1319\n", + "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", + "Condition not met at step 1320. No data to save.\n", "1320\n", + "model_vars.get('Gini', 0)[-1]=0.618\n", + "Condition not met at step 1321. No data to save.\n", "1321\n", + "model_vars.get('Gini', 0)[-1]=0.6532\n", + "Condition not met at step 1322. No data to save.\n", "1322\n", + "model_vars.get('Gini', 0)[-1]=0.6532\n", + "Condition not met at step 1323. No data to save.\n", "1323\n", + "model_vars.get('Gini', 0)[-1]=0.6638\n", + "Condition not met at step 1324. No data to save.\n", "1324\n", + "model_vars.get('Gini', 0)[-1]=0.6908000000000001\n", + "Condition not met at step 1325. No data to save.\n", "1325\n", + "model_vars.get('Gini', 0)[-1]=0.7034\n", + "Condition met. Appended special results for step 1326 to test_path/special_results.parquet\n", "1326\n", + "model_vars.get('Gini', 0)[-1]=0.7008000000000001\n", + "Condition met. Appended special results for step 1327 to test_path/special_results.parquet\n", "1327\n", + "model_vars.get('Gini', 0)[-1]=0.6802\n", + "Condition not met at step 1328. No data to save.\n", "1328\n", + "model_vars.get('Gini', 0)[-1]=0.6796\n", + "Condition not met at step 1329. No data to save.\n", "1329\n", + "model_vars.get('Gini', 0)[-1]=0.6974\n", + "Condition not met at step 1330. No data to save.\n", "1330\n", + "model_vars.get('Gini', 0)[-1]=0.6928000000000001\n", + "Condition not met at step 1331. No data to save.\n", "1331\n", + "model_vars.get('Gini', 0)[-1]=0.6844\n", + "Condition not met at step 1332. No data to save.\n", "1332\n", + "model_vars.get('Gini', 0)[-1]=0.6822\n", + "Condition not met at step 1333. No data to save.\n", "1333\n", + "model_vars.get('Gini', 0)[-1]=0.696\n", + "Condition not met at step 1334. No data to save.\n", "1334\n", + "model_vars.get('Gini', 0)[-1]=0.7034\n", + "Condition met. Appended special results for step 1335 to test_path/special_results.parquet\n", "1335\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 1336. No data to save.\n", "1336\n", + "model_vars.get('Gini', 0)[-1]=0.657\n", + "Condition not met at step 1337. No data to save.\n", "1337\n", + "model_vars.get('Gini', 0)[-1]=0.6882\n", + "Condition not met at step 1338. No data to save.\n", "1338\n", + "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", + "Condition not met at step 1339. No data to save.\n", "1339\n", + "model_vars.get('Gini', 0)[-1]=0.6842\n", + "Condition not met at step 1340. No data to save.\n", "1340\n", + "model_vars.get('Gini', 0)[-1]=0.681\n", + "Condition not met at step 1341. No data to save.\n", "1341\n", + "model_vars.get('Gini', 0)[-1]=0.7061999999999999\n", + "Condition met. Appended special results for step 1342 to test_path/special_results.parquet\n", "1342\n", + "model_vars.get('Gini', 0)[-1]=0.7112\n", + "Condition met. Appended special results for step 1343 to test_path/special_results.parquet\n", "1343\n", + "model_vars.get('Gini', 0)[-1]=0.6936\n", + "Condition not met at step 1344. No data to save.\n", "1344\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 1345. No data to save.\n", "1345\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 1346. No data to save.\n", "1346\n", + "model_vars.get('Gini', 0)[-1]=0.6972\n", + "Condition not met at step 1347. No data to save.\n", "1347\n", + "model_vars.get('Gini', 0)[-1]=0.6756\n", + "Condition not met at step 1348. No data to save.\n", "1348\n", + "model_vars.get('Gini', 0)[-1]=0.6638\n", + "Condition not met at step 1349. No data to save.\n", "1349\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 1350. No data to save.\n", "1350\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 1351. No data to save.\n", "1351\n", + "model_vars.get('Gini', 0)[-1]=0.65\n", + "Condition not met at step 1352. No data to save.\n", "1352\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 1353. No data to save.\n", "1353\n", + "model_vars.get('Gini', 0)[-1]=0.6612\n", + "Condition not met at step 1354. No data to save.\n", "1354\n", + "model_vars.get('Gini', 0)[-1]=0.6592\n", + "Condition not met at step 1355. No data to save.\n", "1355\n", + "model_vars.get('Gini', 0)[-1]=0.6806\n", + "Condition not met at step 1356. No data to save.\n", "1356\n", + "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", + "Condition not met at step 1357. No data to save.\n", "1357\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 1358. No data to save.\n", "1358\n", + "model_vars.get('Gini', 0)[-1]=0.6662\n", + "Condition not met at step 1359. No data to save.\n", "1359\n", + "model_vars.get('Gini', 0)[-1]=0.6878\n", + "Condition not met at step 1360. No data to save.\n", "1360\n", + "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", + "Condition not met at step 1361. No data to save.\n", "1361\n", + "model_vars.get('Gini', 0)[-1]=0.6764\n", + "Condition not met at step 1362. No data to save.\n", "1362\n", + "model_vars.get('Gini', 0)[-1]=0.685\n", + "Condition not met at step 1363. No data to save.\n", "1363\n", + "model_vars.get('Gini', 0)[-1]=0.69\n", + "Condition not met at step 1364. No data to save.\n", "1364\n", + "model_vars.get('Gini', 0)[-1]=0.6756\n", + "Condition not met at step 1365. No data to save.\n", "1365\n", + "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", + "Condition not met at step 1366. No data to save.\n", "1366\n", + "model_vars.get('Gini', 0)[-1]=0.6702\n", + "Condition not met at step 1367. No data to save.\n", "1367\n", + "model_vars.get('Gini', 0)[-1]=0.6936\n", + "Condition not met at step 1368. No data to save.\n", "1368\n", + "model_vars.get('Gini', 0)[-1]=0.6902\n", + "Condition not met at step 1369. No data to save.\n", "1369\n", + "model_vars.get('Gini', 0)[-1]=0.6908000000000001\n", + "Condition not met at step 1370. No data to save.\n", "1370\n", + "model_vars.get('Gini', 0)[-1]=0.6954\n", + "Condition not met at step 1371. No data to save.\n", "1371\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 1372. No data to save.\n", "1372\n", + "model_vars.get('Gini', 0)[-1]=0.6772\n", + "Condition not met at step 1373. No data to save.\n", "1373\n", + "model_vars.get('Gini', 0)[-1]=0.6836\n", + "Condition not met at step 1374. No data to save.\n", "1374\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 1375. No data to save.\n", "1375\n", + "model_vars.get('Gini', 0)[-1]=0.681\n", + "Condition not met at step 1376. No data to save.\n", "1376\n", + "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", + "Condition not met at step 1377. No data to save.\n", "1377\n", + "model_vars.get('Gini', 0)[-1]=0.6906\n", + "Condition not met at step 1378. No data to save.\n", "1378\n", + "model_vars.get('Gini', 0)[-1]=0.7372000000000001\n", + "Condition met. Appended special results for step 1379 to test_path/special_results.parquet\n", "1379\n", + "model_vars.get('Gini', 0)[-1]=0.7106\n", + "Condition met. Appended special results for step 1380 to test_path/special_results.parquet\n", "1380\n", + "model_vars.get('Gini', 0)[-1]=0.7096\n", + "Condition met. Appended special results for step 1381 to test_path/special_results.parquet\n", "1381\n", + "model_vars.get('Gini', 0)[-1]=0.685\n", + "Condition not met at step 1382. No data to save.\n", "1382\n", + "model_vars.get('Gini', 0)[-1]=0.6634\n", + "Condition not met at step 1383. No data to save.\n", "1383\n", + "model_vars.get('Gini', 0)[-1]=0.6334\n", + "Condition not met at step 1384. No data to save.\n", "1384\n", + "model_vars.get('Gini', 0)[-1]=0.6624\n", + "Condition not met at step 1385. No data to save.\n", "1385\n", + "model_vars.get('Gini', 0)[-1]=0.6612\n", + "Condition not met at step 1386. No data to save.\n", "1386\n", + "model_vars.get('Gini', 0)[-1]=0.6886\n", + "Condition not met at step 1387. No data to save.\n", "1387\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 1388. No data to save.\n", "1388\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 1389. No data to save.\n", "1389\n", + "model_vars.get('Gini', 0)[-1]=0.6592\n", + "Condition not met at step 1390. No data to save.\n", "1390\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 1391. No data to save.\n", "1391\n", + "model_vars.get('Gini', 0)[-1]=0.6798\n", + "Condition not met at step 1392. No data to save.\n", "1392\n", + "model_vars.get('Gini', 0)[-1]=0.6682\n", + "Condition not met at step 1393. No data to save.\n", "1393\n", + "model_vars.get('Gini', 0)[-1]=0.645\n", + "Condition not met at step 1394. No data to save.\n", "1394\n", + "model_vars.get('Gini', 0)[-1]=0.6268\n", + "Condition not met at step 1395. No data to save.\n", "1395\n", + "model_vars.get('Gini', 0)[-1]=0.6232\n", + "Condition not met at step 1396. No data to save.\n", "1396\n", + "model_vars.get('Gini', 0)[-1]=0.607\n", + "Condition not met at step 1397. No data to save.\n", "1397\n", + "model_vars.get('Gini', 0)[-1]=0.6194\n", + "Condition not met at step 1398. No data to save.\n", "1398\n", + "model_vars.get('Gini', 0)[-1]=0.6392\n", + "Condition not met at step 1399. No data to save.\n", "1399\n", "CALLED\n", "self.model._steps=1400\n", " TEST self.model._steps=1400\n", " TEST self._cache_interval=100\n", " Gini\n", - "1300 0.7340\n", - "1301 0.7028\n", - "1302 0.7090\n", - "1303 0.7110\n", - "1304 0.7042\n", + "1300 0.5794\n", + "1301 0.5938\n", + "1302 0.6288\n", + "1303 0.6124\n", + "1304 0.6046\n", "... ...\n", - "1395 0.6168\n", - "1396 0.6126\n", - "1397 0.6136\n", - "1398 0.6016\n", - "1399 0.6364\n", + "1395 0.6232\n", + "1396 0.6070\n", + "1397 0.6194\n", + "1398 0.6392\n", + "1399 0.6406\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_014.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_014.parquet'\n", - "Saving model to output_dir/model_data_014.parquet\n", - "Saving agent to output_dir/agent_data_014.parquet\n", + "model_file='test_path/model_data_014.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_014.parquet'\n", + "Saving model to test_path/model_data_014.parquet\n", + "Saving agent to test_path/agent_data_014.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 1400. No data to save.\n", "1400\n", + "model_vars.get('Gini', 0)[-1]=0.6554\n", + "Condition not met at step 1401. No data to save.\n", "1401\n", + "model_vars.get('Gini', 0)[-1]=0.6462\n", + "Condition not met at step 1402. No data to save.\n", "1402\n", + "model_vars.get('Gini', 0)[-1]=0.6474\n", + "Condition not met at step 1403. No data to save.\n", "1403\n", + "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", + "Condition not met at step 1404. No data to save.\n", "1404\n", + "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", + "Condition not met at step 1405. No data to save.\n", "1405\n", + "model_vars.get('Gini', 0)[-1]=0.655\n", + "Condition not met at step 1406. No data to save.\n", "1406\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 1407. No data to save.\n", "1407\n", + "model_vars.get('Gini', 0)[-1]=0.641\n", + "Condition not met at step 1408. No data to save.\n", "1408\n", + "model_vars.get('Gini', 0)[-1]=0.6302\n", + "Condition not met at step 1409. No data to save.\n", "1409\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 1410. No data to save.\n", "1410\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 1411. No data to save.\n", "1411\n", + "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", + "Condition not met at step 1412. No data to save.\n", "1412\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 1413. No data to save.\n", "1413\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 1414. No data to save.\n", "1414\n", + "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", + "Condition not met at step 1415. No data to save.\n", "1415\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 1416. No data to save.\n", "1416\n", + "model_vars.get('Gini', 0)[-1]=0.6842\n", + "Condition not met at step 1417. No data to save.\n", "1417\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 1418. No data to save.\n", "1418\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 1419. No data to save.\n", "1419\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 1420. No data to save.\n", "1420\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 1421. No data to save.\n", "1421\n", + "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", + "Condition not met at step 1422. No data to save.\n", "1422\n", + "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", + "Condition not met at step 1423. No data to save.\n", "1423\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 1424. No data to save.\n", "1424\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 1425. No data to save.\n", "1425\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 1426. No data to save.\n", "1426\n", + "model_vars.get('Gini', 0)[-1]=0.6166\n", + "Condition not met at step 1427. No data to save.\n", "1427\n", + "model_vars.get('Gini', 0)[-1]=0.603\n", + "Condition not met at step 1428. No data to save.\n", "1428\n", + "model_vars.get('Gini', 0)[-1]=0.5776\n", + "Condition not met at step 1429. No data to save.\n", "1429\n", + "model_vars.get('Gini', 0)[-1]=0.5660000000000001\n", + "Condition not met at step 1430. No data to save.\n", "1430\n", + "model_vars.get('Gini', 0)[-1]=0.5811999999999999\n", + "Condition not met at step 1431. No data to save.\n", "1431\n", + "model_vars.get('Gini', 0)[-1]=0.6016\n", + "Condition not met at step 1432. No data to save.\n", "1432\n", + "model_vars.get('Gini', 0)[-1]=0.5882000000000001\n", + "Condition not met at step 1433. No data to save.\n", "1433\n", + "model_vars.get('Gini', 0)[-1]=0.6082000000000001\n", + "Condition not met at step 1434. No data to save.\n", "1434\n", + "model_vars.get('Gini', 0)[-1]=0.615\n", + "Condition not met at step 1435. No data to save.\n", "1435\n", + "model_vars.get('Gini', 0)[-1]=0.6208\n", + "Condition not met at step 1436. No data to save.\n", "1436\n", + "model_vars.get('Gini', 0)[-1]=0.5973999999999999\n", + "Condition not met at step 1437. No data to save.\n", "1437\n", + "model_vars.get('Gini', 0)[-1]=0.5718000000000001\n", + "Condition not met at step 1438. No data to save.\n", "1438\n", + "model_vars.get('Gini', 0)[-1]=0.5786\n", + "Condition not met at step 1439. No data to save.\n", "1439\n", + "model_vars.get('Gini', 0)[-1]=0.5778000000000001\n", + "Condition not met at step 1440. No data to save.\n", "1440\n", + "model_vars.get('Gini', 0)[-1]=0.6166\n", + "Condition not met at step 1441. No data to save.\n", "1441\n", + "model_vars.get('Gini', 0)[-1]=0.623\n", + "Condition not met at step 1442. No data to save.\n", "1442\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 1443. No data to save.\n", "1443\n", + "model_vars.get('Gini', 0)[-1]=0.6076\n", + "Condition not met at step 1444. No data to save.\n", "1444\n", + "model_vars.get('Gini', 0)[-1]=0.6306\n", + "Condition not met at step 1445. No data to save.\n", "1445\n", + "model_vars.get('Gini', 0)[-1]=0.6186\n", + "Condition not met at step 1446. No data to save.\n", "1446\n", + "model_vars.get('Gini', 0)[-1]=0.6192\n", + "Condition not met at step 1447. No data to save.\n", "1447\n", + "model_vars.get('Gini', 0)[-1]=0.613\n", + "Condition not met at step 1448. No data to save.\n", "1448\n", + "model_vars.get('Gini', 0)[-1]=0.6226\n", + "Condition not met at step 1449. No data to save.\n", "1449\n", + "model_vars.get('Gini', 0)[-1]=0.6268\n", + "Condition not met at step 1450. No data to save.\n", "1450\n", + "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", + "Condition not met at step 1451. No data to save.\n", "1451\n", + "model_vars.get('Gini', 0)[-1]=0.6564\n", + "Condition not met at step 1452. No data to save.\n", "1452\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 1453. No data to save.\n", "1453\n", + "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", + "Condition not met at step 1454. No data to save.\n", "1454\n", + "model_vars.get('Gini', 0)[-1]=0.6694\n", + "Condition not met at step 1455. No data to save.\n", "1455\n", + "model_vars.get('Gini', 0)[-1]=0.6348\n", + "Condition not met at step 1456. No data to save.\n", "1456\n", + "model_vars.get('Gini', 0)[-1]=0.6202000000000001\n", + "Condition not met at step 1457. No data to save.\n", "1457\n", + "model_vars.get('Gini', 0)[-1]=0.6058\n", + "Condition not met at step 1458. No data to save.\n", "1458\n", + "model_vars.get('Gini', 0)[-1]=0.6038\n", + "Condition not met at step 1459. No data to save.\n", "1459\n", + "model_vars.get('Gini', 0)[-1]=0.5986\n", + "Condition not met at step 1460. No data to save.\n", "1460\n", + "model_vars.get('Gini', 0)[-1]=0.611\n", + "Condition not met at step 1461. No data to save.\n", "1461\n", + "model_vars.get('Gini', 0)[-1]=0.6294\n", + "Condition not met at step 1462. No data to save.\n", "1462\n", + "model_vars.get('Gini', 0)[-1]=0.5918\n", + "Condition not met at step 1463. No data to save.\n", "1463\n", + "model_vars.get('Gini', 0)[-1]=0.5814\n", + "Condition not met at step 1464. No data to save.\n", "1464\n", + "model_vars.get('Gini', 0)[-1]=0.5913999999999999\n", + "Condition not met at step 1465. No data to save.\n", "1465\n", + "model_vars.get('Gini', 0)[-1]=0.587\n", + "Condition not met at step 1466. No data to save.\n", "1466\n", + "model_vars.get('Gini', 0)[-1]=0.595\n", + "Condition not met at step 1467. No data to save.\n", "1467\n", + "model_vars.get('Gini', 0)[-1]=0.5740000000000001\n", + "Condition not met at step 1468. No data to save.\n", "1468\n", + "model_vars.get('Gini', 0)[-1]=0.5834\n", + "Condition not met at step 1469. No data to save.\n", "1469\n", + "model_vars.get('Gini', 0)[-1]=0.5626\n", + "Condition not met at step 1470. No data to save.\n", "1470\n", + "model_vars.get('Gini', 0)[-1]=0.5886\n", + "Condition not met at step 1471. No data to save.\n", "1471\n", + "model_vars.get('Gini', 0)[-1]=0.6156\n", + "Condition not met at step 1472. No data to save.\n", "1472\n", + "model_vars.get('Gini', 0)[-1]=0.5844\n", + "Condition not met at step 1473. No data to save.\n", "1473\n", + "model_vars.get('Gini', 0)[-1]=0.6013999999999999\n", + "Condition not met at step 1474. No data to save.\n", "1474\n", + "model_vars.get('Gini', 0)[-1]=0.587\n", + "Condition not met at step 1475. No data to save.\n", "1475\n", + "model_vars.get('Gini', 0)[-1]=0.5913999999999999\n", + "Condition not met at step 1476. No data to save.\n", "1476\n", + "model_vars.get('Gini', 0)[-1]=0.603\n", + "Condition not met at step 1477. No data to save.\n", "1477\n", + "model_vars.get('Gini', 0)[-1]=0.6076\n", + "Condition not met at step 1478. No data to save.\n", "1478\n", + "model_vars.get('Gini', 0)[-1]=0.619\n", + "Condition not met at step 1479. No data to save.\n", "1479\n", + "model_vars.get('Gini', 0)[-1]=0.6574\n", + "Condition not met at step 1480. No data to save.\n", "1480\n", + "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", + "Condition not met at step 1481. No data to save.\n", "1481\n", + "model_vars.get('Gini', 0)[-1]=0.641\n", + "Condition not met at step 1482. No data to save.\n", "1482\n", + "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", + "Condition not met at step 1483. No data to save.\n", "1483\n", + "model_vars.get('Gini', 0)[-1]=0.6344000000000001\n", + "Condition not met at step 1484. No data to save.\n", "1484\n", + "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", + "Condition not met at step 1485. No data to save.\n", "1485\n", + "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", + "Condition not met at step 1486. No data to save.\n", "1486\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 1487. No data to save.\n", "1487\n", + "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", + "Condition not met at step 1488. No data to save.\n", "1488\n", + "model_vars.get('Gini', 0)[-1]=0.629\n", + "Condition not met at step 1489. No data to save.\n", "1489\n", + "model_vars.get('Gini', 0)[-1]=0.611\n", + "Condition not met at step 1490. No data to save.\n", "1490\n", + "model_vars.get('Gini', 0)[-1]=0.6172\n", + "Condition not met at step 1491. No data to save.\n", "1491\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 1492. No data to save.\n", "1492\n", + "model_vars.get('Gini', 0)[-1]=0.6266\n", + "Condition not met at step 1493. No data to save.\n", "1493\n", + "model_vars.get('Gini', 0)[-1]=0.6232\n", + "Condition not met at step 1494. No data to save.\n", "1494\n", + "model_vars.get('Gini', 0)[-1]=0.6038\n", + "Condition not met at step 1495. No data to save.\n", "1495\n", + "model_vars.get('Gini', 0)[-1]=0.599\n", + "Condition not met at step 1496. No data to save.\n", "1496\n", + "model_vars.get('Gini', 0)[-1]=0.5984\n", + "Condition not met at step 1497. No data to save.\n", "1497\n", + "model_vars.get('Gini', 0)[-1]=0.5858\n", + "Condition not met at step 1498. No data to save.\n", "1498\n", + "model_vars.get('Gini', 0)[-1]=0.5858\n", + "Condition not met at step 1499. No data to save.\n", "1499\n", "CALLED\n", "self.model._steps=1500\n", " TEST self.model._steps=1500\n", " TEST self._cache_interval=100\n", " Gini\n", - "1400 0.6408\n", - "1401 0.6330\n", - "1402 0.6278\n", - "1403 0.6626\n", - "1404 0.6406\n", + "1400 0.6554\n", + "1401 0.6462\n", + "1402 0.6474\n", + "1403 0.6526\n", + "1404 0.6426\n", "... ...\n", - "1495 0.6386\n", - "1496 0.6352\n", - "1497 0.6134\n", - "1498 0.6234\n", - "1499 0.6340\n", + "1495 0.5990\n", + "1496 0.5984\n", + "1497 0.5858\n", + "1498 0.5858\n", + "1499 0.5856\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_015.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_015.parquet'\n", - "Saving model to output_dir/model_data_015.parquet\n", - "Saving agent to output_dir/agent_data_015.parquet\n", + "model_file='test_path/model_data_015.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_015.parquet'\n", + "Saving model to test_path/model_data_015.parquet\n", + "Saving agent to test_path/agent_data_015.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.5856\n", + "Condition not met at step 1500. No data to save.\n", "1500\n", + "model_vars.get('Gini', 0)[-1]=0.6012\n", + "Condition not met at step 1501. No data to save.\n", "1501\n", + "model_vars.get('Gini', 0)[-1]=0.6192\n", + "Condition not met at step 1502. No data to save.\n", "1502\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 1503. No data to save.\n", "1503\n", + "model_vars.get('Gini', 0)[-1]=0.6812\n", + "Condition not met at step 1504. No data to save.\n", "1504\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 1505. No data to save.\n", "1505\n", + "model_vars.get('Gini', 0)[-1]=0.6684\n", + "Condition not met at step 1506. No data to save.\n", "1506\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 1507. No data to save.\n", "1507\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 1508. No data to save.\n", "1508\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 1509. No data to save.\n", "1509\n", + "model_vars.get('Gini', 0)[-1]=0.6842\n", + "Condition not met at step 1510. No data to save.\n", "1510\n", + "model_vars.get('Gini', 0)[-1]=0.6990000000000001\n", + "Condition not met at step 1511. No data to save.\n", "1511\n", + "model_vars.get('Gini', 0)[-1]=0.6926\n", + "Condition not met at step 1512. No data to save.\n", "1512\n", + "model_vars.get('Gini', 0)[-1]=0.6972\n", + "Condition not met at step 1513. No data to save.\n", "1513\n", + "model_vars.get('Gini', 0)[-1]=0.7066\n", + "Condition met. Appended special results for step 1514 to test_path/special_results.parquet\n", "1514\n", + "model_vars.get('Gini', 0)[-1]=0.6984\n", + "Condition not met at step 1515. No data to save.\n", "1515\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 1516. No data to save.\n", "1516\n", + "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", + "Condition not met at step 1517. No data to save.\n", "1517\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 1518. No data to save.\n", "1518\n", + "model_vars.get('Gini', 0)[-1]=0.64\n", + "Condition not met at step 1519. No data to save.\n", "1519\n", + "model_vars.get('Gini', 0)[-1]=0.6288\n", + "Condition not met at step 1520. No data to save.\n", "1520\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 1521. No data to save.\n", "1521\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 1522. No data to save.\n", "1522\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 1523. No data to save.\n", "1523\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 1524. No data to save.\n", "1524\n", + "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", + "Condition not met at step 1525. No data to save.\n", "1525\n", + "model_vars.get('Gini', 0)[-1]=0.6474\n", + "Condition not met at step 1526. No data to save.\n", "1526\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 1527. No data to save.\n", "1527\n", + "model_vars.get('Gini', 0)[-1]=0.6096\n", + "Condition not met at step 1528. No data to save.\n", "1528\n", + "model_vars.get('Gini', 0)[-1]=0.666\n", + "Condition not met at step 1529. No data to save.\n", "1529\n", + "model_vars.get('Gini', 0)[-1]=0.6436\n", + "Condition not met at step 1530. No data to save.\n", "1530\n", + "model_vars.get('Gini', 0)[-1]=0.6194\n", + "Condition not met at step 1531. No data to save.\n", "1531\n", + "model_vars.get('Gini', 0)[-1]=0.626\n", + "Condition not met at step 1532. No data to save.\n", "1532\n", + "model_vars.get('Gini', 0)[-1]=0.6146\n", + "Condition not met at step 1533. No data to save.\n", "1533\n", + "model_vars.get('Gini', 0)[-1]=0.6258\n", + "Condition not met at step 1534. No data to save.\n", "1534\n", + "model_vars.get('Gini', 0)[-1]=0.6254\n", + "Condition not met at step 1535. No data to save.\n", "1535\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 1536. No data to save.\n", "1536\n", + "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", + "Condition not met at step 1537. No data to save.\n", "1537\n", + "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", + "Condition not met at step 1538. No data to save.\n", "1538\n", + "model_vars.get('Gini', 0)[-1]=0.6202000000000001\n", + "Condition not met at step 1539. No data to save.\n", "1539\n", + "model_vars.get('Gini', 0)[-1]=0.6164000000000001\n", + "Condition not met at step 1540. No data to save.\n", "1540\n", + "model_vars.get('Gini', 0)[-1]=0.603\n", + "Condition not met at step 1541. No data to save.\n", "1541\n", + "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", + "Condition not met at step 1542. No data to save.\n", "1542\n", + "model_vars.get('Gini', 0)[-1]=0.5884\n", + "Condition not met at step 1543. No data to save.\n", "1543\n", + "model_vars.get('Gini', 0)[-1]=0.6033999999999999\n", + "Condition not met at step 1544. No data to save.\n", "1544\n", + "model_vars.get('Gini', 0)[-1]=0.6348\n", + "Condition not met at step 1545. No data to save.\n", "1545\n", + "model_vars.get('Gini', 0)[-1]=0.6376\n", + "Condition not met at step 1546. No data to save.\n", "1546\n", + "model_vars.get('Gini', 0)[-1]=0.6306\n", + "Condition not met at step 1547. No data to save.\n", "1547\n", + "model_vars.get('Gini', 0)[-1]=0.6306\n", + "Condition not met at step 1548. No data to save.\n", "1548\n", + "model_vars.get('Gini', 0)[-1]=0.6033999999999999\n", + "Condition not met at step 1549. No data to save.\n", "1549\n", + "model_vars.get('Gini', 0)[-1]=0.5868\n", + "Condition not met at step 1550. No data to save.\n", "1550\n", + "model_vars.get('Gini', 0)[-1]=0.6136\n", + "Condition not met at step 1551. No data to save.\n", "1551\n", + "model_vars.get('Gini', 0)[-1]=0.6294\n", + "Condition not met at step 1552. No data to save.\n", "1552\n", + "model_vars.get('Gini', 0)[-1]=0.6272\n", + "Condition not met at step 1553. No data to save.\n", "1553\n", + "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", + "Condition not met at step 1554. No data to save.\n", "1554\n", + "model_vars.get('Gini', 0)[-1]=0.6454\n", + "Condition not met at step 1555. No data to save.\n", "1555\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 1556. No data to save.\n", "1556\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 1557. No data to save.\n", "1557\n", + "model_vars.get('Gini', 0)[-1]=0.6528\n", + "Condition not met at step 1558. No data to save.\n", "1558\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 1559. No data to save.\n", "1559\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 1560. No data to save.\n", "1560\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 1561. No data to save.\n", "1561\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 1562. No data to save.\n", "1562\n", + "model_vars.get('Gini', 0)[-1]=0.6716\n", + "Condition not met at step 1563. No data to save.\n", "1563\n", + "model_vars.get('Gini', 0)[-1]=0.6776\n", + "Condition not met at step 1564. No data to save.\n", "1564\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 1565. No data to save.\n", "1565\n", + "model_vars.get('Gini', 0)[-1]=0.662\n", + "Condition not met at step 1566. No data to save.\n", "1566\n", + "model_vars.get('Gini', 0)[-1]=0.663\n", + "Condition not met at step 1567. No data to save.\n", "1567\n", + "model_vars.get('Gini', 0)[-1]=0.6694\n", + "Condition not met at step 1568. No data to save.\n", "1568\n", + "model_vars.get('Gini', 0)[-1]=0.6514\n", + "Condition not met at step 1569. No data to save.\n", "1569\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 1570. No data to save.\n", "1570\n", + "model_vars.get('Gini', 0)[-1]=0.6682\n", + "Condition not met at step 1571. No data to save.\n", "1571\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 1572. No data to save.\n", "1572\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 1573. No data to save.\n", "1573\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 1574. No data to save.\n", "1574\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 1575. No data to save.\n", "1575\n", + "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", + "Condition not met at step 1576. No data to save.\n", "1576\n", + "model_vars.get('Gini', 0)[-1]=0.6226\n", + "Condition not met at step 1577. No data to save.\n", "1577\n", + "model_vars.get('Gini', 0)[-1]=0.5968\n", + "Condition not met at step 1578. No data to save.\n", "1578\n", + "model_vars.get('Gini', 0)[-1]=0.6002000000000001\n", + "Condition not met at step 1579. No data to save.\n", "1579\n", + "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", + "Condition not met at step 1580. No data to save.\n", "1580\n", + "model_vars.get('Gini', 0)[-1]=0.6474\n", + "Condition not met at step 1581. No data to save.\n", "1581\n", + "model_vars.get('Gini', 0)[-1]=0.6662\n", + "Condition not met at step 1582. No data to save.\n", "1582\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 1583. No data to save.\n", "1583\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 1584. No data to save.\n", "1584\n", + "model_vars.get('Gini', 0)[-1]=0.5976\n", + "Condition not met at step 1585. No data to save.\n", "1585\n", + "model_vars.get('Gini', 0)[-1]=0.6282000000000001\n", + "Condition not met at step 1586. No data to save.\n", "1586\n", + "model_vars.get('Gini', 0)[-1]=0.6678\n", + "Condition not met at step 1587. No data to save.\n", "1587\n", + "model_vars.get('Gini', 0)[-1]=0.7068\n", + "Condition met. Appended special results for step 1588 to test_path/special_results.parquet\n", "1588\n", + "model_vars.get('Gini', 0)[-1]=0.7034\n", + "Condition met. Appended special results for step 1589 to test_path/special_results.parquet\n", "1589\n", + "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", + "Condition not met at step 1590. No data to save.\n", "1590\n", + "model_vars.get('Gini', 0)[-1]=0.6824\n", + "Condition not met at step 1591. No data to save.\n", "1591\n", + "model_vars.get('Gini', 0)[-1]=0.6674\n", + "Condition not met at step 1592. No data to save.\n", "1592\n", + "model_vars.get('Gini', 0)[-1]=0.663\n", + "Condition not met at step 1593. No data to save.\n", "1593\n", + "model_vars.get('Gini', 0)[-1]=0.659\n", + "Condition not met at step 1594. No data to save.\n", "1594\n", + "model_vars.get('Gini', 0)[-1]=0.6608\n", + "Condition not met at step 1595. No data to save.\n", "1595\n", + "model_vars.get('Gini', 0)[-1]=0.6454\n", + "Condition not met at step 1596. No data to save.\n", "1596\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 1597. No data to save.\n", "1597\n", + "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", + "Condition not met at step 1598. No data to save.\n", "1598\n", + "model_vars.get('Gini', 0)[-1]=0.6318\n", + "Condition not met at step 1599. No data to save.\n", "1599\n", "CALLED\n", "self.model._steps=1600\n", " TEST self.model._steps=1600\n", " TEST self._cache_interval=100\n", " Gini\n", - "1500 0.6612\n", - "1501 0.6702\n", - "1502 0.6478\n", - "1503 0.6638\n", - "1504 0.6648\n", + "1500 0.6012\n", + "1501 0.6192\n", + "1502 0.6602\n", + "1503 0.6812\n", + "1504 0.6632\n", "... ...\n", - "1595 0.7150\n", - "1596 0.7262\n", - "1597 0.7246\n", - "1598 0.6906\n", - "1599 0.6838\n", + "1595 0.6454\n", + "1596 0.6582\n", + "1597 0.6726\n", + "1598 0.6318\n", + "1599 0.6750\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_016.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_016.parquet'\n", - "Saving model to output_dir/model_data_016.parquet\n", - "Saving agent to output_dir/agent_data_016.parquet\n", + "model_file='test_path/model_data_016.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_016.parquet'\n", + "Saving model to test_path/model_data_016.parquet\n", + "Saving agent to test_path/agent_data_016.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 1600. No data to save.\n", "1600\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 1601. No data to save.\n", "1601\n", + "model_vars.get('Gini', 0)[-1]=0.6834\n", + "Condition not met at step 1602. No data to save.\n", "1602\n", + "model_vars.get('Gini', 0)[-1]=0.688\n", + "Condition not met at step 1603. No data to save.\n", "1603\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 1604. No data to save.\n", "1604\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 1605. No data to save.\n", "1605\n", + "model_vars.get('Gini', 0)[-1]=0.66\n", + "Condition not met at step 1606. No data to save.\n", "1606\n", + "model_vars.get('Gini', 0)[-1]=0.65\n", + "Condition not met at step 1607. No data to save.\n", "1607\n", + "model_vars.get('Gini', 0)[-1]=0.671\n", + "Condition not met at step 1608. No data to save.\n", "1608\n", + "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", + "Condition not met at step 1609. No data to save.\n", "1609\n", + "model_vars.get('Gini', 0)[-1]=0.6286\n", + "Condition not met at step 1610. No data to save.\n", "1610\n", + "model_vars.get('Gini', 0)[-1]=0.6138\n", + "Condition not met at step 1611. No data to save.\n", "1611\n", + "model_vars.get('Gini', 0)[-1]=0.6412\n", + "Condition not met at step 1612. No data to save.\n", "1612\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 1613. No data to save.\n", "1613\n", + "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", + "Condition not met at step 1614. No data to save.\n", "1614\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 1615. No data to save.\n", "1615\n", + "model_vars.get('Gini', 0)[-1]=0.6934\n", + "Condition not met at step 1616. No data to save.\n", "1616\n", + "model_vars.get('Gini', 0)[-1]=0.6798\n", + "Condition not met at step 1617. No data to save.\n", "1617\n", + "model_vars.get('Gini', 0)[-1]=0.6654\n", + "Condition not met at step 1618. No data to save.\n", "1618\n", + "model_vars.get('Gini', 0)[-1]=0.6652\n", + "Condition not met at step 1619. No data to save.\n", "1619\n", + "model_vars.get('Gini', 0)[-1]=0.667\n", + "Condition not met at step 1620. No data to save.\n", "1620\n", + "model_vars.get('Gini', 0)[-1]=0.6964\n", + "Condition not met at step 1621. No data to save.\n", "1621\n", + "model_vars.get('Gini', 0)[-1]=0.6974\n", + "Condition not met at step 1622. No data to save.\n", "1622\n", + "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", + "Condition not met at step 1623. No data to save.\n", "1623\n", + "model_vars.get('Gini', 0)[-1]=0.6824\n", + "Condition not met at step 1624. No data to save.\n", "1624\n", + "model_vars.get('Gini', 0)[-1]=0.6846\n", + "Condition not met at step 1625. No data to save.\n", "1625\n", + "model_vars.get('Gini', 0)[-1]=0.6882\n", + "Condition not met at step 1626. No data to save.\n", "1626\n", + "model_vars.get('Gini', 0)[-1]=0.685\n", + "Condition not met at step 1627. No data to save.\n", "1627\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 1628. No data to save.\n", "1628\n", + "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", + "Condition not met at step 1629. No data to save.\n", "1629\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 1630. No data to save.\n", "1630\n", + "model_vars.get('Gini', 0)[-1]=0.679\n", + "Condition not met at step 1631. No data to save.\n", "1631\n", + "model_vars.get('Gini', 0)[-1]=0.6732\n", + "Condition not met at step 1632. No data to save.\n", "1632\n", + "model_vars.get('Gini', 0)[-1]=0.665\n", + "Condition not met at step 1633. No data to save.\n", "1633\n", + "model_vars.get('Gini', 0)[-1]=0.6476\n", + "Condition not met at step 1634. No data to save.\n", "1634\n", + "model_vars.get('Gini', 0)[-1]=0.635\n", + "Condition not met at step 1635. No data to save.\n", "1635\n", + "model_vars.get('Gini', 0)[-1]=0.6324000000000001\n", + "Condition not met at step 1636. No data to save.\n", "1636\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 1637. No data to save.\n", "1637\n", + "model_vars.get('Gini', 0)[-1]=0.622\n", + "Condition not met at step 1638. No data to save.\n", "1638\n", + "model_vars.get('Gini', 0)[-1]=0.6184000000000001\n", + "Condition not met at step 1639. No data to save.\n", "1639\n", + "model_vars.get('Gini', 0)[-1]=0.6158\n", + "Condition not met at step 1640. No data to save.\n", "1640\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 1641. No data to save.\n", "1641\n", + "model_vars.get('Gini', 0)[-1]=0.6732\n", + "Condition not met at step 1642. No data to save.\n", "1642\n", + "model_vars.get('Gini', 0)[-1]=0.6672\n", + "Condition not met at step 1643. No data to save.\n", "1643\n", + "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", + "Condition not met at step 1644. No data to save.\n", "1644\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 1645. No data to save.\n", "1645\n", + "model_vars.get('Gini', 0)[-1]=0.664\n", + "Condition not met at step 1646. No data to save.\n", "1646\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 1647. No data to save.\n", "1647\n", + "model_vars.get('Gini', 0)[-1]=0.6882\n", + "Condition not met at step 1648. No data to save.\n", "1648\n", + "model_vars.get('Gini', 0)[-1]=0.6696\n", + "Condition not met at step 1649. No data to save.\n", "1649\n", + "model_vars.get('Gini', 0)[-1]=0.6592\n", + "Condition not met at step 1650. No data to save.\n", "1650\n", + "model_vars.get('Gini', 0)[-1]=0.6492\n", + "Condition not met at step 1651. No data to save.\n", "1651\n", + "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", + "Condition not met at step 1652. No data to save.\n", "1652\n", + "model_vars.get('Gini', 0)[-1]=0.6742\n", + "Condition not met at step 1653. No data to save.\n", "1653\n", + "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", + "Condition not met at step 1654. No data to save.\n", "1654\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 1655. No data to save.\n", "1655\n", + "model_vars.get('Gini', 0)[-1]=0.6312\n", + "Condition not met at step 1656. No data to save.\n", "1656\n", + "model_vars.get('Gini', 0)[-1]=0.6342\n", + "Condition not met at step 1657. No data to save.\n", "1657\n", + "model_vars.get('Gini', 0)[-1]=0.6184000000000001\n", + "Condition not met at step 1658. No data to save.\n", "1658\n", + "model_vars.get('Gini', 0)[-1]=0.6192\n", + "Condition not met at step 1659. No data to save.\n", "1659\n", + "model_vars.get('Gini', 0)[-1]=0.6246\n", + "Condition not met at step 1660. No data to save.\n", "1660\n", + "model_vars.get('Gini', 0)[-1]=0.6254\n", + "Condition not met at step 1661. No data to save.\n", "1661\n", + "model_vars.get('Gini', 0)[-1]=0.6062000000000001\n", + "Condition not met at step 1662. No data to save.\n", "1662\n", + "model_vars.get('Gini', 0)[-1]=0.6062000000000001\n", + "Condition not met at step 1663. No data to save.\n", "1663\n", + "model_vars.get('Gini', 0)[-1]=0.6084\n", + "Condition not met at step 1664. No data to save.\n", "1664\n", + "model_vars.get('Gini', 0)[-1]=0.6152\n", + "Condition not met at step 1665. No data to save.\n", "1665\n", + "model_vars.get('Gini', 0)[-1]=0.6152\n", + "Condition not met at step 1666. No data to save.\n", "1666\n", + "model_vars.get('Gini', 0)[-1]=0.6398\n", + "Condition not met at step 1667. No data to save.\n", "1667\n", + "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", + "Condition not met at step 1668. No data to save.\n", "1668\n", + "model_vars.get('Gini', 0)[-1]=0.626\n", + "Condition not met at step 1669. No data to save.\n", "1669\n", + "model_vars.get('Gini', 0)[-1]=0.6298\n", + "Condition not met at step 1670. No data to save.\n", "1670\n", + "model_vars.get('Gini', 0)[-1]=0.5984\n", + "Condition not met at step 1671. No data to save.\n", "1671\n", + "model_vars.get('Gini', 0)[-1]=0.577\n", + "Condition not met at step 1672. No data to save.\n", "1672\n", + "model_vars.get('Gini', 0)[-1]=0.5791999999999999\n", + "Condition not met at step 1673. No data to save.\n", "1673\n", + "model_vars.get('Gini', 0)[-1]=0.599\n", + "Condition not met at step 1674. No data to save.\n", "1674\n", + "model_vars.get('Gini', 0)[-1]=0.5682\n", + "Condition not met at step 1675. No data to save.\n", "1675\n", + "model_vars.get('Gini', 0)[-1]=0.5718000000000001\n", + "Condition not met at step 1676. No data to save.\n", "1676\n", + "model_vars.get('Gini', 0)[-1]=0.575\n", + "Condition not met at step 1677. No data to save.\n", "1677\n", + "model_vars.get('Gini', 0)[-1]=0.6136\n", + "Condition not met at step 1678. No data to save.\n", "1678\n", + "model_vars.get('Gini', 0)[-1]=0.63\n", + "Condition not met at step 1679. No data to save.\n", "1679\n", + "model_vars.get('Gini', 0)[-1]=0.6302\n", + "Condition not met at step 1680. No data to save.\n", "1680\n", + "model_vars.get('Gini', 0)[-1]=0.6168\n", + "Condition not met at step 1681. No data to save.\n", "1681\n", + "model_vars.get('Gini', 0)[-1]=0.636\n", + "Condition not met at step 1682. No data to save.\n", "1682\n", + "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", + "Condition not met at step 1683. No data to save.\n", "1683\n", + "model_vars.get('Gini', 0)[-1]=0.633\n", + "Condition not met at step 1684. No data to save.\n", "1684\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 1685. No data to save.\n", "1685\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 1686. No data to save.\n", "1686\n", + "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", + "Condition not met at step 1687. No data to save.\n", "1687\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 1688. No data to save.\n", "1688\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 1689. No data to save.\n", "1689\n", + "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", + "Condition not met at step 1690. No data to save.\n", "1690\n", + "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", + "Condition not met at step 1691. No data to save.\n", "1691\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 1692. No data to save.\n", "1692\n", + "model_vars.get('Gini', 0)[-1]=0.644\n", + "Condition not met at step 1693. No data to save.\n", "1693\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 1694. No data to save.\n", "1694\n", + "model_vars.get('Gini', 0)[-1]=0.6846\n", + "Condition not met at step 1695. No data to save.\n", "1695\n", + "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", + "Condition not met at step 1696. No data to save.\n", "1696\n", + "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", + "Condition not met at step 1697. No data to save.\n", "1697\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 1698. No data to save.\n", "1698\n", + "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", + "Condition not met at step 1699. No data to save.\n", "1699\n", "CALLED\n", "self.model._steps=1700\n", " TEST self.model._steps=1700\n", " TEST self._cache_interval=100\n", " Gini\n", - "1600 0.6952\n", - "1601 0.7148\n", - "1602 0.6994\n", - "1603 0.6886\n", - "1604 0.7010\n", + "1600 0.6614\n", + "1601 0.6834\n", + "1602 0.6880\n", + "1603 0.6752\n", + "1604 0.6766\n", "... ...\n", - "1695 0.6130\n", - "1696 0.6006\n", - "1697 0.6050\n", - "1698 0.6002\n", - "1699 0.5850\n", + "1695 0.6726\n", + "1696 0.6748\n", + "1697 0.6706\n", + "1698 0.6786\n", + "1699 0.6730\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_017.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_017.parquet'\n", - "Saving model to output_dir/model_data_017.parquet\n", - "Saving agent to output_dir/agent_data_017.parquet\n", + "model_file='test_path/model_data_017.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_017.parquet'\n", + "Saving model to test_path/model_data_017.parquet\n", + "Saving agent to test_path/agent_data_017.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 1700. No data to save.\n", "1700\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 1701. No data to save.\n", "1701\n", + "model_vars.get('Gini', 0)[-1]=0.654\n", + "Condition not met at step 1702. No data to save.\n", "1702\n", + "model_vars.get('Gini', 0)[-1]=0.653\n", + "Condition not met at step 1703. No data to save.\n", "1703\n", + "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", + "Condition not met at step 1704. No data to save.\n", "1704\n", + "model_vars.get('Gini', 0)[-1]=0.6738\n", + "Condition not met at step 1705. No data to save.\n", "1705\n", + "model_vars.get('Gini', 0)[-1]=0.6776\n", + "Condition not met at step 1706. No data to save.\n", "1706\n", + "model_vars.get('Gini', 0)[-1]=0.6872\n", + "Condition not met at step 1707. No data to save.\n", "1707\n", + "model_vars.get('Gini', 0)[-1]=0.6938\n", + "Condition not met at step 1708. No data to save.\n", "1708\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 1709. No data to save.\n", "1709\n", + "model_vars.get('Gini', 0)[-1]=0.6738\n", + "Condition not met at step 1710. No data to save.\n", "1710\n", + "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", + "Condition not met at step 1711. No data to save.\n", "1711\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 1712. No data to save.\n", "1712\n", + "model_vars.get('Gini', 0)[-1]=0.6564\n", + "Condition not met at step 1713. No data to save.\n", "1713\n", + "model_vars.get('Gini', 0)[-1]=0.6652\n", + "Condition not met at step 1714. No data to save.\n", "1714\n", + "model_vars.get('Gini', 0)[-1]=0.66\n", + "Condition not met at step 1715. No data to save.\n", "1715\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 1716. No data to save.\n", "1716\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 1717. No data to save.\n", "1717\n", + "model_vars.get('Gini', 0)[-1]=0.6376\n", + "Condition not met at step 1718. No data to save.\n", "1718\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 1719. No data to save.\n", "1719\n", + "model_vars.get('Gini', 0)[-1]=0.677\n", + "Condition not met at step 1720. No data to save.\n", "1720\n", + "model_vars.get('Gini', 0)[-1]=0.6956\n", + "Condition not met at step 1721. No data to save.\n", "1721\n", + "model_vars.get('Gini', 0)[-1]=0.7052\n", + "Condition met. Appended special results for step 1722 to test_path/special_results.parquet\n", "1722\n", + "model_vars.get('Gini', 0)[-1]=0.7094\n", + "Condition met. Appended special results for step 1723 to test_path/special_results.parquet\n", "1723\n", + "model_vars.get('Gini', 0)[-1]=0.6944\n", + "Condition not met at step 1724. No data to save.\n", "1724\n", + "model_vars.get('Gini', 0)[-1]=0.6921999999999999\n", + "Condition not met at step 1725. No data to save.\n", "1725\n", + "model_vars.get('Gini', 0)[-1]=0.6744\n", + "Condition not met at step 1726. No data to save.\n", "1726\n", + "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", + "Condition not met at step 1727. No data to save.\n", "1727\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 1728. No data to save.\n", "1728\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 1729. No data to save.\n", "1729\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 1730. No data to save.\n", "1730\n", + "model_vars.get('Gini', 0)[-1]=0.696\n", + "Condition not met at step 1731. No data to save.\n", "1731\n", + "model_vars.get('Gini', 0)[-1]=0.7028000000000001\n", + "Condition met. Appended special results for step 1732 to test_path/special_results.parquet\n", "1732\n", + "model_vars.get('Gini', 0)[-1]=0.7132000000000001\n", + "Condition met. Appended special results for step 1733 to test_path/special_results.parquet\n", "1733\n", + "model_vars.get('Gini', 0)[-1]=0.7076\n", + "Condition met. Appended special results for step 1734 to test_path/special_results.parquet\n", "1734\n", + "model_vars.get('Gini', 0)[-1]=0.7094\n", + "Condition met. Appended special results for step 1735 to test_path/special_results.parquet\n", "1735\n", + "model_vars.get('Gini', 0)[-1]=0.7203999999999999\n", + "Condition met. Appended special results for step 1736 to test_path/special_results.parquet\n", "1736\n", + "model_vars.get('Gini', 0)[-1]=0.7030000000000001\n", + "Condition met. Appended special results for step 1737 to test_path/special_results.parquet\n", "1737\n", + "model_vars.get('Gini', 0)[-1]=0.7156\n", + "Condition met. Appended special results for step 1738 to test_path/special_results.parquet\n", "1738\n", + "model_vars.get('Gini', 0)[-1]=0.7142\n", + "Condition met. Appended special results for step 1739 to test_path/special_results.parquet\n", "1739\n", + "model_vars.get('Gini', 0)[-1]=0.742\n", + "Condition met. Appended special results for step 1740 to test_path/special_results.parquet\n", "1740\n", + "model_vars.get('Gini', 0)[-1]=0.7408\n", + "Condition met. Appended special results for step 1741 to test_path/special_results.parquet\n", "1741\n", + "model_vars.get('Gini', 0)[-1]=0.74\n", + "Condition met. Appended special results for step 1742 to test_path/special_results.parquet\n", "1742\n", + "model_vars.get('Gini', 0)[-1]=0.738\n", + "Condition met. Appended special results for step 1743 to test_path/special_results.parquet\n", "1743\n", + "model_vars.get('Gini', 0)[-1]=0.7328\n", + "Condition met. Appended special results for step 1744 to test_path/special_results.parquet\n", "1744\n", + "model_vars.get('Gini', 0)[-1]=0.742\n", + "Condition met. Appended special results for step 1745 to test_path/special_results.parquet\n", "1745\n", + "model_vars.get('Gini', 0)[-1]=0.7408\n", + "Condition met. Appended special results for step 1746 to test_path/special_results.parquet\n", "1746\n", + "model_vars.get('Gini', 0)[-1]=0.7438\n", + "Condition met. Appended special results for step 1747 to test_path/special_results.parquet\n", "1747\n", + "model_vars.get('Gini', 0)[-1]=0.7214\n", + "Condition met. Appended special results for step 1748 to test_path/special_results.parquet\n", "1748\n", + "model_vars.get('Gini', 0)[-1]=0.7130000000000001\n", + "Condition met. Appended special results for step 1749 to test_path/special_results.parquet\n", "1749\n", + "model_vars.get('Gini', 0)[-1]=0.7108\n", + "Condition met. Appended special results for step 1750 to test_path/special_results.parquet\n", "1750\n", + "model_vars.get('Gini', 0)[-1]=0.6878\n", + "Condition not met at step 1751. No data to save.\n", "1751\n", + "model_vars.get('Gini', 0)[-1]=0.7034\n", + "Condition met. Appended special results for step 1752 to test_path/special_results.parquet\n", "1752\n", + "model_vars.get('Gini', 0)[-1]=0.7076\n", + "Condition met. Appended special results for step 1753 to test_path/special_results.parquet\n", "1753\n", + "model_vars.get('Gini', 0)[-1]=0.7178\n", + "Condition met. Appended special results for step 1754 to test_path/special_results.parquet\n", "1754\n", + "model_vars.get('Gini', 0)[-1]=0.7081999999999999\n", + "Condition met. Appended special results for step 1755 to test_path/special_results.parquet\n", "1755\n", + "model_vars.get('Gini', 0)[-1]=0.7154\n", + "Condition met. Appended special results for step 1756 to test_path/special_results.parquet\n", "1756\n", + "model_vars.get('Gini', 0)[-1]=0.7352000000000001\n", + "Condition met. Appended special results for step 1757 to test_path/special_results.parquet\n", "1757\n", + "model_vars.get('Gini', 0)[-1]=0.7372000000000001\n", + "Condition met. Appended special results for step 1758 to test_path/special_results.parquet\n", "1758\n", + "model_vars.get('Gini', 0)[-1]=0.7452000000000001\n", + "Condition met. Appended special results for step 1759 to test_path/special_results.parquet\n", "1759\n", + "model_vars.get('Gini', 0)[-1]=0.76\n", + "Condition met. Appended special results for step 1760 to test_path/special_results.parquet\n", "1760\n", + "model_vars.get('Gini', 0)[-1]=0.7445999999999999\n", + "Condition met. Appended special results for step 1761 to test_path/special_results.parquet\n", "1761\n", + "model_vars.get('Gini', 0)[-1]=0.7404\n", + "Condition met. Appended special results for step 1762 to test_path/special_results.parquet\n", "1762\n", + "model_vars.get('Gini', 0)[-1]=0.7124\n", + "Condition met. Appended special results for step 1763 to test_path/special_results.parquet\n", "1763\n", + "model_vars.get('Gini', 0)[-1]=0.7163999999999999\n", + "Condition met. Appended special results for step 1764 to test_path/special_results.parquet\n", "1764\n", + "model_vars.get('Gini', 0)[-1]=0.7056\n", + "Condition met. Appended special results for step 1765 to test_path/special_results.parquet\n", "1765\n", + "model_vars.get('Gini', 0)[-1]=0.6884\n", + "Condition not met at step 1766. No data to save.\n", "1766\n", + "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", + "Condition not met at step 1767. No data to save.\n", "1767\n", + "model_vars.get('Gini', 0)[-1]=0.6868000000000001\n", + "Condition not met at step 1768. No data to save.\n", "1768\n", + "model_vars.get('Gini', 0)[-1]=0.7194\n", + "Condition met. Appended special results for step 1769 to test_path/special_results.parquet\n", "1769\n", + "model_vars.get('Gini', 0)[-1]=0.6924\n", + "Condition not met at step 1770. No data to save.\n", "1770\n", + "model_vars.get('Gini', 0)[-1]=0.6804\n", + "Condition not met at step 1771. No data to save.\n", "1771\n", + "model_vars.get('Gini', 0)[-1]=0.6918\n", + "Condition not met at step 1772. No data to save.\n", "1772\n", + "model_vars.get('Gini', 0)[-1]=0.6844\n", + "Condition not met at step 1773. No data to save.\n", "1773\n", + "model_vars.get('Gini', 0)[-1]=0.6872\n", + "Condition not met at step 1774. No data to save.\n", "1774\n", + "model_vars.get('Gini', 0)[-1]=0.669\n", + "Condition not met at step 1775. No data to save.\n", "1775\n", + "model_vars.get('Gini', 0)[-1]=0.671\n", + "Condition not met at step 1776. No data to save.\n", "1776\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 1777. No data to save.\n", "1777\n", + "model_vars.get('Gini', 0)[-1]=0.6422\n", + "Condition not met at step 1778. No data to save.\n", "1778\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 1779. No data to save.\n", "1779\n", + "model_vars.get('Gini', 0)[-1]=0.63\n", + "Condition not met at step 1780. No data to save.\n", "1780\n", + "model_vars.get('Gini', 0)[-1]=0.6332\n", + "Condition not met at step 1781. No data to save.\n", "1781\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 1782. No data to save.\n", "1782\n", + "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", + "Condition not met at step 1783. No data to save.\n", "1783\n", + "model_vars.get('Gini', 0)[-1]=0.6474\n", + "Condition not met at step 1784. No data to save.\n", "1784\n", + "model_vars.get('Gini', 0)[-1]=0.622\n", + "Condition not met at step 1785. No data to save.\n", "1785\n", + "model_vars.get('Gini', 0)[-1]=0.6326\n", + "Condition not met at step 1786. No data to save.\n", "1786\n", + "model_vars.get('Gini', 0)[-1]=0.6198\n", + "Condition not met at step 1787. No data to save.\n", "1787\n", + "model_vars.get('Gini', 0)[-1]=0.6020000000000001\n", + "Condition not met at step 1788. No data to save.\n", "1788\n", + "model_vars.get('Gini', 0)[-1]=0.5938\n", + "Condition not met at step 1789. No data to save.\n", "1789\n", + "model_vars.get('Gini', 0)[-1]=0.5960000000000001\n", + "Condition not met at step 1790. No data to save.\n", "1790\n", + "model_vars.get('Gini', 0)[-1]=0.5912\n", + "Condition not met at step 1791. No data to save.\n", "1791\n", + "model_vars.get('Gini', 0)[-1]=0.6234\n", + "Condition not met at step 1792. No data to save.\n", "1792\n", + "model_vars.get('Gini', 0)[-1]=0.5998\n", + "Condition not met at step 1793. No data to save.\n", "1793\n", + "model_vars.get('Gini', 0)[-1]=0.6116\n", + "Condition not met at step 1794. No data to save.\n", "1794\n", + "model_vars.get('Gini', 0)[-1]=0.6232\n", + "Condition not met at step 1795. No data to save.\n", "1795\n", + "model_vars.get('Gini', 0)[-1]=0.6408\n", + "Condition not met at step 1796. No data to save.\n", "1796\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 1797. No data to save.\n", "1797\n", + "model_vars.get('Gini', 0)[-1]=0.6676\n", + "Condition not met at step 1798. No data to save.\n", "1798\n", + "model_vars.get('Gini', 0)[-1]=0.661\n", + "Condition not met at step 1799. No data to save.\n", "1799\n", "CALLED\n", "self.model._steps=1800\n", " TEST self.model._steps=1800\n", " TEST self._cache_interval=100\n", " Gini\n", - "1700 0.5704\n", - "1701 0.5840\n", - "1702 0.5956\n", - "1703 0.6024\n", - "1704 0.6298\n", + "1700 0.6658\n", + "1701 0.6540\n", + "1702 0.6530\n", + "1703 0.6748\n", + "1704 0.6738\n", "... ...\n", - "1795 0.6470\n", - "1796 0.6504\n", - "1797 0.6308\n", - "1798 0.6372\n", - "1799 0.6220\n", + "1795 0.6408\n", + "1796 0.6602\n", + "1797 0.6676\n", + "1798 0.6610\n", + "1799 0.6514\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_018.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_018.parquet'\n", - "Saving model to output_dir/model_data_018.parquet\n", - "Saving agent to output_dir/agent_data_018.parquet\n", + "model_file='test_path/model_data_018.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_018.parquet'\n", + "Saving model to test_path/model_data_018.parquet\n", + "Saving agent to test_path/agent_data_018.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6514\n", + "Condition not met at step 1800. No data to save.\n", "1800\n", + "model_vars.get('Gini', 0)[-1]=0.6714\n", + "Condition not met at step 1801. No data to save.\n", "1801\n", + "model_vars.get('Gini', 0)[-1]=0.6408\n", + "Condition not met at step 1802. No data to save.\n", "1802\n", + "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", + "Condition not met at step 1803. No data to save.\n", "1803\n", + "model_vars.get('Gini', 0)[-1]=0.6528\n", + "Condition not met at step 1804. No data to save.\n", "1804\n", + "model_vars.get('Gini', 0)[-1]=0.6374\n", + "Condition not met at step 1805. No data to save.\n", "1805\n", + "model_vars.get('Gini', 0)[-1]=0.657\n", + "Condition not met at step 1806. No data to save.\n", "1806\n", + "model_vars.get('Gini', 0)[-1]=0.6584\n", + "Condition not met at step 1807. No data to save.\n", "1807\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 1808. No data to save.\n", "1808\n", + "model_vars.get('Gini', 0)[-1]=0.623\n", + "Condition not met at step 1809. No data to save.\n", "1809\n", + "model_vars.get('Gini', 0)[-1]=0.6402\n", + "Condition not met at step 1810. No data to save.\n", "1810\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 1811. No data to save.\n", "1811\n", + "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", + "Condition not met at step 1812. No data to save.\n", "1812\n", + "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", + "Condition not met at step 1813. No data to save.\n", "1813\n", + "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", + "Condition not met at step 1814. No data to save.\n", "1814\n", + "model_vars.get('Gini', 0)[-1]=0.6152\n", + "Condition not met at step 1815. No data to save.\n", "1815\n", + "model_vars.get('Gini', 0)[-1]=0.6016\n", + "Condition not met at step 1816. No data to save.\n", "1816\n", + "model_vars.get('Gini', 0)[-1]=0.6106\n", + "Condition not met at step 1817. No data to save.\n", "1817\n", + "model_vars.get('Gini', 0)[-1]=0.6106\n", + "Condition not met at step 1818. No data to save.\n", "1818\n", + "model_vars.get('Gini', 0)[-1]=0.6248\n", + "Condition not met at step 1819. No data to save.\n", "1819\n", + "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", + "Condition not met at step 1820. No data to save.\n", "1820\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 1821. No data to save.\n", "1821\n", + "model_vars.get('Gini', 0)[-1]=0.6138\n", + "Condition not met at step 1822. No data to save.\n", "1822\n", + "model_vars.get('Gini', 0)[-1]=0.6024\n", + "Condition not met at step 1823. No data to save.\n", "1823\n", + "model_vars.get('Gini', 0)[-1]=0.585\n", + "Condition not met at step 1824. No data to save.\n", "1824\n", + "model_vars.get('Gini', 0)[-1]=0.618\n", + "Condition not met at step 1825. No data to save.\n", "1825\n", + "model_vars.get('Gini', 0)[-1]=0.6016\n", + "Condition not met at step 1826. No data to save.\n", "1826\n", + "model_vars.get('Gini', 0)[-1]=0.5840000000000001\n", + "Condition not met at step 1827. No data to save.\n", "1827\n", + "model_vars.get('Gini', 0)[-1]=0.5882000000000001\n", + "Condition not met at step 1828. No data to save.\n", "1828\n", + "model_vars.get('Gini', 0)[-1]=0.6020000000000001\n", + "Condition not met at step 1829. No data to save.\n", "1829\n", + "model_vars.get('Gini', 0)[-1]=0.6342\n", + "Condition not met at step 1830. No data to save.\n", "1830\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 1831. No data to save.\n", "1831\n", + "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", + "Condition not met at step 1832. No data to save.\n", "1832\n", + "model_vars.get('Gini', 0)[-1]=0.628\n", + "Condition not met at step 1833. No data to save.\n", "1833\n", + "model_vars.get('Gini', 0)[-1]=0.615\n", + "Condition not met at step 1834. No data to save.\n", "1834\n", + "model_vars.get('Gini', 0)[-1]=0.6048\n", + "Condition not met at step 1835. No data to save.\n", "1835\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 1836. No data to save.\n", "1836\n", + "model_vars.get('Gini', 0)[-1]=0.6282000000000001\n", + "Condition not met at step 1837. No data to save.\n", "1837\n", + "model_vars.get('Gini', 0)[-1]=0.6652\n", + "Condition not met at step 1838. No data to save.\n", "1838\n", + "model_vars.get('Gini', 0)[-1]=0.6215999999999999\n", + "Condition not met at step 1839. No data to save.\n", "1839\n", + "model_vars.get('Gini', 0)[-1]=0.6068\n", + "Condition not met at step 1840. No data to save.\n", "1840\n", + "model_vars.get('Gini', 0)[-1]=0.6248\n", + "Condition not met at step 1841. No data to save.\n", "1841\n", + "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", + "Condition not met at step 1842. No data to save.\n", "1842\n", + "model_vars.get('Gini', 0)[-1]=0.6302\n", + "Condition not met at step 1843. No data to save.\n", "1843\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 1844. No data to save.\n", "1844\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 1845. No data to save.\n", "1845\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 1846. No data to save.\n", "1846\n", + "model_vars.get('Gini', 0)[-1]=0.609\n", + "Condition not met at step 1847. No data to save.\n", "1847\n", + "model_vars.get('Gini', 0)[-1]=0.64\n", + "Condition not met at step 1848. No data to save.\n", "1848\n", + "model_vars.get('Gini', 0)[-1]=0.623\n", + "Condition not met at step 1849. No data to save.\n", "1849\n", + "model_vars.get('Gini', 0)[-1]=0.6494\n", + "Condition not met at step 1850. No data to save.\n", "1850\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 1851. No data to save.\n", "1851\n", + "model_vars.get('Gini', 0)[-1]=0.6474\n", + "Condition not met at step 1852. No data to save.\n", "1852\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 1853. No data to save.\n", "1853\n", + "model_vars.get('Gini', 0)[-1]=0.644\n", + "Condition not met at step 1854. No data to save.\n", "1854\n", + "model_vars.get('Gini', 0)[-1]=0.6756\n", + "Condition not met at step 1855. No data to save.\n", "1855\n", + "model_vars.get('Gini', 0)[-1]=0.6772\n", + "Condition not met at step 1856. No data to save.\n", "1856\n", + "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", + "Condition not met at step 1857. No data to save.\n", "1857\n", + "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", + "Condition not met at step 1858. No data to save.\n", "1858\n", + "model_vars.get('Gini', 0)[-1]=0.6952\n", + "Condition not met at step 1859. No data to save.\n", "1859\n", + "model_vars.get('Gini', 0)[-1]=0.6854\n", + "Condition not met at step 1860. No data to save.\n", "1860\n", + "model_vars.get('Gini', 0)[-1]=0.657\n", + "Condition not met at step 1861. No data to save.\n", "1861\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 1862. No data to save.\n", "1862\n", + "model_vars.get('Gini', 0)[-1]=0.6198\n", + "Condition not met at step 1863. No data to save.\n", "1863\n", + "model_vars.get('Gini', 0)[-1]=0.609\n", + "Condition not met at step 1864. No data to save.\n", "1864\n", + "model_vars.get('Gini', 0)[-1]=0.6134\n", + "Condition not met at step 1865. No data to save.\n", "1865\n", + "model_vars.get('Gini', 0)[-1]=0.6072\n", + "Condition not met at step 1866. No data to save.\n", "1866\n", + "model_vars.get('Gini', 0)[-1]=0.6234\n", + "Condition not met at step 1867. No data to save.\n", "1867\n", + "model_vars.get('Gini', 0)[-1]=0.6038\n", + "Condition not met at step 1868. No data to save.\n", "1868\n", + "model_vars.get('Gini', 0)[-1]=0.6226\n", + "Condition not met at step 1869. No data to save.\n", "1869\n", + "model_vars.get('Gini', 0)[-1]=0.5726\n", + "Condition not met at step 1870. No data to save.\n", "1870\n", + "model_vars.get('Gini', 0)[-1]=0.5686\n", + "Condition not met at step 1871. No data to save.\n", "1871\n", + "model_vars.get('Gini', 0)[-1]=0.5932\n", + "Condition not met at step 1872. No data to save.\n", "1872\n", + "model_vars.get('Gini', 0)[-1]=0.5734\n", + "Condition not met at step 1873. No data to save.\n", "1873\n", + "model_vars.get('Gini', 0)[-1]=0.5418000000000001\n", + "Condition not met at step 1874. No data to save.\n", "1874\n", + "model_vars.get('Gini', 0)[-1]=0.5686\n", + "Condition not met at step 1875. No data to save.\n", "1875\n", + "model_vars.get('Gini', 0)[-1]=0.5726\n", + "Condition not met at step 1876. No data to save.\n", "1876\n", + "model_vars.get('Gini', 0)[-1]=0.5926\n", + "Condition not met at step 1877. No data to save.\n", "1877\n", + "model_vars.get('Gini', 0)[-1]=0.5704\n", + "Condition not met at step 1878. No data to save.\n", "1878\n", + "model_vars.get('Gini', 0)[-1]=0.6214\n", + "Condition not met at step 1879. No data to save.\n", "1879\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 1880. No data to save.\n", "1880\n", + "model_vars.get('Gini', 0)[-1]=0.666\n", + "Condition not met at step 1881. No data to save.\n", "1881\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 1882. No data to save.\n", "1882\n", + "model_vars.get('Gini', 0)[-1]=0.6698\n", + "Condition not met at step 1883. No data to save.\n", "1883\n", + "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", + "Condition not met at step 1884. No data to save.\n", "1884\n", + "model_vars.get('Gini', 0)[-1]=0.6724\n", + "Condition not met at step 1885. No data to save.\n", "1885\n", + "model_vars.get('Gini', 0)[-1]=0.6864\n", + "Condition not met at step 1886. No data to save.\n", "1886\n", + "model_vars.get('Gini', 0)[-1]=0.6921999999999999\n", + "Condition not met at step 1887. No data to save.\n", "1887\n", + "model_vars.get('Gini', 0)[-1]=0.6926\n", + "Condition not met at step 1888. No data to save.\n", "1888\n", + "model_vars.get('Gini', 0)[-1]=0.6916\n", + "Condition not met at step 1889. No data to save.\n", "1889\n", + "model_vars.get('Gini', 0)[-1]=0.6918\n", + "Condition not met at step 1890. No data to save.\n", "1890\n", + "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", + "Condition not met at step 1891. No data to save.\n", "1891\n", + "model_vars.get('Gini', 0)[-1]=0.6998\n", + "Condition not met at step 1892. No data to save.\n", "1892\n", + "model_vars.get('Gini', 0)[-1]=0.704\n", + "Condition met. Appended special results for step 1893 to test_path/special_results.parquet\n", "1893\n", + "model_vars.get('Gini', 0)[-1]=0.702\n", + "Condition met. Appended special results for step 1894 to test_path/special_results.parquet\n", "1894\n", + "model_vars.get('Gini', 0)[-1]=0.692\n", + "Condition not met at step 1895. No data to save.\n", "1895\n", + "model_vars.get('Gini', 0)[-1]=0.6882\n", + "Condition not met at step 1896. No data to save.\n", "1896\n", + "model_vars.get('Gini', 0)[-1]=0.6914\n", + "Condition not met at step 1897. No data to save.\n", "1897\n", + "model_vars.get('Gini', 0)[-1]=0.6844\n", + "Condition not met at step 1898. No data to save.\n", "1898\n", + "model_vars.get('Gini', 0)[-1]=0.6692\n", + "Condition not met at step 1899. No data to save.\n", "1899\n", "CALLED\n", "self.model._steps=1900\n", " TEST self.model._steps=1900\n", " TEST self._cache_interval=100\n", " Gini\n", - "1800 0.6428\n", - "1801 0.6518\n", - "1802 0.6422\n", - "1803 0.6568\n", - "1804 0.6676\n", + "1800 0.6714\n", + "1801 0.6408\n", + "1802 0.6296\n", + "1803 0.6528\n", + "1804 0.6374\n", "... ...\n", - "1895 0.6824\n", - "1896 0.6732\n", - "1897 0.6770\n", - "1898 0.6472\n", - "1899 0.6642\n", + "1895 0.6882\n", + "1896 0.6914\n", + "1897 0.6844\n", + "1898 0.6692\n", + "1899 0.6628\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_019.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_019.parquet'\n", - "Saving model to output_dir/model_data_019.parquet\n", - "Saving agent to output_dir/agent_data_019.parquet\n", + "model_file='test_path/model_data_019.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_019.parquet'\n", + "Saving model to test_path/model_data_019.parquet\n", + "Saving agent to test_path/agent_data_019.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", + "Condition not met at step 1900. No data to save.\n", "1900\n", + "model_vars.get('Gini', 0)[-1]=0.657\n", + "Condition not met at step 1901. No data to save.\n", "1901\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 1902. No data to save.\n", "1902\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 1903. No data to save.\n", "1903\n", + "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", + "Condition not met at step 1904. No data to save.\n", "1904\n", + "model_vars.get('Gini', 0)[-1]=0.6396\n", + "Condition not met at step 1905. No data to save.\n", "1905\n", + "model_vars.get('Gini', 0)[-1]=0.644\n", + "Condition not met at step 1906. No data to save.\n", "1906\n", + "model_vars.get('Gini', 0)[-1]=0.6366\n", + "Condition not met at step 1907. No data to save.\n", "1907\n", + "model_vars.get('Gini', 0)[-1]=0.631\n", + "Condition not met at step 1908. No data to save.\n", "1908\n", + "model_vars.get('Gini', 0)[-1]=0.636\n", + "Condition not met at step 1909. No data to save.\n", "1909\n", + "model_vars.get('Gini', 0)[-1]=0.6268\n", + "Condition not met at step 1910. No data to save.\n", "1910\n", + "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", + "Condition not met at step 1911. No data to save.\n", "1911\n", + "model_vars.get('Gini', 0)[-1]=0.6314\n", + "Condition not met at step 1912. No data to save.\n", "1912\n", + "model_vars.get('Gini', 0)[-1]=0.6376\n", + "Condition not met at step 1913. No data to save.\n", "1913\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 1914. No data to save.\n", "1914\n", + "model_vars.get('Gini', 0)[-1]=0.6452\n", + "Condition not met at step 1915. No data to save.\n", "1915\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 1916. No data to save.\n", "1916\n", + "model_vars.get('Gini', 0)[-1]=0.6572\n", + "Condition not met at step 1917. No data to save.\n", "1917\n", + "model_vars.get('Gini', 0)[-1]=0.6516\n", + "Condition not met at step 1918. No data to save.\n", "1918\n", + "model_vars.get('Gini', 0)[-1]=0.665\n", + "Condition not met at step 1919. No data to save.\n", "1919\n", + "model_vars.get('Gini', 0)[-1]=0.636\n", + "Condition not met at step 1920. No data to save.\n", "1920\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 1921. No data to save.\n", "1921\n", + "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", + "Condition not met at step 1922. No data to save.\n", "1922\n", + "model_vars.get('Gini', 0)[-1]=0.6844\n", + "Condition not met at step 1923. No data to save.\n", "1923\n", + "model_vars.get('Gini', 0)[-1]=0.7070000000000001\n", + "Condition met. Appended special results for step 1924 to test_path/special_results.parquet\n", "1924\n", + "model_vars.get('Gini', 0)[-1]=0.6584\n", + "Condition not met at step 1925. No data to save.\n", "1925\n", + "model_vars.get('Gini', 0)[-1]=0.6422\n", + "Condition not met at step 1926. No data to save.\n", "1926\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 1927. No data to save.\n", "1927\n", + "model_vars.get('Gini', 0)[-1]=0.6376\n", + "Condition not met at step 1928. No data to save.\n", "1928\n", + "model_vars.get('Gini', 0)[-1]=0.6338\n", + "Condition not met at step 1929. No data to save.\n", "1929\n", + "model_vars.get('Gini', 0)[-1]=0.6436\n", + "Condition not met at step 1930. No data to save.\n", "1930\n", + "model_vars.get('Gini', 0)[-1]=0.6494\n", + "Condition not met at step 1931. No data to save.\n", "1931\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 1932. No data to save.\n", "1932\n", + "model_vars.get('Gini', 0)[-1]=0.6694\n", + "Condition not met at step 1933. No data to save.\n", "1933\n", + "model_vars.get('Gini', 0)[-1]=0.669\n", + "Condition not met at step 1934. No data to save.\n", "1934\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 1935. No data to save.\n", "1935\n", + "model_vars.get('Gini', 0)[-1]=0.5906\n", + "Condition not met at step 1936. No data to save.\n", "1936\n", + "model_vars.get('Gini', 0)[-1]=0.6254\n", + "Condition not met at step 1937. No data to save.\n", "1937\n", + "model_vars.get('Gini', 0)[-1]=0.651\n", + "Condition not met at step 1938. No data to save.\n", "1938\n", + "model_vars.get('Gini', 0)[-1]=0.6488\n", + "Condition not met at step 1939. No data to save.\n", "1939\n", + "model_vars.get('Gini', 0)[-1]=0.641\n", + "Condition not met at step 1940. No data to save.\n", "1940\n", + "model_vars.get('Gini', 0)[-1]=0.6098\n", + "Condition not met at step 1941. No data to save.\n", "1941\n", + "model_vars.get('Gini', 0)[-1]=0.6322\n", + "Condition not met at step 1942. No data to save.\n", "1942\n", + "model_vars.get('Gini', 0)[-1]=0.6372\n", + "Condition not met at step 1943. No data to save.\n", "1943\n", + "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", + "Condition not met at step 1944. No data to save.\n", "1944\n", + "model_vars.get('Gini', 0)[-1]=0.632\n", + "Condition not met at step 1945. No data to save.\n", "1945\n", + "model_vars.get('Gini', 0)[-1]=0.6052\n", + "Condition not met at step 1946. No data to save.\n", "1946\n", + "model_vars.get('Gini', 0)[-1]=0.6004\n", + "Condition not met at step 1947. No data to save.\n", "1947\n", + "model_vars.get('Gini', 0)[-1]=0.5936\n", + "Condition not met at step 1948. No data to save.\n", "1948\n", + "model_vars.get('Gini', 0)[-1]=0.6152\n", + "Condition not met at step 1949. No data to save.\n", "1949\n", + "model_vars.get('Gini', 0)[-1]=0.6136\n", + "Condition not met at step 1950. No data to save.\n", "1950\n", + "model_vars.get('Gini', 0)[-1]=0.6312\n", + "Condition not met at step 1951. No data to save.\n", "1951\n", + "model_vars.get('Gini', 0)[-1]=0.6046\n", + "Condition not met at step 1952. No data to save.\n", "1952\n", + "model_vars.get('Gini', 0)[-1]=0.6056\n", + "Condition not met at step 1953. No data to save.\n", "1953\n", + "model_vars.get('Gini', 0)[-1]=0.5814\n", + "Condition not met at step 1954. No data to save.\n", "1954\n", + "model_vars.get('Gini', 0)[-1]=0.5766\n", + "Condition not met at step 1955. No data to save.\n", "1955\n", + "model_vars.get('Gini', 0)[-1]=0.5962000000000001\n", + "Condition not met at step 1956. No data to save.\n", "1956\n", + "model_vars.get('Gini', 0)[-1]=0.5972\n", + "Condition not met at step 1957. No data to save.\n", "1957\n", + "model_vars.get('Gini', 0)[-1]=0.5842\n", + "Condition not met at step 1958. No data to save.\n", "1958\n", + "model_vars.get('Gini', 0)[-1]=0.6084\n", + "Condition not met at step 1959. No data to save.\n", "1959\n", + "model_vars.get('Gini', 0)[-1]=0.5702\n", + "Condition not met at step 1960. No data to save.\n", "1960\n", + "model_vars.get('Gini', 0)[-1]=0.5776\n", + "Condition not met at step 1961. No data to save.\n", "1961\n", + "model_vars.get('Gini', 0)[-1]=0.6112\n", + "Condition not met at step 1962. No data to save.\n", "1962\n", + "model_vars.get('Gini', 0)[-1]=0.6192\n", + "Condition not met at step 1963. No data to save.\n", "1963\n", + "model_vars.get('Gini', 0)[-1]=0.6116\n", + "Condition not met at step 1964. No data to save.\n", "1964\n", + "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", + "Condition not met at step 1965. No data to save.\n", "1965\n", + "model_vars.get('Gini', 0)[-1]=0.6454\n", + "Condition not met at step 1966. No data to save.\n", "1966\n", + "model_vars.get('Gini', 0)[-1]=0.654\n", + "Condition not met at step 1967. No data to save.\n", "1967\n", + "model_vars.get('Gini', 0)[-1]=0.6396\n", + "Condition not met at step 1968. No data to save.\n", "1968\n", + "model_vars.get('Gini', 0)[-1]=0.645\n", + "Condition not met at step 1969. No data to save.\n", "1969\n", + "model_vars.get('Gini', 0)[-1]=0.6138\n", + "Condition not met at step 1970. No data to save.\n", "1970\n", + "model_vars.get('Gini', 0)[-1]=0.6326\n", + "Condition not met at step 1971. No data to save.\n", "1971\n", + "model_vars.get('Gini', 0)[-1]=0.6286\n", + "Condition not met at step 1972. No data to save.\n", "1972\n", + "model_vars.get('Gini', 0)[-1]=0.6244000000000001\n", + "Condition not met at step 1973. No data to save.\n", "1973\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 1974. No data to save.\n", "1974\n", + "model_vars.get('Gini', 0)[-1]=0.6522\n", + "Condition not met at step 1975. No data to save.\n", "1975\n", + "model_vars.get('Gini', 0)[-1]=0.6328\n", + "Condition not met at step 1976. No data to save.\n", "1976\n", + "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", + "Condition not met at step 1977. No data to save.\n", "1977\n", + "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", + "Condition not met at step 1978. No data to save.\n", "1978\n", + "model_vars.get('Gini', 0)[-1]=0.6456\n", + "Condition not met at step 1979. No data to save.\n", "1979\n", + "model_vars.get('Gini', 0)[-1]=0.6376\n", + "Condition not met at step 1980. No data to save.\n", "1980\n", + "model_vars.get('Gini', 0)[-1]=0.6437999999999999\n", + "Condition not met at step 1981. No data to save.\n", "1981\n", + "model_vars.get('Gini', 0)[-1]=0.6394\n", + "Condition not met at step 1982. No data to save.\n", "1982\n", + "model_vars.get('Gini', 0)[-1]=0.6836\n", + "Condition not met at step 1983. No data to save.\n", "1983\n", + "model_vars.get('Gini', 0)[-1]=0.6842\n", + "Condition not met at step 1984. No data to save.\n", "1984\n", + "model_vars.get('Gini', 0)[-1]=0.6702\n", + "Condition not met at step 1985. No data to save.\n", "1985\n", + "model_vars.get('Gini', 0)[-1]=0.6534\n", + "Condition not met at step 1986. No data to save.\n", "1986\n", + "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", + "Condition not met at step 1987. No data to save.\n", "1987\n", + "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", + "Condition not met at step 1988. No data to save.\n", "1988\n", + "model_vars.get('Gini', 0)[-1]=0.622\n", + "Condition not met at step 1989. No data to save.\n", "1989\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 1990. No data to save.\n", "1990\n", + "model_vars.get('Gini', 0)[-1]=0.6682\n", + "Condition not met at step 1991. No data to save.\n", "1991\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 1992. No data to save.\n", "1992\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 1993. No data to save.\n", "1993\n", + "model_vars.get('Gini', 0)[-1]=0.6252\n", + "Condition not met at step 1994. No data to save.\n", "1994\n", + "model_vars.get('Gini', 0)[-1]=0.6278\n", + "Condition not met at step 1995. No data to save.\n", "1995\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 1996. No data to save.\n", "1996\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 1997. No data to save.\n", "1997\n", + "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", + "Condition not met at step 1998. No data to save.\n", "1998\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 1999. No data to save.\n", "1999\n", "CALLED\n", "self.model._steps=2000\n", " TEST self.model._steps=2000\n", " TEST self._cache_interval=100\n", " Gini\n", - "1900 0.6662\n", - "1901 0.6552\n", - "1902 0.6858\n", - "1903 0.6734\n", - "1904 0.6736\n", + "1900 0.6570\n", + "1901 0.6568\n", + "1902 0.6496\n", + "1903 0.6518\n", + "1904 0.6396\n", "... ...\n", - "1995 0.6336\n", - "1996 0.6394\n", - "1997 0.6560\n", - "1998 0.6730\n", - "1999 0.6548\n", + "1995 0.6664\n", + "1996 0.6378\n", + "1997 0.6748\n", + "1998 0.6704\n", + "1999 0.7110\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_020.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_020.parquet'\n", - "Saving model to output_dir/model_data_020.parquet\n", - "Saving agent to output_dir/agent_data_020.parquet\n", + "model_file='test_path/model_data_020.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_020.parquet'\n", + "Saving model to test_path/model_data_020.parquet\n", + "Saving agent to test_path/agent_data_020.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.7110000000000001\n", + "Condition met. Appended special results for step 2000 to test_path/special_results.parquet\n", "2000\n", + "model_vars.get('Gini', 0)[-1]=0.6892\n", + "Condition not met at step 2001. No data to save.\n", "2001\n", + "model_vars.get('Gini', 0)[-1]=0.7076\n", + "Condition met. Appended special results for step 2002 to test_path/special_results.parquet\n", "2002\n", + "model_vars.get('Gini', 0)[-1]=0.7010000000000001\n", + "Condition met. Appended special results for step 2003 to test_path/special_results.parquet\n", "2003\n", + "model_vars.get('Gini', 0)[-1]=0.6986\n", + "Condition not met at step 2004. No data to save.\n", "2004\n", + "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", + "Condition met. Appended special results for step 2005 to test_path/special_results.parquet\n", "2005\n", + "model_vars.get('Gini', 0)[-1]=0.7068\n", + "Condition met. Appended special results for step 2006 to test_path/special_results.parquet\n", "2006\n", + "model_vars.get('Gini', 0)[-1]=0.6988000000000001\n", + "Condition not met at step 2007. No data to save.\n", "2007\n", + "model_vars.get('Gini', 0)[-1]=0.6988000000000001\n", + "Condition not met at step 2008. No data to save.\n", "2008\n", + "model_vars.get('Gini', 0)[-1]=0.6856\n", + "Condition not met at step 2009. No data to save.\n", "2009\n", + "model_vars.get('Gini', 0)[-1]=0.7126\n", + "Condition met. Appended special results for step 2010 to test_path/special_results.parquet\n", "2010\n", + "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", + "Condition not met at step 2011. No data to save.\n", "2011\n", + "model_vars.get('Gini', 0)[-1]=0.7150000000000001\n", + "Condition met. Appended special results for step 2012 to test_path/special_results.parquet\n", "2012\n", + "model_vars.get('Gini', 0)[-1]=0.7144\n", + "Condition met. Appended special results for step 2013 to test_path/special_results.parquet\n", "2013\n", + "model_vars.get('Gini', 0)[-1]=0.7178\n", + "Condition met. Appended special results for step 2014 to test_path/special_results.parquet\n", "2014\n", + "model_vars.get('Gini', 0)[-1]=0.7114\n", + "Condition met. Appended special results for step 2015 to test_path/special_results.parquet\n", "2015\n", + "model_vars.get('Gini', 0)[-1]=0.7121999999999999\n", + "Condition met. Appended special results for step 2016 to test_path/special_results.parquet\n", "2016\n", + "model_vars.get('Gini', 0)[-1]=0.687\n", + "Condition not met at step 2017. No data to save.\n", "2017\n", + "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", + "Condition not met at step 2018. No data to save.\n", "2018\n", + "model_vars.get('Gini', 0)[-1]=0.7056\n", + "Condition met. Appended special results for step 2019 to test_path/special_results.parquet\n", "2019\n", + "model_vars.get('Gini', 0)[-1]=0.6990000000000001\n", + "Condition not met at step 2020. No data to save.\n", "2020\n", + "model_vars.get('Gini', 0)[-1]=0.7134\n", + "Condition met. Appended special results for step 2021 to test_path/special_results.parquet\n", "2021\n", + "model_vars.get('Gini', 0)[-1]=0.7090000000000001\n", + "Condition met. Appended special results for step 2022 to test_path/special_results.parquet\n", "2022\n", + "model_vars.get('Gini', 0)[-1]=0.7234\n", + "Condition met. Appended special results for step 2023 to test_path/special_results.parquet\n", "2023\n", + "model_vars.get('Gini', 0)[-1]=0.7030000000000001\n", + "Condition met. Appended special results for step 2024 to test_path/special_results.parquet\n", "2024\n", + "model_vars.get('Gini', 0)[-1]=0.7176\n", + "Condition met. Appended special results for step 2025 to test_path/special_results.parquet\n", "2025\n", + "model_vars.get('Gini', 0)[-1]=0.714\n", + "Condition met. Appended special results for step 2026 to test_path/special_results.parquet\n", "2026\n", + "model_vars.get('Gini', 0)[-1]=0.71\n", + "Condition met. Appended special results for step 2027 to test_path/special_results.parquet\n", "2027\n", + "model_vars.get('Gini', 0)[-1]=0.6696\n", + "Condition not met at step 2028. No data to save.\n", "2028\n", + "model_vars.get('Gini', 0)[-1]=0.6732\n", + "Condition not met at step 2029. No data to save.\n", "2029\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 2030. No data to save.\n", "2030\n", + "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", + "Condition not met at step 2031. No data to save.\n", "2031\n", + "model_vars.get('Gini', 0)[-1]=0.6676\n", + "Condition not met at step 2032. No data to save.\n", "2032\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 2033. No data to save.\n", "2033\n", + "model_vars.get('Gini', 0)[-1]=0.6696\n", + "Condition not met at step 2034. No data to save.\n", "2034\n", + "model_vars.get('Gini', 0)[-1]=0.6428\n", + "Condition not met at step 2035. No data to save.\n", "2035\n", + "model_vars.get('Gini', 0)[-1]=0.6362\n", + "Condition not met at step 2036. No data to save.\n", "2036\n", + "model_vars.get('Gini', 0)[-1]=0.6308\n", + "Condition not met at step 2037. No data to save.\n", "2037\n", + "model_vars.get('Gini', 0)[-1]=0.605\n", + "Condition not met at step 2038. No data to save.\n", "2038\n", + "model_vars.get('Gini', 0)[-1]=0.6476\n", + "Condition not met at step 2039. No data to save.\n", "2039\n", + "model_vars.get('Gini', 0)[-1]=0.6452\n", + "Condition not met at step 2040. No data to save.\n", "2040\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 2041. No data to save.\n", "2041\n", + "model_vars.get('Gini', 0)[-1]=0.6476\n", + "Condition not met at step 2042. No data to save.\n", "2042\n", + "model_vars.get('Gini', 0)[-1]=0.6432\n", + "Condition not met at step 2043. No data to save.\n", "2043\n", + "model_vars.get('Gini', 0)[-1]=0.6556\n", + "Condition not met at step 2044. No data to save.\n", "2044\n", + "model_vars.get('Gini', 0)[-1]=0.6684\n", + "Condition not met at step 2045. No data to save.\n", "2045\n", + "model_vars.get('Gini', 0)[-1]=0.6812\n", + "Condition not met at step 2046. No data to save.\n", "2046\n", + "model_vars.get('Gini', 0)[-1]=0.702\n", + "Condition met. Appended special results for step 2047 to test_path/special_results.parquet\n", "2047\n", + "model_vars.get('Gini', 0)[-1]=0.7064\n", + "Condition met. Appended special results for step 2048 to test_path/special_results.parquet\n", "2048\n", + "model_vars.get('Gini', 0)[-1]=0.7070000000000001\n", + "Condition met. Appended special results for step 2049 to test_path/special_results.parquet\n", "2049\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 2050. No data to save.\n", "2050\n", + "model_vars.get('Gini', 0)[-1]=0.6826\n", + "Condition not met at step 2051. No data to save.\n", "2051\n", + "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "Condition not met at step 2052. No data to save.\n", "2052\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 2053. No data to save.\n", "2053\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 2054. No data to save.\n", "2054\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 2055. No data to save.\n", "2055\n", + "model_vars.get('Gini', 0)[-1]=0.645\n", + "Condition not met at step 2056. No data to save.\n", "2056\n", + "model_vars.get('Gini', 0)[-1]=0.6574\n", + "Condition not met at step 2057. No data to save.\n", "2057\n", + "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", + "Condition not met at step 2058. No data to save.\n", "2058\n", + "model_vars.get('Gini', 0)[-1]=0.677\n", + "Condition not met at step 2059. No data to save.\n", "2059\n", + "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", + "Condition not met at step 2060. No data to save.\n", "2060\n", + "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", + "Condition not met at step 2061. No data to save.\n", "2061\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 2062. No data to save.\n", "2062\n", + "model_vars.get('Gini', 0)[-1]=0.642\n", + "Condition not met at step 2063. No data to save.\n", "2063\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 2064. No data to save.\n", "2064\n", + "model_vars.get('Gini', 0)[-1]=0.6144000000000001\n", + "Condition not met at step 2065. No data to save.\n", "2065\n", + "model_vars.get('Gini', 0)[-1]=0.6724\n", + "Condition not met at step 2066. No data to save.\n", "2066\n", + "model_vars.get('Gini', 0)[-1]=0.6662\n", + "Condition not met at step 2067. No data to save.\n", "2067\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 2068. No data to save.\n", "2068\n", + "model_vars.get('Gini', 0)[-1]=0.6784\n", + "Condition not met at step 2069. No data to save.\n", "2069\n", + "model_vars.get('Gini', 0)[-1]=0.6902\n", + "Condition not met at step 2070. No data to save.\n", "2070\n", + "model_vars.get('Gini', 0)[-1]=0.6990000000000001\n", + "Condition not met at step 2071. No data to save.\n", "2071\n", + "model_vars.get('Gini', 0)[-1]=0.706\n", + "Condition met. Appended special results for step 2072 to test_path/special_results.parquet\n", "2072\n", + "model_vars.get('Gini', 0)[-1]=0.7048\n", + "Condition met. Appended special results for step 2073 to test_path/special_results.parquet\n", "2073\n", + "model_vars.get('Gini', 0)[-1]=0.7016\n", + "Condition met. Appended special results for step 2074 to test_path/special_results.parquet\n", "2074\n", + "model_vars.get('Gini', 0)[-1]=0.7030000000000001\n", + "Condition met. Appended special results for step 2075 to test_path/special_results.parquet\n", "2075\n", + "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", + "Condition not met at step 2076. No data to save.\n", "2076\n", + "model_vars.get('Gini', 0)[-1]=0.6702\n", + "Condition not met at step 2077. No data to save.\n", "2077\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 2078. No data to save.\n", "2078\n", + "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", + "Condition not met at step 2079. No data to save.\n", "2079\n", + "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", + "Condition not met at step 2080. No data to save.\n", "2080\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 2081. No data to save.\n", "2081\n", + "model_vars.get('Gini', 0)[-1]=0.6358\n", + "Condition not met at step 2082. No data to save.\n", "2082\n", + "model_vars.get('Gini', 0)[-1]=0.6268\n", + "Condition not met at step 2083. No data to save.\n", "2083\n", + "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", + "Condition not met at step 2084. No data to save.\n", "2084\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 2085. No data to save.\n", "2085\n", + "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", + "Condition not met at step 2086. No data to save.\n", "2086\n", + "model_vars.get('Gini', 0)[-1]=0.6324000000000001\n", + "Condition not met at step 2087. No data to save.\n", "2087\n", + "model_vars.get('Gini', 0)[-1]=0.6328\n", + "Condition not met at step 2088. No data to save.\n", "2088\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 2089. No data to save.\n", "2089\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 2090. No data to save.\n", "2090\n", + "model_vars.get('Gini', 0)[-1]=0.638\n", + "Condition not met at step 2091. No data to save.\n", "2091\n", + "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", + "Condition not met at step 2092. No data to save.\n", "2092\n", + "model_vars.get('Gini', 0)[-1]=0.6502\n", + "Condition not met at step 2093. No data to save.\n", "2093\n", + "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", + "Condition not met at step 2094. No data to save.\n", "2094\n", + "model_vars.get('Gini', 0)[-1]=0.632\n", + "Condition not met at step 2095. No data to save.\n", "2095\n", + "model_vars.get('Gini', 0)[-1]=0.6136\n", + "Condition not met at step 2096. No data to save.\n", "2096\n", + "model_vars.get('Gini', 0)[-1]=0.6152\n", + "Condition not met at step 2097. No data to save.\n", "2097\n", + "model_vars.get('Gini', 0)[-1]=0.6226\n", + "Condition not met at step 2098. No data to save.\n", "2098\n", + "model_vars.get('Gini', 0)[-1]=0.616\n", + "Condition not met at step 2099. No data to save.\n", "2099\n", "CALLED\n", "self.model._steps=2100\n", " TEST self.model._steps=2100\n", " TEST self._cache_interval=100\n", " Gini\n", - "2000 0.6300\n", - "2001 0.6346\n", - "2002 0.6306\n", - "2003 0.6200\n", - "2004 0.6350\n", + "2000 0.6892\n", + "2001 0.7076\n", + "2002 0.7010\n", + "2003 0.6986\n", + "2004 0.7022\n", "... ...\n", - "2095 0.5842\n", - "2096 0.6182\n", - "2097 0.6242\n", - "2098 0.6362\n", - "2099 0.6582\n", + "2095 0.6136\n", + "2096 0.6152\n", + "2097 0.6226\n", + "2098 0.6160\n", + "2099 0.6212\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_021.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_021.parquet'\n", - "Saving model to output_dir/model_data_021.parquet\n", - "Saving agent to output_dir/agent_data_021.parquet\n", + "model_file='test_path/model_data_021.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_021.parquet'\n", + "Saving model to test_path/model_data_021.parquet\n", + "Saving agent to test_path/agent_data_021.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6212\n", + "Condition not met at step 2100. No data to save.\n", "2100\n", + "model_vars.get('Gini', 0)[-1]=0.629\n", + "Condition not met at step 2101. No data to save.\n", "2101\n", + "model_vars.get('Gini', 0)[-1]=0.6408\n", + "Condition not met at step 2102. No data to save.\n", "2102\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 2103. No data to save.\n", "2103\n", + "model_vars.get('Gini', 0)[-1]=0.654\n", + "Condition not met at step 2104. No data to save.\n", "2104\n", + "model_vars.get('Gini', 0)[-1]=0.615\n", + "Condition not met at step 2105. No data to save.\n", "2105\n", + "model_vars.get('Gini', 0)[-1]=0.6308\n", + "Condition not met at step 2106. No data to save.\n", "2106\n", + "model_vars.get('Gini', 0)[-1]=0.6348\n", + "Condition not met at step 2107. No data to save.\n", "2107\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 2108. No data to save.\n", "2108\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 2109. No data to save.\n", "2109\n", + "model_vars.get('Gini', 0)[-1]=0.708\n", + "Condition met. Appended special results for step 2110 to test_path/special_results.parquet\n", "2110\n", + "model_vars.get('Gini', 0)[-1]=0.6916\n", + "Condition not met at step 2111. No data to save.\n", "2111\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 2112. No data to save.\n", "2112\n", + "model_vars.get('Gini', 0)[-1]=0.6488\n", + "Condition not met at step 2113. No data to save.\n", "2113\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 2114. No data to save.\n", "2114\n", + "model_vars.get('Gini', 0)[-1]=0.635\n", + "Condition not met at step 2115. No data to save.\n", "2115\n", + "model_vars.get('Gini', 0)[-1]=0.6148\n", + "Condition not met at step 2116. No data to save.\n", "2116\n", + "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", + "Condition not met at step 2117. No data to save.\n", "2117\n", + "model_vars.get('Gini', 0)[-1]=0.6492\n", + "Condition not met at step 2118. No data to save.\n", "2118\n", + "model_vars.get('Gini', 0)[-1]=0.6622\n", + "Condition not met at step 2119. No data to save.\n", "2119\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 2120. No data to save.\n", "2120\n", + "model_vars.get('Gini', 0)[-1]=0.6076\n", + "Condition not met at step 2121. No data to save.\n", "2121\n", + "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", + "Condition not met at step 2122. No data to save.\n", "2122\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 2123. No data to save.\n", "2123\n", + "model_vars.get('Gini', 0)[-1]=0.5848\n", + "Condition not met at step 2124. No data to save.\n", "2124\n", + "model_vars.get('Gini', 0)[-1]=0.6104\n", + "Condition not met at step 2125. No data to save.\n", "2125\n", + "model_vars.get('Gini', 0)[-1]=0.6208\n", + "Condition not met at step 2126. No data to save.\n", "2126\n", + "model_vars.get('Gini', 0)[-1]=0.6372\n", + "Condition not met at step 2127. No data to save.\n", "2127\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 2128. No data to save.\n", "2128\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 2129. No data to save.\n", "2129\n", + "model_vars.get('Gini', 0)[-1]=0.6554\n", + "Condition not met at step 2130. No data to save.\n", "2130\n", + "model_vars.get('Gini', 0)[-1]=0.6584\n", + "Condition not met at step 2131. No data to save.\n", "2131\n", + "model_vars.get('Gini', 0)[-1]=0.6652\n", + "Condition not met at step 2132. No data to save.\n", "2132\n", + "model_vars.get('Gini', 0)[-1]=0.6612\n", + "Condition not met at step 2133. No data to save.\n", "2133\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 2134. No data to save.\n", "2134\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 2135. No data to save.\n", "2135\n", + "model_vars.get('Gini', 0)[-1]=0.6554\n", + "Condition not met at step 2136. No data to save.\n", "2136\n", + "model_vars.get('Gini', 0)[-1]=0.6772\n", + "Condition not met at step 2137. No data to save.\n", "2137\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 2138. No data to save.\n", "2138\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 2139. No data to save.\n", "2139\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 2140. No data to save.\n", "2140\n", + "model_vars.get('Gini', 0)[-1]=0.7074\n", + "Condition met. Appended special results for step 2141 to test_path/special_results.parquet\n", "2141\n", + "model_vars.get('Gini', 0)[-1]=0.6986\n", + "Condition not met at step 2142. No data to save.\n", "2142\n", + "model_vars.get('Gini', 0)[-1]=0.706\n", + "Condition met. Appended special results for step 2143 to test_path/special_results.parquet\n", "2143\n", + "model_vars.get('Gini', 0)[-1]=0.7008000000000001\n", + "Condition met. Appended special results for step 2144 to test_path/special_results.parquet\n", "2144\n", + "model_vars.get('Gini', 0)[-1]=0.7223999999999999\n", + "Condition met. Appended special results for step 2145 to test_path/special_results.parquet\n", "2145\n", + "model_vars.get('Gini', 0)[-1]=0.7094\n", + "Condition met. Appended special results for step 2146 to test_path/special_results.parquet\n", "2146\n", + "model_vars.get('Gini', 0)[-1]=0.7001999999999999\n", + "Condition met. Appended special results for step 2147 to test_path/special_results.parquet\n", "2147\n", + "model_vars.get('Gini', 0)[-1]=0.688\n", + "Condition not met at step 2148. No data to save.\n", "2148\n", + "model_vars.get('Gini', 0)[-1]=0.6804\n", + "Condition not met at step 2149. No data to save.\n", "2149\n", + "model_vars.get('Gini', 0)[-1]=0.6552\n", + "Condition not met at step 2150. No data to save.\n", "2150\n", + "model_vars.get('Gini', 0)[-1]=0.6554\n", + "Condition not met at step 2151. No data to save.\n", "2151\n", + "model_vars.get('Gini', 0)[-1]=0.6148\n", + "Condition not met at step 2152. No data to save.\n", "2152\n", + "model_vars.get('Gini', 0)[-1]=0.6362\n", + "Condition not met at step 2153. No data to save.\n", "2153\n", + "model_vars.get('Gini', 0)[-1]=0.6494\n", + "Condition not met at step 2154. No data to save.\n", "2154\n", + "model_vars.get('Gini', 0)[-1]=0.6574\n", + "Condition not met at step 2155. No data to save.\n", "2155\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 2156. No data to save.\n", "2156\n", + "model_vars.get('Gini', 0)[-1]=0.677\n", + "Condition not met at step 2157. No data to save.\n", "2157\n", + "model_vars.get('Gini', 0)[-1]=0.7086\n", + "Condition met. Appended special results for step 2158 to test_path/special_results.parquet\n", "2158\n", + "model_vars.get('Gini', 0)[-1]=0.7323999999999999\n", + "Condition met. Appended special results for step 2159 to test_path/special_results.parquet\n", "2159\n", + "model_vars.get('Gini', 0)[-1]=0.7282\n", + "Condition met. Appended special results for step 2160 to test_path/special_results.parquet\n", "2160\n", + "model_vars.get('Gini', 0)[-1]=0.7236\n", + "Condition met. Appended special results for step 2161 to test_path/special_results.parquet\n", "2161\n", + "model_vars.get('Gini', 0)[-1]=0.7046\n", + "Condition met. Appended special results for step 2162 to test_path/special_results.parquet\n", "2162\n", + "model_vars.get('Gini', 0)[-1]=0.6804\n", + "Condition not met at step 2163. No data to save.\n", "2163\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 2164. No data to save.\n", "2164\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 2165. No data to save.\n", "2165\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 2166. No data to save.\n", "2166\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 2167. No data to save.\n", "2167\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 2168. No data to save.\n", "2168\n", + "model_vars.get('Gini', 0)[-1]=0.6918\n", + "Condition not met at step 2169. No data to save.\n", "2169\n", + "model_vars.get('Gini', 0)[-1]=0.6794\n", + "Condition not met at step 2170. No data to save.\n", "2170\n", + "model_vars.get('Gini', 0)[-1]=0.6742\n", + "Condition not met at step 2171. No data to save.\n", "2171\n", + "model_vars.get('Gini', 0)[-1]=0.6652\n", + "Condition not met at step 2172. No data to save.\n", "2172\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 2173. No data to save.\n", "2173\n", + "model_vars.get('Gini', 0)[-1]=0.66\n", + "Condition not met at step 2174. No data to save.\n", "2174\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 2175. No data to save.\n", "2175\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 2176. No data to save.\n", "2176\n", + "model_vars.get('Gini', 0)[-1]=0.6532\n", + "Condition not met at step 2177. No data to save.\n", "2177\n", + "model_vars.get('Gini', 0)[-1]=0.6672\n", + "Condition not met at step 2178. No data to save.\n", "2178\n", + "model_vars.get('Gini', 0)[-1]=0.6382\n", + "Condition not met at step 2179. No data to save.\n", "2179\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 2180. No data to save.\n", "2180\n", + "model_vars.get('Gini', 0)[-1]=0.6332\n", + "Condition not met at step 2181. No data to save.\n", "2181\n", + "model_vars.get('Gini', 0)[-1]=0.6344000000000001\n", + "Condition not met at step 2182. No data to save.\n", "2182\n", + "model_vars.get('Gini', 0)[-1]=0.625\n", + "Condition not met at step 2183. No data to save.\n", "2183\n", + "model_vars.get('Gini', 0)[-1]=0.6258\n", + "Condition not met at step 2184. No data to save.\n", "2184\n", + "model_vars.get('Gini', 0)[-1]=0.6398\n", + "Condition not met at step 2185. No data to save.\n", "2185\n", + "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", + "Condition not met at step 2186. No data to save.\n", "2186\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 2187. No data to save.\n", "2187\n", + "model_vars.get('Gini', 0)[-1]=0.669\n", + "Condition not met at step 2188. No data to save.\n", "2188\n", + "model_vars.get('Gini', 0)[-1]=0.6676\n", + "Condition not met at step 2189. No data to save.\n", "2189\n", + "model_vars.get('Gini', 0)[-1]=0.6454\n", + "Condition not met at step 2190. No data to save.\n", "2190\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 2191. No data to save.\n", "2191\n", + "model_vars.get('Gini', 0)[-1]=0.64\n", + "Condition not met at step 2192. No data to save.\n", "2192\n", + "model_vars.get('Gini', 0)[-1]=0.6696\n", + "Condition not met at step 2193. No data to save.\n", "2193\n", + "model_vars.get('Gini', 0)[-1]=0.6572\n", + "Condition not met at step 2194. No data to save.\n", "2194\n", + "model_vars.get('Gini', 0)[-1]=0.6812\n", + "Condition not met at step 2195. No data to save.\n", "2195\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 2196. No data to save.\n", "2196\n", + "model_vars.get('Gini', 0)[-1]=0.687\n", + "Condition not met at step 2197. No data to save.\n", "2197\n", + "model_vars.get('Gini', 0)[-1]=0.7068\n", + "Condition met. Appended special results for step 2198 to test_path/special_results.parquet\n", "2198\n", + "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", + "Condition not met at step 2199. No data to save.\n", "2199\n", "CALLED\n", "self.model._steps=2200\n", " TEST self.model._steps=2200\n", " TEST self._cache_interval=100\n", " Gini\n", - "2100 0.6650\n", - "2101 0.6848\n", - "2102 0.6912\n", - "2103 0.6896\n", - "2104 0.6706\n", + "2100 0.6290\n", + "2101 0.6408\n", + "2102 0.6448\n", + "2103 0.6540\n", + "2104 0.6150\n", "... ...\n", - "2195 0.7040\n", - "2196 0.6770\n", - "2197 0.6816\n", - "2198 0.7012\n", - "2199 0.6818\n", + "2195 0.6788\n", + "2196 0.6870\n", + "2197 0.7068\n", + "2198 0.6942\n", + "2199 0.6918\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_022.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_022.parquet'\n", - "Saving model to output_dir/model_data_022.parquet\n", - "Saving agent to output_dir/agent_data_022.parquet\n", + "model_file='test_path/model_data_022.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_022.parquet'\n", + "Saving model to test_path/model_data_022.parquet\n", + "Saving agent to test_path/agent_data_022.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6918\n", + "Condition not met at step 2200. No data to save.\n", "2200\n", + "model_vars.get('Gini', 0)[-1]=0.6854\n", + "Condition not met at step 2201. No data to save.\n", "2201\n", + "model_vars.get('Gini', 0)[-1]=0.687\n", + "Condition not met at step 2202. No data to save.\n", "2202\n", + "model_vars.get('Gini', 0)[-1]=0.6954\n", + "Condition not met at step 2203. No data to save.\n", "2203\n", + "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", + "Condition not met at step 2204. No data to save.\n", "2204\n", + "model_vars.get('Gini', 0)[-1]=0.671\n", + "Condition not met at step 2205. No data to save.\n", "2205\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 2206. No data to save.\n", "2206\n", + "model_vars.get('Gini', 0)[-1]=0.669\n", + "Condition not met at step 2207. No data to save.\n", "2207\n", + "model_vars.get('Gini', 0)[-1]=0.6826\n", + "Condition not met at step 2208. No data to save.\n", "2208\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 2209. No data to save.\n", "2209\n", + "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", + "Condition not met at step 2210. No data to save.\n", "2210\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 2211. No data to save.\n", "2211\n", + "model_vars.get('Gini', 0)[-1]=0.6596\n", + "Condition not met at step 2212. No data to save.\n", "2212\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 2213. No data to save.\n", "2213\n", + "model_vars.get('Gini', 0)[-1]=0.6204000000000001\n", + "Condition not met at step 2214. No data to save.\n", "2214\n", + "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", + "Condition not met at step 2215. No data to save.\n", "2215\n", + "model_vars.get('Gini', 0)[-1]=0.5978\n", + "Condition not met at step 2216. No data to save.\n", "2216\n", + "model_vars.get('Gini', 0)[-1]=0.5908\n", + "Condition not met at step 2217. No data to save.\n", "2217\n", + "model_vars.get('Gini', 0)[-1]=0.6088\n", + "Condition not met at step 2218. No data to save.\n", "2218\n", + "model_vars.get('Gini', 0)[-1]=0.6388\n", + "Condition not met at step 2219. No data to save.\n", "2219\n", + "model_vars.get('Gini', 0)[-1]=0.6186\n", + "Condition not met at step 2220. No data to save.\n", "2220\n", + "model_vars.get('Gini', 0)[-1]=0.5946\n", + "Condition not met at step 2221. No data to save.\n", "2221\n", + "model_vars.get('Gini', 0)[-1]=0.5992\n", + "Condition not met at step 2222. No data to save.\n", "2222\n", + "model_vars.get('Gini', 0)[-1]=0.5892\n", + "Condition not met at step 2223. No data to save.\n", "2223\n", + "model_vars.get('Gini', 0)[-1]=0.5938\n", + "Condition not met at step 2224. No data to save.\n", "2224\n", + "model_vars.get('Gini', 0)[-1]=0.6174\n", + "Condition not met at step 2225. No data to save.\n", "2225\n", + "model_vars.get('Gini', 0)[-1]=0.6474\n", + "Condition not met at step 2226. No data to save.\n", "2226\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 2227. No data to save.\n", "2227\n", + "model_vars.get('Gini', 0)[-1]=0.657\n", + "Condition not met at step 2228. No data to save.\n", "2228\n", + "model_vars.get('Gini', 0)[-1]=0.6514\n", + "Condition not met at step 2229. No data to save.\n", "2229\n", + "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", + "Condition not met at step 2230. No data to save.\n", "2230\n", + "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", + "Condition not met at step 2231. No data to save.\n", "2231\n", + "model_vars.get('Gini', 0)[-1]=0.6876\n", + "Condition not met at step 2232. No data to save.\n", "2232\n", + "model_vars.get('Gini', 0)[-1]=0.7026\n", + "Condition met. Appended special results for step 2233 to test_path/special_results.parquet\n", "2233\n", + "model_vars.get('Gini', 0)[-1]=0.6966\n", + "Condition not met at step 2234. No data to save.\n", "2234\n", + "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", + "Condition not met at step 2235. No data to save.\n", "2235\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 2236. No data to save.\n", "2236\n", + "model_vars.get('Gini', 0)[-1]=0.6696\n", + "Condition not met at step 2237. No data to save.\n", "2237\n", + "model_vars.get('Gini', 0)[-1]=0.6702\n", + "Condition not met at step 2238. No data to save.\n", "2238\n", + "model_vars.get('Gini', 0)[-1]=0.6776\n", + "Condition not met at step 2239. No data to save.\n", "2239\n", + "model_vars.get('Gini', 0)[-1]=0.6654\n", + "Condition not met at step 2240. No data to save.\n", "2240\n", + "model_vars.get('Gini', 0)[-1]=0.6608\n", + "Condition not met at step 2241. No data to save.\n", "2241\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 2242. No data to save.\n", "2242\n", + "model_vars.get('Gini', 0)[-1]=0.6574\n", + "Condition not met at step 2243. No data to save.\n", "2243\n", + "model_vars.get('Gini', 0)[-1]=0.6872\n", + "Condition not met at step 2244. No data to save.\n", "2244\n", + "model_vars.get('Gini', 0)[-1]=0.6814\n", + "Condition not met at step 2245. No data to save.\n", "2245\n", + "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", + "Condition not met at step 2246. No data to save.\n", "2246\n", + "model_vars.get('Gini', 0)[-1]=0.6884\n", + "Condition not met at step 2247. No data to save.\n", "2247\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 2248. No data to save.\n", "2248\n", + "model_vars.get('Gini', 0)[-1]=0.6656\n", + "Condition not met at step 2249. No data to save.\n", "2249\n", + "model_vars.get('Gini', 0)[-1]=0.6844\n", + "Condition not met at step 2250. No data to save.\n", "2250\n", + "model_vars.get('Gini', 0)[-1]=0.6886\n", + "Condition not met at step 2251. No data to save.\n", "2251\n", + "model_vars.get('Gini', 0)[-1]=0.6874\n", + "Condition not met at step 2252. No data to save.\n", "2252\n", + "model_vars.get('Gini', 0)[-1]=0.671\n", + "Condition not met at step 2253. No data to save.\n", "2253\n", + "model_vars.get('Gini', 0)[-1]=0.661\n", + "Condition not met at step 2254. No data to save.\n", "2254\n", + "model_vars.get('Gini', 0)[-1]=0.6656\n", + "Condition not met at step 2255. No data to save.\n", "2255\n", + "model_vars.get('Gini', 0)[-1]=0.704\n", + "Condition met. Appended special results for step 2256 to test_path/special_results.parquet\n", "2256\n", + "model_vars.get('Gini', 0)[-1]=0.7061999999999999\n", + "Condition met. Appended special results for step 2257 to test_path/special_results.parquet\n", "2257\n", + "model_vars.get('Gini', 0)[-1]=0.685\n", + "Condition not met at step 2258. No data to save.\n", "2258\n", + "model_vars.get('Gini', 0)[-1]=0.7094\n", + "Condition met. Appended special results for step 2259 to test_path/special_results.parquet\n", "2259\n", + "model_vars.get('Gini', 0)[-1]=0.7018\n", + "Condition met. Appended special results for step 2260 to test_path/special_results.parquet\n", "2260\n", + "model_vars.get('Gini', 0)[-1]=0.6978\n", + "Condition not met at step 2261. No data to save.\n", "2261\n", + "model_vars.get('Gini', 0)[-1]=0.7030000000000001\n", + "Condition met. Appended special results for step 2262 to test_path/special_results.parquet\n", "2262\n", + "model_vars.get('Gini', 0)[-1]=0.698\n", + "Condition not met at step 2263. No data to save.\n", "2263\n", + "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", + "Condition not met at step 2264. No data to save.\n", "2264\n", + "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", + "Condition not met at step 2265. No data to save.\n", "2265\n", + "model_vars.get('Gini', 0)[-1]=0.6874\n", + "Condition not met at step 2266. No data to save.\n", "2266\n", + "model_vars.get('Gini', 0)[-1]=0.6902\n", + "Condition not met at step 2267. No data to save.\n", "2267\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 2268. No data to save.\n", "2268\n", + "model_vars.get('Gini', 0)[-1]=0.6656\n", + "Condition not met at step 2269. No data to save.\n", "2269\n", + "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", + "Condition not met at step 2270. No data to save.\n", "2270\n", + "model_vars.get('Gini', 0)[-1]=0.6608\n", + "Condition not met at step 2271. No data to save.\n", "2271\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 2272. No data to save.\n", "2272\n", + "model_vars.get('Gini', 0)[-1]=0.6584\n", + "Condition not met at step 2273. No data to save.\n", "2273\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 2274. No data to save.\n", "2274\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 2275. No data to save.\n", "2275\n", + "model_vars.get('Gini', 0)[-1]=0.6932\n", + "Condition not met at step 2276. No data to save.\n", "2276\n", + "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", + "Condition not met at step 2277. No data to save.\n", "2277\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 2278. No data to save.\n", "2278\n", + "model_vars.get('Gini', 0)[-1]=0.6864\n", + "Condition not met at step 2279. No data to save.\n", "2279\n", + "model_vars.get('Gini', 0)[-1]=0.6990000000000001\n", + "Condition not met at step 2280. No data to save.\n", "2280\n", + "model_vars.get('Gini', 0)[-1]=0.6816\n", + "Condition not met at step 2281. No data to save.\n", "2281\n", + "model_vars.get('Gini', 0)[-1]=0.6914\n", + "Condition not met at step 2282. No data to save.\n", "2282\n", + "model_vars.get('Gini', 0)[-1]=0.7028000000000001\n", + "Condition met. Appended special results for step 2283 to test_path/special_results.parquet\n", "2283\n", + "model_vars.get('Gini', 0)[-1]=0.6964\n", + "Condition not met at step 2284. No data to save.\n", "2284\n", + "model_vars.get('Gini', 0)[-1]=0.698\n", + "Condition not met at step 2285. No data to save.\n", "2285\n", + "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", + "Condition not met at step 2286. No data to save.\n", "2286\n", + "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", + "Condition not met at step 2287. No data to save.\n", "2287\n", + "model_vars.get('Gini', 0)[-1]=0.7006\n", + "Condition met. Appended special results for step 2288 to test_path/special_results.parquet\n", "2288\n", + "model_vars.get('Gini', 0)[-1]=0.6914\n", + "Condition not met at step 2289. No data to save.\n", "2289\n", + "model_vars.get('Gini', 0)[-1]=0.6914\n", + "Condition not met at step 2290. No data to save.\n", "2290\n", + "model_vars.get('Gini', 0)[-1]=0.664\n", + "Condition not met at step 2291. No data to save.\n", "2291\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 2292. No data to save.\n", "2292\n", + "model_vars.get('Gini', 0)[-1]=0.641\n", + "Condition not met at step 2293. No data to save.\n", "2293\n", + "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", + "Condition not met at step 2294. No data to save.\n", "2294\n", + "model_vars.get('Gini', 0)[-1]=0.635\n", + "Condition not met at step 2295. No data to save.\n", "2295\n", + "model_vars.get('Gini', 0)[-1]=0.6338\n", + "Condition not met at step 2296. No data to save.\n", "2296\n", + "model_vars.get('Gini', 0)[-1]=0.6366\n", + "Condition not met at step 2297. No data to save.\n", "2297\n", + "model_vars.get('Gini', 0)[-1]=0.6246\n", + "Condition not met at step 2298. No data to save.\n", "2298\n", + "model_vars.get('Gini', 0)[-1]=0.6198\n", + "Condition not met at step 2299. No data to save.\n", "2299\n", "CALLED\n", "self.model._steps=2300\n", " TEST self.model._steps=2300\n", " TEST self._cache_interval=100\n", " Gini\n", - "2200 0.6824\n", - "2201 0.6906\n", - "2202 0.7024\n", - "2203 0.6690\n", - "2204 0.6562\n", + "2200 0.6854\n", + "2201 0.6870\n", + "2202 0.6954\n", + "2203 0.6740\n", + "2204 0.6710\n", "... ...\n", - "2295 0.7012\n", - "2296 0.6888\n", - "2297 0.6826\n", - "2298 0.6680\n", - "2299 0.6778\n", + "2295 0.6338\n", + "2296 0.6366\n", + "2297 0.6246\n", + "2298 0.6198\n", + "2299 0.6274\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_023.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_023.parquet'\n", - "Saving model to output_dir/model_data_023.parquet\n", - "Saving agent to output_dir/agent_data_023.parquet\n", + "model_file='test_path/model_data_023.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_023.parquet'\n", + "Saving model to test_path/model_data_023.parquet\n", + "Saving agent to test_path/agent_data_023.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 2300. No data to save.\n", "2300\n", + "model_vars.get('Gini', 0)[-1]=0.6312\n", + "Condition not met at step 2301. No data to save.\n", "2301\n", + "model_vars.get('Gini', 0)[-1]=0.6636\n", + "Condition not met at step 2302. No data to save.\n", "2302\n", + "model_vars.get('Gini', 0)[-1]=0.6456\n", + "Condition not met at step 2303. No data to save.\n", "2303\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 2304. No data to save.\n", "2304\n", + "model_vars.get('Gini', 0)[-1]=0.6234\n", + "Condition not met at step 2305. No data to save.\n", "2305\n", + "model_vars.get('Gini', 0)[-1]=0.5984\n", + "Condition not met at step 2306. No data to save.\n", "2306\n", + "model_vars.get('Gini', 0)[-1]=0.5906\n", + "Condition not met at step 2307. No data to save.\n", "2307\n", + "model_vars.get('Gini', 0)[-1]=0.626\n", + "Condition not met at step 2308. No data to save.\n", "2308\n", + "model_vars.get('Gini', 0)[-1]=0.6342\n", + "Condition not met at step 2309. No data to save.\n", "2309\n", + "model_vars.get('Gini', 0)[-1]=0.6432\n", + "Condition not met at step 2310. No data to save.\n", "2310\n", + "model_vars.get('Gini', 0)[-1]=0.6372\n", + "Condition not met at step 2311. No data to save.\n", "2311\n", + "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", + "Condition not met at step 2312. No data to save.\n", "2312\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 2313. No data to save.\n", "2313\n", + "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", + "Condition not met at step 2314. No data to save.\n", "2314\n", + "model_vars.get('Gini', 0)[-1]=0.6472\n", + "Condition not met at step 2315. No data to save.\n", "2315\n", + "model_vars.get('Gini', 0)[-1]=0.641\n", + "Condition not met at step 2316. No data to save.\n", "2316\n", + "model_vars.get('Gini', 0)[-1]=0.65\n", + "Condition not met at step 2317. No data to save.\n", "2317\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 2318. No data to save.\n", "2318\n", + "model_vars.get('Gini', 0)[-1]=0.6452\n", + "Condition not met at step 2319. No data to save.\n", "2319\n", + "model_vars.get('Gini', 0)[-1]=0.6516\n", + "Condition not met at step 2320. No data to save.\n", "2320\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 2321. No data to save.\n", "2321\n", + "model_vars.get('Gini', 0)[-1]=0.6594\n", + "Condition not met at step 2322. No data to save.\n", "2322\n", + "model_vars.get('Gini', 0)[-1]=0.6368\n", + "Condition not met at step 2323. No data to save.\n", "2323\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 2324. No data to save.\n", "2324\n", + "model_vars.get('Gini', 0)[-1]=0.6252\n", + "Condition not met at step 2325. No data to save.\n", "2325\n", + "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", + "Condition not met at step 2326. No data to save.\n", "2326\n", + "model_vars.get('Gini', 0)[-1]=0.6312\n", + "Condition not met at step 2327. No data to save.\n", "2327\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 2328. No data to save.\n", "2328\n", + "model_vars.get('Gini', 0)[-1]=0.6234\n", + "Condition not met at step 2329. No data to save.\n", "2329\n", + "model_vars.get('Gini', 0)[-1]=0.6212\n", + "Condition not met at step 2330. No data to save.\n", "2330\n", + "model_vars.get('Gini', 0)[-1]=0.6388\n", + "Condition not met at step 2331. No data to save.\n", "2331\n", + "model_vars.get('Gini', 0)[-1]=0.641\n", + "Condition not met at step 2332. No data to save.\n", "2332\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 2333. No data to save.\n", "2333\n", + "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", + "Condition not met at step 2334. No data to save.\n", "2334\n", + "model_vars.get('Gini', 0)[-1]=0.6456\n", + "Condition not met at step 2335. No data to save.\n", "2335\n", + "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", + "Condition not met at step 2336. No data to save.\n", "2336\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 2337. No data to save.\n", "2337\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 2338. No data to save.\n", "2338\n", + "model_vars.get('Gini', 0)[-1]=0.655\n", + "Condition not met at step 2339. No data to save.\n", "2339\n", + "model_vars.get('Gini', 0)[-1]=0.6394\n", + "Condition not met at step 2340. No data to save.\n", "2340\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 2341. No data to save.\n", "2341\n", + "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", + "Condition not met at step 2342. No data to save.\n", "2342\n", + "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", + "Condition not met at step 2343. No data to save.\n", "2343\n", + "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", + "Condition not met at step 2344. No data to save.\n", "2344\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 2345. No data to save.\n", "2345\n", + "model_vars.get('Gini', 0)[-1]=0.6502\n", + "Condition not met at step 2346. No data to save.\n", "2346\n", + "model_vars.get('Gini', 0)[-1]=0.6358\n", + "Condition not met at step 2347. No data to save.\n", "2347\n", + "model_vars.get('Gini', 0)[-1]=0.6134\n", + "Condition not met at step 2348. No data to save.\n", "2348\n", + "model_vars.get('Gini', 0)[-1]=0.6026\n", + "Condition not met at step 2349. No data to save.\n", "2349\n", + "model_vars.get('Gini', 0)[-1]=0.5978\n", + "Condition not met at step 2350. No data to save.\n", "2350\n", + "model_vars.get('Gini', 0)[-1]=0.6235999999999999\n", + "Condition not met at step 2351. No data to save.\n", "2351\n", + "model_vars.get('Gini', 0)[-1]=0.6152\n", + "Condition not met at step 2352. No data to save.\n", "2352\n", + "model_vars.get('Gini', 0)[-1]=0.6052\n", + "Condition not met at step 2353. No data to save.\n", "2353\n", + "model_vars.get('Gini', 0)[-1]=0.6168\n", + "Condition not met at step 2354. No data to save.\n", "2354\n", + "model_vars.get('Gini', 0)[-1]=0.6000000000000001\n", + "Condition not met at step 2355. No data to save.\n", "2355\n", + "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", + "Condition not met at step 2356. No data to save.\n", "2356\n", + "model_vars.get('Gini', 0)[-1]=0.6154\n", + "Condition not met at step 2357. No data to save.\n", "2357\n", + "model_vars.get('Gini', 0)[-1]=0.6528\n", + "Condition not met at step 2358. No data to save.\n", "2358\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 2359. No data to save.\n", "2359\n", + "model_vars.get('Gini', 0)[-1]=0.6724\n", + "Condition not met at step 2360. No data to save.\n", "2360\n", + "model_vars.get('Gini', 0)[-1]=0.6522\n", + "Condition not met at step 2361. No data to save.\n", "2361\n", + "model_vars.get('Gini', 0)[-1]=0.659\n", + "Condition not met at step 2362. No data to save.\n", "2362\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 2363. No data to save.\n", "2363\n", + "model_vars.get('Gini', 0)[-1]=0.654\n", + "Condition not met at step 2364. No data to save.\n", "2364\n", + "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", + "Condition not met at step 2365. No data to save.\n", "2365\n", + "model_vars.get('Gini', 0)[-1]=0.6134\n", + "Condition not met at step 2366. No data to save.\n", "2366\n", + "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", + "Condition not met at step 2367. No data to save.\n", "2367\n", + "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", + "Condition not met at step 2368. No data to save.\n", "2368\n", + "model_vars.get('Gini', 0)[-1]=0.6342\n", + "Condition not met at step 2369. No data to save.\n", "2369\n", + "model_vars.get('Gini', 0)[-1]=0.6422\n", + "Condition not met at step 2370. No data to save.\n", "2370\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 2371. No data to save.\n", "2371\n", + "model_vars.get('Gini', 0)[-1]=0.6682\n", + "Condition not met at step 2372. No data to save.\n", "2372\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 2373. No data to save.\n", "2373\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 2374. No data to save.\n", "2374\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 2375. No data to save.\n", "2375\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 2376. No data to save.\n", "2376\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 2377. No data to save.\n", "2377\n", + "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", + "Condition not met at step 2378. No data to save.\n", "2378\n", + "model_vars.get('Gini', 0)[-1]=0.7024\n", + "Condition met. Appended special results for step 2379 to test_path/special_results.parquet\n", "2379\n", + "model_vars.get('Gini', 0)[-1]=0.7014\n", + "Condition met. Appended special results for step 2380 to test_path/special_results.parquet\n", "2380\n", + "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", + "Condition not met at step 2381. No data to save.\n", "2381\n", + "model_vars.get('Gini', 0)[-1]=0.6754\n", + "Condition not met at step 2382. No data to save.\n", "2382\n", + "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", + "Condition not met at step 2383. No data to save.\n", "2383\n", + "model_vars.get('Gini', 0)[-1]=0.6772\n", + "Condition not met at step 2384. No data to save.\n", "2384\n", + "model_vars.get('Gini', 0)[-1]=0.6990000000000001\n", + "Condition not met at step 2385. No data to save.\n", "2385\n", + "model_vars.get('Gini', 0)[-1]=0.6812\n", + "Condition not met at step 2386. No data to save.\n", "2386\n", + "model_vars.get('Gini', 0)[-1]=0.6862\n", + "Condition not met at step 2387. No data to save.\n", "2387\n", + "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", + "Condition not met at step 2388. No data to save.\n", "2388\n", + "model_vars.get('Gini', 0)[-1]=0.6936\n", + "Condition not met at step 2389. No data to save.\n", "2389\n", + "model_vars.get('Gini', 0)[-1]=0.6822\n", + "Condition not met at step 2390. No data to save.\n", "2390\n", + "model_vars.get('Gini', 0)[-1]=0.681\n", + "Condition not met at step 2391. No data to save.\n", "2391\n", + "model_vars.get('Gini', 0)[-1]=0.6898\n", + "Condition not met at step 2392. No data to save.\n", "2392\n", + "model_vars.get('Gini', 0)[-1]=0.6796\n", + "Condition not met at step 2393. No data to save.\n", "2393\n", + "model_vars.get('Gini', 0)[-1]=0.6584\n", + "Condition not met at step 2394. No data to save.\n", "2394\n", + "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", + "Condition not met at step 2395. No data to save.\n", "2395\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 2396. No data to save.\n", "2396\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 2397. No data to save.\n", "2397\n", + "model_vars.get('Gini', 0)[-1]=0.6836\n", + "Condition not met at step 2398. No data to save.\n", "2398\n", + "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", + "Condition not met at step 2399. No data to save.\n", "2399\n", "CALLED\n", "self.model._steps=2400\n", " TEST self.model._steps=2400\n", " TEST self._cache_interval=100\n", " Gini\n", - "2300 0.6866\n", - "2301 0.7058\n", - "2302 0.7228\n", - "2303 0.6972\n", - "2304 0.7260\n", + "2300 0.6312\n", + "2301 0.6636\n", + "2302 0.6456\n", + "2303 0.6352\n", + "2304 0.6234\n", "... ...\n", - "2395 0.6832\n", - "2396 0.6752\n", - "2397 0.6798\n", - "2398 0.6688\n", - "2399 0.6850\n", + "2395 0.6728\n", + "2396 0.6616\n", + "2397 0.6836\n", + "2398 0.6586\n", + "2399 0.6722\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_024.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_024.parquet'\n", - "Saving model to output_dir/model_data_024.parquet\n", - "Saving agent to output_dir/agent_data_024.parquet\n", + "model_file='test_path/model_data_024.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_024.parquet'\n", + "Saving model to test_path/model_data_024.parquet\n", + "Saving agent to test_path/agent_data_024.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6722\n", + "Condition not met at step 2400. No data to save.\n", "2400\n", + "model_vars.get('Gini', 0)[-1]=0.6744\n", + "Condition not met at step 2401. No data to save.\n", "2401\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 2402. No data to save.\n", "2402\n", + "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", + "Condition not met at step 2403. No data to save.\n", "2403\n", + "model_vars.get('Gini', 0)[-1]=0.6946\n", + "Condition not met at step 2404. No data to save.\n", "2404\n", + "model_vars.get('Gini', 0)[-1]=0.6826\n", + "Condition not met at step 2405. No data to save.\n", "2405\n", + "model_vars.get('Gini', 0)[-1]=0.6976\n", + "Condition not met at step 2406. No data to save.\n", "2406\n", + "model_vars.get('Gini', 0)[-1]=0.7116\n", + "Condition met. Appended special results for step 2407 to test_path/special_results.parquet\n", "2407\n", + "model_vars.get('Gini', 0)[-1]=0.6924\n", + "Condition not met at step 2408. No data to save.\n", "2408\n", + "model_vars.get('Gini', 0)[-1]=0.6624\n", + "Condition not met at step 2409. No data to save.\n", "2409\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 2410. No data to save.\n", "2410\n", + "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", + "Condition not met at step 2411. No data to save.\n", "2411\n", + "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", + "Condition not met at step 2412. No data to save.\n", "2412\n", + "model_vars.get('Gini', 0)[-1]=0.6764\n", + "Condition not met at step 2413. No data to save.\n", "2413\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 2414. No data to save.\n", "2414\n", + "model_vars.get('Gini', 0)[-1]=0.6884\n", + "Condition not met at step 2415. No data to save.\n", "2415\n", + "model_vars.get('Gini', 0)[-1]=0.7001999999999999\n", + "Condition met. Appended special results for step 2416 to test_path/special_results.parquet\n", "2416\n", + "model_vars.get('Gini', 0)[-1]=0.6978\n", + "Condition not met at step 2417. No data to save.\n", "2417\n", + "model_vars.get('Gini', 0)[-1]=0.6826\n", + "Condition not met at step 2418. No data to save.\n", "2418\n", + "model_vars.get('Gini', 0)[-1]=0.6792\n", + "Condition not met at step 2419. No data to save.\n", "2419\n", + "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", + "Condition not met at step 2420. No data to save.\n", "2420\n", + "model_vars.get('Gini', 0)[-1]=0.6826\n", + "Condition not met at step 2421. No data to save.\n", "2421\n", + "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", + "Condition not met at step 2422. No data to save.\n", "2422\n", + "model_vars.get('Gini', 0)[-1]=0.6772\n", + "Condition not met at step 2423. No data to save.\n", "2423\n", + "model_vars.get('Gini', 0)[-1]=0.6858\n", + "Condition not met at step 2424. No data to save.\n", "2424\n", + "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", + "Condition not met at step 2425. No data to save.\n", "2425\n", + "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", + "Condition not met at step 2426. No data to save.\n", "2426\n", + "model_vars.get('Gini', 0)[-1]=0.649\n", + "Condition not met at step 2427. No data to save.\n", "2427\n", + "model_vars.get('Gini', 0)[-1]=0.6366\n", + "Condition not met at step 2428. No data to save.\n", "2428\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 2429. No data to save.\n", "2429\n", + "model_vars.get('Gini', 0)[-1]=0.6806\n", + "Condition not met at step 2430. No data to save.\n", "2430\n", + "model_vars.get('Gini', 0)[-1]=0.6654\n", + "Condition not met at step 2431. No data to save.\n", "2431\n", + "model_vars.get('Gini', 0)[-1]=0.6742\n", + "Condition not met at step 2432. No data to save.\n", "2432\n", + "model_vars.get('Gini', 0)[-1]=0.655\n", + "Condition not met at step 2433. No data to save.\n", "2433\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 2434. No data to save.\n", "2434\n", + "model_vars.get('Gini', 0)[-1]=0.6422\n", + "Condition not met at step 2435. No data to save.\n", "2435\n", + "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", + "Condition not met at step 2436. No data to save.\n", "2436\n", + "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", + "Condition not met at step 2437. No data to save.\n", "2437\n", + "model_vars.get('Gini', 0)[-1]=0.6678\n", + "Condition not met at step 2438. No data to save.\n", "2438\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 2439. No data to save.\n", "2439\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 2440. No data to save.\n", "2440\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 2441. No data to save.\n", "2441\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 2442. No data to save.\n", "2442\n", + "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", + "Condition not met at step 2443. No data to save.\n", "2443\n", + "model_vars.get('Gini', 0)[-1]=0.64\n", + "Condition not met at step 2444. No data to save.\n", "2444\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 2445. No data to save.\n", "2445\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 2446. No data to save.\n", "2446\n", + "model_vars.get('Gini', 0)[-1]=0.6638\n", + "Condition not met at step 2447. No data to save.\n", "2447\n", + "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", + "Condition not met at step 2448. No data to save.\n", "2448\n", + "model_vars.get('Gini', 0)[-1]=0.627\n", + "Condition not met at step 2449. No data to save.\n", "2449\n", + "model_vars.get('Gini', 0)[-1]=0.619\n", + "Condition not met at step 2450. No data to save.\n", "2450\n", + "model_vars.get('Gini', 0)[-1]=0.625\n", + "Condition not met at step 2451. No data to save.\n", "2451\n", + "model_vars.get('Gini', 0)[-1]=0.6268\n", + "Condition not met at step 2452. No data to save.\n", "2452\n", + "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", + "Condition not met at step 2453. No data to save.\n", "2453\n", + "model_vars.get('Gini', 0)[-1]=0.623\n", + "Condition not met at step 2454. No data to save.\n", "2454\n", + "model_vars.get('Gini', 0)[-1]=0.6078\n", + "Condition not met at step 2455. No data to save.\n", "2455\n", + "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", + "Condition not met at step 2456. No data to save.\n", "2456\n", + "model_vars.get('Gini', 0)[-1]=0.6138\n", + "Condition not met at step 2457. No data to save.\n", "2457\n", + "model_vars.get('Gini', 0)[-1]=0.5862\n", + "Condition not met at step 2458. No data to save.\n", "2458\n", + "model_vars.get('Gini', 0)[-1]=0.5738000000000001\n", + "Condition not met at step 2459. No data to save.\n", "2459\n", + "model_vars.get('Gini', 0)[-1]=0.5794\n", + "Condition not met at step 2460. No data to save.\n", "2460\n", + "model_vars.get('Gini', 0)[-1]=0.5984\n", + "Condition not met at step 2461. No data to save.\n", "2461\n", + "model_vars.get('Gini', 0)[-1]=0.5884\n", + "Condition not met at step 2462. No data to save.\n", "2462\n", + "model_vars.get('Gini', 0)[-1]=0.5574\n", + "Condition not met at step 2463. No data to save.\n", "2463\n", + "model_vars.get('Gini', 0)[-1]=0.5602\n", + "Condition not met at step 2464. No data to save.\n", "2464\n", + "model_vars.get('Gini', 0)[-1]=0.565\n", + "Condition not met at step 2465. No data to save.\n", "2465\n", + "model_vars.get('Gini', 0)[-1]=0.5922000000000001\n", + "Condition not met at step 2466. No data to save.\n", "2466\n", + "model_vars.get('Gini', 0)[-1]=0.6106\n", + "Condition not met at step 2467. No data to save.\n", "2467\n", + "model_vars.get('Gini', 0)[-1]=0.627\n", + "Condition not met at step 2468. No data to save.\n", "2468\n", + "model_vars.get('Gini', 0)[-1]=0.6348\n", + "Condition not met at step 2469. No data to save.\n", "2469\n", + "model_vars.get('Gini', 0)[-1]=0.6032\n", + "Condition not met at step 2470. No data to save.\n", "2470\n", + "model_vars.get('Gini', 0)[-1]=0.5920000000000001\n", + "Condition not met at step 2471. No data to save.\n", "2471\n", + "model_vars.get('Gini', 0)[-1]=0.5682\n", + "Condition not met at step 2472. No data to save.\n", "2472\n", + "model_vars.get('Gini', 0)[-1]=0.5996\n", + "Condition not met at step 2473. No data to save.\n", "2473\n", + "model_vars.get('Gini', 0)[-1]=0.6058\n", + "Condition not met at step 2474. No data to save.\n", "2474\n", + "model_vars.get('Gini', 0)[-1]=0.5972\n", + "Condition not met at step 2475. No data to save.\n", "2475\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 2476. No data to save.\n", "2476\n", + "model_vars.get('Gini', 0)[-1]=0.6298\n", + "Condition not met at step 2477. No data to save.\n", "2477\n", + "model_vars.get('Gini', 0)[-1]=0.6246\n", + "Condition not met at step 2478. No data to save.\n", "2478\n", + "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", + "Condition not met at step 2479. No data to save.\n", "2479\n", + "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", + "Condition not met at step 2480. No data to save.\n", "2480\n", + "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", + "Condition not met at step 2481. No data to save.\n", "2481\n", + "model_vars.get('Gini', 0)[-1]=0.6754\n", + "Condition not met at step 2482. No data to save.\n", "2482\n", + "model_vars.get('Gini', 0)[-1]=0.6534\n", + "Condition not met at step 2483. No data to save.\n", "2483\n", + "model_vars.get('Gini', 0)[-1]=0.6744\n", + "Condition not met at step 2484. No data to save.\n", "2484\n", + "model_vars.get('Gini', 0)[-1]=0.661\n", + "Condition not met at step 2485. No data to save.\n", "2485\n", + "model_vars.get('Gini', 0)[-1]=0.6282000000000001\n", + "Condition not met at step 2486. No data to save.\n", "2486\n", + "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", + "Condition not met at step 2487. No data to save.\n", "2487\n", + "model_vars.get('Gini', 0)[-1]=0.6408\n", + "Condition not met at step 2488. No data to save.\n", "2488\n", + "model_vars.get('Gini', 0)[-1]=0.6166\n", + "Condition not met at step 2489. No data to save.\n", "2489\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 2490. No data to save.\n", "2490\n", + "model_vars.get('Gini', 0)[-1]=0.617\n", + "Condition not met at step 2491. No data to save.\n", "2491\n", + "model_vars.get('Gini', 0)[-1]=0.6194\n", + "Condition not met at step 2492. No data to save.\n", "2492\n", + "model_vars.get('Gini', 0)[-1]=0.6024\n", + "Condition not met at step 2493. No data to save.\n", "2493\n", + "model_vars.get('Gini', 0)[-1]=0.606\n", + "Condition not met at step 2494. No data to save.\n", "2494\n", + "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", + "Condition not met at step 2495. No data to save.\n", "2495\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 2496. No data to save.\n", "2496\n", + "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", + "Condition not met at step 2497. No data to save.\n", "2497\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 2498. No data to save.\n", "2498\n", + "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", + "Condition not met at step 2499. No data to save.\n", "2499\n", "CALLED\n", "self.model._steps=2500\n", " TEST self.model._steps=2500\n", " TEST self._cache_interval=100\n", " Gini\n", - "2400 0.6994\n", - "2401 0.6884\n", - "2402 0.6870\n", - "2403 0.6612\n", - "2404 0.6716\n", + "2400 0.6744\n", + "2401 0.6704\n", + "2402 0.6748\n", + "2403 0.6946\n", + "2404 0.6826\n", "... ...\n", - "2495 0.6496\n", - "2496 0.6534\n", - "2497 0.6500\n", - "2498 0.6460\n", - "2499 0.6532\n", + "2495 0.6406\n", + "2496 0.6262\n", + "2497 0.6274\n", + "2498 0.6262\n", + "2499 0.6760\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_025.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_025.parquet'\n", - "Saving model to output_dir/model_data_025.parquet\n", - "Saving agent to output_dir/agent_data_025.parquet\n", + "model_file='test_path/model_data_025.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_025.parquet'\n", + "Saving model to test_path/model_data_025.parquet\n", + "Saving agent to test_path/agent_data_025.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", + "Condition not met at step 2500. No data to save.\n", "2500\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 2501. No data to save.\n", "2501\n", + "model_vars.get('Gini', 0)[-1]=0.657\n", + "Condition not met at step 2502. No data to save.\n", "2502\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 2503. No data to save.\n", "2503\n", + "model_vars.get('Gini', 0)[-1]=0.653\n", + "Condition not met at step 2504. No data to save.\n", "2504\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 2505. No data to save.\n", "2505\n", + "model_vars.get('Gini', 0)[-1]=0.6554\n", + "Condition not met at step 2506. No data to save.\n", "2506\n", + "model_vars.get('Gini', 0)[-1]=0.6358\n", + "Condition not met at step 2507. No data to save.\n", "2507\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 2508. No data to save.\n", "2508\n", + "model_vars.get('Gini', 0)[-1]=0.6946\n", + "Condition not met at step 2509. No data to save.\n", "2509\n", + "model_vars.get('Gini', 0)[-1]=0.6736\n", + "Condition not met at step 2510. No data to save.\n", "2510\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 2511. No data to save.\n", "2511\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 2512. No data to save.\n", "2512\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 2513. No data to save.\n", "2513\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 2514. No data to save.\n", "2514\n", + "model_vars.get('Gini', 0)[-1]=0.6306\n", + "Condition not met at step 2515. No data to save.\n", "2515\n", + "model_vars.get('Gini', 0)[-1]=0.6462\n", + "Condition not met at step 2516. No data to save.\n", "2516\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 2517. No data to save.\n", "2517\n", + "model_vars.get('Gini', 0)[-1]=0.6858\n", + "Condition not met at step 2518. No data to save.\n", "2518\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 2519. No data to save.\n", "2519\n", + "model_vars.get('Gini', 0)[-1]=0.6702\n", + "Condition not met at step 2520. No data to save.\n", "2520\n", + "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", + "Condition not met at step 2521. No data to save.\n", "2521\n", + "model_vars.get('Gini', 0)[-1]=0.671\n", + "Condition not met at step 2522. No data to save.\n", "2522\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 2523. No data to save.\n", "2523\n", + "model_vars.get('Gini', 0)[-1]=0.6692\n", + "Condition not met at step 2524. No data to save.\n", "2524\n", + "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", + "Condition not met at step 2525. No data to save.\n", "2525\n", + "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", + "Condition not met at step 2526. No data to save.\n", "2526\n", + "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", + "Condition not met at step 2527. No data to save.\n", "2527\n", + "model_vars.get('Gini', 0)[-1]=0.612\n", + "Condition not met at step 2528. No data to save.\n", "2528\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 2529. No data to save.\n", "2529\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 2530. No data to save.\n", "2530\n", + "model_vars.get('Gini', 0)[-1]=0.6474\n", + "Condition not met at step 2531. No data to save.\n", "2531\n", + "model_vars.get('Gini', 0)[-1]=0.667\n", + "Condition not met at step 2532. No data to save.\n", "2532\n", + "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", + "Condition not met at step 2533. No data to save.\n", "2533\n", + "model_vars.get('Gini', 0)[-1]=0.6654\n", + "Condition not met at step 2534. No data to save.\n", "2534\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 2535. No data to save.\n", "2535\n", + "model_vars.get('Gini', 0)[-1]=0.6516\n", + "Condition not met at step 2536. No data to save.\n", "2536\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 2537. No data to save.\n", "2537\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 2538. No data to save.\n", "2538\n", + "model_vars.get('Gini', 0)[-1]=0.6722\n", + "Condition not met at step 2539. No data to save.\n", "2539\n", + "model_vars.get('Gini', 0)[-1]=0.6852\n", + "Condition not met at step 2540. No data to save.\n", "2540\n", + "model_vars.get('Gini', 0)[-1]=0.6898\n", + "Condition not met at step 2541. No data to save.\n", "2541\n", + "model_vars.get('Gini', 0)[-1]=0.7252000000000001\n", + "Condition met. Appended special results for step 2542 to test_path/special_results.parquet\n", "2542\n", + "model_vars.get('Gini', 0)[-1]=0.7106\n", + "Condition met. Appended special results for step 2543 to test_path/special_results.parquet\n", "2543\n", + "model_vars.get('Gini', 0)[-1]=0.6898\n", + "Condition not met at step 2544. No data to save.\n", "2544\n", + "model_vars.get('Gini', 0)[-1]=0.687\n", + "Condition not met at step 2545. No data to save.\n", "2545\n", + "model_vars.get('Gini', 0)[-1]=0.6872\n", + "Condition not met at step 2546. No data to save.\n", "2546\n", + "model_vars.get('Gini', 0)[-1]=0.6656\n", + "Condition not met at step 2547. No data to save.\n", "2547\n", + "model_vars.get('Gini', 0)[-1]=0.6462\n", + "Condition not met at step 2548. No data to save.\n", "2548\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 2549. No data to save.\n", "2549\n", + "model_vars.get('Gini', 0)[-1]=0.6437999999999999\n", + "Condition not met at step 2550. No data to save.\n", "2550\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 2551. No data to save.\n", "2551\n", + "model_vars.get('Gini', 0)[-1]=0.6674\n", + "Condition not met at step 2552. No data to save.\n", "2552\n", + "model_vars.get('Gini', 0)[-1]=0.6868000000000001\n", + "Condition not met at step 2553. No data to save.\n", "2553\n", + "model_vars.get('Gini', 0)[-1]=0.7188\n", + "Condition met. Appended special results for step 2554 to test_path/special_results.parquet\n", "2554\n", + "model_vars.get('Gini', 0)[-1]=0.6972\n", + "Condition not met at step 2555. No data to save.\n", "2555\n", + "model_vars.get('Gini', 0)[-1]=0.6814\n", + "Condition not met at step 2556. No data to save.\n", "2556\n", + "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", + "Condition not met at step 2557. No data to save.\n", "2557\n", + "model_vars.get('Gini', 0)[-1]=0.6834\n", + "Condition not met at step 2558. No data to save.\n", "2558\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 2559. No data to save.\n", "2559\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 2560. No data to save.\n", "2560\n", + "model_vars.get('Gini', 0)[-1]=0.664\n", + "Condition not met at step 2561. No data to save.\n", "2561\n", + "model_vars.get('Gini', 0)[-1]=0.69\n", + "Condition not met at step 2562. No data to save.\n", "2562\n", + "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "Condition not met at step 2563. No data to save.\n", "2563\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 2564. No data to save.\n", "2564\n", + "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", + "Condition not met at step 2565. No data to save.\n", "2565\n", + "model_vars.get('Gini', 0)[-1]=0.6662\n", + "Condition not met at step 2566. No data to save.\n", "2566\n", + "model_vars.get('Gini', 0)[-1]=0.6804\n", + "Condition not met at step 2567. No data to save.\n", "2567\n", + "model_vars.get('Gini', 0)[-1]=0.6778\n", + "Condition not met at step 2568. No data to save.\n", "2568\n", + "model_vars.get('Gini', 0)[-1]=0.6852\n", + "Condition not met at step 2569. No data to save.\n", "2569\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 2570. No data to save.\n", "2570\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 2571. No data to save.\n", "2571\n", + "model_vars.get('Gini', 0)[-1]=0.6764\n", + "Condition not met at step 2572. No data to save.\n", "2572\n", + "model_vars.get('Gini', 0)[-1]=0.669\n", + "Condition not met at step 2573. No data to save.\n", "2573\n", + "model_vars.get('Gini', 0)[-1]=0.6634\n", + "Condition not met at step 2574. No data to save.\n", "2574\n", + "model_vars.get('Gini', 0)[-1]=0.657\n", + "Condition not met at step 2575. No data to save.\n", "2575\n", + "model_vars.get('Gini', 0)[-1]=0.6684\n", + "Condition not met at step 2576. No data to save.\n", "2576\n", + "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", + "Condition not met at step 2577. No data to save.\n", "2577\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 2578. No data to save.\n", "2578\n", + "model_vars.get('Gini', 0)[-1]=0.6414\n", + "Condition not met at step 2579. No data to save.\n", "2579\n", + "model_vars.get('Gini', 0)[-1]=0.6392\n", + "Condition not met at step 2580. No data to save.\n", "2580\n", + "model_vars.get('Gini', 0)[-1]=0.6268\n", + "Condition not met at step 2581. No data to save.\n", "2581\n", + "model_vars.get('Gini', 0)[-1]=0.613\n", + "Condition not met at step 2582. No data to save.\n", "2582\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 2583. No data to save.\n", "2583\n", + "model_vars.get('Gini', 0)[-1]=0.6462\n", + "Condition not met at step 2584. No data to save.\n", "2584\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 2585. No data to save.\n", "2585\n", + "model_vars.get('Gini', 0)[-1]=0.6782\n", + "Condition not met at step 2586. No data to save.\n", "2586\n", + "model_vars.get('Gini', 0)[-1]=0.6804\n", + "Condition not met at step 2587. No data to save.\n", "2587\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 2588. No data to save.\n", "2588\n", + "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "Condition not met at step 2589. No data to save.\n", "2589\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 2590. No data to save.\n", "2590\n", + "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", + "Condition not met at step 2591. No data to save.\n", "2591\n", + "model_vars.get('Gini', 0)[-1]=0.667\n", + "Condition not met at step 2592. No data to save.\n", "2592\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 2593. No data to save.\n", "2593\n", + "model_vars.get('Gini', 0)[-1]=0.6222000000000001\n", + "Condition not met at step 2594. No data to save.\n", "2594\n", + "model_vars.get('Gini', 0)[-1]=0.6374\n", + "Condition not met at step 2595. No data to save.\n", "2595\n", + "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", + "Condition not met at step 2596. No data to save.\n", "2596\n", + "model_vars.get('Gini', 0)[-1]=0.7074\n", + "Condition met. Appended special results for step 2597 to test_path/special_results.parquet\n", "2597\n", + "model_vars.get('Gini', 0)[-1]=0.6884\n", + "Condition not met at step 2598. No data to save.\n", "2598\n", + "model_vars.get('Gini', 0)[-1]=0.6714\n", + "Condition not met at step 2599. No data to save.\n", "2599\n", "CALLED\n", "self.model._steps=2600\n", " TEST self.model._steps=2600\n", " TEST self._cache_interval=100\n", " Gini\n", - "2500 0.6828\n", - "2501 0.6718\n", - "2502 0.6546\n", - "2503 0.6384\n", - "2504 0.6320\n", + "2500 0.6766\n", + "2501 0.6570\n", + "2502 0.6582\n", + "2503 0.6530\n", + "2504 0.6582\n", "... ...\n", - "2595 0.6142\n", - "2596 0.6306\n", - "2597 0.6378\n", - "2598 0.6732\n", - "2599 0.6952\n", + "2595 0.6860\n", + "2596 0.7074\n", + "2597 0.6884\n", + "2598 0.6714\n", + "2599 0.6552\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_026.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_026.parquet'\n", - "Saving model to output_dir/model_data_026.parquet\n", - "Saving agent to output_dir/agent_data_026.parquet\n", + "model_file='test_path/model_data_026.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_026.parquet'\n", + "Saving model to test_path/model_data_026.parquet\n", + "Saving agent to test_path/agent_data_026.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6552\n", + "Condition not met at step 2600. No data to save.\n", "2600\n", + "model_vars.get('Gini', 0)[-1]=0.6246\n", + "Condition not met at step 2601. No data to save.\n", "2601\n", + "model_vars.get('Gini', 0)[-1]=0.6338\n", + "Condition not met at step 2602. No data to save.\n", "2602\n", + "model_vars.get('Gini', 0)[-1]=0.605\n", + "Condition not met at step 2603. No data to save.\n", "2603\n", + "model_vars.get('Gini', 0)[-1]=0.6116\n", + "Condition not met at step 2604. No data to save.\n", "2604\n", + "model_vars.get('Gini', 0)[-1]=0.6238\n", + "Condition not met at step 2605. No data to save.\n", "2605\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 2606. No data to save.\n", "2606\n", + "model_vars.get('Gini', 0)[-1]=0.629\n", + "Condition not met at step 2607. No data to save.\n", "2607\n", + "model_vars.get('Gini', 0)[-1]=0.6058\n", + "Condition not met at step 2608. No data to save.\n", "2608\n", + "model_vars.get('Gini', 0)[-1]=0.6258\n", + "Condition not met at step 2609. No data to save.\n", "2609\n", + "model_vars.get('Gini', 0)[-1]=0.5802\n", + "Condition not met at step 2610. No data to save.\n", "2610\n", + "model_vars.get('Gini', 0)[-1]=0.6072\n", + "Condition not met at step 2611. No data to save.\n", "2611\n", + "model_vars.get('Gini', 0)[-1]=0.605\n", + "Condition not met at step 2612. No data to save.\n", "2612\n", + "model_vars.get('Gini', 0)[-1]=0.6392\n", + "Condition not met at step 2613. No data to save.\n", "2613\n", + "model_vars.get('Gini', 0)[-1]=0.6414\n", + "Condition not met at step 2614. No data to save.\n", "2614\n", + "model_vars.get('Gini', 0)[-1]=0.6338\n", + "Condition not met at step 2615. No data to save.\n", "2615\n", + "model_vars.get('Gini', 0)[-1]=0.5788\n", + "Condition not met at step 2616. No data to save.\n", "2616\n", + "model_vars.get('Gini', 0)[-1]=0.623\n", + "Condition not met at step 2617. No data to save.\n", "2617\n", + "model_vars.get('Gini', 0)[-1]=0.5900000000000001\n", + "Condition not met at step 2618. No data to save.\n", "2618\n", + "model_vars.get('Gini', 0)[-1]=0.611\n", + "Condition not met at step 2619. No data to save.\n", "2619\n", + "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", + "Condition not met at step 2620. No data to save.\n", "2620\n", + "model_vars.get('Gini', 0)[-1]=0.6226\n", + "Condition not met at step 2621. No data to save.\n", "2621\n", + "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", + "Condition not met at step 2622. No data to save.\n", "2622\n", + "model_vars.get('Gini', 0)[-1]=0.623\n", + "Condition not met at step 2623. No data to save.\n", "2623\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 2624. No data to save.\n", "2624\n", + "model_vars.get('Gini', 0)[-1]=0.6736\n", + "Condition not met at step 2625. No data to save.\n", "2625\n", + "model_vars.get('Gini', 0)[-1]=0.6924\n", + "Condition not met at step 2626. No data to save.\n", "2626\n", + "model_vars.get('Gini', 0)[-1]=0.664\n", + "Condition not met at step 2627. No data to save.\n", "2627\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 2628. No data to save.\n", "2628\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 2629. No data to save.\n", "2629\n", + "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", + "Condition not met at step 2630. No data to save.\n", "2630\n", + "model_vars.get('Gini', 0)[-1]=0.6572\n", + "Condition not met at step 2631. No data to save.\n", "2631\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 2632. No data to save.\n", "2632\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 2633. No data to save.\n", "2633\n", + "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", + "Condition not met at step 2634. No data to save.\n", "2634\n", + "model_vars.get('Gini', 0)[-1]=0.631\n", + "Condition not met at step 2635. No data to save.\n", "2635\n", + "model_vars.get('Gini', 0)[-1]=0.6576\n", + "Condition not met at step 2636. No data to save.\n", "2636\n", + "model_vars.get('Gini', 0)[-1]=0.6456\n", + "Condition not met at step 2637. No data to save.\n", "2637\n", + "model_vars.get('Gini', 0)[-1]=0.6456\n", + "Condition not met at step 2638. No data to save.\n", "2638\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 2639. No data to save.\n", "2639\n", + "model_vars.get('Gini', 0)[-1]=0.6422\n", + "Condition not met at step 2640. No data to save.\n", "2640\n", + "model_vars.get('Gini', 0)[-1]=0.613\n", + "Condition not met at step 2641. No data to save.\n", "2641\n", + "model_vars.get('Gini', 0)[-1]=0.6246\n", + "Condition not met at step 2642. No data to save.\n", "2642\n", + "model_vars.get('Gini', 0)[-1]=0.6238\n", + "Condition not met at step 2643. No data to save.\n", "2643\n", + "model_vars.get('Gini', 0)[-1]=0.6093999999999999\n", + "Condition not met at step 2644. No data to save.\n", "2644\n", + "model_vars.get('Gini', 0)[-1]=0.6306\n", + "Condition not met at step 2645. No data to save.\n", "2645\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 2646. No data to save.\n", "2646\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 2647. No data to save.\n", "2647\n", + "model_vars.get('Gini', 0)[-1]=0.6398\n", + "Condition not met at step 2648. No data to save.\n", "2648\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 2649. No data to save.\n", "2649\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 2650. No data to save.\n", "2650\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 2651. No data to save.\n", "2651\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 2652. No data to save.\n", "2652\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 2653. No data to save.\n", "2653\n", + "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", + "Condition not met at step 2654. No data to save.\n", "2654\n", + "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", + "Condition not met at step 2655. No data to save.\n", "2655\n", + "model_vars.get('Gini', 0)[-1]=0.6824\n", + "Condition not met at step 2656. No data to save.\n", "2656\n", + "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", + "Condition not met at step 2657. No data to save.\n", "2657\n", + "model_vars.get('Gini', 0)[-1]=0.6824\n", + "Condition not met at step 2658. No data to save.\n", "2658\n", + "model_vars.get('Gini', 0)[-1]=0.6694\n", + "Condition not met at step 2659. No data to save.\n", "2659\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 2660. No data to save.\n", "2660\n", + "model_vars.get('Gini', 0)[-1]=0.6194\n", + "Condition not met at step 2661. No data to save.\n", "2661\n", + "model_vars.get('Gini', 0)[-1]=0.63\n", + "Condition not met at step 2662. No data to save.\n", "2662\n", + "model_vars.get('Gini', 0)[-1]=0.6188\n", + "Condition not met at step 2663. No data to save.\n", "2663\n", + "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", + "Condition not met at step 2664. No data to save.\n", "2664\n", + "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", + "Condition not met at step 2665. No data to save.\n", "2665\n", + "model_vars.get('Gini', 0)[-1]=0.5933999999999999\n", + "Condition not met at step 2666. No data to save.\n", "2666\n", + "model_vars.get('Gini', 0)[-1]=0.611\n", + "Condition not met at step 2667. No data to save.\n", "2667\n", + "model_vars.get('Gini', 0)[-1]=0.593\n", + "Condition not met at step 2668. No data to save.\n", "2668\n", + "model_vars.get('Gini', 0)[-1]=0.622\n", + "Condition not met at step 2669. No data to save.\n", "2669\n", + "model_vars.get('Gini', 0)[-1]=0.624\n", + "Condition not met at step 2670. No data to save.\n", "2670\n", + "model_vars.get('Gini', 0)[-1]=0.629\n", + "Condition not met at step 2671. No data to save.\n", "2671\n", + "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", + "Condition not met at step 2672. No data to save.\n", "2672\n", + "model_vars.get('Gini', 0)[-1]=0.6442\n", + "Condition not met at step 2673. No data to save.\n", "2673\n", + "model_vars.get('Gini', 0)[-1]=0.6138\n", + "Condition not met at step 2674. No data to save.\n", "2674\n", + "model_vars.get('Gini', 0)[-1]=0.6128\n", + "Condition not met at step 2675. No data to save.\n", "2675\n", + "model_vars.get('Gini', 0)[-1]=0.6472\n", + "Condition not met at step 2676. No data to save.\n", "2676\n", + "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", + "Condition not met at step 2677. No data to save.\n", "2677\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 2678. No data to save.\n", "2678\n", + "model_vars.get('Gini', 0)[-1]=0.6172\n", + "Condition not met at step 2679. No data to save.\n", "2679\n", + "model_vars.get('Gini', 0)[-1]=0.6232\n", + "Condition not met at step 2680. No data to save.\n", "2680\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 2681. No data to save.\n", "2681\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 2682. No data to save.\n", "2682\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 2683. No data to save.\n", "2683\n", + "model_vars.get('Gini', 0)[-1]=0.666\n", + "Condition not met at step 2684. No data to save.\n", "2684\n", + "model_vars.get('Gini', 0)[-1]=0.6576\n", + "Condition not met at step 2685. No data to save.\n", "2685\n", + "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", + "Condition not met at step 2686. No data to save.\n", "2686\n", + "model_vars.get('Gini', 0)[-1]=0.651\n", + "Condition not met at step 2687. No data to save.\n", "2687\n", + "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", + "Condition not met at step 2688. No data to save.\n", "2688\n", + "model_vars.get('Gini', 0)[-1]=0.6272\n", + "Condition not met at step 2689. No data to save.\n", "2689\n", + "model_vars.get('Gini', 0)[-1]=0.6318\n", + "Condition not met at step 2690. No data to save.\n", "2690\n", + "model_vars.get('Gini', 0)[-1]=0.6318\n", + "Condition not met at step 2691. No data to save.\n", "2691\n", + "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", + "Condition not met at step 2692. No data to save.\n", "2692\n", + "model_vars.get('Gini', 0)[-1]=0.6298\n", + "Condition not met at step 2693. No data to save.\n", "2693\n", + "model_vars.get('Gini', 0)[-1]=0.603\n", + "Condition not met at step 2694. No data to save.\n", "2694\n", + "model_vars.get('Gini', 0)[-1]=0.5956\n", + "Condition not met at step 2695. No data to save.\n", "2695\n", + "model_vars.get('Gini', 0)[-1]=0.5864\n", + "Condition not met at step 2696. No data to save.\n", "2696\n", + "model_vars.get('Gini', 0)[-1]=0.6312\n", + "Condition not met at step 2697. No data to save.\n", "2697\n", + "model_vars.get('Gini', 0)[-1]=0.6082000000000001\n", + "Condition not met at step 2698. No data to save.\n", "2698\n", + "model_vars.get('Gini', 0)[-1]=0.5956\n", + "Condition not met at step 2699. No data to save.\n", "2699\n", "CALLED\n", "self.model._steps=2700\n", " TEST self.model._steps=2700\n", " TEST self._cache_interval=100\n", " Gini\n", - "2600 0.6610\n", - "2601 0.6734\n", - "2602 0.6920\n", - "2603 0.6636\n", - "2604 0.6586\n", + "2600 0.6246\n", + "2601 0.6338\n", + "2602 0.6050\n", + "2603 0.6116\n", + "2604 0.6238\n", "... ...\n", - "2695 0.6574\n", - "2696 0.6408\n", - "2697 0.6620\n", - "2698 0.6498\n", - "2699 0.6674\n", + "2695 0.5864\n", + "2696 0.6312\n", + "2697 0.6082\n", + "2698 0.5956\n", + "2699 0.6114\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_027.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_027.parquet'\n", - "Saving model to output_dir/model_data_027.parquet\n", - "Saving agent to output_dir/agent_data_027.parquet\n", + "model_file='test_path/model_data_027.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_027.parquet'\n", + "Saving model to test_path/model_data_027.parquet\n", + "Saving agent to test_path/agent_data_027.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", + "Condition not met at step 2700. No data to save.\n", "2700\n", + "model_vars.get('Gini', 0)[-1]=0.6156\n", + "Condition not met at step 2701. No data to save.\n", "2701\n", + "model_vars.get('Gini', 0)[-1]=0.608\n", + "Condition not met at step 2702. No data to save.\n", "2702\n", + "model_vars.get('Gini', 0)[-1]=0.6272\n", + "Condition not met at step 2703. No data to save.\n", "2703\n", + "model_vars.get('Gini', 0)[-1]=0.6298\n", + "Condition not met at step 2704. No data to save.\n", "2704\n", + "model_vars.get('Gini', 0)[-1]=0.6332\n", + "Condition not met at step 2705. No data to save.\n", "2705\n", + "model_vars.get('Gini', 0)[-1]=0.6108\n", + "Condition not met at step 2706. No data to save.\n", "2706\n", + "model_vars.get('Gini', 0)[-1]=0.6298\n", + "Condition not met at step 2707. No data to save.\n", "2707\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 2708. No data to save.\n", "2708\n", + "model_vars.get('Gini', 0)[-1]=0.62\n", + "Condition not met at step 2709. No data to save.\n", "2709\n", + "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", + "Condition not met at step 2710. No data to save.\n", "2710\n", + "model_vars.get('Gini', 0)[-1]=0.6402\n", + "Condition not met at step 2711. No data to save.\n", "2711\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 2712. No data to save.\n", "2712\n", + "model_vars.get('Gini', 0)[-1]=0.6724\n", + "Condition not met at step 2713. No data to save.\n", "2713\n", + "model_vars.get('Gini', 0)[-1]=0.6776\n", + "Condition not met at step 2714. No data to save.\n", "2714\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 2715. No data to save.\n", "2715\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 2716. No data to save.\n", "2716\n", + "model_vars.get('Gini', 0)[-1]=0.6594\n", + "Condition not met at step 2717. No data to save.\n", "2717\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 2718. No data to save.\n", "2718\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 2719. No data to save.\n", "2719\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 2720. No data to save.\n", "2720\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 2721. No data to save.\n", "2721\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 2722. No data to save.\n", "2722\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 2723. No data to save.\n", "2723\n", + "model_vars.get('Gini', 0)[-1]=0.6624\n", + "Condition not met at step 2724. No data to save.\n", "2724\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 2725. No data to save.\n", "2725\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 2726. No data to save.\n", "2726\n", + "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", + "Condition not met at step 2727. No data to save.\n", "2727\n", + "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", + "Condition not met at step 2728. No data to save.\n", "2728\n", + "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", + "Condition not met at step 2729. No data to save.\n", "2729\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 2730. No data to save.\n", "2730\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 2731. No data to save.\n", "2731\n", + "model_vars.get('Gini', 0)[-1]=0.6514\n", + "Condition not met at step 2732. No data to save.\n", "2732\n", + "model_vars.get('Gini', 0)[-1]=0.6286\n", + "Condition not met at step 2733. No data to save.\n", "2733\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 2734. No data to save.\n", "2734\n", + "model_vars.get('Gini', 0)[-1]=0.6488\n", + "Condition not met at step 2735. No data to save.\n", "2735\n", + "model_vars.get('Gini', 0)[-1]=0.6268\n", + "Condition not met at step 2736. No data to save.\n", "2736\n", + "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", + "Condition not met at step 2737. No data to save.\n", "2737\n", + "model_vars.get('Gini', 0)[-1]=0.6778\n", + "Condition not met at step 2738. No data to save.\n", "2738\n", + "model_vars.get('Gini', 0)[-1]=0.6856\n", + "Condition not met at step 2739. No data to save.\n", "2739\n", + "model_vars.get('Gini', 0)[-1]=0.694\n", + "Condition not met at step 2740. No data to save.\n", "2740\n", + "model_vars.get('Gini', 0)[-1]=0.7\n", + "Condition not met at step 2741. No data to save.\n", "2741\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 2742. No data to save.\n", "2742\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 2743. No data to save.\n", "2743\n", + "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", + "Condition not met at step 2744. No data to save.\n", "2744\n", + "model_vars.get('Gini', 0)[-1]=0.6994\n", + "Condition not met at step 2745. No data to save.\n", "2745\n", + "model_vars.get('Gini', 0)[-1]=0.6812\n", + "Condition not met at step 2746. No data to save.\n", "2746\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 2747. No data to save.\n", "2747\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 2748. No data to save.\n", "2748\n", + "model_vars.get('Gini', 0)[-1]=0.6312\n", + "Condition not met at step 2749. No data to save.\n", "2749\n", + "model_vars.get('Gini', 0)[-1]=0.6214\n", + "Condition not met at step 2750. No data to save.\n", "2750\n", + "model_vars.get('Gini', 0)[-1]=0.66\n", + "Condition not met at step 2751. No data to save.\n", "2751\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 2752. No data to save.\n", "2752\n", + "model_vars.get('Gini', 0)[-1]=0.6556\n", + "Condition not met at step 2753. No data to save.\n", "2753\n", + "model_vars.get('Gini', 0)[-1]=0.667\n", + "Condition not met at step 2754. No data to save.\n", "2754\n", + "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", + "Condition not met at step 2755. No data to save.\n", "2755\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 2756. No data to save.\n", "2756\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 2757. No data to save.\n", "2757\n", + "model_vars.get('Gini', 0)[-1]=0.6462\n", + "Condition not met at step 2758. No data to save.\n", "2758\n", + "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", + "Condition not met at step 2759. No data to save.\n", "2759\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 2760. No data to save.\n", "2760\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 2761. No data to save.\n", "2761\n", + "model_vars.get('Gini', 0)[-1]=0.6226\n", + "Condition not met at step 2762. No data to save.\n", "2762\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 2763. No data to save.\n", "2763\n", + "model_vars.get('Gini', 0)[-1]=0.6232\n", + "Condition not met at step 2764. No data to save.\n", "2764\n", + "model_vars.get('Gini', 0)[-1]=0.6154\n", + "Condition not met at step 2765. No data to save.\n", "2765\n", + "model_vars.get('Gini', 0)[-1]=0.5968\n", + "Condition not met at step 2766. No data to save.\n", "2766\n", + "model_vars.get('Gini', 0)[-1]=0.6044\n", + "Condition not met at step 2767. No data to save.\n", "2767\n", + "model_vars.get('Gini', 0)[-1]=0.6128\n", + "Condition not met at step 2768. No data to save.\n", "2768\n", + "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", + "Condition not met at step 2769. No data to save.\n", "2769\n", + "model_vars.get('Gini', 0)[-1]=0.6282000000000001\n", + "Condition not met at step 2770. No data to save.\n", "2770\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 2771. No data to save.\n", "2771\n", + "model_vars.get('Gini', 0)[-1]=0.604\n", + "Condition not met at step 2772. No data to save.\n", "2772\n", + "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", + "Condition not met at step 2773. No data to save.\n", "2773\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 2774. No data to save.\n", "2774\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 2775. No data to save.\n", "2775\n", + "model_vars.get('Gini', 0)[-1]=0.6308\n", + "Condition not met at step 2776. No data to save.\n", "2776\n", + "model_vars.get('Gini', 0)[-1]=0.6306\n", + "Condition not met at step 2777. No data to save.\n", "2777\n", + "model_vars.get('Gini', 0)[-1]=0.6252\n", + "Condition not met at step 2778. No data to save.\n", "2778\n", + "model_vars.get('Gini', 0)[-1]=0.6306\n", + "Condition not met at step 2779. No data to save.\n", "2779\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 2780. No data to save.\n", "2780\n", + "model_vars.get('Gini', 0)[-1]=0.66\n", + "Condition not met at step 2781. No data to save.\n", "2781\n", + "model_vars.get('Gini', 0)[-1]=0.6838\n", + "Condition not met at step 2782. No data to save.\n", "2782\n", + "model_vars.get('Gini', 0)[-1]=0.6772\n", + "Condition not met at step 2783. No data to save.\n", "2783\n", + "model_vars.get('Gini', 0)[-1]=0.6932\n", + "Condition not met at step 2784. No data to save.\n", "2784\n", + "model_vars.get('Gini', 0)[-1]=0.6782\n", + "Condition not met at step 2785. No data to save.\n", "2785\n", + "model_vars.get('Gini', 0)[-1]=0.6678\n", + "Condition not met at step 2786. No data to save.\n", "2786\n", + "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", + "Condition not met at step 2787. No data to save.\n", "2787\n", + "model_vars.get('Gini', 0)[-1]=0.6442\n", + "Condition not met at step 2788. No data to save.\n", "2788\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 2789. No data to save.\n", "2789\n", + "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", + "Condition not met at step 2790. No data to save.\n", "2790\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 2791. No data to save.\n", "2791\n", + "model_vars.get('Gini', 0)[-1]=0.6312\n", + "Condition not met at step 2792. No data to save.\n", "2792\n", + "model_vars.get('Gini', 0)[-1]=0.6215999999999999\n", + "Condition not met at step 2793. No data to save.\n", "2793\n", + "model_vars.get('Gini', 0)[-1]=0.6228\n", + "Condition not met at step 2794. No data to save.\n", "2794\n", + "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", + "Condition not met at step 2795. No data to save.\n", "2795\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 2796. No data to save.\n", "2796\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 2797. No data to save.\n", "2797\n", + "model_vars.get('Gini', 0)[-1]=0.6782\n", + "Condition not met at step 2798. No data to save.\n", "2798\n", + "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", + "Condition not met at step 2799. No data to save.\n", "2799\n", "CALLED\n", "self.model._steps=2800\n", " TEST self.model._steps=2800\n", " TEST self._cache_interval=100\n", " Gini\n", - "2700 0.6478\n", - "2701 0.6354\n", - "2702 0.6686\n", - "2703 0.6860\n", - "2704 0.6950\n", + "2700 0.6156\n", + "2701 0.6080\n", + "2702 0.6272\n", + "2703 0.6298\n", + "2704 0.6332\n", "... ...\n", - "2795 0.6406\n", - "2796 0.6630\n", - "2797 0.6570\n", - "2798 0.6592\n", - "2799 0.6754\n", + "2795 0.6548\n", + "2796 0.6616\n", + "2797 0.6782\n", + "2798 0.6828\n", + "2799 0.6620\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_028.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_028.parquet'\n", - "Saving model to output_dir/model_data_028.parquet\n", - "Saving agent to output_dir/agent_data_028.parquet\n", + "model_file='test_path/model_data_028.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_028.parquet'\n", + "Saving model to test_path/model_data_028.parquet\n", + "Saving agent to test_path/agent_data_028.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.662\n", + "Condition not met at step 2800. No data to save.\n", "2800\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 2801. No data to save.\n", "2801\n", + "model_vars.get('Gini', 0)[-1]=0.6636\n", + "Condition not met at step 2802. No data to save.\n", "2802\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 2803. No data to save.\n", "2803\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 2804. No data to save.\n", "2804\n", + "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", + "Condition not met at step 2805. No data to save.\n", "2805\n", + "model_vars.get('Gini', 0)[-1]=0.6436\n", + "Condition not met at step 2806. No data to save.\n", "2806\n", + "model_vars.get('Gini', 0)[-1]=0.6742\n", + "Condition not met at step 2807. No data to save.\n", "2807\n", + "model_vars.get('Gini', 0)[-1]=0.6322\n", + "Condition not met at step 2808. No data to save.\n", "2808\n", + "model_vars.get('Gini', 0)[-1]=0.677\n", + "Condition not met at step 2809. No data to save.\n", "2809\n", + "model_vars.get('Gini', 0)[-1]=0.6676\n", + "Condition not met at step 2810. No data to save.\n", "2810\n", + "model_vars.get('Gini', 0)[-1]=0.6756\n", + "Condition not met at step 2811. No data to save.\n", "2811\n", + "model_vars.get('Gini', 0)[-1]=0.6574\n", + "Condition not met at step 2812. No data to save.\n", "2812\n", + "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", + "Condition not met at step 2813. No data to save.\n", "2813\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 2814. No data to save.\n", "2814\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 2815. No data to save.\n", "2815\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 2816. No data to save.\n", "2816\n", + "model_vars.get('Gini', 0)[-1]=0.63\n", + "Condition not met at step 2817. No data to save.\n", "2817\n", + "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", + "Condition not met at step 2818. No data to save.\n", "2818\n", + "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", + "Condition not met at step 2819. No data to save.\n", "2819\n", + "model_vars.get('Gini', 0)[-1]=0.6242000000000001\n", + "Condition not met at step 2820. No data to save.\n", "2820\n", + "model_vars.get('Gini', 0)[-1]=0.6372\n", + "Condition not met at step 2821. No data to save.\n", "2821\n", + "model_vars.get('Gini', 0)[-1]=0.6368\n", + "Condition not met at step 2822. No data to save.\n", "2822\n", + "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", + "Condition not met at step 2823. No data to save.\n", "2823\n", + "model_vars.get('Gini', 0)[-1]=0.6096\n", + "Condition not met at step 2824. No data to save.\n", "2824\n", + "model_vars.get('Gini', 0)[-1]=0.6166\n", + "Condition not met at step 2825. No data to save.\n", "2825\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 2826. No data to save.\n", "2826\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 2827. No data to save.\n", "2827\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 2828. No data to save.\n", "2828\n", + "model_vars.get('Gini', 0)[-1]=0.6794\n", + "Condition not met at step 2829. No data to save.\n", "2829\n", + "model_vars.get('Gini', 0)[-1]=0.6756\n", + "Condition not met at step 2830. No data to save.\n", "2830\n", + "model_vars.get('Gini', 0)[-1]=0.6724\n", + "Condition not met at step 2831. No data to save.\n", "2831\n", + "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", + "Condition not met at step 2832. No data to save.\n", "2832\n", + "model_vars.get('Gini', 0)[-1]=0.663\n", + "Condition not met at step 2833. No data to save.\n", "2833\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 2834. No data to save.\n", "2834\n", + "model_vars.get('Gini', 0)[-1]=0.7024\n", + "Condition met. Appended special results for step 2835 to test_path/special_results.parquet\n", "2835\n", + "model_vars.get('Gini', 0)[-1]=0.7196\n", + "Condition met. Appended special results for step 2836 to test_path/special_results.parquet\n", "2836\n", + "model_vars.get('Gini', 0)[-1]=0.7096\n", + "Condition met. Appended special results for step 2837 to test_path/special_results.parquet\n", "2837\n", + "model_vars.get('Gini', 0)[-1]=0.6798\n", + "Condition not met at step 2838. No data to save.\n", "2838\n", + "model_vars.get('Gini', 0)[-1]=0.6764\n", + "Condition not met at step 2839. No data to save.\n", "2839\n", + "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", + "Condition not met at step 2840. No data to save.\n", "2840\n", + "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", + "Condition not met at step 2841. No data to save.\n", "2841\n", + "model_vars.get('Gini', 0)[-1]=0.6836\n", + "Condition not met at step 2842. No data to save.\n", "2842\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 2843. No data to save.\n", "2843\n", + "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", + "Condition not met at step 2844. No data to save.\n", "2844\n", + "model_vars.get('Gini', 0)[-1]=0.6754\n", + "Condition not met at step 2845. No data to save.\n", "2845\n", + "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", + "Condition met. Appended special results for step 2846 to test_path/special_results.parquet\n", "2846\n", + "model_vars.get('Gini', 0)[-1]=0.6986\n", + "Condition not met at step 2847. No data to save.\n", "2847\n", + "model_vars.get('Gini', 0)[-1]=0.7334\n", + "Condition met. Appended special results for step 2848 to test_path/special_results.parquet\n", "2848\n", + "model_vars.get('Gini', 0)[-1]=0.7252000000000001\n", + "Condition met. Appended special results for step 2849 to test_path/special_results.parquet\n", "2849\n", + "model_vars.get('Gini', 0)[-1]=0.7298\n", + "Condition met. Appended special results for step 2850 to test_path/special_results.parquet\n", "2850\n", + "model_vars.get('Gini', 0)[-1]=0.7306\n", + "Condition met. Appended special results for step 2851 to test_path/special_results.parquet\n", "2851\n", + "model_vars.get('Gini', 0)[-1]=0.7090000000000001\n", + "Condition met. Appended special results for step 2852 to test_path/special_results.parquet\n", "2852\n", + "model_vars.get('Gini', 0)[-1]=0.6904\n", + "Condition not met at step 2853. No data to save.\n", "2853\n", + "model_vars.get('Gini', 0)[-1]=0.7041999999999999\n", + "Condition met. Appended special results for step 2854 to test_path/special_results.parquet\n", "2854\n", + "model_vars.get('Gini', 0)[-1]=0.696\n", + "Condition not met at step 2855. No data to save.\n", "2855\n", + "model_vars.get('Gini', 0)[-1]=0.6798\n", + "Condition not met at step 2856. No data to save.\n", "2856\n", + "model_vars.get('Gini', 0)[-1]=0.63\n", + "Condition not met at step 2857. No data to save.\n", "2857\n", + "model_vars.get('Gini', 0)[-1]=0.6338\n", + "Condition not met at step 2858. No data to save.\n", "2858\n", + "model_vars.get('Gini', 0)[-1]=0.6195999999999999\n", + "Condition not met at step 2859. No data to save.\n", "2859\n", + "model_vars.get('Gini', 0)[-1]=0.6158\n", + "Condition not met at step 2860. No data to save.\n", "2860\n", + "model_vars.get('Gini', 0)[-1]=0.5882000000000001\n", + "Condition not met at step 2861. No data to save.\n", "2861\n", + "model_vars.get('Gini', 0)[-1]=0.6242000000000001\n", + "Condition not met at step 2862. No data to save.\n", "2862\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 2863. No data to save.\n", "2863\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 2864. No data to save.\n", "2864\n", + "model_vars.get('Gini', 0)[-1]=0.6534\n", + "Condition not met at step 2865. No data to save.\n", "2865\n", + "model_vars.get('Gini', 0)[-1]=0.6454\n", + "Condition not met at step 2866. No data to save.\n", "2866\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 2867. No data to save.\n", "2867\n", + "model_vars.get('Gini', 0)[-1]=0.6348\n", + "Condition not met at step 2868. No data to save.\n", "2868\n", + "model_vars.get('Gini', 0)[-1]=0.6368\n", + "Condition not met at step 2869. No data to save.\n", "2869\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 2870. No data to save.\n", "2870\n", + "model_vars.get('Gini', 0)[-1]=0.6254\n", + "Condition not met at step 2871. No data to save.\n", "2871\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 2872. No data to save.\n", "2872\n", + "model_vars.get('Gini', 0)[-1]=0.6636\n", + "Condition not met at step 2873. No data to save.\n", "2873\n", + "model_vars.get('Gini', 0)[-1]=0.6328\n", + "Condition not met at step 2874. No data to save.\n", "2874\n", + "model_vars.get('Gini', 0)[-1]=0.6696\n", + "Condition not met at step 2875. No data to save.\n", "2875\n", + "model_vars.get('Gini', 0)[-1]=0.6692\n", + "Condition not met at step 2876. No data to save.\n", "2876\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 2877. No data to save.\n", "2877\n", + "model_vars.get('Gini', 0)[-1]=0.6294\n", + "Condition not met at step 2878. No data to save.\n", "2878\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 2879. No data to save.\n", "2879\n", + "model_vars.get('Gini', 0)[-1]=0.6366\n", + "Condition not met at step 2880. No data to save.\n", "2880\n", + "model_vars.get('Gini', 0)[-1]=0.6428\n", + "Condition not met at step 2881. No data to save.\n", "2881\n", + "model_vars.get('Gini', 0)[-1]=0.6584\n", + "Condition not met at step 2882. No data to save.\n", "2882\n", + "model_vars.get('Gini', 0)[-1]=0.654\n", + "Condition not met at step 2883. No data to save.\n", "2883\n", + "model_vars.get('Gini', 0)[-1]=0.632\n", + "Condition not met at step 2884. No data to save.\n", "2884\n", + "model_vars.get('Gini', 0)[-1]=0.6376\n", + "Condition not met at step 2885. No data to save.\n", "2885\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 2886. No data to save.\n", "2886\n", + "model_vars.get('Gini', 0)[-1]=0.6784\n", + "Condition not met at step 2887. No data to save.\n", "2887\n", + "model_vars.get('Gini', 0)[-1]=0.6784\n", + "Condition not met at step 2888. No data to save.\n", "2888\n", + "model_vars.get('Gini', 0)[-1]=0.6634\n", + "Condition not met at step 2889. No data to save.\n", "2889\n", + "model_vars.get('Gini', 0)[-1]=0.6806\n", + "Condition not met at step 2890. No data to save.\n", "2890\n", + "model_vars.get('Gini', 0)[-1]=0.7061999999999999\n", + "Condition met. Appended special results for step 2891 to test_path/special_results.parquet\n", "2891\n", + "model_vars.get('Gini', 0)[-1]=0.7072\n", + "Condition met. Appended special results for step 2892 to test_path/special_results.parquet\n", "2892\n", + "model_vars.get('Gini', 0)[-1]=0.7030000000000001\n", + "Condition met. Appended special results for step 2893 to test_path/special_results.parquet\n", "2893\n", + "model_vars.get('Gini', 0)[-1]=0.694\n", + "Condition not met at step 2894. No data to save.\n", "2894\n", + "model_vars.get('Gini', 0)[-1]=0.6992\n", + "Condition not met at step 2895. No data to save.\n", "2895\n", + "model_vars.get('Gini', 0)[-1]=0.702\n", + "Condition met. Appended special results for step 2896 to test_path/special_results.parquet\n", "2896\n", + "model_vars.get('Gini', 0)[-1]=0.706\n", + "Condition met. Appended special results for step 2897 to test_path/special_results.parquet\n", "2897\n", + "model_vars.get('Gini', 0)[-1]=0.7158\n", + "Condition met. Appended special results for step 2898 to test_path/special_results.parquet\n", "2898\n", + "model_vars.get('Gini', 0)[-1]=0.7270000000000001\n", + "Condition met. Appended special results for step 2899 to test_path/special_results.parquet\n", "2899\n", "CALLED\n", "self.model._steps=2900\n", " TEST self.model._steps=2900\n", " TEST self._cache_interval=100\n", " Gini\n", - "2800 0.6906\n", - "2801 0.6980\n", - "2802 0.6872\n", - "2803 0.6568\n", - "2804 0.6436\n", + "2800 0.6664\n", + "2801 0.6636\n", + "2802 0.6406\n", + "2803 0.6434\n", + "2804 0.6484\n", "... ...\n", - "2895 0.6928\n", - "2896 0.7038\n", - "2897 0.6912\n", - "2898 0.6860\n", - "2899 0.6788\n", + "2895 0.7020\n", + "2896 0.7060\n", + "2897 0.7158\n", + "2898 0.7270\n", + "2899 0.7020\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_029.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_029.parquet'\n", - "Saving model to output_dir/model_data_029.parquet\n", - "Saving agent to output_dir/agent_data_029.parquet\n", + "model_file='test_path/model_data_029.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_029.parquet'\n", + "Saving model to test_path/model_data_029.parquet\n", + "Saving agent to test_path/agent_data_029.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.702\n", + "Condition met. Appended special results for step 2900 to test_path/special_results.parquet\n", "2900\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 2901. No data to save.\n", "2901\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 2902. No data to save.\n", "2902\n", + "model_vars.get('Gini', 0)[-1]=0.6452\n", + "Condition not met at step 2903. No data to save.\n", "2903\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 2904. No data to save.\n", "2904\n", + "model_vars.get('Gini', 0)[-1]=0.6428\n", + "Condition not met at step 2905. No data to save.\n", "2905\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 2906. No data to save.\n", "2906\n", + "model_vars.get('Gini', 0)[-1]=0.6476\n", + "Condition not met at step 2907. No data to save.\n", "2907\n", + "model_vars.get('Gini', 0)[-1]=0.6472\n", + "Condition not met at step 2908. No data to save.\n", "2908\n", + "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", + "Condition not met at step 2909. No data to save.\n", "2909\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 2910. No data to save.\n", "2910\n", + "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", + "Condition not met at step 2911. No data to save.\n", "2911\n", + "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", + "Condition not met at step 2912. No data to save.\n", "2912\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 2913. No data to save.\n", "2913\n", + "model_vars.get('Gini', 0)[-1]=0.6452\n", + "Condition not met at step 2914. No data to save.\n", "2914\n", + "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", + "Condition not met at step 2915. No data to save.\n", "2915\n", + "model_vars.get('Gini', 0)[-1]=0.6716\n", + "Condition not met at step 2916. No data to save.\n", "2916\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 2917. No data to save.\n", "2917\n", + "model_vars.get('Gini', 0)[-1]=0.6414\n", + "Condition not met at step 2918. No data to save.\n", "2918\n", + "model_vars.get('Gini', 0)[-1]=0.6128\n", + "Condition not met at step 2919. No data to save.\n", "2919\n", + "model_vars.get('Gini', 0)[-1]=0.6376\n", + "Condition not met at step 2920. No data to save.\n", "2920\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 2921. No data to save.\n", "2921\n", + "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", + "Condition not met at step 2922. No data to save.\n", "2922\n", + "model_vars.get('Gini', 0)[-1]=0.659\n", + "Condition not met at step 2923. No data to save.\n", "2923\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 2924. No data to save.\n", "2924\n", + "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", + "Condition not met at step 2925. No data to save.\n", "2925\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 2926. No data to save.\n", "2926\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 2927. No data to save.\n", "2927\n", + "model_vars.get('Gini', 0)[-1]=0.6516\n", + "Condition not met at step 2928. No data to save.\n", "2928\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 2929. No data to save.\n", "2929\n", + "model_vars.get('Gini', 0)[-1]=0.6492\n", + "Condition not met at step 2930. No data to save.\n", "2930\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 2931. No data to save.\n", "2931\n", + "model_vars.get('Gini', 0)[-1]=0.665\n", + "Condition not met at step 2932. No data to save.\n", "2932\n", + "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", + "Condition not met at step 2933. No data to save.\n", "2933\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 2934. No data to save.\n", "2934\n", + "model_vars.get('Gini', 0)[-1]=0.6494\n", + "Condition not met at step 2935. No data to save.\n", "2935\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 2936. No data to save.\n", "2936\n", + "model_vars.get('Gini', 0)[-1]=0.6008\n", + "Condition not met at step 2937. No data to save.\n", "2937\n", + "model_vars.get('Gini', 0)[-1]=0.6248\n", + "Condition not met at step 2938. No data to save.\n", "2938\n", + "model_vars.get('Gini', 0)[-1]=0.63\n", + "Condition not met at step 2939. No data to save.\n", "2939\n", + "model_vars.get('Gini', 0)[-1]=0.6376\n", + "Condition not met at step 2940. No data to save.\n", "2940\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 2941. No data to save.\n", "2941\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 2942. No data to save.\n", "2942\n", + "model_vars.get('Gini', 0)[-1]=0.6696\n", + "Condition not met at step 2943. No data to save.\n", "2943\n", + "model_vars.get('Gini', 0)[-1]=0.6652\n", + "Condition not met at step 2944. No data to save.\n", "2944\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 2945. No data to save.\n", "2945\n", + "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", + "Condition not met at step 2946. No data to save.\n", "2946\n", + "model_vars.get('Gini', 0)[-1]=0.648\n", + "Condition not met at step 2947. No data to save.\n", "2947\n", + "model_vars.get('Gini', 0)[-1]=0.63\n", + "Condition not met at step 2948. No data to save.\n", "2948\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 2949. No data to save.\n", "2949\n", + "model_vars.get('Gini', 0)[-1]=0.6302\n", + "Condition not met at step 2950. No data to save.\n", "2950\n", + "model_vars.get('Gini', 0)[-1]=0.6174\n", + "Condition not met at step 2951. No data to save.\n", "2951\n", + "model_vars.get('Gini', 0)[-1]=0.585\n", + "Condition not met at step 2952. No data to save.\n", "2952\n", + "model_vars.get('Gini', 0)[-1]=0.5836\n", + "Condition not met at step 2953. No data to save.\n", "2953\n", + "model_vars.get('Gini', 0)[-1]=0.6000000000000001\n", + "Condition not met at step 2954. No data to save.\n", "2954\n", + "model_vars.get('Gini', 0)[-1]=0.5758000000000001\n", + "Condition not met at step 2955. No data to save.\n", "2955\n", + "model_vars.get('Gini', 0)[-1]=0.5896\n", + "Condition not met at step 2956. No data to save.\n", "2956\n", + "model_vars.get('Gini', 0)[-1]=0.5978\n", + "Condition not met at step 2957. No data to save.\n", "2957\n", + "model_vars.get('Gini', 0)[-1]=0.5906\n", + "Condition not met at step 2958. No data to save.\n", "2958\n", + "model_vars.get('Gini', 0)[-1]=0.5892\n", + "Condition not met at step 2959. No data to save.\n", "2959\n", + "model_vars.get('Gini', 0)[-1]=0.615\n", + "Condition not met at step 2960. No data to save.\n", "2960\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 2961. No data to save.\n", "2961\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 2962. No data to save.\n", "2962\n", + "model_vars.get('Gini', 0)[-1]=0.6454\n", + "Condition not met at step 2963. No data to save.\n", "2963\n", + "model_vars.get('Gini', 0)[-1]=0.6334\n", + "Condition not met at step 2964. No data to save.\n", "2964\n", + "model_vars.get('Gini', 0)[-1]=0.6308\n", + "Condition not met at step 2965. No data to save.\n", "2965\n", + "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", + "Condition not met at step 2966. No data to save.\n", "2966\n", + "model_vars.get('Gini', 0)[-1]=0.616\n", + "Condition not met at step 2967. No data to save.\n", "2967\n", + "model_vars.get('Gini', 0)[-1]=0.6324000000000001\n", + "Condition not met at step 2968. No data to save.\n", "2968\n", + "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", + "Condition not met at step 2969. No data to save.\n", "2969\n", + "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", + "Condition not met at step 2970. No data to save.\n", "2970\n", + "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", + "Condition not met at step 2971. No data to save.\n", "2971\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 2972. No data to save.\n", "2972\n", + "model_vars.get('Gini', 0)[-1]=0.6422\n", + "Condition not met at step 2973. No data to save.\n", "2973\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 2974. No data to save.\n", "2974\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 2975. No data to save.\n", "2975\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 2976. No data to save.\n", "2976\n", + "model_vars.get('Gini', 0)[-1]=0.6892\n", + "Condition not met at step 2977. No data to save.\n", "2977\n", + "model_vars.get('Gini', 0)[-1]=0.6754\n", + "Condition not met at step 2978. No data to save.\n", "2978\n", + "model_vars.get('Gini', 0)[-1]=0.6839999999999999\n", + "Condition not met at step 2979. No data to save.\n", "2979\n", + "model_vars.get('Gini', 0)[-1]=0.6932\n", + "Condition not met at step 2980. No data to save.\n", "2980\n", + "model_vars.get('Gini', 0)[-1]=0.692\n", + "Condition not met at step 2981. No data to save.\n", "2981\n", + "model_vars.get('Gini', 0)[-1]=0.6912\n", + "Condition not met at step 2982. No data to save.\n", "2982\n", + "model_vars.get('Gini', 0)[-1]=0.6772\n", + "Condition not met at step 2983. No data to save.\n", "2983\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 2984. No data to save.\n", "2984\n", + "model_vars.get('Gini', 0)[-1]=0.6816\n", + "Condition not met at step 2985. No data to save.\n", "2985\n", + "model_vars.get('Gini', 0)[-1]=0.702\n", + "Condition met. Appended special results for step 2986 to test_path/special_results.parquet\n", "2986\n", + "model_vars.get('Gini', 0)[-1]=0.6946\n", + "Condition not met at step 2987. No data to save.\n", "2987\n", + "model_vars.get('Gini', 0)[-1]=0.6950000000000001\n", + "Condition not met at step 2988. No data to save.\n", "2988\n", + "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", + "Condition not met at step 2989. No data to save.\n", "2989\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 2990. No data to save.\n", "2990\n", + "model_vars.get('Gini', 0)[-1]=0.6694\n", + "Condition not met at step 2991. No data to save.\n", "2991\n", + "model_vars.get('Gini', 0)[-1]=0.6934\n", + "Condition not met at step 2992. No data to save.\n", "2992\n", + "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "Condition not met at step 2993. No data to save.\n", "2993\n", + "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", + "Condition not met at step 2994. No data to save.\n", "2994\n", + "model_vars.get('Gini', 0)[-1]=0.6892\n", + "Condition not met at step 2995. No data to save.\n", "2995\n", + "model_vars.get('Gini', 0)[-1]=0.6776\n", + "Condition not met at step 2996. No data to save.\n", "2996\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 2997. No data to save.\n", "2997\n", + "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", + "Condition not met at step 2998. No data to save.\n", "2998\n", + "model_vars.get('Gini', 0)[-1]=0.6634\n", + "Condition not met at step 2999. No data to save.\n", "2999\n", "CALLED\n", "self.model._steps=3000\n", " TEST self.model._steps=3000\n", " TEST self._cache_interval=100\n", " Gini\n", - "2900 0.6914\n", - "2901 0.6850\n", - "2902 0.7054\n", - "2903 0.6760\n", - "2904 0.6714\n", + "2900 0.6750\n", + "2901 0.6644\n", + "2902 0.6452\n", + "2903 0.6470\n", + "2904 0.6428\n", "... ...\n", - "2995 0.6808\n", - "2996 0.6906\n", - "2997 0.7006\n", - "2998 0.7008\n", - "2999 0.6908\n", + "2995 0.6776\n", + "2996 0.6758\n", + "2997 0.6648\n", + "2998 0.6634\n", + "2999 0.6394\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_030.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_030.parquet'\n", - "Saving model to output_dir/model_data_030.parquet\n", - "Saving agent to output_dir/agent_data_030.parquet\n", + "model_file='test_path/model_data_030.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_030.parquet'\n", + "Saving model to test_path/model_data_030.parquet\n", + "Saving agent to test_path/agent_data_030.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6394\n", + "Condition not met at step 3000. No data to save.\n", "3000\n", + "model_vars.get('Gini', 0)[-1]=0.6186\n", + "Condition not met at step 3001. No data to save.\n", "3001\n", + "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", + "Condition not met at step 3002. No data to save.\n", "3002\n", + "model_vars.get('Gini', 0)[-1]=0.6096\n", + "Condition not met at step 3003. No data to save.\n", "3003\n", + "model_vars.get('Gini', 0)[-1]=0.628\n", + "Condition not met at step 3004. No data to save.\n", "3004\n", + "model_vars.get('Gini', 0)[-1]=0.6492\n", + "Condition not met at step 3005. No data to save.\n", "3005\n", + "model_vars.get('Gini', 0)[-1]=0.6532\n", + "Condition not met at step 3006. No data to save.\n", "3006\n", + "model_vars.get('Gini', 0)[-1]=0.6194\n", + "Condition not met at step 3007. No data to save.\n", "3007\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 3008. No data to save.\n", "3008\n", + "model_vars.get('Gini', 0)[-1]=0.6592\n", + "Condition not met at step 3009. No data to save.\n", "3009\n", + "model_vars.get('Gini', 0)[-1]=0.6782\n", + "Condition not met at step 3010. No data to save.\n", "3010\n", + "model_vars.get('Gini', 0)[-1]=0.6970000000000001\n", + "Condition not met at step 3011. No data to save.\n", "3011\n", + "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", + "Condition not met at step 3012. No data to save.\n", "3012\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 3013. No data to save.\n", "3013\n", + "model_vars.get('Gini', 0)[-1]=0.6358\n", + "Condition not met at step 3014. No data to save.\n", "3014\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 3015. No data to save.\n", "3015\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 3016. No data to save.\n", "3016\n", + "model_vars.get('Gini', 0)[-1]=0.6376\n", + "Condition not met at step 3017. No data to save.\n", "3017\n", + "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", + "Condition not met at step 3018. No data to save.\n", "3018\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 3019. No data to save.\n", "3019\n", + "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "Condition not met at step 3020. No data to save.\n", "3020\n", + "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", + "Condition not met at step 3021. No data to save.\n", "3021\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 3022. No data to save.\n", "3022\n", + "model_vars.get('Gini', 0)[-1]=0.6348\n", + "Condition not met at step 3023. No data to save.\n", "3023\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 3024. No data to save.\n", "3024\n", + "model_vars.get('Gini', 0)[-1]=0.613\n", + "Condition not met at step 3025. No data to save.\n", "3025\n", + "model_vars.get('Gini', 0)[-1]=0.6118\n", + "Condition not met at step 3026. No data to save.\n", "3026\n", + "model_vars.get('Gini', 0)[-1]=0.6166\n", + "Condition not met at step 3027. No data to save.\n", "3027\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 3028. No data to save.\n", "3028\n", + "model_vars.get('Gini', 0)[-1]=0.6306\n", + "Condition not met at step 3029. No data to save.\n", "3029\n", + "model_vars.get('Gini', 0)[-1]=0.6306\n", + "Condition not met at step 3030. No data to save.\n", "3030\n", + "model_vars.get('Gini', 0)[-1]=0.6298\n", + "Condition not met at step 3031. No data to save.\n", "3031\n", + "model_vars.get('Gini', 0)[-1]=0.6342\n", + "Condition not met at step 3032. No data to save.\n", "3032\n", + "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", + "Condition not met at step 3033. No data to save.\n", "3033\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 3034. No data to save.\n", "3034\n", + "model_vars.get('Gini', 0)[-1]=0.624\n", + "Condition not met at step 3035. No data to save.\n", "3035\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 3036. No data to save.\n", "3036\n", + "model_vars.get('Gini', 0)[-1]=0.6328\n", + "Condition not met at step 3037. No data to save.\n", "3037\n", + "model_vars.get('Gini', 0)[-1]=0.6402\n", + "Condition not met at step 3038. No data to save.\n", "3038\n", + "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", + "Condition not met at step 3039. No data to save.\n", "3039\n", + "model_vars.get('Gini', 0)[-1]=0.6038\n", + "Condition not met at step 3040. No data to save.\n", "3040\n", + "model_vars.get('Gini', 0)[-1]=0.642\n", + "Condition not met at step 3041. No data to save.\n", "3041\n", + "model_vars.get('Gini', 0)[-1]=0.644\n", + "Condition not met at step 3042. No data to save.\n", "3042\n", + "model_vars.get('Gini', 0)[-1]=0.65\n", + "Condition not met at step 3043. No data to save.\n", "3043\n", + "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", + "Condition not met at step 3044. No data to save.\n", "3044\n", + "model_vars.get('Gini', 0)[-1]=0.6772\n", + "Condition not met at step 3045. No data to save.\n", "3045\n", + "model_vars.get('Gini', 0)[-1]=0.6436\n", + "Condition not met at step 3046. No data to save.\n", "3046\n", + "model_vars.get('Gini', 0)[-1]=0.664\n", + "Condition not met at step 3047. No data to save.\n", "3047\n", + "model_vars.get('Gini', 0)[-1]=0.6852\n", + "Condition not met at step 3048. No data to save.\n", "3048\n", + "model_vars.get('Gini', 0)[-1]=0.6894\n", + "Condition not met at step 3049. No data to save.\n", "3049\n", + "model_vars.get('Gini', 0)[-1]=0.661\n", + "Condition not met at step 3050. No data to save.\n", "3050\n", + "model_vars.get('Gini', 0)[-1]=0.6396\n", + "Condition not met at step 3051. No data to save.\n", "3051\n", + "model_vars.get('Gini', 0)[-1]=0.651\n", + "Condition not met at step 3052. No data to save.\n", "3052\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 3053. No data to save.\n", "3053\n", + "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", + "Condition not met at step 3054. No data to save.\n", "3054\n", + "model_vars.get('Gini', 0)[-1]=0.6952\n", + "Condition not met at step 3055. No data to save.\n", "3055\n", + "model_vars.get('Gini', 0)[-1]=0.7092\n", + "Condition met. Appended special results for step 3056 to test_path/special_results.parquet\n", "3056\n", + "model_vars.get('Gini', 0)[-1]=0.7092\n", + "Condition met. Appended special results for step 3057 to test_path/special_results.parquet\n", "3057\n", + "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "Condition not met at step 3058. No data to save.\n", "3058\n", + "model_vars.get('Gini', 0)[-1]=0.6838\n", + "Condition not met at step 3059. No data to save.\n", "3059\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 3060. No data to save.\n", "3060\n", + "model_vars.get('Gini', 0)[-1]=0.69\n", + "Condition not met at step 3061. No data to save.\n", "3061\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 3062. No data to save.\n", "3062\n", + "model_vars.get('Gini', 0)[-1]=0.6804\n", + "Condition not met at step 3063. No data to save.\n", "3063\n", + "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", + "Condition not met at step 3064. No data to save.\n", "3064\n", + "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", + "Condition not met at step 3065. No data to save.\n", "3065\n", + "model_vars.get('Gini', 0)[-1]=0.667\n", + "Condition not met at step 3066. No data to save.\n", "3066\n", + "model_vars.get('Gini', 0)[-1]=0.7046\n", + "Condition met. Appended special results for step 3067 to test_path/special_results.parquet\n", "3067\n", + "model_vars.get('Gini', 0)[-1]=0.6890000000000001\n", + "Condition not met at step 3068. No data to save.\n", "3068\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 3069. No data to save.\n", "3069\n", + "model_vars.get('Gini', 0)[-1]=0.6774\n", + "Condition not met at step 3070. No data to save.\n", "3070\n", + "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", + "Condition not met at step 3071. No data to save.\n", "3071\n", + "model_vars.get('Gini', 0)[-1]=0.6612\n", + "Condition not met at step 3072. No data to save.\n", "3072\n", + "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", + "Condition not met at step 3073. No data to save.\n", "3073\n", + "model_vars.get('Gini', 0)[-1]=0.6694\n", + "Condition not met at step 3074. No data to save.\n", "3074\n", + "model_vars.get('Gini', 0)[-1]=0.6792\n", + "Condition not met at step 3075. No data to save.\n", "3075\n", + "model_vars.get('Gini', 0)[-1]=0.7008000000000001\n", + "Condition met. Appended special results for step 3076 to test_path/special_results.parquet\n", "3076\n", + "model_vars.get('Gini', 0)[-1]=0.7064\n", + "Condition met. Appended special results for step 3077 to test_path/special_results.parquet\n", "3077\n", + "model_vars.get('Gini', 0)[-1]=0.6836\n", + "Condition not met at step 3078. No data to save.\n", "3078\n", + "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", + "Condition met. Appended special results for step 3079 to test_path/special_results.parquet\n", "3079\n", + "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", + "Condition not met at step 3080. No data to save.\n", "3080\n", + "model_vars.get('Gini', 0)[-1]=0.669\n", + "Condition not met at step 3081. No data to save.\n", "3081\n", + "model_vars.get('Gini', 0)[-1]=0.7218\n", + "Condition met. Appended special results for step 3082 to test_path/special_results.parquet\n", "3082\n", + "model_vars.get('Gini', 0)[-1]=0.7006\n", + "Condition met. Appended special results for step 3083 to test_path/special_results.parquet\n", "3083\n", + "model_vars.get('Gini', 0)[-1]=0.6984\n", + "Condition not met at step 3084. No data to save.\n", "3084\n", + "model_vars.get('Gini', 0)[-1]=0.6822\n", + "Condition not met at step 3085. No data to save.\n", "3085\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 3086. No data to save.\n", "3086\n", + "model_vars.get('Gini', 0)[-1]=0.6584\n", + "Condition not met at step 3087. No data to save.\n", "3087\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 3088. No data to save.\n", "3088\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 3089. No data to save.\n", "3089\n", + "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", + "Condition not met at step 3090. No data to save.\n", "3090\n", + "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", + "Condition not met at step 3091. No data to save.\n", "3091\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 3092. No data to save.\n", "3092\n", + "model_vars.get('Gini', 0)[-1]=0.6408\n", + "Condition not met at step 3093. No data to save.\n", "3093\n", + "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", + "Condition not met at step 3094. No data to save.\n", "3094\n", + "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", + "Condition not met at step 3095. No data to save.\n", "3095\n", + "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", + "Condition not met at step 3096. No data to save.\n", "3096\n", + "model_vars.get('Gini', 0)[-1]=0.5896\n", + "Condition not met at step 3097. No data to save.\n", "3097\n", + "model_vars.get('Gini', 0)[-1]=0.6138\n", + "Condition not met at step 3098. No data to save.\n", "3098\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 3099. No data to save.\n", "3099\n", "CALLED\n", "self.model._steps=3100\n", " TEST self.model._steps=3100\n", " TEST self._cache_interval=100\n", " Gini\n", - "3000 0.6942\n", - "3001 0.6854\n", - "3002 0.6828\n", - "3003 0.6758\n", - "3004 0.6922\n", + "3000 0.6186\n", + "3001 0.6182\n", + "3002 0.6096\n", + "3003 0.6280\n", + "3004 0.6492\n", "... ...\n", - "3095 0.6512\n", - "3096 0.6520\n", - "3097 0.6322\n", - "3098 0.6354\n", - "3099 0.6106\n", + "3095 0.6224\n", + "3096 0.5896\n", + "3097 0.6138\n", + "3098 0.6548\n", + "3099 0.6348\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_031.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_031.parquet'\n", - "Saving model to output_dir/model_data_031.parquet\n", - "Saving agent to output_dir/agent_data_031.parquet\n", + "model_file='test_path/model_data_031.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_031.parquet'\n", + "Saving model to test_path/model_data_031.parquet\n", + "Saving agent to test_path/agent_data_031.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6348\n", + "Condition not met at step 3100. No data to save.\n", "3100\n", + "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", + "Condition not met at step 3101. No data to save.\n", "3101\n", + "model_vars.get('Gini', 0)[-1]=0.6246\n", + "Condition not met at step 3102. No data to save.\n", "3102\n", + "model_vars.get('Gini', 0)[-1]=0.6066\n", + "Condition not met at step 3103. No data to save.\n", "3103\n", + "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", + "Condition not met at step 3104. No data to save.\n", "3104\n", + "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", + "Condition not met at step 3105. No data to save.\n", "3105\n", + "model_vars.get('Gini', 0)[-1]=0.5920000000000001\n", + "Condition not met at step 3106. No data to save.\n", "3106\n", + "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", + "Condition not met at step 3107. No data to save.\n", "3107\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 3108. No data to save.\n", "3108\n", + "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", + "Condition not met at step 3109. No data to save.\n", "3109\n", + "model_vars.get('Gini', 0)[-1]=0.5996\n", + "Condition not met at step 3110. No data to save.\n", "3110\n", + "model_vars.get('Gini', 0)[-1]=0.6442\n", + "Condition not met at step 3111. No data to save.\n", "3111\n", + "model_vars.get('Gini', 0)[-1]=0.6248\n", + "Condition not met at step 3112. No data to save.\n", "3112\n", + "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", + "Condition not met at step 3113. No data to save.\n", "3113\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 3114. No data to save.\n", "3114\n", + "model_vars.get('Gini', 0)[-1]=0.641\n", + "Condition not met at step 3115. No data to save.\n", "3115\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 3116. No data to save.\n", "3116\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 3117. No data to save.\n", "3117\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 3118. No data to save.\n", "3118\n", + "model_vars.get('Gini', 0)[-1]=0.6886\n", + "Condition not met at step 3119. No data to save.\n", "3119\n", + "model_vars.get('Gini', 0)[-1]=0.6914\n", + "Condition not met at step 3120. No data to save.\n", "3120\n", + "model_vars.get('Gini', 0)[-1]=0.702\n", + "Condition met. Appended special results for step 3121 to test_path/special_results.parquet\n", "3121\n", + "model_vars.get('Gini', 0)[-1]=0.7016\n", + "Condition met. Appended special results for step 3122 to test_path/special_results.parquet\n", "3122\n", + "model_vars.get('Gini', 0)[-1]=0.6844\n", + "Condition not met at step 3123. No data to save.\n", "3123\n", + "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", + "Condition not met at step 3124. No data to save.\n", "3124\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 3125. No data to save.\n", "3125\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 3126. No data to save.\n", "3126\n", + "model_vars.get('Gini', 0)[-1]=0.694\n", + "Condition not met at step 3127. No data to save.\n", "3127\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 3128. No data to save.\n", "3128\n", + "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", + "Condition not met at step 3129. No data to save.\n", "3129\n", + "model_vars.get('Gini', 0)[-1]=0.6776\n", + "Condition not met at step 3130. No data to save.\n", "3130\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 3131. No data to save.\n", "3131\n", + "model_vars.get('Gini', 0)[-1]=0.6816\n", + "Condition not met at step 3132. No data to save.\n", "3132\n", + "model_vars.get('Gini', 0)[-1]=0.6528\n", + "Condition not met at step 3133. No data to save.\n", "3133\n", + "model_vars.get('Gini', 0)[-1]=0.6774\n", + "Condition not met at step 3134. No data to save.\n", "3134\n", + "model_vars.get('Gini', 0)[-1]=0.6612\n", + "Condition not met at step 3135. No data to save.\n", "3135\n", + "model_vars.get('Gini', 0)[-1]=0.6866\n", + "Condition not met at step 3136. No data to save.\n", "3136\n", + "model_vars.get('Gini', 0)[-1]=0.6778\n", + "Condition not met at step 3137. No data to save.\n", "3137\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 3138. No data to save.\n", "3138\n", + "model_vars.get('Gini', 0)[-1]=0.6824\n", + "Condition not met at step 3139. No data to save.\n", "3139\n", + "model_vars.get('Gini', 0)[-1]=0.6892\n", + "Condition not met at step 3140. No data to save.\n", "3140\n", + "model_vars.get('Gini', 0)[-1]=0.6894\n", + "Condition not met at step 3141. No data to save.\n", "3141\n", + "model_vars.get('Gini', 0)[-1]=0.6838\n", + "Condition not met at step 3142. No data to save.\n", "3142\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 3143. No data to save.\n", "3143\n", + "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", + "Condition not met at step 3144. No data to save.\n", "3144\n", + "model_vars.get('Gini', 0)[-1]=0.6878\n", + "Condition not met at step 3145. No data to save.\n", "3145\n", + "model_vars.get('Gini', 0)[-1]=0.7064\n", + "Condition met. Appended special results for step 3146 to test_path/special_results.parquet\n", "3146\n", + "model_vars.get('Gini', 0)[-1]=0.7048\n", + "Condition met. Appended special results for step 3147 to test_path/special_results.parquet\n", "3147\n", + "model_vars.get('Gini', 0)[-1]=0.6966\n", + "Condition not met at step 3148. No data to save.\n", "3148\n", + "model_vars.get('Gini', 0)[-1]=0.7048\n", + "Condition met. Appended special results for step 3149 to test_path/special_results.parquet\n", "3149\n", + "model_vars.get('Gini', 0)[-1]=0.7010000000000001\n", + "Condition met. Appended special results for step 3150 to test_path/special_results.parquet\n", "3150\n", + "model_vars.get('Gini', 0)[-1]=0.7004\n", + "Condition met. Appended special results for step 3151 to test_path/special_results.parquet\n", "3151\n", + "model_vars.get('Gini', 0)[-1]=0.6839999999999999\n", + "Condition not met at step 3152. No data to save.\n", "3152\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 3153. No data to save.\n", "3153\n", + "model_vars.get('Gini', 0)[-1]=0.654\n", + "Condition not met at step 3154. No data to save.\n", "3154\n", + "model_vars.get('Gini', 0)[-1]=0.6222000000000001\n", + "Condition not met at step 3155. No data to save.\n", "3155\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 3156. No data to save.\n", "3156\n", + "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", + "Condition not met at step 3157. No data to save.\n", "3157\n", + "model_vars.get('Gini', 0)[-1]=0.662\n", + "Condition not met at step 3158. No data to save.\n", "3158\n", + "model_vars.get('Gini', 0)[-1]=0.6784\n", + "Condition not met at step 3159. No data to save.\n", "3159\n", + "model_vars.get('Gini', 0)[-1]=0.6654\n", + "Condition not met at step 3160. No data to save.\n", "3160\n", + "model_vars.get('Gini', 0)[-1]=0.6676\n", + "Condition not met at step 3161. No data to save.\n", "3161\n", + "model_vars.get('Gini', 0)[-1]=0.6414\n", + "Condition not met at step 3162. No data to save.\n", "3162\n", + "model_vars.get('Gini', 0)[-1]=0.6502\n", + "Condition not met at step 3163. No data to save.\n", "3163\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 3164. No data to save.\n", "3164\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 3165. No data to save.\n", "3165\n", + "model_vars.get('Gini', 0)[-1]=0.6412\n", + "Condition not met at step 3166. No data to save.\n", "3166\n", + "model_vars.get('Gini', 0)[-1]=0.66\n", + "Condition not met at step 3167. No data to save.\n", "3167\n", + "model_vars.get('Gini', 0)[-1]=0.6818\n", + "Condition not met at step 3168. No data to save.\n", "3168\n", + "model_vars.get('Gini', 0)[-1]=0.6844\n", + "Condition not met at step 3169. No data to save.\n", "3169\n", + "model_vars.get('Gini', 0)[-1]=0.6914\n", + "Condition not met at step 3170. No data to save.\n", "3170\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 3171. No data to save.\n", "3171\n", + "model_vars.get('Gini', 0)[-1]=0.6776\n", + "Condition not met at step 3172. No data to save.\n", "3172\n", + "model_vars.get('Gini', 0)[-1]=0.6839999999999999\n", + "Condition not met at step 3173. No data to save.\n", "3173\n", + "model_vars.get('Gini', 0)[-1]=0.6716\n", + "Condition not met at step 3174. No data to save.\n", "3174\n", + "model_vars.get('Gini', 0)[-1]=0.6812\n", + "Condition not met at step 3175. No data to save.\n", "3175\n", + "model_vars.get('Gini', 0)[-1]=0.6836\n", + "Condition not met at step 3176. No data to save.\n", "3176\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 3177. No data to save.\n", "3177\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 3178. No data to save.\n", "3178\n", + "model_vars.get('Gini', 0)[-1]=0.6584\n", + "Condition not met at step 3179. No data to save.\n", "3179\n", + "model_vars.get('Gini', 0)[-1]=0.6432\n", + "Condition not met at step 3180. No data to save.\n", "3180\n", + "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", + "Condition not met at step 3181. No data to save.\n", "3181\n", + "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", + "Condition not met at step 3182. No data to save.\n", "3182\n", + "model_vars.get('Gini', 0)[-1]=0.6326\n", + "Condition not met at step 3183. No data to save.\n", "3183\n", + "model_vars.get('Gini', 0)[-1]=0.6382\n", + "Condition not met at step 3184. No data to save.\n", "3184\n", + "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", + "Condition not met at step 3185. No data to save.\n", "3185\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 3186. No data to save.\n", "3186\n", + "model_vars.get('Gini', 0)[-1]=0.632\n", + "Condition not met at step 3187. No data to save.\n", "3187\n", + "model_vars.get('Gini', 0)[-1]=0.6624\n", + "Condition not met at step 3188. No data to save.\n", "3188\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 3189. No data to save.\n", "3189\n", + "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", + "Condition not met at step 3190. No data to save.\n", "3190\n", + "model_vars.get('Gini', 0)[-1]=0.6437999999999999\n", + "Condition not met at step 3191. No data to save.\n", "3191\n", + "model_vars.get('Gini', 0)[-1]=0.6326\n", + "Condition not met at step 3192. No data to save.\n", "3192\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 3193. No data to save.\n", "3193\n", + "model_vars.get('Gini', 0)[-1]=0.6592\n", + "Condition not met at step 3194. No data to save.\n", "3194\n", + "model_vars.get('Gini', 0)[-1]=0.6306\n", + "Condition not met at step 3195. No data to save.\n", "3195\n", + "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", + "Condition not met at step 3196. No data to save.\n", "3196\n", + "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", + "Condition not met at step 3197. No data to save.\n", "3197\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 3198. No data to save.\n", "3198\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 3199. No data to save.\n", "3199\n", "CALLED\n", "self.model._steps=3200\n", " TEST self.model._steps=3200\n", " TEST self._cache_interval=100\n", " Gini\n", - "3100 0.6394\n", - "3101 0.6518\n", - "3102 0.6254\n", - "3103 0.6022\n", - "3104 0.5750\n", + "3100 0.6176\n", + "3101 0.6246\n", + "3102 0.6066\n", + "3103 0.6264\n", + "3104 0.6182\n", "... ...\n", - "3195 0.6678\n", - "3196 0.6514\n", - "3197 0.6456\n", - "3198 0.6450\n", - "3199 0.6520\n", + "3195 0.6356\n", + "3196 0.6256\n", + "3197 0.6416\n", + "3198 0.6512\n", + "3199 0.5912\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_032.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_032.parquet'\n", - "Saving model to output_dir/model_data_032.parquet\n", - "Saving agent to output_dir/agent_data_032.parquet\n", + "model_file='test_path/model_data_032.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_032.parquet'\n", + "Saving model to test_path/model_data_032.parquet\n", + "Saving agent to test_path/agent_data_032.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.5912\n", + "Condition not met at step 3200. No data to save.\n", "3200\n", + "model_vars.get('Gini', 0)[-1]=0.628\n", + "Condition not met at step 3201. No data to save.\n", "3201\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 3202. No data to save.\n", "3202\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 3203. No data to save.\n", "3203\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 3204. No data to save.\n", "3204\n", + "model_vars.get('Gini', 0)[-1]=0.6162000000000001\n", + "Condition not met at step 3205. No data to save.\n", "3205\n", + "model_vars.get('Gini', 0)[-1]=0.616\n", + "Condition not met at step 3206. No data to save.\n", "3206\n", + "model_vars.get('Gini', 0)[-1]=0.622\n", + "Condition not met at step 3207. No data to save.\n", "3207\n", + "model_vars.get('Gini', 0)[-1]=0.6462\n", + "Condition not met at step 3208. No data to save.\n", "3208\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 3209. No data to save.\n", "3209\n", + "model_vars.get('Gini', 0)[-1]=0.6572\n", + "Condition not met at step 3210. No data to save.\n", "3210\n", + "model_vars.get('Gini', 0)[-1]=0.6204000000000001\n", + "Condition not met at step 3211. No data to save.\n", "3211\n", + "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", + "Condition not met at step 3212. No data to save.\n", "3212\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 3213. No data to save.\n", "3213\n", + "model_vars.get('Gini', 0)[-1]=0.6396\n", + "Condition not met at step 3214. No data to save.\n", "3214\n", + "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", + "Condition not met at step 3215. No data to save.\n", "3215\n", + "model_vars.get('Gini', 0)[-1]=0.6174\n", + "Condition not met at step 3216. No data to save.\n", "3216\n", + "model_vars.get('Gini', 0)[-1]=0.6502\n", + "Condition not met at step 3217. No data to save.\n", "3217\n", + "model_vars.get('Gini', 0)[-1]=0.655\n", + "Condition not met at step 3218. No data to save.\n", "3218\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 3219. No data to save.\n", "3219\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 3220. No data to save.\n", "3220\n", + "model_vars.get('Gini', 0)[-1]=0.6812\n", + "Condition not met at step 3221. No data to save.\n", "3221\n", + "model_vars.get('Gini', 0)[-1]=0.6798\n", + "Condition not met at step 3222. No data to save.\n", "3222\n", + "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", + "Condition not met at step 3223. No data to save.\n", "3223\n", + "model_vars.get('Gini', 0)[-1]=0.7018\n", + "Condition met. Appended special results for step 3224 to test_path/special_results.parquet\n", "3224\n", + "model_vars.get('Gini', 0)[-1]=0.6738\n", + "Condition not met at step 3225. No data to save.\n", "3225\n", + "model_vars.get('Gini', 0)[-1]=0.6476\n", + "Condition not met at step 3226. No data to save.\n", "3226\n", + "model_vars.get('Gini', 0)[-1]=0.631\n", + "Condition not met at step 3227. No data to save.\n", "3227\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 3228. No data to save.\n", "3228\n", + "model_vars.get('Gini', 0)[-1]=0.6374\n", + "Condition not met at step 3229. No data to save.\n", "3229\n", + "model_vars.get('Gini', 0)[-1]=0.6358\n", + "Condition not met at step 3230. No data to save.\n", "3230\n", + "model_vars.get('Gini', 0)[-1]=0.6366\n", + "Condition not met at step 3231. No data to save.\n", "3231\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 3232. No data to save.\n", "3232\n", + "model_vars.get('Gini', 0)[-1]=0.6634\n", + "Condition not met at step 3233. No data to save.\n", "3233\n", + "model_vars.get('Gini', 0)[-1]=0.662\n", + "Condition not met at step 3234. No data to save.\n", "3234\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 3235. No data to save.\n", "3235\n", + "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", + "Condition not met at step 3236. No data to save.\n", "3236\n", + "model_vars.get('Gini', 0)[-1]=0.6742\n", + "Condition not met at step 3237. No data to save.\n", "3237\n", + "model_vars.get('Gini', 0)[-1]=0.6774\n", + "Condition not met at step 3238. No data to save.\n", "3238\n", + "model_vars.get('Gini', 0)[-1]=0.6822\n", + "Condition not met at step 3239. No data to save.\n", "3239\n", + "model_vars.get('Gini', 0)[-1]=0.6914\n", + "Condition not met at step 3240. No data to save.\n", "3240\n", + "model_vars.get('Gini', 0)[-1]=0.6846\n", + "Condition not met at step 3241. No data to save.\n", "3241\n", + "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", + "Condition not met at step 3242. No data to save.\n", "3242\n", + "model_vars.get('Gini', 0)[-1]=0.6882\n", + "Condition not met at step 3243. No data to save.\n", "3243\n", + "model_vars.get('Gini', 0)[-1]=0.7142\n", + "Condition met. Appended special results for step 3244 to test_path/special_results.parquet\n", "3244\n", + "model_vars.get('Gini', 0)[-1]=0.7188\n", + "Condition met. Appended special results for step 3245 to test_path/special_results.parquet\n", "3245\n", + "model_vars.get('Gini', 0)[-1]=0.7242\n", + "Condition met. Appended special results for step 3246 to test_path/special_results.parquet\n", "3246\n", + "model_vars.get('Gini', 0)[-1]=0.7218\n", + "Condition met. Appended special results for step 3247 to test_path/special_results.parquet\n", "3247\n", + "model_vars.get('Gini', 0)[-1]=0.7343999999999999\n", + "Condition met. Appended special results for step 3248 to test_path/special_results.parquet\n", "3248\n", + "model_vars.get('Gini', 0)[-1]=0.7328\n", + "Condition met. Appended special results for step 3249 to test_path/special_results.parquet\n", "3249\n", + "model_vars.get('Gini', 0)[-1]=0.738\n", + "Condition met. Appended special results for step 3250 to test_path/special_results.parquet\n", "3250\n", + "model_vars.get('Gini', 0)[-1]=0.7242\n", + "Condition met. Appended special results for step 3251 to test_path/special_results.parquet\n", "3251\n", + "model_vars.get('Gini', 0)[-1]=0.7058\n", + "Condition met. Appended special results for step 3252 to test_path/special_results.parquet\n", "3252\n", + "model_vars.get('Gini', 0)[-1]=0.7094\n", + "Condition met. Appended special results for step 3253 to test_path/special_results.parquet\n", "3253\n", + "model_vars.get('Gini', 0)[-1]=0.7094\n", + "Condition met. Appended special results for step 3254 to test_path/special_results.parquet\n", "3254\n", + "model_vars.get('Gini', 0)[-1]=0.7114\n", + "Condition met. Appended special results for step 3255 to test_path/special_results.parquet\n", "3255\n", + "model_vars.get('Gini', 0)[-1]=0.7146\n", + "Condition met. Appended special results for step 3256 to test_path/special_results.parquet\n", "3256\n", + "model_vars.get('Gini', 0)[-1]=0.7322\n", + "Condition met. Appended special results for step 3257 to test_path/special_results.parquet\n", "3257\n", + "model_vars.get('Gini', 0)[-1]=0.739\n", + "Condition met. Appended special results for step 3258 to test_path/special_results.parquet\n", "3258\n", + "model_vars.get('Gini', 0)[-1]=0.7348\n", + "Condition met. Appended special results for step 3259 to test_path/special_results.parquet\n", "3259\n", + "model_vars.get('Gini', 0)[-1]=0.7112\n", + "Condition met. Appended special results for step 3260 to test_path/special_results.parquet\n", "3260\n", + "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", + "Condition met. Appended special results for step 3261 to test_path/special_results.parquet\n", "3261\n", + "model_vars.get('Gini', 0)[-1]=0.7074\n", + "Condition met. Appended special results for step 3262 to test_path/special_results.parquet\n", "3262\n", + "model_vars.get('Gini', 0)[-1]=0.6854\n", + "Condition not met at step 3263. No data to save.\n", "3263\n", + "model_vars.get('Gini', 0)[-1]=0.6846\n", + "Condition not met at step 3264. No data to save.\n", "3264\n", + "model_vars.get('Gini', 0)[-1]=0.6826\n", + "Condition not met at step 3265. No data to save.\n", "3265\n", + "model_vars.get('Gini', 0)[-1]=0.6910000000000001\n", + "Condition not met at step 3266. No data to save.\n", "3266\n", + "model_vars.get('Gini', 0)[-1]=0.6422\n", + "Condition not met at step 3267. No data to save.\n", "3267\n", + "model_vars.get('Gini', 0)[-1]=0.6266\n", + "Condition not met at step 3268. No data to save.\n", "3268\n", + "model_vars.get('Gini', 0)[-1]=0.6248\n", + "Condition not met at step 3269. No data to save.\n", "3269\n", + "model_vars.get('Gini', 0)[-1]=0.6342\n", + "Condition not met at step 3270. No data to save.\n", "3270\n", + "model_vars.get('Gini', 0)[-1]=0.6372\n", + "Condition not met at step 3271. No data to save.\n", "3271\n", + "model_vars.get('Gini', 0)[-1]=0.6502\n", + "Condition not met at step 3272. No data to save.\n", "3272\n", + "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", + "Condition not met at step 3273. No data to save.\n", "3273\n", + "model_vars.get('Gini', 0)[-1]=0.662\n", + "Condition not met at step 3274. No data to save.\n", "3274\n", + "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", + "Condition not met at step 3275. No data to save.\n", "3275\n", + "model_vars.get('Gini', 0)[-1]=0.651\n", + "Condition not met at step 3276. No data to save.\n", "3276\n", + "model_vars.get('Gini', 0)[-1]=0.6412\n", + "Condition not met at step 3277. No data to save.\n", "3277\n", + "model_vars.get('Gini', 0)[-1]=0.6654\n", + "Condition not met at step 3278. No data to save.\n", "3278\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 3279. No data to save.\n", "3279\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 3280. No data to save.\n", "3280\n", + "model_vars.get('Gini', 0)[-1]=0.653\n", + "Condition not met at step 3281. No data to save.\n", "3281\n", + "model_vars.get('Gini', 0)[-1]=0.6912\n", + "Condition not met at step 3282. No data to save.\n", "3282\n", + "model_vars.get('Gini', 0)[-1]=0.6868000000000001\n", + "Condition not met at step 3283. No data to save.\n", "3283\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 3284. No data to save.\n", "3284\n", + "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", + "Condition not met at step 3285. No data to save.\n", "3285\n", + "model_vars.get('Gini', 0)[-1]=0.6698\n", + "Condition not met at step 3286. No data to save.\n", "3286\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 3287. No data to save.\n", "3287\n", + "model_vars.get('Gini', 0)[-1]=0.6414\n", + "Condition not met at step 3288. No data to save.\n", "3288\n", + "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", + "Condition not met at step 3289. No data to save.\n", "3289\n", + "model_vars.get('Gini', 0)[-1]=0.6872\n", + "Condition not met at step 3290. No data to save.\n", "3290\n", + "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", + "Condition not met at step 3291. No data to save.\n", "3291\n", + "model_vars.get('Gini', 0)[-1]=0.7008000000000001\n", + "Condition met. Appended special results for step 3292 to test_path/special_results.parquet\n", "3292\n", + "model_vars.get('Gini', 0)[-1]=0.7072\n", + "Condition met. Appended special results for step 3293 to test_path/special_results.parquet\n", "3293\n", + "model_vars.get('Gini', 0)[-1]=0.712\n", + "Condition met. Appended special results for step 3294 to test_path/special_results.parquet\n", "3294\n", + "model_vars.get('Gini', 0)[-1]=0.6944\n", + "Condition not met at step 3295. No data to save.\n", "3295\n", + "model_vars.get('Gini', 0)[-1]=0.6514\n", + "Condition not met at step 3296. No data to save.\n", "3296\n", + "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", + "Condition not met at step 3297. No data to save.\n", "3297\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 3298. No data to save.\n", "3298\n", + "model_vars.get('Gini', 0)[-1]=0.6654\n", + "Condition not met at step 3299. No data to save.\n", "3299\n", "CALLED\n", "self.model._steps=3300\n", " TEST self.model._steps=3300\n", " TEST self._cache_interval=100\n", " Gini\n", - "3200 0.6600\n", - "3201 0.6952\n", - "3202 0.6746\n", - "3203 0.6792\n", - "3204 0.6746\n", + "3200 0.6280\n", + "3201 0.6370\n", + "3202 0.6604\n", + "3203 0.6340\n", + "3204 0.6162\n", "... ...\n", - "3295 0.6034\n", - "3296 0.6086\n", - "3297 0.6050\n", - "3298 0.6384\n", - "3299 0.6246\n", + "3295 0.6514\n", + "3296 0.6618\n", + "3297 0.6632\n", + "3298 0.6654\n", + "3299 0.6692\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_033.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_033.parquet'\n", - "Saving model to output_dir/model_data_033.parquet\n", - "Saving agent to output_dir/agent_data_033.parquet\n", + "model_file='test_path/model_data_033.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_033.parquet'\n", + "Saving model to test_path/model_data_033.parquet\n", + "Saving agent to test_path/agent_data_033.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6692\n", + "Condition not met at step 3300. No data to save.\n", "3300\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 3301. No data to save.\n", "3301\n", + "model_vars.get('Gini', 0)[-1]=0.7061999999999999\n", + "Condition met. Appended special results for step 3302 to test_path/special_results.parquet\n", "3302\n", + "model_vars.get('Gini', 0)[-1]=0.728\n", + "Condition met. Appended special results for step 3303 to test_path/special_results.parquet\n", "3303\n", + "model_vars.get('Gini', 0)[-1]=0.718\n", + "Condition met. Appended special results for step 3304 to test_path/special_results.parquet\n", "3304\n", + "model_vars.get('Gini', 0)[-1]=0.7168\n", + "Condition met. Appended special results for step 3305 to test_path/special_results.parquet\n", "3305\n", + "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", + "Condition not met at step 3306. No data to save.\n", "3306\n", + "model_vars.get('Gini', 0)[-1]=0.7044\n", + "Condition met. Appended special results for step 3307 to test_path/special_results.parquet\n", "3307\n", + "model_vars.get('Gini', 0)[-1]=0.6886\n", + "Condition not met at step 3308. No data to save.\n", "3308\n", + "model_vars.get('Gini', 0)[-1]=0.7078\n", + "Condition met. Appended special results for step 3309 to test_path/special_results.parquet\n", "3309\n", + "model_vars.get('Gini', 0)[-1]=0.7156\n", + "Condition met. Appended special results for step 3310 to test_path/special_results.parquet\n", "3310\n", + "model_vars.get('Gini', 0)[-1]=0.733\n", + "Condition met. Appended special results for step 3311 to test_path/special_results.parquet\n", "3311\n", + "model_vars.get('Gini', 0)[-1]=0.718\n", + "Condition met. Appended special results for step 3312 to test_path/special_results.parquet\n", "3312\n", + "model_vars.get('Gini', 0)[-1]=0.7298\n", + "Condition met. Appended special results for step 3313 to test_path/special_results.parquet\n", "3313\n", + "model_vars.get('Gini', 0)[-1]=0.7468\n", + "Condition met. Appended special results for step 3314 to test_path/special_results.parquet\n", "3314\n", + "model_vars.get('Gini', 0)[-1]=0.6944\n", + "Condition not met at step 3315. No data to save.\n", "3315\n", + "model_vars.get('Gini', 0)[-1]=0.6904\n", + "Condition not met at step 3316. No data to save.\n", "3316\n", + "model_vars.get('Gini', 0)[-1]=0.6908000000000001\n", + "Condition not met at step 3317. No data to save.\n", "3317\n", + "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", + "Condition not met at step 3318. No data to save.\n", "3318\n", + "model_vars.get('Gini', 0)[-1]=0.7128\n", + "Condition met. Appended special results for step 3319 to test_path/special_results.parquet\n", "3319\n", + "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", + "Condition met. Appended special results for step 3320 to test_path/special_results.parquet\n", "3320\n", + "model_vars.get('Gini', 0)[-1]=0.6914\n", + "Condition not met at step 3321. No data to save.\n", "3321\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 3322. No data to save.\n", "3322\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 3323. No data to save.\n", "3323\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 3324. No data to save.\n", "3324\n", + "model_vars.get('Gini', 0)[-1]=0.669\n", + "Condition not met at step 3325. No data to save.\n", "3325\n", + "model_vars.get('Gini', 0)[-1]=0.6694\n", + "Condition not met at step 3326. No data to save.\n", "3326\n", + "model_vars.get('Gini', 0)[-1]=0.6822\n", + "Condition not met at step 3327. No data to save.\n", "3327\n", + "model_vars.get('Gini', 0)[-1]=0.6964\n", + "Condition not met at step 3328. No data to save.\n", "3328\n", + "model_vars.get('Gini', 0)[-1]=0.6846\n", + "Condition not met at step 3329. No data to save.\n", "3329\n", + "model_vars.get('Gini', 0)[-1]=0.6874\n", + "Condition not met at step 3330. No data to save.\n", "3330\n", + "model_vars.get('Gini', 0)[-1]=0.6934\n", + "Condition not met at step 3331. No data to save.\n", "3331\n", + "model_vars.get('Gini', 0)[-1]=0.6846\n", + "Condition not met at step 3332. No data to save.\n", "3332\n", + "model_vars.get('Gini', 0)[-1]=0.7048\n", + "Condition met. Appended special results for step 3333 to test_path/special_results.parquet\n", "3333\n", + "model_vars.get('Gini', 0)[-1]=0.7064\n", + "Condition met. Appended special results for step 3334 to test_path/special_results.parquet\n", "3334\n", + "model_vars.get('Gini', 0)[-1]=0.7076\n", + "Condition met. Appended special results for step 3335 to test_path/special_results.parquet\n", "3335\n", + "model_vars.get('Gini', 0)[-1]=0.6938\n", + "Condition not met at step 3336. No data to save.\n", "3336\n", + "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", + "Condition not met at step 3337. No data to save.\n", "3337\n", + "model_vars.get('Gini', 0)[-1]=0.6996\n", + "Condition not met at step 3338. No data to save.\n", "3338\n", + "model_vars.get('Gini', 0)[-1]=0.6798\n", + "Condition not met at step 3339. No data to save.\n", "3339\n", + "model_vars.get('Gini', 0)[-1]=0.6656\n", + "Condition not met at step 3340. No data to save.\n", "3340\n", + "model_vars.get('Gini', 0)[-1]=0.6428\n", + "Condition not met at step 3341. No data to save.\n", "3341\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 3342. No data to save.\n", "3342\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 3343. No data to save.\n", "3343\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 3344. No data to save.\n", "3344\n", + "model_vars.get('Gini', 0)[-1]=0.6456\n", + "Condition not met at step 3345. No data to save.\n", "3345\n", + "model_vars.get('Gini', 0)[-1]=0.6662\n", + "Condition not met at step 3346. No data to save.\n", "3346\n", + "model_vars.get('Gini', 0)[-1]=0.7030000000000001\n", + "Condition met. Appended special results for step 3347 to test_path/special_results.parquet\n", "3347\n", + "model_vars.get('Gini', 0)[-1]=0.6898\n", + "Condition not met at step 3348. No data to save.\n", "3348\n", + "model_vars.get('Gini', 0)[-1]=0.7010000000000001\n", + "Condition met. Appended special results for step 3349 to test_path/special_results.parquet\n", "3349\n", + "model_vars.get('Gini', 0)[-1]=0.6990000000000001\n", + "Condition not met at step 3350. No data to save.\n", "3350\n", + "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", + "Condition not met at step 3351. No data to save.\n", "3351\n", + "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", + "Condition not met at step 3352. No data to save.\n", "3352\n", + "model_vars.get('Gini', 0)[-1]=0.688\n", + "Condition not met at step 3353. No data to save.\n", "3353\n", + "model_vars.get('Gini', 0)[-1]=0.7112\n", + "Condition met. Appended special results for step 3354 to test_path/special_results.parquet\n", "3354\n", + "model_vars.get('Gini', 0)[-1]=0.7068\n", + "Condition met. Appended special results for step 3355 to test_path/special_results.parquet\n", "3355\n", + "model_vars.get('Gini', 0)[-1]=0.7190000000000001\n", + "Condition met. Appended special results for step 3356 to test_path/special_results.parquet\n", "3356\n", + "model_vars.get('Gini', 0)[-1]=0.7028000000000001\n", + "Condition met. Appended special results for step 3357 to test_path/special_results.parquet\n", "3357\n", + "model_vars.get('Gini', 0)[-1]=0.6882\n", + "Condition not met at step 3358. No data to save.\n", "3358\n", + "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", + "Condition not met at step 3359. No data to save.\n", "3359\n", + "model_vars.get('Gini', 0)[-1]=0.6738\n", + "Condition not met at step 3360. No data to save.\n", "3360\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 3361. No data to save.\n", "3361\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 3362. No data to save.\n", "3362\n", + "model_vars.get('Gini', 0)[-1]=0.6892\n", + "Condition not met at step 3363. No data to save.\n", "3363\n", + "model_vars.get('Gini', 0)[-1]=0.6936\n", + "Condition not met at step 3364. No data to save.\n", "3364\n", + "model_vars.get('Gini', 0)[-1]=0.6876\n", + "Condition not met at step 3365. No data to save.\n", "3365\n", + "model_vars.get('Gini', 0)[-1]=0.666\n", + "Condition not met at step 3366. No data to save.\n", "3366\n", + "model_vars.get('Gini', 0)[-1]=0.6854\n", + "Condition not met at step 3367. No data to save.\n", "3367\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 3368. No data to save.\n", "3368\n", + "model_vars.get('Gini', 0)[-1]=0.6676\n", + "Condition not met at step 3369. No data to save.\n", "3369\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 3370. No data to save.\n", "3370\n", + "model_vars.get('Gini', 0)[-1]=0.6454\n", + "Condition not met at step 3371. No data to save.\n", "3371\n", + "model_vars.get('Gini', 0)[-1]=0.6502\n", + "Condition not met at step 3372. No data to save.\n", "3372\n", + "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", + "Condition not met at step 3373. No data to save.\n", "3373\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 3374. No data to save.\n", "3374\n", + "model_vars.get('Gini', 0)[-1]=0.6556\n", + "Condition not met at step 3375. No data to save.\n", "3375\n", + "model_vars.get('Gini', 0)[-1]=0.6778\n", + "Condition not met at step 3376. No data to save.\n", "3376\n", + "model_vars.get('Gini', 0)[-1]=0.6532\n", + "Condition not met at step 3377. No data to save.\n", "3377\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 3378. No data to save.\n", "3378\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 3379. No data to save.\n", "3379\n", + "model_vars.get('Gini', 0)[-1]=0.6918\n", + "Condition not met at step 3380. No data to save.\n", "3380\n", + "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", + "Condition not met at step 3381. No data to save.\n", "3381\n", + "model_vars.get('Gini', 0)[-1]=0.679\n", + "Condition not met at step 3382. No data to save.\n", "3382\n", + "model_vars.get('Gini', 0)[-1]=0.6624\n", + "Condition not met at step 3383. No data to save.\n", "3383\n", + "model_vars.get('Gini', 0)[-1]=0.665\n", + "Condition not met at step 3384. No data to save.\n", "3384\n", + "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", + "Condition not met at step 3385. No data to save.\n", "3385\n", + "model_vars.get('Gini', 0)[-1]=0.622\n", + "Condition not met at step 3386. No data to save.\n", "3386\n", + "model_vars.get('Gini', 0)[-1]=0.6194\n", + "Condition not met at step 3387. No data to save.\n", "3387\n", + "model_vars.get('Gini', 0)[-1]=0.5702\n", + "Condition not met at step 3388. No data to save.\n", "3388\n", + "model_vars.get('Gini', 0)[-1]=0.5546\n", + "Condition not met at step 3389. No data to save.\n", "3389\n", + "model_vars.get('Gini', 0)[-1]=0.5831999999999999\n", + "Condition not met at step 3390. No data to save.\n", "3390\n", + "model_vars.get('Gini', 0)[-1]=0.6022000000000001\n", + "Condition not met at step 3391. No data to save.\n", "3391\n", + "model_vars.get('Gini', 0)[-1]=0.5968\n", + "Condition not met at step 3392. No data to save.\n", "3392\n", + "model_vars.get('Gini', 0)[-1]=0.599\n", + "Condition not met at step 3393. No data to save.\n", "3393\n", + "model_vars.get('Gini', 0)[-1]=0.6036\n", + "Condition not met at step 3394. No data to save.\n", "3394\n", + "model_vars.get('Gini', 0)[-1]=0.5862\n", + "Condition not met at step 3395. No data to save.\n", "3395\n", + "model_vars.get('Gini', 0)[-1]=0.5936\n", + "Condition not met at step 3396. No data to save.\n", "3396\n", + "model_vars.get('Gini', 0)[-1]=0.6238\n", + "Condition not met at step 3397. No data to save.\n", "3397\n", + "model_vars.get('Gini', 0)[-1]=0.6232\n", + "Condition not met at step 3398. No data to save.\n", "3398\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 3399. No data to save.\n", "3399\n", "CALLED\n", "self.model._steps=3400\n", " TEST self.model._steps=3400\n", " TEST self._cache_interval=100\n", " Gini\n", - "3300 0.6344\n", - "3301 0.6618\n", - "3302 0.6624\n", - "3303 0.6802\n", - "3304 0.6522\n", + "3300 0.6642\n", + "3301 0.7062\n", + "3302 0.7280\n", + "3303 0.7180\n", + "3304 0.7168\n", "... ...\n", - "3395 0.7030\n", - "3396 0.7020\n", - "3397 0.7192\n", - "3398 0.7042\n", - "3399 0.6716\n", + "3395 0.5936\n", + "3396 0.6238\n", + "3397 0.6232\n", + "3398 0.6546\n", + "3399 0.6640\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_034.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_034.parquet'\n", - "Saving model to output_dir/model_data_034.parquet\n", - "Saving agent to output_dir/agent_data_034.parquet\n", + "model_file='test_path/model_data_034.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_034.parquet'\n", + "Saving model to test_path/model_data_034.parquet\n", + "Saving agent to test_path/agent_data_034.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.664\n", + "Condition not met at step 3400. No data to save.\n", "3400\n", + "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", + "Condition not met at step 3401. No data to save.\n", "3401\n", + "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", + "Condition not met at step 3402. No data to save.\n", "3402\n", + "model_vars.get('Gini', 0)[-1]=0.6572\n", + "Condition not met at step 3403. No data to save.\n", "3403\n", + "model_vars.get('Gini', 0)[-1]=0.6492\n", + "Condition not met at step 3404. No data to save.\n", "3404\n", + "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", + "Condition not met at step 3405. No data to save.\n", "3405\n", + "model_vars.get('Gini', 0)[-1]=0.6226\n", + "Condition not met at step 3406. No data to save.\n", "3406\n", + "model_vars.get('Gini', 0)[-1]=0.5988\n", + "Condition not met at step 3407. No data to save.\n", "3407\n", + "model_vars.get('Gini', 0)[-1]=0.5926\n", + "Condition not met at step 3408. No data to save.\n", "3408\n", + "model_vars.get('Gini', 0)[-1]=0.5906\n", + "Condition not met at step 3409. No data to save.\n", "3409\n", + "model_vars.get('Gini', 0)[-1]=0.5724\n", + "Condition not met at step 3410. No data to save.\n", "3410\n", + "model_vars.get('Gini', 0)[-1]=0.6158\n", + "Condition not met at step 3411. No data to save.\n", "3411\n", + "model_vars.get('Gini', 0)[-1]=0.6414\n", + "Condition not met at step 3412. No data to save.\n", "3412\n", + "model_vars.get('Gini', 0)[-1]=0.6494\n", + "Condition not met at step 3413. No data to save.\n", "3413\n", + "model_vars.get('Gini', 0)[-1]=0.669\n", + "Condition not met at step 3414. No data to save.\n", "3414\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 3415. No data to save.\n", "3415\n", + "model_vars.get('Gini', 0)[-1]=0.665\n", + "Condition not met at step 3416. No data to save.\n", "3416\n", + "model_vars.get('Gini', 0)[-1]=0.6908000000000001\n", + "Condition not met at step 3417. No data to save.\n", "3417\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 3418. No data to save.\n", "3418\n", + "model_vars.get('Gini', 0)[-1]=0.6754\n", + "Condition not met at step 3419. No data to save.\n", "3419\n", + "model_vars.get('Gini', 0)[-1]=0.7172000000000001\n", + "Condition met. Appended special results for step 3420 to test_path/special_results.parquet\n", "3420\n", + "model_vars.get('Gini', 0)[-1]=0.714\n", + "Condition met. Appended special results for step 3421 to test_path/special_results.parquet\n", "3421\n", + "model_vars.get('Gini', 0)[-1]=0.7056\n", + "Condition met. Appended special results for step 3422 to test_path/special_results.parquet\n", "3422\n", + "model_vars.get('Gini', 0)[-1]=0.7222\n", + "Condition met. Appended special results for step 3423 to test_path/special_results.parquet\n", "3423\n", + "model_vars.get('Gini', 0)[-1]=0.704\n", + "Condition met. Appended special results for step 3424 to test_path/special_results.parquet\n", "3424\n", + "model_vars.get('Gini', 0)[-1]=0.7238\n", + "Condition met. Appended special results for step 3425 to test_path/special_results.parquet\n", "3425\n", + "model_vars.get('Gini', 0)[-1]=0.741\n", + "Condition met. Appended special results for step 3426 to test_path/special_results.parquet\n", "3426\n", + "model_vars.get('Gini', 0)[-1]=0.7366\n", + "Condition met. Appended special results for step 3427 to test_path/special_results.parquet\n", "3427\n", + "model_vars.get('Gini', 0)[-1]=0.7206\n", + "Condition met. Appended special results for step 3428 to test_path/special_results.parquet\n", "3428\n", + "model_vars.get('Gini', 0)[-1]=0.712\n", + "Condition met. Appended special results for step 3429 to test_path/special_results.parquet\n", "3429\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 3430. No data to save.\n", "3430\n", + "model_vars.get('Gini', 0)[-1]=0.6634\n", + "Condition not met at step 3431. No data to save.\n", "3431\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 3432. No data to save.\n", "3432\n", + "model_vars.get('Gini', 0)[-1]=0.7052\n", + "Condition met. Appended special results for step 3433 to test_path/special_results.parquet\n", "3433\n", + "model_vars.get('Gini', 0)[-1]=0.6934\n", + "Condition not met at step 3434. No data to save.\n", "3434\n", + "model_vars.get('Gini', 0)[-1]=0.7070000000000001\n", + "Condition met. Appended special results for step 3435 to test_path/special_results.parquet\n", "3435\n", + "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", + "Condition not met at step 3436. No data to save.\n", "3436\n", + "model_vars.get('Gini', 0)[-1]=0.7098\n", + "Condition met. Appended special results for step 3437 to test_path/special_results.parquet\n", "3437\n", + "model_vars.get('Gini', 0)[-1]=0.712\n", + "Condition met. Appended special results for step 3438 to test_path/special_results.parquet\n", "3438\n", + "model_vars.get('Gini', 0)[-1]=0.739\n", + "Condition met. Appended special results for step 3439 to test_path/special_results.parquet\n", "3439\n", + "model_vars.get('Gini', 0)[-1]=0.7592\n", + "Condition met. Appended special results for step 3440 to test_path/special_results.parquet\n", "3440\n", + "model_vars.get('Gini', 0)[-1]=0.7752\n", + "Condition met. Appended special results for step 3441 to test_path/special_results.parquet\n", "3441\n", + "model_vars.get('Gini', 0)[-1]=0.7854\n", + "Condition met. Appended special results for step 3442 to test_path/special_results.parquet\n", "3442\n", + "model_vars.get('Gini', 0)[-1]=0.7886\n", + "Condition met. Appended special results for step 3443 to test_path/special_results.parquet\n", "3443\n", + "model_vars.get('Gini', 0)[-1]=0.7818\n", + "Condition met. Appended special results for step 3444 to test_path/special_results.parquet\n", "3444\n", + "model_vars.get('Gini', 0)[-1]=0.766\n", + "Condition met. Appended special results for step 3445 to test_path/special_results.parquet\n", "3445\n", + "model_vars.get('Gini', 0)[-1]=0.7464\n", + "Condition met. Appended special results for step 3446 to test_path/special_results.parquet\n", "3446\n", + "model_vars.get('Gini', 0)[-1]=0.747\n", + "Condition met. Appended special results for step 3447 to test_path/special_results.parquet\n", "3447\n", + "model_vars.get('Gini', 0)[-1]=0.7323999999999999\n", + "Condition met. Appended special results for step 3448 to test_path/special_results.parquet\n", "3448\n", + "model_vars.get('Gini', 0)[-1]=0.74\n", + "Condition met. Appended special results for step 3449 to test_path/special_results.parquet\n", "3449\n", + "model_vars.get('Gini', 0)[-1]=0.7296\n", + "Condition met. Appended special results for step 3450 to test_path/special_results.parquet\n", "3450\n", + "model_vars.get('Gini', 0)[-1]=0.722\n", + "Condition met. Appended special results for step 3451 to test_path/special_results.parquet\n", "3451\n", + "model_vars.get('Gini', 0)[-1]=0.7150000000000001\n", + "Condition met. Appended special results for step 3452 to test_path/special_results.parquet\n", "3452\n", + "model_vars.get('Gini', 0)[-1]=0.708\n", + "Condition met. Appended special results for step 3453 to test_path/special_results.parquet\n", "3453\n", + "model_vars.get('Gini', 0)[-1]=0.7070000000000001\n", + "Condition met. Appended special results for step 3454 to test_path/special_results.parquet\n", "3454\n", + "model_vars.get('Gini', 0)[-1]=0.6778\n", + "Condition not met at step 3455. No data to save.\n", "3455\n", + "model_vars.get('Gini', 0)[-1]=0.677\n", + "Condition not met at step 3456. No data to save.\n", "3456\n", + "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", + "Condition not met at step 3457. No data to save.\n", "3457\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 3458. No data to save.\n", "3458\n", + "model_vars.get('Gini', 0)[-1]=0.6868000000000001\n", + "Condition not met at step 3459. No data to save.\n", "3459\n", + "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", + "Condition not met at step 3460. No data to save.\n", "3460\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 3461. No data to save.\n", "3461\n", + "model_vars.get('Gini', 0)[-1]=0.6312\n", + "Condition not met at step 3462. No data to save.\n", "3462\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 3463. No data to save.\n", "3463\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 3464. No data to save.\n", "3464\n", + "model_vars.get('Gini', 0)[-1]=0.6872\n", + "Condition not met at step 3465. No data to save.\n", "3465\n", + "model_vars.get('Gini', 0)[-1]=0.6896\n", + "Condition not met at step 3466. No data to save.\n", "3466\n", + "model_vars.get('Gini', 0)[-1]=0.7096\n", + "Condition met. Appended special results for step 3467 to test_path/special_results.parquet\n", "3467\n", + "model_vars.get('Gini', 0)[-1]=0.6986\n", + "Condition not met at step 3468. No data to save.\n", "3468\n", + "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", + "Condition not met at step 3469. No data to save.\n", "3469\n", + "model_vars.get('Gini', 0)[-1]=0.6946\n", + "Condition not met at step 3470. No data to save.\n", "3470\n", + "model_vars.get('Gini', 0)[-1]=0.6826\n", + "Condition not met at step 3471. No data to save.\n", "3471\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 3472. No data to save.\n", "3472\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 3473. No data to save.\n", "3473\n", + "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", + "Condition not met at step 3474. No data to save.\n", "3474\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 3475. No data to save.\n", "3475\n", + "model_vars.get('Gini', 0)[-1]=0.6754\n", + "Condition not met at step 3476. No data to save.\n", "3476\n", + "model_vars.get('Gini', 0)[-1]=0.6834\n", + "Condition not met at step 3477. No data to save.\n", "3477\n", + "model_vars.get('Gini', 0)[-1]=0.6814\n", + "Condition not met at step 3478. No data to save.\n", "3478\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 3479. No data to save.\n", "3479\n", + "model_vars.get('Gini', 0)[-1]=0.7004\n", + "Condition met. Appended special results for step 3480 to test_path/special_results.parquet\n", "3480\n", + "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", + "Condition not met at step 3481. No data to save.\n", "3481\n", + "model_vars.get('Gini', 0)[-1]=0.6782\n", + "Condition not met at step 3482. No data to save.\n", "3482\n", + "model_vars.get('Gini', 0)[-1]=0.6556\n", + "Condition not met at step 3483. No data to save.\n", "3483\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 3484. No data to save.\n", "3484\n", + "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", + "Condition not met at step 3485. No data to save.\n", "3485\n", + "model_vars.get('Gini', 0)[-1]=0.6824\n", + "Condition not met at step 3486. No data to save.\n", "3486\n", + "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", + "Condition not met at step 3487. No data to save.\n", "3487\n", + "model_vars.get('Gini', 0)[-1]=0.679\n", + "Condition not met at step 3488. No data to save.\n", "3488\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 3489. No data to save.\n", "3489\n", + "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", + "Condition not met at step 3490. No data to save.\n", "3490\n", + "model_vars.get('Gini', 0)[-1]=0.6846\n", + "Condition not met at step 3491. No data to save.\n", "3491\n", + "model_vars.get('Gini', 0)[-1]=0.6794\n", + "Condition not met at step 3492. No data to save.\n", "3492\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 3493. No data to save.\n", "3493\n", + "model_vars.get('Gini', 0)[-1]=0.692\n", + "Condition not met at step 3494. No data to save.\n", "3494\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 3495. No data to save.\n", "3495\n", + "model_vars.get('Gini', 0)[-1]=0.6898\n", + "Condition not met at step 3496. No data to save.\n", "3496\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 3497. No data to save.\n", "3497\n", + "model_vars.get('Gini', 0)[-1]=0.6576\n", + "Condition not met at step 3498. No data to save.\n", "3498\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 3499. No data to save.\n", "3499\n", "CALLED\n", "self.model._steps=3500\n", " TEST self.model._steps=3500\n", " TEST self._cache_interval=100\n", " Gini\n", - "3400 0.6644\n", - "3401 0.6556\n", - "3402 0.6176\n", - "3403 0.6558\n", - "3404 0.6584\n", + "3400 0.6626\n", + "3401 0.6538\n", + "3402 0.6572\n", + "3403 0.6492\n", + "3404 0.6386\n", "... ...\n", - "3495 0.6556\n", - "3496 0.6556\n", - "3497 0.6476\n", - "3498 0.6894\n", - "3499 0.7044\n", + "3495 0.6898\n", + "3496 0.6606\n", + "3497 0.6576\n", + "3498 0.6604\n", + "3499 0.6790\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_035.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_035.parquet'\n", - "Saving model to output_dir/model_data_035.parquet\n", - "Saving agent to output_dir/agent_data_035.parquet\n", + "model_file='test_path/model_data_035.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_035.parquet'\n", + "Saving model to test_path/model_data_035.parquet\n", + "Saving agent to test_path/agent_data_035.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.679\n", + "Condition not met at step 3500. No data to save.\n", "3500\n", + "model_vars.get('Gini', 0)[-1]=0.7090000000000001\n", + "Condition met. Appended special results for step 3501 to test_path/special_results.parquet\n", "3501\n", + "model_vars.get('Gini', 0)[-1]=0.7061999999999999\n", + "Condition met. Appended special results for step 3502 to test_path/special_results.parquet\n", "3502\n", + "model_vars.get('Gini', 0)[-1]=0.712\n", + "Condition met. Appended special results for step 3503 to test_path/special_results.parquet\n", "3503\n", + "model_vars.get('Gini', 0)[-1]=0.6938\n", + "Condition not met at step 3504. No data to save.\n", "3504\n", + "model_vars.get('Gini', 0)[-1]=0.7054\n", + "Condition met. Appended special results for step 3505 to test_path/special_results.parquet\n", "3505\n", + "model_vars.get('Gini', 0)[-1]=0.6921999999999999\n", + "Condition not met at step 3506. No data to save.\n", "3506\n", + "model_vars.get('Gini', 0)[-1]=0.6912\n", + "Condition not met at step 3507. No data to save.\n", "3507\n", + "model_vars.get('Gini', 0)[-1]=0.6868000000000001\n", + "Condition not met at step 3508. No data to save.\n", "3508\n", + "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", + "Condition not met at step 3509. No data to save.\n", "3509\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 3510. No data to save.\n", "3510\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 3511. No data to save.\n", "3511\n", + "model_vars.get('Gini', 0)[-1]=0.6716\n", + "Condition not met at step 3512. No data to save.\n", "3512\n", + "model_vars.get('Gini', 0)[-1]=0.649\n", + "Condition not met at step 3513. No data to save.\n", "3513\n", + "model_vars.get('Gini', 0)[-1]=0.667\n", + "Condition not met at step 3514. No data to save.\n", "3514\n", + "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", + "Condition not met at step 3515. No data to save.\n", "3515\n", + "model_vars.get('Gini', 0)[-1]=0.677\n", + "Condition not met at step 3516. No data to save.\n", "3516\n", + "model_vars.get('Gini', 0)[-1]=0.6684\n", + "Condition not met at step 3517. No data to save.\n", "3517\n", + "model_vars.get('Gini', 0)[-1]=0.6596\n", + "Condition not met at step 3518. No data to save.\n", "3518\n", + "model_vars.get('Gini', 0)[-1]=0.6794\n", + "Condition not met at step 3519. No data to save.\n", "3519\n", + "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", + "Condition not met at step 3520. No data to save.\n", "3520\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 3521. No data to save.\n", "3521\n", + "model_vars.get('Gini', 0)[-1]=0.7012\n", + "Condition met. Appended special results for step 3522 to test_path/special_results.parquet\n", "3522\n", + "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", + "Condition met. Appended special results for step 3523 to test_path/special_results.parquet\n", "3523\n", + "model_vars.get('Gini', 0)[-1]=0.7101999999999999\n", + "Condition met. Appended special results for step 3524 to test_path/special_results.parquet\n", "3524\n", + "model_vars.get('Gini', 0)[-1]=0.6906\n", + "Condition not met at step 3525. No data to save.\n", "3525\n", + "model_vars.get('Gini', 0)[-1]=0.6958\n", + "Condition not met at step 3526. No data to save.\n", "3526\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 3527. No data to save.\n", "3527\n", + "model_vars.get('Gini', 0)[-1]=0.6812\n", + "Condition not met at step 3528. No data to save.\n", "3528\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 3529. No data to save.\n", "3529\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 3530. No data to save.\n", "3530\n", + "model_vars.get('Gini', 0)[-1]=0.6168\n", + "Condition not met at step 3531. No data to save.\n", "3531\n", + "model_vars.get('Gini', 0)[-1]=0.621\n", + "Condition not met at step 3532. No data to save.\n", "3532\n", + "model_vars.get('Gini', 0)[-1]=0.6174\n", + "Condition not met at step 3533. No data to save.\n", "3533\n", + "model_vars.get('Gini', 0)[-1]=0.6246\n", + "Condition not met at step 3534. No data to save.\n", "3534\n", + "model_vars.get('Gini', 0)[-1]=0.5993999999999999\n", + "Condition not met at step 3535. No data to save.\n", "3535\n", + "model_vars.get('Gini', 0)[-1]=0.6208\n", + "Condition not met at step 3536. No data to save.\n", "3536\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 3537. No data to save.\n", "3537\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 3538. No data to save.\n", "3538\n", + "model_vars.get('Gini', 0)[-1]=0.6534\n", + "Condition not met at step 3539. No data to save.\n", "3539\n", + "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", + "Condition not met at step 3540. No data to save.\n", "3540\n", + "model_vars.get('Gini', 0)[-1]=0.6396\n", + "Condition not met at step 3541. No data to save.\n", "3541\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 3542. No data to save.\n", "3542\n", + "model_vars.get('Gini', 0)[-1]=0.6654\n", + "Condition not met at step 3543. No data to save.\n", "3543\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 3544. No data to save.\n", "3544\n", + "model_vars.get('Gini', 0)[-1]=0.6774\n", + "Condition not met at step 3545. No data to save.\n", "3545\n", + "model_vars.get('Gini', 0)[-1]=0.6872\n", + "Condition not met at step 3546. No data to save.\n", "3546\n", + "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", + "Condition not met at step 3547. No data to save.\n", "3547\n", + "model_vars.get('Gini', 0)[-1]=0.694\n", + "Condition not met at step 3548. No data to save.\n", "3548\n", + "model_vars.get('Gini', 0)[-1]=0.6908000000000001\n", + "Condition not met at step 3549. No data to save.\n", "3549\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 3550. No data to save.\n", "3550\n", + "model_vars.get('Gini', 0)[-1]=0.663\n", + "Condition not met at step 3551. No data to save.\n", "3551\n", + "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", + "Condition not met at step 3552. No data to save.\n", "3552\n", + "model_vars.get('Gini', 0)[-1]=0.6372\n", + "Condition not met at step 3553. No data to save.\n", "3553\n", + "model_vars.get('Gini', 0)[-1]=0.6682\n", + "Condition not met at step 3554. No data to save.\n", "3554\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 3555. No data to save.\n", "3555\n", + "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", + "Condition not met at step 3556. No data to save.\n", "3556\n", + "model_vars.get('Gini', 0)[-1]=0.6308\n", + "Condition not met at step 3557. No data to save.\n", "3557\n", + "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", + "Condition not met at step 3558. No data to save.\n", "3558\n", + "model_vars.get('Gini', 0)[-1]=0.6562\n", + "Condition not met at step 3559. No data to save.\n", "3559\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 3560. No data to save.\n", "3560\n", + "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", + "Condition not met at step 3561. No data to save.\n", "3561\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 3562. No data to save.\n", "3562\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 3563. No data to save.\n", "3563\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 3564. No data to save.\n", "3564\n", + "model_vars.get('Gini', 0)[-1]=0.6698\n", + "Condition not met at step 3565. No data to save.\n", "3565\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 3566. No data to save.\n", "3566\n", + "model_vars.get('Gini', 0)[-1]=0.6774\n", + "Condition not met at step 3567. No data to save.\n", "3567\n", + "model_vars.get('Gini', 0)[-1]=0.6926\n", + "Condition not met at step 3568. No data to save.\n", "3568\n", + "model_vars.get('Gini', 0)[-1]=0.7004\n", + "Condition met. Appended special results for step 3569 to test_path/special_results.parquet\n", "3569\n", + "model_vars.get('Gini', 0)[-1]=0.6864\n", + "Condition not met at step 3570. No data to save.\n", "3570\n", + "model_vars.get('Gini', 0)[-1]=0.6912\n", + "Condition not met at step 3571. No data to save.\n", "3571\n", + "model_vars.get('Gini', 0)[-1]=0.6738\n", + "Condition not met at step 3572. No data to save.\n", "3572\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 3573. No data to save.\n", "3573\n", + "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", + "Condition not met at step 3574. No data to save.\n", "3574\n", + "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", + "Condition not met at step 3575. No data to save.\n", "3575\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 3576. No data to save.\n", "3576\n", + "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", + "Condition not met at step 3577. No data to save.\n", "3577\n", + "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", + "Condition not met at step 3578. No data to save.\n", "3578\n", + "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", + "Condition not met at step 3579. No data to save.\n", "3579\n", + "model_vars.get('Gini', 0)[-1]=0.6692\n", + "Condition not met at step 3580. No data to save.\n", "3580\n", + "model_vars.get('Gini', 0)[-1]=0.6876\n", + "Condition not met at step 3581. No data to save.\n", "3581\n", + "model_vars.get('Gini', 0)[-1]=0.6932\n", + "Condition not met at step 3582. No data to save.\n", "3582\n", + "model_vars.get('Gini', 0)[-1]=0.6836\n", + "Condition not met at step 3583. No data to save.\n", "3583\n", + "model_vars.get('Gini', 0)[-1]=0.687\n", + "Condition not met at step 3584. No data to save.\n", "3584\n", + "model_vars.get('Gini', 0)[-1]=0.6912\n", + "Condition not met at step 3585. No data to save.\n", "3585\n", + "model_vars.get('Gini', 0)[-1]=0.6924\n", + "Condition not met at step 3586. No data to save.\n", "3586\n", + "model_vars.get('Gini', 0)[-1]=0.671\n", + "Condition not met at step 3587. No data to save.\n", "3587\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 3588. No data to save.\n", "3588\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 3589. No data to save.\n", "3589\n", + "model_vars.get('Gini', 0)[-1]=0.64\n", + "Condition not met at step 3590. No data to save.\n", "3590\n", + "model_vars.get('Gini', 0)[-1]=0.635\n", + "Condition not met at step 3591. No data to save.\n", "3591\n", + "model_vars.get('Gini', 0)[-1]=0.642\n", + "Condition not met at step 3592. No data to save.\n", "3592\n", + "model_vars.get('Gini', 0)[-1]=0.6202000000000001\n", + "Condition not met at step 3593. No data to save.\n", "3593\n", + "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", + "Condition not met at step 3594. No data to save.\n", "3594\n", + "model_vars.get('Gini', 0)[-1]=0.6454\n", + "Condition not met at step 3595. No data to save.\n", "3595\n", + "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", + "Condition not met at step 3596. No data to save.\n", "3596\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 3597. No data to save.\n", "3597\n", + "model_vars.get('Gini', 0)[-1]=0.6938\n", + "Condition not met at step 3598. No data to save.\n", "3598\n", + "model_vars.get('Gini', 0)[-1]=0.677\n", + "Condition not met at step 3599. No data to save.\n", "3599\n", "CALLED\n", "self.model._steps=3600\n", " TEST self.model._steps=3600\n", " TEST self._cache_interval=100\n", " Gini\n", - "3500 0.6840\n", - "3501 0.6700\n", - "3502 0.6556\n", - "3503 0.6634\n", - "3504 0.6734\n", + "3500 0.7090\n", + "3501 0.7062\n", + "3502 0.7120\n", + "3503 0.6938\n", + "3504 0.7054\n", "... ...\n", - "3595 0.6882\n", - "3596 0.6588\n", - "3597 0.6494\n", - "3598 0.6612\n", - "3599 0.6488\n", + "3595 0.6466\n", + "3596 0.6730\n", + "3597 0.6938\n", + "3598 0.6770\n", + "3599 0.6718\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_036.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_036.parquet'\n", - "Saving model to output_dir/model_data_036.parquet\n", - "Saving agent to output_dir/agent_data_036.parquet\n", + "model_file='test_path/model_data_036.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_036.parquet'\n", + "Saving model to test_path/model_data_036.parquet\n", + "Saving agent to test_path/agent_data_036.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 3600. No data to save.\n", "3600\n", + "model_vars.get('Gini', 0)[-1]=0.6856\n", + "Condition not met at step 3601. No data to save.\n", "3601\n", + "model_vars.get('Gini', 0)[-1]=0.677\n", + "Condition not met at step 3602. No data to save.\n", "3602\n", + "model_vars.get('Gini', 0)[-1]=0.6754\n", + "Condition not met at step 3603. No data to save.\n", "3603\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 3604. No data to save.\n", "3604\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 3605. No data to save.\n", "3605\n", + "model_vars.get('Gini', 0)[-1]=0.6674\n", + "Condition not met at step 3606. No data to save.\n", "3606\n", + "model_vars.get('Gini', 0)[-1]=0.6794\n", + "Condition not met at step 3607. No data to save.\n", "3607\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 3608. No data to save.\n", "3608\n", + "model_vars.get('Gini', 0)[-1]=0.667\n", + "Condition not met at step 3609. No data to save.\n", "3609\n", + "model_vars.get('Gini', 0)[-1]=0.6814\n", + "Condition not met at step 3610. No data to save.\n", "3610\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 3611. No data to save.\n", "3611\n", + "model_vars.get('Gini', 0)[-1]=0.6839999999999999\n", + "Condition not met at step 3612. No data to save.\n", "3612\n", + "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", + "Condition not met at step 3613. No data to save.\n", "3613\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 3614. No data to save.\n", "3614\n", + "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", + "Condition not met at step 3615. No data to save.\n", "3615\n", + "model_vars.get('Gini', 0)[-1]=0.666\n", + "Condition not met at step 3616. No data to save.\n", "3616\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 3617. No data to save.\n", "3617\n", + "model_vars.get('Gini', 0)[-1]=0.6398\n", + "Condition not met at step 3618. No data to save.\n", "3618\n", + "model_vars.get('Gini', 0)[-1]=0.6674\n", + "Condition not met at step 3619. No data to save.\n", "3619\n", + "model_vars.get('Gini', 0)[-1]=0.6622\n", + "Condition not met at step 3620. No data to save.\n", "3620\n", + "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", + "Condition not met at step 3621. No data to save.\n", "3621\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 3622. No data to save.\n", "3622\n", + "model_vars.get('Gini', 0)[-1]=0.6122000000000001\n", + "Condition not met at step 3623. No data to save.\n", "3623\n", + "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", + "Condition not met at step 3624. No data to save.\n", "3624\n", + "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", + "Condition not met at step 3625. No data to save.\n", "3625\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 3626. No data to save.\n", "3626\n", + "model_vars.get('Gini', 0)[-1]=0.6334\n", + "Condition not met at step 3627. No data to save.\n", "3627\n", + "model_vars.get('Gini', 0)[-1]=0.622\n", + "Condition not met at step 3628. No data to save.\n", "3628\n", + "model_vars.get('Gini', 0)[-1]=0.657\n", + "Condition not met at step 3629. No data to save.\n", "3629\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 3630. No data to save.\n", "3630\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 3631. No data to save.\n", "3631\n", + "model_vars.get('Gini', 0)[-1]=0.6312\n", + "Condition not met at step 3632. No data to save.\n", "3632\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 3633. No data to save.\n", "3633\n", + "model_vars.get('Gini', 0)[-1]=0.6332\n", + "Condition not met at step 3634. No data to save.\n", "3634\n", + "model_vars.get('Gini', 0)[-1]=0.6338\n", + "Condition not met at step 3635. No data to save.\n", "3635\n", + "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", + "Condition not met at step 3636. No data to save.\n", "3636\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 3637. No data to save.\n", "3637\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 3638. No data to save.\n", "3638\n", + "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", + "Condition not met at step 3639. No data to save.\n", "3639\n", + "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", + "Condition not met at step 3640. No data to save.\n", "3640\n", + "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", + "Condition not met at step 3641. No data to save.\n", "3641\n", + "model_vars.get('Gini', 0)[-1]=0.6932\n", + "Condition not met at step 3642. No data to save.\n", "3642\n", + "model_vars.get('Gini', 0)[-1]=0.6998\n", + "Condition not met at step 3643. No data to save.\n", "3643\n", + "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", + "Condition not met at step 3644. No data to save.\n", "3644\n", + "model_vars.get('Gini', 0)[-1]=0.6792\n", + "Condition not met at step 3645. No data to save.\n", "3645\n", + "model_vars.get('Gini', 0)[-1]=0.6698\n", + "Condition not met at step 3646. No data to save.\n", "3646\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 3647. No data to save.\n", "3647\n", + "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", + "Condition not met at step 3648. No data to save.\n", "3648\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 3649. No data to save.\n", "3649\n", + "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", + "Condition not met at step 3650. No data to save.\n", "3650\n", + "model_vars.get('Gini', 0)[-1]=0.6972\n", + "Condition not met at step 3651. No data to save.\n", "3651\n", + "model_vars.get('Gini', 0)[-1]=0.6772\n", + "Condition not met at step 3652. No data to save.\n", "3652\n", + "model_vars.get('Gini', 0)[-1]=0.6842\n", + "Condition not met at step 3653. No data to save.\n", "3653\n", + "model_vars.get('Gini', 0)[-1]=0.6872\n", + "Condition not met at step 3654. No data to save.\n", "3654\n", + "model_vars.get('Gini', 0)[-1]=0.6896\n", + "Condition not met at step 3655. No data to save.\n", "3655\n", + "model_vars.get('Gini', 0)[-1]=0.679\n", + "Condition not met at step 3656. No data to save.\n", "3656\n", + "model_vars.get('Gini', 0)[-1]=0.6572\n", + "Condition not met at step 3657. No data to save.\n", "3657\n", + "model_vars.get('Gini', 0)[-1]=0.645\n", + "Condition not met at step 3658. No data to save.\n", "3658\n", + "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", + "Condition not met at step 3659. No data to save.\n", "3659\n", + "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", + "Condition not met at step 3660. No data to save.\n", "3660\n", + "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", + "Condition not met at step 3661. No data to save.\n", "3661\n", + "model_vars.get('Gini', 0)[-1]=0.6864\n", + "Condition not met at step 3662. No data to save.\n", "3662\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 3663. No data to save.\n", "3663\n", + "model_vars.get('Gini', 0)[-1]=0.696\n", + "Condition not met at step 3664. No data to save.\n", "3664\n", + "model_vars.get('Gini', 0)[-1]=0.6682\n", + "Condition not met at step 3665. No data to save.\n", "3665\n", + "model_vars.get('Gini', 0)[-1]=0.679\n", + "Condition not met at step 3666. No data to save.\n", "3666\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 3667. No data to save.\n", "3667\n", + "model_vars.get('Gini', 0)[-1]=0.662\n", + "Condition not met at step 3668. No data to save.\n", "3668\n", + "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", + "Condition not met at step 3669. No data to save.\n", "3669\n", + "model_vars.get('Gini', 0)[-1]=0.6792\n", + "Condition not met at step 3670. No data to save.\n", "3670\n", + "model_vars.get('Gini', 0)[-1]=0.6254\n", + "Condition not met at step 3671. No data to save.\n", "3671\n", + "model_vars.get('Gini', 0)[-1]=0.6212\n", + "Condition not met at step 3672. No data to save.\n", "3672\n", + "model_vars.get('Gini', 0)[-1]=0.632\n", + "Condition not met at step 3673. No data to save.\n", "3673\n", + "model_vars.get('Gini', 0)[-1]=0.649\n", + "Condition not met at step 3674. No data to save.\n", "3674\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 3675. No data to save.\n", "3675\n", + "model_vars.get('Gini', 0)[-1]=0.6318\n", + "Condition not met at step 3676. No data to save.\n", "3676\n", + "model_vars.get('Gini', 0)[-1]=0.6376\n", + "Condition not met at step 3677. No data to save.\n", "3677\n", + "model_vars.get('Gini', 0)[-1]=0.633\n", + "Condition not met at step 3678. No data to save.\n", "3678\n", + "model_vars.get('Gini', 0)[-1]=0.6656\n", + "Condition not met at step 3679. No data to save.\n", "3679\n", + "model_vars.get('Gini', 0)[-1]=0.6878\n", + "Condition not met at step 3680. No data to save.\n", "3680\n", + "model_vars.get('Gini', 0)[-1]=0.6872\n", + "Condition not met at step 3681. No data to save.\n", "3681\n", + "model_vars.get('Gini', 0)[-1]=0.7046\n", + "Condition met. Appended special results for step 3682 to test_path/special_results.parquet\n", "3682\n", + "model_vars.get('Gini', 0)[-1]=0.698\n", + "Condition not met at step 3683. No data to save.\n", "3683\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 3684. No data to save.\n", "3684\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 3685. No data to save.\n", "3685\n", + "model_vars.get('Gini', 0)[-1]=0.6902\n", + "Condition not met at step 3686. No data to save.\n", "3686\n", + "model_vars.get('Gini', 0)[-1]=0.6974\n", + "Condition not met at step 3687. No data to save.\n", "3687\n", + "model_vars.get('Gini', 0)[-1]=0.6928000000000001\n", + "Condition not met at step 3688. No data to save.\n", "3688\n", + "model_vars.get('Gini', 0)[-1]=0.6974\n", + "Condition not met at step 3689. No data to save.\n", "3689\n", + "model_vars.get('Gini', 0)[-1]=0.6779999999999999\n", + "Condition not met at step 3690. No data to save.\n", "3690\n", + "model_vars.get('Gini', 0)[-1]=0.6674\n", + "Condition not met at step 3691. No data to save.\n", "3691\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 3692. No data to save.\n", "3692\n", + "model_vars.get('Gini', 0)[-1]=0.664\n", + "Condition not met at step 3693. No data to save.\n", "3693\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 3694. No data to save.\n", "3694\n", + "model_vars.get('Gini', 0)[-1]=0.6624\n", + "Condition not met at step 3695. No data to save.\n", "3695\n", + "model_vars.get('Gini', 0)[-1]=0.6432\n", + "Condition not met at step 3696. No data to save.\n", "3696\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 3697. No data to save.\n", "3697\n", + "model_vars.get('Gini', 0)[-1]=0.6624\n", + "Condition not met at step 3698. No data to save.\n", "3698\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 3699. No data to save.\n", "3699\n", "CALLED\n", "self.model._steps=3700\n", " TEST self.model._steps=3700\n", " TEST self._cache_interval=100\n", " Gini\n", - "3600 0.6346\n", - "3601 0.6464\n", - "3602 0.6606\n", - "3603 0.6786\n", - "3604 0.6776\n", + "3600 0.6856\n", + "3601 0.6770\n", + "3602 0.6754\n", + "3603 0.6688\n", + "3604 0.6642\n", "... ...\n", - "3695 0.6574\n", - "3696 0.6392\n", - "3697 0.6462\n", - "3698 0.6488\n", - "3699 0.6564\n", + "3695 0.6432\n", + "3696 0.6644\n", + "3697 0.6624\n", + "3698 0.6758\n", + "3699 0.6884\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_037.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_037.parquet'\n", - "Saving model to output_dir/model_data_037.parquet\n", - "Saving agent to output_dir/agent_data_037.parquet\n", + "model_file='test_path/model_data_037.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_037.parquet'\n", + "Saving model to test_path/model_data_037.parquet\n", + "Saving agent to test_path/agent_data_037.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6884\n", + "Condition not met at step 3700. No data to save.\n", "3700\n", + "model_vars.get('Gini', 0)[-1]=0.6858\n", + "Condition not met at step 3701. No data to save.\n", "3701\n", + "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", + "Condition not met at step 3702. No data to save.\n", "3702\n", + "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", + "Condition not met at step 3703. No data to save.\n", "3703\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 3704. No data to save.\n", "3704\n", + "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", + "Condition not met at step 3705. No data to save.\n", "3705\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 3706. No data to save.\n", "3706\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 3707. No data to save.\n", "3707\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 3708. No data to save.\n", "3708\n", + "model_vars.get('Gini', 0)[-1]=0.6514\n", + "Condition not met at step 3709. No data to save.\n", "3709\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 3710. No data to save.\n", "3710\n", + "model_vars.get('Gini', 0)[-1]=0.6662\n", + "Condition not met at step 3711. No data to save.\n", "3711\n", + "model_vars.get('Gini', 0)[-1]=0.6698\n", + "Condition not met at step 3712. No data to save.\n", "3712\n", + "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", + "Condition not met at step 3713. No data to save.\n", "3713\n", + "model_vars.get('Gini', 0)[-1]=0.6784\n", + "Condition not met at step 3714. No data to save.\n", "3714\n", + "model_vars.get('Gini', 0)[-1]=0.6866\n", + "Condition not met at step 3715. No data to save.\n", "3715\n", + "model_vars.get('Gini', 0)[-1]=0.69\n", + "Condition not met at step 3716. No data to save.\n", "3716\n", + "model_vars.get('Gini', 0)[-1]=0.7001999999999999\n", + "Condition met. Appended special results for step 3717 to test_path/special_results.parquet\n", "3717\n", + "model_vars.get('Gini', 0)[-1]=0.692\n", + "Condition not met at step 3718. No data to save.\n", "3718\n", + "model_vars.get('Gini', 0)[-1]=0.7138\n", + "Condition met. Appended special results for step 3719 to test_path/special_results.parquet\n", "3719\n", + "model_vars.get('Gini', 0)[-1]=0.7203999999999999\n", + "Condition met. Appended special results for step 3720 to test_path/special_results.parquet\n", "3720\n", + "model_vars.get('Gini', 0)[-1]=0.7142\n", + "Condition met. Appended special results for step 3721 to test_path/special_results.parquet\n", "3721\n", + "model_vars.get('Gini', 0)[-1]=0.7108\n", + "Condition met. Appended special results for step 3722 to test_path/special_results.parquet\n", "3722\n", + "model_vars.get('Gini', 0)[-1]=0.7144\n", + "Condition met. Appended special results for step 3723 to test_path/special_results.parquet\n", "3723\n", + "model_vars.get('Gini', 0)[-1]=0.6876\n", + "Condition not met at step 3724. No data to save.\n", "3724\n", + "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", + "Condition not met at step 3725. No data to save.\n", "3725\n", + "model_vars.get('Gini', 0)[-1]=0.6232\n", + "Condition not met at step 3726. No data to save.\n", "3726\n", + "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", + "Condition not met at step 3727. No data to save.\n", "3727\n", + "model_vars.get('Gini', 0)[-1]=0.6234\n", + "Condition not met at step 3728. No data to save.\n", "3728\n", + "model_vars.get('Gini', 0)[-1]=0.6656\n", + "Condition not met at step 3729. No data to save.\n", "3729\n", + "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", + "Condition not met at step 3730. No data to save.\n", "3730\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 3731. No data to save.\n", "3731\n", + "model_vars.get('Gini', 0)[-1]=0.644\n", + "Condition not met at step 3732. No data to save.\n", "3732\n", + "model_vars.get('Gini', 0)[-1]=0.631\n", + "Condition not met at step 3733. No data to save.\n", "3733\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 3734. No data to save.\n", "3734\n", + "model_vars.get('Gini', 0)[-1]=0.6022000000000001\n", + "Condition not met at step 3735. No data to save.\n", "3735\n", + "model_vars.get('Gini', 0)[-1]=0.6078\n", + "Condition not met at step 3736. No data to save.\n", "3736\n", + "model_vars.get('Gini', 0)[-1]=0.6554\n", + "Condition not met at step 3737. No data to save.\n", "3737\n", + "model_vars.get('Gini', 0)[-1]=0.6612\n", + "Condition not met at step 3738. No data to save.\n", "3738\n", + "model_vars.get('Gini', 0)[-1]=0.6552\n", + "Condition not met at step 3739. No data to save.\n", "3739\n", + "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", + "Condition not met at step 3740. No data to save.\n", "3740\n", + "model_vars.get('Gini', 0)[-1]=0.6376\n", + "Condition not met at step 3741. No data to save.\n", "3741\n", + "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", + "Condition not met at step 3742. No data to save.\n", "3742\n", + "model_vars.get('Gini', 0)[-1]=0.6652\n", + "Condition not met at step 3743. No data to save.\n", "3743\n", + "model_vars.get('Gini', 0)[-1]=0.6556\n", + "Condition not met at step 3744. No data to save.\n", "3744\n", + "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", + "Condition not met at step 3745. No data to save.\n", "3745\n", + "model_vars.get('Gini', 0)[-1]=0.664\n", + "Condition not met at step 3746. No data to save.\n", "3746\n", + "model_vars.get('Gini', 0)[-1]=0.629\n", + "Condition not met at step 3747. No data to save.\n", "3747\n", + "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", + "Condition not met at step 3748. No data to save.\n", "3748\n", + "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", + "Condition not met at step 3749. No data to save.\n", "3749\n", + "model_vars.get('Gini', 0)[-1]=0.649\n", + "Condition not met at step 3750. No data to save.\n", "3750\n", + "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", + "Condition not met at step 3751. No data to save.\n", "3751\n", + "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", + "Condition not met at step 3752. No data to save.\n", "3752\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 3753. No data to save.\n", "3753\n", + "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", + "Condition not met at step 3754. No data to save.\n", "3754\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 3755. No data to save.\n", "3755\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 3756. No data to save.\n", "3756\n", + "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", + "Condition not met at step 3757. No data to save.\n", "3757\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 3758. No data to save.\n", "3758\n", + "model_vars.get('Gini', 0)[-1]=0.666\n", + "Condition not met at step 3759. No data to save.\n", "3759\n", + "model_vars.get('Gini', 0)[-1]=0.6472\n", + "Condition not met at step 3760. No data to save.\n", "3760\n", + "model_vars.get('Gini', 0)[-1]=0.6656\n", + "Condition not met at step 3761. No data to save.\n", "3761\n", + "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", + "Condition not met at step 3762. No data to save.\n", "3762\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 3763. No data to save.\n", "3763\n", + "model_vars.get('Gini', 0)[-1]=0.6802\n", + "Condition not met at step 3764. No data to save.\n", "3764\n", + "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", + "Condition not met at step 3765. No data to save.\n", "3765\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 3766. No data to save.\n", "3766\n", + "model_vars.get('Gini', 0)[-1]=0.624\n", + "Condition not met at step 3767. No data to save.\n", "3767\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 3768. No data to save.\n", "3768\n", + "model_vars.get('Gini', 0)[-1]=0.6204000000000001\n", + "Condition not met at step 3769. No data to save.\n", "3769\n", + "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", + "Condition not met at step 3770. No data to save.\n", "3770\n", + "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", + "Condition not met at step 3771. No data to save.\n", "3771\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 3772. No data to save.\n", "3772\n", + "model_vars.get('Gini', 0)[-1]=0.6552\n", + "Condition not met at step 3773. No data to save.\n", "3773\n", + "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", + "Condition not met at step 3774. No data to save.\n", "3774\n", + "model_vars.get('Gini', 0)[-1]=0.6204000000000001\n", + "Condition not met at step 3775. No data to save.\n", "3775\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 3776. No data to save.\n", "3776\n", + "model_vars.get('Gini', 0)[-1]=0.659\n", + "Condition not met at step 3777. No data to save.\n", "3777\n", + "model_vars.get('Gini', 0)[-1]=0.6612\n", + "Condition not met at step 3778. No data to save.\n", "3778\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 3779. No data to save.\n", "3779\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 3780. No data to save.\n", "3780\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 3781. No data to save.\n", "3781\n", + "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", + "Condition not met at step 3782. No data to save.\n", "3782\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 3783. No data to save.\n", "3783\n", + "model_vars.get('Gini', 0)[-1]=0.6168\n", + "Condition not met at step 3784. No data to save.\n", "3784\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 3785. No data to save.\n", "3785\n", + "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", + "Condition not met at step 3786. No data to save.\n", "3786\n", + "model_vars.get('Gini', 0)[-1]=0.62\n", + "Condition not met at step 3787. No data to save.\n", "3787\n", + "model_vars.get('Gini', 0)[-1]=0.62\n", + "Condition not met at step 3788. No data to save.\n", "3788\n", + "model_vars.get('Gini', 0)[-1]=0.603\n", + "Condition not met at step 3789. No data to save.\n", "3789\n", + "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", + "Condition not met at step 3790. No data to save.\n", "3790\n", + "model_vars.get('Gini', 0)[-1]=0.6306\n", + "Condition not met at step 3791. No data to save.\n", "3791\n", + "model_vars.get('Gini', 0)[-1]=0.6532\n", + "Condition not met at step 3792. No data to save.\n", "3792\n", + "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", + "Condition not met at step 3793. No data to save.\n", "3793\n", + "model_vars.get('Gini', 0)[-1]=0.6278\n", + "Condition not met at step 3794. No data to save.\n", "3794\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 3795. No data to save.\n", "3795\n", + "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", + "Condition not met at step 3796. No data to save.\n", "3796\n", + "model_vars.get('Gini', 0)[-1]=0.624\n", + "Condition not met at step 3797. No data to save.\n", "3797\n", + "model_vars.get('Gini', 0)[-1]=0.618\n", + "Condition not met at step 3798. No data to save.\n", "3798\n", + "model_vars.get('Gini', 0)[-1]=0.5933999999999999\n", + "Condition not met at step 3799. No data to save.\n", "3799\n", "CALLED\n", "self.model._steps=3800\n", " TEST self.model._steps=3800\n", " TEST self._cache_interval=100\n", " Gini\n", - "3700 0.6678\n", - "3701 0.6698\n", - "3702 0.6574\n", - "3703 0.6756\n", - "3704 0.6732\n", + "3700 0.6858\n", + "3701 0.6748\n", + "3702 0.6760\n", + "3703 0.6604\n", + "3704 0.6464\n", "... ...\n", - "3795 0.6104\n", - "3796 0.6070\n", - "3797 0.6162\n", - "3798 0.6340\n", - "3799 0.6198\n", + "3795 0.6304\n", + "3796 0.6240\n", + "3797 0.6180\n", + "3798 0.5934\n", + "3799 0.5876\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_038.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_038.parquet'\n", - "Saving model to output_dir/model_data_038.parquet\n", - "Saving agent to output_dir/agent_data_038.parquet\n", + "model_file='test_path/model_data_038.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_038.parquet'\n", + "Saving model to test_path/model_data_038.parquet\n", + "Saving agent to test_path/agent_data_038.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.5876\n", + "Condition not met at step 3800. No data to save.\n", "3800\n", + "model_vars.get('Gini', 0)[-1]=0.619\n", + "Condition not met at step 3801. No data to save.\n", "3801\n", + "model_vars.get('Gini', 0)[-1]=0.6318\n", + "Condition not met at step 3802. No data to save.\n", "3802\n", + "model_vars.get('Gini', 0)[-1]=0.6033999999999999\n", + "Condition not met at step 3803. No data to save.\n", "3803\n", + "model_vars.get('Gini', 0)[-1]=0.6322\n", + "Condition not met at step 3804. No data to save.\n", "3804\n", + "model_vars.get('Gini', 0)[-1]=0.6234\n", + "Condition not met at step 3805. No data to save.\n", "3805\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 3806. No data to save.\n", "3806\n", + "model_vars.get('Gini', 0)[-1]=0.6388\n", + "Condition not met at step 3807. No data to save.\n", "3807\n", + "model_vars.get('Gini', 0)[-1]=0.661\n", + "Condition not met at step 3808. No data to save.\n", "3808\n", + "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", + "Condition not met at step 3809. No data to save.\n", "3809\n", + "model_vars.get('Gini', 0)[-1]=0.6314\n", + "Condition not met at step 3810. No data to save.\n", "3810\n", + "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", + "Condition not met at step 3811. No data to save.\n", "3811\n", + "model_vars.get('Gini', 0)[-1]=0.6672\n", + "Condition not met at step 3812. No data to save.\n", "3812\n", + "model_vars.get('Gini', 0)[-1]=0.6402\n", + "Condition not met at step 3813. No data to save.\n", "3813\n", + "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", + "Condition not met at step 3814. No data to save.\n", "3814\n", + "model_vars.get('Gini', 0)[-1]=0.597\n", + "Condition not met at step 3815. No data to save.\n", "3815\n", + "model_vars.get('Gini', 0)[-1]=0.606\n", + "Condition not met at step 3816. No data to save.\n", "3816\n", + "model_vars.get('Gini', 0)[-1]=0.6452\n", + "Condition not met at step 3817. No data to save.\n", "3817\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 3818. No data to save.\n", "3818\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 3819. No data to save.\n", "3819\n", + "model_vars.get('Gini', 0)[-1]=0.6574\n", + "Condition not met at step 3820. No data to save.\n", "3820\n", + "model_vars.get('Gini', 0)[-1]=0.6622\n", + "Condition not met at step 3821. No data to save.\n", "3821\n", + "model_vars.get('Gini', 0)[-1]=0.6784\n", + "Condition not met at step 3822. No data to save.\n", "3822\n", + "model_vars.get('Gini', 0)[-1]=0.6866\n", + "Condition not met at step 3823. No data to save.\n", "3823\n", + "model_vars.get('Gini', 0)[-1]=0.6936\n", + "Condition not met at step 3824. No data to save.\n", "3824\n", + "model_vars.get('Gini', 0)[-1]=0.6858\n", + "Condition not met at step 3825. No data to save.\n", "3825\n", + "model_vars.get('Gini', 0)[-1]=0.6596\n", + "Condition not met at step 3826. No data to save.\n", "3826\n", + "model_vars.get('Gini', 0)[-1]=0.7028000000000001\n", + "Condition met. Appended special results for step 3827 to test_path/special_results.parquet\n", "3827\n", + "model_vars.get('Gini', 0)[-1]=0.6834\n", + "Condition not met at step 3828. No data to save.\n", "3828\n", + "model_vars.get('Gini', 0)[-1]=0.6932\n", + "Condition not met at step 3829. No data to save.\n", "3829\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 3830. No data to save.\n", "3830\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 3831. No data to save.\n", "3831\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 3832. No data to save.\n", "3832\n", + "model_vars.get('Gini', 0)[-1]=0.626\n", + "Condition not met at step 3833. No data to save.\n", "3833\n", + "model_vars.get('Gini', 0)[-1]=0.6258\n", + "Condition not met at step 3834. No data to save.\n", "3834\n", + "model_vars.get('Gini', 0)[-1]=0.6258\n", + "Condition not met at step 3835. No data to save.\n", "3835\n", + "model_vars.get('Gini', 0)[-1]=0.627\n", + "Condition not met at step 3836. No data to save.\n", "3836\n", + "model_vars.get('Gini', 0)[-1]=0.591\n", + "Condition not met at step 3837. No data to save.\n", "3837\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 3838. No data to save.\n", "3838\n", + "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", + "Condition not met at step 3839. No data to save.\n", "3839\n", + "model_vars.get('Gini', 0)[-1]=0.621\n", + "Condition not met at step 3840. No data to save.\n", "3840\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 3841. No data to save.\n", "3841\n", + "model_vars.get('Gini', 0)[-1]=0.683\n", + "Condition not met at step 3842. No data to save.\n", "3842\n", + "model_vars.get('Gini', 0)[-1]=0.6608\n", + "Condition not met at step 3843. No data to save.\n", "3843\n", + "model_vars.get('Gini', 0)[-1]=0.6396\n", + "Condition not met at step 3844. No data to save.\n", "3844\n", + "model_vars.get('Gini', 0)[-1]=0.6392\n", + "Condition not met at step 3845. No data to save.\n", "3845\n", + "model_vars.get('Gini', 0)[-1]=0.629\n", + "Condition not met at step 3846. No data to save.\n", "3846\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 3847. No data to save.\n", "3847\n", + "model_vars.get('Gini', 0)[-1]=0.6596\n", + "Condition not met at step 3848. No data to save.\n", "3848\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 3849. No data to save.\n", "3849\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 3850. No data to save.\n", "3850\n", + "model_vars.get('Gini', 0)[-1]=0.6776\n", + "Condition not met at step 3851. No data to save.\n", "3851\n", + "model_vars.get('Gini', 0)[-1]=0.6774\n", + "Condition not met at step 3852. No data to save.\n", "3852\n", + "model_vars.get('Gini', 0)[-1]=0.7074\n", + "Condition met. Appended special results for step 3853 to test_path/special_results.parquet\n", "3853\n", + "model_vars.get('Gini', 0)[-1]=0.6958\n", + "Condition not met at step 3854. No data to save.\n", "3854\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 3855. No data to save.\n", "3855\n", + "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", + "Condition not met at step 3856. No data to save.\n", "3856\n", + "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", + "Condition not met at step 3857. No data to save.\n", "3857\n", + "model_vars.get('Gini', 0)[-1]=0.6776\n", + "Condition not met at step 3858. No data to save.\n", "3858\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 3859. No data to save.\n", "3859\n", + "model_vars.get('Gini', 0)[-1]=0.6714\n", + "Condition not met at step 3860. No data to save.\n", "3860\n", + "model_vars.get('Gini', 0)[-1]=0.6398\n", + "Condition not met at step 3861. No data to save.\n", "3861\n", + "model_vars.get('Gini', 0)[-1]=0.653\n", + "Condition not met at step 3862. No data to save.\n", "3862\n", + "model_vars.get('Gini', 0)[-1]=0.651\n", + "Condition not met at step 3863. No data to save.\n", "3863\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 3864. No data to save.\n", "3864\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 3865. No data to save.\n", "3865\n", + "model_vars.get('Gini', 0)[-1]=0.6926\n", + "Condition not met at step 3866. No data to save.\n", "3866\n", + "model_vars.get('Gini', 0)[-1]=0.6972\n", + "Condition not met at step 3867. No data to save.\n", "3867\n", + "model_vars.get('Gini', 0)[-1]=0.694\n", + "Condition not met at step 3868. No data to save.\n", "3868\n", + "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", + "Condition not met at step 3869. No data to save.\n", "3869\n", + "model_vars.get('Gini', 0)[-1]=0.6884\n", + "Condition not met at step 3870. No data to save.\n", "3870\n", + "model_vars.get('Gini', 0)[-1]=0.6866\n", + "Condition not met at step 3871. No data to save.\n", "3871\n", + "model_vars.get('Gini', 0)[-1]=0.6692\n", + "Condition not met at step 3872. No data to save.\n", "3872\n", + "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", + "Condition not met at step 3873. No data to save.\n", "3873\n", + "model_vars.get('Gini', 0)[-1]=0.6576\n", + "Condition not met at step 3874. No data to save.\n", "3874\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 3875. No data to save.\n", "3875\n", + "model_vars.get('Gini', 0)[-1]=0.6492\n", + "Condition not met at step 3876. No data to save.\n", "3876\n", + "model_vars.get('Gini', 0)[-1]=0.6388\n", + "Condition not met at step 3877. No data to save.\n", "3877\n", + "model_vars.get('Gini', 0)[-1]=0.6564\n", + "Condition not met at step 3878. No data to save.\n", "3878\n", + "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", + "Condition not met at step 3879. No data to save.\n", "3879\n", + "model_vars.get('Gini', 0)[-1]=0.6402\n", + "Condition not met at step 3880. No data to save.\n", "3880\n", + "model_vars.get('Gini', 0)[-1]=0.6502\n", + "Condition not met at step 3881. No data to save.\n", "3881\n", + "model_vars.get('Gini', 0)[-1]=0.6436\n", + "Condition not met at step 3882. No data to save.\n", "3882\n", + "model_vars.get('Gini', 0)[-1]=0.6328\n", + "Condition not met at step 3883. No data to save.\n", "3883\n", + "model_vars.get('Gini', 0)[-1]=0.6302\n", + "Condition not met at step 3884. No data to save.\n", "3884\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 3885. No data to save.\n", "3885\n", + "model_vars.get('Gini', 0)[-1]=0.6782\n", + "Condition not met at step 3886. No data to save.\n", "3886\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 3887. No data to save.\n", "3887\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 3888. No data to save.\n", "3888\n", + "model_vars.get('Gini', 0)[-1]=0.6792\n", + "Condition not met at step 3889. No data to save.\n", "3889\n", + "model_vars.get('Gini', 0)[-1]=0.6804\n", + "Condition not met at step 3890. No data to save.\n", "3890\n", + "model_vars.get('Gini', 0)[-1]=0.6856\n", + "Condition not met at step 3891. No data to save.\n", "3891\n", + "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", + "Condition not met at step 3892. No data to save.\n", "3892\n", + "model_vars.get('Gini', 0)[-1]=0.6742\n", + "Condition not met at step 3893. No data to save.\n", "3893\n", + "model_vars.get('Gini', 0)[-1]=0.635\n", + "Condition not met at step 3894. No data to save.\n", "3894\n", + "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", + "Condition not met at step 3895. No data to save.\n", "3895\n", + "model_vars.get('Gini', 0)[-1]=0.66\n", + "Condition not met at step 3896. No data to save.\n", "3896\n", + "model_vars.get('Gini', 0)[-1]=0.649\n", + "Condition not met at step 3897. No data to save.\n", "3897\n", + "model_vars.get('Gini', 0)[-1]=0.6235999999999999\n", + "Condition not met at step 3898. No data to save.\n", "3898\n", + "model_vars.get('Gini', 0)[-1]=0.6242000000000001\n", + "Condition not met at step 3899. No data to save.\n", "3899\n", "CALLED\n", "self.model._steps=3900\n", " TEST self.model._steps=3900\n", " TEST self._cache_interval=100\n", " Gini\n", - "3800 0.6248\n", - "3801 0.6336\n", - "3802 0.6418\n", - "3803 0.6578\n", - "3804 0.6586\n", + "3800 0.6190\n", + "3801 0.6318\n", + "3802 0.6034\n", + "3803 0.6322\n", + "3804 0.6234\n", "... ...\n", - "3895 0.6710\n", - "3896 0.6606\n", - "3897 0.6676\n", - "3898 0.6784\n", - "3899 0.6920\n", + "3895 0.6600\n", + "3896 0.6490\n", + "3897 0.6236\n", + "3898 0.6242\n", + "3899 0.6214\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_039.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_039.parquet'\n", - "Saving model to output_dir/model_data_039.parquet\n", - "Saving agent to output_dir/agent_data_039.parquet\n", + "model_file='test_path/model_data_039.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_039.parquet'\n", + "Saving model to test_path/model_data_039.parquet\n", + "Saving agent to test_path/agent_data_039.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6214\n", + "Condition not met at step 3900. No data to save.\n", "3900\n", + "model_vars.get('Gini', 0)[-1]=0.5982000000000001\n", + "Condition not met at step 3901. No data to save.\n", "3901\n", + "model_vars.get('Gini', 0)[-1]=0.579\n", + "Condition not met at step 3902. No data to save.\n", "3902\n", + "model_vars.get('Gini', 0)[-1]=0.5786\n", + "Condition not met at step 3903. No data to save.\n", "3903\n", + "model_vars.get('Gini', 0)[-1]=0.5740000000000001\n", + "Condition not met at step 3904. No data to save.\n", "3904\n", + "model_vars.get('Gini', 0)[-1]=0.5940000000000001\n", + "Condition not met at step 3905. No data to save.\n", "3905\n", + "model_vars.get('Gini', 0)[-1]=0.6138\n", + "Condition not met at step 3906. No data to save.\n", "3906\n", + "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", + "Condition not met at step 3907. No data to save.\n", "3907\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 3908. No data to save.\n", "3908\n", + "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", + "Condition not met at step 3909. No data to save.\n", "3909\n", + "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", + "Condition not met at step 3910. No data to save.\n", "3910\n", + "model_vars.get('Gini', 0)[-1]=0.6248\n", + "Condition not met at step 3911. No data to save.\n", "3911\n", + "model_vars.get('Gini', 0)[-1]=0.6052\n", + "Condition not met at step 3912. No data to save.\n", "3912\n", + "model_vars.get('Gini', 0)[-1]=0.6208\n", + "Condition not met at step 3913. No data to save.\n", "3913\n", + "model_vars.get('Gini', 0)[-1]=0.6186\n", + "Condition not met at step 3914. No data to save.\n", "3914\n", + "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", + "Condition not met at step 3915. No data to save.\n", "3915\n", + "model_vars.get('Gini', 0)[-1]=0.6096\n", + "Condition not met at step 3916. No data to save.\n", "3916\n", + "model_vars.get('Gini', 0)[-1]=0.6234\n", + "Condition not met at step 3917. No data to save.\n", "3917\n", + "model_vars.get('Gini', 0)[-1]=0.628\n", + "Condition not met at step 3918. No data to save.\n", "3918\n", + "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", + "Condition not met at step 3919. No data to save.\n", "3919\n", + "model_vars.get('Gini', 0)[-1]=0.5806\n", + "Condition not met at step 3920. No data to save.\n", "3920\n", + "model_vars.get('Gini', 0)[-1]=0.635\n", + "Condition not met at step 3921. No data to save.\n", "3921\n", + "model_vars.get('Gini', 0)[-1]=0.6398\n", + "Condition not met at step 3922. No data to save.\n", "3922\n", + "model_vars.get('Gini', 0)[-1]=0.6134\n", + "Condition not met at step 3923. No data to save.\n", "3923\n", + "model_vars.get('Gini', 0)[-1]=0.6166\n", + "Condition not met at step 3924. No data to save.\n", "3924\n", + "model_vars.get('Gini', 0)[-1]=0.6136\n", + "Condition not met at step 3925. No data to save.\n", "3925\n", + "model_vars.get('Gini', 0)[-1]=0.6306\n", + "Condition not met at step 3926. No data to save.\n", "3926\n", + "model_vars.get('Gini', 0)[-1]=0.6212\n", + "Condition not met at step 3927. No data to save.\n", "3927\n", + "model_vars.get('Gini', 0)[-1]=0.6192\n", + "Condition not met at step 3928. No data to save.\n", "3928\n", + "model_vars.get('Gini', 0)[-1]=0.6248\n", + "Condition not met at step 3929. No data to save.\n", "3929\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 3930. No data to save.\n", "3930\n", + "model_vars.get('Gini', 0)[-1]=0.6368\n", + "Condition not met at step 3931. No data to save.\n", "3931\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 3932. No data to save.\n", "3932\n", + "model_vars.get('Gini', 0)[-1]=0.641\n", + "Condition not met at step 3933. No data to save.\n", "3933\n", + "model_vars.get('Gini', 0)[-1]=0.621\n", + "Condition not met at step 3934. No data to save.\n", "3934\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 3935. No data to save.\n", "3935\n", + "model_vars.get('Gini', 0)[-1]=0.6564\n", + "Condition not met at step 3936. No data to save.\n", "3936\n", + "model_vars.get('Gini', 0)[-1]=0.6834\n", + "Condition not met at step 3937. No data to save.\n", "3937\n", + "model_vars.get('Gini', 0)[-1]=0.7048\n", + "Condition met. Appended special results for step 3938 to test_path/special_results.parquet\n", "3938\n", + "model_vars.get('Gini', 0)[-1]=0.6878\n", + "Condition not met at step 3939. No data to save.\n", "3939\n", + "model_vars.get('Gini', 0)[-1]=0.7058\n", + "Condition met. Appended special results for step 3940 to test_path/special_results.parquet\n", "3940\n", + "model_vars.get('Gini', 0)[-1]=0.6992\n", + "Condition not met at step 3941. No data to save.\n", "3941\n", + "model_vars.get('Gini', 0)[-1]=0.7038\n", + "Condition met. Appended special results for step 3942 to test_path/special_results.parquet\n", "3942\n", + "model_vars.get('Gini', 0)[-1]=0.6622\n", + "Condition not met at step 3943. No data to save.\n", "3943\n", + "model_vars.get('Gini', 0)[-1]=0.6956\n", + "Condition not met at step 3944. No data to save.\n", "3944\n", + "model_vars.get('Gini', 0)[-1]=0.7098\n", + "Condition met. Appended special results for step 3945 to test_path/special_results.parquet\n", "3945\n", + "model_vars.get('Gini', 0)[-1]=0.7048\n", + "Condition met. Appended special results for step 3946 to test_path/special_results.parquet\n", "3946\n", + "model_vars.get('Gini', 0)[-1]=0.6678\n", + "Condition not met at step 3947. No data to save.\n", "3947\n", + "model_vars.get('Gini', 0)[-1]=0.6806\n", + "Condition not met at step 3948. No data to save.\n", "3948\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 3949. No data to save.\n", "3949\n", + "model_vars.get('Gini', 0)[-1]=0.6608\n", + "Condition not met at step 3950. No data to save.\n", "3950\n", + "model_vars.get('Gini', 0)[-1]=0.64\n", + "Condition not met at step 3951. No data to save.\n", "3951\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 3952. No data to save.\n", "3952\n", + "model_vars.get('Gini', 0)[-1]=0.663\n", + "Condition not met at step 3953. No data to save.\n", "3953\n", + "model_vars.get('Gini', 0)[-1]=0.6774\n", + "Condition not met at step 3954. No data to save.\n", "3954\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 3955. No data to save.\n", "3955\n", + "model_vars.get('Gini', 0)[-1]=0.6574\n", + "Condition not met at step 3956. No data to save.\n", "3956\n", + "model_vars.get('Gini', 0)[-1]=0.6534\n", + "Condition not met at step 3957. No data to save.\n", "3957\n", + "model_vars.get('Gini', 0)[-1]=0.6674\n", + "Condition not met at step 3958. No data to save.\n", "3958\n", + "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", + "Condition not met at step 3959. No data to save.\n", "3959\n", + "model_vars.get('Gini', 0)[-1]=0.6674\n", + "Condition not met at step 3960. No data to save.\n", "3960\n", + "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", + "Condition not met at step 3961. No data to save.\n", "3961\n", + "model_vars.get('Gini', 0)[-1]=0.6852\n", + "Condition not met at step 3962. No data to save.\n", "3962\n", + "model_vars.get('Gini', 0)[-1]=0.7034\n", + "Condition met. Appended special results for step 3963 to test_path/special_results.parquet\n", "3963\n", + "model_vars.get('Gini', 0)[-1]=0.6884\n", + "Condition not met at step 3964. No data to save.\n", "3964\n", + "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", + "Condition not met at step 3965. No data to save.\n", "3965\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 3966. No data to save.\n", "3966\n", + "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", + "Condition not met at step 3967. No data to save.\n", "3967\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 3968. No data to save.\n", "3968\n", + "model_vars.get('Gini', 0)[-1]=0.6654\n", + "Condition not met at step 3969. No data to save.\n", "3969\n", + "model_vars.get('Gini', 0)[-1]=0.6572\n", + "Condition not met at step 3970. No data to save.\n", "3970\n", + "model_vars.get('Gini', 0)[-1]=0.6576\n", + "Condition not met at step 3971. No data to save.\n", "3971\n", + "model_vars.get('Gini', 0)[-1]=0.6892\n", + "Condition not met at step 3972. No data to save.\n", "3972\n", + "model_vars.get('Gini', 0)[-1]=0.6946\n", + "Condition not met at step 3973. No data to save.\n", "3973\n", + "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", + "Condition not met at step 3974. No data to save.\n", "3974\n", + "model_vars.get('Gini', 0)[-1]=0.7041999999999999\n", + "Condition met. Appended special results for step 3975 to test_path/special_results.parquet\n", "3975\n", + "model_vars.get('Gini', 0)[-1]=0.6804\n", + "Condition not met at step 3976. No data to save.\n", "3976\n", + "model_vars.get('Gini', 0)[-1]=0.6824\n", + "Condition not met at step 3977. No data to save.\n", "3977\n", + "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", + "Condition not met at step 3978. No data to save.\n", "3978\n", + "model_vars.get('Gini', 0)[-1]=0.6474\n", + "Condition not met at step 3979. No data to save.\n", "3979\n", + "model_vars.get('Gini', 0)[-1]=0.6502\n", + "Condition not met at step 3980. No data to save.\n", "3980\n", + "model_vars.get('Gini', 0)[-1]=0.64\n", + "Condition not met at step 3981. No data to save.\n", "3981\n", + "model_vars.get('Gini', 0)[-1]=0.6234\n", + "Condition not met at step 3982. No data to save.\n", "3982\n", + "model_vars.get('Gini', 0)[-1]=0.6046\n", + "Condition not met at step 3983. No data to save.\n", "3983\n", + "model_vars.get('Gini', 0)[-1]=0.6036\n", + "Condition not met at step 3984. No data to save.\n", "3984\n", + "model_vars.get('Gini', 0)[-1]=0.6052\n", + "Condition not met at step 3985. No data to save.\n", "3985\n", + "model_vars.get('Gini', 0)[-1]=0.6004\n", + "Condition not met at step 3986. No data to save.\n", "3986\n", + "model_vars.get('Gini', 0)[-1]=0.6073999999999999\n", + "Condition not met at step 3987. No data to save.\n", "3987\n", + "model_vars.get('Gini', 0)[-1]=0.6138\n", + "Condition not met at step 3988. No data to save.\n", "3988\n", + "model_vars.get('Gini', 0)[-1]=0.6502\n", + "Condition not met at step 3989. No data to save.\n", "3989\n", + "model_vars.get('Gini', 0)[-1]=0.6554\n", + "Condition not met at step 3990. No data to save.\n", "3990\n", + "model_vars.get('Gini', 0)[-1]=0.6778\n", + "Condition not met at step 3991. No data to save.\n", "3991\n", + "model_vars.get('Gini', 0)[-1]=0.69\n", + "Condition not met at step 3992. No data to save.\n", "3992\n", + "model_vars.get('Gini', 0)[-1]=0.679\n", + "Condition not met at step 3993. No data to save.\n", "3993\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 3994. No data to save.\n", "3994\n", + "model_vars.get('Gini', 0)[-1]=0.6594\n", + "Condition not met at step 3995. No data to save.\n", "3995\n", + "model_vars.get('Gini', 0)[-1]=0.6608\n", + "Condition not met at step 3996. No data to save.\n", "3996\n", + "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", + "Condition not met at step 3997. No data to save.\n", "3997\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 3998. No data to save.\n", "3998\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 3999. No data to save.\n", "3999\n", "CALLED\n", "self.model._steps=4000\n", " TEST self.model._steps=4000\n", " TEST self._cache_interval=100\n", " Gini\n", - "3900 0.6756\n", - "3901 0.6754\n", - "3902 0.6668\n", - "3903 0.6708\n", - "3904 0.6940\n", + "3900 0.5982\n", + "3901 0.5790\n", + "3902 0.5786\n", + "3903 0.5740\n", + "3904 0.5940\n", "... ...\n", - "3995 0.6720\n", - "3996 0.6460\n", - "3997 0.6556\n", - "3998 0.6400\n", - "3999 0.6360\n", + "3995 0.6608\n", + "3996 0.6700\n", + "3997 0.6604\n", + "3998 0.6602\n", + "3999 0.6558\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_040.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_040.parquet'\n", - "Saving model to output_dir/model_data_040.parquet\n", - "Saving agent to output_dir/agent_data_040.parquet\n", + "model_file='test_path/model_data_040.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_040.parquet'\n", + "Saving model to test_path/model_data_040.parquet\n", + "Saving agent to test_path/agent_data_040.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", + "Condition not met at step 4000. No data to save.\n", "4000\n", + "model_vars.get('Gini', 0)[-1]=0.6534\n", + "Condition not met at step 4001. No data to save.\n", "4001\n", + "model_vars.get('Gini', 0)[-1]=0.618\n", + "Condition not met at step 4002. No data to save.\n", "4002\n", + "model_vars.get('Gini', 0)[-1]=0.62\n", + "Condition not met at step 4003. No data to save.\n", "4003\n", + "model_vars.get('Gini', 0)[-1]=0.615\n", + "Condition not met at step 4004. No data to save.\n", "4004\n", + "model_vars.get('Gini', 0)[-1]=0.6076\n", + "Condition not met at step 4005. No data to save.\n", "4005\n", + "model_vars.get('Gini', 0)[-1]=0.6186\n", + "Condition not met at step 4006. No data to save.\n", "4006\n", + "model_vars.get('Gini', 0)[-1]=0.6106\n", + "Condition not met at step 4007. No data to save.\n", "4007\n", + "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", + "Condition not met at step 4008. No data to save.\n", "4008\n", + "model_vars.get('Gini', 0)[-1]=0.6102000000000001\n", + "Condition not met at step 4009. No data to save.\n", "4009\n", + "model_vars.get('Gini', 0)[-1]=0.6136\n", + "Condition not met at step 4010. No data to save.\n", "4010\n", + "model_vars.get('Gini', 0)[-1]=0.636\n", + "Condition not met at step 4011. No data to save.\n", "4011\n", + "model_vars.get('Gini', 0)[-1]=0.6462\n", + "Condition not met at step 4012. No data to save.\n", "4012\n", + "model_vars.get('Gini', 0)[-1]=0.6698\n", + "Condition not met at step 4013. No data to save.\n", "4013\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 4014. No data to save.\n", "4014\n", + "model_vars.get('Gini', 0)[-1]=0.6594\n", + "Condition not met at step 4015. No data to save.\n", "4015\n", + "model_vars.get('Gini', 0)[-1]=0.648\n", + "Condition not met at step 4016. No data to save.\n", "4016\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 4017. No data to save.\n", "4017\n", + "model_vars.get('Gini', 0)[-1]=0.6528\n", + "Condition not met at step 4018. No data to save.\n", "4018\n", + "model_vars.get('Gini', 0)[-1]=0.6592\n", + "Condition not met at step 4019. No data to save.\n", "4019\n", + "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", + "Condition not met at step 4020. No data to save.\n", "4020\n", + "model_vars.get('Gini', 0)[-1]=0.6382\n", + "Condition not met at step 4021. No data to save.\n", "4021\n", + "model_vars.get('Gini', 0)[-1]=0.6652\n", + "Condition not met at step 4022. No data to save.\n", "4022\n", + "model_vars.get('Gini', 0)[-1]=0.629\n", + "Condition not met at step 4023. No data to save.\n", "4023\n", + "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", + "Condition not met at step 4024. No data to save.\n", "4024\n", + "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", + "Condition not met at step 4025. No data to save.\n", "4025\n", + "model_vars.get('Gini', 0)[-1]=0.6442\n", + "Condition not met at step 4026. No data to save.\n", "4026\n", + "model_vars.get('Gini', 0)[-1]=0.657\n", + "Condition not met at step 4027. No data to save.\n", "4027\n", + "model_vars.get('Gini', 0)[-1]=0.6592\n", + "Condition not met at step 4028. No data to save.\n", "4028\n", + "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", + "Condition not met at step 4029. No data to save.\n", "4029\n", + "model_vars.get('Gini', 0)[-1]=0.6372\n", + "Condition not met at step 4030. No data to save.\n", "4030\n", + "model_vars.get('Gini', 0)[-1]=0.6476\n", + "Condition not met at step 4031. No data to save.\n", "4031\n", + "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", + "Condition not met at step 4032. No data to save.\n", "4032\n", + "model_vars.get('Gini', 0)[-1]=0.6328\n", + "Condition not met at step 4033. No data to save.\n", "4033\n", + "model_vars.get('Gini', 0)[-1]=0.6234\n", + "Condition not met at step 4034. No data to save.\n", "4034\n", + "model_vars.get('Gini', 0)[-1]=0.641\n", + "Condition not met at step 4035. No data to save.\n", "4035\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 4036. No data to save.\n", "4036\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 4037. No data to save.\n", "4037\n", + "model_vars.get('Gini', 0)[-1]=0.6208\n", + "Condition not met at step 4038. No data to save.\n", "4038\n", + "model_vars.get('Gini', 0)[-1]=0.65\n", + "Condition not met at step 4039. No data to save.\n", "4039\n", + "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", + "Condition not met at step 4040. No data to save.\n", "4040\n", + "model_vars.get('Gini', 0)[-1]=0.6554\n", + "Condition not met at step 4041. No data to save.\n", "4041\n", + "model_vars.get('Gini', 0)[-1]=0.683\n", + "Condition not met at step 4042. No data to save.\n", "4042\n", + "model_vars.get('Gini', 0)[-1]=0.6724\n", + "Condition not met at step 4043. No data to save.\n", "4043\n", + "model_vars.get('Gini', 0)[-1]=0.6592\n", + "Condition not met at step 4044. No data to save.\n", "4044\n", + "model_vars.get('Gini', 0)[-1]=0.631\n", + "Condition not met at step 4045. No data to save.\n", "4045\n", + "model_vars.get('Gini', 0)[-1]=0.6186\n", + "Condition not met at step 4046. No data to save.\n", "4046\n", + "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", + "Condition not met at step 4047. No data to save.\n", "4047\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 4048. No data to save.\n", "4048\n", + "model_vars.get('Gini', 0)[-1]=0.663\n", + "Condition not met at step 4049. No data to save.\n", "4049\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 4050. No data to save.\n", "4050\n", + "model_vars.get('Gini', 0)[-1]=0.6990000000000001\n", + "Condition not met at step 4051. No data to save.\n", "4051\n", + "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", + "Condition not met at step 4052. No data to save.\n", "4052\n", + "model_vars.get('Gini', 0)[-1]=0.6722\n", + "Condition not met at step 4053. No data to save.\n", "4053\n", + "model_vars.get('Gini', 0)[-1]=0.659\n", + "Condition not met at step 4054. No data to save.\n", "4054\n", + "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", + "Condition not met at step 4055. No data to save.\n", "4055\n", + "model_vars.get('Gini', 0)[-1]=0.654\n", + "Condition not met at step 4056. No data to save.\n", "4056\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 4057. No data to save.\n", "4057\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 4058. No data to save.\n", "4058\n", + "model_vars.get('Gini', 0)[-1]=0.6826\n", + "Condition not met at step 4059. No data to save.\n", "4059\n", + "model_vars.get('Gini', 0)[-1]=0.6596\n", + "Condition not met at step 4060. No data to save.\n", "4060\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 4061. No data to save.\n", "4061\n", + "model_vars.get('Gini', 0)[-1]=0.6408\n", + "Condition not met at step 4062. No data to save.\n", "4062\n", + "model_vars.get('Gini', 0)[-1]=0.6692\n", + "Condition not met at step 4063. No data to save.\n", "4063\n", + "model_vars.get('Gini', 0)[-1]=0.677\n", + "Condition not met at step 4064. No data to save.\n", "4064\n", + "model_vars.get('Gini', 0)[-1]=0.6826\n", + "Condition not met at step 4065. No data to save.\n", "4065\n", + "model_vars.get('Gini', 0)[-1]=0.6698\n", + "Condition not met at step 4066. No data to save.\n", "4066\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 4067. No data to save.\n", "4067\n", + "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", + "Condition not met at step 4068. No data to save.\n", "4068\n", + "model_vars.get('Gini', 0)[-1]=0.6724\n", + "Condition not met at step 4069. No data to save.\n", "4069\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 4070. No data to save.\n", "4070\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 4071. No data to save.\n", "4071\n", + "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", + "Condition not met at step 4072. No data to save.\n", "4072\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 4073. No data to save.\n", "4073\n", + "model_vars.get('Gini', 0)[-1]=0.6878\n", + "Condition not met at step 4074. No data to save.\n", "4074\n", + "model_vars.get('Gini', 0)[-1]=0.6874\n", + "Condition not met at step 4075. No data to save.\n", "4075\n", + "model_vars.get('Gini', 0)[-1]=0.6952\n", + "Condition not met at step 4076. No data to save.\n", "4076\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 4077. No data to save.\n", "4077\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 4078. No data to save.\n", "4078\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 4079. No data to save.\n", "4079\n", + "model_vars.get('Gini', 0)[-1]=0.6798\n", + "Condition not met at step 4080. No data to save.\n", "4080\n", + "model_vars.get('Gini', 0)[-1]=0.665\n", + "Condition not met at step 4081. No data to save.\n", "4081\n", + "model_vars.get('Gini', 0)[-1]=0.6872\n", + "Condition not met at step 4082. No data to save.\n", "4082\n", + "model_vars.get('Gini', 0)[-1]=0.6556\n", + "Condition not met at step 4083. No data to save.\n", "4083\n", + "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", + "Condition not met at step 4084. No data to save.\n", "4084\n", + "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", + "Condition not met at step 4085. No data to save.\n", "4085\n", + "model_vars.get('Gini', 0)[-1]=0.638\n", + "Condition not met at step 4086. No data to save.\n", "4086\n", + "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", + "Condition not met at step 4087. No data to save.\n", "4087\n", + "model_vars.get('Gini', 0)[-1]=0.6608\n", + "Condition not met at step 4088. No data to save.\n", "4088\n", + "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", + "Condition not met at step 4089. No data to save.\n", "4089\n", + "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", + "Condition not met at step 4090. No data to save.\n", "4090\n", + "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", + "Condition not met at step 4091. No data to save.\n", "4091\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 4092. No data to save.\n", "4092\n", + "model_vars.get('Gini', 0)[-1]=0.6414\n", + "Condition not met at step 4093. No data to save.\n", "4093\n", + "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", + "Condition not met at step 4094. No data to save.\n", "4094\n", + "model_vars.get('Gini', 0)[-1]=0.6534\n", + "Condition not met at step 4095. No data to save.\n", "4095\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 4096. No data to save.\n", "4096\n", + "model_vars.get('Gini', 0)[-1]=0.6422\n", + "Condition not met at step 4097. No data to save.\n", "4097\n", + "model_vars.get('Gini', 0)[-1]=0.6564\n", + "Condition not met at step 4098. No data to save.\n", "4098\n", + "model_vars.get('Gini', 0)[-1]=0.6382\n", + "Condition not met at step 4099. No data to save.\n", "4099\n", "CALLED\n", "self.model._steps=4100\n", " TEST self.model._steps=4100\n", " TEST self._cache_interval=100\n", " Gini\n", - "4000 0.5930\n", - "4001 0.5802\n", - "4002 0.5750\n", - "4003 0.6004\n", - "4004 0.5798\n", + "4000 0.6534\n", + "4001 0.6180\n", + "4002 0.6200\n", + "4003 0.6150\n", + "4004 0.6076\n", "... ...\n", - "4095 0.6906\n", - "4096 0.6782\n", - "4097 0.6606\n", - "4098 0.6482\n", - "4099 0.6362\n", + "4095 0.6546\n", + "4096 0.6422\n", + "4097 0.6564\n", + "4098 0.6382\n", + "4099 0.6618\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_041.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_041.parquet'\n", - "Saving model to output_dir/model_data_041.parquet\n", - "Saving agent to output_dir/agent_data_041.parquet\n", + "model_file='test_path/model_data_041.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_041.parquet'\n", + "Saving model to test_path/model_data_041.parquet\n", + "Saving agent to test_path/agent_data_041.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", + "Condition not met at step 4100. No data to save.\n", "4100\n", + "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", + "Condition not met at step 4101. No data to save.\n", "4101\n", + "model_vars.get('Gini', 0)[-1]=0.669\n", + "Condition not met at step 4102. No data to save.\n", "4102\n", + "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", + "Condition not met at step 4103. No data to save.\n", "4103\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 4104. No data to save.\n", "4104\n", + "model_vars.get('Gini', 0)[-1]=0.6462\n", + "Condition not met at step 4105. No data to save.\n", "4105\n", + "model_vars.get('Gini', 0)[-1]=0.6462\n", + "Condition not met at step 4106. No data to save.\n", "4106\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 4107. No data to save.\n", "4107\n", + "model_vars.get('Gini', 0)[-1]=0.6502\n", + "Condition not met at step 4108. No data to save.\n", "4108\n", + "model_vars.get('Gini', 0)[-1]=0.6432\n", + "Condition not met at step 4109. No data to save.\n", "4109\n", + "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", + "Condition not met at step 4110. No data to save.\n", "4110\n", + "model_vars.get('Gini', 0)[-1]=0.6178\n", + "Condition not met at step 4111. No data to save.\n", "4111\n", + "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", + "Condition not met at step 4112. No data to save.\n", "4112\n", + "model_vars.get('Gini', 0)[-1]=0.6244000000000001\n", + "Condition not met at step 4113. No data to save.\n", "4113\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 4114. No data to save.\n", "4114\n", + "model_vars.get('Gini', 0)[-1]=0.6122000000000001\n", + "Condition not met at step 4115. No data to save.\n", "4115\n", + "model_vars.get('Gini', 0)[-1]=0.5768\n", + "Condition not met at step 4116. No data to save.\n", "4116\n", + "model_vars.get('Gini', 0)[-1]=0.5876\n", + "Condition not met at step 4117. No data to save.\n", "4117\n", + "model_vars.get('Gini', 0)[-1]=0.6058\n", + "Condition not met at step 4118. No data to save.\n", "4118\n", + "model_vars.get('Gini', 0)[-1]=0.6298\n", + "Condition not met at step 4119. No data to save.\n", "4119\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 4120. No data to save.\n", "4120\n", + "model_vars.get('Gini', 0)[-1]=0.6956\n", + "Condition not met at step 4121. No data to save.\n", "4121\n", + "model_vars.get('Gini', 0)[-1]=0.6812\n", + "Condition not met at step 4122. No data to save.\n", "4122\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 4123. No data to save.\n", "4123\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 4124. No data to save.\n", "4124\n", + "model_vars.get('Gini', 0)[-1]=0.644\n", + "Condition not met at step 4125. No data to save.\n", "4125\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 4126. No data to save.\n", "4126\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 4127. No data to save.\n", "4127\n", + "model_vars.get('Gini', 0)[-1]=0.6188\n", + "Condition not met at step 4128. No data to save.\n", "4128\n", + "model_vars.get('Gini', 0)[-1]=0.6178\n", + "Condition not met at step 4129. No data to save.\n", "4129\n", + "model_vars.get('Gini', 0)[-1]=0.622\n", + "Condition not met at step 4130. No data to save.\n", "4130\n", + "model_vars.get('Gini', 0)[-1]=0.651\n", + "Condition not met at step 4131. No data to save.\n", "4131\n", + "model_vars.get('Gini', 0)[-1]=0.6226\n", + "Condition not met at step 4132. No data to save.\n", "4132\n", + "model_vars.get('Gini', 0)[-1]=0.629\n", + "Condition not met at step 4133. No data to save.\n", "4133\n", + "model_vars.get('Gini', 0)[-1]=0.6136\n", + "Condition not met at step 4134. No data to save.\n", "4134\n", + "model_vars.get('Gini', 0)[-1]=0.6084\n", + "Condition not met at step 4135. No data to save.\n", "4135\n", + "model_vars.get('Gini', 0)[-1]=0.6013999999999999\n", + "Condition not met at step 4136. No data to save.\n", "4136\n", + "model_vars.get('Gini', 0)[-1]=0.6158\n", + "Condition not met at step 4137. No data to save.\n", "4137\n", + "model_vars.get('Gini', 0)[-1]=0.6338\n", + "Condition not met at step 4138. No data to save.\n", "4138\n", + "model_vars.get('Gini', 0)[-1]=0.6052\n", + "Condition not met at step 4139. No data to save.\n", "4139\n", + "model_vars.get('Gini', 0)[-1]=0.5896\n", + "Condition not met at step 4140. No data to save.\n", "4140\n", + "model_vars.get('Gini', 0)[-1]=0.6218\n", + "Condition not met at step 4141. No data to save.\n", "4141\n", + "model_vars.get('Gini', 0)[-1]=0.6286\n", + "Condition not met at step 4142. No data to save.\n", "4142\n", + "model_vars.get('Gini', 0)[-1]=0.615\n", + "Condition not met at step 4143. No data to save.\n", "4143\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 4144. No data to save.\n", "4144\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 4145. No data to save.\n", "4145\n", + "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", + "Condition not met at step 4146. No data to save.\n", "4146\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 4147. No data to save.\n", "4147\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 4148. No data to save.\n", "4148\n", + "model_vars.get('Gini', 0)[-1]=0.6672\n", + "Condition not met at step 4149. No data to save.\n", "4149\n", + "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", + "Condition not met at step 4150. No data to save.\n", "4150\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 4151. No data to save.\n", "4151\n", + "model_vars.get('Gini', 0)[-1]=0.6246\n", + "Condition not met at step 4152. No data to save.\n", "4152\n", + "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", + "Condition not met at step 4153. No data to save.\n", "4153\n", + "model_vars.get('Gini', 0)[-1]=0.6622\n", + "Condition not met at step 4154. No data to save.\n", "4154\n", + "model_vars.get('Gini', 0)[-1]=0.6674\n", + "Condition not met at step 4155. No data to save.\n", "4155\n", + "model_vars.get('Gini', 0)[-1]=0.6612\n", + "Condition not met at step 4156. No data to save.\n", "4156\n", + "model_vars.get('Gini', 0)[-1]=0.6656\n", + "Condition not met at step 4157. No data to save.\n", "4157\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 4158. No data to save.\n", "4158\n", + "model_vars.get('Gini', 0)[-1]=0.6382\n", + "Condition not met at step 4159. No data to save.\n", "4159\n", + "model_vars.get('Gini', 0)[-1]=0.6806\n", + "Condition not met at step 4160. No data to save.\n", "4160\n", + "model_vars.get('Gini', 0)[-1]=0.6682\n", + "Condition not met at step 4161. No data to save.\n", "4161\n", + "model_vars.get('Gini', 0)[-1]=0.662\n", + "Condition not met at step 4162. No data to save.\n", "4162\n", + "model_vars.get('Gini', 0)[-1]=0.6412\n", + "Condition not met at step 4163. No data to save.\n", "4163\n", + "model_vars.get('Gini', 0)[-1]=0.6564\n", + "Condition not met at step 4164. No data to save.\n", "4164\n", + "model_vars.get('Gini', 0)[-1]=0.6676\n", + "Condition not met at step 4165. No data to save.\n", "4165\n", + "model_vars.get('Gini', 0)[-1]=0.6594\n", + "Condition not met at step 4166. No data to save.\n", "4166\n", + "model_vars.get('Gini', 0)[-1]=0.6288\n", + "Condition not met at step 4167. No data to save.\n", "4167\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 4168. No data to save.\n", "4168\n", + "model_vars.get('Gini', 0)[-1]=0.6286\n", + "Condition not met at step 4169. No data to save.\n", "4169\n", + "model_vars.get('Gini', 0)[-1]=0.66\n", + "Condition not met at step 4170. No data to save.\n", "4170\n", + "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", + "Condition not met at step 4171. No data to save.\n", "4171\n", + "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", + "Condition not met at step 4172. No data to save.\n", "4172\n", + "model_vars.get('Gini', 0)[-1]=0.6796\n", + "Condition not met at step 4173. No data to save.\n", "4173\n", + "model_vars.get('Gini', 0)[-1]=0.6822\n", + "Condition not met at step 4174. No data to save.\n", "4174\n", + "model_vars.get('Gini', 0)[-1]=0.6878\n", + "Condition not met at step 4175. No data to save.\n", "4175\n", + "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", + "Condition not met at step 4176. No data to save.\n", "4176\n", + "model_vars.get('Gini', 0)[-1]=0.6622\n", + "Condition not met at step 4177. No data to save.\n", "4177\n", + "model_vars.get('Gini', 0)[-1]=0.6732\n", + "Condition not met at step 4178. No data to save.\n", "4178\n", + "model_vars.get('Gini', 0)[-1]=0.663\n", + "Condition not met at step 4179. No data to save.\n", "4179\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 4180. No data to save.\n", "4180\n", + "model_vars.get('Gini', 0)[-1]=0.6798\n", + "Condition not met at step 4181. No data to save.\n", "4181\n", + "model_vars.get('Gini', 0)[-1]=0.7018\n", + "Condition met. Appended special results for step 4182 to test_path/special_results.parquet\n", "4182\n", + "model_vars.get('Gini', 0)[-1]=0.7068\n", + "Condition met. Appended special results for step 4183 to test_path/special_results.parquet\n", "4183\n", + "model_vars.get('Gini', 0)[-1]=0.7208\n", + "Condition met. Appended special results for step 4184 to test_path/special_results.parquet\n", "4184\n", + "model_vars.get('Gini', 0)[-1]=0.7068\n", + "Condition met. Appended special results for step 4185 to test_path/special_results.parquet\n", "4185\n", + "model_vars.get('Gini', 0)[-1]=0.6924\n", + "Condition not met at step 4186. No data to save.\n", "4186\n", + "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", + "Condition not met at step 4187. No data to save.\n", "4187\n", + "model_vars.get('Gini', 0)[-1]=0.6738\n", + "Condition not met at step 4188. No data to save.\n", "4188\n", + "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", + "Condition not met at step 4189. No data to save.\n", "4189\n", + "model_vars.get('Gini', 0)[-1]=0.6854\n", + "Condition not met at step 4190. No data to save.\n", "4190\n", + "model_vars.get('Gini', 0)[-1]=0.6956\n", + "Condition not met at step 4191. No data to save.\n", "4191\n", + "model_vars.get('Gini', 0)[-1]=0.6696\n", + "Condition not met at step 4192. No data to save.\n", "4192\n", + "model_vars.get('Gini', 0)[-1]=0.6778\n", + "Condition not met at step 4193. No data to save.\n", "4193\n", + "model_vars.get('Gini', 0)[-1]=0.7032\n", + "Condition met. Appended special results for step 4194 to test_path/special_results.parquet\n", "4194\n", + "model_vars.get('Gini', 0)[-1]=0.6994\n", + "Condition not met at step 4195. No data to save.\n", "4195\n", + "model_vars.get('Gini', 0)[-1]=0.7121999999999999\n", + "Condition met. Appended special results for step 4196 to test_path/special_results.parquet\n", "4196\n", + "model_vars.get('Gini', 0)[-1]=0.7070000000000001\n", + "Condition met. Appended special results for step 4197 to test_path/special_results.parquet\n", "4197\n", + "model_vars.get('Gini', 0)[-1]=0.729\n", + "Condition met. Appended special results for step 4198 to test_path/special_results.parquet\n", "4198\n", + "model_vars.get('Gini', 0)[-1]=0.7230000000000001\n", + "Condition met. Appended special results for step 4199 to test_path/special_results.parquet\n", "4199\n", "CALLED\n", "self.model._steps=4200\n", " TEST self.model._steps=4200\n", " TEST self._cache_interval=100\n", " Gini\n", - "4100 0.6638\n", - "4101 0.6520\n", - "4102 0.6346\n", - "4103 0.6352\n", - "4104 0.6618\n", + "4100 0.6626\n", + "4101 0.6690\n", + "4102 0.6628\n", + "4103 0.6602\n", + "4104 0.6462\n", "... ...\n", - "4195 0.6758\n", - "4196 0.7008\n", - "4197 0.6850\n", - "4198 0.6952\n", - "4199 0.6928\n", + "4195 0.7122\n", + "4196 0.7070\n", + "4197 0.7290\n", + "4198 0.7230\n", + "4199 0.7214\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_042.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_042.parquet'\n", - "Saving model to output_dir/model_data_042.parquet\n", - "Saving agent to output_dir/agent_data_042.parquet\n", + "model_file='test_path/model_data_042.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_042.parquet'\n", + "Saving model to test_path/model_data_042.parquet\n", + "Saving agent to test_path/agent_data_042.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.7214\n", + "Condition met. Appended special results for step 4200 to test_path/special_results.parquet\n", "4200\n", + "model_vars.get('Gini', 0)[-1]=0.7041999999999999\n", + "Condition met. Appended special results for step 4201 to test_path/special_results.parquet\n", "4201\n", + "model_vars.get('Gini', 0)[-1]=0.7142\n", + "Condition met. Appended special results for step 4202 to test_path/special_results.parquet\n", "4202\n", + "model_vars.get('Gini', 0)[-1]=0.7242\n", + "Condition met. Appended special results for step 4203 to test_path/special_results.parquet\n", "4203\n", + "model_vars.get('Gini', 0)[-1]=0.6921999999999999\n", + "Condition not met at step 4204. No data to save.\n", "4204\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 4205. No data to save.\n", "4205\n", + "model_vars.get('Gini', 0)[-1]=0.6894\n", + "Condition not met at step 4206. No data to save.\n", "4206\n", + "model_vars.get('Gini', 0)[-1]=0.6838\n", + "Condition not met at step 4207. No data to save.\n", "4207\n", + "model_vars.get('Gini', 0)[-1]=0.6876\n", + "Condition not met at step 4208. No data to save.\n", "4208\n", + "model_vars.get('Gini', 0)[-1]=0.6552\n", + "Condition not met at step 4209. No data to save.\n", "4209\n", + "model_vars.get('Gini', 0)[-1]=0.6368\n", + "Condition not met at step 4210. No data to save.\n", "4210\n", + "model_vars.get('Gini', 0)[-1]=0.6702\n", + "Condition not met at step 4211. No data to save.\n", "4211\n", + "model_vars.get('Gini', 0)[-1]=0.6676\n", + "Condition not met at step 4212. No data to save.\n", "4212\n", + "model_vars.get('Gini', 0)[-1]=0.6414\n", + "Condition not met at step 4213. No data to save.\n", "4213\n", + "model_vars.get('Gini', 0)[-1]=0.6724\n", + "Condition not met at step 4214. No data to save.\n", "4214\n", + "model_vars.get('Gini', 0)[-1]=0.6636\n", + "Condition not met at step 4215. No data to save.\n", "4215\n", + "model_vars.get('Gini', 0)[-1]=0.6882\n", + "Condition not met at step 4216. No data to save.\n", "4216\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 4217. No data to save.\n", "4217\n", + "model_vars.get('Gini', 0)[-1]=0.6778\n", + "Condition not met at step 4218. No data to save.\n", "4218\n", + "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", + "Condition not met at step 4219. No data to save.\n", "4219\n", + "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", + "Condition not met at step 4220. No data to save.\n", "4220\n", + "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", + "Condition not met at step 4221. No data to save.\n", "4221\n", + "model_vars.get('Gini', 0)[-1]=0.6252\n", + "Condition not met at step 4222. No data to save.\n", "4222\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 4223. No data to save.\n", "4223\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 4224. No data to save.\n", "4224\n", + "model_vars.get('Gini', 0)[-1]=0.6782\n", + "Condition not met at step 4225. No data to save.\n", "4225\n", + "model_vars.get('Gini', 0)[-1]=0.6698\n", + "Condition not met at step 4226. No data to save.\n", "4226\n", + "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", + "Condition not met at step 4227. No data to save.\n", "4227\n", + "model_vars.get('Gini', 0)[-1]=0.687\n", + "Condition not met at step 4228. No data to save.\n", "4228\n", + "model_vars.get('Gini', 0)[-1]=0.6798\n", + "Condition not met at step 4229. No data to save.\n", "4229\n", + "model_vars.get('Gini', 0)[-1]=0.6654\n", + "Condition not met at step 4230. No data to save.\n", "4230\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 4231. No data to save.\n", "4231\n", + "model_vars.get('Gini', 0)[-1]=0.6956\n", + "Condition not met at step 4232. No data to save.\n", "4232\n", + "model_vars.get('Gini', 0)[-1]=0.6918\n", + "Condition not met at step 4233. No data to save.\n", "4233\n", + "model_vars.get('Gini', 0)[-1]=0.704\n", + "Condition met. Appended special results for step 4234 to test_path/special_results.parquet\n", "4234\n", + "model_vars.get('Gini', 0)[-1]=0.6992\n", + "Condition not met at step 4235. No data to save.\n", "4235\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 4236. No data to save.\n", "4236\n", + "model_vars.get('Gini', 0)[-1]=0.7066\n", + "Condition met. Appended special results for step 4237 to test_path/special_results.parquet\n", "4237\n", + "model_vars.get('Gini', 0)[-1]=0.6904\n", + "Condition not met at step 4238. No data to save.\n", "4238\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 4239. No data to save.\n", "4239\n", + "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", + "Condition not met at step 4240. No data to save.\n", "4240\n", + "model_vars.get('Gini', 0)[-1]=0.6994\n", + "Condition not met at step 4241. No data to save.\n", "4241\n", + "model_vars.get('Gini', 0)[-1]=0.6884\n", + "Condition not met at step 4242. No data to save.\n", "4242\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 4243. No data to save.\n", "4243\n", + "model_vars.get('Gini', 0)[-1]=0.6516\n", + "Condition not met at step 4244. No data to save.\n", "4244\n", + "model_vars.get('Gini', 0)[-1]=0.6226\n", + "Condition not met at step 4245. No data to save.\n", "4245\n", + "model_vars.get('Gini', 0)[-1]=0.631\n", + "Condition not met at step 4246. No data to save.\n", "4246\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 4247. No data to save.\n", "4247\n", + "model_vars.get('Gini', 0)[-1]=0.663\n", + "Condition not met at step 4248. No data to save.\n", "4248\n", + "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", + "Condition not met at step 4249. No data to save.\n", "4249\n", + "model_vars.get('Gini', 0)[-1]=0.6522\n", + "Condition not met at step 4250. No data to save.\n", "4250\n", + "model_vars.get('Gini', 0)[-1]=0.6374\n", + "Condition not met at step 4251. No data to save.\n", "4251\n", + "model_vars.get('Gini', 0)[-1]=0.6314\n", + "Condition not met at step 4252. No data to save.\n", "4252\n", + "model_vars.get('Gini', 0)[-1]=0.6334\n", + "Condition not met at step 4253. No data to save.\n", "4253\n", + "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", + "Condition not met at step 4254. No data to save.\n", "4254\n", + "model_vars.get('Gini', 0)[-1]=0.6298\n", + "Condition not met at step 4255. No data to save.\n", "4255\n", + "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", + "Condition not met at step 4256. No data to save.\n", "4256\n", + "model_vars.get('Gini', 0)[-1]=0.6234\n", + "Condition not met at step 4257. No data to save.\n", "4257\n", + "model_vars.get('Gini', 0)[-1]=0.6234\n", + "Condition not met at step 4258. No data to save.\n", "4258\n", + "model_vars.get('Gini', 0)[-1]=0.611\n", + "Condition not met at step 4259. No data to save.\n", "4259\n", + "model_vars.get('Gini', 0)[-1]=0.5913999999999999\n", + "Condition not met at step 4260. No data to save.\n", "4260\n", + "model_vars.get('Gini', 0)[-1]=0.612\n", + "Condition not met at step 4261. No data to save.\n", "4261\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 4262. No data to save.\n", "4262\n", + "model_vars.get('Gini', 0)[-1]=0.616\n", + "Condition not met at step 4263. No data to save.\n", "4263\n", + "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", + "Condition not met at step 4264. No data to save.\n", "4264\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 4265. No data to save.\n", "4265\n", + "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", + "Condition not met at step 4266. No data to save.\n", "4266\n", + "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", + "Condition not met at step 4267. No data to save.\n", "4267\n", + "model_vars.get('Gini', 0)[-1]=0.6328\n", + "Condition not met at step 4268. No data to save.\n", "4268\n", + "model_vars.get('Gini', 0)[-1]=0.6198\n", + "Condition not met at step 4269. No data to save.\n", "4269\n", + "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", + "Condition not met at step 4270. No data to save.\n", "4270\n", + "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", + "Condition not met at step 4271. No data to save.\n", "4271\n", + "model_vars.get('Gini', 0)[-1]=0.6634\n", + "Condition not met at step 4272. No data to save.\n", "4272\n", + "model_vars.get('Gini', 0)[-1]=0.6656\n", + "Condition not met at step 4273. No data to save.\n", "4273\n", + "model_vars.get('Gini', 0)[-1]=0.659\n", + "Condition not met at step 4274. No data to save.\n", "4274\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 4275. No data to save.\n", "4275\n", + "model_vars.get('Gini', 0)[-1]=0.6528\n", + "Condition not met at step 4276. No data to save.\n", "4276\n", + "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", + "Condition not met at step 4277. No data to save.\n", "4277\n", + "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", + "Condition not met at step 4278. No data to save.\n", "4278\n", + "model_vars.get('Gini', 0)[-1]=0.6536\n", + "Condition not met at step 4279. No data to save.\n", "4279\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 4280. No data to save.\n", "4280\n", + "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", + "Condition not met at step 4281. No data to save.\n", "4281\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 4282. No data to save.\n", "4282\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 4283. No data to save.\n", "4283\n", + "model_vars.get('Gini', 0)[-1]=0.654\n", + "Condition not met at step 4284. No data to save.\n", "4284\n", + "model_vars.get('Gini', 0)[-1]=0.6596\n", + "Condition not met at step 4285. No data to save.\n", "4285\n", + "model_vars.get('Gini', 0)[-1]=0.6272\n", + "Condition not met at step 4286. No data to save.\n", "4286\n", + "model_vars.get('Gini', 0)[-1]=0.6372\n", + "Condition not met at step 4287. No data to save.\n", "4287\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 4288. No data to save.\n", "4288\n", + "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", + "Condition not met at step 4289. No data to save.\n", "4289\n", + "model_vars.get('Gini', 0)[-1]=0.6858\n", + "Condition not met at step 4290. No data to save.\n", "4290\n", + "model_vars.get('Gini', 0)[-1]=0.6986\n", + "Condition not met at step 4291. No data to save.\n", "4291\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 4292. No data to save.\n", "4292\n", + "model_vars.get('Gini', 0)[-1]=0.6676\n", + "Condition not met at step 4293. No data to save.\n", "4293\n", + "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", + "Condition not met at step 4294. No data to save.\n", "4294\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 4295. No data to save.\n", "4295\n", + "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", + "Condition not met at step 4296. No data to save.\n", "4296\n", + "model_vars.get('Gini', 0)[-1]=0.6776\n", + "Condition not met at step 4297. No data to save.\n", "4297\n", + "model_vars.get('Gini', 0)[-1]=0.6608\n", + "Condition not met at step 4298. No data to save.\n", "4298\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 4299. No data to save.\n", "4299\n", "CALLED\n", "self.model._steps=4300\n", " TEST self.model._steps=4300\n", " TEST self._cache_interval=100\n", " Gini\n", - "4200 0.7056\n", - "4201 0.7012\n", - "4202 0.6968\n", - "4203 0.6604\n", - "4204 0.6212\n", + "4200 0.7042\n", + "4201 0.7142\n", + "4202 0.7242\n", + "4203 0.6922\n", + "4204 0.6664\n", "... ...\n", - "4295 0.6988\n", - "4296 0.6814\n", - "4297 0.6724\n", - "4298 0.6732\n", - "4299 0.6884\n", + "4295 0.6962\n", + "4296 0.6776\n", + "4297 0.6608\n", + "4298 0.6378\n", + "4299 0.6044\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_043.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_043.parquet'\n", - "Saving model to output_dir/model_data_043.parquet\n", - "Saving agent to output_dir/agent_data_043.parquet\n", + "model_file='test_path/model_data_043.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_043.parquet'\n", + "Saving model to test_path/model_data_043.parquet\n", + "Saving agent to test_path/agent_data_043.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6044\n", + "Condition not met at step 4300. No data to save.\n", "4300\n", + "model_vars.get('Gini', 0)[-1]=0.6328\n", + "Condition not met at step 4301. No data to save.\n", "4301\n", + "model_vars.get('Gini', 0)[-1]=0.6124\n", + "Condition not met at step 4302. No data to save.\n", "4302\n", + "model_vars.get('Gini', 0)[-1]=0.611\n", + "Condition not met at step 4303. No data to save.\n", "4303\n", + "model_vars.get('Gini', 0)[-1]=0.6012\n", + "Condition not met at step 4304. No data to save.\n", "4304\n", + "model_vars.get('Gini', 0)[-1]=0.5771999999999999\n", + "Condition not met at step 4305. No data to save.\n", "4305\n", + "model_vars.get('Gini', 0)[-1]=0.6146\n", + "Condition not met at step 4306. No data to save.\n", "4306\n", + "model_vars.get('Gini', 0)[-1]=0.6312\n", + "Condition not met at step 4307. No data to save.\n", "4307\n", + "model_vars.get('Gini', 0)[-1]=0.6164000000000001\n", + "Condition not met at step 4308. No data to save.\n", "4308\n", + "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", + "Condition not met at step 4309. No data to save.\n", "4309\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 4310. No data to save.\n", "4310\n", + "model_vars.get('Gini', 0)[-1]=0.6514\n", + "Condition not met at step 4311. No data to save.\n", "4311\n", + "model_vars.get('Gini', 0)[-1]=0.644\n", + "Condition not met at step 4312. No data to save.\n", "4312\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 4313. No data to save.\n", "4313\n", + "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", + "Condition not met at step 4314. No data to save.\n", "4314\n", + "model_vars.get('Gini', 0)[-1]=0.6334\n", + "Condition not met at step 4315. No data to save.\n", "4315\n", + "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", + "Condition not met at step 4316. No data to save.\n", "4316\n", + "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", + "Condition not met at step 4317. No data to save.\n", "4317\n", + "model_vars.get('Gini', 0)[-1]=0.6226\n", + "Condition not met at step 4318. No data to save.\n", "4318\n", + "model_vars.get('Gini', 0)[-1]=0.6278\n", + "Condition not met at step 4319. No data to save.\n", "4319\n", + "model_vars.get('Gini', 0)[-1]=0.6086\n", + "Condition not met at step 4320. No data to save.\n", "4320\n", + "model_vars.get('Gini', 0)[-1]=0.6116\n", + "Condition not met at step 4321. No data to save.\n", "4321\n", + "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", + "Condition not met at step 4322. No data to save.\n", "4322\n", + "model_vars.get('Gini', 0)[-1]=0.628\n", + "Condition not met at step 4323. No data to save.\n", "4323\n", + "model_vars.get('Gini', 0)[-1]=0.655\n", + "Condition not met at step 4324. No data to save.\n", "4324\n", + "model_vars.get('Gini', 0)[-1]=0.6368\n", + "Condition not met at step 4325. No data to save.\n", "4325\n", + "model_vars.get('Gini', 0)[-1]=0.6033999999999999\n", + "Condition not met at step 4326. No data to save.\n", "4326\n", + "model_vars.get('Gini', 0)[-1]=0.5978\n", + "Condition not met at step 4327. No data to save.\n", "4327\n", + "model_vars.get('Gini', 0)[-1]=0.5920000000000001\n", + "Condition not met at step 4328. No data to save.\n", "4328\n", + "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", + "Condition not met at step 4329. No data to save.\n", "4329\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 4330. No data to save.\n", "4330\n", + "model_vars.get('Gini', 0)[-1]=0.6532\n", + "Condition not met at step 4331. No data to save.\n", "4331\n", + "model_vars.get('Gini', 0)[-1]=0.671\n", + "Condition not met at step 4332. No data to save.\n", "4332\n", + "model_vars.get('Gini', 0)[-1]=0.6388\n", + "Condition not met at step 4333. No data to save.\n", "4333\n", + "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", + "Condition not met at step 4334. No data to save.\n", "4334\n", + "model_vars.get('Gini', 0)[-1]=0.6366\n", + "Condition not met at step 4335. No data to save.\n", "4335\n", + "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", + "Condition not met at step 4336. No data to save.\n", "4336\n", + "model_vars.get('Gini', 0)[-1]=0.6652\n", + "Condition not met at step 4337. No data to save.\n", "4337\n", + "model_vars.get('Gini', 0)[-1]=0.6652\n", + "Condition not met at step 4338. No data to save.\n", "4338\n", + "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", + "Condition not met at step 4339. No data to save.\n", "4339\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 4340. No data to save.\n", "4340\n", + "model_vars.get('Gini', 0)[-1]=0.6782\n", + "Condition not met at step 4341. No data to save.\n", "4341\n", + "model_vars.get('Gini', 0)[-1]=0.6862\n", + "Condition not met at step 4342. No data to save.\n", "4342\n", + "model_vars.get('Gini', 0)[-1]=0.6816\n", + "Condition not met at step 4343. No data to save.\n", "4343\n", + "model_vars.get('Gini', 0)[-1]=0.692\n", + "Condition not met at step 4344. No data to save.\n", "4344\n", + "model_vars.get('Gini', 0)[-1]=0.6872\n", + "Condition not met at step 4345. No data to save.\n", "4345\n", + "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "Condition not met at step 4346. No data to save.\n", "4346\n", + "model_vars.get('Gini', 0)[-1]=0.6892\n", + "Condition not met at step 4347. No data to save.\n", "4347\n", + "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", + "Condition not met at step 4348. No data to save.\n", "4348\n", + "model_vars.get('Gini', 0)[-1]=0.7054\n", + "Condition met. Appended special results for step 4349 to test_path/special_results.parquet\n", "4349\n", + "model_vars.get('Gini', 0)[-1]=0.688\n", + "Condition not met at step 4350. No data to save.\n", "4350\n", + "model_vars.get('Gini', 0)[-1]=0.6856\n", + "Condition not met at step 4351. No data to save.\n", "4351\n", + "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", + "Condition not met at step 4352. No data to save.\n", "4352\n", + "model_vars.get('Gini', 0)[-1]=0.683\n", + "Condition not met at step 4353. No data to save.\n", "4353\n", + "model_vars.get('Gini', 0)[-1]=0.7044\n", + "Condition met. Appended special results for step 4354 to test_path/special_results.parquet\n", "4354\n", + "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", + "Condition not met at step 4355. No data to save.\n", "4355\n", + "model_vars.get('Gini', 0)[-1]=0.6928000000000001\n", + "Condition not met at step 4356. No data to save.\n", "4356\n", + "model_vars.get('Gini', 0)[-1]=0.6992\n", + "Condition not met at step 4357. No data to save.\n", "4357\n", + "model_vars.get('Gini', 0)[-1]=0.7010000000000001\n", + "Condition met. Appended special results for step 4358 to test_path/special_results.parquet\n", "4358\n", + "model_vars.get('Gini', 0)[-1]=0.7076\n", + "Condition met. Appended special results for step 4359 to test_path/special_results.parquet\n", "4359\n", + "model_vars.get('Gini', 0)[-1]=0.683\n", + "Condition not met at step 4360. No data to save.\n", "4360\n", + "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", + "Condition not met at step 4361. No data to save.\n", "4361\n", + "model_vars.get('Gini', 0)[-1]=0.688\n", + "Condition not met at step 4362. No data to save.\n", "4362\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 4363. No data to save.\n", "4363\n", + "model_vars.get('Gini', 0)[-1]=0.6856\n", + "Condition not met at step 4364. No data to save.\n", "4364\n", + "model_vars.get('Gini', 0)[-1]=0.6972\n", + "Condition not met at step 4365. No data to save.\n", "4365\n", + "model_vars.get('Gini', 0)[-1]=0.6894\n", + "Condition not met at step 4366. No data to save.\n", "4366\n", + "model_vars.get('Gini', 0)[-1]=0.7156\n", + "Condition met. Appended special results for step 4367 to test_path/special_results.parquet\n", "4367\n", + "model_vars.get('Gini', 0)[-1]=0.7108\n", + "Condition met. Appended special results for step 4368 to test_path/special_results.parquet\n", "4368\n", + "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", + "Condition not met at step 4369. No data to save.\n", "4369\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 4370. No data to save.\n", "4370\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 4371. No data to save.\n", "4371\n", + "model_vars.get('Gini', 0)[-1]=0.6574\n", + "Condition not met at step 4372. No data to save.\n", "4372\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 4373. No data to save.\n", "4373\n", + "model_vars.get('Gini', 0)[-1]=0.6792\n", + "Condition not met at step 4374. No data to save.\n", "4374\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 4375. No data to save.\n", "4375\n", + "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", + "Condition not met at step 4376. No data to save.\n", "4376\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 4377. No data to save.\n", "4377\n", + "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", + "Condition not met at step 4378. No data to save.\n", "4378\n", + "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", + "Condition not met at step 4379. No data to save.\n", "4379\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 4380. No data to save.\n", "4380\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 4381. No data to save.\n", "4381\n", + "model_vars.get('Gini', 0)[-1]=0.616\n", + "Condition not met at step 4382. No data to save.\n", "4382\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 4383. No data to save.\n", "4383\n", + "model_vars.get('Gini', 0)[-1]=0.648\n", + "Condition not met at step 4384. No data to save.\n", "4384\n", + "model_vars.get('Gini', 0)[-1]=0.635\n", + "Condition not met at step 4385. No data to save.\n", "4385\n", + "model_vars.get('Gini', 0)[-1]=0.6394\n", + "Condition not met at step 4386. No data to save.\n", "4386\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 4387. No data to save.\n", "4387\n", + "model_vars.get('Gini', 0)[-1]=0.6228\n", + "Condition not met at step 4388. No data to save.\n", "4388\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 4389. No data to save.\n", "4389\n", + "model_vars.get('Gini', 0)[-1]=0.6779999999999999\n", + "Condition not met at step 4390. No data to save.\n", "4390\n", + "model_vars.get('Gini', 0)[-1]=0.6878\n", + "Condition not met at step 4391. No data to save.\n", "4391\n", + "model_vars.get('Gini', 0)[-1]=0.6742\n", + "Condition not met at step 4392. No data to save.\n", "4392\n", + "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", + "Condition not met at step 4393. No data to save.\n", "4393\n", + "model_vars.get('Gini', 0)[-1]=0.6882\n", + "Condition not met at step 4394. No data to save.\n", "4394\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 4395. No data to save.\n", "4395\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 4396. No data to save.\n", "4396\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 4397. No data to save.\n", "4397\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 4398. No data to save.\n", "4398\n", + "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", + "Condition not met at step 4399. No data to save.\n", "4399\n", "CALLED\n", "self.model._steps=4400\n", " TEST self.model._steps=4400\n", " TEST self._cache_interval=100\n", " Gini\n", - "4300 0.6724\n", - "4301 0.6880\n", - "4302 0.6988\n", - "4303 0.6800\n", - "4304 0.6872\n", + "4300 0.6328\n", + "4301 0.6124\n", + "4302 0.6110\n", + "4303 0.6012\n", + "4304 0.5772\n", "... ...\n", - "4395 0.7256\n", - "4396 0.7320\n", - "4397 0.7132\n", - "4398 0.7356\n", - "4399 0.7414\n", + "4395 0.6734\n", + "4396 0.6730\n", + "4397 0.6712\n", + "4398 0.6700\n", + "4399 0.6712\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_044.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_044.parquet'\n", - "Saving model to output_dir/model_data_044.parquet\n", - "Saving agent to output_dir/agent_data_044.parquet\n", + "model_file='test_path/model_data_044.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_044.parquet'\n", + "Saving model to test_path/model_data_044.parquet\n", + "Saving agent to test_path/agent_data_044.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 4400. No data to save.\n", "4400\n", + "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", + "Condition not met at step 4401. No data to save.\n", "4401\n", + "model_vars.get('Gini', 0)[-1]=0.664\n", + "Condition not met at step 4402. No data to save.\n", "4402\n", + "model_vars.get('Gini', 0)[-1]=0.6932\n", + "Condition not met at step 4403. No data to save.\n", "4403\n", + "model_vars.get('Gini', 0)[-1]=0.702\n", + "Condition met. Appended special results for step 4404 to test_path/special_results.parquet\n", "4404\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 4405. No data to save.\n", "4405\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 4406. No data to save.\n", "4406\n", + "model_vars.get('Gini', 0)[-1]=0.6896\n", + "Condition not met at step 4407. No data to save.\n", "4407\n", + "model_vars.get('Gini', 0)[-1]=0.6934\n", + "Condition not met at step 4408. No data to save.\n", "4408\n", + "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", + "Condition not met at step 4409. No data to save.\n", "4409\n", + "model_vars.get('Gini', 0)[-1]=0.6796\n", + "Condition not met at step 4410. No data to save.\n", "4410\n", + "model_vars.get('Gini', 0)[-1]=0.6792\n", + "Condition not met at step 4411. No data to save.\n", "4411\n", + "model_vars.get('Gini', 0)[-1]=0.6964\n", + "Condition not met at step 4412. No data to save.\n", "4412\n", + "model_vars.get('Gini', 0)[-1]=0.6992\n", + "Condition not met at step 4413. No data to save.\n", "4413\n", + "model_vars.get('Gini', 0)[-1]=0.7024\n", + "Condition met. Appended special results for step 4414 to test_path/special_results.parquet\n", "4414\n", + "model_vars.get('Gini', 0)[-1]=0.6839999999999999\n", + "Condition not met at step 4415. No data to save.\n", "4415\n", + "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", + "Condition not met at step 4416. No data to save.\n", "4416\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 4417. No data to save.\n", "4417\n", + "model_vars.get('Gini', 0)[-1]=0.6572\n", + "Condition not met at step 4418. No data to save.\n", "4418\n", + "model_vars.get('Gini', 0)[-1]=0.6652\n", + "Condition not met at step 4419. No data to save.\n", "4419\n", + "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", + "Condition not met at step 4420. No data to save.\n", "4420\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 4421. No data to save.\n", "4421\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 4422. No data to save.\n", "4422\n", + "model_vars.get('Gini', 0)[-1]=0.6662\n", + "Condition not met at step 4423. No data to save.\n", "4423\n", + "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", + "Condition not met at step 4424. No data to save.\n", "4424\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 4425. No data to save.\n", "4425\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 4426. No data to save.\n", "4426\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 4427. No data to save.\n", "4427\n", + "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", + "Condition not met at step 4428. No data to save.\n", "4428\n", + "model_vars.get('Gini', 0)[-1]=0.6392\n", + "Condition not met at step 4429. No data to save.\n", "4429\n", + "model_vars.get('Gini', 0)[-1]=0.638\n", + "Condition not met at step 4430. No data to save.\n", "4430\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 4431. No data to save.\n", "4431\n", + "model_vars.get('Gini', 0)[-1]=0.6152\n", + "Condition not met at step 4432. No data to save.\n", "4432\n", + "model_vars.get('Gini', 0)[-1]=0.6288\n", + "Condition not met at step 4433. No data to save.\n", "4433\n", + "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", + "Condition not met at step 4434. No data to save.\n", "4434\n", + "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", + "Condition not met at step 4435. No data to save.\n", "4435\n", + "model_vars.get('Gini', 0)[-1]=0.6836\n", + "Condition not met at step 4436. No data to save.\n", "4436\n", + "model_vars.get('Gini', 0)[-1]=0.6776\n", + "Condition not met at step 4437. No data to save.\n", "4437\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 4438. No data to save.\n", "4438\n", + "model_vars.get('Gini', 0)[-1]=0.694\n", + "Condition not met at step 4439. No data to save.\n", "4439\n", + "model_vars.get('Gini', 0)[-1]=0.6779999999999999\n", + "Condition not met at step 4440. No data to save.\n", "4440\n", + "model_vars.get('Gini', 0)[-1]=0.6772\n", + "Condition not met at step 4441. No data to save.\n", "4441\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 4442. No data to save.\n", "4442\n", + "model_vars.get('Gini', 0)[-1]=0.6784\n", + "Condition not met at step 4443. No data to save.\n", "4443\n", + "model_vars.get('Gini', 0)[-1]=0.6724\n", + "Condition not met at step 4444. No data to save.\n", "4444\n", + "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", + "Condition not met at step 4445. No data to save.\n", "4445\n", + "model_vars.get('Gini', 0)[-1]=0.6494\n", + "Condition not met at step 4446. No data to save.\n", "4446\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 4447. No data to save.\n", "4447\n", + "model_vars.get('Gini', 0)[-1]=0.6918\n", + "Condition not met at step 4448. No data to save.\n", "4448\n", + "model_vars.get('Gini', 0)[-1]=0.7088\n", + "Condition met. Appended special results for step 4449 to test_path/special_results.parquet\n", "4449\n", + "model_vars.get('Gini', 0)[-1]=0.7148\n", + "Condition met. Appended special results for step 4450 to test_path/special_results.parquet\n", "4450\n", + "model_vars.get('Gini', 0)[-1]=0.7328\n", + "Condition met. Appended special results for step 4451 to test_path/special_results.parquet\n", "4451\n", + "model_vars.get('Gini', 0)[-1]=0.735\n", + "Condition met. Appended special results for step 4452 to test_path/special_results.parquet\n", "4452\n", + "model_vars.get('Gini', 0)[-1]=0.7306\n", + "Condition met. Appended special results for step 4453 to test_path/special_results.parquet\n", "4453\n", + "model_vars.get('Gini', 0)[-1]=0.6958\n", + "Condition not met at step 4454. No data to save.\n", "4454\n", + "model_vars.get('Gini', 0)[-1]=0.7004\n", + "Condition met. Appended special results for step 4455 to test_path/special_results.parquet\n", "4455\n", + "model_vars.get('Gini', 0)[-1]=0.7174\n", + "Condition met. Appended special results for step 4456 to test_path/special_results.parquet\n", "4456\n", + "model_vars.get('Gini', 0)[-1]=0.718\n", + "Condition met. Appended special results for step 4457 to test_path/special_results.parquet\n", "4457\n", + "model_vars.get('Gini', 0)[-1]=0.7138\n", + "Condition met. Appended special results for step 4458 to test_path/special_results.parquet\n", "4458\n", + "model_vars.get('Gini', 0)[-1]=0.6984\n", + "Condition not met at step 4459. No data to save.\n", "4459\n", + "model_vars.get('Gini', 0)[-1]=0.7012\n", + "Condition met. Appended special results for step 4460 to test_path/special_results.parquet\n", "4460\n", + "model_vars.get('Gini', 0)[-1]=0.6988000000000001\n", + "Condition not met at step 4461. No data to save.\n", "4461\n", + "model_vars.get('Gini', 0)[-1]=0.7048\n", + "Condition met. Appended special results for step 4462 to test_path/special_results.parquet\n", "4462\n", + "model_vars.get('Gini', 0)[-1]=0.7070000000000001\n", + "Condition met. Appended special results for step 4463 to test_path/special_results.parquet\n", "4463\n", + "model_vars.get('Gini', 0)[-1]=0.7148\n", + "Condition met. Appended special results for step 4464 to test_path/special_results.parquet\n", "4464\n", + "model_vars.get('Gini', 0)[-1]=0.6912\n", + "Condition not met at step 4465. No data to save.\n", "4465\n", + "model_vars.get('Gini', 0)[-1]=0.6844\n", + "Condition not met at step 4466. No data to save.\n", "4466\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 4467. No data to save.\n", "4467\n", + "model_vars.get('Gini', 0)[-1]=0.6422\n", + "Condition not met at step 4468. No data to save.\n", "4468\n", + "model_vars.get('Gini', 0)[-1]=0.649\n", + "Condition not met at step 4469. No data to save.\n", "4469\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 4470. No data to save.\n", "4470\n", + "model_vars.get('Gini', 0)[-1]=0.6334\n", + "Condition not met at step 4471. No data to save.\n", "4471\n", + "model_vars.get('Gini', 0)[-1]=0.6616\n", + "Condition not met at step 4472. No data to save.\n", "4472\n", + "model_vars.get('Gini', 0)[-1]=0.6756\n", + "Condition not met at step 4473. No data to save.\n", "4473\n", + "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", + "Condition not met at step 4474. No data to save.\n", "4474\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 4475. No data to save.\n", "4475\n", + "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", + "Condition not met at step 4476. No data to save.\n", "4476\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 4477. No data to save.\n", "4477\n", + "model_vars.get('Gini', 0)[-1]=0.662\n", + "Condition not met at step 4478. No data to save.\n", "4478\n", + "model_vars.get('Gini', 0)[-1]=0.6492\n", + "Condition not met at step 4479. No data to save.\n", "4479\n", + "model_vars.get('Gini', 0)[-1]=0.62\n", + "Condition not met at step 4480. No data to save.\n", "4480\n", + "model_vars.get('Gini', 0)[-1]=0.6056\n", + "Condition not met at step 4481. No data to save.\n", "4481\n", + "model_vars.get('Gini', 0)[-1]=0.6634\n", + "Condition not met at step 4482. No data to save.\n", "4482\n", + "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", + "Condition not met at step 4483. No data to save.\n", "4483\n", + "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", + "Condition not met at step 4484. No data to save.\n", "4484\n", + "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", + "Condition not met at step 4485. No data to save.\n", "4485\n", + "model_vars.get('Gini', 0)[-1]=0.6574\n", + "Condition not met at step 4486. No data to save.\n", "4486\n", + "model_vars.get('Gini', 0)[-1]=0.6272\n", + "Condition not met at step 4487. No data to save.\n", "4487\n", + "model_vars.get('Gini', 0)[-1]=0.648\n", + "Condition not met at step 4488. No data to save.\n", "4488\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 4489. No data to save.\n", "4489\n", + "model_vars.get('Gini', 0)[-1]=0.685\n", + "Condition not met at step 4490. No data to save.\n", "4490\n", + "model_vars.get('Gini', 0)[-1]=0.6816\n", + "Condition not met at step 4491. No data to save.\n", "4491\n", + "model_vars.get('Gini', 0)[-1]=0.6882\n", + "Condition not met at step 4492. No data to save.\n", "4492\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 4493. No data to save.\n", "4493\n", + "model_vars.get('Gini', 0)[-1]=0.6596\n", + "Condition not met at step 4494. No data to save.\n", "4494\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 4495. No data to save.\n", "4495\n", + "model_vars.get('Gini', 0)[-1]=0.6592\n", + "Condition not met at step 4496. No data to save.\n", "4496\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 4497. No data to save.\n", "4497\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 4498. No data to save.\n", "4498\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 4499. No data to save.\n", "4499\n", "CALLED\n", "self.model._steps=4500\n", " TEST self.model._steps=4500\n", " TEST self._cache_interval=100\n", " Gini\n", - "4400 0.7330\n", - "4401 0.7446\n", - "4402 0.7126\n", - "4403 0.7188\n", - "4404 0.7308\n", + "4400 0.6628\n", + "4401 0.6640\n", + "4402 0.6932\n", + "4403 0.7020\n", + "4404 0.6788\n", "... ...\n", - "4495 0.6998\n", - "4496 0.6968\n", - "4497 0.6790\n", - "4498 0.6564\n", - "4499 0.6662\n", + "4495 0.6592\n", + "4496 0.6544\n", + "4497 0.6496\n", + "4498 0.6482\n", + "4499 0.6526\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_045.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_045.parquet'\n", - "Saving model to output_dir/model_data_045.parquet\n", - "Saving agent to output_dir/agent_data_045.parquet\n", + "model_file='test_path/model_data_045.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_045.parquet'\n", + "Saving model to test_path/model_data_045.parquet\n", + "Saving agent to test_path/agent_data_045.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", + "Condition not met at step 4500. No data to save.\n", "4500\n", + "model_vars.get('Gini', 0)[-1]=0.6476\n", + "Condition not met at step 4501. No data to save.\n", "4501\n", + "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", + "Condition not met at step 4502. No data to save.\n", "4502\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 4503. No data to save.\n", "4503\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 4504. No data to save.\n", "4504\n", + "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", + "Condition not met at step 4505. No data to save.\n", "4505\n", + "model_vars.get('Gini', 0)[-1]=0.6972\n", + "Condition not met at step 4506. No data to save.\n", "4506\n", + "model_vars.get('Gini', 0)[-1]=0.6856\n", + "Condition not met at step 4507. No data to save.\n", "4507\n", + "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", + "Condition not met at step 4508. No data to save.\n", "4508\n", + "model_vars.get('Gini', 0)[-1]=0.6934\n", + "Condition not met at step 4509. No data to save.\n", "4509\n", + "model_vars.get('Gini', 0)[-1]=0.6946\n", + "Condition not met at step 4510. No data to save.\n", "4510\n", + "model_vars.get('Gini', 0)[-1]=0.692\n", + "Condition not met at step 4511. No data to save.\n", "4511\n", + "model_vars.get('Gini', 0)[-1]=0.6692\n", + "Condition not met at step 4512. No data to save.\n", "4512\n", + "model_vars.get('Gini', 0)[-1]=0.6494\n", + "Condition not met at step 4513. No data to save.\n", "4513\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 4514. No data to save.\n", "4514\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 4515. No data to save.\n", "4515\n", + "model_vars.get('Gini', 0)[-1]=0.6722\n", + "Condition not met at step 4516. No data to save.\n", "4516\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 4517. No data to save.\n", "4517\n", + "model_vars.get('Gini', 0)[-1]=0.6736\n", + "Condition not met at step 4518. No data to save.\n", "4518\n", + "model_vars.get('Gini', 0)[-1]=0.6774\n", + "Condition not met at step 4519. No data to save.\n", "4519\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 4520. No data to save.\n", "4520\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 4521. No data to save.\n", "4521\n", + "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", + "Condition not met at step 4522. No data to save.\n", "4522\n", + "model_vars.get('Gini', 0)[-1]=0.6428\n", + "Condition not met at step 4523. No data to save.\n", "4523\n", + "model_vars.get('Gini', 0)[-1]=0.6254\n", + "Condition not met at step 4524. No data to save.\n", "4524\n", + "model_vars.get('Gini', 0)[-1]=0.6564\n", + "Condition not met at step 4525. No data to save.\n", "4525\n", + "model_vars.get('Gini', 0)[-1]=0.6844\n", + "Condition not met at step 4526. No data to save.\n", "4526\n", + "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", + "Condition not met at step 4527. No data to save.\n", "4527\n", + "model_vars.get('Gini', 0)[-1]=0.6914\n", + "Condition not met at step 4528. No data to save.\n", "4528\n", + "model_vars.get('Gini', 0)[-1]=0.6932\n", + "Condition not met at step 4529. No data to save.\n", "4529\n", + "model_vars.get('Gini', 0)[-1]=0.6864\n", + "Condition not met at step 4530. No data to save.\n", "4530\n", + "model_vars.get('Gini', 0)[-1]=0.69\n", + "Condition not met at step 4531. No data to save.\n", "4531\n", + "model_vars.get('Gini', 0)[-1]=0.7010000000000001\n", + "Condition met. Appended special results for step 4532 to test_path/special_results.parquet\n", "4532\n", + "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", + "Condition not met at step 4533. No data to save.\n", "4533\n", + "model_vars.get('Gini', 0)[-1]=0.6876\n", + "Condition not met at step 4534. No data to save.\n", "4534\n", + "model_vars.get('Gini', 0)[-1]=0.6976\n", + "Condition not met at step 4535. No data to save.\n", "4535\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 4536. No data to save.\n", "4536\n", + "model_vars.get('Gini', 0)[-1]=0.7012\n", + "Condition met. Appended special results for step 4537 to test_path/special_results.parquet\n", "4537\n", + "model_vars.get('Gini', 0)[-1]=0.7032\n", + "Condition met. Appended special results for step 4538 to test_path/special_results.parquet\n", "4538\n", + "model_vars.get('Gini', 0)[-1]=0.7068\n", + "Condition met. Appended special results for step 4539 to test_path/special_results.parquet\n", "4539\n", + "model_vars.get('Gini', 0)[-1]=0.7058\n", + "Condition met. Appended special results for step 4540 to test_path/special_results.parquet\n", "4540\n", + "model_vars.get('Gini', 0)[-1]=0.7136\n", + "Condition met. Appended special results for step 4541 to test_path/special_results.parquet\n", "4541\n", + "model_vars.get('Gini', 0)[-1]=0.7108\n", + "Condition met. Appended special results for step 4542 to test_path/special_results.parquet\n", "4542\n", + "model_vars.get('Gini', 0)[-1]=0.7288\n", + "Condition met. Appended special results for step 4543 to test_path/special_results.parquet\n", "4543\n", + "model_vars.get('Gini', 0)[-1]=0.7363999999999999\n", + "Condition met. Appended special results for step 4544 to test_path/special_results.parquet\n", "4544\n", + "model_vars.get('Gini', 0)[-1]=0.742\n", + "Condition met. Appended special results for step 4545 to test_path/special_results.parquet\n", "4545\n", + "model_vars.get('Gini', 0)[-1]=0.7448\n", + "Condition met. Appended special results for step 4546 to test_path/special_results.parquet\n", "4546\n", + "model_vars.get('Gini', 0)[-1]=0.7462\n", + "Condition met. Appended special results for step 4547 to test_path/special_results.parquet\n", "4547\n", + "model_vars.get('Gini', 0)[-1]=0.7472000000000001\n", + "Condition met. Appended special results for step 4548 to test_path/special_results.parquet\n", "4548\n", + "model_vars.get('Gini', 0)[-1]=0.7374\n", + "Condition met. Appended special results for step 4549 to test_path/special_results.parquet\n", "4549\n", + "model_vars.get('Gini', 0)[-1]=0.7256\n", + "Condition met. Appended special results for step 4550 to test_path/special_results.parquet\n", "4550\n", + "model_vars.get('Gini', 0)[-1]=0.7343999999999999\n", + "Condition met. Appended special results for step 4551 to test_path/special_results.parquet\n", "4551\n", + "model_vars.get('Gini', 0)[-1]=0.7392000000000001\n", + "Condition met. Appended special results for step 4552 to test_path/special_results.parquet\n", "4552\n", + "model_vars.get('Gini', 0)[-1]=0.7392000000000001\n", + "Condition met. Appended special results for step 4553 to test_path/special_results.parquet\n", "4553\n", + "model_vars.get('Gini', 0)[-1]=0.7422\n", + "Condition met. Appended special results for step 4554 to test_path/special_results.parquet\n", "4554\n", + "model_vars.get('Gini', 0)[-1]=0.7504\n", + "Condition met. Appended special results for step 4555 to test_path/special_results.parquet\n", "4555\n", + "model_vars.get('Gini', 0)[-1]=0.7488\n", + "Condition met. Appended special results for step 4556 to test_path/special_results.parquet\n", "4556\n", + "model_vars.get('Gini', 0)[-1]=0.7596\n", + "Condition met. Appended special results for step 4557 to test_path/special_results.parquet\n", "4557\n", + "model_vars.get('Gini', 0)[-1]=0.7412000000000001\n", + "Condition met. Appended special results for step 4558 to test_path/special_results.parquet\n", "4558\n", + "model_vars.get('Gini', 0)[-1]=0.7328\n", + "Condition met. Appended special results for step 4559 to test_path/special_results.parquet\n", "4559\n", + "model_vars.get('Gini', 0)[-1]=0.7223999999999999\n", + "Condition met. Appended special results for step 4560 to test_path/special_results.parquet\n", "4560\n", + "model_vars.get('Gini', 0)[-1]=0.7270000000000001\n", + "Condition met. Appended special results for step 4561 to test_path/special_results.parquet\n", "4561\n", + "model_vars.get('Gini', 0)[-1]=0.7163999999999999\n", + "Condition met. Appended special results for step 4562 to test_path/special_results.parquet\n", "4562\n", + "model_vars.get('Gini', 0)[-1]=0.7108\n", + "Condition met. Appended special results for step 4563 to test_path/special_results.parquet\n", "4563\n", + "model_vars.get('Gini', 0)[-1]=0.7178\n", + "Condition met. Appended special results for step 4564 to test_path/special_results.parquet\n", "4564\n", + "model_vars.get('Gini', 0)[-1]=0.7168\n", + "Condition met. Appended special results for step 4565 to test_path/special_results.parquet\n", "4565\n", + "model_vars.get('Gini', 0)[-1]=0.7054\n", + "Condition met. Appended special results for step 4566 to test_path/special_results.parquet\n", "4566\n", + "model_vars.get('Gini', 0)[-1]=0.6782\n", + "Condition not met at step 4567. No data to save.\n", "4567\n", + "model_vars.get('Gini', 0)[-1]=0.6892\n", + "Condition not met at step 4568. No data to save.\n", "4568\n", + "model_vars.get('Gini', 0)[-1]=0.6842\n", + "Condition not met at step 4569. No data to save.\n", "4569\n", + "model_vars.get('Gini', 0)[-1]=0.7094\n", + "Condition met. Appended special results for step 4570 to test_path/special_results.parquet\n", "4570\n", + "model_vars.get('Gini', 0)[-1]=0.6864\n", + "Condition not met at step 4571. No data to save.\n", "4571\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 4572. No data to save.\n", "4572\n", + "model_vars.get('Gini', 0)[-1]=0.7064\n", + "Condition met. Appended special results for step 4573 to test_path/special_results.parquet\n", "4573\n", + "model_vars.get('Gini', 0)[-1]=0.6996\n", + "Condition not met at step 4574. No data to save.\n", "4574\n", + "model_vars.get('Gini', 0)[-1]=0.7054\n", + "Condition met. Appended special results for step 4575 to test_path/special_results.parquet\n", "4575\n", + "model_vars.get('Gini', 0)[-1]=0.6778\n", + "Condition not met at step 4576. No data to save.\n", "4576\n", + "model_vars.get('Gini', 0)[-1]=0.6784\n", + "Condition not met at step 4577. No data to save.\n", "4577\n", + "model_vars.get('Gini', 0)[-1]=0.6902\n", + "Condition not met at step 4578. No data to save.\n", "4578\n", + "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", + "Condition not met at step 4579. No data to save.\n", "4579\n", + "model_vars.get('Gini', 0)[-1]=0.7088\n", + "Condition met. Appended special results for step 4580 to test_path/special_results.parquet\n", "4580\n", + "model_vars.get('Gini', 0)[-1]=0.7048\n", + "Condition met. Appended special results for step 4581 to test_path/special_results.parquet\n", "4581\n", + "model_vars.get('Gini', 0)[-1]=0.6916\n", + "Condition not met at step 4582. No data to save.\n", "4582\n", + "model_vars.get('Gini', 0)[-1]=0.6968000000000001\n", + "Condition not met at step 4583. No data to save.\n", "4583\n", + "model_vars.get('Gini', 0)[-1]=0.708\n", + "Condition met. Appended special results for step 4584 to test_path/special_results.parquet\n", "4584\n", + "model_vars.get('Gini', 0)[-1]=0.692\n", + "Condition not met at step 4585. No data to save.\n", "4585\n", + "model_vars.get('Gini', 0)[-1]=0.7034\n", + "Condition met. Appended special results for step 4586 to test_path/special_results.parquet\n", "4586\n", + "model_vars.get('Gini', 0)[-1]=0.7014\n", + "Condition met. Appended special results for step 4587 to test_path/special_results.parquet\n", "4587\n", + "model_vars.get('Gini', 0)[-1]=0.6872\n", + "Condition not met at step 4588. No data to save.\n", "4588\n", + "model_vars.get('Gini', 0)[-1]=0.6774\n", + "Condition not met at step 4589. No data to save.\n", "4589\n", + "model_vars.get('Gini', 0)[-1]=0.6950000000000001\n", + "Condition not met at step 4590. No data to save.\n", "4590\n", + "model_vars.get('Gini', 0)[-1]=0.6862\n", + "Condition not met at step 4591. No data to save.\n", "4591\n", + "model_vars.get('Gini', 0)[-1]=0.7018\n", + "Condition met. Appended special results for step 4592 to test_path/special_results.parquet\n", "4592\n", + "model_vars.get('Gini', 0)[-1]=0.664\n", + "Condition not met at step 4593. No data to save.\n", "4593\n", + "model_vars.get('Gini', 0)[-1]=0.6890000000000001\n", + "Condition not met at step 4594. No data to save.\n", "4594\n", + "model_vars.get('Gini', 0)[-1]=0.6694\n", + "Condition not met at step 4595. No data to save.\n", "4595\n", + "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", + "Condition not met at step 4596. No data to save.\n", "4596\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 4597. No data to save.\n", "4597\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 4598. No data to save.\n", "4598\n", + "model_vars.get('Gini', 0)[-1]=0.6638\n", + "Condition not met at step 4599. No data to save.\n", "4599\n", "CALLED\n", "self.model._steps=4600\n", " TEST self.model._steps=4600\n", " TEST self._cache_interval=100\n", " Gini\n", - "4500 0.6500\n", - "4501 0.6568\n", - "4502 0.6662\n", - "4503 0.6720\n", - "4504 0.6622\n", + "4500 0.6476\n", + "4501 0.6484\n", + "4502 0.6642\n", + "4503 0.6734\n", + "4504 0.6740\n", "... ...\n", - "4595 0.7024\n", - "4596 0.6896\n", - "4597 0.7136\n", - "4598 0.7180\n", - "4599 0.7112\n", + "4595 0.6558\n", + "4596 0.6378\n", + "4597 0.6602\n", + "4598 0.6638\n", + "4599 0.6902\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_046.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_046.parquet'\n", - "Saving model to output_dir/model_data_046.parquet\n", - "Saving agent to output_dir/agent_data_046.parquet\n", + "model_file='test_path/model_data_046.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_046.parquet'\n", + "Saving model to test_path/model_data_046.parquet\n", + "Saving agent to test_path/agent_data_046.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6902\n", + "Condition not met at step 4600. No data to save.\n", "4600\n", + "model_vars.get('Gini', 0)[-1]=0.7034\n", + "Condition met. Appended special results for step 4601 to test_path/special_results.parquet\n", "4601\n", + "model_vars.get('Gini', 0)[-1]=0.7354\n", + "Condition met. Appended special results for step 4602 to test_path/special_results.parquet\n", "4602\n", + "model_vars.get('Gini', 0)[-1]=0.7234\n", + "Condition met. Appended special results for step 4603 to test_path/special_results.parquet\n", "4603\n", + "model_vars.get('Gini', 0)[-1]=0.6974\n", + "Condition not met at step 4604. No data to save.\n", "4604\n", + "model_vars.get('Gini', 0)[-1]=0.6846\n", + "Condition not met at step 4605. No data to save.\n", "4605\n", + "model_vars.get('Gini', 0)[-1]=0.6732\n", + "Condition not met at step 4606. No data to save.\n", "4606\n", + "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", + "Condition not met at step 4607. No data to save.\n", "4607\n", + "model_vars.get('Gini', 0)[-1]=0.6592\n", + "Condition not met at step 4608. No data to save.\n", "4608\n", + "model_vars.get('Gini', 0)[-1]=0.6802\n", + "Condition not met at step 4609. No data to save.\n", "4609\n", + "model_vars.get('Gini', 0)[-1]=0.6864\n", + "Condition not met at step 4610. No data to save.\n", "4610\n", + "model_vars.get('Gini', 0)[-1]=0.679\n", + "Condition not met at step 4611. No data to save.\n", "4611\n", + "model_vars.get('Gini', 0)[-1]=0.7066\n", + "Condition met. Appended special results for step 4612 to test_path/special_results.parquet\n", "4612\n", + "model_vars.get('Gini', 0)[-1]=0.6932\n", + "Condition not met at step 4613. No data to save.\n", "4613\n", + "model_vars.get('Gini', 0)[-1]=0.7014\n", + "Condition met. Appended special results for step 4614 to test_path/special_results.parquet\n", "4614\n", + "model_vars.get('Gini', 0)[-1]=0.6866\n", + "Condition not met at step 4615. No data to save.\n", "4615\n", + "model_vars.get('Gini', 0)[-1]=0.6802\n", + "Condition not met at step 4616. No data to save.\n", "4616\n", + "model_vars.get('Gini', 0)[-1]=0.6886\n", + "Condition not met at step 4617. No data to save.\n", "4617\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 4618. No data to save.\n", "4618\n", + "model_vars.get('Gini', 0)[-1]=0.6724\n", + "Condition not met at step 4619. No data to save.\n", "4619\n", + "model_vars.get('Gini', 0)[-1]=0.6714\n", + "Condition not met at step 4620. No data to save.\n", "4620\n", + "model_vars.get('Gini', 0)[-1]=0.6886\n", + "Condition not met at step 4621. No data to save.\n", "4621\n", + "model_vars.get('Gini', 0)[-1]=0.687\n", + "Condition not met at step 4622. No data to save.\n", "4622\n", + "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", + "Condition not met at step 4623. No data to save.\n", "4623\n", + "model_vars.get('Gini', 0)[-1]=0.7052\n", + "Condition met. Appended special results for step 4624 to test_path/special_results.parquet\n", "4624\n", + "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", + "Condition not met at step 4625. No data to save.\n", "4625\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 4626. No data to save.\n", "4626\n", + "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", + "Condition not met at step 4627. No data to save.\n", "4627\n", + "model_vars.get('Gini', 0)[-1]=0.685\n", + "Condition not met at step 4628. No data to save.\n", "4628\n", + "model_vars.get('Gini', 0)[-1]=0.6576\n", + "Condition not met at step 4629. No data to save.\n", "4629\n", + "model_vars.get('Gini', 0)[-1]=0.6878\n", + "Condition not met at step 4630. No data to save.\n", "4630\n", + "model_vars.get('Gini', 0)[-1]=0.6992\n", + "Condition not met at step 4631. No data to save.\n", "4631\n", + "model_vars.get('Gini', 0)[-1]=0.6916\n", + "Condition not met at step 4632. No data to save.\n", "4632\n", + "model_vars.get('Gini', 0)[-1]=0.6782\n", + "Condition not met at step 4633. No data to save.\n", "4633\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 4634. No data to save.\n", "4634\n", + "model_vars.get('Gini', 0)[-1]=0.7024\n", + "Condition met. Appended special results for step 4635 to test_path/special_results.parquet\n", "4635\n", + "model_vars.get('Gini', 0)[-1]=0.6872\n", + "Condition not met at step 4636. No data to save.\n", "4636\n", + "model_vars.get('Gini', 0)[-1]=0.6814\n", + "Condition not met at step 4637. No data to save.\n", "4637\n", + "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", + "Condition not met at step 4638. No data to save.\n", "4638\n", + "model_vars.get('Gini', 0)[-1]=0.692\n", + "Condition not met at step 4639. No data to save.\n", "4639\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 4640. No data to save.\n", "4640\n", + "model_vars.get('Gini', 0)[-1]=0.6814\n", + "Condition not met at step 4641. No data to save.\n", "4641\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 4642. No data to save.\n", "4642\n", + "model_vars.get('Gini', 0)[-1]=0.6886\n", + "Condition not met at step 4643. No data to save.\n", "4643\n", + "model_vars.get('Gini', 0)[-1]=0.6902\n", + "Condition not met at step 4644. No data to save.\n", "4644\n", + "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", + "Condition not met at step 4645. No data to save.\n", "4645\n", + "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", + "Condition not met at step 4646. No data to save.\n", "4646\n", + "model_vars.get('Gini', 0)[-1]=0.6852\n", + "Condition not met at step 4647. No data to save.\n", "4647\n", + "model_vars.get('Gini', 0)[-1]=0.704\n", + "Condition met. Appended special results for step 4648 to test_path/special_results.parquet\n", "4648\n", + "model_vars.get('Gini', 0)[-1]=0.6954\n", + "Condition not met at step 4649. No data to save.\n", "4649\n", + "model_vars.get('Gini', 0)[-1]=0.7041999999999999\n", + "Condition met. Appended special results for step 4650 to test_path/special_results.parquet\n", "4650\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 4651. No data to save.\n", "4651\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 4652. No data to save.\n", "4652\n", + "model_vars.get('Gini', 0)[-1]=0.6956\n", + "Condition not met at step 4653. No data to save.\n", "4653\n", + "model_vars.get('Gini', 0)[-1]=0.6574\n", + "Condition not met at step 4654. No data to save.\n", "4654\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 4655. No data to save.\n", "4655\n", + "model_vars.get('Gini', 0)[-1]=0.6652\n", + "Condition not met at step 4656. No data to save.\n", "4656\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 4657. No data to save.\n", "4657\n", + "model_vars.get('Gini', 0)[-1]=0.6472\n", + "Condition not met at step 4658. No data to save.\n", "4658\n", + "model_vars.get('Gini', 0)[-1]=0.655\n", + "Condition not met at step 4659. No data to save.\n", "4659\n", + "model_vars.get('Gini', 0)[-1]=0.6634\n", + "Condition not met at step 4660. No data to save.\n", "4660\n", + "model_vars.get('Gini', 0)[-1]=0.6684\n", + "Condition not met at step 4661. No data to save.\n", "4661\n", + "model_vars.get('Gini', 0)[-1]=0.649\n", + "Condition not met at step 4662. No data to save.\n", "4662\n", + "model_vars.get('Gini', 0)[-1]=0.6684\n", + "Condition not met at step 4663. No data to save.\n", "4663\n", + "model_vars.get('Gini', 0)[-1]=0.6584\n", + "Condition not met at step 4664. No data to save.\n", "4664\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 4665. No data to save.\n", "4665\n", + "model_vars.get('Gini', 0)[-1]=0.6278\n", + "Condition not met at step 4666. No data to save.\n", "4666\n", + "model_vars.get('Gini', 0)[-1]=0.6246\n", + "Condition not met at step 4667. No data to save.\n", "4667\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 4668. No data to save.\n", "4668\n", + "model_vars.get('Gini', 0)[-1]=0.683\n", + "Condition not met at step 4669. No data to save.\n", "4669\n", + "model_vars.get('Gini', 0)[-1]=0.6936\n", + "Condition not met at step 4670. No data to save.\n", "4670\n", + "model_vars.get('Gini', 0)[-1]=0.679\n", + "Condition not met at step 4671. No data to save.\n", "4671\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 4672. No data to save.\n", "4672\n", + "model_vars.get('Gini', 0)[-1]=0.6472\n", + "Condition not met at step 4673. No data to save.\n", "4673\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 4674. No data to save.\n", "4674\n", + "model_vars.get('Gini', 0)[-1]=0.6302\n", + "Condition not met at step 4675. No data to save.\n", "4675\n", + "model_vars.get('Gini', 0)[-1]=0.6252\n", + "Condition not met at step 4676. No data to save.\n", "4676\n", + "model_vars.get('Gini', 0)[-1]=0.6082000000000001\n", + "Condition not met at step 4677. No data to save.\n", "4677\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 4678. No data to save.\n", "4678\n", + "model_vars.get('Gini', 0)[-1]=0.6382\n", + "Condition not met at step 4679. No data to save.\n", "4679\n", + "model_vars.get('Gini', 0)[-1]=0.6416\n", + "Condition not met at step 4680. No data to save.\n", "4680\n", + "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", + "Condition not met at step 4681. No data to save.\n", "4681\n", + "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", + "Condition not met at step 4682. No data to save.\n", "4682\n", + "model_vars.get('Gini', 0)[-1]=0.6195999999999999\n", + "Condition not met at step 4683. No data to save.\n", "4683\n", + "model_vars.get('Gini', 0)[-1]=0.6324000000000001\n", + "Condition not met at step 4684. No data to save.\n", "4684\n", + "model_vars.get('Gini', 0)[-1]=0.6144000000000001\n", + "Condition not met at step 4685. No data to save.\n", "4685\n", + "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", + "Condition not met at step 4686. No data to save.\n", "4686\n", + "model_vars.get('Gini', 0)[-1]=0.5698000000000001\n", + "Condition not met at step 4687. No data to save.\n", "4687\n", + "model_vars.get('Gini', 0)[-1]=0.5482\n", + "Condition not met at step 4688. No data to save.\n", "4688\n", + "model_vars.get('Gini', 0)[-1]=0.5798\n", + "Condition not met at step 4689. No data to save.\n", "4689\n", + "model_vars.get('Gini', 0)[-1]=0.607\n", + "Condition not met at step 4690. No data to save.\n", "4690\n", + "model_vars.get('Gini', 0)[-1]=0.5962000000000001\n", + "Condition not met at step 4691. No data to save.\n", "4691\n", + "model_vars.get('Gini', 0)[-1]=0.5928\n", + "Condition not met at step 4692. No data to save.\n", "4692\n", + "model_vars.get('Gini', 0)[-1]=0.5576\n", + "Condition not met at step 4693. No data to save.\n", "4693\n", + "model_vars.get('Gini', 0)[-1]=0.5408\n", + "Condition not met at step 4694. No data to save.\n", "4694\n", + "model_vars.get('Gini', 0)[-1]=0.5696\n", + "Condition not met at step 4695. No data to save.\n", "4695\n", + "model_vars.get('Gini', 0)[-1]=0.5686\n", + "Condition not met at step 4696. No data to save.\n", "4696\n", + "model_vars.get('Gini', 0)[-1]=0.5356000000000001\n", + "Condition not met at step 4697. No data to save.\n", "4697\n", + "model_vars.get('Gini', 0)[-1]=0.5691999999999999\n", + "Condition not met at step 4698. No data to save.\n", "4698\n", + "model_vars.get('Gini', 0)[-1]=0.5406\n", + "Condition not met at step 4699. No data to save.\n", "4699\n", "CALLED\n", "self.model._steps=4700\n", " TEST self.model._steps=4700\n", " TEST self._cache_interval=100\n", " Gini\n", - "4600 0.6964\n", - "4601 0.6790\n", - "4602 0.6760\n", - "4603 0.6958\n", - "4604 0.6650\n", + "4600 0.7034\n", + "4601 0.7354\n", + "4602 0.7234\n", + "4603 0.6974\n", + "4604 0.6846\n", "... ...\n", - "4695 0.6366\n", - "4696 0.6312\n", - "4697 0.6948\n", - "4698 0.6788\n", - "4699 0.6832\n", + "4695 0.5686\n", + "4696 0.5356\n", + "4697 0.5692\n", + "4698 0.5406\n", + "4699 0.5570\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_047.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_047.parquet'\n", - "Saving model to output_dir/model_data_047.parquet\n", - "Saving agent to output_dir/agent_data_047.parquet\n", + "model_file='test_path/model_data_047.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_047.parquet'\n", + "Saving model to test_path/model_data_047.parquet\n", + "Saving agent to test_path/agent_data_047.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.5569999999999999\n", + "Condition not met at step 4700. No data to save.\n", "4700\n", + "model_vars.get('Gini', 0)[-1]=0.5552\n", + "Condition not met at step 4701. No data to save.\n", "4701\n", + "model_vars.get('Gini', 0)[-1]=0.5780000000000001\n", + "Condition not met at step 4702. No data to save.\n", "4702\n", + "model_vars.get('Gini', 0)[-1]=0.5768\n", + "Condition not met at step 4703. No data to save.\n", "4703\n", + "model_vars.get('Gini', 0)[-1]=0.599\n", + "Condition not met at step 4704. No data to save.\n", "4704\n", + "model_vars.get('Gini', 0)[-1]=0.6172\n", + "Condition not met at step 4705. No data to save.\n", "4705\n", + "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", + "Condition not met at step 4706. No data to save.\n", "4706\n", + "model_vars.get('Gini', 0)[-1]=0.6576\n", + "Condition not met at step 4707. No data to save.\n", "4707\n", + "model_vars.get('Gini', 0)[-1]=0.649\n", + "Condition not met at step 4708. No data to save.\n", "4708\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 4709. No data to save.\n", "4709\n", + "model_vars.get('Gini', 0)[-1]=0.6382\n", + "Condition not met at step 4710. No data to save.\n", "4710\n", + "model_vars.get('Gini', 0)[-1]=0.651\n", + "Condition not met at step 4711. No data to save.\n", "4711\n", + "model_vars.get('Gini', 0)[-1]=0.6442\n", + "Condition not met at step 4712. No data to save.\n", "4712\n", + "model_vars.get('Gini', 0)[-1]=0.6226\n", + "Condition not met at step 4713. No data to save.\n", "4713\n", + "model_vars.get('Gini', 0)[-1]=0.6288\n", + "Condition not met at step 4714. No data to save.\n", "4714\n", + "model_vars.get('Gini', 0)[-1]=0.6234\n", + "Condition not met at step 4715. No data to save.\n", "4715\n", + "model_vars.get('Gini', 0)[-1]=0.6244000000000001\n", + "Condition not met at step 4716. No data to save.\n", "4716\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 4717. No data to save.\n", "4717\n", + "model_vars.get('Gini', 0)[-1]=0.628\n", + "Condition not met at step 4718. No data to save.\n", "4718\n", + "model_vars.get('Gini', 0)[-1]=0.6344000000000001\n", + "Condition not met at step 4719. No data to save.\n", "4719\n", + "model_vars.get('Gini', 0)[-1]=0.64\n", + "Condition not met at step 4720. No data to save.\n", "4720\n", + "model_vars.get('Gini', 0)[-1]=0.593\n", + "Condition not met at step 4721. No data to save.\n", "4721\n", + "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", + "Condition not met at step 4722. No data to save.\n", "4722\n", + "model_vars.get('Gini', 0)[-1]=0.6392\n", + "Condition not met at step 4723. No data to save.\n", "4723\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 4724. No data to save.\n", "4724\n", + "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", + "Condition not met at step 4725. No data to save.\n", "4725\n", + "model_vars.get('Gini', 0)[-1]=0.6128\n", + "Condition not met at step 4726. No data to save.\n", "4726\n", + "model_vars.get('Gini', 0)[-1]=0.6020000000000001\n", + "Condition not met at step 4727. No data to save.\n", "4727\n", + "model_vars.get('Gini', 0)[-1]=0.6134\n", + "Condition not met at step 4728. No data to save.\n", "4728\n", + "model_vars.get('Gini', 0)[-1]=0.6076\n", + "Condition not met at step 4729. No data to save.\n", "4729\n", + "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", + "Condition not met at step 4730. No data to save.\n", "4730\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 4731. No data to save.\n", "4731\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 4732. No data to save.\n", "4732\n", + "model_vars.get('Gini', 0)[-1]=0.6332\n", + "Condition not met at step 4733. No data to save.\n", "4733\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 4734. No data to save.\n", "4734\n", + "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", + "Condition not met at step 4735. No data to save.\n", "4735\n", + "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", + "Condition not met at step 4736. No data to save.\n", "4736\n", + "model_vars.get('Gini', 0)[-1]=0.7058\n", + "Condition met. Appended special results for step 4737 to test_path/special_results.parquet\n", "4737\n", + "model_vars.get('Gini', 0)[-1]=0.7050000000000001\n", + "Condition met. Appended special results for step 4738 to test_path/special_results.parquet\n", "4738\n", + "model_vars.get('Gini', 0)[-1]=0.6996\n", + "Condition not met at step 4739. No data to save.\n", "4739\n", + "model_vars.get('Gini', 0)[-1]=0.6988000000000001\n", + "Condition not met at step 4740. No data to save.\n", "4740\n", + "model_vars.get('Gini', 0)[-1]=0.6944\n", + "Condition not met at step 4741. No data to save.\n", "4741\n", + "model_vars.get('Gini', 0)[-1]=0.6902\n", + "Condition not met at step 4742. No data to save.\n", "4742\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 4743. No data to save.\n", "4743\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 4744. No data to save.\n", "4744\n", + "model_vars.get('Gini', 0)[-1]=0.6738\n", + "Condition not met at step 4745. No data to save.\n", "4745\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 4746. No data to save.\n", "4746\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 4747. No data to save.\n", "4747\n", + "model_vars.get('Gini', 0)[-1]=0.6874\n", + "Condition not met at step 4748. No data to save.\n", "4748\n", + "model_vars.get('Gini', 0)[-1]=0.702\n", + "Condition met. Appended special results for step 4749 to test_path/special_results.parquet\n", "4749\n", + "model_vars.get('Gini', 0)[-1]=0.6988000000000001\n", + "Condition not met at step 4750. No data to save.\n", "4750\n", + "model_vars.get('Gini', 0)[-1]=0.6884\n", + "Condition not met at step 4751. No data to save.\n", "4751\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 4752. No data to save.\n", "4752\n", + "model_vars.get('Gini', 0)[-1]=0.6754\n", + "Condition not met at step 4753. No data to save.\n", "4753\n", + "model_vars.get('Gini', 0)[-1]=0.6636\n", + "Condition not met at step 4754. No data to save.\n", "4754\n", + "model_vars.get('Gini', 0)[-1]=0.6302\n", + "Condition not met at step 4755. No data to save.\n", "4755\n", + "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", + "Condition not met at step 4756. No data to save.\n", "4756\n", + "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", + "Condition not met at step 4757. No data to save.\n", "4757\n", + "model_vars.get('Gini', 0)[-1]=0.6722\n", + "Condition not met at step 4758. No data to save.\n", "4758\n", + "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", + "Condition not met at step 4759. No data to save.\n", "4759\n", + "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", + "Condition not met at step 4760. No data to save.\n", "4760\n", + "model_vars.get('Gini', 0)[-1]=0.6839999999999999\n", + "Condition not met at step 4761. No data to save.\n", "4761\n", + "model_vars.get('Gini', 0)[-1]=0.6704\n", + "Condition not met at step 4762. No data to save.\n", "4762\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 4763. No data to save.\n", "4763\n", + "model_vars.get('Gini', 0)[-1]=0.645\n", + "Condition not met at step 4764. No data to save.\n", "4764\n", + "model_vars.get('Gini', 0)[-1]=0.62\n", + "Condition not met at step 4765. No data to save.\n", "4765\n", + "model_vars.get('Gini', 0)[-1]=0.6266\n", + "Condition not met at step 4766. No data to save.\n", "4766\n", + "model_vars.get('Gini', 0)[-1]=0.6318\n", + "Condition not met at step 4767. No data to save.\n", "4767\n", + "model_vars.get('Gini', 0)[-1]=0.6186\n", + "Condition not met at step 4768. No data to save.\n", "4768\n", + "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", + "Condition not met at step 4769. No data to save.\n", "4769\n", + "model_vars.get('Gini', 0)[-1]=0.6382\n", + "Condition not met at step 4770. No data to save.\n", "4770\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 4771. No data to save.\n", "4771\n", + "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", + "Condition not met at step 4772. No data to save.\n", "4772\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 4773. No data to save.\n", "4773\n", + "model_vars.get('Gini', 0)[-1]=0.6382\n", + "Condition not met at step 4774. No data to save.\n", "4774\n", + "model_vars.get('Gini', 0)[-1]=0.6554\n", + "Condition not met at step 4775. No data to save.\n", "4775\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 4776. No data to save.\n", "4776\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 4777. No data to save.\n", "4777\n", + "model_vars.get('Gini', 0)[-1]=0.6624\n", + "Condition not met at step 4778. No data to save.\n", "4778\n", + "model_vars.get('Gini', 0)[-1]=0.6576\n", + "Condition not met at step 4779. No data to save.\n", "4779\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 4780. No data to save.\n", "4780\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 4781. No data to save.\n", "4781\n", + "model_vars.get('Gini', 0)[-1]=0.6896\n", + "Condition not met at step 4782. No data to save.\n", "4782\n", + "model_vars.get('Gini', 0)[-1]=0.7004\n", + "Condition met. Appended special results for step 4783 to test_path/special_results.parquet\n", "4783\n", + "model_vars.get('Gini', 0)[-1]=0.6966\n", + "Condition not met at step 4784. No data to save.\n", "4784\n", + "model_vars.get('Gini', 0)[-1]=0.6692\n", + "Condition not met at step 4785. No data to save.\n", "4785\n", + "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", + "Condition not met at step 4786. No data to save.\n", "4786\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 4787. No data to save.\n", "4787\n", + "model_vars.get('Gini', 0)[-1]=0.6818\n", + "Condition not met at step 4788. No data to save.\n", "4788\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 4789. No data to save.\n", "4789\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 4790. No data to save.\n", "4790\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 4791. No data to save.\n", "4791\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 4792. No data to save.\n", "4792\n", + "model_vars.get('Gini', 0)[-1]=0.6522\n", + "Condition not met at step 4793. No data to save.\n", "4793\n", + "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", + "Condition not met at step 4794. No data to save.\n", "4794\n", + "model_vars.get('Gini', 0)[-1]=0.6462\n", + "Condition not met at step 4795. No data to save.\n", "4795\n", + "model_vars.get('Gini', 0)[-1]=0.662\n", + "Condition not met at step 4796. No data to save.\n", "4796\n", + "model_vars.get('Gini', 0)[-1]=0.6856\n", + "Condition not met at step 4797. No data to save.\n", "4797\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 4798. No data to save.\n", "4798\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 4799. No data to save.\n", "4799\n", "CALLED\n", "self.model._steps=4800\n", " TEST self.model._steps=4800\n", " TEST self._cache_interval=100\n", " Gini\n", - "4700 0.6968\n", - "4701 0.7030\n", - "4702 0.7016\n", - "4703 0.7108\n", - "4704 0.7126\n", + "4700 0.5552\n", + "4701 0.5780\n", + "4702 0.5768\n", + "4703 0.5990\n", + "4704 0.6172\n", "... ...\n", - "4795 0.6664\n", - "4796 0.6556\n", - "4797 0.6322\n", - "4798 0.6430\n", - "4799 0.6480\n", + "4795 0.6620\n", + "4796 0.6856\n", + "4797 0.6602\n", + "4798 0.6508\n", + "4799 0.6674\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_048.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_048.parquet'\n", - "Saving model to output_dir/model_data_048.parquet\n", - "Saving agent to output_dir/agent_data_048.parquet\n", + "model_file='test_path/model_data_048.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_048.parquet'\n", + "Saving model to test_path/model_data_048.parquet\n", + "Saving agent to test_path/agent_data_048.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6674\n", + "Condition not met at step 4800. No data to save.\n", "4800\n", + "model_vars.get('Gini', 0)[-1]=0.6742\n", + "Condition not met at step 4801. No data to save.\n", "4801\n", + "model_vars.get('Gini', 0)[-1]=0.6914\n", + "Condition not met at step 4802. No data to save.\n", "4802\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 4803. No data to save.\n", "4803\n", + "model_vars.get('Gini', 0)[-1]=0.6592\n", + "Condition not met at step 4804. No data to save.\n", "4804\n", + "model_vars.get('Gini', 0)[-1]=0.6118\n", + "Condition not met at step 4805. No data to save.\n", "4805\n", + "model_vars.get('Gini', 0)[-1]=0.6314\n", + "Condition not met at step 4806. No data to save.\n", "4806\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 4807. No data to save.\n", "4807\n", + "model_vars.get('Gini', 0)[-1]=0.6812\n", + "Condition not met at step 4808. No data to save.\n", "4808\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 4809. No data to save.\n", "4809\n", + "model_vars.get('Gini', 0)[-1]=0.6582\n", + "Condition not met at step 4810. No data to save.\n", "4810\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 4811. No data to save.\n", "4811\n", + "model_vars.get('Gini', 0)[-1]=0.6608\n", + "Condition not met at step 4812. No data to save.\n", "4812\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 4813. No data to save.\n", "4813\n", + "model_vars.get('Gini', 0)[-1]=0.6514\n", + "Condition not met at step 4814. No data to save.\n", "4814\n", + "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", + "Condition not met at step 4815. No data to save.\n", "4815\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 4816. No data to save.\n", "4816\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 4817. No data to save.\n", "4817\n", + "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", + "Condition not met at step 4818. No data to save.\n", "4818\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 4819. No data to save.\n", "4819\n", + "model_vars.get('Gini', 0)[-1]=0.6838\n", + "Condition not met at step 4820. No data to save.\n", "4820\n", + "model_vars.get('Gini', 0)[-1]=0.6696\n", + "Condition not met at step 4821. No data to save.\n", "4821\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 4822. No data to save.\n", "4822\n", + "model_vars.get('Gini', 0)[-1]=0.6774\n", + "Condition not met at step 4823. No data to save.\n", "4823\n", + "model_vars.get('Gini', 0)[-1]=0.6968000000000001\n", + "Condition not met at step 4824. No data to save.\n", "4824\n", + "model_vars.get('Gini', 0)[-1]=0.653\n", + "Condition not met at step 4825. No data to save.\n", "4825\n", + "model_vars.get('Gini', 0)[-1]=0.663\n", + "Condition not met at step 4826. No data to save.\n", "4826\n", + "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", + "Condition not met at step 4827. No data to save.\n", "4827\n", + "model_vars.get('Gini', 0)[-1]=0.6864\n", + "Condition not met at step 4828. No data to save.\n", "4828\n", + "model_vars.get('Gini', 0)[-1]=0.6784\n", + "Condition not met at step 4829. No data to save.\n", "4829\n", + "model_vars.get('Gini', 0)[-1]=0.6918\n", + "Condition not met at step 4830. No data to save.\n", "4830\n", + "model_vars.get('Gini', 0)[-1]=0.6918\n", + "Condition not met at step 4831. No data to save.\n", "4831\n", + "model_vars.get('Gini', 0)[-1]=0.7056\n", + "Condition met. Appended special results for step 4832 to test_path/special_results.parquet\n", "4832\n", + "model_vars.get('Gini', 0)[-1]=0.6938\n", + "Condition not met at step 4833. No data to save.\n", "4833\n", + "model_vars.get('Gini', 0)[-1]=0.6944\n", + "Condition not met at step 4834. No data to save.\n", "4834\n", + "model_vars.get('Gini', 0)[-1]=0.6806\n", + "Condition not met at step 4835. No data to save.\n", "4835\n", + "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", + "Condition not met at step 4836. No data to save.\n", "4836\n", + "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", + "Condition not met at step 4837. No data to save.\n", "4837\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 4838. No data to save.\n", "4838\n", + "model_vars.get('Gini', 0)[-1]=0.638\n", + "Condition not met at step 4839. No data to save.\n", "4839\n", + "model_vars.get('Gini', 0)[-1]=0.648\n", + "Condition not met at step 4840. No data to save.\n", "4840\n", + "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", + "Condition not met at step 4841. No data to save.\n", "4841\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 4842. No data to save.\n", "4842\n", + "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", + "Condition not met at step 4843. No data to save.\n", "4843\n", + "model_vars.get('Gini', 0)[-1]=0.6376\n", + "Condition not met at step 4844. No data to save.\n", "4844\n", + "model_vars.get('Gini', 0)[-1]=0.629\n", + "Condition not met at step 4845. No data to save.\n", "4845\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 4846. No data to save.\n", "4846\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 4847. No data to save.\n", "4847\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 4848. No data to save.\n", "4848\n", + "model_vars.get('Gini', 0)[-1]=0.641\n", + "Condition not met at step 4849. No data to save.\n", "4849\n", + "model_vars.get('Gini', 0)[-1]=0.6132\n", + "Condition not met at step 4850. No data to save.\n", "4850\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 4851. No data to save.\n", "4851\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 4852. No data to save.\n", "4852\n", + "model_vars.get('Gini', 0)[-1]=0.6516\n", + "Condition not met at step 4853. No data to save.\n", "4853\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 4854. No data to save.\n", "4854\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 4855. No data to save.\n", "4855\n", + "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", + "Condition not met at step 4856. No data to save.\n", "4856\n", + "model_vars.get('Gini', 0)[-1]=0.6512\n", + "Condition not met at step 4857. No data to save.\n", "4857\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 4858. No data to save.\n", "4858\n", + "model_vars.get('Gini', 0)[-1]=0.613\n", + "Condition not met at step 4859. No data to save.\n", "4859\n", + "model_vars.get('Gini', 0)[-1]=0.618\n", + "Condition not met at step 4860. No data to save.\n", "4860\n", + "model_vars.get('Gini', 0)[-1]=0.5874\n", + "Condition not met at step 4861. No data to save.\n", "4861\n", + "model_vars.get('Gini', 0)[-1]=0.6016\n", + "Condition not met at step 4862. No data to save.\n", "4862\n", + "model_vars.get('Gini', 0)[-1]=0.6148\n", + "Condition not met at step 4863. No data to save.\n", "4863\n", + "model_vars.get('Gini', 0)[-1]=0.6278\n", + "Condition not met at step 4864. No data to save.\n", "4864\n", + "model_vars.get('Gini', 0)[-1]=0.6368\n", + "Condition not met at step 4865. No data to save.\n", "4865\n", + "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", + "Condition not met at step 4866. No data to save.\n", "4866\n", + "model_vars.get('Gini', 0)[-1]=0.6638\n", + "Condition not met at step 4867. No data to save.\n", "4867\n", + "model_vars.get('Gini', 0)[-1]=0.657\n", + "Condition not met at step 4868. No data to save.\n", "4868\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 4869. No data to save.\n", "4869\n", + "model_vars.get('Gini', 0)[-1]=0.6522\n", + "Condition not met at step 4870. No data to save.\n", "4870\n", + "model_vars.get('Gini', 0)[-1]=0.6638\n", + "Condition not met at step 4871. No data to save.\n", "4871\n", + "model_vars.get('Gini', 0)[-1]=0.648\n", + "Condition not met at step 4872. No data to save.\n", "4872\n", + "model_vars.get('Gini', 0)[-1]=0.6576\n", + "Condition not met at step 4873. No data to save.\n", "4873\n", + "model_vars.get('Gini', 0)[-1]=0.6812\n", + "Condition not met at step 4874. No data to save.\n", "4874\n", + "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", + "Condition not met at step 4875. No data to save.\n", "4875\n", + "model_vars.get('Gini', 0)[-1]=0.6674\n", + "Condition not met at step 4876. No data to save.\n", "4876\n", + "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", + "Condition not met at step 4877. No data to save.\n", "4877\n", + "model_vars.get('Gini', 0)[-1]=0.6574\n", + "Condition not met at step 4878. No data to save.\n", "4878\n", + "model_vars.get('Gini', 0)[-1]=0.6634\n", + "Condition not met at step 4879. No data to save.\n", "4879\n", + "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", + "Condition not met at step 4880. No data to save.\n", "4880\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 4881. No data to save.\n", "4881\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 4882. No data to save.\n", "4882\n", + "model_vars.get('Gini', 0)[-1]=0.6338\n", + "Condition not met at step 4883. No data to save.\n", "4883\n", + "model_vars.get('Gini', 0)[-1]=0.6048\n", + "Condition not met at step 4884. No data to save.\n", "4884\n", + "model_vars.get('Gini', 0)[-1]=0.6144000000000001\n", + "Condition not met at step 4885. No data to save.\n", "4885\n", + "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", + "Condition not met at step 4886. No data to save.\n", "4886\n", + "model_vars.get('Gini', 0)[-1]=0.6138\n", + "Condition not met at step 4887. No data to save.\n", "4887\n", + "model_vars.get('Gini', 0)[-1]=0.6128\n", + "Condition not met at step 4888. No data to save.\n", "4888\n", + "model_vars.get('Gini', 0)[-1]=0.5953999999999999\n", + "Condition not met at step 4889. No data to save.\n", "4889\n", + "model_vars.get('Gini', 0)[-1]=0.5658000000000001\n", + "Condition not met at step 4890. No data to save.\n", "4890\n", + "model_vars.get('Gini', 0)[-1]=0.558\n", + "Condition not met at step 4891. No data to save.\n", "4891\n", + "model_vars.get('Gini', 0)[-1]=0.5694\n", + "Condition not met at step 4892. No data to save.\n", "4892\n", + "model_vars.get('Gini', 0)[-1]=0.601\n", + "Condition not met at step 4893. No data to save.\n", "4893\n", + "model_vars.get('Gini', 0)[-1]=0.618\n", + "Condition not met at step 4894. No data to save.\n", "4894\n", + "model_vars.get('Gini', 0)[-1]=0.611\n", + "Condition not met at step 4895. No data to save.\n", "4895\n", + "model_vars.get('Gini', 0)[-1]=0.6104\n", + "Condition not met at step 4896. No data to save.\n", "4896\n", + "model_vars.get('Gini', 0)[-1]=0.6073999999999999\n", + "Condition not met at step 4897. No data to save.\n", "4897\n", + "model_vars.get('Gini', 0)[-1]=0.6334\n", + "Condition not met at step 4898. No data to save.\n", "4898\n", + "model_vars.get('Gini', 0)[-1]=0.6053999999999999\n", + "Condition not met at step 4899. No data to save.\n", "4899\n", "CALLED\n", "self.model._steps=4900\n", " TEST self.model._steps=4900\n", " TEST self._cache_interval=100\n", " Gini\n", - "4800 0.6212\n", - "4801 0.6648\n", - "4802 0.6418\n", - "4803 0.6202\n", - "4804 0.6282\n", + "4800 0.6742\n", + "4801 0.6914\n", + "4802 0.6712\n", + "4803 0.6592\n", + "4804 0.6118\n", "... ...\n", - "4895 0.6880\n", - "4896 0.6904\n", - "4897 0.6694\n", - "4898 0.6674\n", - "4899 0.6632\n", + "4895 0.6104\n", + "4896 0.6074\n", + "4897 0.6334\n", + "4898 0.6054\n", + "4899 0.6306\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_049.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_049.parquet'\n", - "Saving model to output_dir/model_data_049.parquet\n", - "Saving agent to output_dir/agent_data_049.parquet\n", + "model_file='test_path/model_data_049.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_049.parquet'\n", + "Saving model to test_path/model_data_049.parquet\n", + "Saving agent to test_path/agent_data_049.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6306\n", + "Condition not met at step 4900. No data to save.\n", "4900\n", + "model_vars.get('Gini', 0)[-1]=0.625\n", + "Condition not met at step 4901. No data to save.\n", "4901\n", + "model_vars.get('Gini', 0)[-1]=0.6354\n", + "Condition not met at step 4902. No data to save.\n", "4902\n", + "model_vars.get('Gini', 0)[-1]=0.638\n", + "Condition not met at step 4903. No data to save.\n", "4903\n", + "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", + "Condition not met at step 4904. No data to save.\n", "4904\n", + "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", + "Condition not met at step 4905. No data to save.\n", "4905\n", + "model_vars.get('Gini', 0)[-1]=0.6302\n", + "Condition not met at step 4906. No data to save.\n", "4906\n", + "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", + "Condition not met at step 4907. No data to save.\n", "4907\n", + "model_vars.get('Gini', 0)[-1]=0.628\n", + "Condition not met at step 4908. No data to save.\n", "4908\n", + "model_vars.get('Gini', 0)[-1]=0.6146\n", + "Condition not met at step 4909. No data to save.\n", "4909\n", + "model_vars.get('Gini', 0)[-1]=0.6235999999999999\n", + "Condition not met at step 4910. No data to save.\n", "4910\n", + "model_vars.get('Gini', 0)[-1]=0.612\n", + "Condition not met at step 4911. No data to save.\n", "4911\n", + "model_vars.get('Gini', 0)[-1]=0.6376\n", + "Condition not met at step 4912. No data to save.\n", "4912\n", + "model_vars.get('Gini', 0)[-1]=0.613\n", + "Condition not met at step 4913. No data to save.\n", "4913\n", + "model_vars.get('Gini', 0)[-1]=0.609\n", + "Condition not met at step 4914. No data to save.\n", "4914\n", + "model_vars.get('Gini', 0)[-1]=0.6554\n", + "Condition not met at step 4915. No data to save.\n", "4915\n", + "model_vars.get('Gini', 0)[-1]=0.653\n", + "Condition not met at step 4916. No data to save.\n", "4916\n", + "model_vars.get('Gini', 0)[-1]=0.6266\n", + "Condition not met at step 4917. No data to save.\n", "4917\n", + "model_vars.get('Gini', 0)[-1]=0.6358\n", + "Condition not met at step 4918. No data to save.\n", "4918\n", + "model_vars.get('Gini', 0)[-1]=0.6698\n", + "Condition not met at step 4919. No data to save.\n", "4919\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 4920. No data to save.\n", "4920\n", + "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", + "Condition not met at step 4921. No data to save.\n", "4921\n", + "model_vars.get('Gini', 0)[-1]=0.6516\n", + "Condition not met at step 4922. No data to save.\n", "4922\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 4923. No data to save.\n", "4923\n", + "model_vars.get('Gini', 0)[-1]=0.626\n", + "Condition not met at step 4924. No data to save.\n", "4924\n", + "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", + "Condition not met at step 4925. No data to save.\n", "4925\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 4926. No data to save.\n", "4926\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 4927. No data to save.\n", "4927\n", + "model_vars.get('Gini', 0)[-1]=0.6754\n", + "Condition not met at step 4928. No data to save.\n", "4928\n", + "model_vars.get('Gini', 0)[-1]=0.6472\n", + "Condition not met at step 4929. No data to save.\n", "4929\n", + "model_vars.get('Gini', 0)[-1]=0.6298\n", + "Condition not met at step 4930. No data to save.\n", "4930\n", + "model_vars.get('Gini', 0)[-1]=0.61\n", + "Condition not met at step 4931. No data to save.\n", "4931\n", + "model_vars.get('Gini', 0)[-1]=0.6062000000000001\n", + "Condition not met at step 4932. No data to save.\n", "4932\n", + "model_vars.get('Gini', 0)[-1]=0.6158\n", + "Condition not met at step 4933. No data to save.\n", "4933\n", + "model_vars.get('Gini', 0)[-1]=0.6072\n", + "Condition not met at step 4934. No data to save.\n", "4934\n", + "model_vars.get('Gini', 0)[-1]=0.6338\n", + "Condition not met at step 4935. No data to save.\n", "4935\n", + "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", + "Condition not met at step 4936. No data to save.\n", "4936\n", + "model_vars.get('Gini', 0)[-1]=0.6192\n", + "Condition not met at step 4937. No data to save.\n", "4937\n", + "model_vars.get('Gini', 0)[-1]=0.6398\n", + "Condition not met at step 4938. No data to save.\n", "4938\n", + "model_vars.get('Gini', 0)[-1]=0.6272\n", + "Condition not met at step 4939. No data to save.\n", "4939\n", + "model_vars.get('Gini', 0)[-1]=0.6428\n", + "Condition not met at step 4940. No data to save.\n", "4940\n", + "model_vars.get('Gini', 0)[-1]=0.6392\n", + "Condition not met at step 4941. No data to save.\n", "4941\n", + "model_vars.get('Gini', 0)[-1]=0.6092\n", + "Condition not met at step 4942. No data to save.\n", "4942\n", + "model_vars.get('Gini', 0)[-1]=0.6088\n", + "Condition not met at step 4943. No data to save.\n", "4943\n", + "model_vars.get('Gini', 0)[-1]=0.6128\n", + "Condition not met at step 4944. No data to save.\n", "4944\n", + "model_vars.get('Gini', 0)[-1]=0.64\n", + "Condition not met at step 4945. No data to save.\n", "4945\n", + "model_vars.get('Gini', 0)[-1]=0.6004\n", + "Condition not met at step 4946. No data to save.\n", "4946\n", + "model_vars.get('Gini', 0)[-1]=0.624\n", + "Condition not met at step 4947. No data to save.\n", "4947\n", + "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", + "Condition not met at step 4948. No data to save.\n", "4948\n", + "model_vars.get('Gini', 0)[-1]=0.6166\n", + "Condition not met at step 4949. No data to save.\n", "4949\n", + "model_vars.get('Gini', 0)[-1]=0.6202000000000001\n", + "Condition not met at step 4950. No data to save.\n", "4950\n", + "model_vars.get('Gini', 0)[-1]=0.6214\n", + "Condition not met at step 4951. No data to save.\n", "4951\n", + "model_vars.get('Gini', 0)[-1]=0.6434\n", + "Condition not met at step 4952. No data to save.\n", "4952\n", + "model_vars.get('Gini', 0)[-1]=0.6252\n", + "Condition not met at step 4953. No data to save.\n", "4953\n", + "model_vars.get('Gini', 0)[-1]=0.6093999999999999\n", + "Condition not met at step 4954. No data to save.\n", "4954\n", + "model_vars.get('Gini', 0)[-1]=0.567\n", + "Condition not met at step 4955. No data to save.\n", "4955\n", + "model_vars.get('Gini', 0)[-1]=0.5834\n", + "Condition not met at step 4956. No data to save.\n", "4956\n", + "model_vars.get('Gini', 0)[-1]=0.605\n", + "Condition not met at step 4957. No data to save.\n", "4957\n", + "model_vars.get('Gini', 0)[-1]=0.5806\n", + "Condition not met at step 4958. No data to save.\n", "4958\n", + "model_vars.get('Gini', 0)[-1]=0.5926\n", + "Condition not met at step 4959. No data to save.\n", "4959\n", + "model_vars.get('Gini', 0)[-1]=0.5884\n", + "Condition not met at step 4960. No data to save.\n", "4960\n", + "model_vars.get('Gini', 0)[-1]=0.603\n", + "Condition not met at step 4961. No data to save.\n", "4961\n", + "model_vars.get('Gini', 0)[-1]=0.5956\n", + "Condition not met at step 4962. No data to save.\n", "4962\n", + "model_vars.get('Gini', 0)[-1]=0.5898\n", + "Condition not met at step 4963. No data to save.\n", "4963\n", + "model_vars.get('Gini', 0)[-1]=0.5986\n", + "Condition not met at step 4964. No data to save.\n", "4964\n", + "model_vars.get('Gini', 0)[-1]=0.5960000000000001\n", + "Condition not met at step 4965. No data to save.\n", "4965\n", + "model_vars.get('Gini', 0)[-1]=0.5906\n", + "Condition not met at step 4966. No data to save.\n", "4966\n", + "model_vars.get('Gini', 0)[-1]=0.617\n", + "Condition not met at step 4967. No data to save.\n", "4967\n", + "model_vars.get('Gini', 0)[-1]=0.6134\n", + "Condition not met at step 4968. No data to save.\n", "4968\n", + "model_vars.get('Gini', 0)[-1]=0.624\n", + "Condition not met at step 4969. No data to save.\n", "4969\n", + "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", + "Condition not met at step 4970. No data to save.\n", "4970\n", + "model_vars.get('Gini', 0)[-1]=0.6372\n", + "Condition not met at step 4971. No data to save.\n", "4971\n", + "model_vars.get('Gini', 0)[-1]=0.6604\n", + "Condition not met at step 4972. No data to save.\n", "4972\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 4973. No data to save.\n", "4973\n", + "model_vars.get('Gini', 0)[-1]=0.6738\n", + "Condition not met at step 4974. No data to save.\n", "4974\n", + "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", + "Condition not met at step 4975. No data to save.\n", "4975\n", + "model_vars.get('Gini', 0)[-1]=0.6502\n", + "Condition not met at step 4976. No data to save.\n", "4976\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 4977. No data to save.\n", "4977\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 4978. No data to save.\n", "4978\n", + "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "Condition not met at step 4979. No data to save.\n", "4979\n", + "model_vars.get('Gini', 0)[-1]=0.69\n", + "Condition not met at step 4980. No data to save.\n", "4980\n", + "model_vars.get('Gini', 0)[-1]=0.6838\n", + "Condition not met at step 4981. No data to save.\n", "4981\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 4982. No data to save.\n", "4982\n", + "model_vars.get('Gini', 0)[-1]=0.639\n", + "Condition not met at step 4983. No data to save.\n", "4983\n", + "model_vars.get('Gini', 0)[-1]=0.6456\n", + "Condition not met at step 4984. No data to save.\n", "4984\n", + "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", + "Condition not met at step 4985. No data to save.\n", "4985\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 4986. No data to save.\n", "4986\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 4987. No data to save.\n", "4987\n", + "model_vars.get('Gini', 0)[-1]=0.6576\n", + "Condition not met at step 4988. No data to save.\n", "4988\n", + "model_vars.get('Gini', 0)[-1]=0.692\n", + "Condition not met at step 4989. No data to save.\n", "4989\n", + "model_vars.get('Gini', 0)[-1]=0.6718\n", + "Condition not met at step 4990. No data to save.\n", "4990\n", + "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", + "Condition not met at step 4991. No data to save.\n", "4991\n", + "model_vars.get('Gini', 0)[-1]=0.6528\n", + "Condition not met at step 4992. No data to save.\n", "4992\n", + "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", + "Condition not met at step 4993. No data to save.\n", "4993\n", + "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", + "Condition not met at step 4994. No data to save.\n", "4994\n", + "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", + "Condition not met at step 4995. No data to save.\n", "4995\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 4996. No data to save.\n", "4996\n", + "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", + "Condition not met at step 4997. No data to save.\n", "4997\n", + "model_vars.get('Gini', 0)[-1]=0.653\n", + "Condition not met at step 4998. No data to save.\n", "4998\n", + "model_vars.get('Gini', 0)[-1]=0.591\n", + "Condition not met at step 4999. No data to save.\n", "4999\n", "CALLED\n", "self.model._steps=5000\n", " TEST self.model._steps=5000\n", " TEST self._cache_interval=100\n", " Gini\n", - "4900 0.6716\n", - "4901 0.6754\n", - "4902 0.6870\n", - "4903 0.6812\n", - "4904 0.6874\n", + "4900 0.6250\n", + "4901 0.6354\n", + "4902 0.6380\n", + "4903 0.6444\n", + "4904 0.6386\n", "... ...\n", - "4995 0.6382\n", - "4996 0.6416\n", - "4997 0.6322\n", - "4998 0.6220\n", - "4999 0.6396\n", + "4995 0.6632\n", + "4996 0.6708\n", + "4997 0.6530\n", + "4998 0.5910\n", + "4999 0.6036\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_050.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_050.parquet'\n", - "Saving model to output_dir/model_data_050.parquet\n", - "Saving agent to output_dir/agent_data_050.parquet\n", + "model_file='test_path/model_data_050.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_050.parquet'\n", + "Saving model to test_path/model_data_050.parquet\n", + "Saving agent to test_path/agent_data_050.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6036\n", + "Condition not met at step 5000. No data to save.\n", "5000\n", + "model_vars.get('Gini', 0)[-1]=0.6046\n", + "Condition not met at step 5001. No data to save.\n", "5001\n", + "model_vars.get('Gini', 0)[-1]=0.6226\n", + "Condition not met at step 5002. No data to save.\n", "5002\n", + "model_vars.get('Gini', 0)[-1]=0.6248\n", + "Condition not met at step 5003. No data to save.\n", "5003\n", + "model_vars.get('Gini', 0)[-1]=0.6382\n", + "Condition not met at step 5004. No data to save.\n", "5004\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 5005. No data to save.\n", "5005\n", + "model_vars.get('Gini', 0)[-1]=0.667\n", + "Condition not met at step 5006. No data to save.\n", "5006\n", + "model_vars.get('Gini', 0)[-1]=0.6744\n", + "Condition not met at step 5007. No data to save.\n", "5007\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 5008. No data to save.\n", "5008\n", + "model_vars.get('Gini', 0)[-1]=0.7088\n", + "Condition met. Appended special results for step 5009 to test_path/special_results.parquet\n", "5009\n", + "model_vars.get('Gini', 0)[-1]=0.7130000000000001\n", + "Condition met. Appended special results for step 5010 to test_path/special_results.parquet\n", "5010\n", + "model_vars.get('Gini', 0)[-1]=0.728\n", + "Condition met. Appended special results for step 5011 to test_path/special_results.parquet\n", "5011\n", + "model_vars.get('Gini', 0)[-1]=0.726\n", + "Condition met. Appended special results for step 5012 to test_path/special_results.parquet\n", "5012\n", + "model_vars.get('Gini', 0)[-1]=0.7414000000000001\n", + "Condition met. Appended special results for step 5013 to test_path/special_results.parquet\n", "5013\n", + "model_vars.get('Gini', 0)[-1]=0.7216\n", + "Condition met. Appended special results for step 5014 to test_path/special_results.parquet\n", "5014\n", + "model_vars.get('Gini', 0)[-1]=0.6998\n", + "Condition not met at step 5015. No data to save.\n", "5015\n", + "model_vars.get('Gini', 0)[-1]=0.698\n", + "Condition not met at step 5016. No data to save.\n", "5016\n", + "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", + "Condition not met at step 5017. No data to save.\n", "5017\n", + "model_vars.get('Gini', 0)[-1]=0.6794\n", + "Condition not met at step 5018. No data to save.\n", "5018\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 5019. No data to save.\n", "5019\n", + "model_vars.get('Gini', 0)[-1]=0.6408\n", + "Condition not met at step 5020. No data to save.\n", "5020\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 5021. No data to save.\n", "5021\n", + "model_vars.get('Gini', 0)[-1]=0.6672\n", + "Condition not met at step 5022. No data to save.\n", "5022\n", + "model_vars.get('Gini', 0)[-1]=0.6412\n", + "Condition not met at step 5023. No data to save.\n", "5023\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 5024. No data to save.\n", "5024\n", + "model_vars.get('Gini', 0)[-1]=0.6374\n", + "Condition not met at step 5025. No data to save.\n", "5025\n", + "model_vars.get('Gini', 0)[-1]=0.6154\n", + "Condition not met at step 5026. No data to save.\n", "5026\n", + "model_vars.get('Gini', 0)[-1]=0.6026\n", + "Condition not met at step 5027. No data to save.\n", "5027\n", + "model_vars.get('Gini', 0)[-1]=0.6168\n", + "Condition not met at step 5028. No data to save.\n", "5028\n", + "model_vars.get('Gini', 0)[-1]=0.6294\n", + "Condition not met at step 5029. No data to save.\n", "5029\n", + "model_vars.get('Gini', 0)[-1]=0.6836\n", + "Condition not met at step 5030. No data to save.\n", "5030\n", + "model_vars.get('Gini', 0)[-1]=0.7094\n", + "Condition met. Appended special results for step 5031 to test_path/special_results.parquet\n", "5031\n", + "model_vars.get('Gini', 0)[-1]=0.7150000000000001\n", + "Condition met. Appended special results for step 5032 to test_path/special_results.parquet\n", "5032\n", + "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", + "Condition not met at step 5033. No data to save.\n", "5033\n", + "model_vars.get('Gini', 0)[-1]=0.7292000000000001\n", + "Condition met. Appended special results for step 5034 to test_path/special_results.parquet\n", "5034\n", + "model_vars.get('Gini', 0)[-1]=0.7356\n", + "Condition met. Appended special results for step 5035 to test_path/special_results.parquet\n", "5035\n", + "model_vars.get('Gini', 0)[-1]=0.7296\n", + "Condition met. Appended special results for step 5036 to test_path/special_results.parquet\n", "5036\n", + "model_vars.get('Gini', 0)[-1]=0.7088\n", + "Condition met. Appended special results for step 5037 to test_path/special_results.parquet\n", "5037\n", + "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", + "Condition not met at step 5038. No data to save.\n", "5038\n", + "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", + "Condition not met at step 5039. No data to save.\n", "5039\n", + "model_vars.get('Gini', 0)[-1]=0.7202\n", + "Condition met. Appended special results for step 5040 to test_path/special_results.parquet\n", "5040\n", + "model_vars.get('Gini', 0)[-1]=0.722\n", + "Condition met. Appended special results for step 5041 to test_path/special_results.parquet\n", "5041\n", + "model_vars.get('Gini', 0)[-1]=0.7006\n", + "Condition met. Appended special results for step 5042 to test_path/special_results.parquet\n", "5042\n", + "model_vars.get('Gini', 0)[-1]=0.6854\n", + "Condition not met at step 5043. No data to save.\n", "5043\n", + "model_vars.get('Gini', 0)[-1]=0.6782\n", + "Condition not met at step 5044. No data to save.\n", "5044\n", + "model_vars.get('Gini', 0)[-1]=0.6678\n", + "Condition not met at step 5045. No data to save.\n", "5045\n", + "model_vars.get('Gini', 0)[-1]=0.6826\n", + "Condition not met at step 5046. No data to save.\n", "5046\n", + "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", + "Condition not met at step 5047. No data to save.\n", "5047\n", + "model_vars.get('Gini', 0)[-1]=0.6814\n", + "Condition not met at step 5048. No data to save.\n", "5048\n", + "model_vars.get('Gini', 0)[-1]=0.6814\n", + "Condition not met at step 5049. No data to save.\n", "5049\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 5050. No data to save.\n", "5050\n", + "model_vars.get('Gini', 0)[-1]=0.6882\n", + "Condition not met at step 5051. No data to save.\n", "5051\n", + "model_vars.get('Gini', 0)[-1]=0.6594\n", + "Condition not met at step 5052. No data to save.\n", "5052\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 5053. No data to save.\n", "5053\n", + "model_vars.get('Gini', 0)[-1]=0.6634\n", + "Condition not met at step 5054. No data to save.\n", "5054\n", + "model_vars.get('Gini', 0)[-1]=0.6806\n", + "Condition not met at step 5055. No data to save.\n", "5055\n", + "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", + "Condition not met at step 5056. No data to save.\n", "5056\n", + "model_vars.get('Gini', 0)[-1]=0.6862\n", + "Condition not met at step 5057. No data to save.\n", "5057\n", + "model_vars.get('Gini', 0)[-1]=0.6778\n", + "Condition not met at step 5058. No data to save.\n", "5058\n", + "model_vars.get('Gini', 0)[-1]=0.6972\n", + "Condition not met at step 5059. No data to save.\n", "5059\n", + "model_vars.get('Gini', 0)[-1]=0.7126\n", + "Condition met. Appended special results for step 5060 to test_path/special_results.parquet\n", "5060\n", + "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", + "Condition not met at step 5061. No data to save.\n", "5061\n", + "model_vars.get('Gini', 0)[-1]=0.698\n", + "Condition not met at step 5062. No data to save.\n", "5062\n", + "model_vars.get('Gini', 0)[-1]=0.6862\n", + "Condition not met at step 5063. No data to save.\n", "5063\n", + "model_vars.get('Gini', 0)[-1]=0.6514\n", + "Condition not met at step 5064. No data to save.\n", "5064\n", + "model_vars.get('Gini', 0)[-1]=0.6806\n", + "Condition not met at step 5065. No data to save.\n", "5065\n", + "model_vars.get('Gini', 0)[-1]=0.6724\n", + "Condition not met at step 5066. No data to save.\n", "5066\n", + "model_vars.get('Gini', 0)[-1]=0.6896\n", + "Condition not met at step 5067. No data to save.\n", "5067\n", + "model_vars.get('Gini', 0)[-1]=0.7052\n", + "Condition met. Appended special results for step 5068 to test_path/special_results.parquet\n", "5068\n", + "model_vars.get('Gini', 0)[-1]=0.7096\n", + "Condition met. Appended special results for step 5069 to test_path/special_results.parquet\n", "5069\n", + "model_vars.get('Gini', 0)[-1]=0.688\n", + "Condition not met at step 5070. No data to save.\n", "5070\n", + "model_vars.get('Gini', 0)[-1]=0.7048\n", + "Condition met. Appended special results for step 5071 to test_path/special_results.parquet\n", "5071\n", + "model_vars.get('Gini', 0)[-1]=0.6782\n", + "Condition not met at step 5072. No data to save.\n", "5072\n", + "model_vars.get('Gini', 0)[-1]=0.6996\n", + "Condition not met at step 5073. No data to save.\n", "5073\n", + "model_vars.get('Gini', 0)[-1]=0.6924\n", + "Condition not met at step 5074. No data to save.\n", "5074\n", + "model_vars.get('Gini', 0)[-1]=0.677\n", + "Condition not met at step 5075. No data to save.\n", "5075\n", + "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", + "Condition not met at step 5076. No data to save.\n", "5076\n", + "model_vars.get('Gini', 0)[-1]=0.6834\n", + "Condition not met at step 5077. No data to save.\n", "5077\n", + "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", + "Condition not met at step 5078. No data to save.\n", "5078\n", + "model_vars.get('Gini', 0)[-1]=0.6986\n", + "Condition not met at step 5079. No data to save.\n", "5079\n", + "model_vars.get('Gini', 0)[-1]=0.7024\n", + "Condition met. Appended special results for step 5080 to test_path/special_results.parquet\n", "5080\n", + "model_vars.get('Gini', 0)[-1]=0.7092\n", + "Condition met. Appended special results for step 5081 to test_path/special_results.parquet\n", "5081\n", + "model_vars.get('Gini', 0)[-1]=0.683\n", + "Condition not met at step 5082. No data to save.\n", "5082\n", + "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", + "Condition not met at step 5083. No data to save.\n", "5083\n", + "model_vars.get('Gini', 0)[-1]=0.6836\n", + "Condition not met at step 5084. No data to save.\n", "5084\n", + "model_vars.get('Gini', 0)[-1]=0.6742\n", + "Condition not met at step 5085. No data to save.\n", "5085\n", + "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", + "Condition not met at step 5086. No data to save.\n", "5086\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 5087. No data to save.\n", "5087\n", + "model_vars.get('Gini', 0)[-1]=0.654\n", + "Condition not met at step 5088. No data to save.\n", "5088\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 5089. No data to save.\n", "5089\n", + "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", + "Condition not met at step 5090. No data to save.\n", "5090\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 5091. No data to save.\n", "5091\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 5092. No data to save.\n", "5092\n", + "model_vars.get('Gini', 0)[-1]=0.6678\n", + "Condition not met at step 5093. No data to save.\n", "5093\n", + "model_vars.get('Gini', 0)[-1]=0.6584\n", + "Condition not met at step 5094. No data to save.\n", "5094\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 5095. No data to save.\n", "5095\n", + "model_vars.get('Gini', 0)[-1]=0.6348\n", + "Condition not met at step 5096. No data to save.\n", "5096\n", + "model_vars.get('Gini', 0)[-1]=0.6528\n", + "Condition not met at step 5097. No data to save.\n", "5097\n", + "model_vars.get('Gini', 0)[-1]=0.65\n", + "Condition not met at step 5098. No data to save.\n", "5098\n", + "model_vars.get('Gini', 0)[-1]=0.635\n", + "Condition not met at step 5099. No data to save.\n", "5099\n", "CALLED\n", "self.model._steps=5100\n", " TEST self.model._steps=5100\n", " TEST self._cache_interval=100\n", " Gini\n", - "5000 0.6246\n", - "5001 0.6210\n", - "5002 0.6736\n", - "5003 0.6626\n", - "5004 0.6456\n", + "5000 0.6046\n", + "5001 0.6226\n", + "5002 0.6248\n", + "5003 0.6382\n", + "5004 0.6644\n", "... ...\n", - "5095 0.6524\n", - "5096 0.6610\n", - "5097 0.6748\n", - "5098 0.6804\n", - "5099 0.6846\n", + "5095 0.6348\n", + "5096 0.6528\n", + "5097 0.6500\n", + "5098 0.6350\n", + "5099 0.6402\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_051.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_051.parquet'\n", - "Saving model to output_dir/model_data_051.parquet\n", - "Saving agent to output_dir/agent_data_051.parquet\n", + "model_file='test_path/model_data_051.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_051.parquet'\n", + "Saving model to test_path/model_data_051.parquet\n", + "Saving agent to test_path/agent_data_051.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6402\n", + "Condition not met at step 5100. No data to save.\n", "5100\n", + "model_vars.get('Gini', 0)[-1]=0.658\n", + "Condition not met at step 5101. No data to save.\n", "5101\n", + "model_vars.get('Gini', 0)[-1]=0.6764\n", + "Condition not met at step 5102. No data to save.\n", "5102\n", + "model_vars.get('Gini', 0)[-1]=0.6952\n", + "Condition not met at step 5103. No data to save.\n", "5103\n", + "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", + "Condition not met at step 5104. No data to save.\n", "5104\n", + "model_vars.get('Gini', 0)[-1]=0.6866\n", + "Condition not met at step 5105. No data to save.\n", "5105\n", + "model_vars.get('Gini', 0)[-1]=0.704\n", + "Condition met. Appended special results for step 5106 to test_path/special_results.parquet\n", "5106\n", + "model_vars.get('Gini', 0)[-1]=0.6932\n", + "Condition not met at step 5107. No data to save.\n", "5107\n", + "model_vars.get('Gini', 0)[-1]=0.6842\n", + "Condition not met at step 5108. No data to save.\n", "5108\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 5109. No data to save.\n", "5109\n", + "model_vars.get('Gini', 0)[-1]=0.669\n", + "Condition not met at step 5110. No data to save.\n", "5110\n", + "model_vars.get('Gini', 0)[-1]=0.6722\n", + "Condition not met at step 5111. No data to save.\n", "5111\n", + "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", + "Condition not met at step 5112. No data to save.\n", "5112\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 5113. No data to save.\n", "5113\n", + "model_vars.get('Gini', 0)[-1]=0.651\n", + "Condition not met at step 5114. No data to save.\n", "5114\n", + "model_vars.get('Gini', 0)[-1]=0.6366\n", + "Condition not met at step 5115. No data to save.\n", "5115\n", + "model_vars.get('Gini', 0)[-1]=0.634\n", + "Condition not met at step 5116. No data to save.\n", "5116\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 5117. No data to save.\n", "5117\n", + "model_vars.get('Gini', 0)[-1]=0.6398\n", + "Condition not met at step 5118. No data to save.\n", "5118\n", + "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", + "Condition not met at step 5119. No data to save.\n", "5119\n", + "model_vars.get('Gini', 0)[-1]=0.66\n", + "Condition not met at step 5120. No data to save.\n", "5120\n", + "model_vars.get('Gini', 0)[-1]=0.6612\n", + "Condition not met at step 5121. No data to save.\n", "5121\n", + "model_vars.get('Gini', 0)[-1]=0.6454\n", + "Condition not met at step 5122. No data to save.\n", "5122\n", + "model_vars.get('Gini', 0)[-1]=0.6448\n", + "Condition not met at step 5123. No data to save.\n", "5123\n", + "model_vars.get('Gini', 0)[-1]=0.6408\n", + "Condition not met at step 5124. No data to save.\n", "5124\n", + "model_vars.get('Gini', 0)[-1]=0.6174\n", + "Condition not met at step 5125. No data to save.\n", "5125\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 5126. No data to save.\n", "5126\n", + "model_vars.get('Gini', 0)[-1]=0.6378\n", + "Condition not met at step 5127. No data to save.\n", "5127\n", + "model_vars.get('Gini', 0)[-1]=0.6482\n", + "Condition not met at step 5128. No data to save.\n", "5128\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 5129. No data to save.\n", "5129\n", + "model_vars.get('Gini', 0)[-1]=0.6654\n", + "Condition not met at step 5130. No data to save.\n", "5130\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 5131. No data to save.\n", "5131\n", + "model_vars.get('Gini', 0)[-1]=0.688\n", + "Condition not met at step 5132. No data to save.\n", "5132\n", + "model_vars.get('Gini', 0)[-1]=0.6896\n", + "Condition not met at step 5133. No data to save.\n", "5133\n", + "model_vars.get('Gini', 0)[-1]=0.6744\n", + "Condition not met at step 5134. No data to save.\n", "5134\n", + "model_vars.get('Gini', 0)[-1]=0.6838\n", + "Condition not met at step 5135. No data to save.\n", "5135\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 5136. No data to save.\n", "5136\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 5137. No data to save.\n", "5137\n", + "model_vars.get('Gini', 0)[-1]=0.6514\n", + "Condition not met at step 5138. No data to save.\n", "5138\n", + "model_vars.get('Gini', 0)[-1]=0.6462\n", + "Condition not met at step 5139. No data to save.\n", "5139\n", + "model_vars.get('Gini', 0)[-1]=0.653\n", + "Condition not met at step 5140. No data to save.\n", "5140\n", + "model_vars.get('Gini', 0)[-1]=0.6574\n", + "Condition not met at step 5141. No data to save.\n", "5141\n", + "model_vars.get('Gini', 0)[-1]=0.6462\n", + "Condition not met at step 5142. No data to save.\n", "5142\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 5143. No data to save.\n", "5143\n", + "model_vars.get('Gini', 0)[-1]=0.6902\n", + "Condition not met at step 5144. No data to save.\n", "5144\n", + "model_vars.get('Gini', 0)[-1]=0.6736\n", + "Condition not met at step 5145. No data to save.\n", "5145\n", + "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", + "Condition not met at step 5146. No data to save.\n", "5146\n", + "model_vars.get('Gini', 0)[-1]=0.6154\n", + "Condition not met at step 5147. No data to save.\n", "5147\n", + "model_vars.get('Gini', 0)[-1]=0.6215999999999999\n", + "Condition not met at step 5148. No data to save.\n", "5148\n", + "model_vars.get('Gini', 0)[-1]=0.6146\n", + "Condition not met at step 5149. No data to save.\n", "5149\n", + "model_vars.get('Gini', 0)[-1]=0.6006\n", + "Condition not met at step 5150. No data to save.\n", "5150\n", + "model_vars.get('Gini', 0)[-1]=0.6246\n", + "Condition not met at step 5151. No data to save.\n", "5151\n", + "model_vars.get('Gini', 0)[-1]=0.6432\n", + "Condition not met at step 5152. No data to save.\n", "5152\n", + "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", + "Condition not met at step 5153. No data to save.\n", "5153\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 5154. No data to save.\n", "5154\n", + "model_vars.get('Gini', 0)[-1]=0.681\n", + "Condition not met at step 5155. No data to save.\n", "5155\n", + "model_vars.get('Gini', 0)[-1]=0.6732\n", + "Condition not met at step 5156. No data to save.\n", "5156\n", + "model_vars.get('Gini', 0)[-1]=0.7098\n", + "Condition met. Appended special results for step 5157 to test_path/special_results.parquet\n", "5157\n", + "model_vars.get('Gini', 0)[-1]=0.7012\n", + "Condition met. Appended special results for step 5158 to test_path/special_results.parquet\n", "5158\n", + "model_vars.get('Gini', 0)[-1]=0.6858\n", + "Condition not met at step 5159. No data to save.\n", "5159\n", + "model_vars.get('Gini', 0)[-1]=0.7116\n", + "Condition met. Appended special results for step 5160 to test_path/special_results.parquet\n", "5160\n", + "model_vars.get('Gini', 0)[-1]=0.7008000000000001\n", + "Condition met. Appended special results for step 5161 to test_path/special_results.parquet\n", "5161\n", + "model_vars.get('Gini', 0)[-1]=0.7214\n", + "Condition met. Appended special results for step 5162 to test_path/special_results.parquet\n", "5162\n", + "model_vars.get('Gini', 0)[-1]=0.7242\n", + "Condition met. Appended special results for step 5163 to test_path/special_results.parquet\n", "5163\n", + "model_vars.get('Gini', 0)[-1]=0.7378\n", + "Condition met. Appended special results for step 5164 to test_path/special_results.parquet\n", "5164\n", + "model_vars.get('Gini', 0)[-1]=0.7388\n", + "Condition met. Appended special results for step 5165 to test_path/special_results.parquet\n", "5165\n", + "model_vars.get('Gini', 0)[-1]=0.7148\n", + "Condition met. Appended special results for step 5166 to test_path/special_results.parquet\n", "5166\n", + "model_vars.get('Gini', 0)[-1]=0.7242\n", + "Condition met. Appended special results for step 5167 to test_path/special_results.parquet\n", "5167\n", + "model_vars.get('Gini', 0)[-1]=0.7406\n", + "Condition met. Appended special results for step 5168 to test_path/special_results.parquet\n", "5168\n", + "model_vars.get('Gini', 0)[-1]=0.7436\n", + "Condition met. Appended special results for step 5169 to test_path/special_results.parquet\n", "5169\n", + "model_vars.get('Gini', 0)[-1]=0.7323999999999999\n", + "Condition met. Appended special results for step 5170 to test_path/special_results.parquet\n", "5170\n", + "model_vars.get('Gini', 0)[-1]=0.7170000000000001\n", + "Condition met. Appended special results for step 5171 to test_path/special_results.parquet\n", "5171\n", + "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", + "Condition not met at step 5172. No data to save.\n", "5172\n", + "model_vars.get('Gini', 0)[-1]=0.6744\n", + "Condition not met at step 5173. No data to save.\n", "5173\n", + "model_vars.get('Gini', 0)[-1]=0.6756\n", + "Condition not met at step 5174. No data to save.\n", "5174\n", + "model_vars.get('Gini', 0)[-1]=0.6866\n", + "Condition not met at step 5175. No data to save.\n", "5175\n", + "model_vars.get('Gini', 0)[-1]=0.7056\n", + "Condition met. Appended special results for step 5176 to test_path/special_results.parquet\n", "5176\n", + "model_vars.get('Gini', 0)[-1]=0.6950000000000001\n", + "Condition not met at step 5177. No data to save.\n", "5177\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 5178. No data to save.\n", "5178\n", + "model_vars.get('Gini', 0)[-1]=0.6522\n", + "Condition not met at step 5179. No data to save.\n", "5179\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 5180. No data to save.\n", "5180\n", + "model_vars.get('Gini', 0)[-1]=0.661\n", + "Condition not met at step 5181. No data to save.\n", "5181\n", + "model_vars.get('Gini', 0)[-1]=0.653\n", + "Condition not met at step 5182. No data to save.\n", "5182\n", + "model_vars.get('Gini', 0)[-1]=0.6474\n", + "Condition not met at step 5183. No data to save.\n", "5183\n", + "model_vars.get('Gini', 0)[-1]=0.6298\n", + "Condition not met at step 5184. No data to save.\n", "5184\n", + "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", + "Condition not met at step 5185. No data to save.\n", "5185\n", + "model_vars.get('Gini', 0)[-1]=0.644\n", + "Condition not met at step 5186. No data to save.\n", "5186\n", + "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", + "Condition not met at step 5187. No data to save.\n", "5187\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 5188. No data to save.\n", "5188\n", + "model_vars.get('Gini', 0)[-1]=0.6192\n", + "Condition not met at step 5189. No data to save.\n", "5189\n", + "model_vars.get('Gini', 0)[-1]=0.631\n", + "Condition not met at step 5190. No data to save.\n", "5190\n", + "model_vars.get('Gini', 0)[-1]=0.644\n", + "Condition not met at step 5191. No data to save.\n", "5191\n", + "model_vars.get('Gini', 0)[-1]=0.639\n", + "Condition not met at step 5192. No data to save.\n", "5192\n", + "model_vars.get('Gini', 0)[-1]=0.6362\n", + "Condition not met at step 5193. No data to save.\n", "5193\n", + "model_vars.get('Gini', 0)[-1]=0.6408\n", + "Condition not met at step 5194. No data to save.\n", "5194\n", + "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", + "Condition not met at step 5195. No data to save.\n", "5195\n", + "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", + "Condition not met at step 5196. No data to save.\n", "5196\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 5197. No data to save.\n", "5197\n", + "model_vars.get('Gini', 0)[-1]=0.6696\n", + "Condition not met at step 5198. No data to save.\n", "5198\n", + "model_vars.get('Gini', 0)[-1]=0.6844\n", + "Condition not met at step 5199. No data to save.\n", "5199\n", "CALLED\n", "self.model._steps=5200\n", " TEST self.model._steps=5200\n", " TEST self._cache_interval=100\n", " Gini\n", - "5100 0.6938\n", - "5101 0.6982\n", - "5102 0.7010\n", - "5103 0.6944\n", - "5104 0.6960\n", + "5100 0.6580\n", + "5101 0.6764\n", + "5102 0.6952\n", + "5103 0.6768\n", + "5104 0.6866\n", "... ...\n", - "5195 0.6748\n", - "5196 0.7096\n", - "5197 0.7074\n", - "5198 0.6946\n", - "5199 0.6784\n", + "5195 0.6478\n", + "5196 0.6548\n", + "5197 0.6696\n", + "5198 0.6844\n", + "5199 0.6708\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_052.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_052.parquet'\n", - "Saving model to output_dir/model_data_052.parquet\n", - "Saving agent to output_dir/agent_data_052.parquet\n", + "model_file='test_path/model_data_052.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_052.parquet'\n", + "Saving model to test_path/model_data_052.parquet\n", + "Saving agent to test_path/agent_data_052.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", + "Condition not met at step 5200. No data to save.\n", "5200\n", + "model_vars.get('Gini', 0)[-1]=0.679\n", + "Condition not met at step 5201. No data to save.\n", "5201\n", + "model_vars.get('Gini', 0)[-1]=0.685\n", + "Condition not met at step 5202. No data to save.\n", "5202\n", + "model_vars.get('Gini', 0)[-1]=0.6684\n", + "Condition not met at step 5203. No data to save.\n", "5203\n", + "model_vars.get('Gini', 0)[-1]=0.6638\n", + "Condition not met at step 5204. No data to save.\n", "5204\n", + "model_vars.get('Gini', 0)[-1]=0.653\n", + "Condition not met at step 5205. No data to save.\n", "5205\n", + "model_vars.get('Gini', 0)[-1]=0.6172\n", + "Condition not met at step 5206. No data to save.\n", "5206\n", + "model_vars.get('Gini', 0)[-1]=0.5984\n", + "Condition not met at step 5207. No data to save.\n", "5207\n", + "model_vars.get('Gini', 0)[-1]=0.636\n", + "Condition not met at step 5208. No data to save.\n", "5208\n", + "model_vars.get('Gini', 0)[-1]=0.6298\n", + "Condition not met at step 5209. No data to save.\n", "5209\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 5210. No data to save.\n", "5210\n", + "model_vars.get('Gini', 0)[-1]=0.6522\n", + "Condition not met at step 5211. No data to save.\n", "5211\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 5212. No data to save.\n", "5212\n", + "model_vars.get('Gini', 0)[-1]=0.6554\n", + "Condition not met at step 5213. No data to save.\n", "5213\n", + "model_vars.get('Gini', 0)[-1]=0.6596\n", + "Condition not met at step 5214. No data to save.\n", "5214\n", + "model_vars.get('Gini', 0)[-1]=0.6396\n", + "Condition not met at step 5215. No data to save.\n", "5215\n", + "model_vars.get('Gini', 0)[-1]=0.6488\n", + "Condition not met at step 5216. No data to save.\n", "5216\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 5217. No data to save.\n", "5217\n", + "model_vars.get('Gini', 0)[-1]=0.6716\n", + "Condition not met at step 5218. No data to save.\n", "5218\n", + "model_vars.get('Gini', 0)[-1]=0.6508\n", + "Condition not met at step 5219. No data to save.\n", "5219\n", + "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", + "Condition not met at step 5220. No data to save.\n", "5220\n", + "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", + "Condition not met at step 5221. No data to save.\n", "5221\n", + "model_vars.get('Gini', 0)[-1]=0.7072\n", + "Condition met. Appended special results for step 5222 to test_path/special_results.parquet\n", "5222\n", + "model_vars.get('Gini', 0)[-1]=0.7183999999999999\n", + "Condition met. Appended special results for step 5223 to test_path/special_results.parquet\n", "5223\n", + "model_vars.get('Gini', 0)[-1]=0.728\n", + "Condition met. Appended special results for step 5224 to test_path/special_results.parquet\n", "5224\n", + "model_vars.get('Gini', 0)[-1]=0.7334\n", + "Condition met. Appended special results for step 5225 to test_path/special_results.parquet\n", "5225\n", + "model_vars.get('Gini', 0)[-1]=0.7302\n", + "Condition met. Appended special results for step 5226 to test_path/special_results.parquet\n", "5226\n", + "model_vars.get('Gini', 0)[-1]=0.6906\n", + "Condition not met at step 5227. No data to save.\n", "5227\n", + "model_vars.get('Gini', 0)[-1]=0.6934\n", + "Condition not met at step 5228. No data to save.\n", "5228\n", + "model_vars.get('Gini', 0)[-1]=0.6856\n", + "Condition not met at step 5229. No data to save.\n", "5229\n", + "model_vars.get('Gini', 0)[-1]=0.6968000000000001\n", + "Condition not met at step 5230. No data to save.\n", "5230\n", + "model_vars.get('Gini', 0)[-1]=0.6832\n", + "Condition not met at step 5231. No data to save.\n", "5231\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 5232. No data to save.\n", "5232\n", + "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", + "Condition not met at step 5233. No data to save.\n", "5233\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 5234. No data to save.\n", "5234\n", + "model_vars.get('Gini', 0)[-1]=0.6636\n", + "Condition not met at step 5235. No data to save.\n", "5235\n", + "model_vars.get('Gini', 0)[-1]=0.6592\n", + "Condition not met at step 5236. No data to save.\n", "5236\n", + "model_vars.get('Gini', 0)[-1]=0.6442\n", + "Condition not met at step 5237. No data to save.\n", "5237\n", + "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", + "Condition not met at step 5238. No data to save.\n", "5238\n", + "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", + "Condition not met at step 5239. No data to save.\n", "5239\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 5240. No data to save.\n", "5240\n", + "model_vars.get('Gini', 0)[-1]=0.6662\n", + "Condition not met at step 5241. No data to save.\n", "5241\n", + "model_vars.get('Gini', 0)[-1]=0.673\n", + "Condition not met at step 5242. No data to save.\n", "5242\n", + "model_vars.get('Gini', 0)[-1]=0.6784\n", + "Condition not met at step 5243. No data to save.\n", "5243\n", + "model_vars.get('Gini', 0)[-1]=0.6856\n", + "Condition not met at step 5244. No data to save.\n", "5244\n", + "model_vars.get('Gini', 0)[-1]=0.6842\n", + "Condition not met at step 5245. No data to save.\n", "5245\n", + "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", + "Condition not met at step 5246. No data to save.\n", "5246\n", + "model_vars.get('Gini', 0)[-1]=0.6779999999999999\n", + "Condition not met at step 5247. No data to save.\n", "5247\n", + "model_vars.get('Gini', 0)[-1]=0.652\n", + "Condition not met at step 5248. No data to save.\n", "5248\n", + "model_vars.get('Gini', 0)[-1]=0.6568\n", + "Condition not met at step 5249. No data to save.\n", "5249\n", + "model_vars.get('Gini', 0)[-1]=0.665\n", + "Condition not met at step 5250. No data to save.\n", "5250\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 5251. No data to save.\n", "5251\n", + "model_vars.get('Gini', 0)[-1]=0.6698\n", + "Condition not met at step 5252. No data to save.\n", "5252\n", + "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", + "Condition not met at step 5253. No data to save.\n", "5253\n", + "model_vars.get('Gini', 0)[-1]=0.6242000000000001\n", + "Condition not met at step 5254. No data to save.\n", "5254\n", + "model_vars.get('Gini', 0)[-1]=0.606\n", + "Condition not met at step 5255. No data to save.\n", "5255\n", + "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", + "Condition not met at step 5256. No data to save.\n", "5256\n", + "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", + "Condition not met at step 5257. No data to save.\n", "5257\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 5258. No data to save.\n", "5258\n", + "model_vars.get('Gini', 0)[-1]=0.6214\n", + "Condition not met at step 5259. No data to save.\n", "5259\n", + "model_vars.get('Gini', 0)[-1]=0.6332\n", + "Condition not met at step 5260. No data to save.\n", "5260\n", + "model_vars.get('Gini', 0)[-1]=0.6342\n", + "Condition not met at step 5261. No data to save.\n", "5261\n", + "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", + "Condition not met at step 5262. No data to save.\n", "5262\n", + "model_vars.get('Gini', 0)[-1]=0.6082000000000001\n", + "Condition not met at step 5263. No data to save.\n", "5263\n", + "model_vars.get('Gini', 0)[-1]=0.607\n", + "Condition not met at step 5264. No data to save.\n", "5264\n", + "model_vars.get('Gini', 0)[-1]=0.5856\n", + "Condition not met at step 5265. No data to save.\n", "5265\n", + "model_vars.get('Gini', 0)[-1]=0.5896\n", + "Condition not met at step 5266. No data to save.\n", "5266\n", + "model_vars.get('Gini', 0)[-1]=0.6066\n", + "Condition not met at step 5267. No data to save.\n", "5267\n", + "model_vars.get('Gini', 0)[-1]=0.6246\n", + "Condition not met at step 5268. No data to save.\n", "5268\n", + "model_vars.get('Gini', 0)[-1]=0.621\n", + "Condition not met at step 5269. No data to save.\n", "5269\n", + "model_vars.get('Gini', 0)[-1]=0.6096\n", + "Condition not met at step 5270. No data to save.\n", "5270\n", + "model_vars.get('Gini', 0)[-1]=0.6038\n", + "Condition not met at step 5271. No data to save.\n", "5271\n", + "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", + "Condition not met at step 5272. No data to save.\n", "5272\n", + "model_vars.get('Gini', 0)[-1]=0.6532\n", + "Condition not met at step 5273. No data to save.\n", "5273\n", + "model_vars.get('Gini', 0)[-1]=0.621\n", + "Condition not met at step 5274. No data to save.\n", "5274\n", + "model_vars.get('Gini', 0)[-1]=0.6158\n", + "Condition not met at step 5275. No data to save.\n", "5275\n", + "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", + "Condition not met at step 5276. No data to save.\n", "5276\n", + "model_vars.get('Gini', 0)[-1]=0.5942000000000001\n", + "Condition not met at step 5277. No data to save.\n", "5277\n", + "model_vars.get('Gini', 0)[-1]=0.639\n", + "Condition not met at step 5278. No data to save.\n", "5278\n", + "model_vars.get('Gini', 0)[-1]=0.6058\n", + "Condition not met at step 5279. No data to save.\n", "5279\n", + "model_vars.get('Gini', 0)[-1]=0.6158\n", + "Condition not met at step 5280. No data to save.\n", "5280\n", + "model_vars.get('Gini', 0)[-1]=0.637\n", + "Condition not met at step 5281. No data to save.\n", "5281\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 5282. No data to save.\n", "5282\n", + "model_vars.get('Gini', 0)[-1]=0.6514\n", + "Condition not met at step 5283. No data to save.\n", "5283\n", + "model_vars.get('Gini', 0)[-1]=0.644\n", + "Condition not met at step 5284. No data to save.\n", "5284\n", + "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", + "Condition not met at step 5285. No data to save.\n", "5285\n", + "model_vars.get('Gini', 0)[-1]=0.639\n", + "Condition not met at step 5286. No data to save.\n", "5286\n", + "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", + "Condition not met at step 5287. No data to save.\n", "5287\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 5288. No data to save.\n", "5288\n", + "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", + "Condition not met at step 5289. No data to save.\n", "5289\n", + "model_vars.get('Gini', 0)[-1]=0.6456\n", + "Condition not met at step 5290. No data to save.\n", "5290\n", + "model_vars.get('Gini', 0)[-1]=0.6624\n", + "Condition not met at step 5291. No data to save.\n", "5291\n", + "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", + "Condition not met at step 5292. No data to save.\n", "5292\n", + "model_vars.get('Gini', 0)[-1]=0.651\n", + "Condition not met at step 5293. No data to save.\n", "5293\n", + "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", + "Condition not met at step 5294. No data to save.\n", "5294\n", + "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", + "Condition not met at step 5295. No data to save.\n", "5295\n", + "model_vars.get('Gini', 0)[-1]=0.647\n", + "Condition not met at step 5296. No data to save.\n", "5296\n", + "model_vars.get('Gini', 0)[-1]=0.6278\n", + "Condition not met at step 5297. No data to save.\n", "5297\n", + "model_vars.get('Gini', 0)[-1]=0.6398\n", + "Condition not met at step 5298. No data to save.\n", "5298\n", + "model_vars.get('Gini', 0)[-1]=0.6326\n", + "Condition not met at step 5299. No data to save.\n", "5299\n", "CALLED\n", "self.model._steps=5300\n", " TEST self.model._steps=5300\n", " TEST self._cache_interval=100\n", " Gini\n", - "5200 0.6756\n", - "5201 0.6502\n", - "5202 0.6784\n", - "5203 0.6718\n", - "5204 0.6522\n", + "5200 0.6790\n", + "5201 0.6850\n", + "5202 0.6684\n", + "5203 0.6638\n", + "5204 0.6530\n", "... ...\n", - "5295 0.6344\n", - "5296 0.6598\n", - "5297 0.6662\n", - "5298 0.6868\n", - "5299 0.6816\n", + "5295 0.6470\n", + "5296 0.6278\n", + "5297 0.6398\n", + "5298 0.6326\n", + "5299 0.6286\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_053.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_053.parquet'\n", - "Saving model to output_dir/model_data_053.parquet\n", - "Saving agent to output_dir/agent_data_053.parquet\n", + "model_file='test_path/model_data_053.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_053.parquet'\n", + "Saving model to test_path/model_data_053.parquet\n", + "Saving agent to test_path/agent_data_053.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6286\n", + "Condition not met at step 5300. No data to save.\n", "5300\n", + "model_vars.get('Gini', 0)[-1]=0.6302\n", + "Condition not met at step 5301. No data to save.\n", "5301\n", + "model_vars.get('Gini', 0)[-1]=0.6332\n", + "Condition not met at step 5302. No data to save.\n", "5302\n", + "model_vars.get('Gini', 0)[-1]=0.646\n", + "Condition not met at step 5303. No data to save.\n", "5303\n", + "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", + "Condition not met at step 5304. No data to save.\n", "5304\n", + "model_vars.get('Gini', 0)[-1]=0.688\n", + "Condition not met at step 5305. No data to save.\n", "5305\n", + "model_vars.get('Gini', 0)[-1]=0.7038\n", + "Condition met. Appended special results for step 5306 to test_path/special_results.parquet\n", "5306\n", + "model_vars.get('Gini', 0)[-1]=0.7064\n", + "Condition met. Appended special results for step 5307 to test_path/special_results.parquet\n", "5307\n", + "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", + "Condition not met at step 5308. No data to save.\n", "5308\n", + "model_vars.get('Gini', 0)[-1]=0.6588\n", + "Condition not met at step 5309. No data to save.\n", "5309\n", + "model_vars.get('Gini', 0)[-1]=0.6454\n", + "Condition not met at step 5310. No data to save.\n", "5310\n", + "model_vars.get('Gini', 0)[-1]=0.6544\n", + "Condition not met at step 5311. No data to save.\n", "5311\n", + "model_vars.get('Gini', 0)[-1]=0.664\n", + "Condition not met at step 5312. No data to save.\n", "5312\n", + "model_vars.get('Gini', 0)[-1]=0.6724\n", + "Condition not met at step 5313. No data to save.\n", "5313\n", + "model_vars.get('Gini', 0)[-1]=0.6462\n", + "Condition not met at step 5314. No data to save.\n", "5314\n", + "model_vars.get('Gini', 0)[-1]=0.662\n", + "Condition not met at step 5315. No data to save.\n", "5315\n", + "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", + "Condition not met at step 5316. No data to save.\n", "5316\n", + "model_vars.get('Gini', 0)[-1]=0.6528\n", + "Condition not met at step 5317. No data to save.\n", "5317\n", + "model_vars.get('Gini', 0)[-1]=0.6738\n", + "Condition not met at step 5318. No data to save.\n", "5318\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 5319. No data to save.\n", "5319\n", + "model_vars.get('Gini', 0)[-1]=0.6636\n", + "Condition not met at step 5320. No data to save.\n", "5320\n", + "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", + "Condition not met at step 5321. No data to save.\n", "5321\n", + "model_vars.get('Gini', 0)[-1]=0.664\n", + "Condition not met at step 5322. No data to save.\n", "5322\n", + "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", + "Condition not met at step 5323. No data to save.\n", "5323\n", + "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", + "Condition not met at step 5324. No data to save.\n", "5324\n", + "model_vars.get('Gini', 0)[-1]=0.6968000000000001\n", + "Condition not met at step 5325. No data to save.\n", "5325\n", + "model_vars.get('Gini', 0)[-1]=0.694\n", + "Condition not met at step 5326. No data to save.\n", "5326\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 5327. No data to save.\n", "5327\n", + "model_vars.get('Gini', 0)[-1]=0.6712\n", + "Condition not met at step 5328. No data to save.\n", "5328\n", + "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", + "Condition not met at step 5329. No data to save.\n", "5329\n", + "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", + "Condition not met at step 5330. No data to save.\n", "5330\n", + "model_vars.get('Gini', 0)[-1]=0.7158\n", + "Condition met. Appended special results for step 5331 to test_path/special_results.parquet\n", "5331\n", + "model_vars.get('Gini', 0)[-1]=0.7174\n", + "Condition met. Appended special results for step 5332 to test_path/special_results.parquet\n", "5332\n", + "model_vars.get('Gini', 0)[-1]=0.7368\n", + "Condition met. Appended special results for step 5333 to test_path/special_results.parquet\n", "5333\n", + "model_vars.get('Gini', 0)[-1]=0.7388\n", + "Condition met. Appended special results for step 5334 to test_path/special_results.parquet\n", "5334\n", + "model_vars.get('Gini', 0)[-1]=0.7276\n", + "Condition met. Appended special results for step 5335 to test_path/special_results.parquet\n", "5335\n", + "model_vars.get('Gini', 0)[-1]=0.722\n", + "Condition met. Appended special results for step 5336 to test_path/special_results.parquet\n", "5336\n", + "model_vars.get('Gini', 0)[-1]=0.7176\n", + "Condition met. Appended special results for step 5337 to test_path/special_results.parquet\n", "5337\n", + "model_vars.get('Gini', 0)[-1]=0.7058\n", + "Condition met. Appended special results for step 5338 to test_path/special_results.parquet\n", "5338\n", + "model_vars.get('Gini', 0)[-1]=0.6838\n", + "Condition not met at step 5339. No data to save.\n", "5339\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 5340. No data to save.\n", "5340\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 5341. No data to save.\n", "5341\n", + "model_vars.get('Gini', 0)[-1]=0.6784\n", + "Condition not met at step 5342. No data to save.\n", "5342\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 5343. No data to save.\n", "5343\n", + "model_vars.get('Gini', 0)[-1]=0.6738\n", + "Condition not met at step 5344. No data to save.\n", "5344\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 5345. No data to save.\n", "5345\n", + "model_vars.get('Gini', 0)[-1]=0.6192\n", + "Condition not met at step 5346. No data to save.\n", "5346\n", + "model_vars.get('Gini', 0)[-1]=0.6516\n", + "Condition not met at step 5347. No data to save.\n", "5347\n", + "model_vars.get('Gini', 0)[-1]=0.6468\n", + "Condition not met at step 5348. No data to save.\n", "5348\n", + "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", + "Condition not met at step 5349. No data to save.\n", "5349\n", + "model_vars.get('Gini', 0)[-1]=0.687\n", + "Condition not met at step 5350. No data to save.\n", "5350\n", + "model_vars.get('Gini', 0)[-1]=0.6826\n", + "Condition not met at step 5351. No data to save.\n", "5351\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 5352. No data to save.\n", "5352\n", + "model_vars.get('Gini', 0)[-1]=0.6772\n", + "Condition not met at step 5353. No data to save.\n", "5353\n", + "model_vars.get('Gini', 0)[-1]=0.6658\n", + "Condition not met at step 5354. No data to save.\n", "5354\n", + "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", + "Condition not met at step 5355. No data to save.\n", "5355\n", + "model_vars.get('Gini', 0)[-1]=0.6818\n", + "Condition not met at step 5356. No data to save.\n", "5356\n", + "model_vars.get('Gini', 0)[-1]=0.6624\n", + "Condition not met at step 5357. No data to save.\n", "5357\n", + "model_vars.get('Gini', 0)[-1]=0.6936\n", + "Condition not met at step 5358. No data to save.\n", "5358\n", + "model_vars.get('Gini', 0)[-1]=0.7016\n", + "Condition met. Appended special results for step 5359 to test_path/special_results.parquet\n", "5359\n", + "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", + "Condition not met at step 5360. No data to save.\n", "5360\n", + "model_vars.get('Gini', 0)[-1]=0.6694\n", + "Condition not met at step 5361. No data to save.\n", "5361\n", + "model_vars.get('Gini', 0)[-1]=0.665\n", + "Condition not met at step 5362. No data to save.\n", "5362\n", + "model_vars.get('Gini', 0)[-1]=0.687\n", + "Condition not met at step 5363. No data to save.\n", "5363\n", + "model_vars.get('Gini', 0)[-1]=0.6624\n", + "Condition not met at step 5364. No data to save.\n", "5364\n", + "model_vars.get('Gini', 0)[-1]=0.708\n", + "Condition met. Appended special results for step 5365 to test_path/special_results.parquet\n", "5365\n", + "model_vars.get('Gini', 0)[-1]=0.7112\n", + "Condition met. Appended special results for step 5366 to test_path/special_results.parquet\n", "5366\n", + "model_vars.get('Gini', 0)[-1]=0.6892\n", + "Condition not met at step 5367. No data to save.\n", "5367\n", + "model_vars.get('Gini', 0)[-1]=0.649\n", + "Condition not met at step 5368. No data to save.\n", "5368\n", + "model_vars.get('Gini', 0)[-1]=0.6366\n", + "Condition not met at step 5369. No data to save.\n", "5369\n", + "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", + "Condition not met at step 5370. No data to save.\n", "5370\n", + "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", + "Condition not met at step 5371. No data to save.\n", "5371\n", + "model_vars.get('Gini', 0)[-1]=0.6552\n", + "Condition not met at step 5372. No data to save.\n", "5372\n", + "model_vars.get('Gini', 0)[-1]=0.611\n", + "Condition not met at step 5373. No data to save.\n", "5373\n", + "model_vars.get('Gini', 0)[-1]=0.6044\n", + "Condition not met at step 5374. No data to save.\n", "5374\n", + "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", + "Condition not met at step 5375. No data to save.\n", "5375\n", + "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", + "Condition not met at step 5376. No data to save.\n", "5376\n", + "model_vars.get('Gini', 0)[-1]=0.6562\n", + "Condition not met at step 5377. No data to save.\n", "5377\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 5378. No data to save.\n", "5378\n", + "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", + "Condition not met at step 5379. No data to save.\n", "5379\n", + "model_vars.get('Gini', 0)[-1]=0.6894\n", + "Condition not met at step 5380. No data to save.\n", "5380\n", + "model_vars.get('Gini', 0)[-1]=0.6784\n", + "Condition not met at step 5381. No data to save.\n", "5381\n", + "model_vars.get('Gini', 0)[-1]=0.6778\n", + "Condition not met at step 5382. No data to save.\n", "5382\n", + "model_vars.get('Gini', 0)[-1]=0.6734\n", + "Condition not met at step 5383. No data to save.\n", "5383\n", + "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", + "Condition not met at step 5384. No data to save.\n", "5384\n", + "model_vars.get('Gini', 0)[-1]=0.6918\n", + "Condition not met at step 5385. No data to save.\n", "5385\n", + "model_vars.get('Gini', 0)[-1]=0.6804\n", + "Condition not met at step 5386. No data to save.\n", "5386\n", + "model_vars.get('Gini', 0)[-1]=0.6966\n", + "Condition not met at step 5387. No data to save.\n", "5387\n", + "model_vars.get('Gini', 0)[-1]=0.698\n", + "Condition not met at step 5388. No data to save.\n", "5388\n", + "model_vars.get('Gini', 0)[-1]=0.7\n", + "Condition not met at step 5389. No data to save.\n", "5389\n", + "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", + "Condition not met at step 5390. No data to save.\n", "5390\n", + "model_vars.get('Gini', 0)[-1]=0.6622\n", + "Condition not met at step 5391. No data to save.\n", "5391\n", + "model_vars.get('Gini', 0)[-1]=0.6556\n", + "Condition not met at step 5392. No data to save.\n", "5392\n", + "model_vars.get('Gini', 0)[-1]=0.6328\n", + "Condition not met at step 5393. No data to save.\n", "5393\n", + "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", + "Condition not met at step 5394. No data to save.\n", "5394\n", + "model_vars.get('Gini', 0)[-1]=0.6548\n", + "Condition not met at step 5395. No data to save.\n", "5395\n", + "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", + "Condition not met at step 5396. No data to save.\n", "5396\n", + "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", + "Condition not met at step 5397. No data to save.\n", "5397\n", + "model_vars.get('Gini', 0)[-1]=0.6318\n", + "Condition not met at step 5398. No data to save.\n", "5398\n", + "model_vars.get('Gini', 0)[-1]=0.6246\n", + "Condition not met at step 5399. No data to save.\n", "5399\n", "CALLED\n", "self.model._steps=5400\n", " TEST self.model._steps=5400\n", " TEST self._cache_interval=100\n", " Gini\n", - "5300 0.6626\n", - "5301 0.6426\n", - "5302 0.6606\n", - "5303 0.6736\n", - "5304 0.6600\n", + "5300 0.6302\n", + "5301 0.6332\n", + "5302 0.6460\n", + "5303 0.6546\n", + "5304 0.6880\n", "... ...\n", - "5395 0.6588\n", - "5396 0.6626\n", - "5397 0.6586\n", - "5398 0.6400\n", - "5399 0.6606\n", + "5395 0.6404\n", + "5396 0.6364\n", + "5397 0.6318\n", + "5398 0.6246\n", + "5399 0.6476\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_054.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_054.parquet'\n", - "Saving model to output_dir/model_data_054.parquet\n", - "Saving agent to output_dir/agent_data_054.parquet\n", + "model_file='test_path/model_data_054.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_054.parquet'\n", + "Saving model to test_path/model_data_054.parquet\n", + "Saving agent to test_path/agent_data_054.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6476\n", + "Condition not met at step 5400. No data to save.\n", "5400\n", + "model_vars.get('Gini', 0)[-1]=0.6206\n", + "Condition not met at step 5401. No data to save.\n", "5401\n", + "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", + "Condition not met at step 5402. No data to save.\n", "5402\n", + "model_vars.get('Gini', 0)[-1]=0.6368\n", + "Condition not met at step 5403. No data to save.\n", "5403\n", + "model_vars.get('Gini', 0)[-1]=0.6778\n", + "Condition not met at step 5404. No data to save.\n", "5404\n", + "model_vars.get('Gini', 0)[-1]=0.667\n", + "Condition not met at step 5405. No data to save.\n", "5405\n", + "model_vars.get('Gini', 0)[-1]=0.6542\n", + "Condition not met at step 5406. No data to save.\n", "5406\n", + "model_vars.get('Gini', 0)[-1]=0.6288\n", + "Condition not met at step 5407. No data to save.\n", "5407\n", + "model_vars.get('Gini', 0)[-1]=0.6532\n", + "Condition not met at step 5408. No data to save.\n", "5408\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 5409. No data to save.\n", "5409\n", + "model_vars.get('Gini', 0)[-1]=0.6732\n", + "Condition not met at step 5410. No data to save.\n", "5410\n", + "model_vars.get('Gini', 0)[-1]=0.6934\n", + "Condition not met at step 5411. No data to save.\n", "5411\n", + "model_vars.get('Gini', 0)[-1]=0.6798\n", + "Condition not met at step 5412. No data to save.\n", "5412\n", + "model_vars.get('Gini', 0)[-1]=0.6906\n", + "Condition not met at step 5413. No data to save.\n", "5413\n", + "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "Condition not met at step 5414. No data to save.\n", "5414\n", + "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", + "Condition not met at step 5415. No data to save.\n", "5415\n", + "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", + "Condition not met at step 5416. No data to save.\n", "5416\n", + "model_vars.get('Gini', 0)[-1]=0.6636\n", + "Condition not met at step 5417. No data to save.\n", "5417\n", + "model_vars.get('Gini', 0)[-1]=0.6862\n", + "Condition not met at step 5418. No data to save.\n", "5418\n", + "model_vars.get('Gini', 0)[-1]=0.6834\n", + "Condition not met at step 5419. No data to save.\n", "5419\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 5420. No data to save.\n", "5420\n", + "model_vars.get('Gini', 0)[-1]=0.6714\n", + "Condition not met at step 5421. No data to save.\n", "5421\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 5422. No data to save.\n", "5422\n", + "model_vars.get('Gini', 0)[-1]=0.654\n", + "Condition not met at step 5423. No data to save.\n", "5423\n", + "model_vars.get('Gini', 0)[-1]=0.6642\n", + "Condition not met at step 5424. No data to save.\n", "5424\n", + "model_vars.get('Gini', 0)[-1]=0.6722\n", + "Condition not met at step 5425. No data to save.\n", "5425\n", + "model_vars.get('Gini', 0)[-1]=0.6732\n", + "Condition not met at step 5426. No data to save.\n", "5426\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 5427. No data to save.\n", "5427\n", + "model_vars.get('Gini', 0)[-1]=0.6494\n", + "Condition not met at step 5428. No data to save.\n", "5428\n", + "model_vars.get('Gini', 0)[-1]=0.6678\n", + "Condition not met at step 5429. No data to save.\n", "5429\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 5430. No data to save.\n", "5430\n", + "model_vars.get('Gini', 0)[-1]=0.6274\n", + "Condition not met at step 5431. No data to save.\n", "5431\n", + "model_vars.get('Gini', 0)[-1]=0.629\n", + "Condition not met at step 5432. No data to save.\n", "5432\n", + "model_vars.get('Gini', 0)[-1]=0.6306\n", + "Condition not met at step 5433. No data to save.\n", "5433\n", + "model_vars.get('Gini', 0)[-1]=0.6314\n", + "Condition not met at step 5434. No data to save.\n", "5434\n", + "model_vars.get('Gini', 0)[-1]=0.651\n", + "Condition not met at step 5435. No data to save.\n", "5435\n", + "model_vars.get('Gini', 0)[-1]=0.6614\n", + "Condition not met at step 5436. No data to save.\n", "5436\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 5437. No data to save.\n", "5437\n", + "model_vars.get('Gini', 0)[-1]=0.6348\n", + "Condition not met at step 5438. No data to save.\n", "5438\n", + "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", + "Condition not met at step 5439. No data to save.\n", "5439\n", + "model_vars.get('Gini', 0)[-1]=0.6576\n", + "Condition not met at step 5440. No data to save.\n", "5440\n", + "model_vars.get('Gini', 0)[-1]=0.662\n", + "Condition not met at step 5441. No data to save.\n", "5441\n", + "model_vars.get('Gini', 0)[-1]=0.6138\n", + "Condition not met at step 5442. No data to save.\n", "5442\n", + "model_vars.get('Gini', 0)[-1]=0.623\n", + "Condition not met at step 5443. No data to save.\n", "5443\n", + "model_vars.get('Gini', 0)[-1]=0.6028\n", + "Condition not met at step 5444. No data to save.\n", "5444\n", + "model_vars.get('Gini', 0)[-1]=0.6124\n", + "Condition not met at step 5445. No data to save.\n", "5445\n", + "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", + "Condition not met at step 5446. No data to save.\n", "5446\n", + "model_vars.get('Gini', 0)[-1]=0.6562\n", + "Condition not met at step 5447. No data to save.\n", "5447\n", + "model_vars.get('Gini', 0)[-1]=0.6428\n", + "Condition not met at step 5448. No data to save.\n", "5448\n", + "model_vars.get('Gini', 0)[-1]=0.6516\n", + "Condition not met at step 5449. No data to save.\n", "5449\n", + "model_vars.get('Gini', 0)[-1]=0.6398\n", + "Condition not met at step 5450. No data to save.\n", "5450\n", + "model_vars.get('Gini', 0)[-1]=0.643\n", + "Condition not met at step 5451. No data to save.\n", "5451\n", + "model_vars.get('Gini', 0)[-1]=0.6342\n", + "Condition not met at step 5452. No data to save.\n", "5452\n", + "model_vars.get('Gini', 0)[-1]=0.6592\n", + "Condition not met at step 5453. No data to save.\n", "5453\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 5454. No data to save.\n", "5454\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 5455. No data to save.\n", "5455\n", + "model_vars.get('Gini', 0)[-1]=0.6921999999999999\n", + "Condition not met at step 5456. No data to save.\n", "5456\n", + "model_vars.get('Gini', 0)[-1]=0.7032\n", + "Condition met. Appended special results for step 5457 to test_path/special_results.parquet\n", "5457\n", + "model_vars.get('Gini', 0)[-1]=0.7094\n", + "Condition met. Appended special results for step 5458 to test_path/special_results.parquet\n", "5458\n", + "model_vars.get('Gini', 0)[-1]=0.6970000000000001\n", + "Condition not met at step 5459. No data to save.\n", "5459\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 5460. No data to save.\n", "5460\n", + "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", + "Condition not met at step 5461. No data to save.\n", "5461\n", + "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", + "Condition not met at step 5462. No data to save.\n", "5462\n", + "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", + "Condition not met at step 5463. No data to save.\n", "5463\n", + "model_vars.get('Gini', 0)[-1]=0.6664\n", + "Condition not met at step 5464. No data to save.\n", "5464\n", + "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", + "Condition not met at step 5465. No data to save.\n", "5465\n", + "model_vars.get('Gini', 0)[-1]=0.6602\n", + "Condition not met at step 5466. No data to save.\n", "5466\n", + "model_vars.get('Gini', 0)[-1]=0.6396\n", + "Condition not met at step 5467. No data to save.\n", "5467\n", + "model_vars.get('Gini', 0)[-1]=0.6266\n", + "Condition not met at step 5468. No data to save.\n", "5468\n", + "model_vars.get('Gini', 0)[-1]=0.6534\n", + "Condition not met at step 5469. No data to save.\n", "5469\n", + "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", + "Condition not met at step 5470. No data to save.\n", "5470\n", + "model_vars.get('Gini', 0)[-1]=0.6392\n", + "Condition not met at step 5471. No data to save.\n", "5471\n", + "model_vars.get('Gini', 0)[-1]=0.615\n", + "Condition not met at step 5472. No data to save.\n", "5472\n", + "model_vars.get('Gini', 0)[-1]=0.5933999999999999\n", + "Condition not met at step 5473. No data to save.\n", "5473\n", + "model_vars.get('Gini', 0)[-1]=0.5920000000000001\n", + "Condition not met at step 5474. No data to save.\n", "5474\n", + "model_vars.get('Gini', 0)[-1]=0.5774\n", + "Condition not met at step 5475. No data to save.\n", "5475\n", + "model_vars.get('Gini', 0)[-1]=0.5860000000000001\n", + "Condition not met at step 5476. No data to save.\n", "5476\n", + "model_vars.get('Gini', 0)[-1]=0.5938\n", + "Condition not met at step 5477. No data to save.\n", "5477\n", + "model_vars.get('Gini', 0)[-1]=0.6148\n", + "Condition not met at step 5478. No data to save.\n", "5478\n", + "model_vars.get('Gini', 0)[-1]=0.6326\n", + "Condition not met at step 5479. No data to save.\n", "5479\n", + "model_vars.get('Gini', 0)[-1]=0.6408\n", + "Condition not met at step 5480. No data to save.\n", "5480\n", + "model_vars.get('Gini', 0)[-1]=0.6368\n", + "Condition not met at step 5481. No data to save.\n", "5481\n", + "model_vars.get('Gini', 0)[-1]=0.6396\n", + "Condition not met at step 5482. No data to save.\n", "5482\n", + "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", + "Condition not met at step 5483. No data to save.\n", "5483\n", + "model_vars.get('Gini', 0)[-1]=0.6839999999999999\n", + "Condition not met at step 5484. No data to save.\n", "5484\n", + "model_vars.get('Gini', 0)[-1]=0.6756\n", + "Condition not met at step 5485. No data to save.\n", "5485\n", + "model_vars.get('Gini', 0)[-1]=0.6702\n", + "Condition not met at step 5486. No data to save.\n", "5486\n", + "model_vars.get('Gini', 0)[-1]=0.6738\n", + "Condition not met at step 5487. No data to save.\n", "5487\n", + "model_vars.get('Gini', 0)[-1]=0.6844\n", + "Condition not met at step 5488. No data to save.\n", "5488\n", + "model_vars.get('Gini', 0)[-1]=0.6946\n", + "Condition not met at step 5489. No data to save.\n", "5489\n", + "model_vars.get('Gini', 0)[-1]=0.6634\n", + "Condition not met at step 5490. No data to save.\n", "5490\n", + "model_vars.get('Gini', 0)[-1]=0.6756\n", + "Condition not met at step 5491. No data to save.\n", "5491\n", + "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", + "Condition not met at step 5492. No data to save.\n", "5492\n", + "model_vars.get('Gini', 0)[-1]=0.6966\n", + "Condition not met at step 5493. No data to save.\n", "5493\n", + "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", + "Condition not met at step 5494. No data to save.\n", "5494\n", + "model_vars.get('Gini', 0)[-1]=0.6984\n", + "Condition not met at step 5495. No data to save.\n", "5495\n", + "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", + "Condition not met at step 5496. No data to save.\n", "5496\n", + "model_vars.get('Gini', 0)[-1]=0.675\n", + "Condition not met at step 5497. No data to save.\n", "5497\n", + "model_vars.get('Gini', 0)[-1]=0.6826\n", + "Condition not met at step 5498. No data to save.\n", "5498\n", + "model_vars.get('Gini', 0)[-1]=0.6856\n", + "Condition not met at step 5499. No data to save.\n", "5499\n", "CALLED\n", "self.model._steps=5500\n", " TEST self.model._steps=5500\n", " TEST self._cache_interval=100\n", " Gini\n", - "5400 0.6546\n", - "5401 0.6418\n", - "5402 0.6224\n", - "5403 0.6440\n", - "5404 0.6510\n", + "5400 0.6206\n", + "5401 0.6526\n", + "5402 0.6368\n", + "5403 0.6778\n", + "5404 0.6670\n", "... ...\n", - "5495 0.6696\n", - "5496 0.6654\n", - "5497 0.6728\n", - "5498 0.6728\n", - "5499 0.6632\n", + "5495 0.6760\n", + "5496 0.6750\n", + "5497 0.6826\n", + "5498 0.6856\n", + "5499 0.6806\n", "\n", "[100 rows x 1 columns]\n", "3\n", - "model_file='output_dir/model_data_055.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_055.parquet'\n", - "Saving model to output_dir/model_data_055.parquet\n", - "Saving agent to output_dir/agent_data_055.parquet\n", + "model_file='test_path/model_data_055.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_055.parquet'\n", + "Saving model to test_path/model_data_055.parquet\n", + "Saving agent to test_path/agent_data_055.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.6806\n", + "Condition not met at step 5500. No data to save.\n", "5500\n", + "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", + "Condition not met at step 5501. No data to save.\n", "5501\n", + "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", + "Condition not met at step 5502. No data to save.\n", "5502\n", + "model_vars.get('Gini', 0)[-1]=0.6882\n", + "Condition not met at step 5503. No data to save.\n", "5503\n", + "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", + "Condition not met at step 5504. No data to save.\n", "5504\n", + "model_vars.get('Gini', 0)[-1]=0.6682\n", + "Condition not met at step 5505. No data to save.\n", "5505\n", + "model_vars.get('Gini', 0)[-1]=0.657\n", + "Condition not met at step 5506. No data to save.\n", "5506\n", + "model_vars.get('Gini', 0)[-1]=0.6442\n", + "Condition not met at step 5507. No data to save.\n", "5507\n", + "model_vars.get('Gini', 0)[-1]=0.65\n", + "Condition not met at step 5508. No data to save.\n", "5508\n", + "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", + "Condition not met at step 5509. No data to save.\n", "5509\n", + "model_vars.get('Gini', 0)[-1]=0.6366\n", + "Condition not met at step 5510. No data to save.\n", "5510\n", + "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", + "Condition not met at step 5511. No data to save.\n", "5511\n", + "model_vars.get('Gini', 0)[-1]=0.6252\n", + "Condition not met at step 5512. No data to save.\n", "5512\n", + "model_vars.get('Gini', 0)[-1]=0.615\n", + "Condition not met at step 5513. No data to save.\n", "5513\n", + "model_vars.get('Gini', 0)[-1]=0.615\n", + "Condition not met at step 5514. No data to save.\n", "5514\n", + "model_vars.get('Gini', 0)[-1]=0.6412\n", + "Condition not met at step 5515. No data to save.\n", "5515\n", + "model_vars.get('Gini', 0)[-1]=0.6214\n", + "Condition not met at step 5516. No data to save.\n", "5516\n", + "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", + "Condition not met at step 5517. No data to save.\n", "5517\n", + "model_vars.get('Gini', 0)[-1]=0.6322\n", + "Condition not met at step 5518. No data to save.\n", "5518\n", + "model_vars.get('Gini', 0)[-1]=0.656\n", + "Condition not met at step 5519. No data to save.\n", "5519\n", + "model_vars.get('Gini', 0)[-1]=0.6762\n", + "Condition not met at step 5520. No data to save.\n", "5520\n", + "model_vars.get('Gini', 0)[-1]=0.6844\n", + "Condition not met at step 5521. No data to save.\n", "5521\n", + "model_vars.get('Gini', 0)[-1]=0.6694\n", + "Condition not met at step 5522. No data to save.\n", "5522\n", + "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", + "Condition not met at step 5523. No data to save.\n", "5523\n", + "model_vars.get('Gini', 0)[-1]=0.6752\n", + "Condition not met at step 5524. No data to save.\n", "5524\n", + "model_vars.get('Gini', 0)[-1]=0.6574\n", + "Condition not met at step 5525. No data to save.\n", "5525\n", + "model_vars.get('Gini', 0)[-1]=0.6632\n", + "Condition not met at step 5526. No data to save.\n", "5526\n", + "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", + "Condition not met at step 5527. No data to save.\n", "5527\n", + "model_vars.get('Gini', 0)[-1]=0.6732\n", + "Condition not met at step 5528. No data to save.\n", "5528\n", + "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", + "Condition not met at step 5529. No data to save.\n", "5529\n", + "model_vars.get('Gini', 0)[-1]=0.6332\n", + "Condition not met at step 5530. No data to save.\n", "5530\n", + "model_vars.get('Gini', 0)[-1]=0.6516\n", + "Condition not met at step 5531. No data to save.\n", "5531\n", + "model_vars.get('Gini', 0)[-1]=0.6388\n", + "Condition not met at step 5532. No data to save.\n", "5532\n", + "model_vars.get('Gini', 0)[-1]=0.6496\n", + "Condition not met at step 5533. No data to save.\n", "5533\n", + "model_vars.get('Gini', 0)[-1]=0.6562\n", + "Condition not met at step 5534. No data to save.\n", "5534\n", + "model_vars.get('Gini', 0)[-1]=0.6442\n", + "Condition not met at step 5535. No data to save.\n", "5535\n", + "model_vars.get('Gini', 0)[-1]=0.6202000000000001\n", + "Condition not met at step 5536. No data to save.\n", "5536\n", + "model_vars.get('Gini', 0)[-1]=0.621\n", + "Condition not met at step 5537. No data to save.\n", "5537\n", + "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", + "Condition not met at step 5538. No data to save.\n", "5538\n", + "model_vars.get('Gini', 0)[-1]=0.6644\n", + "Condition not met at step 5539. No data to save.\n", "5539\n", + "model_vars.get('Gini', 0)[-1]=0.6322\n", + "Condition not met at step 5540. No data to save.\n", "5540\n", + "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", + "Condition not met at step 5541. No data to save.\n", "5541\n", + "model_vars.get('Gini', 0)[-1]=0.6368\n", + "Condition not met at step 5542. No data to save.\n", "5542\n", + "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", + "Condition not met at step 5543. No data to save.\n", "5543\n", + "model_vars.get('Gini', 0)[-1]=0.6352\n", + "Condition not met at step 5544. No data to save.\n", "5544\n", + "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", + "Condition not met at step 5545. No data to save.\n", "5545\n", + "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", + "Condition not met at step 5546. No data to save.\n", "5546\n", + "model_vars.get('Gini', 0)[-1]=0.6882\n", + "Condition not met at step 5547. No data to save.\n", "5547\n", + "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", + "Condition not met at step 5548. No data to save.\n", "5548\n", + "model_vars.get('Gini', 0)[-1]=0.6722\n", + "Condition not met at step 5549. No data to save.\n", "5549\n", + "model_vars.get('Gini', 0)[-1]=0.6758\n", + "Condition not met at step 5550. No data to save.\n", "5550\n", + "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", + "Condition not met at step 5551. No data to save.\n", "5551\n", + "model_vars.get('Gini', 0)[-1]=0.6732\n", + "Condition not met at step 5552. No data to save.\n", "5552\n", + "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", + "Condition not met at step 5553. No data to save.\n", "5553\n", + "model_vars.get('Gini', 0)[-1]=0.6368\n", + "Condition not met at step 5554. No data to save.\n", "5554\n", - "5555\n", - "5556\n", - "5557\n", - "5558\n", - "5559\n", - "5560\n", - "5561\n", - "5562\n", - "5563\n", - "5564\n", - "5565\n", - "5566\n", - "5567\n", - "5568\n", - "5569\n", - "5570\n", - "5571\n", - "5572\n", - "5573\n", - "5574\n", - "5575\n", - "5576\n", - "5577\n", - "5578\n", - "5579\n", - "5580\n", - "5581\n", - "5582\n", - "5583\n", - "5584\n", - "5585\n", - "5586\n", - "5587\n", - "5588\n", - "5589\n", - "5590\n", - "5591\n", - "5592\n", - "5593\n", - "5594\n", - "5595\n", - "5596\n", - "5597\n", - "5598\n", - "5599\n", - "CALLED\n", - "self.model._steps=5600\n", - " TEST self.model._steps=5600\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "5500 0.6564\n", - "5501 0.6546\n", - "5502 0.6722\n", - "5503 0.6564\n", - "5504 0.6656\n", - "... ...\n", - "5595 0.6404\n", - "5596 0.6396\n", - "5597 0.6376\n", - "5598 0.6480\n", - "5599 0.6518\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_056.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_056.parquet'\n", - "Saving model to output_dir/model_data_056.parquet\n", - "Saving agent to output_dir/agent_data_056.parquet\n", - "5600\n", - "5601\n", - "5602\n", - "5603\n", - "5604\n", - "5605\n", - "5606\n", - "5607\n", - "5608\n", - "5609\n", - "5610\n", - "5611\n", - "5612\n", - "5613\n", - "5614\n", - "5615\n", - "5616\n", - "5617\n", - "5618\n", - "5619\n", - "5620\n", - "5621\n", - "5622\n", - "5623\n", - "5624\n", - "5625\n", - "5626\n", - "5627\n", - "5628\n", - "5629\n", - "5630\n", - "5631\n", - "5632\n", - "5633\n", - "5634\n", - "5635\n", - "5636\n", - "5637\n", - "5638\n", - "5639\n", - "5640\n", - "5641\n", - "5642\n", - "5643\n", - "5644\n", - "5645\n", - "5646\n", - "5647\n", - "5648\n", - "5649\n", - "5650\n", - "5651\n", - "5652\n", - "5653\n", - "5654\n", - "5655\n", - "5656\n", - "5657\n", - "5658\n", - "5659\n", - "5660\n", - "5661\n", - "5662\n", - "5663\n", - "5664\n", - "5665\n", - "5666\n", - "5667\n", - "5668\n", - "5669\n", - "5670\n", - "5671\n", - "5672\n", - "5673\n", - "5674\n", - "5675\n", - "5676\n", - "5677\n", - "5678\n", - "5679\n", - "5680\n", - "5681\n", - "5682\n", - "5683\n", - "5684\n", - "5685\n", - "5686\n", - "5687\n", - "5688\n", - "5689\n", - "5690\n", - "5691\n", - "5692\n", - "5693\n", - "5694\n", - "5695\n", - "5696\n", - "5697\n", - "5698\n", - "5699\n", - "CALLED\n", - "self.model._steps=5700\n", - " TEST self.model._steps=5700\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "5600 0.6502\n", - "5601 0.6484\n", - "5602 0.6394\n", - "5603 0.6448\n", - "5604 0.6208\n", - "... ...\n", - "5695 0.6908\n", - "5696 0.7294\n", - "5697 0.7138\n", - "5698 0.7230\n", - "5699 0.7194\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_057.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_057.parquet'\n", - "Saving model to output_dir/model_data_057.parquet\n", - "Saving agent to output_dir/agent_data_057.parquet\n", - "5700\n", - "5701\n", - "5702\n", - "5703\n", - "5704\n", - "5705\n", - "5706\n", - "5707\n", - "5708\n", - "5709\n", - "5710\n", - "5711\n", - "5712\n", - "5713\n", - "5714\n", - "5715\n", - "5716\n", - "5717\n", - "5718\n", - "5719\n", - "5720\n", - "5721\n", - "5722\n", - "5723\n", - "5724\n", - "5725\n", - "5726\n", - "5727\n", - "5728\n", - "5729\n", - "5730\n", - "5731\n", - "5732\n", - "5733\n", - "5734\n", - "5735\n", - "5736\n", - "5737\n", - "5738\n", - "5739\n", - "5740\n", - "5741\n", - "5742\n", - "5743\n", - "5744\n", - "5745\n", - "5746\n", - "5747\n", - "5748\n", - "5749\n", - "5750\n", - "5751\n", - "5752\n", - "5753\n", - "5754\n", - "5755\n", - "5756\n", - "5757\n", - "5758\n", - "5759\n", - "5760\n", - "5761\n", - "5762\n", - "5763\n", - "5764\n", - "5765\n", - "5766\n", - "5767\n", - "5768\n", - "5769\n", - "5770\n", - "5771\n", - "5772\n", - "5773\n", - "5774\n", - "5775\n", - "5776\n", - "5777\n", - "5778\n", - "5779\n", - "5780\n", - "5781\n", - "5782\n", - "5783\n", - "5784\n", - "5785\n", - "5786\n", - "5787\n", - "5788\n", - "5789\n", - "5790\n", - "5791\n", - "5792\n", - "5793\n", - "5794\n", - "5795\n", - "5796\n", - "5797\n", - "5798\n", - "5799\n", - "CALLED\n", - "self.model._steps=5800\n", - " TEST self.model._steps=5800\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "5700 0.7168\n", - "5701 0.7240\n", - "5702 0.7228\n", - "5703 0.7160\n", - "5704 0.7184\n", - "... ...\n", - "5795 0.6828\n", - "5796 0.6898\n", - "5797 0.7010\n", - "5798 0.7120\n", - "5799 0.7136\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_058.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_058.parquet'\n", - "Saving model to output_dir/model_data_058.parquet\n", - "Saving agent to output_dir/agent_data_058.parquet\n", - "5800\n", - "5801\n", - "5802\n", - "5803\n", - "5804\n", - "5805\n", - "5806\n", - "5807\n", - "5808\n", - "5809\n", - "5810\n", - "5811\n", - "5812\n", - "5813\n", - "5814\n", - "5815\n", - "5816\n", - "5817\n", - "5818\n", - "5819\n", - "5820\n", - "5821\n", - "5822\n", - "5823\n", - "5824\n", - "5825\n", - "5826\n", - "5827\n", - "5828\n", - "5829\n", - "5830\n", - "5831\n", - "5832\n", - "5833\n", - "5834\n", - "5835\n", - "5836\n", - "5837\n", - "5838\n", - "5839\n", - "5840\n", - "5841\n", - "5842\n", - "5843\n", - "5844\n", - "5845\n", - "5846\n", - "5847\n", - "5848\n", - "5849\n", - "5850\n", - "5851\n", - "5852\n", - "5853\n", - "5854\n", - "5855\n", - "5856\n", - "5857\n", - "5858\n", - "5859\n", - "5860\n", - "5861\n", - "5862\n", - "5863\n", - "5864\n", - "5865\n", - "5866\n", - "5867\n", - "5868\n", - "5869\n", - "5870\n", - "5871\n", - "5872\n", - "5873\n", - "5874\n", - "5875\n", - "5876\n", - "5877\n", - "5878\n", - "5879\n", - "5880\n", - "5881\n", - "5882\n", - "5883\n", - "5884\n", - "5885\n", - "5886\n", - "5887\n", - "5888\n", - "5889\n", - "5890\n", - "5891\n", - "5892\n", - "5893\n", - "5894\n", - "5895\n", - "5896\n", - "5897\n", - "5898\n", - "5899\n", - "CALLED\n", - "self.model._steps=5900\n", - " TEST self.model._steps=5900\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "5800 0.6898\n", - "5801 0.6930\n", - "5802 0.6824\n", - "5803 0.6764\n", - "5804 0.6460\n", - "... ...\n", - "5895 0.6548\n", - "5896 0.6816\n", - "5897 0.6702\n", - "5898 0.6754\n", - "5899 0.6860\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_059.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_059.parquet'\n", - "Saving model to output_dir/model_data_059.parquet\n", - "Saving agent to output_dir/agent_data_059.parquet\n", - "5900\n", - "5901\n", - "5902\n", - "5903\n", - "5904\n", - "5905\n", - "5906\n", - "5907\n", - "5908\n", - "5909\n", - "5910\n", - "5911\n", - "5912\n", - "5913\n", - "5914\n", - "5915\n", - "5916\n", - "5917\n", - "5918\n", - "5919\n", - "5920\n", - "5921\n", - "5922\n", - "5923\n", - "5924\n", - "5925\n", - "5926\n", - "5927\n", - "5928\n", - "5929\n", - "5930\n", - "5931\n", - "5932\n", - "5933\n", - "5934\n", - "5935\n", - "5936\n", - "5937\n", - "5938\n", - "5939\n", - "5940\n", - "5941\n", - "5942\n", - "5943\n", - "5944\n", - "5945\n", - "5946\n", - "5947\n", - "5948\n", - "5949\n", - "5950\n", - "5951\n", - "5952\n", - "5953\n", - "5954\n", - "5955\n", - "5956\n", - "5957\n", - "5958\n", - "5959\n", - "5960\n", - "5961\n", - "5962\n", - "5963\n", - "5964\n", - "5965\n", - "5966\n", - "5967\n", - "5968\n", - "5969\n", - "5970\n", - "5971\n", - "5972\n", - "5973\n", - "5974\n", - "5975\n", - "5976\n", - "5977\n", - "5978\n", - "5979\n", - "5980\n", - "5981\n", - "5982\n", - "5983\n", - "5984\n", - "5985\n", - "5986\n", - "5987\n", - "5988\n", - "5989\n", - "5990\n", - "5991\n", - "5992\n", - "5993\n", - "5994\n", - "5995\n", - "5996\n", - "5997\n", - "5998\n", - "5999\n", - "CALLED\n", - "self.model._steps=6000\n", - " TEST self.model._steps=6000\n", + "FINAL CALLED\n", + "self.model._steps=5555\n", + " TEST self.model._steps=5555\n", " TEST self._cache_interval=100\n", " Gini\n", - "5900 0.6962\n", - "5901 0.6814\n", - "5902 0.6622\n", - "5903 0.6738\n", - "5904 0.6670\n", - "... ...\n", - "5995 0.5982\n", - "5996 0.5974\n", - "5997 0.5904\n", - "5998 0.5750\n", - "5999 0.5794\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_060.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_060.parquet'\n", - "Saving model to output_dir/model_data_060.parquet\n", - "Saving agent to output_dir/agent_data_060.parquet\n", - "6000\n", - "6001\n", - "6002\n", - "6003\n", - "6004\n", - "6005\n", - "6006\n", - "6007\n", - "6008\n", - "6009\n", - "6010\n", - "6011\n", - "6012\n", - "6013\n", - "6014\n", - "6015\n", - "6016\n", - "6017\n", - "6018\n", - "6019\n", - "6020\n", - "6021\n", - "6022\n", - "6023\n", - "6024\n", - "6025\n", - "6026\n", - "6027\n", - "6028\n", - "6029\n", - "6030\n", - "6031\n", - "6032\n", - "6033\n", - "6034\n", - "6035\n", - "6036\n", - "6037\n", - "6038\n", - "6039\n", - "6040\n", - "6041\n", - "6042\n", - "6043\n", - "6044\n", - "6045\n", - "6046\n", - "6047\n", - "6048\n", - "6049\n", - "6050\n", - "6051\n", - "6052\n", - "6053\n", - "6054\n", - "6055\n", - "6056\n", - "6057\n", - "6058\n", - "6059\n", - "6060\n", - "6061\n", - "6062\n", - "6063\n", - "6064\n", - "6065\n", - "6066\n", - "6067\n", - "6068\n", - "6069\n", - "6070\n", - "6071\n", - "6072\n", - "6073\n", - "6074\n", - "6075\n", - "6076\n", - "6077\n", - "6078\n", - "6079\n", - "6080\n", - "6081\n", - "6082\n", - "6083\n", - "6084\n", - "6085\n", - "6086\n", - "6087\n", - "6088\n", - "6089\n", - "6090\n", - "6091\n", - "6092\n", - "6093\n", - "6094\n", - "6095\n", - "6096\n", - "6097\n", - "6098\n", - "6099\n", - "CALLED\n", - "self.model._steps=6100\n", - " TEST self.model._steps=6100\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "6000 0.5854\n", - "6001 0.5958\n", - "6002 0.6226\n", - "6003 0.6268\n", - "6004 0.6618\n", - "... ...\n", - "6095 0.6460\n", - "6096 0.6372\n", - "6097 0.6520\n", - "6098 0.6554\n", - "6099 0.6380\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_061.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_061.parquet'\n", - "Saving model to output_dir/model_data_061.parquet\n", - "Saving agent to output_dir/agent_data_061.parquet\n", - "6100\n", - "6101\n", - "6102\n", - "6103\n", - "6104\n", - "6105\n", - "6106\n", - "6107\n", - "6108\n", - "6109\n", - "6110\n", - "6111\n", - "6112\n", - "6113\n", - "6114\n", - "6115\n", - "6116\n", - "6117\n", - "6118\n", - "6119\n", - "6120\n", - "6121\n", - "6122\n", - "6123\n", - "6124\n", - "6125\n", - "6126\n", - "6127\n", - "6128\n", - "6129\n", - "6130\n", - "6131\n", - "6132\n", - "6133\n", - "6134\n", - "6135\n", - "6136\n", - "6137\n", - "6138\n", - "6139\n", - "6140\n", - "6141\n", - "6142\n", - "6143\n", - "6144\n", - "6145\n", - "6146\n", - "6147\n", - "6148\n", - "6149\n", - "6150\n", - "6151\n", - "6152\n", - "6153\n", - "6154\n", - "6155\n", - "6156\n", - "6157\n", - "6158\n", - "6159\n", - "6160\n", - "6161\n", - "6162\n", - "6163\n", - "6164\n", - "6165\n", - "6166\n", - "6167\n", - "6168\n", - "6169\n", - "6170\n", - "6171\n", - "6172\n", - "6173\n", - "6174\n", - "6175\n", - "6176\n", - "6177\n", - "6178\n", - "6179\n", - "6180\n", - "6181\n", - "6182\n", - "6183\n", - "6184\n", - "6185\n", - "6186\n", - "6187\n", - "6188\n", - "6189\n", - "6190\n", - "6191\n", - "6192\n", - "6193\n", - "6194\n", - "6195\n", - "6196\n", - "6197\n", - "6198\n", - "6199\n", - "CALLED\n", - "self.model._steps=6200\n", - " TEST self.model._steps=6200\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "6100 0.6122\n", - "6101 0.6106\n", - "6102 0.6094\n", - "6103 0.6184\n", - "6104 0.6390\n", - "... ...\n", - "6195 0.6700\n", - "6196 0.6602\n", - "6197 0.6812\n", - "6198 0.6620\n", - "6199 0.6818\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_062.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_062.parquet'\n", - "Saving model to output_dir/model_data_062.parquet\n", - "Saving agent to output_dir/agent_data_062.parquet\n", - "6200\n", - "6201\n", - "6202\n", - "6203\n", - "6204\n", - "6205\n", - "6206\n", - "6207\n", - "6208\n", - "6209\n", - "6210\n", - "6211\n", - "6212\n", - "6213\n", - "6214\n", - "6215\n", - "6216\n", - "6217\n", - "6218\n", - "6219\n", - "6220\n", - "6221\n", - "6222\n", - "6223\n", - "6224\n", - "6225\n", - "6226\n", - "6227\n", - "6228\n", - "6229\n", - "6230\n", - "6231\n", - "6232\n", - "6233\n", - "6234\n", - "6235\n", - "6236\n", - "6237\n", - "6238\n", - "6239\n", - "6240\n", - "6241\n", - "6242\n", - "6243\n", - "6244\n", - "6245\n", - "6246\n", - "6247\n", - "6248\n", - "6249\n", - "6250\n", - "6251\n", - "6252\n", - "6253\n", - "6254\n", - "6255\n", - "6256\n", - "6257\n", - "6258\n", - "6259\n", - "6260\n", - "6261\n", - "6262\n", - "6263\n", - "6264\n", - "6265\n", - "6266\n", - "6267\n", - "6268\n", - "6269\n", - "6270\n", - "6271\n", - "6272\n", - "6273\n", - "6274\n", - "6275\n", - "6276\n", - "6277\n", - "6278\n", - "6279\n", - "6280\n", - "6281\n", - "6282\n", - "6283\n", - "6284\n", - "6285\n", - "6286\n", - "6287\n", - "6288\n", - "6289\n", - "6290\n", - "6291\n", - "6292\n", - "6293\n", - "6294\n", - "6295\n", - "6296\n", - "6297\n", - "6298\n", - "6299\n", - "CALLED\n", - "self.model._steps=6300\n", - " TEST self.model._steps=6300\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "6200 0.7074\n", - "6201 0.6912\n", - "6202 0.6990\n", - "6203 0.7122\n", - "6204 0.7230\n", - "... ...\n", - "6295 0.6710\n", - "6296 0.6800\n", - "6297 0.6578\n", - "6298 0.6654\n", - "6299 0.6560\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_063.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_063.parquet'\n", - "Saving model to output_dir/model_data_063.parquet\n", - "Saving agent to output_dir/agent_data_063.parquet\n", - "6300\n", - "6301\n", - "6302\n", - "6303\n", - "6304\n", - "6305\n", - "6306\n", - "6307\n", - "6308\n", - "6309\n", - "6310\n", - "6311\n", - "6312\n", - "6313\n", - "6314\n", - "6315\n", - "6316\n", - "6317\n", - "6318\n", - "6319\n", - "6320\n", - "6321\n", - "6322\n", - "6323\n", - "6324\n", - "6325\n", - "6326\n", - "6327\n", - "6328\n", - "6329\n", - "6330\n", - "6331\n", - "6332\n", - "6333\n", - "6334\n", - "6335\n", - "6336\n", - "6337\n", - "6338\n", - "6339\n", - "6340\n", - "6341\n", - "6342\n", - "6343\n", - "6344\n", - "6345\n", - "6346\n", - "6347\n", - "6348\n", - "6349\n", - "6350\n", - "6351\n", - "6352\n", - "6353\n", - "6354\n", - "6355\n", - "6356\n", - "6357\n", - "6358\n", - "6359\n", - "6360\n", - "6361\n", - "6362\n", - "6363\n", - "6364\n", - "6365\n", - "6366\n", - "6367\n", - "6368\n", - "6369\n", - "6370\n", - "6371\n", - "6372\n", - "6373\n", - "6374\n", - "6375\n", - "6376\n", - "6377\n", - "6378\n", - "6379\n", - "6380\n", - "6381\n", - "6382\n", - "6383\n", - "6384\n", - "6385\n", - "6386\n", - "6387\n", - "6388\n", - "6389\n", - "6390\n", - "6391\n", - "6392\n", - "6393\n", - "6394\n", - "6395\n", - "6396\n", - "6397\n", - "6398\n", - "6399\n", - "CALLED\n", - "self.model._steps=6400\n", - " TEST self.model._steps=6400\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "6300 0.6668\n", - "6301 0.6226\n", - "6302 0.6426\n", - "6303 0.6436\n", - "6304 0.6544\n", - "... ...\n", - "6395 0.6688\n", - "6396 0.6844\n", - "6397 0.6896\n", - "6398 0.6938\n", - "6399 0.7022\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_064.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_064.parquet'\n", - "Saving model to output_dir/model_data_064.parquet\n", - "Saving agent to output_dir/agent_data_064.parquet\n", - "6400\n", - "6401\n", - "6402\n", - "6403\n", - "6404\n", - "6405\n", - "6406\n", - "6407\n", - "6408\n", - "6409\n", - "6410\n", - "6411\n", - "6412\n", - "6413\n", - "6414\n", - "6415\n", - "6416\n", - "6417\n", - "6418\n", - "6419\n", - "6420\n", - "6421\n", - "6422\n", - "6423\n", - "6424\n", - "6425\n", - "6426\n", - "6427\n", - "6428\n", - "6429\n", - "6430\n", - "6431\n", - "6432\n", - "6433\n", - "6434\n", - "6435\n", - "6436\n", - "6437\n", - "6438\n", - "6439\n", - "6440\n", - "6441\n", - "6442\n", - "6443\n", - "6444\n", - "6445\n", - "6446\n", - "6447\n", - "6448\n", - "6449\n", - "6450\n", - "6451\n", - "6452\n", - "6453\n", - "6454\n", - "6455\n", - "6456\n", - "6457\n", - "6458\n", - "6459\n", - "6460\n", - "6461\n", - "6462\n", - "6463\n", - "6464\n", - "6465\n", - "6466\n", - "6467\n", - "6468\n", - "6469\n", - "6470\n", - "6471\n", - "6472\n", - "6473\n", - "6474\n", - "6475\n", - "6476\n", - "6477\n", - "6478\n", - "6479\n", - "6480\n", - "6481\n", - "6482\n", - "6483\n", - "6484\n", - "6485\n", - "6486\n", - "6487\n", - "6488\n", - "6489\n", - "6490\n", - "6491\n", - "6492\n", - "6493\n", - "6494\n", - "6495\n", - "6496\n", - "6497\n", - "6498\n", - "6499\n", - "CALLED\n", - "self.model._steps=6500\n", - " TEST self.model._steps=6500\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "6400 0.7002\n", - "6401 0.6872\n", - "6402 0.6718\n", - "6403 0.7072\n", - "6404 0.6848\n", - "... ...\n", - "6495 0.7172\n", - "6496 0.6978\n", - "6497 0.7108\n", - "6498 0.7166\n", - "6499 0.6990\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_065.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_065.parquet'\n", - "Saving model to output_dir/model_data_065.parquet\n", - "Saving agent to output_dir/agent_data_065.parquet\n", - "6500\n", - "6501\n", - "6502\n", - "6503\n", - "6504\n", - "6505\n", - "6506\n", - "6507\n", - "6508\n", - "6509\n", - "6510\n", - "6511\n", - "6512\n", - "6513\n", - "6514\n", - "6515\n", - "6516\n", - "6517\n", - "6518\n", - "6519\n", - "6520\n", - "6521\n", - "6522\n", - "6523\n", - "6524\n", - "6525\n", - "6526\n", - "6527\n", - "6528\n", - "6529\n", - "6530\n", - "6531\n", - "6532\n", - "6533\n", - "6534\n", - "6535\n", - "6536\n", - "6537\n", - "6538\n", - "6539\n", - "6540\n", - "6541\n", - "6542\n", - "6543\n", - "6544\n", - "6545\n", - "6546\n", - "6547\n", - "6548\n", - "6549\n", - "6550\n", - "6551\n", - "6552\n", - "6553\n", - "6554\n", - "6555\n", - "6556\n", - "6557\n", - "6558\n", - "6559\n", - "6560\n", - "6561\n", - "6562\n", - "6563\n", - "6564\n", - "6565\n", - "6566\n", - "6567\n", - "6568\n", - "6569\n", - "6570\n", - "6571\n", - "6572\n", - "6573\n", - "6574\n", - "6575\n", - "6576\n", - "6577\n", - "6578\n", - "6579\n", - "6580\n", - "6581\n", - "6582\n", - "6583\n", - "6584\n", - "6585\n", - "6586\n", - "6587\n", - "6588\n", - "6589\n", - "6590\n", - "6591\n", - "6592\n", - "6593\n", - "6594\n", - "6595\n", - "6596\n", - "6597\n", - "6598\n", - "6599\n", - "CALLED\n", - "self.model._steps=6600\n", - " TEST self.model._steps=6600\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "6500 0.6888\n", - "6501 0.7066\n", - "6502 0.7068\n", - "6503 0.6898\n", - "6504 0.6928\n", - "... ...\n", - "6595 0.6804\n", - "6596 0.6648\n", - "6597 0.6424\n", - "6598 0.6346\n", - "6599 0.6264\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_066.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_066.parquet'\n", - "Saving model to output_dir/model_data_066.parquet\n", - "Saving agent to output_dir/agent_data_066.parquet\n", - "6600\n", - "6601\n", - "6602\n", - "6603\n", - "6604\n", - "6605\n", - "6606\n", - "6607\n", - "6608\n", - "6609\n", - "6610\n", - "6611\n", - "6612\n", - "6613\n", - "6614\n", - "6615\n", - "6616\n", - "6617\n", - "6618\n", - "6619\n", - "6620\n", - "6621\n", - "6622\n", - "6623\n", - "6624\n", - "6625\n", - "6626\n", - "6627\n", - "6628\n", - "6629\n", - "6630\n", - "6631\n", - "6632\n", - "6633\n", - "6634\n", - "6635\n", - "6636\n", - "6637\n", - "6638\n", - "6639\n", - "6640\n", - "6641\n", - "6642\n", - "6643\n", - "6644\n", - "6645\n", - "6646\n", - "6647\n", - "6648\n", - "6649\n", - "6650\n", - "6651\n", - "6652\n", - "6653\n", - "6654\n", - "6655\n", - "6656\n", - "6657\n", - "6658\n", - "6659\n", - "6660\n", - "6661\n", - "6662\n", - "6663\n", - "6664\n", - "6665\n", - "6666\n", - "6667\n", - "6668\n", - "6669\n", - "6670\n", - "6671\n", - "6672\n", - "6673\n", - "6674\n", - "6675\n", - "6676\n", - "6677\n", - "6678\n", - "6679\n", - "6680\n", - "6681\n", - "6682\n", - "6683\n", - "6684\n", - "6685\n", - "6686\n", - "6687\n", - "6688\n", - "6689\n", - "6690\n", - "6691\n", - "6692\n", - "6693\n", - "6694\n", - "6695\n", - "6696\n", - "6697\n", - "6698\n", - "6699\n", - "CALLED\n", - "self.model._steps=6700\n", - " TEST self.model._steps=6700\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "6600 0.6150\n", - "6601 0.6304\n", - "6602 0.6556\n", - "6603 0.6400\n", - "6604 0.6178\n", - "... ...\n", - "6695 0.7218\n", - "6696 0.7260\n", - "6697 0.7100\n", - "6698 0.7012\n", - "6699 0.7178\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_067.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_067.parquet'\n", - "Saving model to output_dir/model_data_067.parquet\n", - "Saving agent to output_dir/agent_data_067.parquet\n", - "6700\n", - "6701\n", - "6702\n", - "6703\n", - "6704\n", - "6705\n", - "6706\n", - "6707\n", - "6708\n", - "6709\n", - "6710\n", - "6711\n", - "6712\n", - "6713\n", - "6714\n", - "6715\n", - "6716\n", - "6717\n", - "6718\n", - "6719\n", - "6720\n", - "6721\n", - "6722\n", - "6723\n", - "6724\n", - "6725\n", - "6726\n", - "6727\n", - "6728\n", - "6729\n", - "6730\n", - "6731\n", - "6732\n", - "6733\n", - "6734\n", - "6735\n", - "6736\n", - "6737\n", - "6738\n", - "6739\n", - "6740\n", - "6741\n", - "6742\n", - "6743\n", - "6744\n", - "6745\n", - "6746\n", - "6747\n", - "6748\n", - "6749\n", - "6750\n", - "6751\n", - "6752\n", - "6753\n", - "6754\n", - "6755\n", - "6756\n", - "6757\n", - "6758\n", - "6759\n", - "6760\n", - "6761\n", - "6762\n", - "6763\n", - "6764\n", - "6765\n", - "6766\n", - "6767\n", - "6768\n", - "6769\n", - "6770\n", - "6771\n", - "6772\n", - "6773\n", - "6774\n", - "6775\n", - "6776\n", - "6777\n", - "6778\n", - "6779\n", - "6780\n", - "6781\n", - "6782\n", - "6783\n", - "6784\n", - "6785\n", - "6786\n", - "6787\n", - "6788\n", - "6789\n", - "6790\n", - "6791\n", - "6792\n", - "6793\n", - "6794\n", - "6795\n", - "6796\n", - "6797\n", - "6798\n", - "6799\n", - "CALLED\n", - "self.model._steps=6800\n", - " TEST self.model._steps=6800\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "6700 0.7140\n", - "6701 0.6918\n", - "6702 0.6902\n", - "6703 0.6968\n", - "6704 0.7136\n", - "... ...\n", - "6795 0.5904\n", - "6796 0.5826\n", - "6797 0.5538\n", - "6798 0.5822\n", - "6799 0.6018\n", - "\n", - "[100 rows x 1 columns]\n", + "5500 0.6888\n", + "5501 0.6708\n", + "5502 0.6882\n", + "5503 0.6648\n", + "5504 0.6682\n", + "5505 0.6570\n", + "5506 0.6442\n", + "5507 0.6500\n", + "5508 0.6498\n", + "5509 0.6366\n", + "5510 0.6336\n", + "5511 0.6252\n", + "5512 0.6150\n", + "5513 0.6150\n", + "5514 0.6412\n", + "5515 0.6214\n", + "5516 0.6256\n", + "5517 0.6322\n", + "5518 0.6560\n", + "5519 0.6762\n", + "5520 0.6844\n", + "5521 0.6694\n", + "5522 0.6668\n", + "5523 0.6752\n", + "5524 0.6574\n", + "5525 0.6632\n", + "5526 0.6688\n", + "5527 0.6732\n", + "5528 0.6484\n", + "5529 0.6332\n", + "5530 0.6516\n", + "5531 0.6388\n", + "5532 0.6496\n", + "5533 0.6562\n", + "5534 0.6442\n", + "5535 0.6202\n", + "5536 0.6210\n", + "5537 0.6486\n", + "5538 0.6644\n", + "5539 0.6322\n", + "5540 0.6384\n", + "5541 0.6368\n", + "5542 0.6404\n", + "5543 0.6352\n", + "5544 0.6296\n", + "5545 0.6680\n", + "5546 0.6882\n", + "5547 0.6686\n", + "5548 0.6722\n", + "5549 0.6758\n", + "5550 0.6930\n", + "5551 0.6732\n", + "5552 0.6606\n", + "5553 0.6368\n", + "5554 0.6510\n", "3\n", - "model_file='output_dir/model_data_068.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_068.parquet'\n", - "Saving model to output_dir/model_data_068.parquet\n", - "Saving agent to output_dir/agent_data_068.parquet\n", - "6800\n", - "6801\n", - "6802\n", - "6803\n", - "6804\n", - "6805\n", - "6806\n", - "6807\n", - "6808\n", - "6809\n", - "6810\n", - "6811\n", - "6812\n", - "6813\n", - "6814\n", - "6815\n", - "6816\n", - "6817\n", - "6818\n", - "6819\n", - "6820\n", - "6821\n", - "6822\n", - "6823\n", - "6824\n", - "6825\n", - "6826\n", - "6827\n", - "6828\n", - "6829\n", - "6830\n", - "6831\n", - "6832\n", - "6833\n", - "6834\n", - "6835\n", - "6836\n", - "6837\n", - "6838\n", - "6839\n", - "6840\n", - "6841\n", - "6842\n", - "6843\n", - "6844\n", - "6845\n", - "6846\n", - "6847\n", - "6848\n", - "6849\n", - "6850\n", - "6851\n", - "6852\n", - "6853\n", - "6854\n", - "6855\n", - "6856\n", - "6857\n", - "6858\n", - "6859\n", - "6860\n", - "6861\n", - "6862\n", - "6863\n", - "6864\n", - "6865\n", - "6866\n", - "6867\n", - "6868\n", - "6869\n", - "6870\n", - "6871\n", - "6872\n", - "6873\n", - "6874\n", - "6875\n", - "6876\n", - "6877\n", - "6878\n", - "6879\n", - "6880\n", - "6881\n", - "6882\n", - "6883\n", - "6884\n", - "6885\n", - "6886\n", - "6887\n", - "6888\n", - "6889\n", - "6890\n", - "6891\n", - "6892\n", - "6893\n", - "6894\n", - "6895\n", - "6896\n", - "6897\n", - "6898\n", - "6899\n", - "CALLED\n", - "self.model._steps=6900\n", - " TEST self.model._steps=6900\n", - " TEST self._cache_interval=100\n", + "model_file='test_path/model_data_056.parquet'\n", + "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_056.parquet'\n", + "Saving model to test_path/model_data_056.parquet\n", + "Saving agent to test_path/agent_data_056.parquet\n", + "model_vars.get('Gini', 0)[-1]=0.651\n", + "Condition not met at step 5555. No data to save.\n" + ] + } + ], + "source": [ + "for i in range(5555):\n", + " print(i)\n", + " cacheable_model.model.step()\n", + " cacheable_model.cache()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "248ea838-5c71-4838-b6ad-fdcfdc3a1c1e", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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KUWf48cffxQACK+//rrV8rvuukswGAyWMh06dEjw9/cX3njjDav1tm/fLgQEBFgtN39Gcy2L2dChQ4X69evblcG2dmD8+PECAGHhwoV265prAaRqbm688UahY8eOwoULF6zW79Gjh9CmTRvLMvNxTE9Pt6pVeOaZZwR/f3/h7NmzlmWOajVsKT2Wubm5dn9bQRCEJ554QggLC7OcL3/99ZcAQPjqq6+s1lu6dKndcnMt09KlSxWVVcyVmpu+fftaHbvu3bsLBoNBGDFihGVZVVWV0LRpU6ttq/lMRFrjaCkiJ4qLiwEAYWFhdq9dd911aNSokeVn5syZTreXnp6OVq1aWX7v1KkTwsPD8e+//7pULnE/G0eWLFkCf39//O9//7Na/uyzz0IQBPz6668AgIULF8JkMuGee+7ByZMnLT9xcXFo06YNVq5cqaqcjvzwww9ITk62q2kBINuR+vTp01ixYgXuuecelJSUWMp36tQp9O3bF/v27cPRo0et3vPoo49abe+aa66B0WjE4cOHXSq30mPZtm1bpKSkWGqIgOrO4t9//z369+9v6Sfz3XffISIiAr1797Y65qmpqQgLC7M75i1atEDfvn1dKrtaDz/8sNWxS0tLgyAIePjhhy3L/P390aVLF6tzWO1nItISm6WInDAHD6WlpXavffjhhygpKUFBQYFkJ00pUk1IUVFROHPmjKpyhYeHAwBKSkoUrX/48GE0adLELhi6/PLLLa8DwL59+yAIAtq0aSO5HS2bEg4cOICBAweqes/+/fshCALGjRuHcePGSa5z4sQJxMfHW363PeZRUVEAoPqYmyk9lkB109SLL76Io0ePIj4+HqtWrcKJEyeQkZFhWWffvn0oKipCTEyM7OcRa9GihUvldoXtsYuIiAAAJCQk2C0XH0+1n4lISwxuiJyIiIhA48aNJUcdmfvgqEm2JzcKSlCZlaF169YICAjA9u3bVb3PGZPJBIPBgF9//VWyrFI1WLXJZDIBAEaPHi1beyEelg5od8xdkZGRgbFjx+K7777D008/jW+//RYRERG46aabLOuYTCbExMTgq6++ktxGo0aNrH63HRnlSXLHTmq5+Hiq/UxEWmJwQ6RAv3798MknnyAnJwfdunXTuzgAgNDQUNxwww1YsWIFjhw5Yvckbat58+b4/fffUVJSYlXjsGfPHsvrANCqVSsIgoAWLVqgbdu2nvsAF/eldqh6y5YtAVTXIKWnp2tWFjXJ7JQeS6C6lqVbt25YsGABRo0ahYULF2LAgAFWQ69btWqF33//HT179qzVwMWTfPEzUd3BPjdECjz//PMIDQ3FQw89hIKCArvXa6MGQMqECRMgCAIGDx4s2Wy2ceNGfPbZZwCAW265BUajETNmzLBaZ+rUqTAYDLj55psBAHfeeSf8/f0xceJEu88lCAJOnTqlWfkHDhyIrVu3YtGiRXavyR3TmJgYXHfddfjwww9x/Phxu9cLCwtdKkv9+vVx9uxZResqPZZmGRkZWLduHebMmYOTJ09aNUkBwD333AOj0YjXXnvNbl9VVVWKy+VNfPEzUd3BmhsiBdq0aYOvv/4agwYNQrt27SwZigVBwMGDB/H111/Dz88PTZs2rdVy9ejRAzNnzsQTTzyB9u3bW2UoXrVqFX7++We8/vrrAID+/fvj+uuvx0svvYRDhw4hOTkZy5Ytw08//YSnn37a0sm5VatWeP311zF27FgcOnQIAwYMQIMGDXDw4EEsWrQIjz76KEaPHq1J+Z977jl8//33uPvuu/HQQw8hNTUVp0+fxs8//4zZs2cjOTlZ8n0zZ87E1VdfjY4dO2L48OFo2bIlCgoKsHbtWvz333/YunWr6rKkpqZi1qxZeP3119G6dWvExMTghhtukFxX6bE0u+eeezB69GiMHj3aMjWGWK9evfDYY48hKysLW7ZsQZ8+fRAYGIh9+/bhu+++w3vvvYe77rpL9WfSky9+Jqo7GNwQKXT77bdj+/btePfdd7Fs2TLMmTMHBoMBzZs3R79+/TBixAjZm7EnPfbYY+jatSveffddfP755ygsLERYWBiuvPJKzJ0719LR2c/PDz///DPGjx+PBQsWYO7cuUhMTMTkyZPx7LPPWm1zzJgxaNu2LaZOnYqJEycCqO5A2qdPH9x2222alT0sLAx//fUXJkyYgEWLFuGzzz5DTEwMbrzxRoeBYlJSEjZs2ICJEydi3rx5OHXqFGJiYtC5c2eMHz/epbKMHz8ehw8fxttvv42SkhL06tVLNrhRcywBoGnTpujRowf+/vtvPPLII5KdsmfPno3U1FR8+OGHePHFFxEQEIDExEQ88MAD6Nmzp0ufSW+++JmobuDcUkRERORT2OeGiIiIfAqDGyIiIvIpDG6IiIjIpzC4ISIiIp/C4IaIiIh8CoMbIiIi8imXXJ4bk8mEY8eOoUGDBqrSrRMREZF+BEFASUkJmjRpAj8/x3Uzl1xwc+zYMadz8BAREZF3OnLkiNNs8JdccGOe5O7IkSMIDw/XuTRERESkRHFxMRISEqwmq5VzyQU35qao8PBwBjdERER1jJIuJexQTERERD6FwQ0RERH5FAY3RERE5FMuuT43REREtUkQBFRVVcFoNOpdFK8XGBgIf39/t7fD4IaIiMhDKioqcPz4cZw7d07votQJBoMBTZs2RVhYmFvb0T24mTlzJiZPnoz8/HwkJydj+vTp6Natm+z606ZNw6xZs5CXl4fo6GjcddddyMrKQkhISC2WmoiIyDGTyYSDBw/C398fTZo0QVBQEJPHOiAIAgoLC/Hff/+hTZs2btXg6BrcLFiwAJmZmZg9ezbS0tIwbdo09O3bF7m5uYiJibFb/+uvv8aYMWMwZ84c9OjRA3v37sWDDz4Ig8GAKVOm6PAJiIiIpFVUVMBkMiEhIQGhoaF6F6dOaNSoEQ4dOoTKykq3ghtdOxRPmTIFw4cPx7Bhw5CUlITZs2cjNDQUc+bMkVx/zZo16NmzJ+677z4kJiaiT58+GDRoEHJycmq55ERERMo4myqAamhVs6XbEa+oqMDGjRuRnp5eUxg/P6Snp2Pt2rWS7+nRowc2btxoCWb+/fdfLFmyBLfccovsfsrLy1FcXGz1Q0RERL5Lt2apkydPwmg0IjY21mp5bGws9uzZI/me++67DydPnsTVV19t6X0+YsQIvPjii7L7ycrKwsSJEzUtOxEREXmvOlVXtmrVKrz55pv44IMPsGnTJixcuBCLFy/Ga6+9JvuesWPHoqioyPJz5MiRWiwxERGR7zIYDPjxxx8Vrz9v3jxERkZ6rDxmutXcREdHw9/fHwUFBVbLCwoKEBcXJ/mecePGYfDgwXjkkUcAAB07dkRZWRkeffRRvPTSS5LtmsHBwQgODtb+AxAREfmw/Px8ZGVlYfHixfjvv/8QERGB1q1b44EHHsDQoUMRGhqK48ePIyoqSvE2MzIyHHYl0YpuNTdBQUFITU1Fdna2ZZnJZEJ2dja6d+8u+Z5z587ZBTDm3tSCIHiusEREOtp1rBif/PUvqowmvYtCl4h///0XnTt3xrJly/Dmm29i8+bNWLt2LZ5//nn88ssv+P333wEAcXFxqioQ6tWrJzkaWmu6DgXPzMzE0KFD0aVLF3Tr1g3Tpk1DWVkZhg0bBgAYMmQI4uPjkZWVBQDo378/pkyZgs6dOyMtLQ379+/HuHHj0L9/f00yGhIReaNb3v8LABAU4Ich3RP1LQy5RRAEnK+s/UzF9QL9VY1EeuKJJxAQEIANGzagfv36luUtW7bE7bffbqlQMBgMWLRoEQYMGIBDhw6hRYsW+OGHHzB9+nSsX78ebdq0wezZsy2VFvPmzcPTTz+Ns2fPavr5bOka3GRkZKCwsBDjx49Hfn4+UlJSsHTpUksn47y8PKuampdffhkGgwEvv/wyjh49ikaNGqF///5444039PoIRES1ZsfRIr2LQG46X2lE0vjfan2/u17ti9AgZbf8U6dOWWpsxIGNmKNA6aWXXsI777yDNm3a4KWXXsKgQYOwf/9+BATUXsihe4biUaNGYdSoUZKvrVq1yur3gIAATJgwARMmTKiFkhEReRcDmN2WPG///v0QBAHt2rWzWh4dHY0LFy4AAEaOHIm33npL8v2jR49Gv379AAATJ05Ehw4dsH//frRv396zBRfRPbghIiJlmLm/7qsX6I9dr/bVZb/uysnJgclkwv3334/y8nLZ9Tp16mT5f+PGjQEAJ06cYHBDRETkiwwGg+LmIb20bt0aBoMBubm5VstbtmwJoLpTsCOBgYGW/5ubr0ym2u0MX6fy3BARXcpYc0O14bLLLkPv3r0xY8YMlJWV6V0clzC4ISKqMxjdUO344IMPUFVVhS5dumDBggXYvXs3cnNz8eWXX2LPnj1eP0LZu+vGiIjIgjU3VFtatWqFzZs3480338TYsWPx33//ITg4GElJSRg9ejSeeOIJvYvoEIMbIiIistO4cWNMnz4d06dPl11HnEA3MTHRLqFuZGSk1bIHH3wQDz74oOZltcVmKSKiOoIVN0TKMLghIiIin8LghkhnRpOAP/cWovhCpd5FIS8krtJnnxvPO1F8AUYT5yqs6xjcXAJOFF/AyVL5hEukr0/++hdD5uTgvo/X6V0U8kK80dae9f+eQrc3szH88w16F4XcxA7FPu5CpRHd3qyeeX3/GzcjwJ/xrLf5YdN/AIAdR4t1Lgl5oyoGN7Xm09UHAQAr9pzQdLu2nWxJnlbHinc6H3e6rMLy/3M6zERLzvG6R46YRCcIzxXP0rqWzJyp99y5c5pu15dVVFTfs9zNo8OaGx/n71fTSF9l5JXRG5l4xyIHxDdcnimepXUtmb+/PyIjI3HiRHVNUGhoqMPZtC91JpMJhYWFCA0NdXsGcQY3Pk5836yoqt25PUgZ3rDIEfGUPGze8KwqD8x/FBcXBwCWAIcc8/PzQ7NmzdwOAhnc+LgTJRcs/y8sKUdcRIiOpSFJvF9dkiqqTHj5x+24pk0j9E9uIruekQFNrRAEAX/vP6X5dg0GAxo3boyYmBhUVnJEpDNBQUHw83O/xwyDGx83dfley/8/W3sI79ydrGNpyNa5iir8e7JuTkxH7lmw4Qi+3fAfvt3wn8PgRlybwJFTnrP/RKlHt+/v719r8zEVX6jExsNncHXraAReooNILs1PXYvOlFXgpy1HcUGnzrxl5TX7/X7jf7qUgeQljf9N7yKQTgpLlKVnOHyqpjMqR055TkGxd6bLMJkELN52HP+dUd4pecinORg29x/MXLnfgyXzbgxuPGzo3Bw8NX8LXl+8S5f9s0rbe+kV8JI+jp49j+W7Ciz9ZpT0nykovoC7Z6+1/L5w01GPle9Sd/Z8hfOVdLBw81GM/HoTrn5rpeL3bDlyFkBNmgk17zvlIznRGNx42Lb/igAAP205psv+ORJHmXMVVXhj8S5sPHym1vZZaWQH70vF1iNn0XPSCgz/fAN+3ZEPQNl3c+exIk8XjS7y1kvlmgMnVa1vEtXulV6oUvy+nIOnMWDm3+gz9U9V+/NWDG5qiV5t5azFVmb6iv34+K+DGDhrTa3tk/0nao/JJOg60ujej2qyT/+5txCAsptpcEDt9NG4VPyy7RjG/7RD8rsnFWwu2X4ct89YjbxT+uWpMYimS+05aQVW5ToedVVSXhPQnDlX04HZ2Xfg1x3HAQCnyryzBkstBje1RK8alK0XqyfJMU93JpTiTf0nftx8FN9uOKJ3MTzCaBLQf8ZqDP40R7cA57yoCbLiYo3dzmPOM1L7MSeKpkZ9vRmfrz2Mn7bYN+9VSuQBe+KrTdj6XxHGLNxWG8Vz6ujZ83hw7j8O1xEHboH+1edPldGEW97/C0OdvNeXcLRULfFA+gSnft9VUPs7raP8dLiHmLwkuKk0mvD0gi0AgOvbxaBRg2B9C6SxgydLLYFEWYURYcH6XvbMT+J/XKzBcbjuJR7bnCmrQFT9IM23e7zogt0yo4OL9Nlz+g3hVnsOiEfXmc+1vQWl2JNfgj35Jag0miRHUPn72MnGmpta4onkUI6cKL6ARzj5m2Liqt/a4i01N+InvTPnfKNKWsxflDNjwT/VtVMnSi7oUlsHVN+slNYgXco1N4s2/4fOry3HFFE6C61INUtJ1dyY6dl3Uc0oKcA2o3X1/801OABwrkJ6IIOfHk94HsTgxoP0HA3jK+2mtUWPe4i39LkRX7fPy1z4PGntgVMeTVMQILpom7+T3d7IRvqUP5Av8QTvaQbUjGZxuq7NeRkVGqh5ebzVS4t2AADez96n+bb9JW7kVTYd/MvKlXfG9aR1/55Wtb7UNDtWo2ZlLju+FkezWcqDxE8ctX0b87UT1dP0eEL2dHDz1tI9CPT3Q2bvtg7X2360ZkROuQ5TdAz6uLqzbfu4BrgiPkLz7QeInlrjwq0zdO/JL1adtbvSaIKfwSB5g1TCYLDug+NwXbt9e0dAXBvEn10QBE3nZJL6vtvWpJ4qrXlA9NaRVFKsam4u/lcc8MjVQrFZihTJL7qAj/781/K7IFQPN64tUs0sN3WIq7X91zk6fK8vVHmulqSg+AJmrTqA97P3OaxBPHL6HO75sCaPip7D09VWvyt1obLmM0Xb9CdSG9RWGk3oMWkF+k5zfbisAQYEByi79NrmKanQ+O9jMgn4bsMR7D9Roul23bW3oARlolpErR8EAqRqbmz2IZ4BQNBxjpTr2zWyW2Zby2T1msREq0omX/W1JlAGNx4iNaR48m+5tbZ/qfPU39+7T15BELymqaY2zF51wG7Z5jxt8uwcVjh0dddx6xE7ej6hPvvtVs1HM1UaTbj+nVWW302C9XBYtbUvh06WobCkHPtPlLrcIdxgAIIk0vDP/uMABs5aY9Uc8k2O9Qi2SqNJ02P0f9uO4bnvtyF9inflNun3/l9Wv2t9Wkr1LbMNGCqtajs0LoCbis7Ld3CWuoaK+3zKnT/ir4IvTNDK4MZDjp49b7dsVa7z0RFakap69PYT9omvNuHat1e63Fdp/4lSDJj5N1bssR4lpuRz6/HU8tc+++RcL/+4Q5Nti2tjHHWctf3UenacLKswYpNGwZ3ZSZtsqyaTYHWjUvtnF3e6dDX7t8EABAbY73jSr3uw8fAZfLX+sOx7BUHbWozt/3lnkkDb5jc15+V/Z87h563H7IJP8XXgA4kHC9uaG3Pnc9v3egNHTXRSgYz4eMrW3IjPbW+L5lzA4KYW1ebtUzJJlZcnxP11Rz6Onj1vSXKm1qivN2HLkbN4aF7NKLELlUbc8O4feHr+Zofv1aNOS6rTtyeuoX/vV57hVO9L2vkKbU9S234EJsG66U1tUCvenus3AMf7LK90fAy07HcTqLB5TG9qvhe9Jq/C/77ZjAU2eZts/15nbL5/tg8B4lw4esY2UoHM6TL5KRLE1/mAi21rSvrciL8L3jKS0x1148z2EZUeiC6KzlfirllrcN3klTh8qmZ2aald1ZWpGFwtpVSwkL37BA6eLMOPEtNfmEwCPvrzADblnfGaDtha/I1sg5kyByOgbC+cWp0j3244grELt6sOALTu22A7vNVosm76VNssJV7f1RtAcIAfpiyzHt68W9Q86OxcNPe7mfTrHtzz4VqcKatwOdAS3+BLLuiXy8UZNael+Vj8YVNTbvv3Wm6TB+yXbcdl19fzyil1OqRP+RNTZYbIF5bWjAC8uWN1P0urvnQyH0b8VdhXUIoZK/Z59TnhDIObWmR08YnLUdv+jBX7sOHwGRw6dQ73fby+Zl8SV4Nluwrwhk4TeNoymQTZDtYVLo7YkboAOrpRLNx8FG8u2YM7P1hT681SUs2WgDZPTPd/st7q9/MSx7nkQiXOnquwb5aS2f+nqw/iyW82K76JPv/9NnyTk4dlO/MVrW/m6fhbEASrp1g1sc3bS/fgS1GTkasBRXhIAJbZ3FiX7az53dns1ANm/o3S8irM/uMAcg6eRufXlmPAzL9dKos4oaE73wFBEPDwvH9w/yfrPNKE40rQXW7TYd92G0FOaq3Es7Z7W7MUALyXvQ/DP99g14wvrrk2J+sTd0SX+yTiB53+M1bjnWV78er/2d8vjCYBT36zGXNWH3Sj9J7nFcHNzJkzkZiYiJCQEKSlpSEnJ0d23euuuw4Gg8Hup1+/frVYYtfI3biKL1Ti7/0nJS+Wby3dgytfX45jMjdDcYdQ8Q1TLtvmx38d1CWXCVCdQ+WlRdvx175C3PvROiSN/83qAmKmNq/FgcJSvPD9Nrv+FYDjm9fegpoRImou66XlVXjnt1zsskmfX3SuEmMXbsM/h5znpRjzg3Q6dzU3zFd+3onpCo7Vx38dxNiF27HrWDEOFFZXvXd8ZRlSXl2Odf+estv/0h3H8crPO63K8tovu/B/W4+pDlbOOuj4KEVAdT+Qa95egV+3H3e6vjO2NzSjIGDTkZp+PUqHF+8+XowPVh3Ah3/UjIAUH5+Nh08rnr7CNrABgKm/1zyFn3LQ5AAAB0+W4bM1h6yWiYfzq9EmNszyf2cBxMbDZ3DN2yvsajyA6hQC2XtO4O/9p5B3WvtRb+VVJkxZvtdpn6wNou+e7aex/W7ZZult4iAlwKFT55x2IL9QabS7Joidq6hCscY1Ict3FWDu34dkXzd3ThcH9LZ/5tLyKny6+qDkA5fUtWzZznz839ZjePUX73hQlqN7cLNgwQJkZmZiwoQJ2LRpE5KTk9G3b1+cOCE9OdjChQtx/Phxy8+OHTvg7++Pu+++u5ZLrp7cjeue2Wtx/yfr7S5YADBr1QGcPVeJGSv3S7737/2nJJdLJXIy+2r9YaRP+QM7jxVZNWUJgoDTHkz+N+uPA/hqfR4Gf5qDnItfmneX2Y8g26cyc+x9H6+za183k7t5VRlN2HRY/U0OAN75LRczVu7HLTYjOt5dnotvco7g7tlrZd5Z4+gZuZobx7VWBcUX8NmaQ9icdwbz1hzCuwqzt36Tk4db3v8LN777h1UV9Sc2T19Gk4ARX27CvDWH8OPm6j4H4gvyqbIKTZ9ibbclCAJGfLkRR06fx+NfbdJg+9a/nywpxzDR/DpKP0uxRJAm/lsNnLUWz3+/DV+sk+8MbLYn3/Gw69YxDZxuw520EqdKyzHyq034c2+hVedqR0dCEAQMm5uDI6fPY7hE5vOn52+x/H/ZzgJMWb5X8mHDVe8uy8X72ftw5wfyE9sWlpTjLgffPduvVqDN6FFn0zy0fHEJ3s/eh37v/yWZMmHMD9twy/t/Wb43YoIgoMOE39DplWWqB0w4uzStP3gKX6/Pkxwe/uuO/OraStGHtw1iX/2/nXjtl134en2eovKUqJhpXE+6BzdTpkzB8OHDMWzYMCQlJWH27NkIDQ3FnDlzJNdv2LAh4uLiLD/Lly9HaGhonQhu5LIGmy92P0pM5mam9n7iqAbg9cW7sf9EKfq9vxq9Jq/Ctv/OAgDG/bQDV762XPLJTAtSHYXn/+PeZI0XKo0Oq/HlqtrHLNyODVbBjfJ9br14vGzJBSxS5EbaOApKAeDhz/7BhJ934rnvXZ/Ib/dx+adLcbnyiy9g9Hdbce+HNTNav/zjDtz8nvTF3WgSMPLrTZixQnnNm9R5atuc4A7b7b9iU80u9TVZvqsA7y7LtQp8pP5eRpOAZTvzMfuPmpE342xGuxUUX1B1PACgWcNQp+u403o56dc9WLz9OIbMybG6rggycfWS7cfR9Y1sFDu4qS0V1ei9sWQ33s/eh6ecdOJX4ysFN17byTANqK55SByzGI99scHuwcG2WcpZ0AlUJ2bdeawYr0vUWpj79T29YItd7XiF0WQ51lLzWjnm+OK0KrcQLy7ajm9ypI+R0SRYBTS2p85KB6N4pR766krfTV2Dm4qKCmzcuBHp6emWZX5+fkhPT8fatc6ffgHg008/xb333ov69etLvl5eXo7i4mKrH29lexodL6q5Wap9WlbTd2PJ9uoL05frqr8c79jk4zGaBDyzYAs+dbON9YAH5vJZvM1x04Vc7gbbdP+qmqVkLvJSk9HJkQtinP3ddhytPn/dmRdp5R75i5k4GLhQacT3G/+zy4WzJ78Er0lc3LcfLcLibcfxjqiz7FtL9zgsi+3Hrf5VXd+P+Tl5SByzWLJJwNmFWKqpYfjnGzB9xX6rIF9qM0aTgEe/2IhJv8p/xgfn/mN1PJQQn6fpl8dKrjNLYigzUD0ZZ4+sbPy1z/pv/G9hKTK/3YIDhaXIL665uW44LG7GkT5WT3y1yaVamLUHrGuVq4wmrMo94TBHixrnK4w4JSqX7d/aYDBYalF/21mAjaKHGcD6+7piT4GqJmFHAQFQ3R9m5NebcPfsNTCarPt5eap3n+3nM6syCbDqT2xznBw1tx08WYZHPttg1bHYdvXzFUavmQRYTNfg5uTJkzAajYiNtf4Cx8bGIj/fedt+Tk4OduzYgUceeUR2naysLERERFh+EhIS3C63O045ukjYRMnds1ZY/q82WlbzRbW/KFi/vir3BBZtPip5Q1NFo2/1uYoqrN53EpVGEwpKHD8FiZ/GHB0SNZ0p5ZrNxCNpdh8vxpgftsnOXST393Slk6rawFfcz8LR/h1lw/18rX3zi1TZnc2mbHsccvNLVM/QPmbhdgCwayYEnNd4OspV89vOAszPyYMgCJJ/LyV/K6last5J0gGLmXirKuJlAMDQOTk4VnQBgz+17rd438frsXDTUdz47h9Wn2XhppraDjWn3g4FfXxsv1Mf/fUvHpz7DwZ9tE7mHcqYH/q6vvE7Ul//3XJNdfa3tv0bmgQBp0rLMfm3PXjlZ237j+y4GOj/c+gMdh4rQoEooPTU2AW5j19lEqyCD9tUAs7yNf2+u8CquVV8HE+XVeDy8Utx83v23z296d4s5Y5PP/0UHTt2RLdu3WTXGTt2LIqKiiw/R4641wzirvE/75R9zdE5r3YEkZqaG2fbdjSUWA2tvtOjvt6MBz5dj6nL9yIkwD7Tq5g4C7Cj/ixyfXbUEA877vf+X5j/zxH87xv7qnlBEKzmrRGTajc/VVqOkV9vsnsar9meunKK/96Jl1k3gYhv2Cv3SPd7kyM3pYBUE1ZhSTm+WHfYri/LpF/3aHrxd/ZQ4OjlHzb9hzELt2PFnhMyWV9de1p19vfanHcGH6zaD6NJUPW3FfefA6r7SpnPJ3FtjVw/PTUPULdOX42Nh8+oqoUx90XZdbwYI7/ehOnZ+1B0vhLf5OSh79Q/ZUcQ2jJ/d0ovdpZ9+LPqPkC2pbfN9l1Wbjt6Chj93VbMXHlAdSfovNPnHD5UiJtWz1dU59oyU/t9Vfp9kNtuldFk9bcVTwsEKAvSxVmzxWtnXEwWmlvgXdN3ADoHN9HR0fD390dBgXUfj4KCAsTFOZ4HqaysDPPnz8fDDz/scL3g4GCEh4db/Xiaox7x+wscZIt1cBIXStT4OE7BrTwYsn3Csr3ISc3D4gq5NvstR84qqn0QBAGl5VVYcfGmO2/NIacTLYoDDk8nMRQfJvP1Yucx+yfcSUv3yNaKnJMIJN9YshuLtx23exqv2ZfrtXpNo6yDm5OioGuvg3NVilzOGKkmuMGfrse4H3dYal3ExPOiLdz0n13GaUeKzlXi9pl/45O/qi/gzq7bthd2qfmt9uSXSB5jqar41jFhTjv7OutQ+k3OEby9NBc/bTmqKr9Kr8mrrH7v9MoyydosOWpvugNnrcEtDp7YbYM/8d918bbjeHf5Xtzy3l8Yu3A7cgtKFKepsP1bmGdYtw2Uz9jUGj773Vbr7ZgEp81LjgyZIz+qVzwBbZnN+aAmKP5rX6Himevl5marMglWtTOLNls3yStpUpq58gDumrUGJpP19CVStdhr9p/EA5+sx6GTZXav1SZdg5ugoCCkpqYiOzvbssxkMiE7Oxvdu3d3+N7vvvsO5eXleOCBBzxdTNUcZRh1FMA4CiGqjAI+/vNfzBSNmrpR9DRgZr6wqplfLybcejJB25uaOPiRi/IFQcDqfSddaps/cKJUUZX4I59twBUTfrP8XmXzRZMSYJV0zbPRjdSsulJVvuLhxLakLnxyaQDM1NYfWE+iZ/1uZ31kHJZDpiBSySvNzYUrJGqHxDFS5rdbrfJ2OPPxX/9i65GzeH3xbgDSgZ94Alnb18Wdg82qg2r7gETqb7X/RCmSxv/m8AFntcKM0UdOn3e7c7+aAFUQBNV9J5zVtmwU9emRuvaJ3y91jKXIFVFqSgVH3J1iQGr6FDPxPcD2/FV6HXr1/3Zh8Kc5iof5nzlXKXn+mgTrKUcu2NyflE4jsuHwGezOL3Z6jtz3yXqs3n9S0w7lrtC9WSozMxMff/wxPvvsM+zevRuPP/44ysrKMGzYMADAkCFDMHbsWLv3ffrppxgwYAAuu+yy2i6yU55oUz1XYcQbS3Zj8m+5lvlgpAKJpPG/YcfRIlU38kZhwXbLxDk7xE/kck0jS3fk44FP16P3lOqASxAE7C0oQaXRhKLzlZJDvs1MMn0abGXb3Airq1sdv0dcc+NsJJLZQSdPHHI1WbbZcIHqC8mjn29Q1EdBjrP+QFYjIRQcR/FN2dUL/G3JTeyWyXVIVXrczdQMy7d13qZWROp4RNQLFL1u/Zq5U731NiDZvOjo2Ml17lQjoJYnus0vvoBub/6OrF93a7bNgbNqBoY4+7uaa5ud1WxpNVpno8bzmIk5GvGn9Psw5291AzgOniyT7NwuCI5rZ9Q8832Tkyd7zbWtERI3hepB9+AmIyMD77zzDsaPH4+UlBRs2bIFS5cutXQyzsvLw/Hj1iNicnNzsXr1aqdNUnpxdNFz9AXflHdW9jVxv4W3lu5xeBN7Z1muqpuWVODx/PfbLCNyxJ0abaN+sz8vPsWYq4K/Wp+HPlP/xMivNmHCTzswfYV0nh5APri5Z/ZaJI5ZLHuxEwBccDJsuMVlNaPolF4Uxy7cJtlPxCw0SLqfj1TNDVCdtO3W6asBSPepccZZcCP+WI46AZuJmyxdrcwyF2l+Th6GzslBWXmVbM2N3NB5+fLZb0hpp2nb+NJ2UxldEqyeVJV8T+RWKXfQV02LjNe1PSXIO8v24mRphcOaRXc4+zjmv8V0J0PnBUFwu9YFkB9xpgVH54aSZiktRx+tP3jabuTaEVEfIzXB4pfr8mTXf2bBVqtrtbNM256me3ADAKNGjcLhw4dRXl6O9evXIy0tzfLaqlWrMG/ePKv127VrB0EQ0Lt371ouqTKOvni2oyeUtkuKvxBVJpNs/wug+slHTbvuMZk23SGfVqfxF1+obW/6v24/jpkr9yPI5inT3Glt2a4CyXmdxEyCdJOGOdHfSAfJ3N773fGFsH9KTQ3DiZJyZC7Y4jSD8KGT59DplWV4/vutkq/LHVmpmhtbI77caLesX6fGDt/j7CZnPnanyyqQPHGZ0zLYnkuuMO9zzMLt+GNvIT5dfVA2uBEnzVNC6omv+EIV5v590Gnnd/EQ+XX/nrK7EAuwbnpRcmGXq5Fy9HT+lYJkfs4YNOqCnzhmsaL1xHmoPJHF3DalgC3zdXPrEee1nJ5uYnaXo1w2Sh5wtJyH8H/fbLbKQwRUj6pzlaOvTOpry13erta8IrjxNeKe5c5kfGSdz+dcRRUm/7bHrhOl+KJ9vsLosN3eAAO+Uzn6R+pJwRz0iJulbG8uj3+1CZN/y7Wr4lXz1Gk0CdhsU2tl7hAKyCedE4SazoRyxE/843/agYWbjzrNIJxffAHnK434dsN/dq9VGU2yGTqV9Lv+fbd9H5NebRs5f6MD5pvv9xuPWNWsxUfWk1xfHHy7OsG0bQBfcqFS80kvxZInLsPE/9uFti//6nA9cQfRez9aZ9f/rcokWAV34o9xQqYafYnMNBCOns6lplhQS8/JXN9col3TFOA4caRZlUlAYUm5oj5JWtTc6KXKJGBT3hkMm5tjmQ7F1k+bHT8Quutf0UO12iPp6IFAq5G1WmBw4wHO5tzYePiMZVikbdXdjBX7MXPlAYedKLf+5/jJZsPh0/jnkLr2ZEcjr/wd1NyY7XQwp4ozgiBg0MfWuS/MHUIBoGUj+bwszm4A43+qGXp/6JT7c978tlP6pnWgsNTlC667TRjm3do+6csFN1Y3dxfLbPvkLAiORyad8cC0HmfPVVglupQy/x/rPjRVRsGqE7P4Qn1CYp4zQL5TrqOBA1LaxMifx1L0nKj+N5VziDlToKD/hdEk4OHPlNXyaTHBrJSnbmzjke2KVRkF3DVrDVbmFsrWanpifi6t1JW4MsD5KqSWo170QPUQSgBofpl9mvVcBSnAnbFN0qTsPdIX6jNlFVbNLeKsnn+LnrBsg3k1F2ZnHQ2vatlQ5n3A4KuaSyaUkyIO0qLDgqyGPStVIjEK5pO//rUKxuTIVUc7O1bOzidz7ZTtYcyRaX4TB2GuTrhoG8gJcJx+YPORM7ihfSyKzlViT742WcJTXnVeBf5NjnUNpuliOgHx72Zq+6mqnSainkxfrUuBkgD+wIlShU/+BslOuZfVD5Kd4kaplGaRuLp1tOIRbSaToKg5WqzKVDMQQhzE7DxWhNjwEESHBSsewaQFtQ9lnH6BnNorkfiotkdImMk9CfWYtMKqWSosJACJYxbjlvf+wv2frJfdnpoRL84ufHJN1IKg7osp3k2LaOnpOtRsw0xJYAMA3220b+aS26Ya5hoHpTVAakcvSW7DJFh1HjQJAr6SGGlkZq6JTH51GTLczFDrSGrzKIev254vT8/foqhWQYqzUT22/VaCVKYb1qJTsqu0vH3Nz8lDloMpKsyUNmkYDNJ9brS4dvobDHh/UGd0S5R+oLLlShAi9f3beawI/d5fjaverE6L4uo5qUZB8QWrofpKaTlxricxuNGRVMI2rToRqiUXJJyvNFo90U69OAu1s86Baj7FJidDMh3VCMh1fHxp0XbcPvNvq2XiC4arVavuDFOWS7Jlu8mv1h+2mwTQEXOWUKUPkGoSPMqpMgpIn1KTZ2nu34ewUGI25NomVRsq9usO6+aWKpMgOcxbCbmRg2a2Q6rV3nz17HNjpsWNbMzC7Yr63ChlksjcfPZchSajc/wMBjSsH4RvRzjOs2bmSlO0VGD2x8XO3OaHTPG0GJ5yorjcpQl4bTsneysGN7Xg1ds7SC6X6njsyU6ZjjhqwxZXQ9rOpCul5EKlVYc1Z2wnsVRTNrkb6lfr87DVprOxeDNKL0omk4CxC7dZ5lZx534jd5+wfUJ/adEOPDV/i+Ibi7l5TWn1uBZV3lUmE/5TMQu61uT6CrnycLD+4GlkfLgWi2U6DstxlrByqU0gpWZiVb2ZTxFvTKtvkqixfVDliDw5apOxu9JEI3U9e3upfB4wTzEK6qb3MDNP3uvt6s63rQ6LCg2SXC51knuixi88xHnXKkdP81NEsxrHNAhxuq0nXXwSlmM0aZPXQkxp4PDHvkJ8k3ME437cAcD+b7b1yFm0VNjE5egzdGhiPy2IIDiZaNWG0uuyFs1SR07rF9hsPHxGdsSaqzNOrz94WjK7qyOOcjdd2SzSLmhVO43JPpXTX2jpZGk5dhwtwr0KmhBru5nCJAh2E7I6GzWplNr+M65cl2qjVkYJuQlhtSJOlqkHBjcak/qih4UE4Pmb2tkt1+Imo8Srt1/hdB1HqRfEHVOVNGmscmO+FilVJgEfi4aGa0Fp7cXibdZP87a1bbfP/FtxLZVcDZTBYMCPI3tKrp/6+u+Ktm3ejjvlUEPpJIdijhIjqjFw1hq70XVmv+92fwi2VmzvkwEqa260mMzVHbdOX+10VnfAcyOX5Kzed1LVnFlqqO3n5EpwIzXliB4C/Pw8GtykXx7rsW0rwdFSGpO6GAiCgEA/+wubbap4T1HyfVWaFKuW4jErn64+qPk2ld5nxU1mBwpL8dnaQ27sU64pRbrWZb/EpHSO2F6Y/f0MkvvUK0fI9GzHCRfVcNbnS29S2cbV/j3rCq2CVqVmrJSvMXOXOP5sH9fAMgeanLqcb8dg8GwNrF5dLMxYc6MxqYDFZJL+Q0tlytXrdFj3r7Je8+IspnWZK51qb3z3D7cuBnI3AT+DQfKJUe2F066mQKaKXa8LsrO+Vb7O2ZxldVVllYCoUH2bILQirv0cf2uS0/XNNcBSKSK8nRZpRxzSOe5jzY3GpLKWCpCu7twmkYxPr1F2rzlJPOhrarsqHXBQc2OQrl1bvkvdqATbc+zuLk0lJ4J0NoUBeZ9B3ZrhQqURi7xgRJqtCqMJrRqFYYMGk4XqTZwLK1xBn5G/9p7E9qNF2OxGnx+9hlY/+5309DJa0btOizU3GpPKfSEIguLOhKXlde8JoC6qrf5OYnJJA/0M1U+MtgHO+w46rNoSBMFuTqbHrm0lua5efTm8KTW7O7q3vKzW9/lMehs0a+h4mLtejCbPdkytTeIHBPH3MTpMelDIs99txbw1h+xGZqpRomK6HgCKBzBc6hjcaEzqpilAeS/89QfVJ1VyRO3QxkuFK7Nzu0u+s6tB9K9rXvtlN6Ys32u1LFjBsP3apMcx94S1/55yvpLGDAaDojQMeqg0mnTpi+cJEl0jAQDLnumF70d0xydDumi+T0fJL6Xc3SVB8zJ4gt7J/rzz21KHSY3CEQRB8Y1L6/OhY9NItxLP+So9mqXkmP887mSknfO3fadrtcNatTLpzo4YIJqN3azSi455XWN7ajxwVTMkJ0TqUhZbaw6c1P1GphW572CgvwFdEhsiNFj7KTS+yVEX3KhNKaCXH7d4dvJPZxjcaEyqX4UgAMGB+swrE6TTdA7ezlyNXv/ifD/JTSN0K8u1bapnBdc64PLXMKh95OoWiteNjQjBS/2S7KrPfaXmRg+2N93XB3TUdWJNsRd+2C7Zf9BdV8Tb537yNKtmKdERNi/3RAyndpLM3kn6DrGuKxjcaEzqCUaAftF2oL+f11wEPenu1Kaq1jd3qv14aBc817cdPh6qfXWzraZR9rN0X9u2kccmVNRybqKXb03C9EGdkaKgtsDfYECjBsEYeX1rq+WsuLEnN3O7Lam/ZPu4BtoWxssMv6Zlre9TLhWReX690Fqa/PTG9jGyr4UE+uNg1i3o2br2+37VJQxuNGZbc9OyUX3c0D4GN+qU0CjQ30/3Xuu1Qe28PcUXM9zGNAjByOtbK8q87K7L6tt3Skxq7LmnU7n+A2o9em31TaZ/chO8PsB5QkjzjcC/jlSf62lQN2X9J6Ti1LgIz5+zenL1/FGSkV2OQaZDsfn/SoJ7dw2bm4NsB4n+DBcHIHzxUJrHy1KXMbjRmLjPTVx4CLIzeyEk0F+3VNSDuiV47SgLLblaS1GbN2CpKQM82R1Kq88mns26sMT5dBByn8mXu35d1VLZLNK2RvRqhQ/uv9Ly+/XtGil+74M9EnFLxziX9lsXuDqJ8OcPy9/0GzgJfOSuI+YmXoPBgCYeDipXOsnwbi6hXn3q6goGNxoT54Zr1jBU9868fTvE1crThiu0TM/tcnBTi38fqWkaPLl3rZqlxBfR1jFhivdrm7iyocwca3VJfZlmiRG9pIfdO3JNm2gE+Pvhlo6NLctaRIdhWM9EyfVt/5yRoUH44P5U1futK1zNcNvG5hx95+5ky/9LLlTZNQ/PfbCr022Kv0u6BxVu7P41mUmcfRGDG42Ja25aeEE+Ar2DK0e0LJqr/Vb0PjxhblShO6NVzY14MwkKagHlOl/269RYYu26Zd5D3SQ7uiq5DYuHcg/t3lzyphrgb6i1gLtNTBjG3Nxe8+2+d2+K5ttUw3b2ddv+K10TrWvZoiSaiwGgnmgQiDigcfWhofll2tSgu/PQUleGkWuBwY3GTLXYa1LvicncpeUl/OYr4pDaPEr1+/TqF/L6gCtwbdtGeLBHosf2oVUndrUXU/NubW8in689LPue3kmxmHRnR9Vlq21dExvCX6ozk4KvfXNRYNipaaTVRJrmofODr2oueU564iFl34lSl2qcVo2+Tva16YM6o3OC4+9hRpcEPNTT+ei7U6UVmHib+poG23xAzs5fue9JYnR9PNarJV64yToAdPWaMaG/8+kclHDnTAipxVG7d3aOr7V9SWFwozHx7NW23yklX2g10loob+df9EQPrwuGtLxehwYF4IfHe6h+n17BzQNXNcfnD3VDaJDnam60uiGqPUQtG1U3CyQ0DMWfz12vKIB7a2An3NutmQulq31SN0MlTSgfixLA2XaAn5qRgj2v3YQEmaZsR332lI64AoDY8GDF68pxNC2BwQD4O+ncHxsejLG3tMdXjzjuELv+4CkM1SL4tymObdOq9fBva2NvvhyPX2cdALr6tWoUpr6vTkOJWiXx+fFyv8tdK4yGbpWpkX33nmTJ5bWFwY2Gjp09jzUH5LOXXtM22q3tR9pMTqfmS9a5WRQ+qYXhzmq42mFQitrRUmbiC9uUWvoyDu3evFb2oxW1QZL4gtzsslC781ZyH6pLpR+pZiMl+U8SRc3UATa1PwaDwfJULTccuVUj5/2dAKBBsHzA/HK/mtqDucOc9zWR4ihTsiA478cmoLrpqGdr966HStnGog/b5GxS+4Cjpibz7YGdLP+XSvDqfF/2y8SLHrmmJf598xbcn+b+g8HtKU0wyIUHjCCZE1bvLhEMbjRkOxrG9m/r6E/t6IJk1tum5kXvk8ddF6qMDrOs/p7ZS/G2Al0c9yy+eNzayT6rridITa6qhpJzRUvudkxW8n4tc/JIeeAq64v2yOvVN8eYDZYITp21Ri949Cqr3x3dUOWCgz5JsRh3axK+H9Fd9r39k5vge5kazM7NIq3mgLq+nXwuFUcC/Q24+Qr5UVrOggWl9/j2cdqkSbA9t2ybZsT3ZiWnoauVva7MvyX1vbBd5udnkOzf+dIt6mp1XripPUIC1V9Hde9gLYPBjQfZPmk5CkYuk5mYTey7jf9Z/X787HnXCgbpnCu1bVVuIb56JE22o12gitoYc1V4PZVtyuILcW01Ubmb5bSXiuHCWnD3sKxwkLPDwsOHPqmxdQbqzN7tXN5Wnw72zbvi5J1SzXBpKibblLtZGAwGPHx1C3Sx6ctUfL5mst3pgzqjnUxyv+YNQzXJsBsc4I9ZD6TKJhHUoq9XRL1APHGd6wGomLPAWW1zkZpAXNxc6cpRkdqXs2Y/s9ttpkBxNjdZExXNm1blkSij0vxNnsTgRkO27e5Duida/a71vfOT1fbzCSn1/E3tFI1qSGjo2gmvVFhwAK5qUXPhF38B1VxEAv3MeSjsX3P0GaxHQdQsl8omrBV3n3SuaRONDwen4u27OjlfWaUoiSYkd2tVTpVJ58YRD9l155BMVnAcxM2W3RIbwt/PIDn/lRJSx0P8zVfScdTR1AJqR0spnVXaJLhWeyBHNieMk5uvkv5JWyf0sepwrdQz6W3tljn7zOH1AtCtRUN0aBKOhCjnI5rucLGjbKemkarfI/XApfT8sB015uiwH5rUD4DjrgIDr2wq2QQldT1z1C+rtjC48ZBuiQ3tImW5E+fLh9OQX3zB6TbDRM0R7j4dBQX44fYU6S/ptlf6oEV0fdzTpanHmwuA6rmIzN7LSHFrW1Kl/dJBUi/x+uKaNU/W4sht+mqFfRAMMKBvhzi7uZvEZj9wpexrsts1ANnPXoetE/rYLXeHXG2a+MnSnfOsr4MmEjNxLeBbF4MhrXIjDeuZaBWoOaqh3fhyOn7PvBZNHdxEPVXN3yUxSvJv0aiBa52MpT5moL/B6bXJk3NsdkqwnyOuXqA/gh3UWhgMBix49Cr836irFR172z47jog/qyvXFKljrHQ7tkGmkqDS0TrRDYJQITE/nGQM6gVp8RncaOhchbHmF4nzT/am1iYaFyqd98MY3afmqUSqF70aji4w4SGBWDn6Orx9V7LkRKBaE194xE9rUhea6DDpC3HkxQRxV0lU/ze/rL5sgCP36TyZa0Tu4mQ7F5McZ0V79+5k9O3gWubahvWD7Ebm2N6s1V6k5W7kp8tqmlPcOdzhIYHI7G39xD6ke3OrviniDrzuxg6256W/wYCWjcIw/9GrkP1sL4f7uCwsGK1jHM8JpcUDRcbFfCbiBJ73dWuG3kmxuKlDHMaK8tv8PKqn5f/P9XXcXNfaKoizf/2G9rFOy29Xo6CQbYCitFZZScBiMBgUB5XOapTEGeHdvXpKHUulD7a2tSxKLuVS39UOTcJhMFSnKZAi9dBeW/0XHWFwo6Gv19dMXb/neLHd6ynNIhES6CdZ9a+EOFGduxdApU9PnszbYx5FI/4ofjL/B4CQQD/UC5I+Zc21ZJNF2UjF5K4H9WWGYnuyk1zjCOmLstJJ+Zx1JB+Y2tTtzuaOJu6z7RzrzCv9pXOVXKiqeRhwd+Tc/25sY/X7q7dfYdXnTRyQmfel1ZltPtRXtbzMsk93jr+L934rb97ZEcufuRYjetVMPhng74cAfz/MHpyKx0T5bcTXktuSmzhMqSDOXST1NwsK8JO9+XaMj0D7uAZWKTFsswlLMQ93fu/ezlbLJVNreEGNwa9PXQOguu+Vu7VUFRKDD6SuTVfE29dYhQT6W+UJkprU2dbgq5rjwR6JVlOCvHtPMnJfu1n2IUVc29OqUX2sHH0dOja1L09tY3CjoSJRx75iiXmEQoMCsHVCHyy5ePK7w88A9GilflbY21OaIC48RFFVPuDa8EWlzPk5xBdJqzTnBoNVU5wgOL8J2tZomW9qlRJB2u+ZvWRrITxZc3OfzHBLpTUi5tW0/stc17amo7Kjm7O49kxJno3YCOnatlAPJxQT3wTEN1xnf1q1ie2kjpW4Gey3p69VtT21Dy5SzZP+fga0iW2g6OYq3pufn0FxMky501XqPB5/axL+78mrsfTpaxEhergbd6t9/6QfR/a0+v2Ra1pi96s34Saba5ZUDYr5Rvvh4FSEBvnjw8HV01OYhzhf08bzw8/rBwfg0KR+eMWFBIS2xPcUR65qeRk+Gmw/FYc4T5DSLNqv3NbBaiSdAQannZG7XQx6B6Y29YrM/ACDG00pqeUIDvB3uT+H+MaeGF0fT9k8rQLORxi9d29n/D3mBqugwRGtmqWkboJSmxY/BQT5+2HJ/64RvaaeuZbs7LkKu9cczZPkbs1NbHgwPhnSBbtfvQnP32Rd1R8YIBNQKQ5u5NeTe2runRQr20fnjs7xeP6mdphyT4poH/L7F5fzOpuRW5I3WpnyiofkmldxJcu0HHE5xRdn876ulck7JTe3kxrioEJu9JIctcFNl0T5Y3aZTDOuFQe1pY7fZ72yeXi9VLAn16lXKj+V1Fx45lprZ9ct8276dojD9lf6Wppnx97SHp8O7YJZD9TuXFz1g60DeLUjwNqqOHf6dIiTDBbN1DynSs2IDkhfMwUBmHpvCibd2RHDeijvj+RpDG40pKRTMOB6FXxKs0j88Hh33NqpMd69J1kyu62S6nBHN9F2sdZfJjXBjVzHxGE9EyXnNJGqJq00ioKbAD80Ew0TV1KtamvOxfl71N4w3GkaaBAcgPUvpiM9KRb1gvxRWWVdbrmyKG1Ld/RRlj4tXSuYkhCJZc9ciyviw5F+eQz+b9TVlteaRIbgietaW82x4+gc8bOqBbFe75f/XW27uuy2GjUIxpM3tMboPm0tgc4XD3dzmMfFVhcHwZB4t/VFN0Xz8b89OR6fDLFPbGkwuD8vnDsVnmoffhztq2tiFJ66sQ2mD+osu45czakztmvenyafnFKuj6Da76XVTdfJuuLjGBzgjxsvj1X8UKeVWzo2Ru+kWMvDnbM+Tbbqqcw744kpV8RbvLJZpN26Aqpr4e/t1szlOf48QffgZubMmUhMTERISAjS0tKQk5PjcP2zZ89i5MiRaNy4MYKDg9G2bVssWbKklkrr2M5j9v1spKg9/9aNvRE/j+qJtrENkNq8IWbcdyUaR9SDVN468bbl8lA4cp9NpktnwY046VP65dL9NLb9V6T4S1dlE9yIBQf4O0weZvZ/o67GfWnNsOHldMvwS7U3DGfTIrSNddBXwGZX5yodJ3c0U1pGc0AhdVMLC5bvzxXg74f/G3U1Phna1arTsJJEYVbbcTCJoFRnUUcB97N92mHUDTU1kKFBAXZ5XAD5IGbSQPlh4KFBAfjfDa3x+HWtENugZkSeuTh+fgakJ9nnrPE3GPDJ0C7okxSLn0f1dKmzs6szWpvLpRWDwYBnerdF/2T5Dp5qAga5J3qp38Xkhk+rDm6cvO7JkVhiNzjokyYW6O+Hj4d0wSPXVPd9UtsXS23FuVanjp/M31lisFStHXO1dA1uFixYgMzMTEyYMAGbNm1CcnIy+vbtixMnpJN+VVRUoHfv3jh06BC+//575Obm4uOPP0Z8vL4TdKml9gSPiwiRzJEgmeDJat4R5/k2bCeFs60+jouwT3AlTtF9Wf2a2pqX+iXhpVsutxqJAQC7jhVL3rjN5Rd/jErRt8d8E/1ocCriI+th3rCueKZ3W0y5J9kqdbzt3CYdm0bgzTs6WvUNUXoRfbZ3W/RsfRluc3AzAKovWrbNTWa2e+pvM3JAvuZG2dfR0SeRHaVz8cnZfO6Ja8SkzkfxDda2xsy6X5T1+9T0VVJzIZbLuuuoaREAMvu0wws3tbd6EHB2LvgZDGjVKAwfDeniUm4SwM2am1rOPO7ogcIRu0y5MuWe/UCq7DVP7c1YfF66k67hlo7VD0muNoPOuE++JswVcvODqa2tVnJvse2reXlj+5xL1tuRvxZ4s9qto7MxZcoUDB8+HMOGDQMAzJ49G4sXL8acOXMwZswYu/XnzJmD06dPY82aNQgMrH7yTExMrM0ia0KrS5ezJ24l18jHr2uFjK4JuPK15QDsnxRmPZCKV37eiSdvaIPosCBsOXIW8ZH18E1Ont22woIDMPzalli87bjVcrlaG/PFSfyqOLgxf8H6dIhDH9HQ5juvbAqgelRCTINgRcPilV4Hn7yxDZ5EG3xvkw3altEkoHlD6aYL2wvMFfERiI+sh6MXM0rLFUUutrmnS1N8u6GmPOa/sdSFxvapf/qgzlhz4CQGpjaV2av0sVHa58bZ/s3axIRh34lSq2VRtZgl23q0lGO236vn+rbD20tzZYfCSnEnWZ4Wo6XUqDLVfOfUBDe2x1HqehMWHGDXEdjZe5Tu8/aUJhi7cLvV60qP+lsDO+HaNo1cTpmg9YS3Xz2ShtjwEFw+fqnV8jPnlHUoNlPyEDfnwa5oP65mP7a19UD19yX98lgUna+w6kfXTCabvDfSLbipqKjAxo0bMXbsWMsyPz8/pKenY+3atZLv+fnnn9G9e3eMHDkSP/30Exo1aoT77rsPL7zwAvz9pdv6ysvLUV5ekyG1uFhZ05EnqamKte0DIya1GTVVzGbi4MD2htmqURi+EOWIadkoDFuPnFW45ZoySX1mqTT1VSrqYaWeOOTY3pCdDUEtueD4onK+0qg46R5gnaNDbc3NrZ2aIDY8BNNX7Afg+IZgu+3+yU0cNknIlUe8zLZp0t+qVsfhpi1s513rczHfipyuiVH459AZZRu30aut/fQUVsGNk++fwebP8HivVuiTJJ80USrIdOf5VssJZZWIj6yH9MtjERbsb7lp/555LdKn/OnwfbbnjVS5zTUk8tR9VvE+pQIMpTULDUICPTILvauzdEc3CJbsryL+7t2X1gxXNHE8xFpJ7h+7ubVkvg9SEy0/dm0rFJ2vRN8Ocbj3o3UXl3pnbY5uzVInT56E0WhEbKx1m3dsbCzy8/Ml3/Pvv//i+++/h9FoxJIlSzBu3Di8++67eP3112X3k5WVhYiICMtPQoLn5rxwFIhYcfB97m3TB+C9QSmqNtNCPJ+VC9dIJU+cnZpGoF/Hxnjs2pZIlsgIastgMEjWBNx5ZfzF12uWVUk16mrA9kLs7tfxfIXR7iZoJjUL9r8nyyz/V9LnxvZGqjQJnSs19VJvEZfRdm4ocTlNgoAYBRlubTvbfzSki8NkaO7UfkuNGPR3UKMpTmJnu271+ga0jgmTrZUafm1Lu2Vu1d6r/Bua9+/qdBKGi32MponyyDhLNFj9RutfxYfnh8d7YFC3ZnjR6eSNaptdtNya9tIvt+/DpYT52NlOJSIObt68o6NkLYvY1a2jMfbm9pgnarbv0KT6IbBna+nUIWr6h9UL8seE/h2skqV6a0uVrs1SaplMJsTExOCjjz6Cv78/UlNTcfToUUyePBkTJkyQfM/YsWORmZlp+b24uNhjAU6b2DDkFpQ4XU/qGvnp0C74en0e3ryjIxIvC8Ufewux6ImeVqM8bDUIqbmJfj08DWv2n0Lzy0ItNSuuJPpTkj3UYDBg5sUkT2fKKpAQFYq7RM0etrv1k6i5WTn6OsknaPFoKU2pPBTOOkCfrzDKHt8PJfJNWBVF5n3ioCHUZgip9VsuNktJbMOVzqhS7xE/hdvWpolv/gKALx9Jw5tLdkvO6+MqV5p1era+DH/vP2U3pxtgfcxtN23br0bt9yamgbqJF51R+xdsG9sAu17tq3rSWHfZllN83FKbR2k6rF9+r9b0vtG62l3KfOx62NQGq03FYTAYrBI0AsDcYV2xaNNRyRGrWtD7mMvRLbiJjo6Gv78/CgoKrJYXFBQgLk66KrNx48YIDAy0aoK6/PLLkZ+fj4qKCgQF2bfhBwcHIzjYtblT1FL6N5a6ud14eSxuvBj1v9QvCS/1c76duIgQTOifhNAgf/RoFY0eraLx05ajNftRWB6xJBVNPUB1v4mxTp7O/AwGqy/9/EevshpqGxVa83e76Yo4vPrLLsvThqc4q7521nRxvtJod3zXv3gjGoQEuNweL+7vcK7caPXaqtya2pPyKuvXxFwJaJ01b9o24dk2S7WNbYB5w7op3p+S+MuV6+W8Yd2QX3QBCQ3t+wWId+n8b+/CzjXkSnZjrfuAiN3ZOR4LNx+1W67FNBFqb4x6/22ccWWyT0A0gs/m82mRZyymQYhdwCPmbhDqzshAT9KtWSooKAipqanIzs62LDOZTMjOzkb37tJ5Lnr27In9+/fDJOoAt3fvXjRu3FgysKltStt7tfx+DuvZAhldpasq1VwkfxrZE1MzkpEmMTeTWlIdDcVlsX19QOd4DLyyKd69OxlNIuth6/g++MkmS6nW3L0wV5nsv9Kx4SFu3WTEOTgSRcGfAGBT3lnL7+ZmIqnOn640S0kdC/FIM9sZfsXBjSsjVpS8R+qafvfF2kG5twf6+0kGNtXvETelOd63FjftrhcT6zWRGG3ojLfdv8NCas5L8agePQINcxZtuaZQJc3knnJv1wTZUU/OmM8523OvjaOUExq4vl0jtI9z70HSk5MMu0PXoeCZmZn4+OOP8dlnn2H37t14/PHHUVZWZhk9NWTIEKsOx48//jhOnz6Np556Cnv37sXixYvx5ptvYuTIkXp9BCtKn0I8OdO2VRChYjfJCZG4o7P8iBp3BAc4ri4P9PfDu/ckW0b0RIQGuvwEJEfJyA53t6mFucO6YszN7a2Ga8oNxU5pGmnXKdeVc0vq2mTONgvYP9n5+xkwtHtzDEhpgkQXRk8oCrpFn/nxi1ldJ9+djEOT+skGMI6IZ0h2tnslF2vzOvNl5tmaed+VeOK6VljwmPKEhN5KEIB5w7rigauaWc2IrSbPjVYm3NYB429Nspui4faUJvjzuetl523ztNuSmzjMueSMVFoMAHjn7mTc2zUBvzxpnxxTCx0l5qRSy9157DxF1z43GRkZKCwsxPjx45Gfn4+UlBQsXbrU0sk4Ly8PfqKOlAkJCfjtt9/wzDPPoFOnToiPj8dTTz2FF154Qa+PYEVpcOPJc0E8zYC3nHJy+WBqk21/BC1GpIj7Q7VspM18Kte3i8H17WLw6eqDlmW2s/tanvL8DJg9OBWJYxbbvaaG1HsahAQi+9le2HmsGH0kEt1NvP0K1fsxU1JC8VfJtonyiiYROHzqnKp9hgUH4J4uTVFeZUJsuOPaFCXBzcaX01FYUo42MoMIYsJD8LxNDimlvOVecWP7GGTvOYEHrmqOdnENcF0768R1WnyHxLVovz51jdO/TVhwAB4SBVhmkfUCdR2mrKby4vaUJvhpyzEkNQ7HrosTLJvfL/4uto9rgNjwELeCJmdCNMgoXNt5mZTSvUPxqFGjMGrUKMnXVq1aZbese/fuWLdunf3KXsCd3BZaOXa2ZlSK1IyyeohzcsGqDV0TG1ouKoB7N5DosCBMurP6grNzYl/8vPUYbpTJzuyqXm0b4TXz/myq4B1VarlSQ5zWQropslWjMKuZtbWi5Ng7+i69PuAKxIQHW3ViV+Ltu6RnjHdFZGgQIkM90xTuLfeKT4Z2QUl5FcJDpLNea1FO8d+5fVwDr60FcEbNQ8WUe1LwTHpbrMw9gYn/twtATe2HeDvBHuwg/lDPFli+O9/hlBlKeWmrlP7BjS/RP7SxHuUjNRO2HmxHQDl7OvMEPz8D3ru3syW4cdWnQ7vghvYxlotR/eAAq4zNWmkdE4ZR17eGURDQ1qZ2wNGFVE379z8vpePY2fPo2FS/fgpyHD0nRNUPwoT+7s+4LOZnUJ/q3lNqO8+NHIPBIBvYmF+3+t2FcosnG66rgQ2gbpSiv58BidH1YciV2I5oM0FOJkF2x/j+SRh36+WaHHNv/bsxuNGQuG+Eo793bXXAUjJLeW0wNyt89UgaTpaWW3WW1csVTtqa5Y5cvSD/Wvsyj5aZZM/RhVRN2Ro1CJad7FRv96U1w0uLdgCwb5bzhOSESGwWddom58SnYUS9QKuOx0p5ySXKbXvy1SeHlfquipc9fLV9/iQtaXUd82QfUncwuNGQ+GnTUTtkoL8f6gX643ylEfd00bYTr7iaV4thhO7a8HK6Jc1+TxUZfT1lyf+uwY9bjmLkda1der83tC97azWwUkqe8O/r1gxLd+TjQqVR8SSF7vCWBwHAe5qlnBEX85+X0l16aLPN5+Qqub5PtWXHUW0y37s78bEe9Byh5giDGw2JA4thPRMdrrvtlT7YcuQskl2cmE++DDX/94aLpHhIsTdIahKOJA/n0JFy55XxWLjJPleIK2wDrEevbYmP/vxXk23XBiXnpcFgsJr2w9OeTm+LYfP+Ud2P51ImTnugZk4qsc4JkXiwR6JV3is1fhrZE2sOnMK9XT2XeV4JVwJwqe+B2rkB9bT8mWux5chZp5MM64XBjYbMccWdV8Y7HSkR6O+HrokNPVCGmuhGryYHT3W01IvBUFMr5+rzvZZBnm11stYBsieEhwSg2GZ+KW9yffsYbHg53TJ7ujcJCdQ1Y4esF/tdjtyCEsk54pQyGAx45TbX+08lJ0QiOSHS5fdrJcWFMkjFLlbBjZf0vZLTJraB7jVmjnjnt6aOMtea9GwVrWgaA08QN43ZppWvLVe1bIjHrm1pN09KXfXD4z0s/3d1QFxZuXY3dttq4MaR+o9Gc+Z+FTNq6yU6LNgrOkeKyzCiVyss/t81OpZGXnxkPfye2QsP1IG/radp+f0284JTsU5jcKMhc4diPU9KpVmSPclgMGDsLZd7bC6T2nZlM/fSkwOwTDTnamdy8ySjANA7yTpx35XNovDGHVfg6+G114yjlvi0ZNOPcmNubu+R4fikrV+2Hdd8m67ME0c12CylIfMFXM/e414Q2/iELjLzrbg6j0q/jo1RL9AfHeJd6+9zW3ITS58dqU7NWuSr8CRx0O18puhLG29pdY8rl3ypPuz1gvxxe0oTnK8wujR1B9VgcKMh841Pz5obLxr0Uadd3jgcP47saZeA0NWZl/38DEiXyPSrlPjPWherqyuMNQklQ2p59uq6pi7+fS91rjzQyiWqfO/ezu4Wh8DgRlPm+Tz1bLf3hizJvkLcSfC5vu1w5PQ5lzoOakKcZqAOVldfqPSObNl1gbd3JCV7rnwlean2LAY3GrLU3OhYhvvSmmHemkPo2dr92b2pxsjrXcuLoxVxc5g35NpRq9LI4IZ8lyv9Y6Lqy2d/JvcxuNGQN/S5aRvbAFvG93aYNp3qtrrY0fDJG1pjVW6h0/xPxGapusiVa37/Tk3w9/5TSGuhfUoQYnCjKXNwo/fFydfyzFDdr8Jufll9/PPSjV4x1NrbmfNfNXBhOgPShytndYC/H965W7vJXMkavz0a8oZmKfJNdT24Abx3gj1v06hBMDa+nI76wbw81xV1sR+cr+O3R0MmS80NT3TSlg/ENqTCZV42bQk5xmu+92ESPw15QxI/8k0cBUfkXTrG12QKZ8WN92FwoyGTF3QoJt/E2IbIu4izhvOa730Y3GjIfP/haU5aiw5jJ3Eib8WaG+/D4EZD5mYpPx5V0lhq8yhk9m6L6YOYvZTIG9yeUlNzc09X35hHz5ewQ7GGLEPBWXdDGjMYDPjfjW30LgYRXdSwfk1tarvYBjqWhKSwjkFDJnYoJiK65LSIrq93EcgGa240JHAoOBHRJWP9izfiXIWRQ/e9EIMbDVlqbnQuBxEReV5seIjeRSAZbJbyAA4LJCIi0g+DGw15y9xSRERElzIGNxpih2IiIiL9MbjRUE0SP0Y3REREemFwoyFzzQ2zVRIREelHdXCTl5dnycQrJggC8vLyNClUncWh4ERERLpTHdy0aNEChYWFdstPnz6NFi1aaFKouoo1N0RERPpTHdwIgiBZM1FaWoqQkEt7zL+lzw2DGyIiIt0oTuKXmZkJoLrJZdy4cQgNDbW8ZjQasX79eqSkpGhewLrEJHBecCIiIr0prrnZvHkzNm/eDEEQsH37dsvvmzdvxp49e5CcnIx58+a5VIiZM2ciMTERISEhSEtLQ05Ojuy68+bNg8FgsPrxlhojc2zDZikiIiL9KK65WblyJQBg2LBheO+99xAeHq5JARYsWIDMzEzMnj0baWlpmDZtGvr27Yvc3FzExMRIvic8PBy5ubmW372lAy/nliIiItKf6j43c+fO1SywAYApU6Zg+PDhGDZsGJKSkjB79myEhoZizpw5su8xGAyIi4uz/MTGxsquW15ejuLiYqsfTxHYoZiIiEh3qoObsrIyjBs3Dj169EDr1q3RsmVLqx81KioqsHHjRqSnp9cUyM8P6enpWLt2rez7SktL0bx5cyQkJOD222/Hzp07ZdfNyspCRESE5SchIUFVGdUwmWtu2OeGiIhIN6pnBX/kkUfwxx9/YPDgwWjcuLFbTTAnT56E0Wi0q3mJjY3Fnj17JN/Trl07zJkzB506dUJRURHeeecd9OjRAzt37kTTpk3t1h87dqylMzQAFBcXeyzAEcDpF4iIiPSmOrj59ddfsXjxYvTs2dMT5XGqe/fu6N69u+X3Hj164PLLL8eHH36I1157zW794OBgBAcH10rZOHEmERGR/lQ3S0VFRaFhw4aa7Dw6Ohr+/v4oKCiwWl5QUIC4uDhF2wgMDETnzp2xf/9+TcrkDpNltBSjGyIiIr2oDm5ee+01jB8/HufOnXN750FBQUhNTUV2drZlmclkQnZ2tlXtjCNGoxHbt29H48aN3S6P+9gsRUREpDfVzVLvvvsuDhw4gNjYWCQmJiIwMNDq9U2bNqnaXmZmJoYOHYouXbqgW7dumDZtGsrKyjBs2DAAwJAhQxAfH4+srCwAwKuvvoqrrroKrVu3xtmzZzF58mQcPnwYjzzyiNqPojl2KCYiItKf6uBmwIABmhYgIyMDhYWFGD9+PPLz85GSkoKlS5daOhnn5eXBz6+mgunMmTMYPnw48vPzERUVhdTUVKxZswZJSUmalssVHApORESkP4MgNcW3DysuLkZERASKioo0zdcDAMkTl6HofCV+z7wWrWMaaLptIiKiS5ma+7fqPjcAcPbsWXzyyScYO3YsTp8+DaC6Oero0aOubM5nmONEZigmIiLSj+pmqW3btiE9PR0RERE4dOgQhg8fjoYNG2LhwoXIy8vD559/7oly1gmWoeD6FoOIiOiSprrmJjMzEw8++CD27dtnNWHlLbfcgj///FPTwtU15vY9DgUnIiLSj+rg5p9//sFjjz1mtzw+Ph75+fmaFKquMgkcCk5ERKQ31cFNcHCw5OSTe/fuRaNGjTQpVF0lMIkfERGR7lQHN7fddhteffVVVFZWAqjuPJuXl4cXXngBAwcO1LyAdYnp0hp4RkRE5JVUBzfvvvsuSktLERMTg/Pnz6NXr15o3bo1GjRogDfeeMMTZawzLH1umOiGiIhIN6pHS0VERGD58uVYvXo1tm3bhtLSUlx55ZVIT0/3RPnqlIoqEwCOliIiItKT6uDG7Oqrr8bVV1+tZVnqtHMVVZb/1wv017EkRERElzZFwc3777+PRx99FCEhIXj//fcdrvu///1Pk4LVNVWmmv429YNdjhmJiIjITYruwlOnTsX999+PkJAQTJ06VXY9g8FwyQY3RERE5B0UBTcHDx6U/D8RERGRt3FpbikiIiIib6U6uBk4cCDeeustu+Vvv/027r77bk0KVRcxxQ0REZF3UB3c/Pnnn7jlllvslt98882X/NxSZkxQTEREpB/VwU1paSmCgoLslgcGBkpOy0BERERUm1QHNx07dsSCBQvsls+fPx9JSUmaFIqIiIjIVaoTsowbNw533nknDhw4gBtuuAEAkJ2djW+++Qbfffed5gWsM9jnhoiIyCuoDm769++PH3/8EW+++Sa+//571KtXD506dcLvv/+OXr16eaKMdQ673BAREenHpVS6/fr1Q79+/bQuCxEREZHbmOeGiIiIfIqimpuGDRti7969iI6ORlRUFAwOxjqfPn1as8IRERERqaV4bqkGDRoAAKZNm+bJ8tRZAnsUExEReQVFwc3WrVtx1113ITg4GC1atECPHj0QEMCZr+U4qtkiIiIiz1LU52b69OkoLS0FAFx//fVseiIiIiKvpaj6JTExEe+//z769OkDQRCwdu1aREVFSa577bXXalpAIiIiIjUUBTeTJ0/GiBEjkJWVBYPBgDvuuENyPYPBAKPRqGkBiYiIiNRQFNwMGDAAAwYMQGlpKcLDw5Gbm4uYmBhPl61O4azgRERE3kFRn5vMzEyUlZUhLCwMK1euRIsWLRARESH5Q8xQTEREpCfVHYpvuOEGdigmIiIir8UOxURERORTFNXcTJ48GZ9++imuv/56S4fi6667zu7n+uuvd6kQM2fORGJiIkJCQpCWloacnBxF75s/fz4MBgMGDBjg0n61xC43RERE3kFRcDNgwADk5+ejuLgYgiAgNzcXZ86csftxpblqwYIFyMzMxIQJE7Bp0yYkJyejb9++OHHihMP3HTp0CKNHj8Y111yjep+exhx+RERE+lE1caYnOhRPmTIFw4cPx7Bhw5CUlITZs2cjNDQUc+bMkX2P0WjE/fffj4kTJ6Jly5aq90lERES+S/Ws4L169cLhw4fx8ssvY9CgQZYall9//RU7d+5Uta2Kigps3LgR6enpNQXy80N6ejrWrl0r+75XX30VMTExePjhh53uo7y8HMXFxVY/RERE5LtUBzd//PEHOnbsiPXr12PhwoWWUVRbt27FhAkTVG3r5MmTMBqNiI2NtVoeGxuL/Px8yfesXr0an376KT7++GNF+8jKyrKqWUpISFBVRiIiIqpbVAc3Y8aMweuvv47ly5cjKCjIsvyGG27AunXrNC2crZKSEgwePBgff/wxoqOjFb1n7NixKCoqsvwcOXLEI2UTmMWPiIjIK6ie2nv79u34+uuv7ZbHxMTg5MmTqrYVHR0Nf39/FBQUWC0vKChAXFyc3foHDhzAoUOH0L9/f8syk8kEAAgICEBubi5atWpl9Z7g4GAEBwerKpe7OCs4ERGRflTX3ERGRuL48eN2yzdv3oz4+HhV2woKCkJqaiqys7Mty0wmE7Kzs9G9e3e79du3b4/t27djy5Ytlp/bbrsN119/PbZs2cImJyIiIlJfc3PvvffihRdewHfffQeDwQCTyYS///4bo0ePxpAhQ1QXIDMzE0OHDkWXLl3QrVs3TJs2DWVlZRg2bBgAYMiQIYiPj0dWVhZCQkJwxRVXWL0/MjISAOyWExER0aVJdXDz5ptvYuTIkUhISIDRaERSUhKMRiPuu+8+vPzyy6oLkJGRgcLCQowfPx75+flISUnB0qVLLZ2M8/Ly4OenuoKJiIiILlEGwcWesHl5edixYwdKS0vRuXNntGnTRuuyeURxcTEiIiJQVFSE8PBwzbZ7srQcXV7/HQBwaFI/zbZLRERE6u7fqmtuzJo1a2bp48IOtEREROQtXGrv+fzzz9GxY0fUq1cP9erVQ6dOnfDFF19oXTYiIiIi1VTX3EyZMgXjxo3DqFGj0LNnTwDVifVGjBiBkydP4plnntG8kERERERKqQ5upk+fjlmzZlmNjLrtttvQoUMHvPLKKwxuiIiISFeqm6WOHz+OHj162C3v0aOHZP6bSwUTFBMREXkH1cFN69at8e2339otX7BgQZ0ZMeVJ7FtNRESkL9XNUhMnTkRGRgb+/PNPS5+bv//+G9nZ2ZJBDxEREVFtUl1zM3DgQKxfvx7R0dH48ccf8eOPPyI6Oho5OTm44447PFFGIiIiIsVcynOTmpqKL7/8Uuuy1GkC2OmGiIjIGyiuuTl27BhGjx6N4uJiu9eKiorw3HPP2c3ufSlilxsiIiJ9KQ5upkyZguLiYsmUxxERESgpKcGUKVM0LRwRERGRWoqDm6VLlzqc9XvIkCH45ZdfNCkUERERkasUBzcHDx5Es2bNZF9v2rQpDh06pEWZiIiIiFymOLipV6+ew+Dl0KFDqFevnhZlqpvYn5iIiMgrKA5u0tLSHE6O+fnnn6Nbt26aFKou4wzpRERE+lI8FHz06NHo3bs3IiIi8NxzzyE2NhYAUFBQgLfffhvz5s3DsmXLPFZQIiIiIiUUBzfXX389Zs6ciaeeegpTp05FeHg4DAYDioqKEBgYiOnTp+OGG27wZFmJiIiInFKVxO+xxx7Drbfeim+//Rb79++HIAho27Yt7rrrLjRt2tRTZSQiIiJSTHWG4vj4eDzzzDOeKEudxv7ERERE3kH13FLkGLsTExER6YvBDREREfkUBjdERETkUxjcaERgpxsiIiKvwOBGY8zhR0REpC9Fo6UaNmyIvXv3Ijo6GlFRUQ6z8J4+fVqzwhERERGppSi4mTp1Kho0aAAAmDZtmifLQ0REROQWRcHN0KFDJf9PRERE5G1UJ/EDAJPJhP379+PEiRMwmUxWr1177bWaFKyuEZjGj4iIyCuoDm7WrVuH++67D4cPH4ZgM0TIYDDAaDRqVri6yMA0fkRERLpSHdyMGDECXbp0weLFi9G4cWOHnYuJiIiIapvq4Gbfvn34/vvv0bp1a0+Uh4iIiMgtqvPcpKWlYf/+/Z4oCxEREZHbVAc3Tz75JJ599lnMmzcPGzduxLZt26x+XDFz5kwkJiYiJCQEaWlpyMnJkV134cKF6NKlCyIjI1G/fn2kpKTgiy++cGm/WmKGYiIiIu+gullq4MCBAICHHnrIssxgMEAQBJc6FC9YsACZmZmYPXs20tLSMG3aNPTt2xe5ubmIiYmxW79hw4Z46aWX0L59ewQFBeGXX37BsGHDEBMTg759+6r9ONpjFyQiIiJdGQTbIU9OHD582OHrzZs3V1WAtLQ0dO3aFTNmzABQPcw8ISEBTz75JMaMGaNoG1deeSX69euH1157zem6xcXFiIiIQFFREcLDw1WV1ZFjZ8+jx6QVCArww97Xb9Zsu0RERKTu/q265kZt8OJIRUUFNm7ciLFjx1qW+fn5IT09HWvXrnX6fkEQsGLFCuTm5uKtt96SXKe8vBzl5eWW34uLi90vOBEREXktRcHNzz//jJtvvhmBgYH4+eefHa572223Kd75yZMnYTQaERsba7U8NjYWe/bskX1fUVER4uPjUV5eDn9/f3zwwQfo3bu35LpZWVmYOHGi4jIRERFR3aYouBkwYADy8/MRExODAQMGyK5XW0n8GjRogC1btqC0tBTZ2dnIzMxEy5Ytcd1119mtO3bsWGRmZlp+Ly4uRkJCguZlYn9iIiIi76AouBFPsWA73YI7oqOj4e/vj4KCAqvlBQUFiIuLk32fn5+fJc9OSkoKdu/ejaysLMngJjg4GMHBwZqV2Rn2JyYiItKX6qHgWgoKCkJqaiqys7Mty0wmE7Kzs9G9e3fF2zGZTFb9aoiIiOjSpbhD8fnz55GdnY1bb70VQHVzjzig8Pf3x2uvvYaQkBBVBcjMzMTQoUPRpUsXdOvWDdOmTUNZWRmGDRsGABgyZAji4+ORlZUFoLoPTZcuXdCqVSuUl5djyZIl+OKLLzBr1ixV+yUiIiLfpDi4+eyzz7B48WJLcDNjxgx06NAB9erVAwDs2bMHTZo0wTPPPKOqABkZGSgsLMT48eORn5+PlJQULF261NLJOC8vD35+NRVMZWVleOKJJ/Dff/+hXr16aN++Pb788ktkZGSo2q/WVI6oJyIiIg9RnOfmmmuuwfPPP4/+/fsDqO7Uu3XrVrRs2RIA8OWXX2LmzJmKhnDryVN5bv47cw5Xv7USIYF+2PMa89wQERFpSc39W3Gfm/3796Njx46W30NCQqxqVLp164Zdu3a5UFwiIiIi7Shuljp79qxVH5vCwkKr19mpl4iIiLyB4pqbpk2bYseOHbKvb9u2DU2bNtWkUERERESuUhzc3HLLLRg/fjwuXLhg99r58+cxceJE9OvXT9PC1SXsT0xEROQdFDdLvfjii/j222/Rrl07jBo1Cm3btgUA5ObmYsaMGaiqqsKLL77osYLWFQam8SMiItKV4uAmNjYWa9asweOPP44xY8ZYhj4bDAb07t0bH3zwgd0cUURERES1TdWs4C1atMDSpUtx+vRp7N+/HwDQunVrNGzY0COFIyIiIlJLVXBj1rBhQ3Tr1k3rshARERG5Tde5pYiIiIi0xuBGYwb2JyYiItIVgxsiIiLyKQxuiIiIyKcwuCEiIiKfwuBGI8xQTERE5B0Y3GiM/YmJiIj0xeCGiIiIfAqDGyIiIvIpDG40IoCdboiIiLwBgxuNGZjFj4iISFcMboiIiMinMLghIiIin8LghoiIiHwKgxuNMIkfERGRd2BwozF2JyYiItIXgxsiIiLyKQxuiIiIyKcwuCEiIiKfwuBGI+xPTERE5B0Y3GiNPYqJiIh0xeCGiIiIfAqDGyIiIvIpXhHczJw5E4mJiQgJCUFaWhpycnJk1/34449xzTXXICoqClFRUUhPT3e4fm0RmMWPiIjIK+ge3CxYsACZmZmYMGECNm3ahOTkZPTt2xcnTpyQXH/VqlUYNGgQVq5cibVr1yIhIQF9+vTB0aNHa7nk0tjlhoiISF8GQecqh7S0NHTt2hUzZswAAJhMJiQkJODJJ5/EmDFjnL7faDQiKioKM2bMwJAhQ5yuX1xcjIiICBQVFSE8PNzt8pv9W1iKG979A+EhAdj2Sl/NtktERETq7t+61txUVFRg48aNSE9Ptyzz8/NDeno61q5dq2gb586dQ2VlJRo2bCj5enl5OYqLi61+iIiIyHfpGtycPHkSRqMRsbGxVstjY2ORn5+vaBsvvPACmjRpYhUgiWVlZSEiIsLyk5CQ4Ha5iYiIyHvp3ufGHZMmTcL8+fOxaNEihISESK4zduxYFBUVWX6OHDnikbKwOzEREZF3CNBz59HR0fD390dBQYHV8oKCAsTFxTl87zvvvINJkybh999/R6dOnWTXCw4ORnBwsCblVcJgYJdiIiIiPelacxMUFITU1FRkZ2dblplMJmRnZ6N79+6y73v77bfx2muvYenSpejSpUttFJWIiIjqCF1rbgAgMzMTQ4cORZcuXdCtWzdMmzYNZWVlGDZsGABgyJAhiI+PR1ZWFgDgrbfewvjx4/H1118jMTHR0jcnLCwMYWFhun0OIiIi8g66BzcZGRkoLCzE+PHjkZ+fj5SUFCxdutTSyTgvLw9+fjUVTLNmzUJFRQXuuusuq+1MmDABr7zySm0WnYiIiLyQ7sENAIwaNQqjRo2SfG3VqlVWvx86dMjzBXIBExQTERF5hzo9WsobsT8xERGRvhjcEBERkU9hcENEREQ+hcENERER+RQGN5phj2IiIiJvwOBGY+xPTEREpC8GN0RERORTGNwQERGRT2FwoxEm8SMiIvIODG40xlnBiYiI9MXghoiIiHwKgxsiIiLyKQxuiIiIyKcwuNEI+xMTERF5BwY3GmN3YiIiIn0xuCEiIiKfwuCGiIiIfAqDGyIiIvIpDG40wgzFRERE3oHBjcaYoJiIiEhfDG6IiIjIpzC4ISIiIp/C4EYjAtP4EREReQUGN5pjpxsiIiI9MbghIiIin8LghoiIiHwKgxsiIiLyKQxuNMIkfkRERN6BwY3GmMSPiIhIXwxuiIiIyKcwuCEiIiKfwuCGiIiIfIruwc3MmTORmJiIkJAQpKWlIScnR3bdnTt3YuDAgUhMTITBYMC0adNqr6BOsEMxERGRd9A1uFmwYAEyMzMxYcIEbNq0CcnJyejbty9OnDghuf65c+fQsmVLTJo0CXFxcbVcWmXYn5iIiEhfugY3U6ZMwfDhwzFs2DAkJSVh9uzZCA0NxZw5cyTX79q1KyZPnox7770XwcHBtVxaIiIiqgt0C24qKiqwceNGpKen1xTGzw/p6elYu3atZvspLy9HcXGx1Q8RERH5Lt2Cm5MnT8JoNCI2NtZqeWxsLPLz8zXbT1ZWFiIiIiw/CQkJmm2biIiIvI/uHYo9bezYsSgqKrL8HDlyxCP7EcAexURERN4gQK8dR0dHw9/fHwUFBVbLCwoKNO0sHBwcXKv9c5ihmIiISF+61dwEBQUhNTUV2dnZlmUmkwnZ2dno3r27XsUiIiKiOk63mhsAyMzMxNChQ9GlSxd069YN06ZNQ1lZGYYNGwYAGDJkCOLj45GVlQWguhPyrl27LP8/evQotmzZgrCwMLRu3Vq3z0FERETeQ9fgJiMjA4WFhRg/fjzy8/ORkpKCpUuXWjoZ5+Xlwc+vpnLp2LFj6Ny5s+X3d955B++88w569eqFVatW1XbxrTCJHxERkXfQNbgBgFGjRmHUqFGSr9kGLImJiRC8PIowMI0fERGRrnx+tBQRERFdWhjcEBERkU9hcENEREQ+hcENERER+RQGNxpjEj8iIiJ9MbghIiIin8LghoiIiHwKgxsiIiLyKQxuNOLluQWJiIguGQxuNMb+xERERPpicENEREQ+hcENERER+RQGNxoRwE43RERE3oDBjcYMzOJHRESkKwY3RERE5FMY3BAREZFPYXBDREREPoXBjUaYxI+IiMg7MLghIiIin8LghoiIiHwKgxsiIiLyKQxuiIiIyKcwuNEI+xMTERF5BwY3GmOCYiIiIn0xuCEiIiKfwuCGiIiIfAqDGyIiIvIpDG40IjBFMRERkVdgcKMxdigmIiLSF4MbIiIi8ikMboiIiMinMLjRCHvcEBEReQevCG5mzpyJxMREhISEIC0tDTk5OQ7X/+6779C+fXuEhISgY8eOWLJkSS2V1DkD2OmGiIhIT7oHNwsWLEBmZiYmTJiATZs2ITk5GX379sWJEyck11+zZg0GDRqEhx9+GJs3b8aAAQMwYMAA7Nixo5ZLTkRERN7IIOg8hjktLQ1du3bFjBkzAAAmkwkJCQl48sknMWbMGLv1MzIyUFZWhl9++cWy7KqrrkJKSgpmz55tt355eTnKy8stvxcXFyMhIQFFRUUIDw/X7HNsyjuDOz9Yg2YNQ/Hn89drtl0iIiKqvn9HREQoun/rWnNTUVGBjRs3Ij093bLMz88P6enpWLt2reR71q5da7U+APTt21d2/aysLERERFh+EhIStPsARERE5HV0DW5OnjwJo9GI2NhYq+WxsbHIz8+XfE9+fr6q9ceOHYuioiLLz5EjR7QpvI3Y8BCMvL4VBl/V3CPbJyIiImUC9C6ApwUHByM4ONjj+4mPrIfn+rb3+H6IiIjIMV1rbqKjo+Hv74+CggKr5QUFBYiLi5N8T1xcnKr1iYiI6NKia3ATFBSE1NRUZGdnW5aZTCZkZ2eje/fuku/p3r271foAsHz5ctn1iYiI6NKie7NUZmYmhg4dii5duqBbt26YNm0aysrKMGzYMADAkCFDEB8fj6ysLADAU089hV69euHdd99Fv379MH/+fGzYsAEfffSRnh+DiIiIvITuwU1GRgYKCwsxfvx45OfnIyUlBUuXLrV0Gs7Ly4OfX00FU48ePfD111/j5Zdfxosvvog2bdrgxx9/xBVXXKHXRyAiIiIvonuem9qmZpw8EREReYc6k+eGiIiISGsMboiIiMinMLghIiIin8LghoiIiHwKgxsiIiLyKQxuiIiIyKcwuCEiIiKfwuCGiIiIfIruGYprmzlnYXFxsc4lISIiIqXM920luYcvueCmpKQEAJCQkKBzSYiIiEitkpISREREOFznkpt+wWQy4dixY2jQoAEMBoOm2y4uLkZCQgKOHDnCqR1cxGPoPh5D9/EYaoPH0X08hjUEQUBJSQmaNGliNeeklEuu5sbPzw9Nmzb16D7Cw8Mv+ZPQXTyG7uMxdB+PoTZ4HN3HY1jNWY2NGTsUExERkU9hcENEREQ+hcGNhoKDgzFhwgQEBwfrXZQ6i8fQfTyG7uMx1AaPo/t4DF1zyXUoJiIiIt/GmhsiIiLyKQxuiIiIyKcwuCEiIiKfwuCGiIiIfAqDGyIiIvIpDG40MnPmTCQmJiIkJARpaWnIycnRu0i6+fPPP9G/f380adIEBoMBP/74o9XrgiBg/PjxaNy4MerVq4f09HTs27fPap3Tp0/j/vvvR3h4OCIjI/Hwww+jtLTUap1t27bhmmuuQUhICBISEvD22297+qPVmqysLHTt2hUNGjRATEwMBgwYgNzcXKt1Lly4gJEjR+Kyyy5DWFgYBg4ciIKCAqt18vLy0K9fP4SGhiImJgbPPfccqqqqrNZZtWoVrrzySgQHB6N169aYN2+epz9erZg1axY6depkyezavXt3/Prrr5bXefzUmzRpEgwGA55++mnLMh5Hx1555RUYDAarn/bt21te5/HzEIHcNn/+fCEoKEiYM2eOsHPnTmH48OFCZGSkUFBQoHfRdLFkyRLhpZdeEhYuXCgAEBYtWmT1+qRJk4SIiAjhxx9/FLZu3SrcdtttQosWLYTz589b1rnpppuE5ORkYd26dcJff/0ltG7dWhg0aJDl9aKiIiE2Nla4//77hR07dgjffPONUK9ePeHDDz+srY/pUX379hXmzp0r7NixQ9iyZYtwyy23CM2aNRNKS0st64wYMUJISEgQsrOzhQ0bNghXXXWV0KNHD8vrVVVVwhVXXCGkp6cLmzdvFpYsWSJER0cLY8eOtazz77//CqGhoUJmZqawa9cuYfr06YK/v7+wdOnSWv28nvDzzz8LixcvFvbu3Svk5uYKL774ohAYGCjs2LFDEAQeP7VycnKExMREoVOnTsJTTz1lWc7j6NiECROEDh06CMePH7f8FBYWWl7n8fMMBjca6NatmzBy5EjL70ajUWjSpImQlZWlY6m8g21wYzKZhLi4OGHy5MmWZWfPnhWCg4OFb775RhAEQdi1a5cAQPjnn38s6/z666+CwWAQjh49KgiCIHzwwQdCVFSUUF5eblnnhRdeENq1a+fhT6SPEydOCACEP/74QxCE6mMWGBgofPfdd5Z1du/eLQAQ1q5dKwhCdZDp5+cn5OfnW9aZNWuWEB4ebjluzz//vNChQwerfWVkZAh9+/b19EfSRVRUlPDJJ5/w+KlUUlIitGnTRli+fLnQq1cvS3DD4+jchAkThOTkZMnXePw8h81SbqqoqMDGjRuRnp5uWebn54f09HSsXbtWx5J5p4MHDyI/P9/qeEVERCAtLc1yvNauXYvIyEh06dLFsk56ejr8/Pywfv16yzrXXnstgoKCLOv07dsXubm5OHPmTC19mtpTVFQEAGjYsCEAYOPGjaisrLQ6ju3bt0ezZs2sjmPHjh0RGxtrWadv374oLi7Gzp07LeuIt2Fex9fOXaPRiPnz56OsrAzdu3fn8VNp5MiR6Nevn91n5XFUZt++fWjSpAlatmyJ+++/H3l5eQB4/DyJwY2bTp48CaPRaHXiAUBsbCzy8/N1KpX3Mh8TR8crPz8fMTExVq8HBASgYcOGVutIbUO8D19hMpnw9NNPo2fPnrjiiisAVH/GoKAgREZGWq1rexydHSO5dYqLi3H+/HlPfJxatX37doSFhSE4OBgjRozAokWLkJSUxOOnwvz587Fp0yZkZWXZvcbj6FxaWhrmzZuHpUuXYtasWTh48CCuueYalJSU8Ph5UIDeBSAix0aOHIkdO3Zg9erVehelzmnXrh22bNmCoqIifP/99xg6dCj++OMPvYtVZxw5cgRPPfUUli9fjpCQEL2LUyfdfPPNlv936tQJaWlpaN68Ob799lvUq1dPx5L5NtbcuCk6Ohr+/v52vdsLCgoQFxenU6m8l/mYODpecXFxOHHihNXrVVVVOH36tNU6UtsQ78MXjBo1Cr/88gtWrlyJpk2bWpbHxcWhoqICZ8+etVrf9jg6O0Zy64SHh/vEhTcoKAitW7dGamoqsrKykJycjPfee4/HT6GNGzfixIkTuPLKKxEQEICAgAD88ccfeP/99xEQEIDY2FgeR5UiIyPRtm1b7N+/n+ehBzG4cVNQUBBSU1ORnZ1tWWYymZCdnY3u3bvrWDLv1KJFC8TFxVkdr+LiYqxfv95yvLp3746zZ89i48aNlnVWrFgBk8mEtLQ0yzp//vknKisrLessX74c7dq1Q1RUVC19Gs8RBAGjRo3CokWLsGLFCrRo0cLq9dTUVAQGBlodx9zcXOTl5Vkdx+3bt1sFisuXL0d4eDiSkpIs64i3YV7HV89dk8mE8vJyHj+FbrzxRmzfvh1btmyx/HTp0gX333+/5f88juqUlpbiwIEDaNy4Mc9DT9K7R7MvmD9/vhAcHCzMmzdP2LVrl/Doo48KkZGRVr3bLyUlJSXC5s2bhc2bNwsAhClTpgibN28WDh8+LAhC9VDwyMhI4aeffhK2bdsm3H777ZJDwTt37iysX79eWL16tdCmTRuroeBnz54VYmNjhcGDBws7duwQ5s+fL4SGhvrMUPDHH39ciIiIEFatWmU1hPTcuXOWdUaMGCE0a9ZMWLFihbBhwwahe/fuQvfu3S2vm4eQ9unTR9iyZYuwdOlSoVGjRpJDSJ977jlh9+7dwsyZM31mCOmYMWOEP/74Qzh48KCwbds2YcyYMYLBYBCWLVsmCAKPn6vEo6UEgcfRmWeffVZYtWqVcPDgQeHvv/8W0tPThejoaOHEiROCIPD4eQqDG41Mnz5daNasmRAUFCR069ZNWLdund5F0s3KlSsFAHY/Q4cOFQShejj4uHHjhNjYWCE4OFi48cYbhdzcXKttnDp1Shg0aJAQFhYmhIeHC8OGDRNKSkqs1tm6datw9dVXC8HBwUJ8fLwwadKk2vqIHid1/AAIc+fOtaxz/vx54YknnhCioqKE0NBQ4Y477hCOHz9utZ1Dhw4JN998s1CvXj0hOjpaePbZZ4XKykqrdVauXCmkpKQIQUFBQsuWLa32UZc99NBDQvPmzYWgoCChUaNGwo033mgJbASBx89VtsENj6NjGRkZQuPGjYWgoCAhPj5eyMjIEPbv3295ncfPMwyCIAj61BkRERERaY99boiIiMinMLghIiIin8LghoiIiHwKgxsiIiLyKQxuiIiIyKcwuCEiIiKfwuCGiIiIfAqDGyIiIvIpDG6IiIjIpzC4ISIiIp/C4IaIiIh8yv8Df4XCk3JLoM0AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "gini = model.datacollector.get_model_vars_dataframe()\n", + "# Plot the Gini coefficient over time\n", + "g = sns.lineplot(data=gini)\n", + "g.set(title=\"Gini Coefficient over Time\", ylabel=\"Gini Coefficient\");" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "9cf0a6c4-a976-4835-82e2-706f49b175d3", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + "
Gini
00.0000
10.3272
20.4626
30.4626
40.5080
......
55500.6930
55510.6732
55520.6606
55530.6368
55540.6510
\n", + "

5555 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " Gini\n", + "0 0.0000\n", + "1 0.3272\n", + "2 0.4626\n", + "3 0.4626\n", + "4 0.5080\n", + "... ...\n", + "5550 0.6930\n", + "5551 0.6732\n", + "5552 0.6606\n", + "5553 0.6368\n", + "5554 0.6510\n", + "\n", + "[5555 rows x 1 columns]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gini" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "c9515417-7c5f-45f8-8ffa-2f466288ea1f", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ " Gini\n", - "6800 0.6018\n", - "6801 0.6132\n", - "6802 0.6478\n", - "6803 0.6440\n", - "6804 0.6480\n", + "0 0.0000\n", + "1 0.3272\n", + "2 0.4626\n", + "3 0.4626\n", + "4 0.5080\n", "... ...\n", - "6895 0.6738\n", - "6896 0.6890\n", - "6897 0.6738\n", - "6898 0.6594\n", - "6899 0.6536\n", + "5550 0.6930\n", + "5551 0.6732\n", + "5552 0.6606\n", + "5553 0.6368\n", + "5554 0.6510\n", "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_069.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_069.parquet'\n", - "Saving model to output_dir/model_data_069.parquet\n", - "Saving agent to output_dir/agent_data_069.parquet\n", - "6900\n", - "6901\n", - "6902\n", - "6903\n", - "6904\n", - "6905\n", - "6906\n", - "6907\n", - "6908\n", - "6909\n", - "6910\n", - "6911\n", - "6912\n", - "6913\n", - "6914\n", - "6915\n", - "6916\n", - "6917\n", - "6918\n", - "6919\n", - "6920\n", - "6921\n", - "6922\n", - "6923\n", - "6924\n", - "6925\n", - "6926\n", - "6927\n", - "6928\n", - "6929\n", - "6930\n", - "6931\n", - "6932\n", - "6933\n", - "6934\n", - "6935\n", - "6936\n", - "6937\n", - "6938\n", - "6939\n", - "6940\n", - "6941\n", - "6942\n", - "6943\n", - "6944\n", - "6945\n", - "6946\n", - "6947\n", - "6948\n", - "6949\n", - "6950\n", - "6951\n", - "6952\n", - "6953\n", - "6954\n", - "6955\n", - "6956\n", - "6957\n", - "6958\n", - "6959\n", - "6960\n", - "6961\n", - "6962\n", - "6963\n", - "6964\n", - "6965\n", - "6966\n", - "6967\n", - "6968\n", - "6969\n", - "6970\n", - "6971\n", - "6972\n", - "6973\n", - "6974\n", - "6975\n", - "6976\n", - "6977\n", - "6978\n", - "6979\n", - "6980\n", - "6981\n", - "6982\n", - "6983\n", - "6984\n", - "6985\n", - "6986\n", - "6987\n", - "6988\n", - "6989\n", - "6990\n", - "6991\n", - "6992\n", - "6993\n", - "6994\n", - "6995\n", - "6996\n", - "6997\n", - "6998\n", - "6999\n", - "CALLED\n", - "self.model._steps=7000\n", - " TEST self.model._steps=7000\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "6900 0.6618\n", - "6901 0.6596\n", - "6902 0.6514\n", - "6903 0.6430\n", - "6904 0.6200\n", - "... ...\n", - "6995 0.6768\n", - "6996 0.6620\n", - "6997 0.6800\n", - "6998 0.6548\n", - "6999 0.6348\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_070.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_070.parquet'\n", - "Saving model to output_dir/model_data_070.parquet\n", - "Saving agent to output_dir/agent_data_070.parquet\n", - "7000\n", - "7001\n", - "7002\n", - "7003\n", - "7004\n", - "7005\n", - "7006\n", - "7007\n", - "7008\n", - "7009\n", - "7010\n", - "7011\n", - "7012\n", - "7013\n", - "7014\n", - "7015\n", - "7016\n", - "7017\n", - "7018\n", - "7019\n", - "7020\n", - "7021\n", - "7022\n", - "7023\n", - "7024\n", - "7025\n", - "7026\n", - "7027\n", - "7028\n", - "7029\n", - "7030\n", - "7031\n", - "7032\n", - "7033\n", - "7034\n", - "7035\n", - "7036\n", - "7037\n", - "7038\n", - "7039\n", - "7040\n", - "7041\n", - "7042\n", - "7043\n", - "7044\n", - "7045\n", - "7046\n", - "7047\n", - "7048\n", - "7049\n", - "7050\n", - "7051\n", - "7052\n", - "7053\n", - "7054\n", - "7055\n", - "7056\n", - "7057\n", - "7058\n", - "7059\n", - "7060\n", - "7061\n", - "7062\n", - "7063\n", - "7064\n", - "7065\n", - "7066\n", - "7067\n", - "7068\n", - "7069\n", - "7070\n", - "7071\n", - "7072\n", - "7073\n", - "7074\n", - "7075\n", - "7076\n", - "7077\n", - "7078\n", - "7079\n", - "7080\n", - "7081\n", - "7082\n", - "7083\n", - "7084\n", - "7085\n", - "7086\n", - "7087\n", - "7088\n", - "7089\n", - "7090\n", - "7091\n", - "7092\n", - "7093\n", - "7094\n", - "7095\n", - "7096\n", - "7097\n", - "7098\n", - "7099\n", - "CALLED\n", - "self.model._steps=7100\n", - " TEST self.model._steps=7100\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "7000 0.6408\n", - "7001 0.6480\n", - "7002 0.6576\n", - "7003 0.6788\n", - "7004 0.6646\n", - "... ...\n", - "7095 0.6596\n", - "7096 0.6640\n", - "7097 0.6632\n", - "7098 0.6574\n", - "7099 0.6560\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_071.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_071.parquet'\n", - "Saving model to output_dir/model_data_071.parquet\n", - "Saving agent to output_dir/agent_data_071.parquet\n", - "7100\n", - "7101\n", - "7102\n", - "7103\n", - "7104\n", - "7105\n", - "7106\n", - "7107\n", - "7108\n", - "7109\n", - "7110\n", - "7111\n", - "7112\n", - "7113\n", - "7114\n", - "7115\n", - "7116\n", - "7117\n", - "7118\n", - "7119\n", - "7120\n", - "7121\n", - "7122\n", - "7123\n", - "7124\n", - "7125\n", - "7126\n", - "7127\n", - "7128\n", - "7129\n", - "7130\n", - "7131\n", - "7132\n", - "7133\n", - "7134\n", - "7135\n", - "7136\n", - "7137\n", - "7138\n", - "7139\n", - "7140\n", - "7141\n", - "7142\n", - "7143\n", - "7144\n", - "7145\n", - "7146\n", - "7147\n", - "7148\n", - "7149\n", - "7150\n", - "7151\n", - "7152\n", - "7153\n", - "7154\n", - "7155\n", - "7156\n", - "7157\n", - "7158\n", - "7159\n", - "7160\n", - "7161\n", - "7162\n", - "7163\n", - "7164\n", - "7165\n", - "7166\n", - "7167\n", - "7168\n", - "7169\n", - "7170\n", - "7171\n", - "7172\n", - "7173\n", - "7174\n", - "7175\n", - "7176\n", - "7177\n", - "7178\n", - "7179\n", - "7180\n", - "7181\n", - "7182\n", - "7183\n", - "7184\n", - "7185\n", - "7186\n", - "7187\n", - "7188\n", - "7189\n", - "7190\n", - "7191\n", - "7192\n", - "7193\n", - "7194\n", - "7195\n", - "7196\n", - "7197\n", - "7198\n", - "7199\n", - "CALLED\n", - "self.model._steps=7200\n", - " TEST self.model._steps=7200\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "7100 0.6498\n", - "7101 0.7024\n", - "7102 0.6968\n", - "7103 0.7072\n", - "7104 0.7078\n", - "... ...\n", - "7195 0.5950\n", - "7196 0.5954\n", - "7197 0.5890\n", - "7198 0.6056\n", - "7199 0.6184\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_072.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_072.parquet'\n", - "Saving model to output_dir/model_data_072.parquet\n", - "Saving agent to output_dir/agent_data_072.parquet\n", - "7200\n", - "7201\n", - "7202\n", - "7203\n", - "7204\n", - "7205\n", - "7206\n", - "7207\n", - "7208\n", - "7209\n", - "7210\n", - "7211\n", - "7212\n", - "7213\n", - "7214\n", - "7215\n", - "7216\n", - "7217\n", - "7218\n", - "7219\n", - "7220\n", - "7221\n", - "7222\n", - "7223\n", - "7224\n", - "7225\n", - "7226\n", - "7227\n", - "7228\n", - "7229\n", - "7230\n", - "7231\n", - "7232\n", - "7233\n", - "7234\n", - "7235\n", - "7236\n", - "7237\n", - "7238\n", - "7239\n", - "7240\n", - "7241\n", - "7242\n", - "7243\n", - "7244\n", - "7245\n", - "7246\n", - "7247\n", - "7248\n", - "7249\n", - "7250\n", - "7251\n", - "7252\n", - "7253\n", - "7254\n", - "7255\n", - "7256\n", - "7257\n", - "7258\n", - "7259\n", - "7260\n", - "7261\n", - "7262\n", - "7263\n", - "7264\n", - "7265\n", - "7266\n", - "7267\n", - "7268\n", - "7269\n", - "7270\n", - "7271\n", - "7272\n", - "7273\n", - "7274\n", - "7275\n", - "7276\n", - "7277\n", - "7278\n", - "7279\n", - "7280\n", - "7281\n", - "7282\n", - "7283\n", - "7284\n", - "7285\n", - "7286\n", - "7287\n", - "7288\n", - "7289\n", - "7290\n", - "7291\n", - "7292\n", - "7293\n", - "7294\n", - "7295\n", - "7296\n", - "7297\n", - "7298\n", - "7299\n", - "CALLED\n", - "self.model._steps=7300\n", - " TEST self.model._steps=7300\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "7200 0.6282\n", - "7201 0.6050\n", - "7202 0.6012\n", - "7203 0.6304\n", - "7204 0.6386\n", - "... ...\n", - "7295 0.7196\n", - "7296 0.7090\n", - "7297 0.7040\n", - "7298 0.7220\n", - "7299 0.7098\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_073.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_073.parquet'\n", - "Saving model to output_dir/model_data_073.parquet\n", - "Saving agent to output_dir/agent_data_073.parquet\n", - "7300\n", - "7301\n", - "7302\n", - "7303\n", - "7304\n", - "7305\n", - "7306\n", - "7307\n", - "7308\n", - "7309\n", - "7310\n", - "7311\n", - "7312\n", - "7313\n", - "7314\n", - "7315\n", - "7316\n", - "7317\n", - "7318\n", - "7319\n", - "7320\n", - "7321\n", - "7322\n", - "7323\n", - "7324\n", - "7325\n", - "7326\n", - "7327\n", - "7328\n", - "7329\n", - "7330\n", - "7331\n", - "7332\n", - "7333\n", - "7334\n", - "7335\n", - "7336\n", - "7337\n", - "7338\n", - "7339\n", - "7340\n", - "7341\n", - "7342\n", - "7343\n", - "7344\n", - "7345\n", - "7346\n", - "7347\n", - "7348\n", - "7349\n", - "7350\n", - "7351\n", - "7352\n", - "7353\n", - "7354\n", - "7355\n", - "7356\n", - "7357\n", - "7358\n", - "7359\n", - "7360\n", - "7361\n", - "7362\n", - "7363\n", - "7364\n", - "7365\n", - "7366\n", - "7367\n", - "7368\n", - "7369\n", - "7370\n", - "7371\n", - "7372\n", - "7373\n", - "7374\n", - "7375\n", - "7376\n", - "7377\n", - "7378\n", - "7379\n", - "7380\n", - "7381\n", - "7382\n", - "7383\n", - "7384\n", - "7385\n", - "7386\n", - "7387\n", - "7388\n", - "7389\n", - "7390\n", - "7391\n", - "7392\n", - "7393\n", - "7394\n", - "7395\n", - "7396\n", - "7397\n", - "7398\n", - "7399\n", - "CALLED\n", - "self.model._steps=7400\n", - " TEST self.model._steps=7400\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "7300 0.7098\n", - "7301 0.7130\n", - "7302 0.7068\n", - "7303 0.7118\n", - "7304 0.6830\n", - "... ...\n", - "7395 0.7224\n", - "7396 0.7202\n", - "7397 0.7058\n", - "7398 0.7010\n", - "7399 0.7196\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_074.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_074.parquet'\n", - "Saving model to output_dir/model_data_074.parquet\n", - "Saving agent to output_dir/agent_data_074.parquet\n", - "7400\n", - "7401\n", - "7402\n", - "7403\n", - "7404\n", - "7405\n", - "7406\n", - "7407\n", - "7408\n", - "7409\n", - "7410\n", - "7411\n", - "7412\n", - "7413\n", - "7414\n", - "7415\n", - "7416\n", - "7417\n", - "7418\n", - "7419\n", - "7420\n", - "7421\n", - "7422\n", - "7423\n", - "7424\n", - "7425\n", - "7426\n", - "7427\n", - "7428\n", - "7429\n", - "7430\n", - "7431\n", - "7432\n", - "7433\n", - "7434\n", - "7435\n", - "7436\n", - "7437\n", - "7438\n", - "7439\n", - "7440\n", - "7441\n", - "7442\n", - "7443\n", - "7444\n", - "7445\n", - "7446\n", - "7447\n", - "7448\n", - "7449\n", - "7450\n", - "7451\n", - "7452\n", - "7453\n", - "7454\n", - "7455\n", - "7456\n", - "7457\n", - "7458\n", - "7459\n", - "7460\n", - "7461\n", - "7462\n", - "7463\n", - "7464\n", - "7465\n", - "7466\n", - "7467\n", - "7468\n", - "7469\n", - "7470\n", - "7471\n", - "7472\n", - "7473\n", - "7474\n", - "7475\n", - "7476\n", - "7477\n", - "7478\n", - "7479\n", - "7480\n", - "7481\n", - "7482\n", - "7483\n", - "7484\n", - "7485\n", - "7486\n", - "7487\n", - "7488\n", - "7489\n", - "7490\n", - "7491\n", - "7492\n", - "7493\n", - "7494\n", - "7495\n", - "7496\n", - "7497\n", - "7498\n", - "7499\n", - "CALLED\n", - "self.model._steps=7500\n", - " TEST self.model._steps=7500\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "7400 0.7164\n", - "7401 0.7264\n", - "7402 0.7132\n", - "7403 0.6930\n", - "7404 0.6944\n", - "... ...\n", - "7495 0.6570\n", - "7496 0.6382\n", - "7497 0.6440\n", - "7498 0.6264\n", - "7499 0.6110\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_075.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_075.parquet'\n", - "Saving model to output_dir/model_data_075.parquet\n", - "Saving agent to output_dir/agent_data_075.parquet\n", - "7500\n", - "7501\n", - "7502\n", - "7503\n", - "7504\n", - "7505\n", - "7506\n", - "7507\n", - "7508\n", - "7509\n", - "7510\n", - "7511\n", - "7512\n", - "7513\n", - "7514\n", - "7515\n", - "7516\n", - "7517\n", - "7518\n", - "7519\n", - "7520\n", - "7521\n", - "7522\n", - "7523\n", - "7524\n", - "7525\n", - "7526\n", - "7527\n", - "7528\n", - "7529\n", - "7530\n", - "7531\n", - "7532\n", - "7533\n", - "7534\n", - "7535\n", - "7536\n", - "7537\n", - "7538\n", - "7539\n", - "7540\n", - "7541\n", - "7542\n", - "7543\n", - "7544\n", - "7545\n", - "7546\n", - "7547\n", - "7548\n", - "7549\n", - "7550\n", - "7551\n", - "7552\n", - "7553\n", - "7554\n", - "7555\n", - "7556\n", - "7557\n", - "7558\n", - "7559\n", - "7560\n", - "7561\n", - "7562\n", - "7563\n", - "7564\n", - "7565\n", - "7566\n", - "7567\n", - "7568\n", - "7569\n", - "7570\n", - "7571\n", - "7572\n", - "7573\n", - "7574\n", - "7575\n", - "7576\n", - "7577\n", - "7578\n", - "7579\n", - "7580\n", - "7581\n", - "7582\n", - "7583\n", - "7584\n", - "7585\n", - "7586\n", - "7587\n", - "7588\n", - "7589\n", - "7590\n", - "7591\n", - "7592\n", - "7593\n", - "7594\n", - "7595\n", - "7596\n", - "7597\n", - "7598\n", - "7599\n", - "CALLED\n", - "self.model._steps=7600\n", - " TEST self.model._steps=7600\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "7500 0.6100\n", - "7501 0.6186\n", - "7502 0.6224\n", - "7503 0.6370\n", - "7504 0.6460\n", - "... ...\n", - "7595 0.6688\n", - "7596 0.6596\n", - "7597 0.6746\n", - "7598 0.6608\n", - "7599 0.6634\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_076.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_076.parquet'\n", - "Saving model to output_dir/model_data_076.parquet\n", - "Saving agent to output_dir/agent_data_076.parquet\n", - "7600\n", - "7601\n", - "7602\n", - "7603\n", - "7604\n", - "7605\n", - "7606\n", - "7607\n", - "7608\n", - "7609\n", - "7610\n", - "7611\n", - "7612\n", - "7613\n", - "7614\n", - "7615\n", - "7616\n", - "7617\n", - "7618\n", - "7619\n", - "7620\n", - "7621\n", - "7622\n", - "7623\n", - "7624\n", - "7625\n", - "7626\n", - "7627\n", - "7628\n", - "7629\n", - "7630\n", - "7631\n", - "7632\n", - "7633\n", - "7634\n", - "7635\n", - "7636\n", - "7637\n", - "7638\n", - "7639\n", - "7640\n", - "7641\n", - "7642\n", - "7643\n", - "7644\n", - "7645\n", - "7646\n", - "7647\n", - "7648\n", - "7649\n", - "7650\n", - "7651\n", - "7652\n", - "7653\n", - "7654\n", - "7655\n", - "7656\n", - "7657\n", - "7658\n", - "7659\n", - "7660\n", - "7661\n", - "7662\n", - "7663\n", - "7664\n", - "7665\n", - "7666\n", - "7667\n", - "7668\n", - "7669\n", - "7670\n", - "7671\n", - "7672\n", - "7673\n", - "7674\n", - "7675\n", - "7676\n", - "7677\n", - "7678\n", - "7679\n", - "7680\n", - "7681\n", - "7682\n", - "7683\n", - "7684\n", - "7685\n", - "7686\n", - "7687\n", - "7688\n", - "7689\n", - "7690\n", - "7691\n", - "7692\n", - "7693\n", - "7694\n", - "7695\n", - "7696\n", - "7697\n", - "7698\n", - "7699\n", - "CALLED\n", - "self.model._steps=7700\n", - " TEST self.model._steps=7700\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "7600 0.6758\n", - "7601 0.6774\n", - "7602 0.6970\n", - "7603 0.6934\n", - "7604 0.6738\n", - "... ...\n", - "7695 0.6820\n", - "7696 0.6854\n", - "7697 0.6614\n", - "7698 0.6598\n", - "7699 0.6828\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_077.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_077.parquet'\n", - "Saving model to output_dir/model_data_077.parquet\n", - "Saving agent to output_dir/agent_data_077.parquet\n", - "7700\n", - "7701\n", - "7702\n", - "7703\n", - "7704\n", - "7705\n", - "7706\n", - "7707\n", - "7708\n", - "7709\n", - "7710\n", - "7711\n", - "7712\n", - "7713\n", - "7714\n", - "7715\n", - "7716\n", - "7717\n", - "7718\n", - "7719\n", - "7720\n", - "7721\n", - "7722\n", - "7723\n", - "7724\n", - "7725\n", - "7726\n", - "7727\n", - "7728\n", - "7729\n", - "7730\n", - "7731\n", - "7732\n", - "7733\n", - "7734\n", - "7735\n", - "7736\n", - "7737\n", - "7738\n", - "7739\n", - "7740\n", - "7741\n", - "7742\n", - "7743\n", - "7744\n", - "7745\n", - "7746\n", - "7747\n", - "7748\n", - "7749\n", - "7750\n", - "7751\n", - "7752\n", - "7753\n", - "7754\n", - "7755\n", - "7756\n", - "7757\n", - "7758\n", - "7759\n", - "7760\n", - "7761\n", - "7762\n", - "7763\n", - "7764\n", - "7765\n", - "7766\n", - "7767\n", - "7768\n", - "7769\n", - "7770\n", - "7771\n", - "7772\n", - "7773\n", - "7774\n", - "7775\n", - "7776\n", - "7777\n", - "7778\n", - "7779\n", - "7780\n", - "7781\n", - "7782\n", - "7783\n", - "7784\n", - "7785\n", - "7786\n", - "7787\n", - "7788\n", - "7789\n", - "7790\n", - "7791\n", - "7792\n", - "7793\n", - "7794\n", - "7795\n", - "7796\n", - "7797\n", - "7798\n", - "7799\n", - "CALLED\n", - "self.model._steps=7800\n", - " TEST self.model._steps=7800\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "7700 0.6920\n", - "7701 0.7154\n", - "7702 0.7136\n", - "7703 0.6998\n", - "7704 0.7004\n", - "... ...\n", - "7795 0.6688\n", - "7796 0.6688\n", - "7797 0.6500\n", - "7798 0.6186\n", - "7799 0.6290\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_078.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_078.parquet'\n", - "Saving model to output_dir/model_data_078.parquet\n", - "Saving agent to output_dir/agent_data_078.parquet\n", - "7800\n", - "7801\n", - "7802\n", - "7803\n", - "7804\n", - "7805\n", - "7806\n", - "7807\n", - "7808\n", - "7809\n", - "7810\n", - "7811\n", - "7812\n", - "7813\n", - "7814\n", - "7815\n", - "7816\n", - "7817\n", - "7818\n", - "7819\n", - "7820\n", - "7821\n", - "7822\n", - "7823\n", - "7824\n", - "7825\n", - "7826\n", - "7827\n", - "7828\n", - "7829\n", - "7830\n", - "7831\n", - "7832\n", - "7833\n", - "7834\n", - "7835\n", - "7836\n", - "7837\n", - "7838\n", - "7839\n", - "7840\n", - "7841\n", - "7842\n", - "7843\n", - "7844\n", - "7845\n", - "7846\n", - "7847\n", - "7848\n", - "7849\n", - "7850\n", - "7851\n", - "7852\n", - "7853\n", - "7854\n", - "7855\n", - "7856\n", - "7857\n", - "7858\n", - "7859\n", - "7860\n", - "7861\n", - "7862\n", - "7863\n", - "7864\n", - "7865\n", - "7866\n", - "7867\n", - "7868\n", - "7869\n", - "7870\n", - "7871\n", - "7872\n", - "7873\n", - "7874\n", - "7875\n", - "7876\n", - "7877\n", - "7878\n", - "7879\n", - "7880\n", - "7881\n", - "7882\n", - "7883\n", - "7884\n", - "7885\n", - "7886\n", - "7887\n", - "7888\n", - "7889\n", - "7890\n", - "7891\n", - "7892\n", - "7893\n", - "7894\n", - "7895\n", - "7896\n", - "7897\n", - "7898\n", - "7899\n", - "CALLED\n", - "self.model._steps=7900\n", - " TEST self.model._steps=7900\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "7800 0.6536\n", - "7801 0.6282\n", - "7802 0.5970\n", - "7803 0.5968\n", - "7804 0.5590\n", - "... ...\n", - "7895 0.6542\n", - "7896 0.6522\n", - "7897 0.6520\n", - "7898 0.6602\n", - "7899 0.6742\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_079.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_079.parquet'\n", - "Saving model to output_dir/model_data_079.parquet\n", - "Saving agent to output_dir/agent_data_079.parquet\n", - "7900\n", - "7901\n", - "7902\n", - "7903\n", - "7904\n", - "7905\n", - "7906\n", - "7907\n", - "7908\n", - "7909\n", - "7910\n", - "7911\n", - "7912\n", - "7913\n", - "7914\n", - "7915\n", - "7916\n", - "7917\n", - "7918\n", - "7919\n", - "7920\n", - "7921\n", - "7922\n", - "7923\n", - "7924\n", - "7925\n", - "7926\n", - "7927\n", - "7928\n", - "7929\n", - "7930\n", - "7931\n", - "7932\n", - "7933\n", - "7934\n", - "7935\n", - "7936\n", - "7937\n", - "7938\n", - "7939\n", - "7940\n", - "7941\n", - "7942\n", - "7943\n", - "7944\n", - "7945\n", - "7946\n", - "7947\n", - "7948\n", - "7949\n", - "7950\n", - "7951\n", - "7952\n", - "7953\n", - "7954\n", - "7955\n", - "7956\n", - "7957\n", - "7958\n", - "7959\n", - "7960\n", - "7961\n", - "7962\n", - "7963\n", - "7964\n", - "7965\n", - "7966\n", - "7967\n", - "7968\n", - "7969\n", - "7970\n", - "7971\n", - "7972\n", - "7973\n", - "7974\n", - "7975\n", - "7976\n", - "7977\n", - "7978\n", - "7979\n", - "7980\n", - "7981\n", - "7982\n", - "7983\n", - "7984\n", - "7985\n", - "7986\n", - "7987\n", - "7988\n", - "7989\n", - "7990\n", - "7991\n", - "7992\n", - "7993\n", - "7994\n", - "7995\n", - "7996\n", - "7997\n", - "7998\n", - "7999\n", - "CALLED\n", - "self.model._steps=8000\n", - " TEST self.model._steps=8000\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "7900 0.6750\n", - "7901 0.6750\n", - "7902 0.6586\n", - "7903 0.6552\n", - "7904 0.6562\n", - "... ...\n", - "7995 0.6274\n", - "7996 0.6490\n", - "7997 0.6490\n", - "7998 0.6466\n", - "7999 0.6676\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_080.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_080.parquet'\n", - "Saving model to output_dir/model_data_080.parquet\n", - "Saving agent to output_dir/agent_data_080.parquet\n", - "8000\n", - "8001\n", - "8002\n", - "8003\n", - "8004\n", - "8005\n", - "8006\n", - "8007\n", - "8008\n", - "8009\n", - "8010\n", - "8011\n", - "8012\n", - "8013\n", - "8014\n", - "8015\n", - "8016\n", - "8017\n", - "8018\n", - "8019\n", - "8020\n", - "8021\n", - "8022\n", - "8023\n", - "8024\n", - "8025\n", - "8026\n", - "8027\n", - "8028\n", - "8029\n", - "8030\n", - "8031\n", - "8032\n", - "8033\n", - "8034\n", - "8035\n", - "8036\n", - "8037\n", - "8038\n", - "8039\n", - "8040\n", - "8041\n", - "8042\n", - "8043\n", - "8044\n", - "8045\n", - "8046\n", - "8047\n", - "8048\n", - "8049\n", - "8050\n", - "8051\n", - "8052\n", - "8053\n", - "8054\n", - "8055\n", - "8056\n", - "8057\n", - "8058\n", - "8059\n", - "8060\n", - "8061\n", - "8062\n", - "8063\n", - "8064\n", - "8065\n", - "8066\n", - "8067\n", - "8068\n", - "8069\n", - "8070\n", - "8071\n", - "8072\n", - "8073\n", - "8074\n", - "8075\n", - "8076\n", - "8077\n", - "8078\n", - "8079\n", - "8080\n", - "8081\n", - "8082\n", - "8083\n", - "8084\n", - "8085\n", - "8086\n", - "8087\n", - "8088\n", - "8089\n", - "8090\n", - "8091\n", - "8092\n", - "8093\n", - "8094\n", - "8095\n", - "8096\n", - "8097\n", - "8098\n", - "8099\n", - "CALLED\n", - "self.model._steps=8100\n", - " TEST self.model._steps=8100\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "8000 0.6536\n", - "8001 0.6876\n", - "8002 0.6596\n", - "8003 0.6678\n", - "8004 0.6604\n", - "... ...\n", - "8095 0.6826\n", - "8096 0.6794\n", - "8097 0.6702\n", - "8098 0.6896\n", - "8099 0.6846\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_081.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_081.parquet'\n", - "Saving model to output_dir/model_data_081.parquet\n", - "Saving agent to output_dir/agent_data_081.parquet\n", - "8100\n", - "8101\n", - "8102\n", - "8103\n", - "8104\n", - "8105\n", - "8106\n", - "8107\n", - "8108\n", - "8109\n", - "8110\n", - "8111\n", - "8112\n", - "8113\n", - "8114\n", - "8115\n", - "8116\n", - "8117\n", - "8118\n", - "8119\n", - "8120\n", - "8121\n", - "8122\n", - "8123\n", - "8124\n", - "8125\n", - "8126\n", - "8127\n", - "8128\n", - "8129\n", - "8130\n", - "8131\n", - "8132\n", - "8133\n", - "8134\n", - "8135\n", - "8136\n", - "8137\n", - "8138\n", - "8139\n", - "8140\n", - "8141\n", - "8142\n", - "8143\n", - "8144\n", - "8145\n", - "8146\n", - "8147\n", - "8148\n", - "8149\n", - "8150\n", - "8151\n", - "8152\n", - "8153\n", - "8154\n", - "8155\n", - "8156\n", - "8157\n", - "8158\n", - "8159\n", - "8160\n", - "8161\n", - "8162\n", - "8163\n", - "8164\n", - "8165\n", - "8166\n", - "8167\n", - "8168\n", - "8169\n", - "8170\n", - "8171\n", - "8172\n", - "8173\n", - "8174\n", - "8175\n", - "8176\n", - "8177\n", - "8178\n", - "8179\n", - "8180\n", - "8181\n", - "8182\n", - "8183\n", - "8184\n", - "8185\n", - "8186\n", - "8187\n", - "8188\n", - "8189\n", - "8190\n", - "8191\n", - "8192\n", - "8193\n", - "8194\n", - "8195\n", - "8196\n", - "8197\n", - "8198\n", - "8199\n", - "CALLED\n", - "self.model._steps=8200\n", - " TEST self.model._steps=8200\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "8100 0.6596\n", - "8101 0.6556\n", - "8102 0.6390\n", - "8103 0.6512\n", - "8104 0.6536\n", - "... ...\n", - "8195 0.6192\n", - "8196 0.5868\n", - "8197 0.5528\n", - "8198 0.5546\n", - "8199 0.5764\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_082.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_082.parquet'\n", - "Saving model to output_dir/model_data_082.parquet\n", - "Saving agent to output_dir/agent_data_082.parquet\n", - "8200\n", - "8201\n", - "8202\n", - "8203\n", - "8204\n", - "8205\n", - "8206\n", - "8207\n", - "8208\n", - "8209\n", - "8210\n", - "8211\n", - "8212\n", - "8213\n", - "8214\n", - "8215\n", - "8216\n", - "8217\n", - "8218\n", - "8219\n", - "8220\n", - "8221\n", - "8222\n", - "8223\n", - "8224\n", - "8225\n", - "8226\n", - "8227\n", - "8228\n", - "8229\n", - "8230\n", - "8231\n", - "8232\n", - "8233\n", - "8234\n", - "8235\n", - "8236\n", - "8237\n", - "8238\n", - "8239\n", - "8240\n", - "8241\n", - "8242\n", - "8243\n", - "8244\n", - "8245\n", - "8246\n", - "8247\n", - "8248\n", - "8249\n", - "8250\n", - "8251\n", - "8252\n", - "8253\n", - "8254\n", - "8255\n", - "8256\n", - "8257\n", - "8258\n", - "8259\n", - "8260\n", - "8261\n", - "8262\n", - "8263\n", - "8264\n", - "8265\n", - "8266\n", - "8267\n", - "8268\n", - "8269\n", - "8270\n", - "8271\n", - "8272\n", - "8273\n", - "8274\n", - "8275\n", - "8276\n", - "8277\n", - "8278\n", - "8279\n", - "8280\n", - "8281\n", - "8282\n", - "8283\n", - "8284\n", - "8285\n", - "8286\n", - "8287\n", - "8288\n", - "8289\n", - "8290\n", - "8291\n", - "8292\n", - "8293\n", - "8294\n", - "8295\n", - "8296\n", - "8297\n", - "8298\n", - "8299\n", - "CALLED\n", - "self.model._steps=8300\n", - " TEST self.model._steps=8300\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "8200 0.5874\n", - "8201 0.6296\n", - "8202 0.6404\n", - "8203 0.6348\n", - "8204 0.6300\n", - "... ...\n", - "8295 0.6170\n", - "8296 0.6200\n", - "8297 0.6168\n", - "8298 0.6098\n", - "8299 0.6362\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_083.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_083.parquet'\n", - "Saving model to output_dir/model_data_083.parquet\n", - "Saving agent to output_dir/agent_data_083.parquet\n", - "8300\n", - "8301\n", - "8302\n", - "8303\n", - "8304\n", - "8305\n", - "8306\n", - "8307\n", - "8308\n", - "8309\n", - "8310\n", - "8311\n", - "8312\n", - "8313\n", - "8314\n", - "8315\n", - "8316\n", - "8317\n", - "8318\n", - "8319\n", - "8320\n", - "8321\n", - "8322\n", - "8323\n", - "8324\n", - "8325\n", - "8326\n", - "8327\n", - "8328\n", - "8329\n", - "8330\n", - "8331\n", - "8332\n", - "8333\n", - "8334\n", - "8335\n", - "8336\n", - "8337\n", - "8338\n", - "8339\n", - "8340\n", - "8341\n", - "8342\n", - "8343\n", - "8344\n", - "8345\n", - "8346\n", - "8347\n", - "8348\n", - "8349\n", - "8350\n", - "8351\n", - "8352\n", - "8353\n", - "8354\n", - "8355\n", - "8356\n", - "8357\n", - "8358\n", - "8359\n", - "8360\n", - "8361\n", - "8362\n", - "8363\n", - "8364\n", - "8365\n", - "8366\n", - "8367\n", - "8368\n", - "8369\n", - "8370\n", - "8371\n", - "8372\n", - "8373\n", - "8374\n", - "8375\n", - "8376\n", - "8377\n", - "8378\n", - "8379\n", - "8380\n", - "8381\n", - "8382\n", - "8383\n", - "8384\n", - "8385\n", - "8386\n", - "8387\n", - "8388\n", - "8389\n", - "8390\n", - "8391\n", - "8392\n", - "8393\n", - "8394\n", - "8395\n", - "8396\n", - "8397\n", - "8398\n", - "8399\n", - "CALLED\n", - "self.model._steps=8400\n", - " TEST self.model._steps=8400\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "8300 0.6248\n", - "8301 0.6196\n", - "8302 0.5904\n", - "8303 0.5808\n", - "8304 0.6252\n", - "... ...\n", - "8395 0.6416\n", - "8396 0.6250\n", - "8397 0.6210\n", - "8398 0.6002\n", - "8399 0.6116\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_084.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_084.parquet'\n", - "Saving model to output_dir/model_data_084.parquet\n", - "Saving agent to output_dir/agent_data_084.parquet\n", - "8400\n", - "8401\n", - "8402\n", - "8403\n", - "8404\n", - "8405\n", - "8406\n", - "8407\n", - "8408\n", - "8409\n", - "8410\n", - "8411\n", - "8412\n", - "8413\n", - "8414\n", - "8415\n", - "8416\n", - "8417\n", - "8418\n", - "8419\n", - "8420\n", - "8421\n", - "8422\n", - "8423\n", - "8424\n", - "8425\n", - "8426\n", - "8427\n", - "8428\n", - "8429\n", - "8430\n", - "8431\n", - "8432\n", - "8433\n", - "8434\n", - "8435\n", - "8436\n", - "8437\n", - "8438\n", - "8439\n", - "8440\n", - "8441\n", - "8442\n", - "8443\n", - "8444\n", - "8445\n", - "8446\n", - "8447\n", - "8448\n", - "8449\n", - "8450\n", - "8451\n", - "8452\n", - "8453\n", - "8454\n", - "8455\n", - "8456\n", - "8457\n", - "8458\n", - "8459\n", - "8460\n", - "8461\n", - "8462\n", - "8463\n", - "8464\n", - "8465\n", - "8466\n", - "8467\n", - "8468\n", - "8469\n", - "8470\n", - "8471\n", - "8472\n", - "8473\n", - "8474\n", - "8475\n", - "8476\n", - "8477\n", - "8478\n", - "8479\n", - "8480\n", - "8481\n", - "8482\n", - "8483\n", - "8484\n", - "8485\n", - "8486\n", - "8487\n", - "8488\n", - "8489\n", - "8490\n", - "8491\n", - "8492\n", - "8493\n", - "8494\n", - "8495\n", - "8496\n", - "8497\n", - "8498\n", - "8499\n", - "CALLED\n", - "self.model._steps=8500\n", - " TEST self.model._steps=8500\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "8400 0.6312\n", - "8401 0.6326\n", - "8402 0.6460\n", - "8403 0.6402\n", - "8404 0.6592\n", - "... ...\n", - "8495 0.6840\n", - "8496 0.6944\n", - "8497 0.6580\n", - "8498 0.6248\n", - "8499 0.6256\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_085.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_085.parquet'\n", - "Saving model to output_dir/model_data_085.parquet\n", - "Saving agent to output_dir/agent_data_085.parquet\n", - "8500\n", - "8501\n", - "8502\n", - "8503\n", - "8504\n", - "8505\n", - "8506\n", - "8507\n", - "8508\n", - "8509\n", - "8510\n", - "8511\n", - "8512\n", - "8513\n", - "8514\n", - "8515\n", - "8516\n", - "8517\n", - "8518\n", - "8519\n", - "8520\n", - "8521\n", - "8522\n", - "8523\n", - "8524\n", - "8525\n", - "8526\n", - "8527\n", - "8528\n", - "8529\n", - "8530\n", - "8531\n", - "8532\n", - "8533\n", - "8534\n", - "8535\n", - "8536\n", - "8537\n", - "8538\n", - "8539\n", - "8540\n", - "8541\n", - "8542\n", - "8543\n", - "8544\n", - "8545\n", - "8546\n", - "8547\n", - "8548\n", - "8549\n", - "8550\n", - "8551\n", - "8552\n", - "8553\n", - "8554\n", - "8555\n", - "8556\n", - "8557\n", - "8558\n", - "8559\n", - "8560\n", - "8561\n", - "8562\n", - "8563\n", - "8564\n", - "8565\n", - "8566\n", - "8567\n", - "8568\n", - "8569\n", - "8570\n", - "8571\n", - "8572\n", - "8573\n", - "8574\n", - "8575\n", - "8576\n", - "8577\n", - "8578\n", - "8579\n", - "8580\n", - "8581\n", - "8582\n", - "8583\n", - "8584\n", - "8585\n", - "8586\n", - "8587\n", - "8588\n", - "8589\n", - "8590\n", - "8591\n", - "8592\n", - "8593\n", - "8594\n", - "8595\n", - "8596\n", - "8597\n", - "8598\n", - "8599\n", - "CALLED\n", - "self.model._steps=8600\n", - " TEST self.model._steps=8600\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "8500 0.5962\n", - "8501 0.5966\n", - "8502 0.5870\n", - "8503 0.6094\n", - "8504 0.6174\n", - "... ...\n", - "8595 0.7202\n", - "8596 0.7282\n", - "8597 0.7224\n", - "8598 0.6968\n", - "8599 0.6676\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_086.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_086.parquet'\n", - "Saving model to output_dir/model_data_086.parquet\n", - "Saving agent to output_dir/agent_data_086.parquet\n", - "8600\n", - "8601\n", - "8602\n", - "8603\n", - "8604\n", - "8605\n", - "8606\n", - "8607\n", - "8608\n", - "8609\n", - "8610\n", - "8611\n", - "8612\n", - "8613\n", - "8614\n", - "8615\n", - "8616\n", - "8617\n", - "8618\n", - "8619\n", - "8620\n", - "8621\n", - "8622\n", - "8623\n", - "8624\n", - "8625\n", - "8626\n", - "8627\n", - "8628\n", - "8629\n", - "8630\n", - "8631\n", - "8632\n", - "8633\n", - "8634\n", - "8635\n", - "8636\n", - "8637\n", - "8638\n", - "8639\n", - "8640\n", - "8641\n", - "8642\n", - "8643\n", - "8644\n", - "8645\n", - "8646\n", - "8647\n", - "8648\n", - "8649\n", - "8650\n", - "8651\n", - "8652\n", - "8653\n", - "8654\n", - "8655\n", - "8656\n", - "8657\n", - "8658\n", - "8659\n", - "8660\n", - "8661\n", - "8662\n", - "8663\n", - "8664\n", - "8665\n", - "8666\n", - "8667\n", - "8668\n", - "8669\n", - "8670\n", - "8671\n", - "8672\n", - "8673\n", - "8674\n", - "8675\n", - "8676\n", - "8677\n", - "8678\n", - "8679\n", - "8680\n", - "8681\n", - "8682\n", - "8683\n", - "8684\n", - "8685\n", - "8686\n", - "8687\n", - "8688\n", - "8689\n", - "8690\n", - "8691\n", - "8692\n", - "8693\n", - "8694\n", - "8695\n", - "8696\n", - "8697\n", - "8698\n", - "8699\n", - "CALLED\n", - "self.model._steps=8700\n", - " TEST self.model._steps=8700\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "8600 0.6634\n", - "8601 0.6824\n", - "8602 0.7022\n", - "8603 0.6984\n", - "8604 0.6728\n", - "... ...\n", - "8695 0.6688\n", - "8696 0.6624\n", - "8697 0.6290\n", - "8698 0.6286\n", - "8699 0.6720\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_087.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_087.parquet'\n", - "Saving model to output_dir/model_data_087.parquet\n", - "Saving agent to output_dir/agent_data_087.parquet\n", - "8700\n", - "8701\n", - "8702\n", - "8703\n", - "8704\n", - "8705\n", - "8706\n", - "8707\n", - "8708\n", - "8709\n", - "8710\n", - "8711\n", - "8712\n", - "8713\n", - "8714\n", - "8715\n", - "8716\n", - "8717\n", - "8718\n", - "8719\n", - "8720\n", - "8721\n", - "8722\n", - "8723\n", - "8724\n", - "8725\n", - "8726\n", - "8727\n", - "8728\n", - "8729\n", - "8730\n", - "8731\n", - "8732\n", - "8733\n", - "8734\n", - "8735\n", - "8736\n", - "8737\n", - "8738\n", - "8739\n", - "8740\n", - "8741\n", - "8742\n", - "8743\n", - "8744\n", - "8745\n", - "8746\n", - "8747\n", - "8748\n", - "8749\n", - "8750\n", - "8751\n", - "8752\n", - "8753\n", - "8754\n", - "8755\n", - "8756\n", - "8757\n", - "8758\n", - "8759\n", - "8760\n", - "8761\n", - "8762\n", - "8763\n", - "8764\n", - "8765\n", - "8766\n", - "8767\n", - "8768\n", - "8769\n", - "8770\n", - "8771\n", - "8772\n", - "8773\n", - "8774\n", - "8775\n", - "8776\n", - "8777\n", - "8778\n", - "8779\n", - "8780\n", - "8781\n", - "8782\n", - "8783\n", - "8784\n", - "8785\n", - "8786\n", - "8787\n", - "8788\n", - "8789\n", - "8790\n", - "8791\n", - "8792\n", - "8793\n", - "8794\n", - "8795\n", - "8796\n", - "8797\n", - "8798\n", - "8799\n", - "CALLED\n", - "self.model._steps=8800\n", - " TEST self.model._steps=8800\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "8700 0.6530\n", - "8701 0.6516\n", - "8702 0.6486\n", - "8703 0.6506\n", - "8704 0.6426\n", - "... ...\n", - "8795 0.6002\n", - "8796 0.6142\n", - "8797 0.6314\n", - "8798 0.6416\n", - "8799 0.6268\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_088.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_088.parquet'\n", - "Saving model to output_dir/model_data_088.parquet\n", - "Saving agent to output_dir/agent_data_088.parquet\n", - "8800\n", - "8801\n", - "8802\n", - "8803\n", - "8804\n", - "8805\n", - "8806\n", - "8807\n", - "8808\n", - "8809\n", - "8810\n", - "8811\n", - "8812\n", - "8813\n", - "8814\n", - "8815\n", - "8816\n", - "8817\n", - "8818\n", - "8819\n", - "8820\n", - "8821\n", - "8822\n", - "8823\n", - "8824\n", - "8825\n", - "8826\n", - "8827\n", - "8828\n", - "8829\n", - "8830\n", - "8831\n", - "8832\n", - "8833\n", - "8834\n", - "8835\n", - "8836\n", - "8837\n", - "8838\n", - "8839\n", - "8840\n", - "8841\n", - "8842\n", - "8843\n", - "8844\n", - "8845\n", - "8846\n", - "8847\n", - "8848\n", - "8849\n", - "8850\n", - "8851\n", - "8852\n", - "8853\n", - "8854\n", - "8855\n", - "8856\n", - "8857\n", - "8858\n", - "8859\n", - "8860\n", - "8861\n", - "8862\n", - "8863\n", - "8864\n", - "8865\n", - "8866\n", - "8867\n", - "8868\n", - "8869\n", - "8870\n", - "8871\n", - "8872\n", - "8873\n", - "8874\n", - "8875\n", - "8876\n", - "8877\n", - "8878\n", - "8879\n", - "8880\n", - "8881\n", - "8882\n", - "8883\n", - "8884\n", - "8885\n", - "8886\n", - "8887\n", - "8888\n", - "8889\n", - "8890\n", - "8891\n", - "8892\n", - "8893\n", - "8894\n", - "8895\n", - "8896\n", - "8897\n", - "8898\n", - "8899\n", - "CALLED\n", - "self.model._steps=8900\n", - " TEST self.model._steps=8900\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "8800 0.6426\n", - "8801 0.6366\n", - "8802 0.6264\n", - "8803 0.6396\n", - "8804 0.6566\n", - "... ...\n", - "8895 0.6882\n", - "8896 0.6882\n", - "8897 0.6818\n", - "8898 0.6820\n", - "8899 0.6970\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_089.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_089.parquet'\n", - "Saving model to output_dir/model_data_089.parquet\n", - "Saving agent to output_dir/agent_data_089.parquet\n", - "8900\n", - "8901\n", - "8902\n", - "8903\n", - "8904\n", - "8905\n", - "8906\n", - "8907\n", - "8908\n", - "8909\n", - "8910\n", - "8911\n", - "8912\n", - "8913\n", - "8914\n", - "8915\n", - "8916\n", - "8917\n", - "8918\n", - "8919\n", - "8920\n", - "8921\n", - "8922\n", - "8923\n", - "8924\n", - "8925\n", - "8926\n", - "8927\n", - "8928\n", - "8929\n", - "8930\n", - "8931\n", - "8932\n", - "8933\n", - "8934\n", - "8935\n", - "8936\n", - "8937\n", - "8938\n", - "8939\n", - "8940\n", - "8941\n", - "8942\n", - "8943\n", - "8944\n", - "8945\n", - "8946\n", - "8947\n", - "8948\n", - "8949\n", - "8950\n", - "8951\n", - "8952\n", - "8953\n", - "8954\n", - "8955\n", - "8956\n", - "8957\n", - "8958\n", - "8959\n", - "8960\n", - "8961\n", - "8962\n", - "8963\n", - "8964\n", - "8965\n", - "8966\n", - "8967\n", - "8968\n", - "8969\n", - "8970\n", - "8971\n", - "8972\n", - "8973\n", - "8974\n", - "8975\n", - "8976\n", - "8977\n", - "8978\n", - "8979\n", - "8980\n", - "8981\n", - "8982\n", - "8983\n", - "8984\n", - "8985\n", - "8986\n", - "8987\n", - "8988\n", - "8989\n", - "8990\n", - "8991\n", - "8992\n", - "8993\n", - "8994\n", - "8995\n", - "8996\n", - "8997\n", - "8998\n", - "8999\n", - "CALLED\n", - "self.model._steps=9000\n", - " TEST self.model._steps=9000\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "8900 0.7008\n", - "8901 0.6852\n", - "8902 0.6920\n", - "8903 0.6604\n", - "8904 0.6550\n", - "... ...\n", - "8995 0.7144\n", - "8996 0.6980\n", - "8997 0.6754\n", - "8998 0.6324\n", - "8999 0.6424\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_090.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_090.parquet'\n", - "Saving model to output_dir/model_data_090.parquet\n", - "Saving agent to output_dir/agent_data_090.parquet\n", - "9000\n", - "9001\n", - "9002\n", - "9003\n", - "9004\n", - "9005\n", - "9006\n", - "9007\n", - "9008\n", - "9009\n", - "9010\n", - "9011\n", - "9012\n", - "9013\n", - "9014\n", - "9015\n", - "9016\n", - "9017\n", - "9018\n", - "9019\n", - "9020\n", - "9021\n", - "9022\n", - "9023\n", - "9024\n", - "9025\n", - "9026\n", - "9027\n", - "9028\n", - "9029\n", - "9030\n", - "9031\n", - "9032\n", - "9033\n", - "9034\n", - "9035\n", - "9036\n", - "9037\n", - "9038\n", - "9039\n", - "9040\n", - "9041\n", - "9042\n", - "9043\n", - "9044\n", - "9045\n", - "9046\n", - "9047\n", - "9048\n", - "9049\n", - "9050\n", - "9051\n", - "9052\n", - "9053\n", - "9054\n", - "9055\n", - "9056\n", - "9057\n", - "9058\n", - "9059\n", - "9060\n", - "9061\n", - "9062\n", - "9063\n", - "9064\n", - "9065\n", - "9066\n", - "9067\n", - "9068\n", - "9069\n", - "9070\n", - "9071\n", - "9072\n", - "9073\n", - "9074\n", - "9075\n", - "9076\n", - "9077\n", - "9078\n", - "9079\n", - "9080\n", - "9081\n", - "9082\n", - "9083\n", - "9084\n", - "9085\n", - "9086\n", - "9087\n", - "9088\n", - "9089\n", - "9090\n", - "9091\n", - "9092\n", - "9093\n", - "9094\n", - "9095\n", - "9096\n", - "9097\n", - "9098\n", - "9099\n", - "CALLED\n", - "self.model._steps=9100\n", - " TEST self.model._steps=9100\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "9000 0.6600\n", - "9001 0.6660\n", - "9002 0.6482\n", - "9003 0.6292\n", - "9004 0.6260\n", - "... ...\n", - "9095 0.6864\n", - "9096 0.6864\n", - "9097 0.6562\n", - "9098 0.6756\n", - "9099 0.6722\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_091.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_091.parquet'\n", - "Saving model to output_dir/model_data_091.parquet\n", - "Saving agent to output_dir/agent_data_091.parquet\n", - "9100\n", - "9101\n", - "9102\n", - "9103\n", - "9104\n", - "9105\n", - "9106\n", - "9107\n", - "9108\n", - "9109\n", - "9110\n", - "9111\n", - "9112\n", - "9113\n", - "9114\n", - "9115\n", - "9116\n", - "9117\n", - "9118\n", - "9119\n", - "9120\n", - "9121\n", - "9122\n", - "9123\n", - "9124\n", - "9125\n", - "9126\n", - "9127\n", - "9128\n", - "9129\n", - "9130\n", - "9131\n", - "9132\n", - "9133\n", - "9134\n", - "9135\n", - "9136\n", - "9137\n", - "9138\n", - "9139\n", - "9140\n", - "9141\n", - "9142\n", - "9143\n", - "9144\n", - "9145\n", - "9146\n", - "9147\n", - "9148\n", - "9149\n", - "9150\n", - "9151\n", - "9152\n", - "9153\n", - "9154\n", - "9155\n", - "9156\n", - "9157\n", - "9158\n", - "9159\n", - "9160\n", - "9161\n", - "9162\n", - "9163\n", - "9164\n", - "9165\n", - "9166\n", - "9167\n", - "9168\n", - "9169\n", - "9170\n", - "9171\n", - "9172\n", - "9173\n", - "9174\n", - "9175\n", - "9176\n", - "9177\n", - "9178\n", - "9179\n", - "9180\n", - "9181\n", - "9182\n", - "9183\n", - "9184\n", - "9185\n", - "9186\n", - "9187\n", - "9188\n", - "9189\n", - "9190\n", - "9191\n", - "9192\n", - "9193\n", - "9194\n", - "9195\n", - "9196\n", - "9197\n", - "9198\n", - "9199\n", - "CALLED\n", - "self.model._steps=9200\n", - " TEST self.model._steps=9200\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "9100 0.6948\n", - "9101 0.6942\n", - "9102 0.6880\n", - "9103 0.6748\n", - "9104 0.6588\n", - "... ...\n", - "9195 0.6270\n", - "9196 0.6274\n", - "9197 0.6492\n", - "9198 0.6668\n", - "9199 0.6688\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_092.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_092.parquet'\n", - "Saving model to output_dir/model_data_092.parquet\n", - "Saving agent to output_dir/agent_data_092.parquet\n", - "9200\n", - "9201\n", - "9202\n", - "9203\n", - "9204\n", - "9205\n", - "9206\n", - "9207\n", - "9208\n", - "9209\n", - "9210\n", - "9211\n", - "9212\n", - "9213\n", - "9214\n", - "9215\n", - "9216\n", - "9217\n", - "9218\n", - "9219\n", - "9220\n", - "9221\n", - "9222\n", - "9223\n", - "9224\n", - "9225\n", - "9226\n", - "9227\n", - "9228\n", - "9229\n", - "9230\n", - "9231\n", - "9232\n", - "9233\n", - "9234\n", - "9235\n", - "9236\n", - "9237\n", - "9238\n", - "9239\n", - "9240\n", - "9241\n", - "9242\n", - "9243\n", - "9244\n", - "9245\n", - "9246\n", - "9247\n", - "9248\n", - "9249\n", - "9250\n", - "9251\n", - "9252\n", - "9253\n", - "9254\n", - "9255\n", - "9256\n", - "9257\n", - "9258\n", - "9259\n", - "9260\n", - "9261\n", - "9262\n", - "9263\n", - "9264\n", - "9265\n", - "9266\n", - "9267\n", - "9268\n", - "9269\n", - "9270\n", - "9271\n", - "9272\n", - "9273\n", - "9274\n", - "9275\n", - "9276\n", - "9277\n", - "9278\n", - "9279\n", - "9280\n", - "9281\n", - "9282\n", - "9283\n", - "9284\n", - "9285\n", - "9286\n", - "9287\n", - "9288\n", - "9289\n", - "9290\n", - "9291\n", - "9292\n", - "9293\n", - "9294\n", - "9295\n", - "9296\n", - "9297\n", - "9298\n", - "9299\n", - "CALLED\n", - "self.model._steps=9300\n", - " TEST self.model._steps=9300\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "9200 0.6650\n", - "9201 0.6328\n", - "9202 0.6276\n", - "9203 0.6102\n", - "9204 0.6698\n", - "... ...\n", - "9295 0.6362\n", - "9296 0.5956\n", - "9297 0.6454\n", - "9298 0.6164\n", - "9299 0.6040\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_093.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_093.parquet'\n", - "Saving model to output_dir/model_data_093.parquet\n", - "Saving agent to output_dir/agent_data_093.parquet\n", - "9300\n", - "9301\n", - "9302\n", - "9303\n", - "9304\n", - "9305\n", - "9306\n", - "9307\n", - "9308\n", - "9309\n", - "9310\n", - "9311\n", - "9312\n", - "9313\n", - "9314\n", - "9315\n", - "9316\n", - "9317\n", - "9318\n", - "9319\n", - "9320\n", - "9321\n", - "9322\n", - "9323\n", - "9324\n", - "9325\n", - "9326\n", - "9327\n", - "9328\n", - "9329\n", - "9330\n", - "9331\n", - "9332\n", - "9333\n", - "9334\n", - "9335\n", - "9336\n", - "9337\n", - "9338\n", - "9339\n", - "9340\n", - "9341\n", - "9342\n", - "9343\n", - "9344\n", - "9345\n", - "9346\n", - "9347\n", - "9348\n", - "9349\n", - "9350\n", - "9351\n", - "9352\n", - "9353\n", - "9354\n", - "9355\n", - "9356\n", - "9357\n", - "9358\n", - "9359\n", - "9360\n", - "9361\n", - "9362\n", - "9363\n", - "9364\n", - "9365\n", - "9366\n", - "9367\n", - "9368\n", - "9369\n", - "9370\n", - "9371\n", - "9372\n", - "9373\n", - "9374\n", - "9375\n", - "9376\n", - "9377\n", - "9378\n", - "9379\n", - "9380\n", - "9381\n", - "9382\n", - "9383\n", - "9384\n", - "9385\n", - "9386\n", - "9387\n", - "9388\n", - "9389\n", - "9390\n", - "9391\n", - "9392\n", - "9393\n", - "9394\n", - "9395\n", - "9396\n", - "9397\n", - "9398\n", - "9399\n", - "CALLED\n", - "self.model._steps=9400\n", - " TEST self.model._steps=9400\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "9300 0.5816\n", - "9301 0.6006\n", - "9302 0.6044\n", - "9303 0.6112\n", - "9304 0.6036\n", - "... ...\n", - "9395 0.6742\n", - "9396 0.6826\n", - "9397 0.6758\n", - "9398 0.6590\n", - "9399 0.6568\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_094.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_094.parquet'\n", - "Saving model to output_dir/model_data_094.parquet\n", - "Saving agent to output_dir/agent_data_094.parquet\n", - "9400\n", - "9401\n", - "9402\n", - "9403\n", - "9404\n", - "9405\n", - "9406\n", - "9407\n", - "9408\n", - "9409\n", - "9410\n", - "9411\n", - "9412\n", - "9413\n", - "9414\n", - "9415\n", - "9416\n", - "9417\n", - "9418\n", - "9419\n", - "9420\n", - "9421\n", - "9422\n", - "9423\n", - "9424\n", - "9425\n", - "9426\n", - "9427\n", - "9428\n", - "9429\n", - "9430\n", - "9431\n", - "9432\n", - "9433\n", - "9434\n", - "9435\n", - "9436\n", - "9437\n", - "9438\n", - "9439\n", - "9440\n", - "9441\n", - "9442\n", - "9443\n", - "9444\n", - "9445\n", - "9446\n", - "9447\n", - "9448\n", - "9449\n", - "9450\n", - "9451\n", - "9452\n", - "9453\n", - "9454\n", - "9455\n", - "9456\n", - "9457\n", - "9458\n", - "9459\n", - "9460\n", - "9461\n", - "9462\n", - "9463\n", - "9464\n", - "9465\n", - "9466\n", - "9467\n", - "9468\n", - "9469\n", - "9470\n", - "9471\n", - "9472\n", - "9473\n", - "9474\n", - "9475\n", - "9476\n", - "9477\n", - "9478\n", - "9479\n", - "9480\n", - "9481\n", - "9482\n", - "9483\n", - "9484\n", - "9485\n", - "9486\n", - "9487\n", - "9488\n", - "9489\n", - "9490\n", - "9491\n", - "9492\n", - "9493\n", - "9494\n", - "9495\n", - "9496\n", - "9497\n", - "9498\n", - "9499\n", - "CALLED\n", - "self.model._steps=9500\n", - " TEST self.model._steps=9500\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "9400 0.6706\n", - "9401 0.6598\n", - "9402 0.6360\n", - "9403 0.6558\n", - "9404 0.6356\n", - "... ...\n", - "9495 0.6264\n", - "9496 0.6366\n", - "9497 0.6178\n", - "9498 0.6306\n", - "9499 0.6230\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_095.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_095.parquet'\n", - "Saving model to output_dir/model_data_095.parquet\n", - "Saving agent to output_dir/agent_data_095.parquet\n", - "9500\n", - "9501\n", - "9502\n", - "9503\n", - "9504\n", - "9505\n", - "9506\n", - "9507\n", - "9508\n", - "9509\n", - "9510\n", - "9511\n", - "9512\n", - "9513\n", - "9514\n", - "9515\n", - "9516\n", - "9517\n", - "9518\n", - "9519\n", - "9520\n", - "9521\n", - "9522\n", - "9523\n", - "9524\n", - "9525\n", - "9526\n", - "9527\n", - "9528\n", - "9529\n", - "9530\n", - "9531\n", - "9532\n", - "9533\n", - "9534\n", - "9535\n", - "9536\n", - "9537\n", - "9538\n", - "9539\n", - "9540\n", - "9541\n", - "9542\n", - "9543\n", - "9544\n", - "9545\n", - "9546\n", - "9547\n", - "9548\n", - "9549\n", - "9550\n", - "9551\n", - "9552\n", - "9553\n", - "9554\n", - "9555\n", - "9556\n", - "9557\n", - "9558\n", - "9559\n", - "9560\n", - "9561\n", - "9562\n", - "9563\n", - "9564\n", - "9565\n", - "9566\n", - "9567\n", - "9568\n", - "9569\n", - "9570\n", - "9571\n", - "9572\n", - "9573\n", - "9574\n", - "9575\n", - "9576\n", - "9577\n", - "9578\n", - "9579\n", - "9580\n", - "9581\n", - "9582\n", - "9583\n", - "9584\n", - "9585\n", - "9586\n", - "9587\n", - "9588\n", - "9589\n", - "9590\n", - "9591\n", - "9592\n", - "9593\n", - "9594\n", - "9595\n", - "9596\n", - "9597\n", - "9598\n", - "9599\n", - "CALLED\n", - "self.model._steps=9600\n", - " TEST self.model._steps=9600\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "9500 0.6226\n", - "9501 0.6344\n", - "9502 0.6200\n", - "9503 0.5742\n", - "9504 0.5810\n", - "... ...\n", - "9595 0.5926\n", - "9596 0.6168\n", - "9597 0.6368\n", - "9598 0.5948\n", - "9599 0.5980\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_096.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_096.parquet'\n", - "Saving model to output_dir/model_data_096.parquet\n", - "Saving agent to output_dir/agent_data_096.parquet\n", - "9600\n", - "9601\n", - "9602\n", - "9603\n", - "9604\n", - "9605\n", - "9606\n", - "9607\n", - "9608\n", - "9609\n", - "9610\n", - "9611\n", - "9612\n", - "9613\n", - "9614\n", - "9615\n", - "9616\n", - "9617\n", - "9618\n", - "9619\n", - "9620\n", - "9621\n", - "9622\n", - "9623\n", - "9624\n", - "9625\n", - "9626\n", - "9627\n", - "9628\n", - "9629\n", - "9630\n", - "9631\n", - "9632\n", - "9633\n", - "9634\n", - "9635\n", - "9636\n", - "9637\n", - "9638\n", - "9639\n", - "9640\n", - "9641\n", - "9642\n", - "9643\n", - "9644\n", - "9645\n", - "9646\n", - "9647\n", - "9648\n", - "9649\n", - "9650\n", - "9651\n", - "9652\n", - "9653\n", - "9654\n", - "9655\n", - "9656\n", - "9657\n", - "9658\n", - "9659\n", - "9660\n", - "9661\n", - "9662\n", - "9663\n", - "9664\n", - "9665\n", - "9666\n", - "9667\n", - "9668\n", - "9669\n", - "9670\n", - "9671\n", - "9672\n", - "9673\n", - "9674\n", - "9675\n", - "9676\n", - "9677\n", - "9678\n", - "9679\n", - "9680\n", - "9681\n", - "9682\n", - "9683\n", - "9684\n", - "9685\n", - "9686\n", - "9687\n", - "9688\n", - "9689\n", - "9690\n", - "9691\n", - "9692\n", - "9693\n", - "9694\n", - "9695\n", - "9696\n", - "9697\n", - "9698\n", - "9699\n", - "CALLED\n", - "self.model._steps=9700\n", - " TEST self.model._steps=9700\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "9600 0.5968\n", - "9601 0.6164\n", - "9602 0.6104\n", - "9603 0.5840\n", - "9604 0.6014\n", - "... ...\n", - "9695 0.6778\n", - "9696 0.6622\n", - "9697 0.6408\n", - "9698 0.6512\n", - "9699 0.6408\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_097.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_097.parquet'\n", - "Saving model to output_dir/model_data_097.parquet\n", - "Saving agent to output_dir/agent_data_097.parquet\n", - "9700\n", - "9701\n", - "9702\n", - "9703\n", - "9704\n", - "9705\n", - "9706\n", - "9707\n", - "9708\n", - "9709\n", - "9710\n", - "9711\n", - "9712\n", - "9713\n", - "9714\n", - "9715\n", - "9716\n", - "9717\n", - "9718\n", - "9719\n", - "9720\n", - "9721\n", - "9722\n", - "9723\n", - "9724\n", - "9725\n", - "9726\n", - "9727\n", - "9728\n", - "9729\n", - "9730\n", - "9731\n", - "9732\n", - "9733\n", - "9734\n", - "9735\n", - "9736\n", - "9737\n", - "9738\n", - "9739\n", - "9740\n", - "9741\n", - "9742\n", - "9743\n", - "9744\n", - "9745\n", - "9746\n", - "9747\n", - "9748\n", - "9749\n", - "9750\n", - "9751\n", - "9752\n", - "9753\n", - "9754\n", - "9755\n", - "9756\n", - "9757\n", - "9758\n", - "9759\n", - "9760\n", - "9761\n", - "9762\n", - "9763\n", - "9764\n", - "9765\n", - "9766\n", - "9767\n", - "9768\n", - "9769\n", - "9770\n", - "9771\n", - "9772\n", - "9773\n", - "9774\n", - "9775\n", - "9776\n", - "9777\n", - "9778\n", - "9779\n", - "9780\n", - "9781\n", - "9782\n", - "9783\n", - "9784\n", - "9785\n", - "9786\n", - "9787\n", - "9788\n", - "9789\n", - "9790\n", - "9791\n", - "9792\n", - "9793\n", - "9794\n", - "9795\n", - "9796\n", - "9797\n", - "9798\n", - "9799\n", - "CALLED\n", - "self.model._steps=9800\n", - " TEST self.model._steps=9800\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "9700 0.6264\n", - "9701 0.6406\n", - "9702 0.6062\n", - "9703 0.5840\n", - "9704 0.6138\n", - "... ...\n", - "9795 0.6252\n", - "9796 0.6192\n", - "9797 0.6358\n", - "9798 0.6650\n", - "9799 0.6634\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_098.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_098.parquet'\n", - "Saving model to output_dir/model_data_098.parquet\n", - "Saving agent to output_dir/agent_data_098.parquet\n", - "9800\n", - "9801\n", - "9802\n", - "9803\n", - "9804\n", - "9805\n", - "9806\n", - "9807\n", - "9808\n", - "9809\n", - "9810\n", - "9811\n", - "9812\n", - "9813\n", - "9814\n", - "9815\n", - "9816\n", - "9817\n", - "9818\n", - "9819\n", - "9820\n", - "9821\n", - "9822\n", - "9823\n", - "9824\n", - "9825\n", - "9826\n", - "9827\n", - "9828\n", - "9829\n", - "9830\n", - "9831\n", - "9832\n", - "9833\n", - "9834\n", - "9835\n", - "9836\n", - "9837\n", - "9838\n", - "9839\n", - "9840\n", - "9841\n", - "9842\n", - "9843\n", - "9844\n", - "9845\n", - "9846\n", - "9847\n", - "9848\n", - "9849\n", - "9850\n", - "9851\n", - "9852\n", - "9853\n", - "9854\n", - "9855\n", - "9856\n", - "9857\n", - "9858\n", - "9859\n", - "9860\n", - "9861\n", - "9862\n", - "9863\n", - "9864\n", - "9865\n", - "9866\n", - "9867\n", - "9868\n", - "9869\n", - "9870\n", - "9871\n", - "9872\n", - "9873\n", - "9874\n", - "9875\n", - "9876\n", - "9877\n", - "9878\n", - "9879\n", - "9880\n", - "9881\n", - "9882\n", - "9883\n", - "9884\n", - "9885\n", - "9886\n", - "9887\n", - "9888\n", - "9889\n", - "9890\n", - "9891\n", - "9892\n", - "9893\n", - "9894\n", - "9895\n", - "9896\n", - "9897\n", - "9898\n", - "9899\n", - "CALLED\n", - "self.model._steps=9900\n", - " TEST self.model._steps=9900\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "9800 0.6592\n", - "9801 0.6786\n", - "9802 0.6664\n", - "9803 0.6486\n", - "9804 0.6418\n", - "... ...\n", - "9895 0.6196\n", - "9896 0.6306\n", - "9897 0.6260\n", - "9898 0.6456\n", - "9899 0.6434\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_099.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_099.parquet'\n", - "Saving model to output_dir/model_data_099.parquet\n", - "Saving agent to output_dir/agent_data_099.parquet\n", - "9900\n", - "9901\n", - "9902\n", - "9903\n", - "9904\n", - "9905\n", - "9906\n", - "9907\n", - "9908\n", - "9909\n", - "9910\n", - "9911\n", - "9912\n", - "9913\n", - "9914\n", - "9915\n", - "9916\n", - "9917\n", - "9918\n", - "9919\n", - "9920\n", - "9921\n", - "9922\n", - "9923\n", - "9924\n", - "9925\n", - "9926\n", - "9927\n", - "9928\n", - "9929\n", - "9930\n", - "9931\n", - "9932\n", - "9933\n", - "9934\n", - "9935\n", - "9936\n", - "9937\n", - "9938\n", - "9939\n", - "9940\n", - "9941\n", - "9942\n", - "9943\n", - "9944\n", - "9945\n", - "9946\n", - "9947\n", - "9948\n", - "9949\n", - "9950\n", - "9951\n", - "9952\n", - "9953\n", - "9954\n", - "9955\n", - "9956\n", - "9957\n", - "9958\n", - "9959\n", - "9960\n", - "9961\n", - "9962\n", - "9963\n", - "9964\n", - "9965\n", - "9966\n", - "9967\n", - "9968\n", - "9969\n", - "9970\n", - "9971\n", - "9972\n", - "9973\n", - "9974\n", - "9975\n", - "9976\n", - "9977\n", - "9978\n", - "9979\n", - "9980\n", - "9981\n", - "9982\n", - "9983\n", - "9984\n", - "9985\n", - "9986\n", - "9987\n", - "9988\n", - "9989\n", - "9990\n", - "9991\n", - "9992\n", - "9993\n", - "9994\n", - "9995\n", - "9996\n", - "9997\n", - "9998\n", - "9999\n", - "CALLED\n", - "self.model._steps=10000\n", - " TEST self.model._steps=10000\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "9900 0.6436\n", - "9901 0.6410\n", - "9902 0.6306\n", - "9903 0.6366\n", - "9904 0.6398\n", - "... ...\n", - "9995 0.6358\n", - "9996 0.6332\n", - "9997 0.6128\n", - "9998 0.6314\n", - "9999 0.6778\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='output_dir/model_data_100.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/output_dir/model_data_100.parquet'\n", - "Saving model to output_dir/model_data_100.parquet\n", - "Saving agent to output_dir/agent_data_100.parquet\n" - ] - } - ], - "source": [ - "for i in range(10000):\n", - " print(i)\n", - " cacheable_model.model.step()\n", - " cacheable_model.cache()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "248ea838-5c71-4838-b6ad-fdcfdc3a1c1e", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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OoYPH45atWph5cqVyMjIwHfffWeLchIRERFJIrvmJikpCc8++yxOnjwJHx8fzfI+ffrgr7/+UrRwVYnMTmdERERkI7KDm3///RcvvviiwfKIiAhkZmYqUigiIiIiS8kObry9vZGfn2+w/MSJE6hTp44ihSIiIiKylOzg5uGHH8bbb7+N27dvAwBUKhUyMjLwxhtvYMCAAYoXkIiIiEgO2cHNRx99hMLCQoSGhuLmzZvo0aMHmjZtipo1a+K9996zRRmrBGbcEBEROQfZvaUCAwOxadMmbNu2DQcPHkRhYSE6duyIhIQEW5SvSuIgfkRERI4jO7ip0K1bN3Tr1k3JshARERFZTVJw88knn2DEiBHw8fHBJ598YnLdl19+WZGCEREREVlCUnAzZ84cPP300/Dx8cGcOXOMrqdSqRjcEBERkUNJCm7Onj0r+v9UiWP4EREROQeL5pYi01RgRjEREZGjyA5uBgwYgPfff99g+QcffIDHH39ckUIRERERWUp2cPPXX3+hT58+BssffPDBaj23FBERETkH2cFNYWEhvLy8DJZ7enqKTstAREREZE+yg5vo6GgsXbrUYPmSJUvQqlUrRQpVJWklFHMQPyIiIseRPYjflClT8Oijj+L06dO49957AQCpqan4+eefsXz5csULSERERCSH7OCmX79+WL16NWbMmIEVK1bA19cXbdu2xR9//IEePXrYooxEREREklk0/ULfvn3Rt29fpctCREREZDWOc0NEREQuRVLNTa1atXDixAmEhIQgODgYKhMZs1evXlWscFWJoJVRzHxiIiIix5E8t1TNmjUBAHPnzrVleYiIiIisIim4OXDgAB577DF4e3ujUaNG6NKlCzw8LErXISIiIrIpSTk3n376KQoLCwEAvXr1qrZNT0REROT8JFW/REVF4ZNPPsH9998PQRCwY8cOBAcHi657zz33KFrAqoKzghMRETkHScHNrFmzMHLkSKSkpEClUuGRRx4RXU+lUqGsrEzRAlZFphKuiYiIyLYkBTf9+/dH//79UVhYiICAABw/fhyhoaG2LhsRERGRbJJybpKSklBUVAR/f39s2bIFjRo1QmBgoOg/IiIiIkeSnVB87733Kp5QPH/+fERFRcHHxwdxcXFIS0uT9L4lS5ZApVKhf//+ipaHiIiIqi6HJxQvXboUSUlJWLBgAeLi4jB37lwkJiaabfpKT0/HhAkT0L17d1n7sxXtfGJm3BARETmOShDM9/NZvXo1Ro4ciezsbKhUKhh7iyUJxXFxcejUqRPmzZsHAFCr1YiMjMTYsWMxceJE0feUlZXhnnvuwXPPPYe///4b169fx+rVqyXtLz8/H4GBgcjLy0NAQICssppytagEHd/ZBAA4M6MP3NwY4hARESlFzv1bUrNU//79kZmZifz8fAiCgOPHj+PatWsG/+Q2V5WUlGDPnj1ISEioLJCbGxISErBjxw6j73v77bcRGhqK559/3uw+iouLkZ+fr/OPiIiIXJesYYa1E4qVGKE4NzcXZWVlCAsL01keFhaGY8eOib5n27Zt+Oabb7B//35J+0hJScH06dOtLSoRERFVEbJnBe/RowfOnTuHN998E4MGDUJ2djYAYP369Thy5IjiBdRWUFCAwYMH46uvvkJISIik9yQnJyMvL0/z7/z58zYtIxERETmW7ODmzz//RHR0NHbt2oWVK1dqelEdOHAA06ZNk7WtkJAQuLu7IysrS2d5VlYWwsPDDdY/ffo00tPT0a9fP3h4eMDDwwPfffcd1qxZAw8PD5w+fdrgPd7e3ggICND5ZwvaeUgcw4+IiMhxZAc3EydOxLvvvotNmzbBy8tLs/zee+/Fzp07ZW3Ly8sLMTExSE1N1SxTq9VITU1FfHy8wfotW7bEoUOHsH//fs2/hx9+GL169cL+/fsRGRkp9+MQERGRi5GdOHPo0CH89NNPBstDQ0ORm5sruwBJSUkYOnQoYmNj0blzZ8ydOxdFRUUYNmwYAGDIkCGIiIhASkoKfHx80KZNG533BwUFAYDBciIiIqqeZAc3QUFBuHz5Mho1aqSzfN++fYiIiJBdgIEDByInJwdTp05FZmYm2rdvjw0bNmiSjDMyMuDmJruCiYiIiKop2cHNk08+iTfeeAPLly+HSqWCWq3G9u3bMWHCBAwZMsSiQowZMwZjxowRfW3r1q0m37t48WKL9mlLnDiTiIjIcWRXicyYMQMtW7ZEZGQkCgsL0apVK9xzzz3o0qUL3nzzTVuUsUowOxIiERER2YXsmhsvLy989dVXmDJlCg4fPozCwkJ06NABzZo1s0X5iIiIiGSxeCS+Bg0aaHonsRmGiIiInIVFmbrfffcdoqOj4evrC19fX7Rt2xbff/+90mUjIiIikk12zc3s2bMxZcoUjBkzBl27dgVQPiXCyJEjkZubi/HjxyteyKrA/PSjREREZA+yg5tPP/0Un3/+uU7PqIcffhitW7fGW2+9VW2DGyIiInIOspulLl++jC5duhgs79KlCy5fvqxIoYiIiIgsJTu4adq0KZYtW2awfOnSpewxRURERA4nu1lq+vTpGDhwIP766y9Nzs327duRmpoqGvQQERER2ZPsmpsBAwZg165dCAkJwerVq7F69WqEhIQgLS0NjzzyiC3KWCUId4bxY694IiIix7JonJuYmBj88MMPSpeFiIiIyGqSa24uXbqECRMmID8/3+C1vLw8vPbaa8jKylK0cERERERySQ5uZs+ejfz8fAQEBBi8FhgYiIKCAsyePVvRwhERERHJJTm42bBhg8lZv4cMGYLffvtNkUJVZUy5ISIicizJwc3Zs2fRoEEDo6/Xr18f6enpSpSpauIIxURERE5BcnDj6+trMnhJT0+Hr6+vEmUiIiIispjk4CYuLs7k5JjfffcdOnfurEihiIiIiCwluSv4hAkT0Lt3bwQGBuK1115DWFgYACArKwsffPABFi9ejI0bN9qsoERERERSSA5uevXqhfnz52PcuHGYM2cOAgICoFKpkJeXB09PT3z66ae49957bVnWKkHFUfyIiIgcStYgfi+++CIeeughLFu2DKdOnYIgCGjevDkee+wx1K9f31ZlrBKYT0xEROQcZI9QHBERgfHjx9uiLERERERWkz23FBEREZEzY3BDRERELoXBjUKEO0k3TCcmIiJyLAY3RERE5FIY3BAREZFLkdRbqlatWjhx4gRCQkIQHBxsciyXq1evKlY4IiIiIrkkBTdz5sxBzZo1AQBz5861ZXmqPI7hR0RE5FiSgpuhQ4eK/j9VEjiMHxERkVOQPYgfAKjVapw6dQrZ2dlQq9U6r91zzz2KFIyIiIjIErKDm507d+Kpp57CuXPnIAi6tRUqlQplZWWKFY6IiIhILtnBzciRIxEbG4u1a9eibt26nCiSiIiInIrs4ObkyZNYsWIFmjZtaovyVHkqDuNHRETkULLHuYmLi8OpU6cULcT8+fMRFRUFHx8fxMXFIS0tzei6K1euRGxsLIKCglCjRg20b98e33//vaLlsYTAfGIiIiKnILvmZuzYsXj11VeRmZmJ6OhoeHp66rzetm1bWdtbunQpkpKSsGDB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D39/f4d9DiIiInIODg9uBg4ciJycHEydOhWZmZlo3749NmzYoEkyzsjIgJtbZQXT559/jpKSEjz22GM625k2bRreeustexZdB8fwIyIicg4OD24AYMyYMRgzZozoa1u3btX5Oz093fYFIiIioirL4SMUExERESmJwY3CmE9MRETkWAxuiIiIyKUwuFEMM4qJiIicAYMbIiIicikMboiIiMilMLhRGPOJiYiIHIvBDREREbkUBjcK4QjFREREzoHBDREREbkUBjcK46zgREREjsXghoiIiFwKgxuFMOWGiIjIOTC4ISIiIpfC4IaIiIhcCoMbhTGdmIiIyLEY3BAREZFLYXCjEA7iR0RE5BwY3BAREZFLYXBDRERELoXBjcI4QDEREZFjMbghIiIil8LgRiECxygmIiJyCgxuiIiIyKUwuFEck26IiIgcicENERERuRQGN0RERORSGNwohCMUExEROQcGN0RERORSGNwojIP4ERERORaDGyIiInIpDG4UwpwbIiIi5+Dw4Gb+/PmIioqCj48P4uLikJaWZnTdI0eOYMCAAYiKioJKpcLcuXPtV1AiIiKqEhwa3CxduhRJSUmYNm0a9u7di3bt2iExMRHZ2dmi69+4cQONGzfGzJkzER4ebufSSsOUGyIiIsdyaHAze/ZsDB8+HMOGDUOrVq2wYMEC+Pn5YeHChaLrd+rUCbNmzcKTTz4Jb29vSfsoLi5Gfn6+zj8iIiJyXQ4LbkpKSrBnzx4kJCRUFsbNDQkJCdixY4di+0lJSUFgYKDmX2RkpGLbJiIiIufjsOAmNzcXZWVlCAsL01keFhaGzMxMxfaTnJyMvLw8zb/z588rtm1tnBWciIjIOXg4ugC25u3tLbkJi4iIiKo+h9XchISEwN3dHVlZWTrLs7KynDZZWAoO4kdERORYDgtuvLy8EBMTg9TUVM0ytVqN1NRUxMfHO6pYREREVMU5tFkqKSkJQ4cORWxsLDp37oy5c+eiqKgIw4YNAwAMGTIEERERSElJAVCehPzff/9p/v/ixYvYv38//P390bRpU4d9DiIiInIeDg1uBg4ciJycHEydOhWZmZlo3749NmzYoEkyzsjIgJtbZeXSpUuX0KFDB83fH374IT788EP06NEDW7dutXfxdXCEYiIiIufg8ITiMWPGYMyYMaKv6QcsUVFREBhFEBERkQkOn37B1ag4RjEREZFDMbghIiIil8LghoiIiFwKgxsiIiJyKQxuFMZB/IiIiByLwQ0RERG5FAY3RERE5FIY3CiEw+8QERE5BwY3RERE5FIY3CiM+cRERESOxeCGiIiIXAqDGyIiInIpDG4UIoAZxURERM6AwQ0RERG5FAY3ClNxiGIiIiKHYnBDRERELoXBDREREbkUBjcK4QjFREREzoHBDREREbkUBjdERETkUhjcEBERkUthcENEREQuhcGNQphPTERE5BwY3CiMY/gRERE5FoMbIiIicikMboiIiMilMLghIiIil8LgRiEChygmIiJyCgxuFMaEYiIiIsdicENEREQuhcENERERuRQGNwphxg0REZFzcIrgZv78+YiKioKPjw/i4uKQlpZmcv3ly5ejZcuW8PHxQXR0NNatW2enkpqnApNuiIiIHMnhwc3SpUuRlJSEadOmYe/evWjXrh0SExORnZ0tuv4///yDQYMG4fnnn8e+ffvQv39/9O/fH4cPH7ZzyYmIiMgZqQQH92GOi4tDp06dMG/ePACAWq1GZGQkxo4di4kTJxqsP3DgQBQVFeG3337TLLv77rvRvn17LFiwwGD94uJiFBcXa/7Oz89HZGQk8vLyEBAQoNjn2JtxDY9+9g8a1PLDX6/3Umy7REREVH7/DgwMlHT/dmjNTUlJCfbs2YOEhATNMjc3NyQkJGDHjh2i79mxY4fO+gCQmJhodP2UlBQEBgZq/kVGRir3AYiIiMjpODS4yc3NRVlZGcLCwnSWh4WFITMzU/Q9mZmZstZPTk5GXl6e5t/58+eVKbyesAAfjO7VBIPvbmiT7RMREZE0Ho4ugK15e3vD29vb5vuJCPLFa4ktbb4fIiIiMs2hNTchISFwd3dHVlaWzvKsrCyEh4eLvic8PFzW+kRERFS9ODS48fLyQkxMDFJTUzXL1Go1UlNTER8fL/qe+Ph4nfUBYNOmTUbXJyIiourF4c1SSUlJGDp0KGJjY9G5c2fMnTsXRUVFGDZsGABgyJAhiIiIQEpKCgBg3Lhx6NGjBz766CP07dsXS5Yswe7du/Hll1868mMQERGRk3B4cDNw4EDk5ORg6tSpyMzMRPv27bFhwwZN0nBGRgbc3CormLp06YKffvoJb775JiZNmoRmzZph9erVaNOmjaM+AhERETkRh49zY29y+skTERGRc6gy49wQERERKY3BDREREbkUBjdERETkUhjcEBERkUthcENEREQuhcENERERuRQGN0RERORSGNwQERGRS3H4CMX2VjFmYX5+voNLQkRERFJV3LeljD1c7YKbgoICAEBkZKSDS0JERERyFRQUIDAw0OQ61W76BbVajUuXLqFmzZpQqVSKbjs/Px+RkZE4f/48p3awIR5n++Bxtg8eZ/vhsbYPWx1nQRBQUFCAevXq6cw5Kaba1dy4ubmhfv36Nt1HQEAAfzh2wONsHzzO9sHjbD881vZhi+NsrsamAhOKiYiIyKUwuCEiIiKXwuBGQd7e3pg2bRq8vb0dXRSXxuNsHzzO9sHjbD881vbhDMe52iUUExERkWtjzQ0RERG5FAY3RERE5FIY3BAREZFLYXBDRERELoXBDREREbkUBjcKmT9/PqKiouDj44O4uDikpaU5ukhOLSUlBZ06dULNmjURGhqK/v374/jx4zrr3Lp1C6NHj0bt2rXh7++PAQMGICsrS2edjIwM9O3bF35+fggNDcVrr72G0tJSnXW2bt2Kjh07wtvbG02bNsXixYtt/fGc0syZM6FSqfDKK69olvEYK+fixYt45plnULt2bfj6+iI6Ohq7d+/WvC4IAqZOnYq6devC19cXCQkJOHnypM42rl69iqeffhoBAQEICgrC888/j8LCQp11Dh48iO7du8PHxweRkZH44IMP7PL5nEFZWRmmTJmCRo0awdfXF02aNME777yjM5Eij7N8f/31F/r164d69epBpVJh9erVOq/b85guX74cLVu2hI+PD6Kjo7Fu3TrLPpRAVluyZIng5eUlLFy4UDhy5IgwfPhwISgoSMjKynJ00ZxWYmKisGjRIuHw4cPC/v37hT59+ggNGjQQCgsLNeuMHDlSiIyMFFJTU4Xdu3cLd999t9ClSxfN66WlpUKbNm2EhIQEYd++fcK6deuEkJAQITk5WbPOmTNnBD8/PyEpKUn477//hE8//VRwd3cXNmzYYNfP62hpaWlCVFSU0LZtW2HcuHGa5TzGyrh69arQsGFD4dlnnxV27dolnDlzRvj999+FU6dOadaZOXOmEBgYKKxevVo4cOCA8PDDDwuNGjUSbt68qVnngQceENq1ayfs3LlT+Pvvv4WmTZsKgwYN0ryel5cnhIWFCU8//bRw+PBh4eeffxZ8fX2FL774wq6f11Hee+89oXbt2sJvv/0mnD17Vli+fLng7+8vfPzxx5p1eJzlW7dunTB58mRh5cqVAgBh1apVOq/b65hu375dcHd3Fz744APhv//+E958803B09NTOHTokOzPxOBGAZ07dxZGjx6t+busrEyoV6+ekJKS4sBSVS3Z2dkCAOHPP/8UBEEQrl+/Lnh6egrLly/XrHP06FEBgLBjxw5BEMp/kG5ubkJmZqZmnc8//1wICAgQiouLBUEQhNdff11o3bq1zr4GDhwoJCYm2vojOY2CggKhWbNmwqZNm4QePXpoghseY+W88cYbQrdu3Yy+rlarhfDwcGHWrFmaZdevXxe8vb2Fn3/+WRAEQfjvv/8EAMK///6rWWf9+vWCSqUSLl68KAiCIHz22WdCcHCw5thX7LtFixZKfySn1LdvX+G5557TWfboo48KTz/9tCAIPM5K0A9u7HlMn3jiCaFv37465YmLixNefPFF2Z+DzVJWKikpwZ49e5CQkKBZ5ubmhoSEBOzYscOBJata8vLyAAC1atUCAOzZswe3b9/WOa4tW7ZEgwYNNMd1x44diI6ORlhYmGadxMRE5Ofn48iRI5p1tLdRsU51+m5Gjx6Nvn37GhwHHmPlrFmzBrGxsXj88ccRGhqKDh064KuvvtK8fvbsWWRmZuocp8DAQMTFxekc66CgIMTGxmrWSUhIgJubG3bt2qVZ55577oGXl5dmncTERBw/fhzXrl2z9cd0uC5duiA1NRUnTpwAABw4cADbtm3Dgw8+CIDH2RbseUyVvJYwuLFSbm4uysrKdC7+ABAWFobMzEwHlapqUavVeOWVV9C1a1e0adMGAJCZmQkvLy8EBQXprKt9XDMzM0WPe8VrptbJz8/HzZs3bfFxnMqSJUuwd+9epKSkGLzGY6ycM2fO4PPPP0ezZs3w+++/Y9SoUXj55Zfx7bffAqg8VqauE5mZmQgNDdV53cPDA7Vq1ZL1fbiyiRMn4sknn0TLli3h6emJDh064JVXXsHTTz8NgMfZFux5TI2tY8kx95D9DiKFjR49GocPH8a2bdscXRSXcv78eYwbNw6bNm2Cj4+Po4vj0tRqNWJjYzFjxgwAQIcOHXD48GEsWLAAQ4cOdXDpXMeyZcvw448/4qeffkLr1q2xf/9+vPLKK6hXrx6PM+lgzY2VQkJC4O7ubtDDJCsrC+Hh4Q4qVdUxZswY/Pbbb9iyZQvq16+vWR4eHo6SkhJcv35dZ33t4xoeHi563CteM7VOQEAAfH19lf44TmXPnj3Izs5Gx44d4eHhAQ8PD/z555/45JNP4OHhgbCwMB5jhdStWxetWrXSWXbXXXchIyMDQOWxMnWdCA8PR3Z2ts7rpaWluHr1qqzvw5W99tprmtqb6OhoDB48GOPHj9fUTPI4K8+ex9TYOpYccwY3VvLy8kJMTAxSU1M1y9RqNVJTUxEfH+/Akjk3QRAwZswYrFq1Cps3b0ajRo10Xo+JiYGnp6fOcT1+/DgyMjI0xzU+Ph6HDh3S+VFt2rQJAQEBmhtNfHy8zjYq1qkO3819992HQ4cOYf/+/Zp/sbGxePrppzX/z2OsjK5duxoMZXDixAk0bNgQANCoUSOEh4frHKf8/Hzs2rVL51hfv34de/bs0ayzefNmqNVqxMXFadb566+/cPv2bc06mzZtQosWLRAcHGyzz+csbty4ATc33duWu7s71Go1AB5nW7DnMVX0WiI7BZkMLFmyRPD29hYWL14s/Pfff8KIESOEoKAgnR4mpGvUqFFCYGCgsHXrVuHy5cuafzdu3NCsM3LkSKFBgwbC5s2bhd27dwvx8fFCfHy85vWKbsr333+/sH//fmHDhg1CnTp1RLspv/baa8LRo0eF+fPnV7tuytq0e0sJAo+xUtLS0gQPDw/hvffeE06ePCn8+OOPgp+fn/DDDz9o1pk5c6YQFBQk/Prrr8LBgweF//3vf6LdaTt06CDs2rVL2LZtm9CsWTOd7rTXr18XwsLChMGDBwuHDx8WlixZIvj5+blsF2V9Q4cOFSIiIjRdwVeuXCmEhIQIr7/+umYdHmf5CgoKhH379gn79u0TAAizZ88W9u3bJ5w7d04QBPsd0+3btwseHh7Chx9+KBw9elSYNm0au4I72qeffio0aNBA8PLyEjp37izs3LnT0UVyagBE/y1atEizzs2bN4WXXnpJCA4OFvz8/IRHHnlEuHz5ss520tPThQcffFDw9fUVQkJChFdffVW4ffu2zjpbtmwR2rdvL3h5eQmNGzfW2Ud1ox/c8Bgr5//+7/+ENm3aCN7e3kLLli2FL7/8Uud1tVotTJkyRQgLCxO8vb2F++67Tzh+/LjOOleuXBEGDRok+Pv7CwEBAcKwYcOEgoICnXUOHDggdOvWTfD29hYiIiKEmTNn2vyzOYv8/Hxh3LhxQoMGDQQfHx+hcePGwuTJk3W6F/M4y7dlyxbR6/HQoUMFQbDvMV22bJnQvHlzwcvLS2jdurWwdu1aiz6TShC0hnYkIiIiquKYc0NEREQuhcENERERuRQGN0RERORSGNwQERGRS2FwQ0RERC6FwQ0RERG5FAY3RERE5FIY3BAREZFLYXBDRERELoXBDREREbkUBjdERETkUv4fQmpbS+5IZXYAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "\n", - "gini = model.datacollector.get_model_vars_dataframe()\n", - "# Plot the Gini coefficient over time\n", - "g = sns.lineplot(data=gini)\n", - "g.set(title=\"Gini Coefficient over Time\", ylabel=\"Gini Coefficient\");" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "9cf0a6c4-a976-4835-82e2-706f49b175d3", - "metadata": {}, - "outputs": [ - { - "data": { - "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", - "
Gini
00.0000
10.2822
20.3666
30.4510
40.5058
......
99950.6358
99960.6332
99970.6128
99980.6314
99990.6778
\n", - "

10000 rows × 1 columns

\n", - "
" - ], - "text/plain": [ - " Gini\n", - "0 0.0000\n", - "1 0.2822\n", - "2 0.3666\n", - "3 0.4510\n", - "4 0.5058\n", - "... ...\n", - "9995 0.6358\n", - "9996 0.6332\n", - "9997 0.6128\n", - "9998 0.6314\n", - "9999 0.6778\n", - "\n", - "[10000 rows x 1 columns]" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gini" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "c9515417-7c5f-45f8-8ffa-2f466288ea1f", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Gini\n", - "0 0.0000\n", - "1 0.2822\n", - "2 0.3666\n", - "3 0.4510\n", - "4 0.5058\n", - "... ...\n", - "9995 0.6358\n", - "9996 0.6332\n", - "9997 0.6128\n", - "9998 0.6314\n", - "9999 0.6778\n", - "\n", - "[10000 rows x 1 columns]\n" + "[5555 rows x 1 columns]\n" ] } ], @@ -12630,8 +18361,8 @@ "import glob\n", "\n", "# Get a list of all Parquet files\n", - "model_files = glob.glob('output_dir/model_data_*.parquet')\n", - "agent_files = glob.glob('output_dir/agent_data_*.parquet')\n", + "model_files = glob.glob('test_path/model_data_*.parquet')\n", + "agent_files = glob.glob('test_path/agent_data_*.parquet')\n", "\n", "# Initialize lists to hold dataframes\n", "model_dfs = []\n", @@ -12658,13 +18389,13 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 13, "id": "c6c73b47-b23c-4347-9951-b721ea5ed5da", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGzCAYAAADT4Tb9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB+v0lEQVR4nO3deVwU9f8H8Ndyg8ihCCiieJuKFyjhkVoYpdnXsjIrNStNUzPJSjQ1O8Sy1ErLLrXbKzV/eaShVppK3kfeinhxeXCpIOz8/kCWPWZ3Z3ZnD5bX8/HwUczOznx2dnbmPZ/P+/P5qARBEEBERETkItwcXQAiIiIiJTG4ISIiIpfC4IaIiIhcCoMbIiIicikMboiIiMilMLghIiIil8LghoiIiFwKgxsiIiJyKQxuiIiIyKUwuCGykbfeegsqlcqi9y5evBgqlQrp6enKFsoGvv/+e7Rs2RKenp4ICgrSLJ81axYaN24Md3d3tG/fHgAQFRWFZ599Vtb209PToVKpsHjxYsXKTIYs+W6InBWDGyIZzp49izFjxqB58+bw8/ODn58fWrVqhdGjR+PgwYMOK9f+/fvxzDPPIDIyEt7e3qhVqxYSEhKwaNEilJWV2Wy/x44dw7PPPosmTZrgq6++wpdffgkA2LhxI15//XV07doVixYtwowZM2xWBqV89tlnLhVAbd26FSqVStI/Ilej4txSRNL89ttvGDhwIDw8PPD000+jXbt2cHNzw7Fjx7By5UqcO3cOZ8+eRcOGDQEApaWlKC0thY+Pj+x9lZWV4fbt2/D29jZ78/n6668xcuRIhIWFYfDgwWjWrBkKCgqQmpqKtWvX4t1338WkSZMs+szmLFiwAKNGjcLJkyfRtGlTzfKJEydi1qxZuHnzJry8vDTLi4uL4ebmBk9PT8n7EAQBxcXF8PT0hLu7u6Ll19amTRuEhIRg69atNtuHPWVlZWHTpk06y5KTk+Hv74/JkyfrLH/mmWcs+m6InJWHowtAVBWcPn0aTz75JBo2bIjU1FTUrVtX5/X3338fn332GdzcKitDPTw84OFh2U/M3d1d0o18586dGDlyJOLj47Fu3TrUrFlT89orr7yC3bt34/DhwxaVQYrs7GwA0GmOqlju6+urE9gAgLe3t+x9qFQqiwLE6kIQBNy6dQu+vr46y8PCwvDMM8/oLJs5cyZCQkIMlgOWfTdETksgIrNGjBghABB27twp+T3Tpk0T9H9iAITRo0cLq1atElq3bi14eXkJrVq1EtavX6+z3qJFiwQAwtmzZ03u44EHHhA8PDyEc+fOSSpTYWGhkJSUJNSvX1/w8vISmjdvLsyaNUtQq9UG637//fdCx44dBR8fHyE4OFgYOHCgkJGRoXm9YcOGAgCdfxWfWf/fokWLNO8ZOnSozn6uXbsmvPLKK0LDhg0FLy8vISIiQhg8eLCQk5MjCIIgnD17VmcbFY4ePSoMGDBACA4OFry9vYWYmBjh119/FT2O27ZtE8aPHy+EhIQIfn5+Qv/+/YXs7GyTn6VHjx5WH8vWrVsLPXv2NHhvWVmZUK9ePWHAgAE6y+bMmSO0atVK8Pb2FkJDQ4URI0YIV69e1Xlvw4YNhb59+wobNmwQYmJiBG9vb2HOnDkmy6pdHmOfS/+7qTh2f//9tzB27FghJCRECAwMFEaMGCEUFxcL165dEwYPHiwEBQUJQUFBwmuvvWZwHkn9TERKY80NkQS//fYbmjZtiri4OKu3tW3bNqxcuRIvvfQSatasiU8++QQDBgxARkYGateuLXk7N27cQGpqKu655x40aNDA7PqCIODhhx/Gli1b8Pzzz6N9+/b4/fff8dprr+HixYuYM2eOZt333nsPU6ZMwRNPPIEXXngBOTk5+PTTT3HPPfdg3759CAoKwty5c/Hdd99h1apV+Pzzz+Hv74+2bduiadOm+PLLL5GWloavv/4aANClSxfRMhUWFqJ79+44evQonnvuOXTs2BG5ublYs2YNLly4gJCQENH3HTlyBF27dkVERAQmTpyIGjVqYNmyZejfvz9++eUXPPLIIzrrjx07FsHBwZg2bRrS09Mxd+5cjBkzBkuXLgUAzJ07F2PHjtVpsgkLC7P6WA4cOBBvvfUWMjMzER4ernn/tm3bcOnSJTz55JOaZS+++CIWL16MYcOG4eWXX8bZs2cxb9487Nu3D9u3b9dpLjp+/DgGDRqEF198EcOHD0eLFi2MltVaY8eORXh4OKZPn46dO3fiyy+/RFBQEP755x80aNAAM2bMwLp16zBr1iy0adMGQ4YMsegzESnK0dEVkbPLy8sTAAj9+/c3eO3atWtCTk6O5t+NGzc0rxmrufHy8hJOnTqlWXbgwAEBgPDpp59qlkmpual437hx4yR9jtWrVwsAhHfffVdn+WOPPSaoVCpNmdLT0wV3d3fhvffe01nv0KFDgoeHh87yis9YUctSYejQoUKNGjUMyqBfOzB16lQBgLBy5UqDdStqAcRqbu677z4hOjpauHXrls76Xbp0EZo1a6ZZVnEcExISdGoVxo8fL7i7uwvXr1/XLDNVq6FP6rE8fvy4wXcrCILw0ksvCf7+/prz5e+//xYACD/++KPOehs2bDBYXlHLtGHDBkll1WZJzU1iYqLOsYuPjxdUKpUwcuRIzbLS0lKhfv36OtuW85mIlMbeUkRm5OfnAwD8/f0NXuvZsyfq1Kmj+Td//nyz20tISECTJk00f7dt2xYBAQE4c+aMReXSzrMxZd26dXB3d8fLL7+ss/zVV1+FIAhYv349AGDlypVQq9V44oknkJubq/kXHh6OZs2aYcuWLbLKacovv/yCdu3aGdS0ADCaSH316lVs3rwZTzzxBAoKCjTlu3LlChITE3Hy5ElcvHhR5z0jRozQ2V737t1RVlaGc+fOWVRuqceyefPmaN++vaaGCChPFl+xYgX69eunyZNZvnw5AgMD0bt3b51jHhMTA39/f4Nj3qhRIyQmJlpUdrmef/55nWMXFxcHQRDw/PPPa5a5u7sjNjZW5xyW+5mIlMRmKSIzKoKHwsJCg9e++OILFBQUICsrSzRJU4xYE1JwcDCuXbsmq1wBAQEAgIKCAknrnzt3DvXq1TMIhu666y7N6wBw8uRJCIKAZs2aiW5HyaaE06dPY8CAAbLec+rUKQiCgClTpmDKlCmi62RnZyMiIkLzt/4xDw4OBgDZx7yC1GMJlDdNTZo0CRcvXkRERAS2bt2K7OxsDBw4ULPOyZMnkZeXh9DQUKOfR1ujRo0sKrcl9I9dYGAgACAyMtJgufbxlPuZiJTE4IbIjMDAQNStW1e011FFDo6cwfaM9YISZI7K0LRpU3h4eODQoUOy3meOWq2GSqXC+vXrRcsqVoNlT2q1GgAwYcIEo7UX2t3SAeWOuSUGDhyI5ORkLF++HK+88gqWLVuGwMBAPPDAA5p11Go1QkND8eOPP4puo06dOjp/6/eMsiVjx05sufbxlPuZiJTE4IZIgr59++Lrr79GWloaOnfu7OjiAAD8/Pxw7733YvPmzTh//rzBk7S+hg0b4o8//kBBQYFOjcOxY8c0rwNAkyZNIAgCGjVqhObNm9vuA9zZl9yu6o0bNwZQXoOUkJCgWFnkDGYn9VgC5bUsnTt3xtKlSzFmzBisXLkS/fv31+l63aRJE/zxxx/o2rWrXQMXW3LFz0RVB3NuiCR4/fXX4efnh+eeew5ZWVkGr9ujBkDMtGnTIAgCBg8eLNpstmfPHnz77bcAgD59+qCsrAzz5s3TWWfOnDlQqVR48MEHAQCPPvoo3N3dMX36dIPPJQgCrly5olj5BwwYgAMHDmDVqlUGrxk7pqGhoejZsye++OILXL582eD1nJwci8pSo0YNXL9+XdK6Uo9lhYEDB2Lnzp1YuHAhcnNzdZqkAOCJJ55AWVkZ3nnnHYN9lZaWSi6XM3HFz0RVB2tuiCRo1qwZfvrpJwwaNAgtWrTQjFAsCALOnj2Ln376CW5ubqhfv75dy9WlSxfMnz8fL730Elq2bKkzQvHWrVuxZs0avPvuuwCAfv36oVevXpg8eTLS09PRrl07bNy4Eb/++iteeeUVTZJzkyZN8O677yI5ORnp6eno378/atasibNnz2LVqlUYMWIEJkyYoEj5X3vtNaxYsQKPP/44nnvuOcTExODq1atYs2YNFixYgHbt2om+b/78+ejWrRuio6MxfPhwNG7cGFlZWdixYwcuXLiAAwcOyC5LTEwMPv/8c7z77rto2rQpQkNDce+994quK/VYVnjiiScwYcIETJgwQTM1hrYePXrgxRdfREpKCvbv34/7778fnp6eOHnyJJYvX46PP/4Yjz32mOzP5Eiu+Jmo6mBwQyTR//73Pxw6dAgfffQRNm7ciIULF0KlUqFhw4bo27cvRo4cafRmbEsvvvgiOnXqhI8++gjfffcdcnJy4O/vj44dO2LRokWaRGc3NzesWbMGU6dOxdKlS7Fo0SJERUVh1qxZePXVV3W2OXHiRDRv3hxz5szB9OnTAZQnkN5///14+OGHFSu7v78//v77b0ybNg2rVq3Ct99+i9DQUNx3330mA8VWrVph9+7dmD59OhYvXowrV64gNDQUHTp0wNSpUy0qy9SpU3Hu3Dl88MEHKCgoQI8ePYwGN3KOJQDUr18fXbp0wfbt2/HCCy+IJmUvWLAAMTEx+OKLLzBp0iR4eHggKioKzzzzDLp27WrRZ3I0V/xMVDVwbikiIiJyKcy5ISIiIpfC4IaIiIhcCoMbIiIicikMboiIiMilMLghIiIil8LghoiIiFxKtRvnRq1W49KlS6hZs6as4daJiIjIcQRBQEFBAerVqwc3N9N1M9UuuLl06ZLZOXiIiIjIOZ0/f97saPDVLripmOTu/PnzCAgIcHBpiIiISIr8/HxERkbqTFZrTLULbiqaogICAhjcEBERVTFSUkqYUExEREQuxeHBzfz58xEVFQUfHx/ExcUhLS3N5Ppz585FixYt4Ovri8jISIwfPx63bt2yU2mJiIjI2Tk0uFm6dCmSkpIwbdo07N27F+3atUNiYiKys7NF1//pp58wceJETJs2DUePHsU333yDpUuXYtKkSXYuORERETkrh84KHhcXh06dOmHevHkAyrtpR0ZGYuzYsZg4caLB+mPGjMHRo0eRmpqqWfbqq69i165d2LZtm6R95ufnIzAwEHl5ecy5ISIimxMEAaWlpSgrK3N0UZyep6cn3N3dRV+Tc/92WEJxSUkJ9uzZg+TkZM0yNzc3JCQkYMeOHaLv6dKlC3744QekpaWhc+fOOHPmDNatW4fBgwcb3U9xcTGKi4s1f+fn5yv3IYiIiEwoKSnB5cuXcePGDUcXpUpQqVSoX78+/P39rdqOw4Kb3NxclJWVISwsTGd5WFgYjh07Jvqep556Crm5uejWrZsmEh45cqTJZqmUlBRMnz5d0bITERGZo1arcfbsWbi7u6NevXrw8vLi4LEmCIKAnJwcXLhwAc2aNTNagyNFleoKvnXrVsyYMQOfffYZ4uLicOrUKYwbNw7vvPMOpkyZIvqe5ORkJCUlaf6u6CdPRERkSyUlJZp0Cz8/P0cXp0qoU6cO0tPTcfv27aoZ3ISEhMDd3R1ZWVk6y7OyshAeHi76nilTpmDw4MF44YUXAADR0dEoKirCiBEjMHnyZNHhmL29veHt7a38ByAiIpLA3FQBVEmpmi2HHXEvLy/ExMToJAer1WqkpqYiPj5e9D03btwwOEkqIjsH5kUTERGRE3Fos1RSUhKGDh2K2NhYdO7cGXPnzkVRURGGDRsGABgyZAgiIiKQkpICAOjXrx9mz56NDh06aJqlpkyZgn79+llVfUVERESuw6HBzcCBA5GTk4OpU6ciMzMT7du3x4YNGzRJxhkZGTo1NW+++SZUKhXefPNNXLx4EXXq1EG/fv3w3nvvOeojEBERVVsqlQqrVq1C//79Ja2/ePFivPLKK7h+/bpty+XIcW4cgePcEBGRPdy6dQtnz55Fo0aN4OPj4+jiyJaZmYmUlBSsXbsWFy5cQGBgIJo2bYpnnnkGQ4cOhZ+fHzIzMxEcHCw5t/XmzZsoKChAaGio6OumjlmVGOeGyN4OnL+OvRnXMDQ+Cm5u7I5JRGTMmTNn0LVrVwQFBWHGjBmIjo6Gt7c3Dh06hC+//BIRERF4+OGHjXYAMsbX1xe+vr42KnUlBjdUbfxv/nYAQK0aXvhf+wgHl4aIqiNBEHDztv1HKvb1dJfVE+mll16Ch4cHdu/ejRo1amiWN27cGP/73/80nXi0m6XS09PRqFEj/PLLL/j000+xa9cuNGvWDAsWLNB0FLJXsxSDG6p2TmQVOLoIRFRN3bxdhlZTf7f7fv97OxF+XtJu+VeuXMHGjRsxY8YMncBGm6lAafLkyfjwww/RrFkzTJ48GYMGDcKpU6fg4WG/kIOd76naUYFNUkRExpw6dQqCIKBFixY6y0NCQuDv7w9/f3+88cYbRt8/YcIE9O3bF82bN8f06dNx7tw5nDp1ytbF1sGaGyIiIjvx9XTHf28nOmS/1kpLS4NarcbTTz+tM2ejvrZt22r+v27dugCA7OxstGzZ0uoySMXghqodTu1CRI6iUqkkNw85StOmTaFSqXD8+HGd5Y0bNwYAswnBnp6emv+vaL5Sq9UKl9I0NktRtaBWV454cOHaTQeWhIjIudWuXRu9e/fGvHnzUFRU5OjiWITBDVUL2gHN+as3HFgSIiLn99lnn6G0tBSxsbFYunQpjh49iuPHj+OHH37AsWPHnH5WAOeuGyNSiId7ZVtUi/CaDiwJyXHx+k0M/GIHnu0ShRe6N3Z0cYiqjSZNmmDfvn2YMWMGkpOTceHCBXh7e6NVq1aYMGECXnrpJUcX0SSOUEzVwvmrN9D9gy0AgK+GxKJ3qzAHl4ikePnnfVhz4BIAIH1mXweXhkieqj5CsSMoNUIxm6WoWlBrxfBl6moVz9td3o3bGL90P7adzJW0/vmrN/Da8gO4cM2wubDUzkmI5JxOZRdiz7mrji4GVSEMbqha0A5objlgdNDqZOaGo1i17yKe+WaXpPW7f7AFy/dcQLf3txi8xjGJnM+/6VfRdeZm/PFflt32mTD7Twz4fAcuXmdnAJKGwU0VUFKqxrkrVTNj3Vmw5sZ+zl/lDciVDfkmDRev38QL3+22+77P5vA6SNIwuKkCHl/wD3rM2iq5mp90Zebdwrgl+zV/l9kwzUwQBLz04x68seKgzfbh7ARIO75qBplV0q1S1nyS82NwUwUcuJAHAFi2+7yDS1Ip48oNfPj7cVwpND5KpbN4bcUBHLmUr/nbljfVi9dvYt2hTCzdfd5lmr8uXb+J9YcuSz5u209dMbvO5mNZiH7rd6w9eNna4pGVrhaVIHnlIezLuCZpfTYUylfN+u1YRaljxeCGLPLo59sxb8spjF92wNFFMet0dqHO37asuXF3q7z0F5e6RjJsl5mbMerHvfhl7wUA5c16ci9A+k2Bzy3ejaKSMoz+aa/pN/JOanPv/vYffk7LwCOf/SNpfTkzSytNaq1ghbSzV/HoZ9txtajERiUyrWKk3hs3OLaWVCUl5d+VtePocJybKsSZYv/cwvIT8N+zzt+DQf9ibMuaG50EWGf6whTwz+krSGwTjrZvbURco1pY+mK86HphAd7Iyq+s0Xt/wzF8vvU0tkzoiUYh4jMMA4CbyD3TrYrMlfHXiRzk3byNfu3qOboosp3OlZfH4u6mcljemtznkie+2AEAiH13E86k2H8oAXd3dwQFBSE7OxsA4Ofn59Dg0Nmp1Wrk5OTAz8/P6hnEGdyQ3fzxXxZW7b+IGY9EI9DX0/wbFKLWuyLa68JsyxoiR1mxu7z2ZtfZq7hZUgZfL8Onq5o+njrBzedbTwMAen24VfZYNWIBjzMasjANANChQRDqB/s5uDTyyD3E3h5uKKlitZKOTO8KDw8HAE2AQ6a5ubmhQYMGVgeBDG6qEEEQoFYLcLPzFX/jkUyEBfigXWSQVdup6F0RVtMHU/u1UqBkuj7aeBy5hcWY8Ui0zg/DILix04VOf79Ky7t5G3vOXUX3ZnXg6W6fFuYfdp3T/H9uYTEia5m+kUdNXCu6vF6gDy7l3TK7P/cq9pSbW1hS5YIbueTWpt0oKcXp7CK0iQiw6IZV1fNVVCoV6tati9DQUNy+fdvRxXF6Xl5ecHOz/nrG4KYK+e3gZZzOKcJvY7vp5HbY0tncIoz4fg+AyhFi/zltXa+trALzNzUAKCwuxYHz13F349qSPu+nm08BAJ7r2gjNwiqnWNB/aivTGxguu+AWQmsqM3qodk6ArXsDtZu+EQDwaMcIzH6ivU33VaFleE2cUaA7ro+nYY2P2OGqClX42jffigeQnWevoHW9QLvWUNqL3K8k+q2NKFML+HRQB4ua7bTPi6oU5ny/Ix15N29jzL3NAJQ3UTn7fEympB7NwtJ/z2PmgLaoVcPL0cUxiwnFVczRy/l2nfgxO78yEKno/fPUV5WDs920oEeQ1Gvj01/vwtNf78LXf58xu652U9Oif9J1XtN/8ivTim0+23oKnd9LxRd/npZYKtO0L8TmmqUEQcArS/bhw9+PW7XPlXsvWvV+qQRBQNv6QZq/XzWSTC7l+5V6g6wKzVL6zZxLd5/HU1/twqOfbTf5vvlbTmHlnSRtR5IbrFy/Ia/2oeL4vP3bf/J2dId+8FgVXCsqwZRfj+DDjSeQccU1komf/3Y3Nv6XhffXH3N0USRhcOMgN0vKLM7g154E0tY8PSpPEaWaWaQ+jR84fx0AsGKP+RvAnycq27N/2pWh81qp3s1H+3N8sKE8sEhR6AerffE1V3Fz5FI+Vu+/hHlbTimyb1sToBu4pKWLJ5NLyTUyVhOnX9slt4YyPbdI8vAEStWspWkl1QsA1uwvnwvrtIkarqOX8zHr9+NIktDb8PDFPGw+ZpvRgP/4Lwv7Mq5LXr+wuNTifeUUWDZsRFWsuRn01U7N/5/KKbB4O0rW/gqCgHFL9uH1Fdb1cM3Wqnl35rGqGNw4SOy7m9DxnU24ZiLAOXD+OnrOMhyS3lGMJeKuP+T4sUpulhhPcLytl/xoy4Ri7fu6uR9+SZnlSZmOGl9IypGT0mxlLG+j3dsbseN05Tg5cmoV0s5eRc8PtyLm3T/MrnvoQh46vLMJ3+88Z3Zdc7Rzh5KW7seOM+bH+ZFT+/HQp9vw3OLdOKU3pIESHDHKsFy2zl2zhWOZlQFN8spDFm0j/9ZtdH1/Myatsuz9+jLzb+HX/ZewbPcF3CixPEiteDj9fuc5tH97Iw7dGYfN2TC4cYC0s1dRVFLenHPwovET44XvdiPdwVWaujdr8XVG/Wh8rJKCW7cNqpJtUe9kavyL22r9ZinbXSzVOjU3pvejfRzkPgFduGb/KQ5yC4tld8U1xljtXcGtUjz/7b+av6V+V6Vlak23X335t27j57QMnQeJ8cv2I+/mbUxZfVjS9n8/kolf94s3/2kPrin19yq1QqrgVmUQJHcKlgvXbuCZr3dh63HleunIbRa6fsN87XTGlRsmz3/tXR69nI+DF65L2vfxTMtrTJSk3XNQjuW7L+By3i2DmmhLlSrck2LK6sPIv1WK8cv2K7pdpTC4sbO0s1d1LsKmulQW3hKPrh31IGNqhuZLIhPa7U6/iui3NmLiL4d0Xpfbxm/tx72tV0Oy/vBlTP31MEqtqDkRU1KqxhWtG6i5G/P2U5WJ2XKfTi3tZr5y7wXslFCzIGb7qSuyB1EzxtTNveKlTf9lYdluaTkpwxb/a/S1N1cdRvLKQzpBk5xgUq0W8OL3ezBuyX6dKvkKF00EmoIgIHnlIXy2VbfpMV/rt20sANhyLBvRb23U2pbkIgMA3vjlILadysWzi4wfG7nkfvvvb6jMJ6tT09vg9e92pOOeWVsw5VfjQaZ+M/LD87Yj/5b5mq8956SNuOys9ANJtVrAkUt5BtczS8idkNbU78VZm6YY3NiZ/tOldhW8VGdlDrpliRslpXh43jbM3lR5cTJ1Q31rzRGDZR+nngRQnmD56508BEtIeVrU/7GO+Wkv/jqRc+f9uuueyCrEdzvOScrlkaP3nD/xqNYor+Z+8xlaieFyrw+WXFAOX8xD0rIDePLLnSbXKyouRb9Pt+HjP04avBbsp0wvCe3pMAz2f6dWc7iMJpO/Tcy7tuFIJgBgr1ZuiZxgUnvdApEHjvBA4z3tDlzIw89pGZrcrgrFWvMzGbvR6CfgvvTTXlk3bFM5LrfL1HjhW/lBj9wAS3sW777RdXEyq0Bn2dRfy68bP5qonRDbZa6E/J2qkIwux8LtZ9H3k22YrEAzldyHlH+N5NcBwG0TD72OxODGwRZuP2uw7PqNEry67IDRnkhDFqZZldgnxbJ/z+PghTydeYJMncNiF31t2sOwSLnmaNcumErMrKB/s/rt4GXNwGrG6FcXW5u0eU6vScLcDbRWjconWak325JSNYpLxZPRi8ycE1J72f2cloFDF/Mw548TBq/5e1s3eoQjert4exhe5uTUfJlb94VujYy+Ziy3QXukZpVb5bop645q5njSPydKStUY8Lm0KRLMWXvwMv44Kr+56nKevOZQ7d96bmExes/5C11nbpa1DbHfhpTYvqqMbi3VrDu9Ks3VZl4pLBY973RSDGT+DPU7ZWhz0tiGwY0zeuOXg5p5fIyxdUKpWEBRqlYbvTkpfR0xV7tQrDczsSVJh2npurVmP+1SdmJSc2Xq0qS25HWB8tqa+JRUdHr3D83YQxX+OZ2L1tN+x3trjXe3lXpBu22ibd7a5E5TF0l7knNB1v7ISp3mHlqDlAl3yvJJ6il88dcZzRxP1hzrwuJSnYejhz79GzdLKv8uMhJ0/WeiRg0AdqfLa+rRvi78pjdJ6p5z0qZuEUS+K7FjcywzH49+th3/3Gnutfdgp0rT/oiFxaWS5qq7fqMEMe/+gY7vbDLcnlZtjdyHjCsmOr6YSldwJAY3Tuj3I+ZrEGw9iJ9YLxK12ni1tFhwo500KreN15T/O3AJLd7cgOVaiZyWDCplOHu1sjdeczk32sdMyj2/sKQUV4pKdPI1KqSsK+/K/tXfhjWBlfswvZObJWUoKVUrHqhqUyKZ+/0Nx/DlX9LHJRL7OHIu7ubKrJ+wLoXud1/+/hNZugmw569aljSef+s22kz7Xef9hy/mY/ke88F7n0/+xqls3XKcyi7EoC93YsfpK/BSaCTs7adyMeBz8QRwfWLn7dCFafhuR7rOsucX78bejOt46uvycbi0i1rbwYPOrTt02WzNqj7t/C6pPa4OXywPTm/dNh1wyD1lX/55n9HXlE5UVgqDGyej3fPCFA8FhqfWlpV/y2weR5lgvKXWXPCiXbVvTRdoABh754f22oqDmmXWNpfYgvY1ubRMjT9P5Oj0ftFm7U3f2qfU22Vq9PxwC7rMTDWznnXltPZzns0twudbT2PGOunjEon1zJJTDHNBof6I19rSJEwsq/StQSxXCqgcwducMT/p3shG/bAHO85cwaCvdiLAV97vzNhZ+eedfDgpxI7P5bxbmPrrEZ0eUdo5RusPXdapnZPy+7hdpsZHG4+bzC+RQuw6+tKPezHie9M5ZIIgYMfpK5qgRvvzHJLYQ8xLqwlWP4DX/lNOcK/fBL5b7/gokeBsCwxubEwQBKzYcwGHL+aZDR6KikvxutYN2xQla27+PJGDuBmpGPnDHpPrlanVRi/02vePtLNX0evDrdh2svICpl3dnVtg2eCFpjhJa4cO7Rv5rN+PY+jCNAz8Qry5zdpcFA8J54PYHs5fvYEbJaXILihGVn4xcgtLcEOr+eJ0ju7YKhOW6w4AJrfcakHAySzzXXTzbooHgX9p3RSl7ltsW/ISiiv/XyxQKjbxlDzXSKAhVhZrxh65nHcTszedQHb+LaPb0b5ZmnoY0e/5mKk1SrmxucSOZxbgwjXDnC5jeS9Z+dKmYAFMf1faY/9oP0CN+nGvzvmuX4pdZ64YNMF9t+McPt18Co8vkFajZIyxHC3DmmJdf53MxaCvdiJuRvkDhnaNoNSJSj21BnjVb8bSLpWcn+1TX+les/Rrjh01Q7w5zve462K2ncrV3BCOv/uAyXUdFQF/9Vf59AYb/6tsDku4K9Qg4bDMRLOUtqEL0wySof+7rHUhsUmzh/U/MKVzXbUvyl/cOcbax0H7BmPt9cGSCSZPZhWg95y/EOTniSc7NdAqV6U+H/9tchtqAZAzYPbxzAI8JuHmod80UkE7afvWbTW2ncrF+sPyBpFMXnkI2TJGyzX3UPLhRsPEa3N0kzvL/9h5xvIag6EL03AiqxB/ncjBXXUDTK575FKeyYHhDAI4nSd+w/WzC24hce5fAIBdk+5DWEBl7zFjD2FyRis2Fdxo1yXr32S136f9kbLyb2HgnZy+J2Lr44PH2gEAzuQoM0iipTf7iqEhKordqHZl0rnUTWp/d/qHTXf0dOllPGZmvCBnyaPT5xQ1N/Pnz0dUVBR8fHwQFxeHtDTjvVx69uwJlUpl8K9v3752LLF0J7MqfzBKtk0qNd4IIJ4v4+tlGPdm5t+S9KMQa3ZSGfl/pTj693XkkuFgjOZ+9DqTbJo5rnvOXcML3xqv1tafCuF4ZgFe+PZfHDYxSOTaOyNLX79xGwu05tbSLom5JMZ5m0/hWKbpJFRtP0gcEdhY81fjOpUX/HZvb8Tw73aLzq1lqlbn5zR5g6KZ6y2Va0Fyv87vV4Fz98Sd68z+89ex6T/TOXt9P9lm8nX960GBmVyRs1qdD+JmpOrU/BgLboJl5MCYOvwmvxqt17Lyi5F3Z1Ro7QEwjfU82nYy1+Rvx5S1By0bsV3/uLeqVxmkmjoHjZ3r+tcUQec12cXT8b1evpMzcnhws3TpUiQlJWHatGnYu3cv2rVrh8TERGRni3dTXLlyJS5fvqz5d/jwYbi7u+Pxxx+3c8ml0f5xKxrham2quLQMGw5fxvHMAjyxYIekiSbNEbskTfxFWpOZn5fpmW+VjENu3S7DsEVp+FZvskylXLh2A1N/PYx0M2MLvf1/hr2UtKu3xbojq3W+Q9NBxIDP/5GUvwEAzy/+F09/vRN/HM3WGXdHn7GeMZ+kmm9KqTDnjxN4YO7f2H/+uqRBEdcdzpS0XWO1JRHBvpr/N1VVb+xeILcZ7fUVB9Bz1laL329s32LdcrUDN2uYCraM5eNok9uFWn+uuy1aIyIbC27EjuPHf5wUHdDQdM2Ncfo9wl74rmJcH/F3aS995ptdeOhT00GgMUsl5k3q0659vVZUohOkGqsNmr3pBO5OSUVm3i28vuIAhi2qrBjQP27avylrH46n/Go4rpmzcXiz1OzZszF8+HAMGzYMALBgwQKsXbsWCxcuxMSJEw3Wr1Wrls7fS5YsgZ+fn1MGNzdKSvHhxsrBuxSdBE3r/2euP4ZF29M1f6elX0VkLT8ktg43+v43VhzEjdtlqBvoIzoAmlgOx+U84zU32tWh2jkbYuW1RJlaEL1QLknLwJbjxpMTrR2F+PnFu3E8qwC/H8nErkkJmuXZBbcQ5OulSeC7KDJCM1B+EVepVKLBi/axnLf5JFIebav5+/qNEvxxNBsPtAmXnSydeqzy5mIqeVvJWLv//O3wcnfD2pe7mVxPau6A0QcBiWVWCwLcoDL4zW2VkcgKGD7ZV2xOEARcyruFeoE+GBrfEN/uMF8jJQiVT+c6yZ13PlRIDW9J83JZQ2zsIn1yQptzV4oMOjdoN7caC27Eaubm/HECRy7l4cshsTrLTdfcGH9Rf8DDf2V2YwfKR1AeEh9l9PVPUk/Cz8sdL3RvDKC8p5rUhxB9HlrduwZ+uUNTGwcYv45VPIi8/dsRrDuk++Cg/xPapT3Bq3O2JCnKoTU3JSUl2LNnDxISKm8abm5uSEhIwI4d0pK6vvnmGzz55JOoUUP8qae4uBj5+fk6/2xp15kreHP1IRQWl2Le5lM6g9uZezof/ZPxOZr0ad8kfhEZaVe/m6S24tIyLN19Hv934BK+/Eu8lsfY3D9SfhRiTxnWJszuMjJlgLnBA7eaCHykOH4n+VV7wL9T2YXo/F4qmr+53uz7y9SC0Vwq7WOiP4LziO/2YMLyAxZPuifFg22MB7+WKClTY6JC5Z0pMku7sbmdxFQc2Ut6g85ZeuPRbPfOdzZs8b/oOrN8UsPa/obTCogxNu+Yo5tU5dD/GR+8kGcQwAgQcP1GCSavOoT1RmrqjP0mxB60TNXcmHrNx1O8BtnocBYiy6YaqaG4XabG8cwCzN50Au+uPar5POvMNEmN/nGvzrmdU1CMkd/vwd8nc+CpdRy1AxvA/DmiH9gAhtdc7RpZYw9jJaVqvLXmiM1mobcnhwY3ubm5KCsrQ1hYmM7ysLAwZGaar75OS0vD4cOH8cILLxhdJyUlBYGBgZp/kZGRVpfblIFf7sQPOzMwe+MJg3Er7k4x3c3WXDa9tun/Z7pa0NLROfNu3Mb+89dxq1R8dGRz12FjvSCsvX5b2n1czgBTFWW8dbsMezOuGa1p+2bbWc3/X7x+ExN/OWh0IssyQTA6A7R20fTzsSpyaP7vgOXTVujT7wVjrvnQEkrN56OTgH7HnE0nJFen59+8jQPnr2Of1pQLgPX5XhWnREXQ/HPaeclPwRWrZRfc0qnddLa5eUxdOvSPvwDx2pn31h7Fj7syjNbUidXuArq/c0EQ8OqyA3j3t6PGy2PBoTM28rscfT/5W5NErV0ODzPjAK09dFknv+2tNUew4UgmBn+TZpA3p03sgXGumVo4/bcE+Hpq/n/C8gMQBAF/ncjRGXV69b6LWPxPOp5bvBuvLNlncvvaft1/0WkmKq3g8GYpa3zzzTeIjo5G586dja6TnJyMpKQkzd/5+fk2D3AA4GxuIdwVHotGm3ZPJrFaFmM1L4DpC0K7tzcafxHGn5Qq9mZskj7tnBVLbjCWXv5LZCRxV0xpMfrHvUg9lo03HmhpsE5xaZlOQqq5oeTL1ILoDXnVvgtYo1VbU1Kmxo+7zmHnmauY/UQ7zXIlB9TTfmKsaC6rStxUKsk3s8e/2IEzOUVoEVZT0TKInf9SAy5BKA9sOr9n+iHH0eTGWgadqwTglJmeR8Zq0LRv4ocu5pkdqd1RcaF+zco/p3MR6OspeT6rit/fBa0HDlPzo+knFH+SetLsMAMVNTeZebfw5Jc7dGasv3DtJrYez9FMOJs+s7xDzuW8yofT1fsvYe6THcx+luJSNcYt2a+zHWfg0OAmJCQE7u7uyMrSrQLLyspCeLjpKvOioiIsWbIEb7/9tsn1vL294e0trdpYSQIgaeZaW7ll5MkIsK691dx7j4o8cQOOuwi9L9K8YUxFQl9FzspXeonZJ7IKsPW4vPl4ytSCYRdVtYDxSw8YrDt5VfnMyD2a19Ess9X8ONr5H1WFu5v04KYid+W4Xu2pnM8cIzKEvXiTq7TtqQUBe0TyPiydZuFsbhEig33N1hbIdbtMjX9O5SI0wBtNQ3WDQ7Gi6o+ZI2UcIymk5GdZ0tyt/5YD56+jXWSQVbXLFQ917w+IlrS+WgDUpoZ8119f77ybvcl87lTFWxb8eVonsAEACMAOrab+uX+cwFNxDaDvlgK1XI7i0GYpLy8vxMTEIDW18klGrVYjNTUV8fHxJt+7fPlyFBcX45lnnrF1MS1yo6TM6vZ9a6SlX0VRcanoj9+aOWscMfFh+Y5lLdYw1rYsRv+46AcWc/84YbT5yZgytWDQ5GS+23fleWPJ+DVSqAWhyk0seDK70GgOh1RypgERm0/H2iYNsSBf9iSGZWr8dvASen24FS/ImDldqoJbpXjq611ImP2X2XW3ncwxCBi/3XHOoDlQroMXrhttztUm93J0MqvAoBbkf/O3o7i0DD+ZmJlcqsX/SBvq4PDFPLR4cz0OXJDW3VzORK8VTD1c61+D5v5xEiO+MxzEteWUDbL2mVtYjM+3nka2jEEabcXhXcGTkpLw1Vdf4dtvv8XRo0cxatQoFBUVaXpPDRkyBMnJyQbv++abb9C/f3/Url3b4DVnICew2XPumtn2U1OM3aNaT/sdScsO4ERWgU4CnzXhiT1iG7EASslxfYzvV/dv/R5j209dwXcSesVoG/7dbmw+plvbs+2U8epnoDyPo4KtWjYFODBQtYK5Zgpz9CdcrXDuShE+2HBMM2aPse7UYjdAqUdREMTPY833IDHu+mbbWU3vSGsT5sXU1+pur08/uF+2+wLun2M+CJJj+e7zeHjedkmBm6nrgn7OIwD0nvMXzl81HEn5lz3Sk9VNOZsrbSDAt3/7T1ZQa8lP1dTQHWKb23/+uvyd6Hnw47/x/oZjeN7EmFz24vCcm4EDByInJwdTp05FZmYm2rdvjw0bNmiSjDMyMuCmd4U/fvw4tm3bho0bTeeHVBUDPjc+Fom1Vu27iFX7LuL+VmGaLpbW1NxImX7BnLjGxgPSmeuPifaK+Tf9Gu5tGSbyDuXcvF2mkxukP36HsSkBTPk3/ZpBF1RjeUlibFlz42R5rHYhNrHooQt56DevfEyTz7aexukZfRD77h+i729Qy89wAkSpTQtGjrnc7+HX/ZdsOpda3UAfozWU45fut9l+K7wmcQoawPSxO2ikVkSsB5QlAzGKMTdhZQV7jOpbcd0Re4gpUwsmc3wsVTHy9CELB0BUksODGwAYM2YMxowZI/ra1q1bDZa1aNGiSj51OpL21ApW5dwYWZ6ZJ70aUr+XzvmrNzDmp714MLquTk8CbZ9vPY2IIF88FlNf8n7kOnQxDz0/3Kr5W+qFypasnRDTGEGomjU3tvDjLt3aOFN5Bs3DaqL1tN91lkk9ipfzbho55vK+B7Ug6PSsSVlvvDeRJUw13Vk76a3SklceQpcmtdGwtnUDIErJYVGSqclWFd+Xkd+5sfxIpTi604LDm6XIelJPnzK1gPlbThnM6ipVhwZBRmtuzM0/ok1/E5NWHcKBC3miY5toe3P1YYM2YFven5V6mrNGwa1Sg1l5LaF/Uy0uVeOIkRGKqxv9ANLUKbX9tOHTrtRzcNBXu0SnnyhTl4+dJHWAQ/2xnb740/oRyXVoHY57P9qq7LZt4M3Vh+22r/NXb2Dk96YnGJZCyal4zHFUDa2xMdTsxSlqbsg+Vuw5j1m/Hze/ohHNQ2uavPKbm9Omgn47uf4ss3LYIxfH0brMtL7rsP5ggO2mu0aTrhL0K8dM1Whpz0ItV05BseiEkUv/PY+F2w2by4yRkyRvCe3DYesRk5Xw98lcFNipZ+q4Jfuw18pkacC+M2nLeQC8JjL9haVS1h/Diz2aKLY9uVhz4wKkVv298Yt1o8cKMJ2n8aHEwEnJ2hZb1ty0MjO7sr0o0Ty25F/L5rupDvRbWkyd42IdBawNsMUCGzmTkSqtKj4ubD6WLXmMGWsoEdgAxkdotgU5g0QuttEcfY7A4KYKO5NTiKX/ZtjtKUBtpLdHBf0xRYxRMtfDmuRoc8RGya2Koiaudej+O0UFO3T/5ug3By2XOfGhLU7BAwr0XKlubHUZtMX11WDcGRtytjwpe2FwU4Xd+9GfeOOXQxb14rGEIChzAdmhN0+UNQ9cqUflDapH9tevXT1HF8Ek/dyqd9fKS9C1xT11usgs8/YiNmmus/vrhPI9fyokzP4TpWVqhybgPxFreUeKVfuU6eZe1TC4IckECIq0bW8/dUUz1YG1XKV2hRznT5kzheuzxdxQxuZesgdjM3k7M2vHPzLlbG4Rzl+7iZd+lD6xsdL8vJgeKxeDG5Ls4rWb+DT1lCLbysy76dDpKYiUcroKJN3KkZ1vvJegp3vVC3yUYu3o2Naork1L1mA4SJLtOnsVsQ2VyZ+QMrS70sICvJFl4sJNtpHYOlx04DRX8cdRab0EqwpTuXND4qPwzTbpPbtcxXYzo4rbmqVTQ7z8s/SZvV0Na25Ilut2yu+xhZ3J9zm6CNXO+wOiERbg4+hikEKqYpOVEuw5lo6S1hy45OgiOAxrbkgWe40nYQuOHC2zuvns6Y7Yc+4aHo+JdHRRSEGOHpiNSCrW3CioOgxnXw0+YpXRup5zjMMjpk90XUx5qJXNpo9wdu/2b+PoIliMzwDkChjcKKg63PizRUZYJccI9PV0dBHIiEYh1s11ZG+fDuqAQZ0bAKge1zFyfQxuFMRrAtlTdc1/qAqqWu1H50a17DLCL5G9MLhRkJLzclQF0x9u7egiVGtuVe0OWo1Ute/GTaWqcmUmMoXBjYI+ST3p6CLY1dAuUUh+sKWji1FtVaUn7TYRzpsfZAvOFCh4eZi/zHu4qarU+URkDoMbBRVYMbu1tg8GtFVkO/bgLeHCSbbhyGYpubt2ppu9PTjTx02bZH4IBDc3VbVN/ibXxDuTgpS6NDwYHa7Qlmxv9X7bjqPwbJcoRbbzy6h4RbbjTBwZMHi4ybt0VKdu+LENg52qFkTKsXdTVb8AlFwbgxsFrVRogrKaPlWnF4ytaw8eaKNMoBfi763IdpyJQ2tuZF45qtNt853+bapcMKdSsVmKXAuDmyqgU5QyUx7Ygq0viGor+qWGa42M6+Hueqe62JP2Z093tMu+3WXevKvYvd4qAb6eTlULIqUoKlSNmpv7W4U5ughURbjeFd8FxTSs5egiGGXrJ9Rjl43Pc2OOds2Ghws+lorlSAT52afWT+73burG2bFBkJWlcS7lgYKjS1FJSlFUKuduOny4XT3sndIbc59sL/u9Pp6Ouc01rlO1xjpyNQxuqgAnvuY41UVcn/YMxq4Y3IhO0GynwZbkzg4ttvaCZ2LQrn4gPnqivSJlchZuKhVUVawhTgXnb5aqVcPLouO6cGgnG5TGvM2v9nTIfqkcgxsnpX3z0G6ZeSqugQNKY5ytq7I9ZN5EtZVpHTi5CbBVgS17t8x+op3O3/rdiRvX8Ze1PbHz5IE24fh1TDc0CqkBPy93+YV0Um4q53ogkVIjo1I59yCkgua/8kvZOiJQ2cJI0DxM3u+DlOd6V3wX52yJsZeu37Tp9uUGJTMeidb8//mrlWVzwdhG9CnW0hvUPc3r6PwdXMNL5++6gZX5S7sm3Sd7HjVz99eqkO8hlaqKDoi3RkbPR3uPbxXXyPKmeUd8FQ1quV6TVKu6VWusKhe85FdtCXeZTphztqrj22W2fd6Tkwf8XNdGiGssfhF0xZobMZbmX3vpHeieesHOV0Ni0b1ZCFa+1AVhAT6ygyj9G8wzd+vWQNrytG5s53me3FTOE0y3qx8o+dhelPGgYu+eehXzXlkSNDrikunI/gu9TSRdT3molcXbrVPTuR6szXGSnyBV6NE8xOTrcnup2JqtL+LuMnYgQEATI80lcnNErBHqwIuAJdX2+vq3r2fQlNE8rCa+fz4OHRuU99yTG0Tp1zK9lthSfwVRresFIL5xbXk70/OhXhObrTnTVAYNaksL7JykuKIebldPE0z5eLojqXdzWe935kRpW3j7f+LT4tzbMhQ3SywfaNbZHqzNYXDjQGJD0retH2TyPc42iqitL+LazSHmmLrhumJXcDFKzOgsZRNyd6Mfo+qfNu2MnPe/je2GRcNMJ4SaCybt/YspTyh2HtK6gtu2xLMes3zUdf1aopfvayZpSonqytg1WRAEfLvjnOLbdVY8Qxyo913GB6gzdrFxxPllauyUYD8vo68poUuT2uhj4YjNDWr54dXezTH/KfuM/WJvYueCpbGN7Gk05Obc6J3P+kWfPbCd6GjUKpXKbBNI92Z1jL62fKT4yNSbxt9jcpvWULkBamfOzhVh6+uKm0plcWeIi9cMm8vkPONZM1aWM3hQbyDT2Iamxz0zdmgEADdLyiwuR1WrAWNw46S0n3S1mxrsHT0P6xqFPtF1jb4eY+aHZi2VSoXPno6RtK5YkuvY+5qhb1vj5a/K1CJ3UFPfx8v3NhVd3rhODUzqe5fm72gJvUta1ZOXXKh/2upfKENr+mBaP918gDfvlMlcU6yplztFiedgNZTYXGMJFZznhqqC8QelCffLa97R2a7M69D6w5mY8Ug03unfRva+sgtuGSyTeh1UqQBBLXuXTmPdy90NauvvNtNMa+q7sea81A8on+vayOJt2QODGwcSy4+o+NH2a1tP9D22aJV6tEOE0dcignxFlze5M0DVfXeFKl8gC+kfzYa1/RxSDnvFn6UiwY2/t4fR9ZPubyG6fPOrPRER5IsNr3THm33vwlAJ83kl97nL7DraLAnKK8phrilW+9XvnusssTyyiyOZm0pl0U2kVwvjNVAA8P3z0j6bPmN5WIPjozT/b+1D0wePtTXZg6qkrDzC0E9UB4DHY+qb3LZYpwWp5RUEwNsBg/iJBZRpk+7Di/c0lrUdsYeI2v6ma8tNndtlVlQp6g//4Owt/U5evKrFWCBgjNj1r/Wdk9lXa9yPGl6VN6x7Wyo//Pjsge1lv6fi6eDuRtYleypJ/3i2ccD4Fkr5crD52ipjlym552GFluEBeKF7Y3hKuGoF+HiaDKT0GdTciK6ju1TO03kFdzeVwZg5viJj6Ejp7bNx/D14qWcTzd9SJ3F1U6nMjk31WmILdGmi+9sxd98Ra35rHuaPwXc3NPoeU4cw0NcTK1/qgt/GdpPd+0l/FOYnYiPxYo8mRtfv1rT8s0bW0n3g+PjJ9pj1uOmEb7FeXHJiMR9P42MoJdjx4axOTW9ZDwVRRh7OapsZDsTU7+bJTpGS96/Nz8sdNX10f+/Olv+pj8GNnWlfIMWaUcROmOe6NUJco1p4q18r1A+27MZlKWMPoBWlNPY7UmLI8xAzTyj69J9QTf30pjzUCuvHdceZGX0sKJlpSiRnBvqan0bB2F7s1Q1Zzlg3+mWVcnOSeu3UPt5RIt2+W4TVNHyPhAI0D6uJ4d0bo0mdGkjq3RyhAdJ6walUuk/I+jcFwPI5kibr3Rw3ju+B/iZqXgHT6VEdGwTb5CFAP3Ab3t10jcXmV3vI2n7TUGUGyWsZbr+xWyrOuQ/NBHMVnutW3uyjf6b2NZEmAJhKKJbfnFwhLMDH4Dfr7AnGDG4UFCLSa0M/GfdVrXZuqbcGf28PLH0xHs92beSwLpsdjMz/Y+wmkfpqT6t6SADA2HubWfV+U7zcVbirboCkp48Vekmp5poPlCDl5mushsVe6R5izWLG6F8IpQSAUvM6VCog9dUe+GVUF0QE+Rp8fmsSIYNreCH11Z54+b5mkodh0G+W0p/6Y+P4e9BMJOCScjTDRHoPyvl4+oM12srTcbq1Sca+g4rDJHfE6zkKTdmhUpXXoiktzEQgLHWoCP1argrubioM6GiiKc/E+WBpq1R5TZ1+zar4up2igvFIhwgse1E8md9eHB7czJ8/H1FRUfDx8UFcXBzS0tJMrn/9+nWMHj0adevWhbe3N5o3b45169bZqbSm1RGpLnygtW6mu/YJYqpd3uhTuULRjX6wYmzCxeLSMtH9mqvGjgjyxeOxllWBVpDb3dPwpma4Trem5eMIPaj19DPSRHU6YBhEzB3YwehYEsb2awvGxu6xV3DzjInmEH2GCcXKlUOlAprU8dckU4vlmCgx9lD+rdtGX9OuiXFTAd4e7lp/G44ZJEasJkz/dyb2szN1KFXQDZrkjixtdLsq08GY1AlcxYbDkKKehU2v+lQAHjFT82WJpN7lAdPHFkz0+eMLcZjc5y7R/KQK2uf4rkn36bxmr+uPsXtR7RremDOwPTpbMaq0Ehwa3CxduhRJSUmYNm0a9u7di3bt2iExMRHZ2dmi65eUlKB3795IT0/HihUrcPz4cXz11VeIiFD+5LSM+WYm3eBGzpYM32+pSX1aGgRdxkbwXbHnwp396i6vVcO2XcAB0xdtsact/eMp1lPm++c749g7D+hMY3FXXfGbTQX9+a0C/TwxRCsZ0xak3ITCAnSf4r8eEgtAPGmwYoTX7s10B4nc8Ep3S4uINx5oiZfvk1a7ZttupOa3vWl8D4wzU9a29U03zxTeMj4AmnYehEqlwl11a+KpuAZI6t3cbK2Fsb8Bw55iljR5+mg9JJjqaaPf5GWJDx9vhxe6NTJolhLzQOtwNA01/dszRm66x6DORh60VCrFg4FHO0Qg8E5w18OCmrKuTUMw/J7Gkn8z+jlmRpulIP3BR8r3p++lnk3g5eGGCYmW98JTkvSMQBuYPXs2hg8fjmHDhgEAFixYgLVr12LhwoWYOHGiwfoLFy7E1atX8c8//8DTs/zkiYqKsmeRTZJy4mifd5b0qFAihyuuUW20rFsTuYXF6NWiPKHO2M20sLi85qZBrRr4N/2aZrklF4SIIF9ZQ7ybCuRG92qKmj4emPrrEYPXtk+8FyezCkQvLCqVyiDB0Nz34OnuhpmPRmPiykOir9cN9MH0h1tjxPd7yvdhcmvSSDkztGu2Pnu6IxLu1B6UiXyeipom7c++580Es8mJ5vY/PqEZPkk9qbO8cR3DvBf981bpmhttYl9noJ8nxvduju7NQhBgJJ9pVI8mGPXjXqPlM9WE2aRODXRoEIRAX09NbUvFPGdf/nVa9D3635NYjZP+uSlac2PiYKpUKni4u+Hv13tBLQioG+gLN5XKIMgFyns+vrfuqObvjg2CcDKrEAXFhkGdr6e76HF+zEzPJ23GmrqlkPuQN/3hNujQIBivrzios9wWIbf29xHk54XNr/YwmdRsERMXCFOfSewcC/DxQL5e4D7xwZZ46ce9uCAyxpCx/bz+QEsk9W7uNAOmOqwUJSUl2LNnDxISEioL4+aGhIQE7NixQ/Q9a9asQXx8PEaPHo2wsDC0adMGM2bMQFmZ8YGJiouLkZ+fr/PPVvRPm08GdTBYR7uJI6SG8RtLkJHB8ZR4Am4XGQRvD3dM7tsKXe400xibfTu3sBiAYROI1CfIZncS/7w93PDuIzLHuDCyiyUj7gYgNoBg+TcQEeSLni1CJR8rtZlxMGp4exht/wbKA4b7tWrC7DXYVf7NymYS7eYLsfFvKs477RuSNYFNBe3P+miHCEzr1wpLht9tuJ7BIH7KHSP9LU26UwMh1rspNqqWplno0Fv3a85PACjQusC3FUmyNXVDValUWDmqCxY9aziackWtmb60s1d1/pb7cCRFxeqRtfzQsHYNeHm4YVTPJpKTiI3tr7sCuTvWNJDJ7anj5eGGxNaGg4GqVOXNKJbSnyMNMAxAG9fx12lGkz8vm+FnNbUNUyMUixELRtrWDzI7l5RYzp+zBDaAA4Ob3NxclJWVISxMt9dAWFgYMjMzRd9z5swZrFixAmVlZVi3bh2mTJmCjz76CO+++67R/aSkpCAwMFDzLzLSujwQU/RPnodEstq1b0JPdo7Eq1rzpGg3lYy4pzES7grFbJnz4vyvvfj4OOZ8/kyMySQ4KfksYr4eGotHOkTg1zFd0atFKDpFBUsuk7FdVFSt6ydqWppOcPhSnsnXI4J8NU0WYrkbtohlpHyWRdvTK8ugtVys5qZCv3bl56SxbqbWCPD1xLCujRAaYD7p1ZY1N0O7RGHbG70MBgXUV9PHE29qTSR4pajE5Prm8sxUKpXojaimjyeahxkmzOpPLaL/tT1zdwODm5jY9k2WSsZx1t+Xt4e76P5+Hn63xcMNAJW/oXtbSuuGbSz3Tu4AomLnnAoqeHm44cDU+3Hwrftlbe+1xBaiqQVKXw9EBye9tyk83FSiA+mZ2r/YpcFYMKS/VP+9PVs4zxhnYhzaLCWXWq1GaGgovvzyS7i7uyMmJgYXL17ErFmzMG3aNNH3JCcnIykpSfN3fn6+zQIc/fPG2NPFgan3o7i0DDV9PDH2vmZ45u6G+HZHuk4GvL+3B74eanpOHSV1bBCMXZMSEDVxraT1A3yMJwxq52E0rF0Dc7TG0fHzMn3KPdslCov/SQdgvupZ/ynB0uCmfWSQ2XVq+nji8PREg9mzAcOLgL26YlcMjAbonnumBup6uF091A/2Fe2tYy3TNRt6fyu434dEBrysHywteNOeMbwied4Ya/LdxGqqavt74XJe5ei7+k0G97YMxU+7MvS2I7JtE8UyN5qtqW2rVOLbbhJafsykNjPrd9v+87VeyC0sNlkbaqpcFV7t3RxPfb1L0jaMbafi8wVKTIDWNrpXUySLNFWbO0/MTZ9gSkWTb+M6/jj6zgPwdHdDgYlEd2131Q0QrfExFrMbjiKu+2CnHewP724YZDmaw2puQkJC4O7ujqysLJ3lWVlZCA8Xn0uobt26aN68OdzdK9sv77rrLmRmZqKkRPypy9vbGwEBATr/bEXqzTXQz1Pn6Ta4hhdeSWgu+ceuRBmkEvshdmgQhCkPGX8qfspINTxg+kL8aIcIvPVwa9F1K3IE/kiqHA/DoObGwopuYzOJ6/P39tB5iqz4sd93V3ntY707T+L3yRxoUWzcCimfxdhF6QsTAwCqVCrENKxlMji1lKmKDVs21cm5gevT/r3oxIQi5bUm303s4+s3hxrUjkJl+MAk8Tiue7k7Ph3UAY+Z6jJsUEa9pkMV0LWJYW5ORRkWDeuEe1uGYs2YrpL3AZQPqih2rXv9AfEu2cY+shLNO9bUQAHitSrmzvUa3h461zE5tMe/MjYUhLF54l5JaIbE1uXXpnZayfNSB3DUH09J+2O+amT0c0dyWHDj5eWFmJgYpKamapap1WqkpqYiPl68f3zXrl1x6tQpqLWuCidOnEDdunXh5WX73jvmOMNsMnk3b1v1ZKBvdC/D+YhWvdQV4SLjbbzTvw3SJt0n+loFUz8j/WHStS/k3w7rjENv3a/zFKj/o7Q0sGsTEYjJfe5C3+i6Ri+wYtaM6Yb3B0Qj6U7T4qrRXfH+gGhMNDIM/ZB48a7TnwzqgL9f76UzB1ZTrYBL7rg6XZqEYN5Tlfle3wyNlfV+S5m6phuMc6NQsONrZaKmdhCpnasUJJJ0rH++aXdjtqSLtX6ysP72VSppzcHav7efh9+N75/vjFb1AtCvXT2rR5Gd8Ui0Qc/Eii02D6uJhc92QlsjM7rrr2+O/sNK5fvFl8vtkKG9+Ul9WmJUzyYmB0D87OmOZqeGCBHJW5Nyapu6RlrDz0u8KbH8NQ+E1vTBkemJWPlSZUAqNWDWPj/1g0JnHM/Podk/SUlJ+Oqrr/Dtt9/i6NGjGDVqFIqKijS9p4YMGYLk5GTN+qNGjcLVq1cxbtw4nDhxAmvXrsWMGTMwevRoR30EHUqNIWENdzeVIjVAFeRcHNvVDxTNt5BK/0lWe99ubirU1Ktt0P9RWnP0h9/TGPOf7ihpZOAK4YE+GNipgaYnRFiA7t/6jM2KLPadhQb4YP247vj79V6YO7CD6EVW+yKm/y1pdyGuqFmyNZPNUmb+tpTU8VSM0f/JLngmBp2igvGeSPK7dsLxjEei8bNI4rQxYjecqXq1n4Z5SSL5NSIHLrSmD5aOuBu/je2G+Ca1Tc6SbrKMIssC/TwNHnDkNs9JTTLVDmLCta4jxnann7MkZ/s9mofijQdamqy16BNd1+jUEFsm9AQAjOxpOEaWlEumv7cHfhll+BDfr51lOZMVoiRMCFvD20Pncxs7BuY+hvb34oyjFTs0uBk4cCA+/PBDTJ06Fe3bt8f+/fuxYcMGTZJxRkYGLl++rFk/MjISv//+O/7991+0bdsWL7/8MsaNGyfabby6EgQBk/vehXtbhkqan8gcKafs+nHd8cXgGLNPcIDpJ3b9phhzFwn915WILW0Zn/p6umuqhaUMH39X3QBE1vJDoJ8nZj3eDh881hYPtqlsshUbNLKCLXJqzDH13SrdFfzb5zqjTUQAvrayVkr7CdrLww0PtAnH8pFdRHN2fjtYeS2Kb1LbINg2Rezjdmkagv/eTtT8bTiKs6GjlwtEtx/XuLbV0yhI/U6krjfrsbaoF+gju1MEAPw4PK5yf0bWaRpaEx9JnMoA0C23tedfozu5Wv7eHtg/tbfOa1Jv9DENayGylm4NiFgzmZxaTkuGF7HkWOg/yDtjcOPwhOIxY8ZgzJgxoq9t3brVYFl8fDx27txp41JZxgkqbqAWyqtKF4p0SbWVu+oG4K661ucy6R+/hrVMP4Xo/+gtzbnR3YYy6gX64JJWsihQPnHe/Kc64sK1m/i/A5fw0aYTOq8HiMxBpO2J2EjcLCnD+sPlvQm7NK2NlXsviq7bNNQfPw+/22x3TimkzhNm6vpmmM9h3cWwR/M6Fg2Qpk+7lk1OC45hsGauJ5X4cu0Ee/1txIr0LLRmVmdzpHbPl/rdPR4bafEo5dp5cKb2NyCmPl5dfsDo6288UNlEbKv7r/6wHXJu9AuHdkLvOX9ZtX/t42PJPciSwyJA93xxvtDGCaZfcCUVN9fuzULwy6guDiqDdaxNsDPH1I+gouzLR8ZjzsB2iDYzYqz+Deb5btZn7CvVtPjj8LvxRKxuU5Kflwc83N1EJ3cEypPyYhsGWz0nV4X4JrUVmWBQSm8ywExCsdWlcAaV54aUWhad1yUcAP1VxHoWaq8jp9ZCCsMebZULtPNh7P2Qbm53pman1262dMabsVielVw1tEYoljq5q+4+xXf6Tv/Kptk3H9Idvbq85lI7MJe9W5tjcKOgivviYzH1dcZgsLYdVV4ZrLs5b32tpzIFMcLUj6CiSrVTVC080sF8Lw/tH+XeKb3Rup511fKAcrVvjUJq4IPHjN98xHYT4u+NFaO6mHzaNfb9KplnJVdFQPxgG+OzFft4KTxCqw2Yr5GofL2G3g3V3FulnFdyc397SRwnRgkRwZUPPbZqgjC6WTO7+3dygtGZsrWPqZLNUrYiVqznukaZfo/Ih5E7BpD2w3jFw9VddQNwekYfHJ6eiHv1eoAG+nqiXpAvpvVrhVmPtbXbwKVyOLxZypXszSifnkD/i24bEYj/O3DJLmWw9uas371Q7o/EGnLLrn3hquGtzM3TkjZrR/plVDwuXb+lSLOgMca6nFb4I6kHcgqK0cDEwICvJDTD7vSruHbjtqZ3WVVTP9hXM2K3/txq5i7tUpqTpAQN2pux9e1Eu5lXe19KTAEjh7naZF8vd4T4m+8tq3t8pX+ITePvwe5z1+Dj6YbxS8WbwAJ9PZF3Z8Twn9IydIa0kEPsHOjQQPo1uOL6tezFeDSZJG1CaXc3ldHrvLubSrRmrCJxeZjIIILOgjU3Crp1u7y7T3pukc7yJztHommov9nZp5WgRN5JhbUvdzN4QrWlUpn5BNpBpFJPkzZMadBh6Q1Cv3gxDWvZvGZQf2I+fb5e7iYDG6C8R8/G8T3w7+QEo9MRmPL+gGjZ71HaMBNP0OaeXKUEn1LGGxFMNI1Zq6Zezpd2nK+9LyWnztCmfxNdMTIevVrUwefPmO8YIeVnq11qOQ9DzcJqYlDnBiaPd8qjlednSamZ+Vy01A/20/nerQ0cK74zqWPXAIZd8ENM5OktHxmPMb2a4kljE5E6Edbc2MAlvVE7a/p4Wjxokzkv39sUPVuG4tHP/gFgvPajeZg/rhaVIPlB8zP/rnqpC7LyixVp5jFk/EdX0ZNIKu3fpP7syZbSn0PLWl7ubjojCVcYfHcUfk47jz7R4gNWGqP9/da0ceD5xgMtsWj7WUzuY3oaA3sY2KkBLl67iU82n3JYGbw9jN8QxZJ/tU19qBUCfT1FJ5ac1Kclvv77LCb3vQsb/8sSeXclncBC4RgjyM8LHz/ZHuOW7Dfcrx2adB7tWB9/HM1Gt6blgzLGRtXComGdFdu+m5sKMx+NRlFJGeoGKptbWLuGZeOseXm44cj0RLScsqF8gZUHt6GEruAV2tUPxIELeZpz8ovBMThyMQ89TSTqd4qqhU5Rtawqo70wuKni/Lw90FGr2tJYs0qHyGDMHBAtqW1UrBpUqQuase0sHXE3OjeS96PReZpUqHwDOtbHz2nncfSyMhOsDo5viG+2nTVYHujniW1v9LKqrfqVBNs274zq2QQjezR2mvZ0W9WqDb67ITYcyTQ5srYxuybdh8t5t8w+CATX8DLaVDHiniYY3l3+cbbF1/K/9hGiwU2L8Jo4nVNks/0C5Td6a7v2m/OkBd9xBVMt1tb8Riztsadtxch4rNx3Uad3mDk/Dr8bBy9cR1yj8mAysXW46OSiVRWbpaq4WnrdEI39AMvniXH8TUq7BIue7YSwAG/88Hwc4hrXll0+7QH3lPpsNbw9sH5cd9EZpS3xxJ3k4HDRySTll1n76w228GlRDkedM8kiozzbKh/qnf5tsCv5PouOZ1iAj+TeZKZIPc72/Dq0D/fYeyvni7NVs5Q1jJ0aSp4y990VikBfT9EJPxV7+LPw2MZG1cKMR6J1ronmrmH+3h7o0iREVhNWVcKaGxuw5wVIP9I29lt2hsBGX6+Wodg1KcHi90eF1MAbD7RErRrKz5NkbCZiuVqE18Tfr/cSHaadjGsk0l3elulQ1k5TYC+OyncP0wrOnfFQaeciPdyuHtbc6cCh5OGq6eOJPW8miAYDtj4kI3s0wYI/T2NSH/NpBRXeeri1ZhLi6ojBjU3Y79fvrpcjYqyrsMQR0G1O6WvzKJHhz5UwskcT/PFfFh4xMfeMVEp203aGKT7sQSwYryYf3aRmYVqD29l4X9oBQ60aXljwTEd4e7hLnk7BUVIejdYEN8YmkbSUsc+u1LOjsUM78cGWeCWhmdGpXciQc5+lZJb+Q4R+XkLFbNqW9FCxBbW9uiNZqVYNL2ye0BNj72tmfmU7eqRDBLzc3XB/K/vMF+UoYSKDkQ2Jbwg3Vfns8dVVhwZBDtv3A23q2nVsHTm0A1/tHp7mhjFQjjLRjakadgY28rDmpoqrSKqd+lArfLL5pMGEf98O64y8m7etzs8Y2CkSS/49b/W4N1VtHBlnU9vfG4enJyreq8tZfDM0Fuev3hCdp6xekC+OvfOgy352Z1OVfqrGhqyw5fhP2pSquVG6e//jMfWxfM8FRbdZVTC4qeIqfgvPdWuEZ7tEGeQOuLmpFEk87dAgGLsm3Wdxl0dSjlL5QM7I3Azmjvzs9zQPQYi/l42GSJCmKgUc9vRSzyb4N/2qplbv79d7IbugWJHpR6SwNiRRqcq/225NQxQpj/Z2qysGNzZgzxNKO7ve1kmRYSI9foiqCz8vD+xMvs+uvUsa1vbDuSs3RHtk2bqTQFWKo4L8vLDqpa6avyNr+dl1ShJrv4vdkxNwOe+W1TO767vvrjAs233B7KS8rsh1HwEdyNZPV1MeqhxUzRl7LhC5Kg93N7v2PPzxhTi81LMJvhhcPkqv9rQPPjaqxRp8d0MAqLLTZFgj+k5wESdzzC1r1fb3VjywAYD7W4VhyYi7sfW1Xopv29lVv3DOLmwb3TzfrRE83FTw9XL+ngv6gvzYrEVkzOheTTB/y2kM714+Z0/9YD+8rjUwm4+nO/5+vRfc3FQ2++2//b/WeOPBliZn23ZVXw+NxYo9F/BkJ3nTCzhrLqFKpcLdjWs7uhgOUf3OXhcxVKFB5uwtuU9LXM67iafjGjq6KEROZ8L9LfBIhwg0DjGeK2Lr5haVSnyyxOogLMAHo3s1lf2+6jJEQ1VSPc9gcpjQmj5YMiLe0cUgckoqlQpNQ2s6uhgkE2Mb51O12jSIiIicTBUZvqtaYXBjA4ziiYiqDzZLOR8GNzbA85yIqPpgzY3zYXCjEEbuRETVk1ClRgWqHhjcKEQ7tqnOo0ISEVU7Wtf/kT1sM5kvycPgxgZeuDNGBRERuT7tehuxSV/J/hjcKET75K5Vgyc3EVF1oV1zf19L0/OjkX0wuFGIds4NW6WIiKoP7ZybBrXtN6cVGcfgRiHaNTfMuSEiqj7YW8r5MLixARXrboiIqg32lnU+DG4UwnObiKh64uXf+TC4UYjOOAesuCEiqjZa1w1wdBFIDyfOVAjHuSEiqp5CA3zw12u94O/DW6qz4DdhA4xtiIiqF/aSci6ym6UyMjJEk6cEQUBGRoYihSIiIiKylOzgplGjRsjJyTFYfvXqVTRqZNnIvPPnz0dUVBR8fHwQFxeHtLQ0o+suXrwYKpVK55+Pj49F+1WSbrMU626IiIgcRXZwIwiC6M27sLDQoiBj6dKlSEpKwrRp07B37160a9cOiYmJyM7ONvqegIAAXL58WfPv3LlzsverNO2EYoY2REREjiM55yYpKQlAea3ElClT4OdX2b5YVlaGXbt2oX379rILMHv2bAwfPhzDhg0DACxYsABr167FwoULMXHiRNH3qFQqhIeHy96XvbDihoiIyHEkBzf79u0DUF5zc+jQIXh5eWle8/LyQrt27TBhwgRZOy8pKcGePXuQnJysWebm5oaEhATs2LHD6PsKCwvRsGFDqNVqdOzYETNmzEDr1q1F1y0uLkZxcbHm7/z8fFllJCIioqpFcnCzZcsWAMCwYcPw8ccfIyDA+n79ubm5KCsrQ1iY7kRjYWFhOHbsmOh7WrRogYULF6Jt27bIy8vDhx9+iC5duuDIkSOoX7++wfopKSmYPn261WUlIiKiqkF2zs2iRYsUCWwsFR8fjyFDhqB9+/bo0aMHVq5ciTp16uCLL74QXT85ORl5eXmaf+fPn7dziYmIiMieZI9zU1RUhJkzZyI1NRXZ2dlQq9U6r585c0bytkJCQuDu7o6srCyd5VlZWZJzajw9PdGhQwecOnVK9HVvb294e3tLLpOlOP0CERGRc5Ad3Lzwwgv4888/MXjwYNStW9eqbs9eXl6IiYlBamoq+vfvDwBQq9VITU3FmDFjJG2jrKwMhw4dQp8+fSwuh9I4cSYREZHjyA5u1q9fj7Vr16Jr166KFCApKQlDhw5FbGwsOnfujLlz56KoqEjTe2rIkCGIiIhASkoKAODtt9/G3XffjaZNm+L69euYNWsWzp07hxdeeEGR8hAREVHVJju4CQ4ORq1atRQrwMCBA5GTk4OpU6ciMzMT7du3x4YNGzRJxhkZGXBzq0wNunbtGoYPH47MzEwEBwcjJiYG//zzD1q1aqVYmYiIiKjqUglicymY8MMPP+DXX3/Ft99+qzPWTVWRn5+PwMBA5OXlKZoYXVRcitbTfgcAHH37Afh6uSu2bSIioupOzv1bds3NRx99hNOnTyMsLAxRUVHw9PTUeX3v3r1yN+kSmE9MRETkHGQHNxWJv2QcRygmIiJyHNnBzbRp02xRDiIiIiJFyB7EDwCuX7+Or7/+GsnJybh69SqA8uaoixcvKlo4IiIiIrlk19wcPHgQCQkJCAwMRHp6OoYPH45atWph5cqVyMjIwHfffWeLchIRERFJIrvmJikpCc8++yxOnjwJHx8fzfI+ffrgr7/+UrRwVYnMTmdERERkI7KDm3///RcvvviiwfKIiAhkZmYqUigiIiIiS8kObry9vZGfn2+w/MSJE6hTp44ihSIiIiKylOzg5uGHH8bbb7+N27dvAwBUKhUyMjLwxhtvYMCAAYoXkIiIiEgO2cHNRx99hMLCQoSGhuLmzZvo0aMHmjZtipo1a+K9996zRRmrBGbcEBEROQfZvaUCAwOxadMmbNu2DQcPHkRhYSE6duyIhIQEW5SvSuIgfkRERI4jO7ip0K1bN3Tr1k3JshARERFZTVJw88knn2DEiBHw8fHBJ598YnLdl19+WZGCEREREVlCUnAzZ84cPP300/Dx8cGcOXOMrqdSqRjcEBERkUNJCm7Onj0r+v9UiWP4EREROQeL5pYi01RgRjEREZGjyA5uBgwYgPfff99g+QcffIDHH39ckUIRERERWUp2cPPXX3+hT58+BssffPDBaj23FBERETkH2cFNYWEhvLy8DJZ7enqKTstAREREZE+yg5vo6GgsXbrUYPmSJUvQqlUrRQpVJWklFHMQPyIiIseRPYjflClT8Oijj+L06dO49957AQCpqan4+eefsXz5csULSERERCSH7OCmX79+WL16NWbMmIEVK1bA19cXbdu2xR9//IEePXrYooxEREREklk0/ULfvn3Rt29fpctCREREZDWOc0NEREQuRVLNTa1atXDixAmEhIQgODgYKhMZs1evXlWscFWJoJVRzHxiIiIix5E8t1TNmjUBAHPnzrVleYiIiIisIim4OXDgAB577DF4e3ujUaNG6NKlCzw8LErXISIiIrIpSTk3n376KQoLCwEAvXr1qrZNT0REROT8JFW/REVF4ZNPPsH9998PQRCwY8cOBAcHi657zz33KFrAqoKzghMRETkHScHNrFmzMHLkSKSkpEClUuGRRx4RXU+lUqGsrEzRAlZFphKuiYiIyLYkBTf9+/dH//79UVhYiICAABw/fhyhoaG2LhsRERGRbJJybpKSklBUVAR/f39s2bIFjRo1QmBgoOg/IiIiIkeSnVB87733Kp5QPH/+fERFRcHHxwdxcXFIS0uT9L4lS5ZApVKhf//+ipaHiIiIqi6HJxQvXboUSUlJWLBgAeLi4jB37lwkJiaabfpKT0/HhAkT0L17d1n7sxXtfGJm3BARETmOShDM9/NZvXo1Ro4ciezsbKhUKhh7iyUJxXFxcejUqRPmzZsHAFCr1YiMjMTYsWMxceJE0feUlZXhnnvuwXPPPYe///4b169fx+rVqyXtLz8/H4GBgcjLy0NAQICssppytagEHd/ZBAA4M6MP3NwY4hARESlFzv1bUrNU//79kZmZifz8fAiCgOPHj+PatWsG/+Q2V5WUlGDPnj1ISEioLJCbGxISErBjxw6j73v77bcRGhqK559/3uw+iouLkZ+fr/OPiIiIXJesYYa1E4qVGKE4NzcXZWVlCAsL01keFhaGY8eOib5n27Zt+Oabb7B//35J+0hJScH06dOtLSoRERFVEbJnBe/RowfOnTuHN998E4MGDUJ2djYAYP369Thy5IjiBdRWUFCAwYMH46uvvkJISIik9yQnJyMvL0/z7/z58zYtIxERETmW7ODmzz//RHR0NHbt2oWVK1dqelEdOHAA06ZNk7WtkJAQuLu7IysrS2d5VlYWwsPDDdY/ffo00tPT0a9fP3h4eMDDwwPfffcd1qxZAw8PD5w+fdrgPd7e3ggICND5ZwvaeUgcw4+IiMhxZAc3EydOxLvvvotNmzbBy8tLs/zee+/Fzp07ZW3Ly8sLMTExSE1N1SxTq9VITU1FfHy8wfotW7bEoUOHsH//fs2/hx9+GL169cL+/fsRGRkp9+MQERGRi5GdOHPo0CH89NNPBstDQ0ORm5sruwBJSUkYOnQoYmNj0blzZ8ydOxdFRUUYNmwYAGDIkCGIiIhASkoKfHx80KZNG533BwUFAYDBciIiIqqeZAc3QUFBuHz5Mho1aqSzfN++fYiIiJBdgIEDByInJwdTp05FZmYm2rdvjw0bNmiSjDMyMuDmJruCiYiIiKop2cHNk08+iTfeeAPLly+HSqWCWq3G9u3bMWHCBAwZMsSiQowZMwZjxowRfW3r1q0m37t48WKL9mlLnDiTiIjIcWRXicyYMQMtW7ZEZGQkCgsL0apVK9xzzz3o0qUL3nzzTVuUsUowOxIiERER2YXsmhsvLy989dVXmDJlCg4fPozCwkJ06NABzZo1s0X5iIiIiGSxeCS+Bg0aaHonsRmGiIiInIVFmbrfffcdoqOj4evrC19fX7Rt2xbff/+90mUjIiIikk12zc3s2bMxZcoUjBkzBl27dgVQPiXCyJEjkZubi/HjxyteyKrA/PSjREREZA+yg5tPP/0Un3/+uU7PqIcffhitW7fGW2+9VW2DGyIiInIOspulLl++jC5duhgs79KlCy5fvqxIoYiIiIgsJTu4adq0KZYtW2awfOnSpewxRURERA4nu1lq+vTpGDhwIP766y9Nzs327duRmpoqGvQQERER2ZPsmpsBAwZg165dCAkJwerVq7F69WqEhIQgLS0NjzzyiC3KWCUId4bxY694IiIix7JonJuYmBj88MMPSpeFiIiIyGqSa24uXbqECRMmID8/3+C1vLw8vPbaa8jKylK0cERERERySQ5uZs+ejfz8fAQEBBi8FhgYiIKCAsyePVvRwhERERHJJTm42bBhg8lZv4cMGYLffvtNkUJVZUy5ISIicizJwc3Zs2fRoEEDo6/Xr18f6enpSpSpauIIxURERE5BcnDj6+trMnhJT0+Hr6+vEmUiIiIispjk4CYuLs7k5JjfffcdOnfurEihiIiIiCwluSv4hAkT0Lt3bwQGBuK1115DWFgYACArKwsffPABFi9ejI0bN9qsoERERERSSA5uevXqhfnz52PcuHGYM2cOAgICoFKpkJeXB09PT3z66ae49957bVnWKkHFUfyIiIgcStYgfi+++CIeeughLFu2DKdOnYIgCGjevDkee+wx1K9f31ZlrBKYT0xEROQcZI9QHBERgfHjx9uiLERERERWkz23FBEREZEzY3BDRERELoXBjUKEO0k3TCcmIiJyLAY3RERE5FIY3BAREZFLkdRbqlatWjhx4gRCQkIQHBxsciyXq1evKlY4IiIiIrkkBTdz5sxBzZo1AQBz5861ZXmqPI7hR0RE5FiSgpuhQ4eK/j9VEjiMHxERkVOQPYgfAKjVapw6dQrZ2dlQq9U6r91zzz2KFIyIiIjIErKDm507d+Kpp57CuXPnIAi6tRUqlQplZWWKFY6IiIhILtnBzciRIxEbG4u1a9eibt26nCiSiIiInIrs4ObkyZNYsWIFmjZtaovyVHkqDuNHRETkULLHuYmLi8OpU6cULcT8+fMRFRUFHx8fxMXFIS0tzei6K1euRGxsLIKCglCjRg20b98e33//vaLlsYTAfGIiIiKnILvmZuzYsXj11VeRmZmJ6OhoeHp66rzetm1bWdtbunQpkpKSsGDB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D39/f4d9DiIiInIODg9uBg4ciJycHEydOhWZmZlo3749NmzYoEkyzsjIgJtbZQXT559/jpKSEjz22GM625k2bRreeustexZdB8fwIyIicg4OD24AYMyYMRgzZozoa1u3btX5Oz093fYFIiIioirL4SMUExERESmJwY3CmE9MRETkWAxuiIiIyKUwuFEMM4qJiIicAYMbIiIicikMboiIiMilMLhRGPOJiYiIHIvBDREREbkUBjcK4QjFREREzoHBDREREbkUBjcK46zgREREjsXghoiIiFwKgxuFMOWGiIjIOTC4ISIiIpfC4IaIiIhcCoMbhTGdmIiIyLEY3BAREZFLYXCjEA7iR0RE5BwY3BAREZFLYXBDRERELoXBjcI4QDEREZFjMbghIiIil8LgRiECxygmIiJyCgxuiIiIyKUwuFEck26IiIgcicENERERuRQGN0RERORSGNwohCMUExEROQcGN0RERORSGNwojIP4ERERORaDGyIiInIpDG4UwpwbIiIi5+Dw4Gb+/PmIioqCj48P4uLikJaWZnTdI0eOYMCAAYiKioJKpcLcuXPtV1AiIiKqEhwa3CxduhRJSUmYNm0a9u7di3bt2iExMRHZ2dmi69+4cQONGzfGzJkzER4ebufSSsOUGyIiIsdyaHAze/ZsDB8+HMOGDUOrVq2wYMEC+Pn5YeHChaLrd+rUCbNmzcKTTz4Jb29vSfsoLi5Gfn6+zj8iIiJyXQ4LbkpKSrBnzx4kJCRUFsbNDQkJCdixY4di+0lJSUFgYKDmX2RkpGLbJiIiIufjsOAmNzcXZWVlCAsL01keFhaGzMxMxfaTnJyMvLw8zb/z588rtm1tnBWciIjIOXg4ugC25u3tLbkJi4iIiKo+h9XchISEwN3dHVlZWTrLs7KynDZZWAoO4kdERORYDgtuvLy8EBMTg9TUVM0ytVqN1NRUxMfHO6pYREREVMU5tFkqKSkJQ4cORWxsLDp37oy5c+eiqKgIw4YNAwAMGTIEERERSElJAVCehPzff/9p/v/ixYvYv38//P390bRpU4d9DiIiInIeDg1uBg4ciJycHEydOhWZmZlo3749NmzYoEkyzsjIgJtbZeXSpUuX0KFDB83fH374IT788EP06NEDW7dutXfxdXCEYiIiIufg8ITiMWPGYMyYMaKv6QcsUVFREBhFEBERkQkOn37B1ag4RjEREZFDMbghIiIil8LghoiIiFwKgxsiIiJyKQxuFMZB/IiIiByLwQ0RERG5FAY3RERE5FIY3CiEw+8QERE5BwY3RERE5FIY3CiM+cRERESOxeCGiIiIXAqDGyIiInIpDG4UIoAZxURERM6AwQ0RERG5FAY3ClNxiGIiIiKHYnBDRERELoXBDREREbkUBjcK4QjFREREzoHBDREREbkUBjdERETkUhjcEBERkUthcENEREQuhcGNQphPTERE5BwY3CiMY/gRERE5FoMbIiIicikMboiIiMilMLghIiIil8LgRiEChygmIiJyCgxuFMaEYiIiIsdicENEREQuhcENERERuRQGNwphxg0REZFzcIrgZv78+YiKioKPjw/i4uKQlpZmcv3ly5ejZcuW8PHxQXR0NNatW2enkpqnApNuiIiIHMnhwc3SpUuRlJSEadOmYe/evWjXrh0SExORnZ0tuv4///yDQYMG4fnnn8e+ffvQv39/9O/fH4cPH7ZzyYmIiMgZqQQH92GOi4tDp06dMG/ePACAWq1GZGQkxo4di4kTJxqsP3DgQBQVFeG3337TLLv77rvRvn17LFiwwGD94uJiFBcXa/7Oz89HZGQk8vLyEBAQoNjn2JtxDY9+9g8a1PLDX6/3Umy7REREVH7/DgwMlHT/dmjNTUlJCfbs2YOEhATNMjc3NyQkJGDHjh2i79mxY4fO+gCQmJhodP2UlBQEBgZq/kVGRir3AYiIiMjpODS4yc3NRVlZGcLCwnSWh4WFITMzU/Q9mZmZstZPTk5GXl6e5t/58+eVKbyesAAfjO7VBIPvbmiT7RMREZE0Ho4ugK15e3vD29vb5vuJCPLFa4ktbb4fIiIiMs2hNTchISFwd3dHVlaWzvKsrCyEh4eLvic8PFzW+kRERFS9ODS48fLyQkxMDFJTUzXL1Go1UlNTER8fL/qe+Ph4nfUBYNOmTUbXJyIiourF4c1SSUlJGDp0KGJjY9G5c2fMnTsXRUVFGDZsGABgyJAhiIiIQEpKCgBg3Lhx6NGjBz766CP07dsXS5Yswe7du/Hll1868mMQERGRk3B4cDNw4EDk5ORg6tSpyMzMRPv27bFhwwZN0nBGRgbc3CormLp06YKffvoJb775JiZNmoRmzZph9erVaNOmjaM+AhERETkRh49zY29y+skTERGRc6gy49wQERERKY3BDREREbkUBjdERETkUhjcEBERkUthcENEREQuhcENERERuRQGN0RERORSGNwQERGRS3H4CMX2VjFmYX5+voNLQkRERFJV3LeljD1c7YKbgoICAEBkZKSDS0JERERyFRQUIDAw0OQ61W76BbVajUuXLqFmzZpQqVSKbjs/Px+RkZE4f/48p3awIR5n++Bxtg8eZ/vhsbYPWx1nQRBQUFCAevXq6cw5Kaba1dy4ubmhfv36Nt1HQEAAfzh2wONsHzzO9sHjbD881vZhi+NsrsamAhOKiYiIyKUwuCEiIiKXwuBGQd7e3pg2bRq8vb0dXRSXxuNsHzzO9sHjbD881vbhDMe52iUUExERkWtjzQ0RERG5FAY3RERE5FIY3BAREZFLYXBDRERELoXBDREREbkUBjcKmT9/PqKiouDj44O4uDikpaU5ukhOLSUlBZ06dULNmjURGhqK/v374/jx4zrr3Lp1C6NHj0bt2rXh7++PAQMGICsrS2edjIwM9O3bF35+fggNDcVrr72G0tJSnXW2bt2Kjh07wtvbG02bNsXixYtt/fGc0syZM6FSqfDKK69olvEYK+fixYt45plnULt2bfj6+iI6Ohq7d+/WvC4IAqZOnYq6devC19cXCQkJOHnypM42rl69iqeffhoBAQEICgrC888/j8LCQp11Dh48iO7du8PHxweRkZH44IMP7PL5nEFZWRmmTJmCRo0awdfXF02aNME777yjM5Eij7N8f/31F/r164d69epBpVJh9erVOq/b85guX74cLVu2hI+PD6Kjo7Fu3TrLPpRAVluyZIng5eUlLFy4UDhy5IgwfPhwISgoSMjKynJ00ZxWYmKisGjRIuHw4cPC/v37hT59+ggNGjQQCgsLNeuMHDlSiIyMFFJTU4Xdu3cLd999t9ClSxfN66WlpUKbNm2EhIQEYd++fcK6deuEkJAQITk5WbPOmTNnBD8/PyEpKUn477//hE8//VRwd3cXNmzYYNfP62hpaWlCVFSU0LZtW2HcuHGa5TzGyrh69arQsGFD4dlnnxV27dolnDlzRvj999+FU6dOadaZOXOmEBgYKKxevVo4cOCA8PDDDwuNGjUSbt68qVnngQceENq1ayfs3LlT+Pvvv4WmTZsKgwYN0ryel5cnhIWFCU8//bRw+PBh4eeffxZ8fX2FL774wq6f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", + "image/png": "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KUWf48cffxQACK+//rrV8rvuukswGAyWMh06dEjw9/cX3njjDav1tm/fLgQEBFgtN39Gcy2L2dChQ4X69evblcG2dmD8+PECAGHhwoV265prAaRqbm688UahY8eOwoULF6zW79Gjh9CmTRvLMvNxTE9Pt6pVeOaZZwR/f3/h7NmzlmWOajVsKT2Wubm5dn9bQRCEJ554QggLC7OcL3/99ZcAQPjqq6+s1lu6dKndcnMt09KlSxWVVcyVmpu+fftaHbvu3bsLBoNBGDFihGVZVVWV0LRpU6ttq/lMRFrjaCkiJ4qLiwEAYWFhdq9dd911aNSokeVn5syZTreXnp6OVq1aWX7v1KkTwsPD8e+//7pULnE/G0eWLFkCf39//O9//7Na/uyzz0IQBPz6668AgIULF8JkMuGee+7ByZMnLT9xcXFo06YNVq5cqaqcjvzwww9ITk62q2kBINuR+vTp01ixYgXuuecelJSUWMp36tQp9O3bF/v27cPRo0et3vPoo49abe+aa66B0WjE4cOHXSq30mPZtm1bpKSkWGqIgOrO4t9//z369+9v6Sfz3XffISIiAr1797Y65qmpqQgLC7M75i1atEDfvn1dKrtaDz/8sNWxS0tLgyAIePjhhy3L/P390aVLF6tzWO1nItISm6WInDAHD6WlpXavffjhhygpKUFBQYFkJ00pUk1IUVFROHPmjKpyhYeHAwBKSkoUrX/48GE0adLELhi6/PLLLa8DwL59+yAIAtq0aSO5HS2bEg4cOICBAweqes/+/fshCALGjRuHcePGSa5z4sQJxMfHW363PeZRUVEAoPqYmyk9lkB109SLL76Io0ePIj4+HqtWrcKJEyeQkZFhWWffvn0oKipCTEyM7OcRa9GihUvldoXtsYuIiAAAJCQk2C0XH0+1n4lISwxuiJyIiIhA48aNJUcdmfvgqEm2JzcKSlCZlaF169YICAjA9u3bVb3PGZPJBIPBgF9//VWyrFI1WLXJZDIBAEaPHi1beyEelg5od8xdkZGRgbFjx+K7777D008/jW+//RYRERG46aabLOuYTCbExMTgq6++ktxGo0aNrH63HRnlSXLHTmq5+Hiq/UxEWmJwQ6RAv3798MknnyAnJwfdunXTuzgAgNDQUNxwww1YsWIFjhw5Yvckbat58+b4/fffUVJSYlXjsGfPHsvrANCq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RKQ31cFNcHCw5OSTe/fuRaNGjTQpVF0lMIkfERGR7lQHN7fddhteffVVVFZWAqjuPJuXl4cXXngBAwcO1LyAdYnp0hp4RkRE5JVUBzfvvvsuSktLERMTg/Pnz6NXr15o3bo1GjRogDfeeMMTZawzLH1umOiGiIhIN6pHS0VERGD58uVYvXo1tm3bhtLSUlx55ZVIT0/3RPnqlIoqEwCOliIiItKT6uDG7Oqrr8bVV1+tZVnqtHMVVZb/1wv017EkRERElzZFwc3777+PRx99FCEhIXj//fcdrvu///1Pk4LVNVWmmv429YNdjhmJiIjITYruwlOnTsX999+PkJAQTJ06VXY9g8FwyQY3RERE5B0UBTcHDx6U/D8RERGRt3FpbikiIiIib6U6uBk4cCDeeustu+Vvv/027r77bk0KVRcxxQ0REZF3UB3c/Pnnn7jlllvslt98882X/NxSZkxQTEREpB/VwU1paSmCgoLslgcGBkpOy0BERERUm1QHNx07dsSCBQvsls+fPx9JSUmaFIqIiIjIVaoTsowbNw533nknDhw4gBtuuAEAkJ2djW+++Qbfffed5gWsM9jnhoiIyCuoDm769++PH3/8EW+++Sa+//571KtXD506dcLvv/+OXr16eaKMdQ673BAREenHpVS6/fr1Q79+/bQuCxEREZHbmOeGiIiIfIqimpuGDRti7969iI6ORlRUFAwOxjqfPn1as8IRERERqaV4bqkGDRoAAKZNm+bJ8tRZAnsUExEReQVFwc3WrVtx1113ITg4GC1atECPHj0QEMCZr+U4qtkiIiIiz1LU52b69OkoLS0FAFx//fVseiIiIiKvpaj6JTExEe+//z769OkDQRCwdu1aREVFSa577bXXalpAIiIiIjUUBTeTJ0/GiBEjkJWVBYPBgDvuuENyPYPBAKPRqGkBiYiIiNRQFNwMGDAAAwYMQGlpKcLDw5Gbm4uYmBhPl61O4azgRERE3kFRn5vMzEyUlZUhLCwMK1euRIsWLRARESH5Q8xQTEREpCfVHYpvuOEGdigmIiIir8UOxURERORTFNXcTJ48GZ9++imuv/56S4fi6667zu7n+uuvd6kQM2fORGJiIkJCQpCWloacnBxF75s/fz4MBgMGDBjg0n61xC43RERE3kFRcDNgwADk5+ejuLgYgiAgNzcXZ86csftxpblq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", "text/plain": [ "
" ] @@ -12681,7 +18412,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 14, "id": "21cfeacd-dcfa-485f-848e-88cb619addfc", "metadata": { "scrolled": true @@ -12718,67 +18449,67 @@ " \n", " \n", " 1\n", - " 0.2822\n", + " 0.3272\n", " \n", " \n", " 2\n", - " 0.3666\n", + " 0.4626\n", " \n", " \n", " 3\n", - " 0.4510\n", + " 0.4626\n", " \n", " \n", " 4\n", - " 0.5058\n", + " 0.5080\n", " \n", " \n", " ...\n", " ...\n", " \n", " \n", - " 9995\n", - " 0.6358\n", + " 5550\n", + " 0.6930\n", " \n", " \n", - " 9996\n", - " 0.6332\n", + " 5551\n", + " 0.6732\n", " \n", " \n", - " 9997\n", - " 0.6128\n", + " 5552\n", + " 0.6606\n", " \n", " \n", - " 9998\n", - " 0.6314\n", + " 5553\n", + " 0.6368\n", " \n", " \n", - " 9999\n", - " 0.6778\n", + " 5554\n", + " 0.6510\n", " \n", " \n", "\n", - "

10000 rows × 1 columns

\n", + "

5555 rows × 1 columns

\n", "" ], "text/plain": [ " Gini\n", "0 0.0000\n", - "1 0.2822\n", - "2 0.3666\n", - "3 0.4510\n", - "4 0.5058\n", + "1 0.3272\n", + "2 0.4626\n", + "3 0.4626\n", + "4 0.5080\n", "... ...\n", - "9995 0.6358\n", - "9996 0.6332\n", - "9997 0.6128\n", - "9998 0.6314\n", - "9999 0.6778\n", + "5550 0.6930\n", + "5551 0.6732\n", + "5552 0.6606\n", + "5553 0.6368\n", + "5554 0.6510\n", "\n", - "[10000 rows x 1 columns]" + "[5555 rows x 1 columns]" ] }, - "execution_count": 12, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -12789,115 +18520,89 @@ }, { "cell_type": "code", - "execution_count": 13, - "id": "421bd10b-33a6-470e-bcc1-0fc0d840062d", - "metadata": {}, + "execution_count": 15, + "id": "8c967f5e-4b91-44b8-b3f5-ab6874d0e28f", + "metadata": { + "scrolled": true + }, "outputs": [ { "data": { - "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", - "
Gini
00.0000
10.2822
20.3666
30.4510
40.5058
......
1000.6794
1010.6842
1020.6756
1030.6532
1040.6452
\n", - "

105 rows × 1 columns

\n", - "
" - ], "text/plain": [ - " Gini\n", - "0 0.0000\n", - "1 0.2822\n", - "2 0.3666\n", - "3 0.4510\n", - "4 0.5058\n", - ".. ...\n", - "100 0.6794\n", - "101 0.6842\n", - "102 0.6756\n", - "103 0.6532\n", - "104 0.6452\n", - "\n", - "[105 rows x 1 columns]" + "['test_path/model_data_001.parquet',\n", + " 'test_path/model_data_002.parquet',\n", + " 'test_path/model_data_003.parquet',\n", + " 'test_path/model_data_004.parquet',\n", + " 'test_path/model_data_005.parquet',\n", + " 'test_path/model_data_006.parquet',\n", + " 'test_path/model_data_007.parquet',\n", + " 'test_path/model_data_008.parquet',\n", + " 'test_path/model_data_009.parquet',\n", + " 'test_path/model_data_010.parquet',\n", + " 'test_path/model_data_011.parquet',\n", + " 'test_path/model_data_012.parquet',\n", + " 'test_path/model_data_013.parquet',\n", + " 'test_path/model_data_014.parquet',\n", + " 'test_path/model_data_015.parquet',\n", + " 'test_path/model_data_016.parquet',\n", + " 'test_path/model_data_017.parquet',\n", + " 'test_path/model_data_018.parquet',\n", + " 'test_path/model_data_019.parquet',\n", + " 'test_path/model_data_020.parquet',\n", + " 'test_path/model_data_021.parquet',\n", + " 'test_path/model_data_022.parquet',\n", + " 'test_path/model_data_023.parquet',\n", + " 'test_path/model_data_024.parquet',\n", + " 'test_path/model_data_025.parquet',\n", + " 'test_path/model_data_026.parquet',\n", + " 'test_path/model_data_027.parquet',\n", + " 'test_path/model_data_028.parquet',\n", + " 'test_path/model_data_029.parquet',\n", + " 'test_path/model_data_030.parquet',\n", + " 'test_path/model_data_031.parquet',\n", + " 'test_path/model_data_032.parquet',\n", + " 'test_path/model_data_033.parquet',\n", + " 'test_path/model_data_034.parquet',\n", + " 'test_path/model_data_035.parquet',\n", + " 'test_path/model_data_036.parquet',\n", + " 'test_path/model_data_037.parquet',\n", + " 'test_path/model_data_038.parquet',\n", + " 'test_path/model_data_039.parquet',\n", + " 'test_path/model_data_040.parquet',\n", + " 'test_path/model_data_041.parquet',\n", + " 'test_path/model_data_042.parquet',\n", + " 'test_path/model_data_043.parquet',\n", + " 'test_path/model_data_044.parquet',\n", + " 'test_path/model_data_045.parquet',\n", + " 'test_path/model_data_046.parquet',\n", + " 'test_path/model_data_047.parquet',\n", + " 'test_path/model_data_048.parquet',\n", + " 'test_path/model_data_049.parquet',\n", + " 'test_path/model_data_050.parquet',\n", + " 'test_path/model_data_051.parquet',\n", + " 'test_path/model_data_052.parquet',\n", + " 'test_path/model_data_053.parquet',\n", + " 'test_path/model_data_054.parquet',\n", + " 'test_path/model_data_055.parquet',\n", + " 'test_path/model_data_056.parquet']" ] }, - "execution_count": 13, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "model_df[:105]" + "model_files" ] }, { "cell_type": "code", - "execution_count": 14, - "id": "1473d070-d9ca-4c0f-913e-107f9fa48b46", - "metadata": {}, + "execution_count": 16, + "id": "ea25fe67-a4fb-432c-8592-2a6b73dc28f0", + "metadata": { + "scrolled": true + }, "outputs": [ { "data": { @@ -12930,79 +18635,79 @@ " \n", " \n", " 1\n", - " 0.2822\n", + " 0.3272\n", " \n", " \n", " 2\n", - " 0.3666\n", + " 0.4626\n", " \n", " \n", " 3\n", - " 0.4510\n", + " 0.4626\n", " \n", " \n", " 4\n", - " 0.5058\n", + " 0.5080\n", " \n", " \n", " ...\n", " ...\n", " \n", " \n", - " 96\n", - " 0.6582\n", + " 5550\n", + " 0.6930\n", " \n", " \n", - " 97\n", - " 0.6362\n", + " 5551\n", + " 0.6732\n", " \n", " \n", - " 98\n", - " 0.6440\n", + " 5552\n", + " 0.6606\n", " \n", " \n", - " 99\n", - " 0.6602\n", + " 5553\n", + " 0.6368\n", " \n", " \n", - " 100\n", - " 0.6794\n", + " 5554\n", + " 0.6510\n", " \n", " \n", "\n", - "

101 rows × 1 columns

\n", + "

5555 rows × 1 columns

\n", "" ], "text/plain": [ - " Gini\n", - "0 0.0000\n", - "1 0.2822\n", - "2 0.3666\n", - "3 0.4510\n", - "4 0.5058\n", - ".. ...\n", - "96 0.6582\n", - "97 0.6362\n", - "98 0.6440\n", - "99 0.6602\n", - "100 0.6794\n", + " Gini\n", + "0 0.0000\n", + "1 0.3272\n", + "2 0.4626\n", + "3 0.4626\n", + "4 0.5080\n", + "... ...\n", + "5550 0.6930\n", + "5551 0.6732\n", + "5552 0.6606\n", + "5553 0.6368\n", + "5554 0.6510\n", "\n", - "[101 rows x 1 columns]" + "[5555 rows x 1 columns]" ] }, - "execution_count": 14, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "gini[:101]" + "model_df" ] }, { "cell_type": "code", - "execution_count": 15, - "id": "8c967f5e-4b91-44b8-b3f5-ab6874d0e28f", + "execution_count": 17, + "id": "50f26db2-06e0-49a1-996e-53e71a62ecbd", "metadata": { "scrolled": true }, @@ -13010,124 +18715,24 @@ { "data": { "text/plain": [ - "['output_dir/model_data_001.parquet',\n", - " 'output_dir/model_data_002.parquet',\n", - " 'output_dir/model_data_003.parquet',\n", - " 'output_dir/model_data_004.parquet',\n", - " 'output_dir/model_data_005.parquet',\n", - " 'output_dir/model_data_006.parquet',\n", - " 'output_dir/model_data_007.parquet',\n", - " 'output_dir/model_data_008.parquet',\n", - " 'output_dir/model_data_009.parquet',\n", - " 'output_dir/model_data_010.parquet',\n", - " 'output_dir/model_data_011.parquet',\n", - " 'output_dir/model_data_012.parquet',\n", - " 'output_dir/model_data_013.parquet',\n", - " 'output_dir/model_data_014.parquet',\n", - " 'output_dir/model_data_015.parquet',\n", - " 'output_dir/model_data_016.parquet',\n", - " 'output_dir/model_data_017.parquet',\n", - " 'output_dir/model_data_018.parquet',\n", - " 'output_dir/model_data_019.parquet',\n", - " 'output_dir/model_data_020.parquet',\n", - " 'output_dir/model_data_021.parquet',\n", - " 'output_dir/model_data_022.parquet',\n", - " 'output_dir/model_data_023.parquet',\n", - " 'output_dir/model_data_024.parquet',\n", - " 'output_dir/model_data_025.parquet',\n", - " 'output_dir/model_data_026.parquet',\n", - " 'output_dir/model_data_027.parquet',\n", - " 'output_dir/model_data_028.parquet',\n", - " 'output_dir/model_data_029.parquet',\n", - " 'output_dir/model_data_030.parquet',\n", - " 'output_dir/model_data_031.parquet',\n", - " 'output_dir/model_data_032.parquet',\n", - " 'output_dir/model_data_033.parquet',\n", - " 'output_dir/model_data_034.parquet',\n", - " 'output_dir/model_data_035.parquet',\n", - " 'output_dir/model_data_036.parquet',\n", - " 'output_dir/model_data_037.parquet',\n", - " 'output_dir/model_data_038.parquet',\n", - " 'output_dir/model_data_039.parquet',\n", - " 'output_dir/model_data_040.parquet',\n", - " 'output_dir/model_data_041.parquet',\n", - " 'output_dir/model_data_042.parquet',\n", - " 'output_dir/model_data_043.parquet',\n", - " 'output_dir/model_data_044.parquet',\n", - " 'output_dir/model_data_045.parquet',\n", - " 'output_dir/model_data_046.parquet',\n", - " 'output_dir/model_data_047.parquet',\n", - " 'output_dir/model_data_048.parquet',\n", - " 'output_dir/model_data_049.parquet',\n", - " 'output_dir/model_data_050.parquet',\n", - " 'output_dir/model_data_051.parquet',\n", - " 'output_dir/model_data_052.parquet',\n", - " 'output_dir/model_data_053.parquet',\n", - " 'output_dir/model_data_054.parquet',\n", - " 'output_dir/model_data_055.parquet',\n", - " 'output_dir/model_data_056.parquet',\n", - " 'output_dir/model_data_057.parquet',\n", - " 'output_dir/model_data_058.parquet',\n", - " 'output_dir/model_data_059.parquet',\n", - " 'output_dir/model_data_060.parquet',\n", - " 'output_dir/model_data_061.parquet',\n", - " 'output_dir/model_data_062.parquet',\n", - " 'output_dir/model_data_063.parquet',\n", - " 'output_dir/model_data_064.parquet',\n", - " 'output_dir/model_data_065.parquet',\n", - " 'output_dir/model_data_066.parquet',\n", - " 'output_dir/model_data_067.parquet',\n", - " 'output_dir/model_data_068.parquet',\n", - " 'output_dir/model_data_069.parquet',\n", - " 'output_dir/model_data_070.parquet',\n", - " 'output_dir/model_data_071.parquet',\n", - " 'output_dir/model_data_072.parquet',\n", - " 'output_dir/model_data_073.parquet',\n", - " 'output_dir/model_data_074.parquet',\n", - " 'output_dir/model_data_075.parquet',\n", - " 'output_dir/model_data_076.parquet',\n", - " 'output_dir/model_data_077.parquet',\n", - " 'output_dir/model_data_078.parquet',\n", - " 'output_dir/model_data_079.parquet',\n", - " 'output_dir/model_data_080.parquet',\n", - " 'output_dir/model_data_081.parquet',\n", - " 'output_dir/model_data_082.parquet',\n", - " 'output_dir/model_data_083.parquet',\n", - " 'output_dir/model_data_084.parquet',\n", - " 'output_dir/model_data_085.parquet',\n", - " 'output_dir/model_data_086.parquet',\n", - " 'output_dir/model_data_087.parquet',\n", - " 'output_dir/model_data_088.parquet',\n", - " 'output_dir/model_data_089.parquet',\n", - " 'output_dir/model_data_090.parquet',\n", - " 'output_dir/model_data_091.parquet',\n", - " 'output_dir/model_data_092.parquet',\n", - " 'output_dir/model_data_093.parquet',\n", - " 'output_dir/model_data_094.parquet',\n", - " 'output_dir/model_data_095.parquet',\n", - " 'output_dir/model_data_096.parquet',\n", - " 'output_dir/model_data_097.parquet',\n", - " 'output_dir/model_data_098.parquet',\n", - " 'output_dir/model_data_099.parquet',\n", - " 'output_dir/model_data_100.parquet']" + "Gini 5555\n", + "dtype: int64" ] }, - "execution_count": 15, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "model_files" + "(gini == model_df).sum()\n" ] }, { "cell_type": "code", - "execution_count": 16, - "id": "ea25fe67-a4fb-432c-8592-2a6b73dc28f0", - "metadata": { - "scrolled": true - }, + "execution_count": 18, + "id": "1ac6d4b7-b74f-41e8-82eb-368d77355d91", + "metadata": {}, "outputs": [ { "data": { @@ -13151,199 +18756,943 @@ " \n", " \n", " Gini\n", + " Step\n", " \n", " \n", " \n", " \n", " 0\n", - " 0.0000\n", + " 0.7046\n", + " 42\n", " \n", " \n", " 1\n", - " 0.2822\n", + " 0.7010\n", + " 43\n", " \n", " \n", " 2\n", - " 0.3666\n", + " 0.7056\n", + " 44\n", " \n", " \n", " 3\n", - " 0.4510\n", + " 0.7204\n", + " 45\n", " \n", " \n", " 4\n", - " 0.5058\n", + " 0.7092\n", + " 46\n", " \n", " \n", " ...\n", " ...\n", + " ...\n", " \n", " \n", - " 9995\n", - " 0.6358\n", + " 463\n", + " 0.7016\n", + " 5359\n", " \n", " \n", - " 9996\n", - " 0.6332\n", + " 464\n", + " 0.7080\n", + " 5365\n", " \n", " \n", - " 9997\n", - " 0.6128\n", + " 465\n", + " 0.7112\n", + " 5366\n", " \n", " \n", - " 9998\n", - " 0.6314\n", + " 466\n", + " 0.7032\n", + " 5457\n", " \n", " \n", - " 9999\n", - " 0.6778\n", + " 467\n", + " 0.7094\n", + " 5458\n", " \n", " \n", "\n", - "

10000 rows × 1 columns

\n", + "

468 rows × 2 columns

\n", "" ], "text/plain": [ - " Gini\n", - "0 0.0000\n", - "1 0.2822\n", - "2 0.3666\n", - "3 0.4510\n", - "4 0.5058\n", - "... ...\n", - "9995 0.6358\n", - "9996 0.6332\n", - "9997 0.6128\n", - "9998 0.6314\n", - "9999 0.6778\n", + " Gini Step\n", + "0 0.7046 42\n", + "1 0.7010 43\n", + "2 0.7056 44\n", + "3 0.7204 45\n", + "4 0.7092 46\n", + ".. ... ...\n", + "463 0.7016 5359\n", + "464 0.7080 5365\n", + "465 0.7112 5366\n", + "466 0.7032 5457\n", + "467 0.7094 5458\n", "\n", - "[10000 rows x 1 columns]" + "[468 rows x 2 columns]" ] }, - "execution_count": 16, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "model_df" + "table = pq.read_table(\"test_path/special_results.parquet\")\n", + "df = table.to_pandas()\n", + "df" ] }, { "cell_type": "code", - "execution_count": 17, - "id": "50f26db2-06e0-49a1-996e-53e71a62ecbd", - "metadata": { - "scrolled": true - }, + "execution_count": 19, + "id": "e6bc2d5c-d1a5-4316-9aeb-1fdf75b0b8f1", + "metadata": {}, "outputs": [ { "data": { - "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", - "
Gini
00.0000
10.2822
20.3666
30.4510
40.5058
......
99950.6358
99960.6332
99970.6128
99980.6314
99990.6778
\n", - "

10000 rows × 1 columns

\n", - "
" - ], "text/plain": [ + "[ Gini\n", + " 0 0.0000\n", + " 1 0.3272\n", + " 2 0.4626\n", + " 3 0.4626\n", + " 4 0.5080\n", + " .. ...\n", + " 95 0.6754\n", + " 96 0.6764\n", + " 97 0.6834\n", + " 98 0.6582\n", + " 99 0.6464\n", + " \n", + " [100 rows x 1 columns],\n", " Gini\n", - "0 0.0000\n", - "1 0.2822\n", - "2 0.3666\n", - "3 0.4510\n", - "4 0.5058\n", - "... ...\n", - "9995 0.6358\n", - "9996 0.6332\n", - "9997 0.6128\n", - "9998 0.6314\n", - "9999 0.6778\n", - "\n", - "[10000 rows x 1 columns]" + " 100 0.6650\n", + " 101 0.6506\n", + " 102 0.6734\n", + " 103 0.6656\n", + " 104 0.6450\n", + " .. ...\n", + " 195 0.6086\n", + " 196 0.6014\n", + " 197 0.6130\n", + " 198 0.6184\n", + " 199 0.6284\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 200 0.6256\n", + " 201 0.6086\n", + " 202 0.6250\n", + " 203 0.6060\n", + " 204 0.6240\n", + " .. ...\n", + " 295 0.6338\n", + " 296 0.6420\n", + " 297 0.6716\n", + " 298 0.6904\n", + " 299 0.6808\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 300 0.6764\n", + " 301 0.6888\n", + " 302 0.6702\n", + " 303 0.6726\n", + " 304 0.6638\n", + " .. ...\n", + " 395 0.6800\n", + " 396 0.6448\n", + " 397 0.6418\n", + " 398 0.6556\n", + " 399 0.6790\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 400 0.6890\n", + " 401 0.6862\n", + " 402 0.6704\n", + " 403 0.6486\n", + " 404 0.6194\n", + " .. ...\n", + " 495 0.7084\n", + " 496 0.6936\n", + " 497 0.6788\n", + " 498 0.6916\n", + " 499 0.6602\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 500 0.6610\n", + " 501 0.6544\n", + " 502 0.6406\n", + " 503 0.6584\n", + " 504 0.6760\n", + " .. ...\n", + " 595 0.6540\n", + " 596 0.6926\n", + " 597 0.6836\n", + " 598 0.7032\n", + " 599 0.6522\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 600 0.6476\n", + " 601 0.6418\n", + " 602 0.6836\n", + " 603 0.6526\n", + " 604 0.6448\n", + " .. ...\n", + " 695 0.6056\n", + " 696 0.6456\n", + " 697 0.6458\n", + " 698 0.6538\n", + " 699 0.6572\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 700 0.6500\n", + " 701 0.6500\n", + " 702 0.6402\n", + " 703 0.6274\n", + " 704 0.6596\n", + " .. ...\n", + " 795 0.6366\n", + " 796 0.6130\n", + " 797 0.6186\n", + " 798 0.6078\n", + " 799 0.6270\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 800 0.6176\n", + " 801 0.6202\n", + " 802 0.6210\n", + " 803 0.6514\n", + " 804 0.6578\n", + " .. ...\n", + " 895 0.6924\n", + " 896 0.6670\n", + " 897 0.7064\n", + " 898 0.7068\n", + " 899 0.6792\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 900 0.7038\n", + " 901 0.6784\n", + " 902 0.6872\n", + " 903 0.6596\n", + " 904 0.6486\n", + " .. ...\n", + " 995 0.6922\n", + " 996 0.6850\n", + " 997 0.6806\n", + " 998 0.6510\n", + " 999 0.6530\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 1000 0.6574\n", + " 1001 0.6482\n", + " 1002 0.6254\n", + " 1003 0.6316\n", + " 1004 0.6486\n", + " ... ...\n", + " 1095 0.6820\n", + " 1096 0.6684\n", + " 1097 0.6692\n", + " 1098 0.6672\n", + " 1099 0.6878\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 1100 0.6744\n", + " 1101 0.6722\n", + " 1102 0.6566\n", + " 1103 0.6402\n", + " 1104 0.6434\n", + " ... ...\n", + " 1195 0.6562\n", + " 1196 0.6602\n", + " 1197 0.6420\n", + " 1198 0.6554\n", + " 1199 0.6302\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 1200 0.6602\n", + " 1201 0.6498\n", + " 1202 0.6450\n", + " 1203 0.6416\n", + " 1204 0.6194\n", + " ... ...\n", + " 1295 0.6176\n", + " 1296 0.6446\n", + " 1297 0.6462\n", + " 1298 0.6282\n", + " 1299 0.6144\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 1300 0.5794\n", + " 1301 0.5938\n", + " 1302 0.6288\n", + " 1303 0.6124\n", + " 1304 0.6046\n", + " ... ...\n", + " 1395 0.6232\n", + " 1396 0.6070\n", + " 1397 0.6194\n", + " 1398 0.6392\n", + " 1399 0.6406\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 1400 0.6554\n", + " 1401 0.6462\n", + " 1402 0.6474\n", + " 1403 0.6526\n", + " 1404 0.6426\n", + " ... ...\n", + " 1495 0.5990\n", + " 1496 0.5984\n", + " 1497 0.5858\n", + " 1498 0.5858\n", + " 1499 0.5856\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 1500 0.6012\n", + " 1501 0.6192\n", + " 1502 0.6602\n", + " 1503 0.6812\n", + " 1504 0.6632\n", + " ... ...\n", + " 1595 0.6454\n", + " 1596 0.6582\n", + " 1597 0.6726\n", + " 1598 0.6318\n", + " 1599 0.6750\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 1600 0.6614\n", + " 1601 0.6834\n", + " 1602 0.6880\n", + " 1603 0.6752\n", + " 1604 0.6766\n", + " ... ...\n", + " 1695 0.6726\n", + " 1696 0.6748\n", + " 1697 0.6706\n", + " 1698 0.6786\n", + " 1699 0.6730\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 1700 0.6658\n", + " 1701 0.6540\n", + " 1702 0.6530\n", + " 1703 0.6748\n", + " 1704 0.6738\n", + " ... ...\n", + " 1795 0.6408\n", + " 1796 0.6602\n", + " 1797 0.6676\n", + " 1798 0.6610\n", + " 1799 0.6514\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 1800 0.6714\n", + " 1801 0.6408\n", + " 1802 0.6296\n", + " 1803 0.6528\n", + " 1804 0.6374\n", + " ... ...\n", + " 1895 0.6882\n", + " 1896 0.6914\n", + " 1897 0.6844\n", + " 1898 0.6692\n", + " 1899 0.6628\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 1900 0.6570\n", + " 1901 0.6568\n", + " 1902 0.6496\n", + " 1903 0.6518\n", + " 1904 0.6396\n", + " ... ...\n", + " 1995 0.6664\n", + " 1996 0.6378\n", + " 1997 0.6748\n", + " 1998 0.6704\n", + " 1999 0.7110\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 2000 0.6892\n", + " 2001 0.7076\n", + " 2002 0.7010\n", + " 2003 0.6986\n", + " 2004 0.7022\n", + " ... ...\n", + " 2095 0.6136\n", + " 2096 0.6152\n", + " 2097 0.6226\n", + " 2098 0.6160\n", + " 2099 0.6212\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 2100 0.6290\n", + " 2101 0.6408\n", + " 2102 0.6448\n", + " 2103 0.6540\n", + " 2104 0.6150\n", + " ... ...\n", + " 2195 0.6788\n", + " 2196 0.6870\n", + " 2197 0.7068\n", + " 2198 0.6942\n", + " 2199 0.6918\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 2200 0.6854\n", + " 2201 0.6870\n", + " 2202 0.6954\n", + " 2203 0.6740\n", + " 2204 0.6710\n", + " ... ...\n", + " 2295 0.6338\n", + " 2296 0.6366\n", + " 2297 0.6246\n", + " 2298 0.6198\n", + " 2299 0.6274\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 2300 0.6312\n", + " 2301 0.6636\n", + " 2302 0.6456\n", + " 2303 0.6352\n", + " 2304 0.6234\n", + " ... ...\n", + " 2395 0.6728\n", + " 2396 0.6616\n", + " 2397 0.6836\n", + " 2398 0.6586\n", + " 2399 0.6722\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 2400 0.6744\n", + " 2401 0.6704\n", + " 2402 0.6748\n", + " 2403 0.6946\n", + " 2404 0.6826\n", + " ... ...\n", + " 2495 0.6406\n", + " 2496 0.6262\n", + " 2497 0.6274\n", + " 2498 0.6262\n", + " 2499 0.6760\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 2500 0.6766\n", + " 2501 0.6570\n", + " 2502 0.6582\n", + " 2503 0.6530\n", + " 2504 0.6582\n", + " ... ...\n", + " 2595 0.6860\n", + " 2596 0.7074\n", + " 2597 0.6884\n", + " 2598 0.6714\n", + " 2599 0.6552\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 2600 0.6246\n", + " 2601 0.6338\n", + " 2602 0.6050\n", + " 2603 0.6116\n", + " 2604 0.6238\n", + " ... ...\n", + " 2695 0.5864\n", + " 2696 0.6312\n", + " 2697 0.6082\n", + " 2698 0.5956\n", + " 2699 0.6114\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 2700 0.6156\n", + " 2701 0.6080\n", + " 2702 0.6272\n", + " 2703 0.6298\n", + " 2704 0.6332\n", + " ... ...\n", + " 2795 0.6548\n", + " 2796 0.6616\n", + " 2797 0.6782\n", + " 2798 0.6828\n", + " 2799 0.6620\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 2800 0.6664\n", + " 2801 0.6636\n", + " 2802 0.6406\n", + " 2803 0.6434\n", + " 2804 0.6484\n", + " ... ...\n", + " 2895 0.7020\n", + " 2896 0.7060\n", + " 2897 0.7158\n", + " 2898 0.7270\n", + " 2899 0.7020\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 2900 0.6750\n", + " 2901 0.6644\n", + " 2902 0.6452\n", + " 2903 0.6470\n", + " 2904 0.6428\n", + " ... ...\n", + " 2995 0.6776\n", + " 2996 0.6758\n", + " 2997 0.6648\n", + " 2998 0.6634\n", + " 2999 0.6394\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 3000 0.6186\n", + " 3001 0.6182\n", + " 3002 0.6096\n", + " 3003 0.6280\n", + " 3004 0.6492\n", + " ... ...\n", + " 3095 0.6224\n", + " 3096 0.5896\n", + " 3097 0.6138\n", + " 3098 0.6548\n", + " 3099 0.6348\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 3100 0.6176\n", + " 3101 0.6246\n", + " 3102 0.6066\n", + " 3103 0.6264\n", + " 3104 0.6182\n", + " ... ...\n", + " 3195 0.6356\n", + " 3196 0.6256\n", + " 3197 0.6416\n", + " 3198 0.6512\n", + " 3199 0.5912\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 3200 0.6280\n", + " 3201 0.6370\n", + " 3202 0.6604\n", + " 3203 0.6340\n", + " 3204 0.6162\n", + " ... ...\n", + " 3295 0.6514\n", + " 3296 0.6618\n", + " 3297 0.6632\n", + " 3298 0.6654\n", + " 3299 0.6692\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 3300 0.6642\n", + " 3301 0.7062\n", + " 3302 0.7280\n", + " 3303 0.7180\n", + " 3304 0.7168\n", + " ... ...\n", + " 3395 0.5936\n", + " 3396 0.6238\n", + " 3397 0.6232\n", + " 3398 0.6546\n", + " 3399 0.6640\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 3400 0.6626\n", + " 3401 0.6538\n", + " 3402 0.6572\n", + " 3403 0.6492\n", + " 3404 0.6386\n", + " ... ...\n", + " 3495 0.6898\n", + " 3496 0.6606\n", + " 3497 0.6576\n", + " 3498 0.6604\n", + " 3499 0.6790\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 3500 0.7090\n", + " 3501 0.7062\n", + " 3502 0.7120\n", + " 3503 0.6938\n", + " 3504 0.7054\n", + " ... ...\n", + " 3595 0.6466\n", + " 3596 0.6730\n", + " 3597 0.6938\n", + " 3598 0.6770\n", + " 3599 0.6718\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 3600 0.6856\n", + " 3601 0.6770\n", + " 3602 0.6754\n", + " 3603 0.6688\n", + " 3604 0.6642\n", + " ... ...\n", + " 3695 0.6432\n", + " 3696 0.6644\n", + " 3697 0.6624\n", + " 3698 0.6758\n", + " 3699 0.6884\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 3700 0.6858\n", + " 3701 0.6748\n", + " 3702 0.6760\n", + " 3703 0.6604\n", + " 3704 0.6464\n", + " ... ...\n", + " 3795 0.6304\n", + " 3796 0.6240\n", + " 3797 0.6180\n", + " 3798 0.5934\n", + " 3799 0.5876\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 3800 0.6190\n", + " 3801 0.6318\n", + " 3802 0.6034\n", + " 3803 0.6322\n", + " 3804 0.6234\n", + " ... ...\n", + " 3895 0.6600\n", + " 3896 0.6490\n", + " 3897 0.6236\n", + " 3898 0.6242\n", + " 3899 0.6214\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 3900 0.5982\n", + " 3901 0.5790\n", + " 3902 0.5786\n", + " 3903 0.5740\n", + " 3904 0.5940\n", + " ... ...\n", + " 3995 0.6608\n", + " 3996 0.6700\n", + " 3997 0.6604\n", + " 3998 0.6602\n", + " 3999 0.6558\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 4000 0.6534\n", + " 4001 0.6180\n", + " 4002 0.6200\n", + " 4003 0.6150\n", + " 4004 0.6076\n", + " ... ...\n", + " 4095 0.6546\n", + " 4096 0.6422\n", + " 4097 0.6564\n", + " 4098 0.6382\n", + " 4099 0.6618\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 4100 0.6626\n", + " 4101 0.6690\n", + " 4102 0.6628\n", + " 4103 0.6602\n", + " 4104 0.6462\n", + " ... ...\n", + " 4195 0.7122\n", + " 4196 0.7070\n", + " 4197 0.7290\n", + " 4198 0.7230\n", + " 4199 0.7214\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 4200 0.7042\n", + " 4201 0.7142\n", + " 4202 0.7242\n", + " 4203 0.6922\n", + " 4204 0.6664\n", + " ... ...\n", + " 4295 0.6962\n", + " 4296 0.6776\n", + " 4297 0.6608\n", + " 4298 0.6378\n", + " 4299 0.6044\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 4300 0.6328\n", + " 4301 0.6124\n", + " 4302 0.6110\n", + " 4303 0.6012\n", + " 4304 0.5772\n", + " ... ...\n", + " 4395 0.6734\n", + " 4396 0.6730\n", + " 4397 0.6712\n", + " 4398 0.6700\n", + " 4399 0.6712\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 4400 0.6628\n", + " 4401 0.6640\n", + " 4402 0.6932\n", + " 4403 0.7020\n", + " 4404 0.6788\n", + " ... ...\n", + " 4495 0.6592\n", + " 4496 0.6544\n", + " 4497 0.6496\n", + " 4498 0.6482\n", + " 4499 0.6526\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 4500 0.6476\n", + " 4501 0.6484\n", + " 4502 0.6642\n", + " 4503 0.6734\n", + " 4504 0.6740\n", + " ... ...\n", + " 4595 0.6558\n", + " 4596 0.6378\n", + " 4597 0.6602\n", + " 4598 0.6638\n", + " 4599 0.6902\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 4600 0.7034\n", + " 4601 0.7354\n", + " 4602 0.7234\n", + " 4603 0.6974\n", + " 4604 0.6846\n", + " ... ...\n", + " 4695 0.5686\n", + " 4696 0.5356\n", + " 4697 0.5692\n", + " 4698 0.5406\n", + " 4699 0.5570\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 4700 0.5552\n", + " 4701 0.5780\n", + " 4702 0.5768\n", + " 4703 0.5990\n", + " 4704 0.6172\n", + " ... ...\n", + " 4795 0.6620\n", + " 4796 0.6856\n", + " 4797 0.6602\n", + " 4798 0.6508\n", + " 4799 0.6674\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 4800 0.6742\n", + " 4801 0.6914\n", + " 4802 0.6712\n", + " 4803 0.6592\n", + " 4804 0.6118\n", + " ... ...\n", + " 4895 0.6104\n", + " 4896 0.6074\n", + " 4897 0.6334\n", + " 4898 0.6054\n", + " 4899 0.6306\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 4900 0.6250\n", + " 4901 0.6354\n", + " 4902 0.6380\n", + " 4903 0.6444\n", + " 4904 0.6386\n", + " ... ...\n", + " 4995 0.6632\n", + " 4996 0.6708\n", + " 4997 0.6530\n", + " 4998 0.5910\n", + " 4999 0.6036\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 5000 0.6046\n", + " 5001 0.6226\n", + " 5002 0.6248\n", + " 5003 0.6382\n", + " 5004 0.6644\n", + " ... ...\n", + " 5095 0.6348\n", + " 5096 0.6528\n", + " 5097 0.6500\n", + " 5098 0.6350\n", + " 5099 0.6402\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 5100 0.6580\n", + " 5101 0.6764\n", + " 5102 0.6952\n", + " 5103 0.6768\n", + " 5104 0.6866\n", + " ... ...\n", + " 5195 0.6478\n", + " 5196 0.6548\n", + " 5197 0.6696\n", + " 5198 0.6844\n", + " 5199 0.6708\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 5200 0.6790\n", + " 5201 0.6850\n", + " 5202 0.6684\n", + " 5203 0.6638\n", + " 5204 0.6530\n", + " ... ...\n", + " 5295 0.6470\n", + " 5296 0.6278\n", + " 5297 0.6398\n", + " 5298 0.6326\n", + " 5299 0.6286\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 5300 0.6302\n", + " 5301 0.6332\n", + " 5302 0.6460\n", + " 5303 0.6546\n", + " 5304 0.6880\n", + " ... ...\n", + " 5395 0.6404\n", + " 5396 0.6364\n", + " 5397 0.6318\n", + " 5398 0.6246\n", + " 5399 0.6476\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 5400 0.6206\n", + " 5401 0.6526\n", + " 5402 0.6368\n", + " 5403 0.6778\n", + " 5404 0.6670\n", + " ... ...\n", + " 5495 0.6760\n", + " 5496 0.6750\n", + " 5497 0.6826\n", + " 5498 0.6856\n", + " 5499 0.6806\n", + " \n", + " [100 rows x 1 columns],\n", + " Gini\n", + " 5500 0.6888\n", + " 5501 0.6708\n", + " 5502 0.6882\n", + " 5503 0.6648\n", + " 5504 0.6682\n", + " 5505 0.6570\n", + " 5506 0.6442\n", + " 5507 0.6500\n", + " 5508 0.6498\n", + " 5509 0.6366\n", + " 5510 0.6336\n", + " 5511 0.6252\n", + " 5512 0.6150\n", + " 5513 0.6150\n", + " 5514 0.6412\n", + " 5515 0.6214\n", + " 5516 0.6256\n", + " 5517 0.6322\n", + " 5518 0.6560\n", + " 5519 0.6762\n", + " 5520 0.6844\n", + " 5521 0.6694\n", + " 5522 0.6668\n", + " 5523 0.6752\n", + " 5524 0.6574\n", + " 5525 0.6632\n", + " 5526 0.6688\n", + " 5527 0.6732\n", + " 5528 0.6484\n", + " 5529 0.6332\n", + " 5530 0.6516\n", + " 5531 0.6388\n", + " 5532 0.6496\n", + " 5533 0.6562\n", + " 5534 0.6442\n", + " 5535 0.6202\n", + " 5536 0.6210\n", + " 5537 0.6486\n", + " 5538 0.6644\n", + " 5539 0.6322\n", + " 5540 0.6384\n", + " 5541 0.6368\n", + " 5542 0.6404\n", + " 5543 0.6352\n", + " 5544 0.6296\n", + " 5545 0.6680\n", + " 5546 0.6882\n", + " 5547 0.6686\n", + " 5548 0.6722\n", + " 5549 0.6758\n", + " 5550 0.6930\n", + " 5551 0.6732\n", + " 5552 0.6606\n", + " 5553 0.6368\n", + " 5554 0.6510]" ] }, - "execution_count": 17, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "gini" + "model_dfs\n" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1ac6d4b7-b74f-41e8-82eb-368d77355d91", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { From c33ac68dfe48d75344d4a3e22165e4ad95a8eaeb Mon Sep 17 00:00:00 2001 From: Chan-Dong-Jun Date: Sun, 4 Aug 2024 15:21:02 +0800 Subject: [PATCH 7/9] clean up code --- mesa/cacheable_model.py | 149 ++++++++++++++++++++++++---------------- 1 file changed, 91 insertions(+), 58 deletions(-) diff --git a/mesa/cacheable_model.py b/mesa/cacheable_model.py index f4d3b47be63..f21f3ae0d5e 100644 --- a/mesa/cacheable_model.py +++ b/mesa/cacheable_model.py @@ -12,19 +12,12 @@ from enum import Enum from mesa import Model +import glob + with contextlib.suppress(ImportError): import pandas as pd -class CacheState(Enum): - """When using 'RECORD', with every simulation step the actual simulation will be performed and the model state - written to the cache (also called simulation mode). - When using 'REPLAY', with every step the model state will be read from the cache (also called replay mode).""" - - RECORD = (1,) - REPLAY = 2 - - class CacheableModel: """Class that takes a model and writes its steps to a cache file or reads them from a cache file.""" @@ -32,9 +25,7 @@ def __init__( self, model: Model, cache_file_path: str | Path, - # cache_state: CacheState, total_steps: int, - # cache_step_rate: int = 1, condition_function=None, ) -> None: """Create a new caching wrapper around an existing mesa model instance. @@ -50,21 +41,15 @@ def __init__( self.model = model self.cache_file_path = Path(cache_file_path) - # self._cache_state = cache_state - # self._cache_step_rate = cache_step_rate self._total_steps = total_steps - # self.cache: list[Any] = [] self.step_count: int = 0 self.run_finished = False # temporary dicts to be flushed self.model_vars_cache = {} - - self._agent_records = {} self._cache_interval = 100 - # self.output_dir = 'output_dir' self._last_cached_step = 0 # inclusive since it is the bottom bound of slicing self.condition_function = condition_function @@ -80,7 +65,7 @@ def get_agent_vars_dataframe(self): "No agent reporters have been defined in the DataCollector, returning empty DataFrame." ) - all_records = itertools.chain.from_iterable(self._agent_records.values()) + all_records = itertools.chain.from_iterable(self.model.datacollector._agent_records.values()) rep_names = list(self.model.datacollector.agent_reporters) df = pd.DataFrame.from_records( @@ -88,7 +73,9 @@ def get_agent_vars_dataframe(self): columns=["Step", "AgentID", *rep_names], index=["Step", "AgentID"], ) - return df + sliced_df = df.loc[self._last_cached_step:self.model._steps] + + return sliced_df def get_model_vars_dataframe(self): """Create a pandas DataFrame from the model variables. @@ -102,27 +89,13 @@ def get_model_vars_dataframe(self): "No model reporters have been defined in the DataCollector, returning empty DataFrame." ) - print(f" TEST {self.model._steps=}") - print(f" TEST {self._cache_interval=}") - print(pd.DataFrame(self.model.datacollector.model_vars)[self._last_cached_step:self.model._steps]) return pd.DataFrame(self.model.datacollector.model_vars)[self._last_cached_step:self.model._steps] - # def get_table_dataframe(self, table_name): - # """Create a pandas DataFrame from a particular table. - # - # Args: - # table_name: The name of the table to convert. - # """ - # if table_name not in self.tables: - # raise Exception("No such table.") - # return pd.DataFrame(self.tables[table_name]) - def _save_to_parquet(self, model): """Save the current cache of data to a Parquet file and clear the cache.""" model_df = self.get_model_vars_dataframe() agent_df = self.get_agent_vars_dataframe() padding = len(str(self._total_steps)) - 1 - print(padding) # ceiling function model_file = f"{self.cache_file_path}/model_data_{-(self.model._steps // -self._cache_interval):0{padding}}.parquet" @@ -130,9 +103,7 @@ def _save_to_parquet(self, model): self.cache_file_path.mkdir(parents=True, exist_ok=True) - print(f"{model_file=}") absolute_path = os.path.abspath(model_file) - print(f"{absolute_path=}") if os.path.exists(absolute_path): raise FileExistsError(f"A directory with the name {model_file} already exists.") if os.path.exists(model_file): @@ -141,54 +112,31 @@ def _save_to_parquet(self, model): raise FileExistsError(f"A directory with the name {agent_file} already exists.") if not model_df.empty: - print(f"Saving model to {model_file}") model_table = pa.Table.from_pandas(model_df) pq.write_table(model_table, model_file) if not agent_df.empty: - print(f"Saving agent to {agent_file}") agent_table = pa.Table.from_pandas(agent_df) pq.write_table(agent_table, agent_file) - # Clear the cache - - def cache(self): """Custom collect method to extend the original collect behavior.""" # Implement your custom logic here # For example, let's say we want to write collected data to a cache file every `cache_step_rate` steps if self.model._steps % self._cache_interval == 0: - print("CALLED") - print(f"{self.model._steps=}") self._save_to_parquet(self.model) self._last_cached_step = self.model._steps elif self.model._steps == self._total_steps: - print("FINAL CALLED") - print(f"{self.model._steps=}") self._save_to_parquet(self.model) self._last_cached_step = self.model._steps if self.condition_function and self.save_special_results(self.condition_function): - # print("CHECK SPECIAL RESULTS CONDITION") pass def save_special_results(self, condition_function: Callable[[dict], bool]): model_vars = self.model.datacollector.model_vars - # print(f"{model_vars=}") - print(f"{model_vars.get('Gini', 0)[-1]=}") self.cache_file_path.mkdir(parents=True, exist_ok=True) - # if condition_function(model_vars): - # special_results_df = pd.DataFrame(model_vars) - # special_results_file = f"{self.cache_file_path}/special_results.parquet" - # - # - # if not special_results_df.empty: - # print(f"Condition met. Saving special results to {special_results_file}") - # special_results_table = pa.Table.from_pandas(special_results_df) - # pq.write_table(special_results_table, special_results_file) - # else: - # print("Condition met but no data to save.") current_step = self.model._steps special_results_file = f"{self.cache_file_path}/special_results.parquet" @@ -210,3 +158,88 @@ def save_special_results(self, condition_function: Callable[[dict], bool]): print(f"Condition met. Appended special results for step {current_step} to {special_results_file}") else: print(f"Condition not met at step {current_step}. No data to save.") + + def read_model_data(self): + """Read and combine all model data Parquet files into a single DataFrame.""" + model_files = glob.glob(f'{self.cache_file_path}/model_data_*.parquet') + model_dfs = [] + + for model_file in model_files: + table = pq.read_table(model_file) + df = table.to_pandas() + model_dfs.append(df) + + if model_dfs: + model_df = pd.concat(model_dfs, ignore_index=True) + return model_df + else: + raise FileNotFoundError("No model data files found.") + + def read_agent_data(self): + """Read and combine all agent data Parquet files into a single DataFrame.""" + agent_files = glob.glob(f'{self.cache_file_path}/agent_data_*.parquet') + agent_dfs = [] + + for agent_file in agent_files: + table = pq.read_table(agent_file) + df = table.to_pandas() + agent_dfs.append(df) + + if agent_dfs: + agent_df = pd.concat(agent_dfs) + return agent_df + else: + raise FileNotFoundError("No agent data files found.") + + def combine_dataframes(self): + """Combine and return the model and agent DataFrames.""" + try: + model_df = self.read_model_data() + agent_df = self.read_agent_data() + + # Sort agent DataFrame by the multi-index (Step, AgentID) to ensure order + agent_df = agent_df.sort_index() + + return model_df, agent_df + except FileNotFoundError as e: + print(e) + return None, None + + +# FOR GRID KIV IGNORE NOW +import pandas as pd +from typing import Dict, List, Any +from random import Random +from mesa.agent import Agent +class AgentSerializer: + @staticmethod + def agent_to_dict(agent: Agent) -> Dict[str, Any]: + """Convert an Agent instance to a dictionary.""" + return { + 'unique_id': agent.unique_id, + 'model': str(agent.model), # Convert model to a string or identifier + 'pos': str(agent.pos) if agent.pos else None, # Convert position to a string or identifier + } + + @staticmethod + def dict_to_agent(agent_dict: Dict[str, Any], model: Any) -> Agent: + """Convert a dictionary to an Agent instance.""" + unique_id = agent_dict['unique_id'] + pos = agent_dict['pos'] if agent_dict['pos'] != 'None' else None + agent = Agent(unique_id=unique_id, model=model) + agent.pos = pos + return agent + + @staticmethod + def save_agents_to_parquet(agents: List[Agent], filename: str) -> None: + """Save a list of agents to a Parquet file.""" + agent_dicts = [AgentSerializer.agent_to_dict(agent) for agent in agents] + df = pd.DataFrame(agent_dicts) + df.to_parquet(filename) + + @staticmethod + def load_agents_from_parquet(filename: str, model: Any) -> List[Agent]: + """Load agents from a Parquet file.""" + df = pd.read_parquet(filename) + agents = [AgentSerializer.dict_to_agent(row.to_dict(), model) for _, row in df.iterrows()] + return agents From 753583dc05da6c0fd9b1943d7d7d126fd25417a9 Mon Sep 17 00:00:00 2001 From: Chan-Dong-Jun Date: Sun, 4 Aug 2024 17:22:59 +0800 Subject: [PATCH 8/9] cache agent.pos --- mesa/cacheable_model.py | 5 + mesa/cacheable_wrapper_example.ipynb | 20297 ++++--------------------- 2 files changed, 2919 insertions(+), 17383 deletions(-) diff --git a/mesa/cacheable_model.py b/mesa/cacheable_model.py index f21f3ae0d5e..4f3fbc621e9 100644 --- a/mesa/cacheable_model.py +++ b/mesa/cacheable_model.py @@ -67,12 +67,17 @@ def get_agent_vars_dataframe(self): all_records = itertools.chain.from_iterable(self.model.datacollector._agent_records.values()) rep_names = list(self.model.datacollector.agent_reporters) + print(f"{all_records=}") + print(f"{rep_names=}") df = pd.DataFrame.from_records( data=all_records, columns=["Step", "AgentID", *rep_names], index=["Step", "AgentID"], ) + + + sliced_df = df.loc[self._last_cached_step:self.model._steps] return sliced_df diff --git a/mesa/cacheable_wrapper_example.ipynb b/mesa/cacheable_wrapper_example.ipynb index 0d646d87e17..b83baae0372 100644 --- a/mesa/cacheable_wrapper_example.ipynb +++ b/mesa/cacheable_wrapper_example.ipynb @@ -3,6 +3,17 @@ { "cell_type": "code", "execution_count": 1, + "id": "06fcbb7d-c7f1-41ed-92b8-81bc6a6fcb25", + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.core.interactiveshell import InteractiveShell\n", + "InteractiveShell.ast_node_interactivity = \"all\"" + ] + }, + { + "cell_type": "code", + "execution_count": 2, "id": "initial_id", "metadata": {}, "outputs": [], @@ -20,9 +31,28 @@ "import pandas as pd" ] }, + { + "cell_type": "markdown", + "id": "1a5828b7-cd1b-4b6e-a802-414e36bf92b1", + "metadata": {}, + "source": [ + "# Cache results without solara; not on grid" + ] + }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, + "id": "39645a02-3204-465b-b66a-35c6d31bb40e", + "metadata": {}, + "outputs": [], + "source": [ + "from cacheable_model import CacheableModel\n", + "import cacheable_model" + ] + }, + { + "cell_type": "code", + "execution_count": 4, "id": "79ad4023-eeec-417d-bba6-488789992889", "metadata": {}, "outputs": [ @@ -41,28 +71,11 @@ " shutil.rmtree(directory_path)\n", " print(f\"Directory {directory_path} and its contents have been deleted.\")\n", "\n", - "directory_to_delete = \"test_path\"\n", - "delete_directory(directory_to_delete)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "c25f0179-d5ea-47d1-9e4e-c460030d5f73", - "metadata": {}, - "outputs": [], - "source": [ - "from cacheable_model import CacheableModel" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "7ecda9c7-ec67-4322-b351-99dc5d3a5a67", - "metadata": {}, - "outputs": [], - "source": [ - "import cacheable_model" + "try:\n", + " directory = \"test_path\"\n", + " delete_directory(directory)\n", + "except:\n", + " pass" ] }, { @@ -146,16 +159,289 @@ "metadata": {}, "outputs": [], "source": [ - "model = MoneyModel(100, 10, 10)\n" + "model = MoneyModel(100, 10, 10)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "c7858312-7d3e-4e7a-9eed-5c3f9dc7510a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'_seed': 0.5967757455124764,\n", + " 'random': ,\n", + " '_steps': 1000,\n", + " '_time': 1000,\n", + " 'running': True,\n", + " 'schedule': ,\n", + " 'current_id': 0,\n", + " 'agents_': defaultdict(dict,\n", + " {__main__.MoneyAgent: {<__main__.MoneyAgent at 0x7f77e00c45b0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c49a0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c48e0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4910>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c7df0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4a30>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4b20>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4b50>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4ca0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4cd0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4dc0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4d30>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4e20>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4e50>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4be0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4c40>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4ee0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4fd0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6d70>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6d40>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c50f0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5030>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5090>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6d10>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6bf0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6c50>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6ce0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6a40>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6aa0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6b60>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6b00>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4f10>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6a10>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6920>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6800>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c68f0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6890>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6950>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6620>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c66e0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c66b0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6740>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c65f0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6440>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6410>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c63b0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6350>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6320>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c62c0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6260>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c61d0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6020>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6050>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c61a0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6170>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c64d0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6530>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c69e0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6500>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c7f70>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5f60>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c7f40>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5180>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5120>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c7f10>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c7ee0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6110>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4a90>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4a60>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5270>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c52a0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c53f0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5420>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5480>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5510>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5540>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c55d0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5720>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5780>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c56c0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5600>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c57b0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5930>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c58a0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c57e0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5960>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5ae0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5ba0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5b70>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5c00>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5c30>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5c60>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5cc0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5db0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5ea0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5e10>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5d80>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5a50>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5a20>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c59c0>: None},\n", + " mesa.agent.Agent: {: None,\n", + " : None,\n", + " : None,\n", + " : None}}),\n", + " 'num_agents': 100,\n", + " 'grid': ,\n", + " 'datacollector': }" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.__dict__" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "d389733b-06a9-485e-821d-40cb06d2024c", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "defaultdict(dict,\n", + " {__main__.MoneyAgent: {<__main__.MoneyAgent at 0x7f77e00c45b0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c49a0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c48e0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4910>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c7df0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4a30>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4b20>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4b50>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4ca0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4cd0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4dc0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4d30>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4e20>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4e50>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4be0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4c40>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4ee0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4fd0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6d70>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6d40>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c50f0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5030>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5090>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6d10>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6bf0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6c50>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6ce0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6a40>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6aa0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6b60>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6b00>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4f10>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6a10>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6920>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6800>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c68f0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6890>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6950>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6620>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c66e0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c66b0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6740>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c65f0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6440>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6410>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c63b0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6350>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6320>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c62c0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6260>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c61d0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6020>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6050>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c61a0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6170>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c64d0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6530>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c69e0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6500>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c7f70>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5f60>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c7f40>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5180>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5120>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c7f10>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c7ee0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c6110>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4a90>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c4a60>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5270>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c52a0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c53f0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5420>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5480>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5510>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5540>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c55d0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5720>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5780>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c56c0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5600>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c57b0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5930>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c58a0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c57e0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5960>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5ae0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5ba0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5b70>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5c00>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5c30>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5c60>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5cc0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5db0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5ea0>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5e10>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5d80>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5a50>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c5a20>: None,\n", + " <__main__.MoneyAgent at 0x7f77e00c59c0>: None},\n", + " mesa.agent.Agent: {: None,\n", + " : None,\n", + " : None,\n", + " : None}})" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n" + ] + } + ], + "source": [ + "model.agents_\n", + "for i in model.agents_.keys():\n", + " print(i)" ] }, { "cell_type": "code", "execution_count": 7, - "id": "165b9f97-1e7b-40d5-8d6f-b705d0e45bd1", + "id": "bd0f1cd1-8f30-4ec0-b2c4-79d38cfa6a8f", "metadata": {}, "outputs": [], "source": [ + "# condition to cache the results specifically\n", "def condition_function(model_vars):\n", " return model_vars.get('Gini', 0)[-1] > 0.7" ] @@ -167,18064 +453,2057 @@ "metadata": {}, "outputs": [], "source": [ - "cacheable_model = CacheableModel(model, \"test_path\", 5555, condition_function)" + "number_of_steps = 1000\n", + "cacheable_model = CacheableModel(model, directory, number_of_steps, condition_function)" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "9d237ce1-d933-44fc-8818-2f373c4e710c", - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "code", "execution_count": 9, - "id": "dde8f54d-34ed-429d-99f7-b17c1b2cd5a5", - "metadata": { - "scrolled": true - }, + "id": "44387fbb-62be-4de3-a552-39c0f29635a0", + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n", - "model_vars.get('Gini', 0)[-1]=0.0\n", "Condition not met at step 1. No data to save.\n", "1\n", - "model_vars.get('Gini', 0)[-1]=0.32720000000000005\n", "Condition not met at step 2. No data to save.\n", "2\n", - "model_vars.get('Gini', 0)[-1]=0.4626\n", "Condition not met at step 3. No data to save.\n", "3\n", - "model_vars.get('Gini', 0)[-1]=0.4626\n", "Condition not met at step 4. No data to save.\n", "4\n", - "model_vars.get('Gini', 0)[-1]=0.508\n", "Condition not met at step 5. No data to save.\n", "5\n", - "model_vars.get('Gini', 0)[-1]=0.5302\n", "Condition not met at step 6. No data to save.\n", "6\n", - "model_vars.get('Gini', 0)[-1]=0.5518000000000001\n", "Condition not met at step 7. No data to save.\n", "7\n", - "model_vars.get('Gini', 0)[-1]=0.5973999999999999\n", "Condition not met at step 8. No data to save.\n", "8\n", - "model_vars.get('Gini', 0)[-1]=0.6082000000000001\n", "Condition not met at step 9. No data to save.\n", "9\n", - "model_vars.get('Gini', 0)[-1]=0.6000000000000001\n", "Condition not met at step 10. No data to save.\n", "10\n", - "model_vars.get('Gini', 0)[-1]=0.6046\n", "Condition not met at step 11. No data to save.\n", "11\n", - "model_vars.get('Gini', 0)[-1]=0.6093999999999999\n", "Condition not met at step 12. No data to save.\n", "12\n", - "model_vars.get('Gini', 0)[-1]=0.618\n", "Condition not met at step 13. No data to save.\n", "13\n", - "model_vars.get('Gini', 0)[-1]=0.6096\n", "Condition not met at step 14. No data to save.\n", "14\n", - "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", "Condition not met at step 15. No data to save.\n", "15\n", - "model_vars.get('Gini', 0)[-1]=0.6044\n", "Condition not met at step 16. No data to save.\n", "16\n", - "model_vars.get('Gini', 0)[-1]=0.6078\n", "Condition not met at step 17. No data to save.\n", "17\n", - "model_vars.get('Gini', 0)[-1]=0.6018\n", "Condition not met at step 18. No data to save.\n", "18\n", - "model_vars.get('Gini', 0)[-1]=0.6058\n", "Condition not met at step 19. No data to save.\n", "19\n", - "model_vars.get('Gini', 0)[-1]=0.616\n", "Condition not met at step 20. No data to save.\n", "20\n", - "model_vars.get('Gini', 0)[-1]=0.5754\n", "Condition not met at step 21. No data to save.\n", "21\n", - "model_vars.get('Gini', 0)[-1]=0.5886\n", "Condition not met at step 22. No data to save.\n", "22\n", - "model_vars.get('Gini', 0)[-1]=0.6106\n", "Condition not met at step 23. No data to save.\n", "23\n", - "model_vars.get('Gini', 0)[-1]=0.6156\n", "Condition not met at step 24. No data to save.\n", "24\n", - "model_vars.get('Gini', 0)[-1]=0.6334\n", "Condition not met at step 25. No data to save.\n", "25\n", - "model_vars.get('Gini', 0)[-1]=0.6562\n", "Condition not met at step 26. No data to save.\n", "26\n", - "model_vars.get('Gini', 0)[-1]=0.6592\n", "Condition not met at step 27. No data to save.\n", "27\n", - "model_vars.get('Gini', 0)[-1]=0.6652\n", "Condition not met at step 28. No data to save.\n", "28\n", - "model_vars.get('Gini', 0)[-1]=0.6408\n", "Condition not met at step 29. No data to save.\n", "29\n", - "model_vars.get('Gini', 0)[-1]=0.653\n", "Condition not met at step 30. No data to save.\n", "30\n", - "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", "Condition not met at step 31. No data to save.\n", "31\n", - "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", "Condition not met at step 32. No data to save.\n", "32\n", - "model_vars.get('Gini', 0)[-1]=0.6662\n", "Condition not met at step 33. No data to save.\n", "33\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", "Condition not met at step 34. No data to save.\n", "34\n", - "model_vars.get('Gini', 0)[-1]=0.6804\n", "Condition not met at step 35. No data to save.\n", "35\n", - "model_vars.get('Gini', 0)[-1]=0.6636\n", "Condition not met at step 36. No data to save.\n", "36\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", "Condition not met at step 37. No data to save.\n", "37\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", "Condition not met at step 38. No data to save.\n", "38\n", - "model_vars.get('Gini', 0)[-1]=0.6892\n", "Condition not met at step 39. No data to save.\n", "39\n", - "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", "Condition not met at step 40. No data to save.\n", "40\n", - "model_vars.get('Gini', 0)[-1]=0.6894\n", "Condition not met at step 41. No data to save.\n", "41\n", - "model_vars.get('Gini', 0)[-1]=0.7046\n", - "Condition met. Appended special results for step 42 to test_path/special_results.parquet\n", + "Condition not met at step 42. No data to save.\n", "42\n", - "model_vars.get('Gini', 0)[-1]=0.7010000000000001\n", - "Condition met. Appended special results for step 43 to test_path/special_results.parquet\n", + "Condition not met at step 43. No data to save.\n", "43\n", - "model_vars.get('Gini', 0)[-1]=0.7056\n", - "Condition met. Appended special results for step 44 to test_path/special_results.parquet\n", + "Condition not met at step 44. No data to save.\n", "44\n", - "model_vars.get('Gini', 0)[-1]=0.7203999999999999\n", - "Condition met. Appended special results for step 45 to test_path/special_results.parquet\n", + "Condition not met at step 45. No data to save.\n", "45\n", - "model_vars.get('Gini', 0)[-1]=0.7092\n", - "Condition met. Appended special results for step 46 to test_path/special_results.parquet\n", + "Condition not met at step 46. No data to save.\n", "46\n", - "model_vars.get('Gini', 0)[-1]=0.7028000000000001\n", - "Condition met. Appended special results for step 47 to test_path/special_results.parquet\n", + "Condition not met at step 47. No data to save.\n", "47\n", - "model_vars.get('Gini', 0)[-1]=0.7166\n", - "Condition met. Appended special results for step 48 to test_path/special_results.parquet\n", + "Condition not met at step 48. No data to save.\n", "48\n", - "model_vars.get('Gini', 0)[-1]=0.7146\n", - "Condition met. Appended special results for step 49 to test_path/special_results.parquet\n", + "Condition not met at step 49. No data to save.\n", "49\n", - "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", "Condition not met at step 50. No data to save.\n", "50\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", "Condition not met at step 51. No data to save.\n", "51\n", - "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", "Condition not met at step 52. No data to save.\n", "52\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", "Condition not met at step 53. No data to save.\n", "53\n", - "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", "Condition not met at step 54. No data to save.\n", "54\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", "Condition not met at step 55. No data to save.\n", "55\n", - "model_vars.get('Gini', 0)[-1]=0.6914\n", "Condition not met at step 56. No data to save.\n", "56\n", - "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", "Condition not met at step 57. No data to save.\n", "57\n", - "model_vars.get('Gini', 0)[-1]=0.7058\n", - "Condition met. Appended special results for step 58 to test_path/special_results.parquet\n", + "Condition not met at step 58. No data to save.\n", "58\n", - "model_vars.get('Gini', 0)[-1]=0.7056\n", - "Condition met. Appended special results for step 59 to test_path/special_results.parquet\n", + "Condition not met at step 59. No data to save.\n", "59\n", - "model_vars.get('Gini', 0)[-1]=0.7250000000000001\n", - "Condition met. Appended special results for step 60 to test_path/special_results.parquet\n", + "Condition not met at step 60. No data to save.\n", "60\n", - "model_vars.get('Gini', 0)[-1]=0.7012\n", - "Condition met. Appended special results for step 61 to test_path/special_results.parquet\n", + "Condition not met at step 61. No data to save.\n", "61\n", - "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", - "Condition met. Appended special results for step 62 to test_path/special_results.parquet\n", + "Condition not met at step 62. No data to save.\n", "62\n", - "model_vars.get('Gini', 0)[-1]=0.7088\n", - "Condition met. Appended special results for step 63 to test_path/special_results.parquet\n", + "Condition not met at step 63. No data to save.\n", "63\n", - "model_vars.get('Gini', 0)[-1]=0.6976\n", "Condition not met at step 64. No data to save.\n", "64\n", - "model_vars.get('Gini', 0)[-1]=0.7183999999999999\n", - "Condition met. Appended special results for step 65 to test_path/special_results.parquet\n", + "Condition not met at step 65. No data to save.\n", "65\n", - "model_vars.get('Gini', 0)[-1]=0.7010000000000001\n", - "Condition met. Appended special results for step 66 to test_path/special_results.parquet\n", + "Condition not met at step 66. No data to save.\n", "66\n", - "model_vars.get('Gini', 0)[-1]=0.7012\n", - "Condition met. Appended special results for step 67 to test_path/special_results.parquet\n", + "Condition not met at step 67. No data to save.\n", "67\n", - "model_vars.get('Gini', 0)[-1]=0.698\n", "Condition not met at step 68. No data to save.\n", "68\n", - "model_vars.get('Gini', 0)[-1]=0.7028000000000001\n", - "Condition met. Appended special results for step 69 to test_path/special_results.parquet\n", + "Condition not met at step 69. No data to save.\n", "69\n", - "model_vars.get('Gini', 0)[-1]=0.7414000000000001\n", - "Condition met. Appended special results for step 70 to test_path/special_results.parquet\n", + "Condition not met at step 70. No data to save.\n", "70\n", - "model_vars.get('Gini', 0)[-1]=0.73\n", - "Condition met. Appended special results for step 71 to test_path/special_results.parquet\n", + "Condition not met at step 71. No data to save.\n", "71\n", - "model_vars.get('Gini', 0)[-1]=0.7041999999999999\n", - "Condition met. Appended special results for step 72 to test_path/special_results.parquet\n", + "Condition not met at step 72. No data to save.\n", "72\n", - "model_vars.get('Gini', 0)[-1]=0.6754\n", "Condition not met at step 73. No data to save.\n", "73\n", - "model_vars.get('Gini', 0)[-1]=0.6956\n", "Condition not met at step 74. No data to save.\n", "74\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", "Condition not met at step 75. No data to save.\n", "75\n", - "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", "Condition not met at step 76. No data to save.\n", "76\n", - "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", "Condition not met at step 77. No data to save.\n", "77\n", - "model_vars.get('Gini', 0)[-1]=0.6952\n", "Condition not met at step 78. No data to save.\n", "78\n", - "model_vars.get('Gini', 0)[-1]=0.6904\n", "Condition not met at step 79. No data to save.\n", "79\n", - "model_vars.get('Gini', 0)[-1]=0.7098\n", - "Condition met. Appended special results for step 80 to test_path/special_results.parquet\n", + "Condition not met at step 80. No data to save.\n", "80\n", - "model_vars.get('Gini', 0)[-1]=0.7174\n", - "Condition met. Appended special results for step 81 to test_path/special_results.parquet\n", + "Condition not met at step 81. No data to save.\n", "81\n", - "model_vars.get('Gini', 0)[-1]=0.7203999999999999\n", - "Condition met. Appended special results for step 82 to test_path/special_results.parquet\n", + "Condition not met at step 82. No data to save.\n", "82\n", - "model_vars.get('Gini', 0)[-1]=0.7144\n", - "Condition met. Appended special results for step 83 to test_path/special_results.parquet\n", + "Condition not met at step 83. No data to save.\n", "83\n", - "model_vars.get('Gini', 0)[-1]=0.712\n", - "Condition met. Appended special results for step 84 to test_path/special_results.parquet\n", + "Condition not met at step 84. No data to save.\n", "84\n", - "model_vars.get('Gini', 0)[-1]=0.7004\n", - "Condition met. Appended special results for step 85 to test_path/special_results.parquet\n", + "Condition not met at step 85. No data to save.\n", "85\n", - "model_vars.get('Gini', 0)[-1]=0.6952\n", "Condition not met at step 86. No data to save.\n", "86\n", - "model_vars.get('Gini', 0)[-1]=0.7016\n", - "Condition met. Appended special results for step 87 to test_path/special_results.parquet\n", + "Condition not met at step 87. No data to save.\n", "87\n", - "model_vars.get('Gini', 0)[-1]=0.6692\n", "Condition not met at step 88. No data to save.\n", "88\n", - "model_vars.get('Gini', 0)[-1]=0.6692\n", "Condition not met at step 89. No data to save.\n", "89\n", - "model_vars.get('Gini', 0)[-1]=0.679\n", "Condition not met at step 90. No data to save.\n", "90\n", - "model_vars.get('Gini', 0)[-1]=0.6826\n", "Condition not met at step 91. No data to save.\n", "91\n", - "model_vars.get('Gini', 0)[-1]=0.6794\n", "Condition not met at step 92. No data to save.\n", "92\n", - "model_vars.get('Gini', 0)[-1]=0.6890000000000001\n", "Condition not met at step 93. No data to save.\n", "93\n", - "model_vars.get('Gini', 0)[-1]=0.6974\n", "Condition not met at step 94. No data to save.\n", "94\n", - "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", - "Condition not met at step 95. No data to save.\n", + "Condition met. Appended special results for step 95 to test_path/special_results.parquet\n", "95\n", - "model_vars.get('Gini', 0)[-1]=0.6754\n", "Condition not met at step 96. No data to save.\n", "96\n", - "model_vars.get('Gini', 0)[-1]=0.6764\n", "Condition not met at step 97. No data to save.\n", "97\n", - "model_vars.get('Gini', 0)[-1]=0.6834\n", "Condition not met at step 98. No data to save.\n", "98\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", "Condition not met at step 99. No data to save.\n", "99\n", - "CALLED\n", - "self.model._steps=100\n", - " TEST self.model._steps=100\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "0 0.0000\n", - "1 0.3272\n", - "2 0.4626\n", - "3 0.4626\n", - "4 0.5080\n", - ".. ...\n", - "95 0.6754\n", - "96 0.6764\n", - "97 0.6834\n", - "98 0.6582\n", - "99 0.6464\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_001.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_001.parquet'\n", - "Saving model to test_path/model_data_001.parquet\n", - "Saving agent to test_path/agent_data_001.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", + "all_records=\n", + "rep_names=['Wealth']\n", "Condition not met at step 100. No data to save.\n", "100\n", - "model_vars.get('Gini', 0)[-1]=0.665\n", "Condition not met at step 101. No data to save.\n", "101\n", - "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", "Condition not met at step 102. No data to save.\n", "102\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", "Condition not met at step 103. No data to save.\n", "103\n", - "model_vars.get('Gini', 0)[-1]=0.6656\n", "Condition not met at step 104. No data to save.\n", "104\n", - "model_vars.get('Gini', 0)[-1]=0.645\n", - "Condition not met at step 105. No data to save.\n", + "Condition met. Appended special results for step 105 to test_path/special_results.parquet\n", "105\n", - "model_vars.get('Gini', 0)[-1]=0.6514\n", - "Condition not met at step 106. No data to save.\n", + "Condition met. Appended special results for step 106 to test_path/special_results.parquet\n", "106\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 107. No data to save.\n", + "Condition met. Appended special results for step 107 to test_path/special_results.parquet\n", "107\n", - "model_vars.get('Gini', 0)[-1]=0.6412\n", - "Condition not met at step 108. No data to save.\n", + "Condition met. Appended special results for step 108 to test_path/special_results.parquet\n", "108\n", - "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", - "Condition not met at step 109. No data to save.\n", + "Condition met. Appended special results for step 109 to test_path/special_results.parquet\n", "109\n", - "model_vars.get('Gini', 0)[-1]=0.662\n", "Condition not met at step 110. No data to save.\n", "110\n", - "model_vars.get('Gini', 0)[-1]=0.6388\n", - "Condition not met at step 111. No data to save.\n", + "Condition met. Appended special results for step 111 to test_path/special_results.parquet\n", "111\n", - "model_vars.get('Gini', 0)[-1]=0.628\n", "Condition not met at step 112. No data to save.\n", "112\n", - "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", "Condition not met at step 113. No data to save.\n", "113\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", "Condition not met at step 114. No data to save.\n", "114\n", - "model_vars.get('Gini', 0)[-1]=0.6702\n", "Condition not met at step 115. No data to save.\n", "115\n", - "model_vars.get('Gini', 0)[-1]=0.6414\n", "Condition not met at step 116. No data to save.\n", "116\n", - "model_vars.get('Gini', 0)[-1]=0.655\n", "Condition not met at step 117. No data to save.\n", "117\n", - "model_vars.get('Gini', 0)[-1]=0.6696\n", "Condition not met at step 118. No data to save.\n", "118\n", - "model_vars.get('Gini', 0)[-1]=0.6576\n", "Condition not met at step 119. No data to save.\n", "119\n", - "model_vars.get('Gini', 0)[-1]=0.654\n", "Condition not met at step 120. No data to save.\n", "120\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", "Condition not met at step 121. No data to save.\n", "121\n", - "model_vars.get('Gini', 0)[-1]=0.6516\n", "Condition not met at step 122. No data to save.\n", "122\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", "Condition not met at step 123. No data to save.\n", "123\n", - "model_vars.get('Gini', 0)[-1]=0.6736\n", "Condition not met at step 124. No data to save.\n", "124\n", - "model_vars.get('Gini', 0)[-1]=0.6736\n", "Condition not met at step 125. No data to save.\n", "125\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", "Condition not met at step 126. No data to save.\n", "126\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", "Condition not met at step 127. No data to save.\n", "127\n", - "model_vars.get('Gini', 0)[-1]=0.6782\n", "Condition not met at step 128. No data to save.\n", "128\n", - "model_vars.get('Gini', 0)[-1]=0.6742\n", "Condition not met at step 129. No data to save.\n", "129\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", "Condition not met at step 130. No data to save.\n", "130\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", "Condition not met at step 131. No data to save.\n", "131\n", - "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", "Condition not met at step 132. No data to save.\n", "132\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", "Condition not met at step 133. No data to save.\n", "133\n", - "model_vars.get('Gini', 0)[-1]=0.639\n", "Condition not met at step 134. No data to save.\n", "134\n", - "model_vars.get('Gini', 0)[-1]=0.638\n", "Condition not met at step 135. No data to save.\n", "135\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", "Condition not met at step 136. No data to save.\n", "136\n", - "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", "Condition not met at step 137. No data to save.\n", "137\n", - "model_vars.get('Gini', 0)[-1]=0.6144000000000001\n", "Condition not met at step 138. No data to save.\n", "138\n", - "model_vars.get('Gini', 0)[-1]=0.5794\n", "Condition not met at step 139. No data to save.\n", "139\n", - "model_vars.get('Gini', 0)[-1]=0.5993999999999999\n", "Condition not met at step 140. No data to save.\n", "140\n", - "model_vars.get('Gini', 0)[-1]=0.6272\n", "Condition not met at step 141. No data to save.\n", "141\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", "Condition not met at step 142. No data to save.\n", "142\n", - "model_vars.get('Gini', 0)[-1]=0.621\n", "Condition not met at step 143. No data to save.\n", "143\n", - "model_vars.get('Gini', 0)[-1]=0.6192\n", "Condition not met at step 144. No data to save.\n", "144\n", - "model_vars.get('Gini', 0)[-1]=0.5778000000000001\n", "Condition not met at step 145. No data to save.\n", "145\n", - "model_vars.get('Gini', 0)[-1]=0.616\n", "Condition not met at step 146. No data to save.\n", "146\n", - "model_vars.get('Gini', 0)[-1]=0.6402\n", "Condition not met at step 147. No data to save.\n", "147\n", - "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", "Condition not met at step 148. No data to save.\n", "148\n", - "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", "Condition not met at step 149. No data to save.\n", "149\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", "Condition not met at step 150. No data to save.\n", "150\n", - "model_vars.get('Gini', 0)[-1]=0.6392\n", "Condition not met at step 151. No data to save.\n", "151\n", - "model_vars.get('Gini', 0)[-1]=0.6238\n", "Condition not met at step 152. No data to save.\n", "152\n", - "model_vars.get('Gini', 0)[-1]=0.6294\n", "Condition not met at step 153. No data to save.\n", "153\n", - "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", "Condition not met at step 154. No data to save.\n", "154\n", - "model_vars.get('Gini', 0)[-1]=0.6372\n", "Condition not met at step 155. No data to save.\n", "155\n", - "model_vars.get('Gini', 0)[-1]=0.6392\n", "Condition not met at step 156. No data to save.\n", "156\n", - "model_vars.get('Gini', 0)[-1]=0.6232\n", "Condition not met at step 157. No data to save.\n", "157\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", "Condition not met at step 158. No data to save.\n", "158\n", - "model_vars.get('Gini', 0)[-1]=0.6454\n", "Condition not met at step 159. No data to save.\n", "159\n", - "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", "Condition not met at step 160. No data to save.\n", "160\n", - "model_vars.get('Gini', 0)[-1]=0.64\n", "Condition not met at step 161. No data to save.\n", "161\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", "Condition not met at step 162. No data to save.\n", "162\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", "Condition not met at step 163. No data to save.\n", "163\n", - "model_vars.get('Gini', 0)[-1]=0.6612\n", "Condition not met at step 164. No data to save.\n", "164\n", - "model_vars.get('Gini', 0)[-1]=0.6622\n", "Condition not met at step 165. No data to save.\n", "165\n", - "model_vars.get('Gini', 0)[-1]=0.6572\n", "Condition not met at step 166. No data to save.\n", "166\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", "Condition not met at step 167. No data to save.\n", "167\n", - "model_vars.get('Gini', 0)[-1]=0.654\n", "Condition not met at step 168. No data to save.\n", "168\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", "Condition not met at step 169. No data to save.\n", "169\n", - "model_vars.get('Gini', 0)[-1]=0.6736\n", "Condition not met at step 170. No data to save.\n", "170\n", - "model_vars.get('Gini', 0)[-1]=0.6346\n", "Condition not met at step 171. No data to save.\n", "171\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", "Condition not met at step 172. No data to save.\n", "172\n", - "model_vars.get('Gini', 0)[-1]=0.6556\n", "Condition not met at step 173. No data to save.\n", "173\n", - "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", "Condition not met at step 174. No data to save.\n", "174\n", - "model_vars.get('Gini', 0)[-1]=0.6742\n", "Condition not met at step 175. No data to save.\n", "175\n", - "model_vars.get('Gini', 0)[-1]=0.6722\n", "Condition not met at step 176. No data to save.\n", "176\n", - "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", "Condition not met at step 177. No data to save.\n", "177\n", - "model_vars.get('Gini', 0)[-1]=0.6876\n", "Condition not met at step 178. No data to save.\n", "178\n", - "model_vars.get('Gini', 0)[-1]=0.6776\n", "Condition not met at step 179. No data to save.\n", "179\n", - "model_vars.get('Gini', 0)[-1]=0.706\n", - "Condition met. Appended special results for step 180 to test_path/special_results.parquet\n", + "Condition not met at step 180. No data to save.\n", "180\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", "Condition not met at step 181. No data to save.\n", "181\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", "Condition not met at step 182. No data to save.\n", "182\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", "Condition not met at step 183. No data to save.\n", "183\n", - "model_vars.get('Gini', 0)[-1]=0.6492\n", "Condition not met at step 184. No data to save.\n", "184\n", - "model_vars.get('Gini', 0)[-1]=0.6374\n", "Condition not met at step 185. No data to save.\n", "185\n", - "model_vars.get('Gini', 0)[-1]=0.6366\n", "Condition not met at step 186. No data to save.\n", "186\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", "Condition not met at step 187. No data to save.\n", "187\n", - "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", "Condition not met at step 188. No data to save.\n", "188\n", - "model_vars.get('Gini', 0)[-1]=0.6562\n", "Condition not met at step 189. No data to save.\n", "189\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", "Condition not met at step 190. No data to save.\n", "190\n", - "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", "Condition not met at step 191. No data to save.\n", "191\n", - "model_vars.get('Gini', 0)[-1]=0.5978\n", "Condition not met at step 192. No data to save.\n", "192\n", - "model_vars.get('Gini', 0)[-1]=0.6194\n", "Condition not met at step 193. No data to save.\n", "193\n", - "model_vars.get('Gini', 0)[-1]=0.6195999999999999\n", "Condition not met at step 194. No data to save.\n", "194\n", - "model_vars.get('Gini', 0)[-1]=0.6144000000000001\n", "Condition not met at step 195. No data to save.\n", "195\n", - "model_vars.get('Gini', 0)[-1]=0.6086\n", "Condition not met at step 196. No data to save.\n", "196\n", - "model_vars.get('Gini', 0)[-1]=0.6013999999999999\n", "Condition not met at step 197. No data to save.\n", "197\n", - "model_vars.get('Gini', 0)[-1]=0.613\n", "Condition not met at step 198. No data to save.\n", "198\n", - "model_vars.get('Gini', 0)[-1]=0.6184000000000001\n", "Condition not met at step 199. No data to save.\n", "199\n", - "CALLED\n", - "self.model._steps=200\n", - " TEST self.model._steps=200\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "100 0.6650\n", - "101 0.6506\n", - "102 0.6734\n", - "103 0.6656\n", - "104 0.6450\n", - ".. ...\n", - "195 0.6086\n", - "196 0.6014\n", - "197 0.6130\n", - "198 0.6184\n", - "199 0.6284\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_002.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_002.parquet'\n", - "Saving model to test_path/model_data_002.parquet\n", - "Saving agent to test_path/agent_data_002.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", + "all_records=\n", + "rep_names=['Wealth']\n", "Condition not met at step 200. No data to save.\n", "200\n", - "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", "Condition not met at step 201. No data to save.\n", "201\n", - "model_vars.get('Gini', 0)[-1]=0.6086\n", "Condition not met at step 202. No data to save.\n", "202\n", - "model_vars.get('Gini', 0)[-1]=0.625\n", "Condition not met at step 203. No data to save.\n", "203\n", - "model_vars.get('Gini', 0)[-1]=0.606\n", "Condition not met at step 204. No data to save.\n", "204\n", - "model_vars.get('Gini', 0)[-1]=0.624\n", "Condition not met at step 205. No data to save.\n", "205\n", - "model_vars.get('Gini', 0)[-1]=0.6388\n", "Condition not met at step 206. No data to save.\n", "206\n", - "model_vars.get('Gini', 0)[-1]=0.6158\n", "Condition not met at step 207. No data to save.\n", "207\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", "Condition not met at step 208. No data to save.\n", "208\n", - "model_vars.get('Gini', 0)[-1]=0.6494\n", "Condition not met at step 209. No data to save.\n", "209\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", "Condition not met at step 210. No data to save.\n", "210\n", - "model_vars.get('Gini', 0)[-1]=0.6358\n", "Condition not met at step 211. No data to save.\n", "211\n", - "model_vars.get('Gini', 0)[-1]=0.6328\n", "Condition not met at step 212. No data to save.\n", "212\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", "Condition not met at step 213. No data to save.\n", "213\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", "Condition not met at step 214. No data to save.\n", "214\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", "Condition not met at step 215. No data to save.\n", "215\n", - "model_vars.get('Gini', 0)[-1]=0.6456\n", "Condition not met at step 216. No data to save.\n", "216\n", - "model_vars.get('Gini', 0)[-1]=0.6358\n", "Condition not met at step 217. No data to save.\n", "217\n", - "model_vars.get('Gini', 0)[-1]=0.642\n", "Condition not met at step 218. No data to save.\n", "218\n", - "model_vars.get('Gini', 0)[-1]=0.659\n", "Condition not met at step 219. No data to save.\n", "219\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", "Condition not met at step 220. No data to save.\n", "220\n", - "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", "Condition not met at step 221. No data to save.\n", "221\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", "Condition not met at step 222. No data to save.\n", "222\n", - "model_vars.get('Gini', 0)[-1]=0.6584\n", "Condition not met at step 223. No data to save.\n", "223\n", - "model_vars.get('Gini', 0)[-1]=0.663\n", "Condition not met at step 224. No data to save.\n", "224\n", - "model_vars.get('Gini', 0)[-1]=0.6312\n", "Condition not met at step 225. No data to save.\n", "225\n", - "model_vars.get('Gini', 0)[-1]=0.6215999999999999\n", "Condition not met at step 226. No data to save.\n", "226\n", - "model_vars.get('Gini', 0)[-1]=0.5973999999999999\n", "Condition not met at step 227. No data to save.\n", "227\n", - "model_vars.get('Gini', 0)[-1]=0.623\n", "Condition not met at step 228. No data to save.\n", "228\n", - "model_vars.get('Gini', 0)[-1]=0.6532\n", "Condition not met at step 229. No data to save.\n", "229\n", - "model_vars.get('Gini', 0)[-1]=0.6502\n", "Condition not met at step 230. No data to save.\n", "230\n", - "model_vars.get('Gini', 0)[-1]=0.654\n", "Condition not met at step 231. No data to save.\n", "231\n", - "model_vars.get('Gini', 0)[-1]=0.6608\n", "Condition not met at step 232. No data to save.\n", "232\n", - "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", "Condition not met at step 233. No data to save.\n", "233\n", - "model_vars.get('Gini', 0)[-1]=0.6344000000000001\n", "Condition not met at step 234. No data to save.\n", "234\n", - "model_vars.get('Gini', 0)[-1]=0.6374\n", - "Condition not met at step 235. No data to save.\n", + "Condition met. Appended special results for step 235 to test_path/special_results.parquet\n", "235\n", - "model_vars.get('Gini', 0)[-1]=0.621\n", "Condition not met at step 236. No data to save.\n", "236\n", - "model_vars.get('Gini', 0)[-1]=0.6282000000000001\n", "Condition not met at step 237. No data to save.\n", "237\n", - "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", "Condition not met at step 238. No data to save.\n", "238\n", - "model_vars.get('Gini', 0)[-1]=0.6166\n", "Condition not met at step 239. No data to save.\n", "239\n", - "model_vars.get('Gini', 0)[-1]=0.6033999999999999\n", "Condition not met at step 240. No data to save.\n", "240\n", - "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", "Condition not met at step 241. No data to save.\n", "241\n", - "model_vars.get('Gini', 0)[-1]=0.5998\n", "Condition not met at step 242. No data to save.\n", "242\n", - "model_vars.get('Gini', 0)[-1]=0.6292\n", "Condition not met at step 243. No data to save.\n", "243\n", - "model_vars.get('Gini', 0)[-1]=0.6394\n", "Condition not met at step 244. No data to save.\n", "244\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", "Condition not met at step 245. No data to save.\n", "245\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", "Condition not met at step 246. No data to save.\n", "246\n", - "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", "Condition not met at step 247. No data to save.\n", "247\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", "Condition not met at step 248. No data to save.\n", "248\n", - "model_vars.get('Gini', 0)[-1]=0.683\n", "Condition not met at step 249. No data to save.\n", "249\n", - "model_vars.get('Gini', 0)[-1]=0.679\n", "Condition not met at step 250. No data to save.\n", "250\n", - "model_vars.get('Gini', 0)[-1]=0.6862\n", "Condition not met at step 251. No data to save.\n", "251\n", - "model_vars.get('Gini', 0)[-1]=0.6882\n", "Condition not met at step 252. No data to save.\n", "252\n", - "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", "Condition not met at step 253. No data to save.\n", "253\n", - "model_vars.get('Gini', 0)[-1]=0.6978\n", "Condition not met at step 254. No data to save.\n", "254\n", - "model_vars.get('Gini', 0)[-1]=0.6836\n", "Condition not met at step 255. No data to save.\n", "255\n", - "model_vars.get('Gini', 0)[-1]=0.6996\n", "Condition not met at step 256. No data to save.\n", "256\n", - "model_vars.get('Gini', 0)[-1]=0.6984\n", "Condition not met at step 257. No data to save.\n", "257\n", - "model_vars.get('Gini', 0)[-1]=0.6950000000000001\n", "Condition not met at step 258. No data to save.\n", "258\n", - "model_vars.get('Gini', 0)[-1]=0.6904\n", "Condition not met at step 259. No data to save.\n", "259\n", - "model_vars.get('Gini', 0)[-1]=0.6964\n", "Condition not met at step 260. No data to save.\n", "260\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", "Condition not met at step 261. No data to save.\n", "261\n", - "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", "Condition not met at step 262. No data to save.\n", "262\n", - "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", "Condition not met at step 263. No data to save.\n", "263\n", - "model_vars.get('Gini', 0)[-1]=0.6692\n", "Condition not met at step 264. No data to save.\n", "264\n", - "model_vars.get('Gini', 0)[-1]=0.7076\n", - "Condition met. Appended special results for step 265 to test_path/special_results.parquet\n", + "Condition not met at step 265. No data to save.\n", "265\n", - "model_vars.get('Gini', 0)[-1]=0.6912\n", "Condition not met at step 266. No data to save.\n", "266\n", - "model_vars.get('Gini', 0)[-1]=0.6754\n", "Condition not met at step 267. No data to save.\n", "267\n", - "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", "Condition not met at step 268. No data to save.\n", "268\n", - "model_vars.get('Gini', 0)[-1]=0.6376\n", "Condition not met at step 269. No data to save.\n", "269\n", - "model_vars.get('Gini', 0)[-1]=0.6392\n", "Condition not met at step 270. No data to save.\n", "270\n", - "model_vars.get('Gini', 0)[-1]=0.6476\n", "Condition not met at step 271. No data to save.\n", "271\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", "Condition not met at step 272. No data to save.\n", "272\n", - "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", "Condition not met at step 273. No data to save.\n", "273\n", - "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", "Condition not met at step 274. No data to save.\n", "274\n", - "model_vars.get('Gini', 0)[-1]=0.6338\n", "Condition not met at step 275. No data to save.\n", "275\n", - "model_vars.get('Gini', 0)[-1]=0.6106\n", "Condition not met at step 276. No data to save.\n", "276\n", - "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", "Condition not met at step 277. No data to save.\n", "277\n", - "model_vars.get('Gini', 0)[-1]=0.627\n", "Condition not met at step 278. No data to save.\n", "278\n", - "model_vars.get('Gini', 0)[-1]=0.622\n", "Condition not met at step 279. No data to save.\n", "279\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", "Condition not met at step 280. No data to save.\n", "280\n", - "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", "Condition not met at step 281. No data to save.\n", "281\n", - "model_vars.get('Gini', 0)[-1]=0.6592\n", - "Condition not met at step 282. No data to save.\n", + "Condition met. Appended special results for step 282 to test_path/special_results.parquet\n", "282\n", - "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", "Condition not met at step 283. No data to save.\n", "283\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", - "Condition not met at step 284. No data to save.\n", + "Condition met. Appended special results for step 284 to test_path/special_results.parquet\n", "284\n", - "model_vars.get('Gini', 0)[-1]=0.6572\n", - "Condition not met at step 285. No data to save.\n", + "Condition met. Appended special results for step 285 to test_path/special_results.parquet\n", "285\n", - "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", - "Condition not met at step 286. No data to save.\n", + "Condition met. Appended special results for step 286 to test_path/special_results.parquet\n", "286\n", - "model_vars.get('Gini', 0)[-1]=0.6722\n", "Condition not met at step 287. No data to save.\n", "287\n", - "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", "Condition not met at step 288. No data to save.\n", "288\n", - "model_vars.get('Gini', 0)[-1]=0.6716\n", - "Condition not met at step 289. No data to save.\n", + "Condition met. Appended special results for step 289 to test_path/special_results.parquet\n", "289\n", - "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", "Condition not met at step 290. No data to save.\n", "290\n", - "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", "Condition not met at step 291. No data to save.\n", "291\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", "Condition not met at step 292. No data to save.\n", "292\n", - "model_vars.get('Gini', 0)[-1]=0.6696\n", "Condition not met at step 293. No data to save.\n", "293\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", "Condition not met at step 294. No data to save.\n", "294\n", - "model_vars.get('Gini', 0)[-1]=0.64\n", "Condition not met at step 295. No data to save.\n", "295\n", - "model_vars.get('Gini', 0)[-1]=0.6338\n", "Condition not met at step 296. No data to save.\n", "296\n", - "model_vars.get('Gini', 0)[-1]=0.642\n", "Condition not met at step 297. No data to save.\n", "297\n", - "model_vars.get('Gini', 0)[-1]=0.6716\n", "Condition not met at step 298. No data to save.\n", "298\n", - "model_vars.get('Gini', 0)[-1]=0.6904\n", "Condition not met at step 299. No data to save.\n", "299\n", - "CALLED\n", - "self.model._steps=300\n", - " TEST self.model._steps=300\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "200 0.6256\n", - "201 0.6086\n", - "202 0.6250\n", - "203 0.6060\n", - "204 0.6240\n", - ".. ...\n", - "295 0.6338\n", - "296 0.6420\n", - "297 0.6716\n", - "298 0.6904\n", - "299 0.6808\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_003.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_003.parquet'\n", - "Saving model to test_path/model_data_003.parquet\n", - "Saving agent to test_path/agent_data_003.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", + "all_records=\n", + "rep_names=['Wealth']\n", "Condition not met at step 300. No data to save.\n", "300\n", - "model_vars.get('Gini', 0)[-1]=0.6764\n", "Condition not met at step 301. No data to save.\n", "301\n", - "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", "Condition not met at step 302. No data to save.\n", "302\n", - "model_vars.get('Gini', 0)[-1]=0.6702\n", "Condition not met at step 303. No data to save.\n", "303\n", - "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", "Condition not met at step 304. No data to save.\n", "304\n", - "model_vars.get('Gini', 0)[-1]=0.6638\n", "Condition not met at step 305. No data to save.\n", "305\n", - "model_vars.get('Gini', 0)[-1]=0.664\n", "Condition not met at step 306. No data to save.\n", "306\n", - "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", "Condition not met at step 307. No data to save.\n", "307\n", - "model_vars.get('Gini', 0)[-1]=0.6792\n", "Condition not met at step 308. No data to save.\n", "308\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", "Condition not met at step 309. No data to save.\n", "309\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", "Condition not met at step 310. No data to save.\n", "310\n", - "model_vars.get('Gini', 0)[-1]=0.648\n", "Condition not met at step 311. No data to save.\n", "311\n", - "model_vars.get('Gini', 0)[-1]=0.6332\n", "Condition not met at step 312. No data to save.\n", "312\n", - "model_vars.get('Gini', 0)[-1]=0.6235999999999999\n", "Condition not met at step 313. No data to save.\n", "313\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", "Condition not met at step 314. No data to save.\n", "314\n", - "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", "Condition not met at step 315. No data to save.\n", "315\n", - "model_vars.get('Gini', 0)[-1]=0.612\n", "Condition not met at step 316. No data to save.\n", "316\n", - "model_vars.get('Gini', 0)[-1]=0.626\n", "Condition not met at step 317. No data to save.\n", "317\n", - "model_vars.get('Gini', 0)[-1]=0.631\n", - "Condition not met at step 318. No data to save.\n", + "Condition met. Appended special results for step 318 to test_path/special_results.parquet\n", "318\n", - "model_vars.get('Gini', 0)[-1]=0.632\n", "Condition not met at step 319. No data to save.\n", "319\n", - "model_vars.get('Gini', 0)[-1]=0.6266\n", "Condition not met at step 320. No data to save.\n", "320\n", - "model_vars.get('Gini', 0)[-1]=0.6248\n", - "Condition not met at step 321. No data to save.\n", + "Condition met. Appended special results for step 321 to test_path/special_results.parquet\n", "321\n", - "model_vars.get('Gini', 0)[-1]=0.6656\n", - "Condition not met at step 322. No data to save.\n", + "Condition met. Appended special results for step 322 to test_path/special_results.parquet\n", "322\n", - "model_vars.get('Gini', 0)[-1]=0.6554\n", - "Condition not met at step 323. No data to save.\n", + "Condition met. Appended special results for step 323 to test_path/special_results.parquet\n", "323\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 324. No data to save.\n", + "Condition met. Appended special results for step 324 to test_path/special_results.parquet\n", "324\n", - "model_vars.get('Gini', 0)[-1]=0.6474\n", - "Condition not met at step 325. No data to save.\n", + "Condition met. Appended special results for step 325 to test_path/special_results.parquet\n", "325\n", - "model_vars.get('Gini', 0)[-1]=0.657\n", - "Condition not met at step 326. No data to save.\n", + "Condition met. Appended special results for step 326 to test_path/special_results.parquet\n", "326\n", - "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", - "Condition not met at step 327. No data to save.\n", + "Condition met. Appended special results for step 327 to test_path/special_results.parquet\n", "327\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", - "Condition not met at step 328. No data to save.\n", + "Condition met. Appended special results for step 328 to test_path/special_results.parquet\n", "328\n", - "model_vars.get('Gini', 0)[-1]=0.6694\n", - "Condition not met at step 329. No data to save.\n", + "Condition met. Appended special results for step 329 to test_path/special_results.parquet\n", "329\n", - "model_vars.get('Gini', 0)[-1]=0.6802\n", - "Condition not met at step 330. No data to save.\n", + "Condition met. Appended special results for step 330 to test_path/special_results.parquet\n", "330\n", - "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", - "Condition not met at step 331. No data to save.\n", + "Condition met. Appended special results for step 331 to test_path/special_results.parquet\n", "331\n", - "model_vars.get('Gini', 0)[-1]=0.638\n", - "Condition not met at step 332. No data to save.\n", + "Condition met. Appended special results for step 332 to test_path/special_results.parquet\n", "332\n", - "model_vars.get('Gini', 0)[-1]=0.6674\n", - "Condition not met at step 333. No data to save.\n", + "Condition met. Appended special results for step 333 to test_path/special_results.parquet\n", "333\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", - "Condition not met at step 334. No data to save.\n", + "Condition met. Appended special results for step 334 to test_path/special_results.parquet\n", "334\n", - "model_vars.get('Gini', 0)[-1]=0.666\n", - "Condition not met at step 335. No data to save.\n", + "Condition met. Appended special results for step 335 to test_path/special_results.parquet\n", "335\n", - "model_vars.get('Gini', 0)[-1]=0.6736\n", - "Condition not met at step 336. No data to save.\n", + "Condition met. Appended special results for step 336 to test_path/special_results.parquet\n", "336\n", - "model_vars.get('Gini', 0)[-1]=0.6842\n", - "Condition not met at step 337. No data to save.\n", + "Condition met. Appended special results for step 337 to test_path/special_results.parquet\n", "337\n", - "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", - "Condition not met at step 338. No data to save.\n", + "Condition met. Appended special results for step 338 to test_path/special_results.parquet\n", "338\n", - "model_vars.get('Gini', 0)[-1]=0.651\n", - "Condition not met at step 339. No data to save.\n", + "Condition met. Appended special results for step 339 to test_path/special_results.parquet\n", "339\n", - "model_vars.get('Gini', 0)[-1]=0.659\n", "Condition not met at step 340. No data to save.\n", "340\n", - "model_vars.get('Gini', 0)[-1]=0.6654\n", "Condition not met at step 341. No data to save.\n", "341\n", - "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", "Condition not met at step 342. No data to save.\n", "342\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", "Condition not met at step 343. No data to save.\n", "343\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", "Condition not met at step 344. No data to save.\n", "344\n", - "model_vars.get('Gini', 0)[-1]=0.6584\n", "Condition not met at step 345. No data to save.\n", "345\n", - "model_vars.get('Gini', 0)[-1]=0.6572\n", "Condition not met at step 346. No data to save.\n", "346\n", - "model_vars.get('Gini', 0)[-1]=0.6436\n", "Condition not met at step 347. No data to save.\n", "347\n", - "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", "Condition not met at step 348. No data to save.\n", "348\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", "Condition not met at step 349. No data to save.\n", "349\n", - "model_vars.get('Gini', 0)[-1]=0.6806\n", "Condition not met at step 350. No data to save.\n", "350\n", - "model_vars.get('Gini', 0)[-1]=0.6918\n", "Condition not met at step 351. No data to save.\n", "351\n", - "model_vars.get('Gini', 0)[-1]=0.6842\n", "Condition not met at step 352. No data to save.\n", "352\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", "Condition not met at step 353. No data to save.\n", "353\n", - "model_vars.get('Gini', 0)[-1]=0.6476\n", "Condition not met at step 354. No data to save.\n", "354\n", - "model_vars.get('Gini', 0)[-1]=0.645\n", "Condition not met at step 355. No data to save.\n", "355\n", - "model_vars.get('Gini', 0)[-1]=0.615\n", "Condition not met at step 356. No data to save.\n", "356\n", - "model_vars.get('Gini', 0)[-1]=0.6254\n", "Condition not met at step 357. No data to save.\n", "357\n", - "model_vars.get('Gini', 0)[-1]=0.6093999999999999\n", "Condition not met at step 358. No data to save.\n", "358\n", - "model_vars.get('Gini', 0)[-1]=0.601\n", "Condition not met at step 359. No data to save.\n", "359\n", - "model_vars.get('Gini', 0)[-1]=0.5958\n", "Condition not met at step 360. No data to save.\n", "360\n", - "model_vars.get('Gini', 0)[-1]=0.6116\n", "Condition not met at step 361. No data to save.\n", "361\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", "Condition not met at step 362. No data to save.\n", "362\n", - "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", "Condition not met at step 363. No data to save.\n", "363\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", "Condition not met at step 364. No data to save.\n", "364\n", - "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", "Condition not met at step 365. No data to save.\n", "365\n", - "model_vars.get('Gini', 0)[-1]=0.7064\n", - "Condition met. Appended special results for step 366 to test_path/special_results.parquet\n", + "Condition not met at step 366. No data to save.\n", "366\n", - "model_vars.get('Gini', 0)[-1]=0.6936\n", "Condition not met at step 367. No data to save.\n", "367\n", - "model_vars.get('Gini', 0)[-1]=0.685\n", "Condition not met at step 368. No data to save.\n", "368\n", - "model_vars.get('Gini', 0)[-1]=0.7116\n", - "Condition met. Appended special results for step 369 to test_path/special_results.parquet\n", + "Condition not met at step 369. No data to save.\n", "369\n", - "model_vars.get('Gini', 0)[-1]=0.708\n", - "Condition met. Appended special results for step 370 to test_path/special_results.parquet\n", + "Condition not met at step 370. No data to save.\n", "370\n", - "model_vars.get('Gini', 0)[-1]=0.6938\n", "Condition not met at step 371. No data to save.\n", "371\n", - "model_vars.get('Gini', 0)[-1]=0.6912\n", "Condition not met at step 372. No data to save.\n", "372\n", - "model_vars.get('Gini', 0)[-1]=0.6914\n", "Condition not met at step 373. No data to save.\n", "373\n", - "model_vars.get('Gini', 0)[-1]=0.7058\n", - "Condition met. Appended special results for step 374 to test_path/special_results.parquet\n", + "Condition not met at step 374. No data to save.\n", "374\n", - "model_vars.get('Gini', 0)[-1]=0.6928000000000001\n", "Condition not met at step 375. No data to save.\n", "375\n", - "model_vars.get('Gini', 0)[-1]=0.6916\n", "Condition not met at step 376. No data to save.\n", "376\n", - "model_vars.get('Gini', 0)[-1]=0.6926\n", "Condition not met at step 377. No data to save.\n", "377\n", - "model_vars.get('Gini', 0)[-1]=0.6916\n", "Condition not met at step 378. No data to save.\n", "378\n", - "model_vars.get('Gini', 0)[-1]=0.7114\n", - "Condition met. Appended special results for step 379 to test_path/special_results.parquet\n", + "Condition not met at step 379. No data to save.\n", "379\n", - "model_vars.get('Gini', 0)[-1]=0.7052\n", - "Condition met. Appended special results for step 380 to test_path/special_results.parquet\n", + "Condition not met at step 380. No data to save.\n", "380\n", - "model_vars.get('Gini', 0)[-1]=0.6968000000000001\n", "Condition not met at step 381. No data to save.\n", "381\n", - "model_vars.get('Gini', 0)[-1]=0.6576\n", "Condition not met at step 382. No data to save.\n", "382\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", "Condition not met at step 383. No data to save.\n", "383\n", - "model_vars.get('Gini', 0)[-1]=0.6342\n", "Condition not met at step 384. No data to save.\n", "384\n", - "model_vars.get('Gini', 0)[-1]=0.615\n", "Condition not met at step 385. No data to save.\n", "385\n", - "model_vars.get('Gini', 0)[-1]=0.6298\n", "Condition not met at step 386. No data to save.\n", "386\n", - "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", "Condition not met at step 387. No data to save.\n", "387\n", - "model_vars.get('Gini', 0)[-1]=0.5982000000000001\n", "Condition not met at step 388. No data to save.\n", "388\n", - "model_vars.get('Gini', 0)[-1]=0.6122000000000001\n", "Condition not met at step 389. No data to save.\n", "389\n", - "model_vars.get('Gini', 0)[-1]=0.6398\n", "Condition not met at step 390. No data to save.\n", "390\n", - "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", "Condition not met at step 391. No data to save.\n", "391\n", - "model_vars.get('Gini', 0)[-1]=0.6258\n", "Condition not met at step 392. No data to save.\n", "392\n", - "model_vars.get('Gini', 0)[-1]=0.6372\n", "Condition not met at step 393. No data to save.\n", "393\n", - "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", "Condition not met at step 394. No data to save.\n", "394\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", "Condition not met at step 395. No data to save.\n", "395\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", "Condition not met at step 396. No data to save.\n", "396\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", "Condition not met at step 397. No data to save.\n", "397\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", "Condition not met at step 398. No data to save.\n", "398\n", - "model_vars.get('Gini', 0)[-1]=0.6556\n", "Condition not met at step 399. No data to save.\n", "399\n", - "CALLED\n", - "self.model._steps=400\n", - " TEST self.model._steps=400\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "300 0.6764\n", - "301 0.6888\n", - "302 0.6702\n", - "303 0.6726\n", - "304 0.6638\n", - ".. ...\n", - "395 0.6800\n", - "396 0.6448\n", - "397 0.6418\n", - "398 0.6556\n", - "399 0.6790\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_004.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_004.parquet'\n", - "Saving model to test_path/model_data_004.parquet\n", - "Saving agent to test_path/agent_data_004.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.679\n", + "all_records=\n", + "rep_names=['Wealth']\n", "Condition not met at step 400. No data to save.\n", "400\n", - "model_vars.get('Gini', 0)[-1]=0.6890000000000001\n", "Condition not met at step 401. No data to save.\n", "401\n", - "model_vars.get('Gini', 0)[-1]=0.6862\n", "Condition not met at step 402. No data to save.\n", "402\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", "Condition not met at step 403. No data to save.\n", "403\n", - "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", "Condition not met at step 404. No data to save.\n", "404\n", - "model_vars.get('Gini', 0)[-1]=0.6194\n", "Condition not met at step 405. No data to save.\n", "405\n", - "model_vars.get('Gini', 0)[-1]=0.6532\n", "Condition not met at step 406. No data to save.\n", "406\n", - "model_vars.get('Gini', 0)[-1]=0.6784\n", "Condition not met at step 407. No data to save.\n", "407\n", - "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", "Condition not met at step 408. No data to save.\n", "408\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", "Condition not met at step 409. No data to save.\n", "409\n", - "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", "Condition not met at step 410. No data to save.\n", "410\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", "Condition not met at step 411. No data to save.\n", "411\n", - "model_vars.get('Gini', 0)[-1]=0.627\n", "Condition not met at step 412. No data to save.\n", "412\n", - "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", "Condition not met at step 413. No data to save.\n", "413\n", - "model_vars.get('Gini', 0)[-1]=0.6168\n", "Condition not met at step 414. No data to save.\n", "414\n", - "model_vars.get('Gini', 0)[-1]=0.6318\n", "Condition not met at step 415. No data to save.\n", "415\n", - "model_vars.get('Gini', 0)[-1]=0.6318\n", "Condition not met at step 416. No data to save.\n", "416\n", - "model_vars.get('Gini', 0)[-1]=0.6422\n", "Condition not met at step 417. No data to save.\n", "417\n", - "model_vars.get('Gini', 0)[-1]=0.609\n", "Condition not met at step 418. No data to save.\n", "418\n", - "model_vars.get('Gini', 0)[-1]=0.5594\n", "Condition not met at step 419. No data to save.\n", "419\n", - "model_vars.get('Gini', 0)[-1]=0.577\n", "Condition not met at step 420. No data to save.\n", "420\n", - "model_vars.get('Gini', 0)[-1]=0.5862\n", "Condition not met at step 421. No data to save.\n", "421\n", - "model_vars.get('Gini', 0)[-1]=0.5842\n", "Condition not met at step 422. No data to save.\n", "422\n", - "model_vars.get('Gini', 0)[-1]=0.5722\n", "Condition not met at step 423. No data to save.\n", "423\n", - "model_vars.get('Gini', 0)[-1]=0.5756\n", "Condition not met at step 424. No data to save.\n", "424\n", - "model_vars.get('Gini', 0)[-1]=0.625\n", - "Condition not met at step 425. No data to save.\n", + "Condition met. Appended special results for step 425 to test_path/special_results.parquet\n", "425\n", - "model_vars.get('Gini', 0)[-1]=0.6556\n", "Condition not met at step 426. No data to save.\n", "426\n", - "model_vars.get('Gini', 0)[-1]=0.62\n", "Condition not met at step 427. No data to save.\n", "427\n", - "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", "Condition not met at step 428. No data to save.\n", "428\n", - "model_vars.get('Gini', 0)[-1]=0.6086\n", "Condition not met at step 429. No data to save.\n", "429\n", - "model_vars.get('Gini', 0)[-1]=0.622\n", "Condition not met at step 430. No data to save.\n", "430\n", - "model_vars.get('Gini', 0)[-1]=0.664\n", "Condition not met at step 431. No data to save.\n", "431\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", "Condition not met at step 432. No data to save.\n", "432\n", - "model_vars.get('Gini', 0)[-1]=0.6398\n", "Condition not met at step 433. No data to save.\n", "433\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", "Condition not met at step 434. No data to save.\n", "434\n", - "model_vars.get('Gini', 0)[-1]=0.663\n", "Condition not met at step 435. No data to save.\n", "435\n", - "model_vars.get('Gini', 0)[-1]=0.655\n", "Condition not met at step 436. No data to save.\n", "436\n", - "model_vars.get('Gini', 0)[-1]=0.6812\n", "Condition not met at step 437. No data to save.\n", "437\n", - "model_vars.get('Gini', 0)[-1]=0.6436\n", "Condition not met at step 438. No data to save.\n", "438\n", - "model_vars.get('Gini', 0)[-1]=0.6594\n", "Condition not met at step 439. No data to save.\n", "439\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", "Condition not met at step 440. No data to save.\n", "440\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", "Condition not met at step 441. No data to save.\n", "441\n", - "model_vars.get('Gini', 0)[-1]=0.6794\n", "Condition not met at step 442. No data to save.\n", "442\n", - "model_vars.get('Gini', 0)[-1]=0.6924\n", - "Condition not met at step 443. No data to save.\n", + "Condition met. Appended special results for step 443 to test_path/special_results.parquet\n", "443\n", - "model_vars.get('Gini', 0)[-1]=0.7192000000000001\n", "Condition met. Appended special results for step 444 to test_path/special_results.parquet\n", "444\n", - "model_vars.get('Gini', 0)[-1]=0.7183999999999999\n", "Condition met. Appended special results for step 445 to test_path/special_results.parquet\n", "445\n", - "model_vars.get('Gini', 0)[-1]=0.7298\n", "Condition met. Appended special results for step 446 to test_path/special_results.parquet\n", "446\n", - "model_vars.get('Gini', 0)[-1]=0.7202\n", "Condition met. Appended special results for step 447 to test_path/special_results.parquet\n", "447\n", - "model_vars.get('Gini', 0)[-1]=0.6868000000000001\n", - "Condition not met at step 448. No data to save.\n", + "Condition met. Appended special results for step 448 to test_path/special_results.parquet\n", "448\n", - "model_vars.get('Gini', 0)[-1]=0.6944\n", "Condition not met at step 449. No data to save.\n", "449\n", - "model_vars.get('Gini', 0)[-1]=0.6902\n", "Condition not met at step 450. No data to save.\n", "450\n", - "model_vars.get('Gini', 0)[-1]=0.6698\n", - "Condition not met at step 451. No data to save.\n", + "Condition met. Appended special results for step 451 to test_path/special_results.parquet\n", "451\n", - "model_vars.get('Gini', 0)[-1]=0.6742\n", "Condition not met at step 452. No data to save.\n", "452\n", - "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", "Condition not met at step 453. No data to save.\n", "453\n", - "model_vars.get('Gini', 0)[-1]=0.7101999999999999\n", - "Condition met. Appended special results for step 454 to test_path/special_results.parquet\n", + "Condition not met at step 454. No data to save.\n", "454\n", - "model_vars.get('Gini', 0)[-1]=0.7146\n", - "Condition met. Appended special results for step 455 to test_path/special_results.parquet\n", + "Condition not met at step 455. No data to save.\n", "455\n", - "model_vars.get('Gini', 0)[-1]=0.6864\n", - "Condition not met at step 456. No data to save.\n", + "Condition met. Appended special results for step 456 to test_path/special_results.parquet\n", "456\n", - "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", - "Condition not met at step 457. No data to save.\n", + "Condition met. Appended special results for step 457 to test_path/special_results.parquet\n", "457\n", - "model_vars.get('Gini', 0)[-1]=0.6744\n", "Condition not met at step 458. No data to save.\n", "458\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", "Condition not met at step 459. No data to save.\n", "459\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", "Condition not met at step 460. No data to save.\n", "460\n", - "model_vars.get('Gini', 0)[-1]=0.6928000000000001\n", - "Condition not met at step 461. No data to save.\n", + "Condition met. Appended special results for step 461 to test_path/special_results.parquet\n", "461\n", - "model_vars.get('Gini', 0)[-1]=0.7168\n", "Condition met. Appended special results for step 462 to test_path/special_results.parquet\n", "462\n", - "model_vars.get('Gini', 0)[-1]=0.7326\n", "Condition met. Appended special results for step 463 to test_path/special_results.parquet\n", "463\n", - "model_vars.get('Gini', 0)[-1]=0.7286\n", "Condition met. Appended special results for step 464 to test_path/special_results.parquet\n", "464\n", - "model_vars.get('Gini', 0)[-1]=0.7270000000000001\n", "Condition met. Appended special results for step 465 to test_path/special_results.parquet\n", "465\n", - "model_vars.get('Gini', 0)[-1]=0.7182\n", "Condition met. Appended special results for step 466 to test_path/special_results.parquet\n", "466\n", - "model_vars.get('Gini', 0)[-1]=0.7226\n", "Condition met. Appended special results for step 467 to test_path/special_results.parquet\n", "467\n", - "model_vars.get('Gini', 0)[-1]=0.7472000000000001\n", - "Condition met. Appended special results for step 468 to test_path/special_results.parquet\n", + "Condition not met at step 468. No data to save.\n", "468\n", - "model_vars.get('Gini', 0)[-1]=0.7326\n", - "Condition met. Appended special results for step 469 to test_path/special_results.parquet\n", + "Condition not met at step 469. No data to save.\n", "469\n", - "model_vars.get('Gini', 0)[-1]=0.746\n", - "Condition met. Appended special results for step 470 to test_path/special_results.parquet\n", + "Condition not met at step 470. No data to save.\n", "470\n", - "model_vars.get('Gini', 0)[-1]=0.7574000000000001\n", - "Condition met. Appended special results for step 471 to test_path/special_results.parquet\n", + "Condition not met at step 471. No data to save.\n", "471\n", - "model_vars.get('Gini', 0)[-1]=0.7532000000000001\n", - "Condition met. Appended special results for step 472 to test_path/special_results.parquet\n", + "Condition not met at step 472. No data to save.\n", "472\n", - "model_vars.get('Gini', 0)[-1]=0.745\n", - "Condition met. Appended special results for step 473 to test_path/special_results.parquet\n", + "Condition not met at step 473. No data to save.\n", "473\n", - "model_vars.get('Gini', 0)[-1]=0.7472000000000001\n", - "Condition met. Appended special results for step 474 to test_path/special_results.parquet\n", + "Condition not met at step 474. No data to save.\n", "474\n", - "model_vars.get('Gini', 0)[-1]=0.7332000000000001\n", - "Condition met. Appended special results for step 475 to test_path/special_results.parquet\n", + "Condition not met at step 475. No data to save.\n", "475\n", - "model_vars.get('Gini', 0)[-1]=0.7425999999999999\n", - "Condition met. Appended special results for step 476 to test_path/special_results.parquet\n", + "Condition not met at step 476. No data to save.\n", "476\n", - "model_vars.get('Gini', 0)[-1]=0.7256\n", - "Condition met. Appended special results for step 477 to test_path/special_results.parquet\n", + "Condition not met at step 477. No data to save.\n", "477\n", - "model_vars.get('Gini', 0)[-1]=0.7432000000000001\n", - "Condition met. Appended special results for step 478 to test_path/special_results.parquet\n", + "Condition not met at step 478. No data to save.\n", "478\n", - "model_vars.get('Gini', 0)[-1]=0.7074\n", - "Condition met. Appended special results for step 479 to test_path/special_results.parquet\n", + "Condition not met at step 479. No data to save.\n", "479\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", "Condition not met at step 480. No data to save.\n", "480\n", - "model_vars.get('Gini', 0)[-1]=0.6674\n", "Condition not met at step 481. No data to save.\n", "481\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", "Condition not met at step 482. No data to save.\n", "482\n", - "model_vars.get('Gini', 0)[-1]=0.6738\n", "Condition not met at step 483. No data to save.\n", "483\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", "Condition not met at step 484. No data to save.\n", "484\n", - "model_vars.get('Gini', 0)[-1]=0.6772\n", "Condition not met at step 485. No data to save.\n", "485\n", - "model_vars.get('Gini', 0)[-1]=0.6716\n", "Condition not met at step 486. No data to save.\n", "486\n", - "model_vars.get('Gini', 0)[-1]=0.6698\n", "Condition not met at step 487. No data to save.\n", "487\n", - "model_vars.get('Gini', 0)[-1]=0.6488\n", "Condition not met at step 488. No data to save.\n", "488\n", - "model_vars.get('Gini', 0)[-1]=0.6354\n", "Condition not met at step 489. No data to save.\n", "489\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", "Condition not met at step 490. No data to save.\n", "490\n", - "model_vars.get('Gini', 0)[-1]=0.6594\n", "Condition not met at step 491. No data to save.\n", "491\n", - "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", "Condition not met at step 492. No data to save.\n", "492\n", - "model_vars.get('Gini', 0)[-1]=0.6874\n", "Condition not met at step 493. No data to save.\n", "493\n", - "model_vars.get('Gini', 0)[-1]=0.7092\n", - "Condition met. Appended special results for step 494 to test_path/special_results.parquet\n", + "Condition not met at step 494. No data to save.\n", "494\n", - "model_vars.get('Gini', 0)[-1]=0.6984\n", "Condition not met at step 495. No data to save.\n", "495\n", - "model_vars.get('Gini', 0)[-1]=0.7084\n", - "Condition met. Appended special results for step 496 to test_path/special_results.parquet\n", + "Condition not met at step 496. No data to save.\n", "496\n", - "model_vars.get('Gini', 0)[-1]=0.6936\n", "Condition not met at step 497. No data to save.\n", "497\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", "Condition not met at step 498. No data to save.\n", "498\n", - "model_vars.get('Gini', 0)[-1]=0.6916\n", "Condition not met at step 499. No data to save.\n", "499\n", - "CALLED\n", - "self.model._steps=500\n", - " TEST self.model._steps=500\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "400 0.6890\n", - "401 0.6862\n", - "402 0.6704\n", - "403 0.6486\n", - "404 0.6194\n", - ".. ...\n", - "495 0.7084\n", - "496 0.6936\n", - "497 0.6788\n", - "498 0.6916\n", - "499 0.6602\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_005.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_005.parquet'\n", - "Saving model to test_path/model_data_005.parquet\n", - "Saving agent to test_path/agent_data_005.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", + "all_records=\n", + "rep_names=['Wealth']\n", "Condition not met at step 500. No data to save.\n", "500\n", - "model_vars.get('Gini', 0)[-1]=0.661\n", "Condition not met at step 501. No data to save.\n", "501\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", "Condition not met at step 502. No data to save.\n", "502\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", "Condition not met at step 503. No data to save.\n", "503\n", - "model_vars.get('Gini', 0)[-1]=0.6584\n", "Condition not met at step 504. No data to save.\n", "504\n", - "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", "Condition not met at step 505. No data to save.\n", "505\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", "Condition not met at step 506. No data to save.\n", "506\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", "Condition not met at step 507. No data to save.\n", "507\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", "Condition not met at step 508. No data to save.\n", "508\n", - "model_vars.get('Gini', 0)[-1]=0.6288\n", "Condition not met at step 509. No data to save.\n", "509\n", - "model_vars.get('Gini', 0)[-1]=0.616\n", "Condition not met at step 510. No data to save.\n", "510\n", - "model_vars.get('Gini', 0)[-1]=0.65\n", "Condition not met at step 511. No data to save.\n", "511\n", - "model_vars.get('Gini', 0)[-1]=0.6388\n", "Condition not met at step 512. No data to save.\n", "512\n", - "model_vars.get('Gini', 0)[-1]=0.6442\n", "Condition not met at step 513. No data to save.\n", "513\n", - "model_vars.get('Gini', 0)[-1]=0.671\n", "Condition not met at step 514. No data to save.\n", "514\n", - "model_vars.get('Gini', 0)[-1]=0.6472\n", "Condition not met at step 515. No data to save.\n", "515\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", "Condition not met at step 516. No data to save.\n", "516\n", - "model_vars.get('Gini', 0)[-1]=0.6782\n", "Condition not met at step 517. No data to save.\n", "517\n", - "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", "Condition not met at step 518. No data to save.\n", "518\n", - "model_vars.get('Gini', 0)[-1]=0.6950000000000001\n", "Condition not met at step 519. No data to save.\n", "519\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", "Condition not met at step 520. No data to save.\n", "520\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", "Condition not met at step 521. No data to save.\n", "521\n", - "model_vars.get('Gini', 0)[-1]=0.6866\n", "Condition not met at step 522. No data to save.\n", "522\n", - "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", "Condition not met at step 523. No data to save.\n", "523\n", - "model_vars.get('Gini', 0)[-1]=0.6882\n", "Condition not met at step 524. No data to save.\n", "524\n", - "model_vars.get('Gini', 0)[-1]=0.7050000000000001\n", - "Condition met. Appended special results for step 525 to test_path/special_results.parquet\n", + "Condition not met at step 525. No data to save.\n", "525\n", - "model_vars.get('Gini', 0)[-1]=0.6818\n", "Condition not met at step 526. No data to save.\n", "526\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", "Condition not met at step 527. No data to save.\n", "527\n", - "model_vars.get('Gini', 0)[-1]=0.6862\n", "Condition not met at step 528. No data to save.\n", "528\n", - "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", - "Condition not met at step 529. No data to save.\n", + "Condition met. Appended special results for step 529 to test_path/special_results.parquet\n", "529\n", - "model_vars.get('Gini', 0)[-1]=0.6702\n", - "Condition not met at step 530. No data to save.\n", + "Condition met. Appended special results for step 530 to test_path/special_results.parquet\n", "530\n", - "model_vars.get('Gini', 0)[-1]=0.6778\n", - "Condition not met at step 531. No data to save.\n", + "Condition met. Appended special results for step 531 to test_path/special_results.parquet\n", "531\n", - "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", - "Condition not met at step 532. No data to save.\n", + "Condition met. Appended special results for step 532 to test_path/special_results.parquet\n", "532\n", - "model_vars.get('Gini', 0)[-1]=0.6776\n", - "Condition not met at step 533. No data to save.\n", + "Condition met. Appended special results for step 533 to test_path/special_results.parquet\n", "533\n", - "model_vars.get('Gini', 0)[-1]=0.6868000000000001\n", "Condition not met at step 534. No data to save.\n", "534\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", "Condition not met at step 535. No data to save.\n", "535\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", "Condition not met at step 536. No data to save.\n", "536\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", "Condition not met at step 537. No data to save.\n", "537\n", - "model_vars.get('Gini', 0)[-1]=0.6636\n", "Condition not met at step 538. No data to save.\n", "538\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", "Condition not met at step 539. No data to save.\n", "539\n", - "model_vars.get('Gini', 0)[-1]=0.6268\n", - "Condition not met at step 540. No data to save.\n", + "Condition met. Appended special results for step 540 to test_path/special_results.parquet\n", "540\n", - "model_vars.get('Gini', 0)[-1]=0.6328\n", "Condition not met at step 541. No data to save.\n", "541\n", - "model_vars.get('Gini', 0)[-1]=0.649\n", "Condition not met at step 542. No data to save.\n", "542\n", - "model_vars.get('Gini', 0)[-1]=0.6516\n", "Condition not met at step 543. No data to save.\n", "543\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", "Condition not met at step 544. No data to save.\n", "544\n", - "model_vars.get('Gini', 0)[-1]=0.6992\n", "Condition not met at step 545. No data to save.\n", "545\n", - "model_vars.get('Gini', 0)[-1]=0.6924\n", "Condition not met at step 546. No data to save.\n", "546\n", - "model_vars.get('Gini', 0)[-1]=0.6998\n", "Condition not met at step 547. No data to save.\n", "547\n", - "model_vars.get('Gini', 0)[-1]=0.7034\n", - "Condition met. Appended special results for step 548 to test_path/special_results.parquet\n", + "Condition not met at step 548. No data to save.\n", "548\n", - "model_vars.get('Gini', 0)[-1]=0.687\n", "Condition not met at step 549. No data to save.\n", "549\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", "Condition not met at step 550. No data to save.\n", "550\n", - "model_vars.get('Gini', 0)[-1]=0.687\n", "Condition not met at step 551. No data to save.\n", "551\n", - "model_vars.get('Gini', 0)[-1]=0.669\n", "Condition not met at step 552. No data to save.\n", "552\n", - "model_vars.get('Gini', 0)[-1]=0.6796\n", "Condition not met at step 553. No data to save.\n", "553\n", - "model_vars.get('Gini', 0)[-1]=0.683\n", "Condition not met at step 554. No data to save.\n", "554\n", - "model_vars.get('Gini', 0)[-1]=0.6608\n", "Condition not met at step 555. No data to save.\n", "555\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", "Condition not met at step 556. No data to save.\n", "556\n", - "model_vars.get('Gini', 0)[-1]=0.6824\n", "Condition not met at step 557. No data to save.\n", "557\n", - "model_vars.get('Gini', 0)[-1]=0.6804\n", "Condition not met at step 558. No data to save.\n", "558\n", - "model_vars.get('Gini', 0)[-1]=0.6682\n", "Condition not met at step 559. No data to save.\n", "559\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", "Condition not met at step 560. No data to save.\n", "560\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", "Condition not met at step 561. No data to save.\n", "561\n", - "model_vars.get('Gini', 0)[-1]=0.609\n", "Condition not met at step 562. No data to save.\n", "562\n", - "model_vars.get('Gini', 0)[-1]=0.6064\n", "Condition not met at step 563. No data to save.\n", "563\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", "Condition not met at step 564. No data to save.\n", "564\n", - "model_vars.get('Gini', 0)[-1]=0.66\n", "Condition not met at step 565. No data to save.\n", "565\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", "Condition not met at step 566. No data to save.\n", "566\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", "Condition not met at step 567. No data to save.\n", "567\n", - "model_vars.get('Gini', 0)[-1]=0.6492\n", "Condition not met at step 568. No data to save.\n", "568\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", "Condition not met at step 569. No data to save.\n", "569\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", "Condition not met at step 570. No data to save.\n", "570\n", - "model_vars.get('Gini', 0)[-1]=0.6354\n", "Condition not met at step 571. No data to save.\n", "571\n", - "model_vars.get('Gini', 0)[-1]=0.621\n", "Condition not met at step 572. No data to save.\n", "572\n", - "model_vars.get('Gini', 0)[-1]=0.6318\n", "Condition not met at step 573. No data to save.\n", "573\n", - "model_vars.get('Gini', 0)[-1]=0.6298\n", "Condition not met at step 574. No data to save.\n", "574\n", - "model_vars.get('Gini', 0)[-1]=0.629\n", "Condition not met at step 575. No data to save.\n", "575\n", - "model_vars.get('Gini', 0)[-1]=0.6408\n", "Condition not met at step 576. No data to save.\n", "576\n", - "model_vars.get('Gini', 0)[-1]=0.6058\n", "Condition not met at step 577. No data to save.\n", "577\n", - "model_vars.get('Gini', 0)[-1]=0.607\n", "Condition not met at step 578. No data to save.\n", "578\n", - "model_vars.get('Gini', 0)[-1]=0.6268\n", "Condition not met at step 579. No data to save.\n", "579\n", - "model_vars.get('Gini', 0)[-1]=0.632\n", "Condition not met at step 580. No data to save.\n", "580\n", - "model_vars.get('Gini', 0)[-1]=0.64\n", "Condition not met at step 581. No data to save.\n", "581\n", - "model_vars.get('Gini', 0)[-1]=0.6298\n", "Condition not met at step 582. No data to save.\n", "582\n", - "model_vars.get('Gini', 0)[-1]=0.6053999999999999\n", "Condition not met at step 583. No data to save.\n", "583\n", - "model_vars.get('Gini', 0)[-1]=0.5938\n", "Condition not met at step 584. No data to save.\n", "584\n", - "model_vars.get('Gini', 0)[-1]=0.5976\n", "Condition not met at step 585. No data to save.\n", "585\n", - "model_vars.get('Gini', 0)[-1]=0.6462\n", "Condition not met at step 586. No data to save.\n", "586\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", "Condition not met at step 587. No data to save.\n", "587\n", - "model_vars.get('Gini', 0)[-1]=0.6202000000000001\n", "Condition not met at step 588. No data to save.\n", "588\n", - "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", "Condition not met at step 589. No data to save.\n", "589\n", - "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", "Condition not met at step 590. No data to save.\n", "590\n", - "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", "Condition not met at step 591. No data to save.\n", "591\n", - "model_vars.get('Gini', 0)[-1]=0.6437999999999999\n", "Condition not met at step 592. No data to save.\n", "592\n", - "model_vars.get('Gini', 0)[-1]=0.6342\n", "Condition not met at step 593. No data to save.\n", "593\n", - "model_vars.get('Gini', 0)[-1]=0.6436\n", "Condition not met at step 594. No data to save.\n", "594\n", - "model_vars.get('Gini', 0)[-1]=0.6608\n", "Condition not met at step 595. No data to save.\n", "595\n", - "model_vars.get('Gini', 0)[-1]=0.654\n", "Condition not met at step 596. No data to save.\n", "596\n", - "model_vars.get('Gini', 0)[-1]=0.6926\n", "Condition not met at step 597. No data to save.\n", "597\n", - "model_vars.get('Gini', 0)[-1]=0.6836\n", "Condition not met at step 598. No data to save.\n", "598\n", - "model_vars.get('Gini', 0)[-1]=0.7032\n", - "Condition met. Appended special results for step 599 to test_path/special_results.parquet\n", + "Condition not met at step 599. No data to save.\n", "599\n", - "CALLED\n", - "self.model._steps=600\n", - " TEST self.model._steps=600\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "500 0.6610\n", - "501 0.6544\n", - "502 0.6406\n", - "503 0.6584\n", - "504 0.6760\n", - ".. ...\n", - "595 0.6540\n", - "596 0.6926\n", - "597 0.6836\n", - "598 0.7032\n", - "599 0.6522\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_006.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_006.parquet'\n", - "Saving model to test_path/model_data_006.parquet\n", - "Saving agent to test_path/agent_data_006.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6522\n", + "all_records=\n", + "rep_names=['Wealth']\n", "Condition not met at step 600. No data to save.\n", "600\n", - "model_vars.get('Gini', 0)[-1]=0.6476\n", "Condition not met at step 601. No data to save.\n", "601\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", "Condition not met at step 602. No data to save.\n", "602\n", - "model_vars.get('Gini', 0)[-1]=0.6836\n", "Condition not met at step 603. No data to save.\n", "603\n", - "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", "Condition not met at step 604. No data to save.\n", "604\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", "Condition not met at step 605. No data to save.\n", "605\n", - "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", "Condition not met at step 606. No data to save.\n", "606\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", "Condition not met at step 607. No data to save.\n", "607\n", - "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", "Condition not met at step 608. No data to save.\n", "608\n", - "model_vars.get('Gini', 0)[-1]=0.635\n", "Condition not met at step 609. No data to save.\n", "609\n", - "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", "Condition not met at step 610. No data to save.\n", "610\n", - "model_vars.get('Gini', 0)[-1]=0.645\n", "Condition not met at step 611. No data to save.\n", "611\n", - "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", "Condition not met at step 612. No data to save.\n", "612\n", - "model_vars.get('Gini', 0)[-1]=0.665\n", "Condition not met at step 613. No data to save.\n", "613\n", - "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", "Condition not met at step 614. No data to save.\n", "614\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", "Condition not met at step 615. No data to save.\n", "615\n", - "model_vars.get('Gini', 0)[-1]=0.6576\n", "Condition not met at step 616. No data to save.\n", "616\n", - "model_vars.get('Gini', 0)[-1]=0.6522\n", "Condition not met at step 617. No data to save.\n", "617\n", - "model_vars.get('Gini', 0)[-1]=0.6612\n", "Condition not met at step 618. No data to save.\n", "618\n", - "model_vars.get('Gini', 0)[-1]=0.6806\n", "Condition not met at step 619. No data to save.\n", "619\n", - "model_vars.get('Gini', 0)[-1]=0.6744\n", "Condition not met at step 620. No data to save.\n", "620\n", - "model_vars.get('Gini', 0)[-1]=0.671\n", "Condition not met at step 621. No data to save.\n", "621\n", - "model_vars.get('Gini', 0)[-1]=0.6612\n", "Condition not met at step 622. No data to save.\n", "622\n", - "model_vars.get('Gini', 0)[-1]=0.6528\n", "Condition not met at step 623. No data to save.\n", "623\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", "Condition not met at step 624. No data to save.\n", "624\n", - "model_vars.get('Gini', 0)[-1]=0.6858\n", "Condition not met at step 625. No data to save.\n", "625\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", "Condition not met at step 626. No data to save.\n", "626\n", - "model_vars.get('Gini', 0)[-1]=0.6472\n", "Condition not met at step 627. No data to save.\n", "627\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", "Condition not met at step 628. No data to save.\n", "628\n", - "model_vars.get('Gini', 0)[-1]=0.6232\n", "Condition not met at step 629. No data to save.\n", "629\n", - "model_vars.get('Gini', 0)[-1]=0.6232\n", "Condition not met at step 630. No data to save.\n", "630\n", - "model_vars.get('Gini', 0)[-1]=0.6514\n", "Condition not met at step 631. No data to save.\n", "631\n", - "model_vars.get('Gini', 0)[-1]=0.6528\n", "Condition not met at step 632. No data to save.\n", "632\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", "Condition not met at step 633. No data to save.\n", "633\n", - "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", "Condition not met at step 634. No data to save.\n", "634\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", "Condition not met at step 635. No data to save.\n", "635\n", - "model_vars.get('Gini', 0)[-1]=0.6492\n", "Condition not met at step 636. No data to save.\n", "636\n", - "model_vars.get('Gini', 0)[-1]=0.6492\n", "Condition not met at step 637. No data to save.\n", "637\n", - "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", "Condition not met at step 638. No data to save.\n", "638\n", - "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", "Condition not met at step 639. No data to save.\n", "639\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", "Condition not met at step 640. No data to save.\n", "640\n", - "model_vars.get('Gini', 0)[-1]=0.6754\n", "Condition not met at step 641. No data to save.\n", "641\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", "Condition not met at step 642. No data to save.\n", "642\n", - "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", "Condition not met at step 643. No data to save.\n", "643\n", - "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", "Condition not met at step 644. No data to save.\n", "644\n", - "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", "Condition not met at step 645. No data to save.\n", "645\n", - "model_vars.get('Gini', 0)[-1]=0.662\n", "Condition not met at step 646. No data to save.\n", "646\n", - "model_vars.get('Gini', 0)[-1]=0.6676\n", "Condition not met at step 647. No data to save.\n", "647\n", - "model_vars.get('Gini', 0)[-1]=0.665\n", "Condition not met at step 648. No data to save.\n", "648\n", - "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", "Condition not met at step 649. No data to save.\n", "649\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", "Condition not met at step 650. No data to save.\n", "650\n", - "model_vars.get('Gini', 0)[-1]=0.6454\n", "Condition not met at step 651. No data to save.\n", "651\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", "Condition not met at step 652. No data to save.\n", "652\n", - "model_vars.get('Gini', 0)[-1]=0.6612\n", "Condition not met at step 653. No data to save.\n", "653\n", - "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", "Condition not met at step 654. No data to save.\n", "654\n", - "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", "Condition not met at step 655. No data to save.\n", "655\n", - "model_vars.get('Gini', 0)[-1]=0.64\n", "Condition not met at step 656. No data to save.\n", "656\n", - "model_vars.get('Gini', 0)[-1]=0.6414\n", "Condition not met at step 657. No data to save.\n", "657\n", - "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", "Condition not met at step 658. No data to save.\n", "658\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", "Condition not met at step 659. No data to save.\n", "659\n", - "model_vars.get('Gini', 0)[-1]=0.6532\n", - "Condition not met at step 660. No data to save.\n", + "Condition met. Appended special results for step 660 to test_path/special_results.parquet\n", "660\n", - "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", - "Condition not met at step 661. No data to save.\n", + "Condition met. Appended special results for step 661 to test_path/special_results.parquet\n", "661\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", - "Condition not met at step 662. No data to save.\n", + "Condition met. Appended special results for step 662 to test_path/special_results.parquet\n", "662\n", - "model_vars.get('Gini', 0)[-1]=0.6048\n", - "Condition not met at step 663. No data to save.\n", + "Condition met. Appended special results for step 663 to test_path/special_results.parquet\n", "663\n", - "model_vars.get('Gini', 0)[-1]=0.6148\n", - "Condition not met at step 664. No data to save.\n", + "Condition met. Appended special results for step 664 to test_path/special_results.parquet\n", "664\n", - "model_vars.get('Gini', 0)[-1]=0.6214\n", - "Condition not met at step 665. No data to save.\n", + "Condition met. Appended special results for step 665 to test_path/special_results.parquet\n", "665\n", - "model_vars.get('Gini', 0)[-1]=0.6235999999999999\n", - "Condition not met at step 666. No data to save.\n", + "Condition met. Appended special results for step 666 to test_path/special_results.parquet\n", "666\n", - "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", - "Condition not met at step 667. No data to save.\n", + "Condition met. Appended special results for step 667 to test_path/special_results.parquet\n", "667\n", - "model_vars.get('Gini', 0)[-1]=0.6372\n", - "Condition not met at step 668. No data to save.\n", + "Condition met. Appended special results for step 668 to test_path/special_results.parquet\n", "668\n", - "model_vars.get('Gini', 0)[-1]=0.618\n", - "Condition not met at step 669. No data to save.\n", + "Condition met. Appended special results for step 669 to test_path/special_results.parquet\n", "669\n", - "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", - "Condition not met at step 670. No data to save.\n", + "Condition met. Appended special results for step 670 to test_path/special_results.parquet\n", "670\n", - "model_vars.get('Gini', 0)[-1]=0.6454\n", - "Condition not met at step 671. No data to save.\n", + "Condition met. Appended special results for step 671 to test_path/special_results.parquet\n", "671\n", - "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", - "Condition not met at step 672. No data to save.\n", + "Condition met. Appended special results for step 672 to test_path/special_results.parquet\n", "672\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", - "Condition not met at step 673. No data to save.\n", + "Condition met. Appended special results for step 673 to test_path/special_results.parquet\n", "673\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 674. No data to save.\n", + "Condition met. Appended special results for step 674 to test_path/special_results.parquet\n", "674\n", - "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", - "Condition not met at step 675. No data to save.\n", + "Condition met. Appended special results for step 675 to test_path/special_results.parquet\n", "675\n", - "model_vars.get('Gini', 0)[-1]=0.6584\n", - "Condition not met at step 676. No data to save.\n", + "Condition met. Appended special results for step 676 to test_path/special_results.parquet\n", "676\n", - "model_vars.get('Gini', 0)[-1]=0.6306\n", - "Condition not met at step 677. No data to save.\n", + "Condition met. Appended special results for step 677 to test_path/special_results.parquet\n", "677\n", - "model_vars.get('Gini', 0)[-1]=0.6862\n", - "Condition not met at step 678. No data to save.\n", + "Condition met. Appended special results for step 678 to test_path/special_results.parquet\n", "678\n", - "model_vars.get('Gini', 0)[-1]=0.7\n", - "Condition not met at step 679. No data to save.\n", + "Condition met. Appended special results for step 679 to test_path/special_results.parquet\n", "679\n", - "model_vars.get('Gini', 0)[-1]=0.683\n", "Condition not met at step 680. No data to save.\n", "680\n", - "model_vars.get('Gini', 0)[-1]=0.6779999999999999\n", "Condition not met at step 681. No data to save.\n", "681\n", - "model_vars.get('Gini', 0)[-1]=0.6908000000000001\n", "Condition not met at step 682. No data to save.\n", "682\n", - "model_vars.get('Gini', 0)[-1]=0.6822\n", "Condition not met at step 683. No data to save.\n", "683\n", - "model_vars.get('Gini', 0)[-1]=0.6796\n", "Condition not met at step 684. No data to save.\n", "684\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", "Condition not met at step 685. No data to save.\n", "685\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", "Condition not met at step 686. No data to save.\n", "686\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", "Condition not met at step 687. No data to save.\n", "687\n", - "model_vars.get('Gini', 0)[-1]=0.6494\n", "Condition not met at step 688. No data to save.\n", "688\n", - "model_vars.get('Gini', 0)[-1]=0.6342\n", "Condition not met at step 689. No data to save.\n", "689\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", "Condition not met at step 690. No data to save.\n", "690\n", - "model_vars.get('Gini', 0)[-1]=0.6308\n", "Condition not met at step 691. No data to save.\n", "691\n", - "model_vars.get('Gini', 0)[-1]=0.6472\n", "Condition not met at step 692. No data to save.\n", "692\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", "Condition not met at step 693. No data to save.\n", "693\n", - "model_vars.get('Gini', 0)[-1]=0.6532\n", "Condition not met at step 694. No data to save.\n", "694\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", "Condition not met at step 695. No data to save.\n", "695\n", - "model_vars.get('Gini', 0)[-1]=0.6056\n", "Condition not met at step 696. No data to save.\n", "696\n", - "model_vars.get('Gini', 0)[-1]=0.6456\n", "Condition not met at step 697. No data to save.\n", "697\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", "Condition not met at step 698. No data to save.\n", "698\n", - "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", "Condition not met at step 699. No data to save.\n", "699\n", - "CALLED\n", - "self.model._steps=700\n", - " TEST self.model._steps=700\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "600 0.6476\n", - "601 0.6418\n", - "602 0.6836\n", - "603 0.6526\n", - "604 0.6448\n", - ".. ...\n", - "695 0.6056\n", - "696 0.6456\n", - "697 0.6458\n", - "698 0.6538\n", - "699 0.6572\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_007.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_007.parquet'\n", - "Saving model to test_path/model_data_007.parquet\n", - "Saving agent to test_path/agent_data_007.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6572\n", + "all_records=\n", + "rep_names=['Wealth']\n", "Condition not met at step 700. No data to save.\n", "700\n", - "model_vars.get('Gini', 0)[-1]=0.65\n", - "Condition not met at step 701. No data to save.\n", + "Condition met. Appended special results for step 701 to test_path/special_results.parquet\n", "701\n", - "model_vars.get('Gini', 0)[-1]=0.65\n", - "Condition not met at step 702. No data to save.\n", + "Condition met. Appended special results for step 702 to test_path/special_results.parquet\n", "702\n", - "model_vars.get('Gini', 0)[-1]=0.6402\n", - "Condition not met at step 703. No data to save.\n", + "Condition met. Appended special results for step 703 to test_path/special_results.parquet\n", "703\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 704. No data to save.\n", + "Condition met. Appended special results for step 704 to test_path/special_results.parquet\n", "704\n", - "model_vars.get('Gini', 0)[-1]=0.6596\n", - "Condition not met at step 705. No data to save.\n", + "Condition met. Appended special results for step 705 to test_path/special_results.parquet\n", "705\n", - "model_vars.get('Gini', 0)[-1]=0.6474\n", "Condition not met at step 706. No data to save.\n", "706\n", - "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", "Condition not met at step 707. No data to save.\n", "707\n", - "model_vars.get('Gini', 0)[-1]=0.6106\n", "Condition not met at step 708. No data to save.\n", "708\n", - "model_vars.get('Gini', 0)[-1]=0.6174\n", "Condition not met at step 709. No data to save.\n", "709\n", - "model_vars.get('Gini', 0)[-1]=0.6226\n", "Condition not met at step 710. No data to save.\n", "710\n", - "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", "Condition not met at step 711. No data to save.\n", "711\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", "Condition not met at step 712. No data to save.\n", "712\n", - "model_vars.get('Gini', 0)[-1]=0.6388\n", "Condition not met at step 713. No data to save.\n", "713\n", - "model_vars.get('Gini', 0)[-1]=0.633\n", "Condition not met at step 714. No data to save.\n", "714\n", - "model_vars.get('Gini', 0)[-1]=0.6736\n", "Condition not met at step 715. No data to save.\n", "715\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", "Condition not met at step 716. No data to save.\n", "716\n", - "model_vars.get('Gini', 0)[-1]=0.6744\n", "Condition not met at step 717. No data to save.\n", "717\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", "Condition not met at step 718. No data to save.\n", "718\n", - "model_vars.get('Gini', 0)[-1]=0.6288\n", "Condition not met at step 719. No data to save.\n", "719\n", - "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", "Condition not met at step 720. No data to save.\n", "720\n", - "model_vars.get('Gini', 0)[-1]=0.6414\n", "Condition not met at step 721. No data to save.\n", "721\n", - "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", "Condition not met at step 722. No data to save.\n", "722\n", - "model_vars.get('Gini', 0)[-1]=0.6235999999999999\n", "Condition not met at step 723. No data to save.\n", "723\n", - "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", "Condition not met at step 724. No data to save.\n", "724\n", - "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", "Condition not met at step 725. No data to save.\n", "725\n", - "model_vars.get('Gini', 0)[-1]=0.6194\n", "Condition not met at step 726. No data to save.\n", "726\n", - "model_vars.get('Gini', 0)[-1]=0.6288\n", "Condition not met at step 727. No data to save.\n", "727\n", - "model_vars.get('Gini', 0)[-1]=0.6048\n", "Condition not met at step 728. No data to save.\n", "728\n", - "model_vars.get('Gini', 0)[-1]=0.6000000000000001\n", "Condition not met at step 729. No data to save.\n", "729\n", - "model_vars.get('Gini', 0)[-1]=0.6204000000000001\n", "Condition not met at step 730. No data to save.\n", "730\n", - "model_vars.get('Gini', 0)[-1]=0.6148\n", "Condition not met at step 731. No data to save.\n", "731\n", - "model_vars.get('Gini', 0)[-1]=0.6312\n", "Condition not met at step 732. No data to save.\n", "732\n", - "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", "Condition not met at step 733. No data to save.\n", "733\n", - "model_vars.get('Gini', 0)[-1]=0.6096\n", "Condition not met at step 734. No data to save.\n", "734\n", - "model_vars.get('Gini', 0)[-1]=0.6344000000000001\n", "Condition not met at step 735. No data to save.\n", "735\n", - "model_vars.get('Gini', 0)[-1]=0.6516\n", "Condition not met at step 736. No data to save.\n", "736\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", "Condition not met at step 737. No data to save.\n", "737\n", - "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", "Condition not met at step 738. No data to save.\n", "738\n", - "model_vars.get('Gini', 0)[-1]=0.665\n", "Condition not met at step 739. No data to save.\n", "739\n", - "model_vars.get('Gini', 0)[-1]=0.6358\n", "Condition not met at step 740. No data to save.\n", "740\n", - "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", "Condition not met at step 741. No data to save.\n", "741\n", - "model_vars.get('Gini', 0)[-1]=0.6408\n", "Condition not met at step 742. No data to save.\n", "742\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", "Condition not met at step 743. No data to save.\n", "743\n", - "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", "Condition not met at step 744. No data to save.\n", "744\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", "Condition not met at step 745. No data to save.\n", "745\n", - "model_vars.get('Gini', 0)[-1]=0.6432\n", "Condition not met at step 746. No data to save.\n", "746\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", "Condition not met at step 747. No data to save.\n", "747\n", - "model_vars.get('Gini', 0)[-1]=0.6452\n", "Condition not met at step 748. No data to save.\n", "748\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", "Condition not met at step 749. No data to save.\n", "749\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", "Condition not met at step 750. No data to save.\n", "750\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", "Condition not met at step 751. No data to save.\n", "751\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", "Condition not met at step 752. No data to save.\n", "752\n", - "model_vars.get('Gini', 0)[-1]=0.666\n", "Condition not met at step 753. No data to save.\n", "753\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", "Condition not met at step 754. No data to save.\n", "754\n", - "model_vars.get('Gini', 0)[-1]=0.666\n", "Condition not met at step 755. No data to save.\n", "755\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", "Condition not met at step 756. No data to save.\n", "756\n", - "model_vars.get('Gini', 0)[-1]=0.6764\n", "Condition not met at step 757. No data to save.\n", "757\n", - "model_vars.get('Gini', 0)[-1]=0.657\n", "Condition not met at step 758. No data to save.\n", "758\n", - "model_vars.get('Gini', 0)[-1]=0.6624\n", "Condition not met at step 759. No data to save.\n", "759\n", - "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", "Condition not met at step 760. No data to save.\n", "760\n", - "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", "Condition not met at step 761. No data to save.\n", "761\n", - "model_vars.get('Gini', 0)[-1]=0.5982000000000001\n", "Condition not met at step 762. No data to save.\n", "762\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", "Condition not met at step 763. No data to save.\n", "763\n", - "model_vars.get('Gini', 0)[-1]=0.6308\n", "Condition not met at step 764. No data to save.\n", "764\n", - "model_vars.get('Gini', 0)[-1]=0.6452\n", "Condition not met at step 765. No data to save.\n", "765\n", - "model_vars.get('Gini', 0)[-1]=0.6608\n", "Condition not met at step 766. No data to save.\n", "766\n", - "model_vars.get('Gini', 0)[-1]=0.6594\n", "Condition not met at step 767. No data to save.\n", "767\n", - "model_vars.get('Gini', 0)[-1]=0.661\n", "Condition not met at step 768. No data to save.\n", "768\n", - "model_vars.get('Gini', 0)[-1]=0.6394\n", "Condition not met at step 769. No data to save.\n", "769\n", - "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", "Condition not met at step 770. No data to save.\n", "770\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", "Condition not met at step 771. No data to save.\n", "771\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", "Condition not met at step 772. No data to save.\n", "772\n", - "model_vars.get('Gini', 0)[-1]=0.6328\n", "Condition not met at step 773. No data to save.\n", "773\n", - "model_vars.get('Gini', 0)[-1]=0.6454\n", "Condition not met at step 774. No data to save.\n", "774\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", "Condition not met at step 775. No data to save.\n", "775\n", - "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", "Condition not met at step 776. No data to save.\n", "776\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", "Condition not met at step 777. No data to save.\n", "777\n", - "model_vars.get('Gini', 0)[-1]=0.6608\n", "Condition not met at step 778. No data to save.\n", "778\n", - "model_vars.get('Gini', 0)[-1]=0.6776\n", "Condition not met at step 779. No data to save.\n", "779\n", - "model_vars.get('Gini', 0)[-1]=0.6314\n", "Condition not met at step 780. No data to save.\n", "780\n", - "model_vars.get('Gini', 0)[-1]=0.6358\n", "Condition not met at step 781. No data to save.\n", "781\n", - "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", "Condition not met at step 782. No data to save.\n", "782\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", "Condition not met at step 783. No data to save.\n", "783\n", - "model_vars.get('Gini', 0)[-1]=0.6396\n", "Condition not met at step 784. No data to save.\n", "784\n", - "model_vars.get('Gini', 0)[-1]=0.641\n", "Condition not met at step 785. No data to save.\n", "785\n", - "model_vars.get('Gini', 0)[-1]=0.6294\n", "Condition not met at step 786. No data to save.\n", "786\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", "Condition not met at step 787. No data to save.\n", "787\n", - "model_vars.get('Gini', 0)[-1]=0.6896\n", "Condition not met at step 788. No data to save.\n", "788\n", - "model_vars.get('Gini', 0)[-1]=0.6872\n", "Condition not met at step 789. No data to save.\n", "789\n", - "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", "Condition not met at step 790. No data to save.\n", "790\n", - "model_vars.get('Gini', 0)[-1]=0.645\n", "Condition not met at step 791. No data to save.\n", "791\n", - "model_vars.get('Gini', 0)[-1]=0.6342\n", "Condition not met at step 792. No data to save.\n", "792\n", - "model_vars.get('Gini', 0)[-1]=0.635\n", "Condition not met at step 793. No data to save.\n", "793\n", - "model_vars.get('Gini', 0)[-1]=0.6186\n", "Condition not met at step 794. No data to save.\n", "794\n", - "model_vars.get('Gini', 0)[-1]=0.6136\n", "Condition not met at step 795. No data to save.\n", "795\n", - "model_vars.get('Gini', 0)[-1]=0.6366\n", "Condition not met at step 796. No data to save.\n", "796\n", - "model_vars.get('Gini', 0)[-1]=0.613\n", "Condition not met at step 797. No data to save.\n", "797\n", - "model_vars.get('Gini', 0)[-1]=0.6186\n", "Condition not met at step 798. No data to save.\n", "798\n", - "model_vars.get('Gini', 0)[-1]=0.6078\n", "Condition not met at step 799. No data to save.\n", "799\n", - "CALLED\n", - "self.model._steps=800\n", - " TEST self.model._steps=800\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "700 0.6500\n", - "701 0.6500\n", - "702 0.6402\n", - "703 0.6274\n", - "704 0.6596\n", - ".. ...\n", - "795 0.6366\n", - "796 0.6130\n", - "797 0.6186\n", - "798 0.6078\n", - "799 0.6270\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_008.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_008.parquet'\n", - "Saving model to test_path/model_data_008.parquet\n", - "Saving agent to test_path/agent_data_008.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.627\n", + "all_records=\n", + "rep_names=['Wealth']\n", "Condition not met at step 800. No data to save.\n", "800\n", - "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", "Condition not met at step 801. No data to save.\n", "801\n", - "model_vars.get('Gini', 0)[-1]=0.6202000000000001\n", "Condition not met at step 802. No data to save.\n", "802\n", - "model_vars.get('Gini', 0)[-1]=0.621\n", "Condition not met at step 803. No data to save.\n", "803\n", - "model_vars.get('Gini', 0)[-1]=0.6514\n", "Condition not met at step 804. No data to save.\n", "804\n", - "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", "Condition not met at step 805. No data to save.\n", "805\n", - "model_vars.get('Gini', 0)[-1]=0.6252\n", "Condition not met at step 806. No data to save.\n", "806\n", - "model_vars.get('Gini', 0)[-1]=0.6388\n", "Condition not met at step 807. No data to save.\n", "807\n", - "model_vars.get('Gini', 0)[-1]=0.6212\n", "Condition not met at step 808. No data to save.\n", "808\n", - "model_vars.get('Gini', 0)[-1]=0.6156\n", "Condition not met at step 809. No data to save.\n", "809\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", "Condition not met at step 810. No data to save.\n", "810\n", - "model_vars.get('Gini', 0)[-1]=0.635\n", "Condition not met at step 811. No data to save.\n", "811\n", - "model_vars.get('Gini', 0)[-1]=0.6376\n", "Condition not met at step 812. No data to save.\n", "812\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", "Condition not met at step 813. No data to save.\n", "813\n", - "model_vars.get('Gini', 0)[-1]=0.644\n", "Condition not met at step 814. No data to save.\n", "814\n", - "model_vars.get('Gini', 0)[-1]=0.653\n", "Condition not met at step 815. No data to save.\n", "815\n", - "model_vars.get('Gini', 0)[-1]=0.6452\n", "Condition not met at step 816. No data to save.\n", "816\n", - "model_vars.get('Gini', 0)[-1]=0.6344000000000001\n", "Condition not met at step 817. No data to save.\n", "817\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", "Condition not met at step 818. No data to save.\n", "818\n", - "model_vars.get('Gini', 0)[-1]=0.6394\n", "Condition not met at step 819. No data to save.\n", "819\n", - "model_vars.get('Gini', 0)[-1]=0.6576\n", "Condition not met at step 820. No data to save.\n", "820\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", "Condition not met at step 821. No data to save.\n", "821\n", - "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", "Condition not met at step 822. No data to save.\n", "822\n", - "model_vars.get('Gini', 0)[-1]=0.6522\n", "Condition not met at step 823. No data to save.\n", "823\n", - "model_vars.get('Gini', 0)[-1]=0.6388\n", "Condition not met at step 824. No data to save.\n", "824\n", - "model_vars.get('Gini', 0)[-1]=0.6318\n", "Condition not met at step 825. No data to save.\n", "825\n", - "model_vars.get('Gini', 0)[-1]=0.5884\n", "Condition not met at step 826. No data to save.\n", "826\n", - "model_vars.get('Gini', 0)[-1]=0.5722\n", "Condition not met at step 827. No data to save.\n", "827\n", - "model_vars.get('Gini', 0)[-1]=0.5920000000000001\n", "Condition not met at step 828. No data to save.\n", "828\n", - "model_vars.get('Gini', 0)[-1]=0.6338\n", "Condition not met at step 829. No data to save.\n", "829\n", - "model_vars.get('Gini', 0)[-1]=0.6382\n", "Condition not met at step 830. No data to save.\n", "830\n", - "model_vars.get('Gini', 0)[-1]=0.621\n", "Condition not met at step 831. No data to save.\n", "831\n", - "model_vars.get('Gini', 0)[-1]=0.64\n", "Condition not met at step 832. No data to save.\n", "832\n", - "model_vars.get('Gini', 0)[-1]=0.642\n", "Condition not met at step 833. No data to save.\n", "833\n", - "model_vars.get('Gini', 0)[-1]=0.663\n", "Condition not met at step 834. No data to save.\n", "834\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", "Condition not met at step 835. No data to save.\n", "835\n", - "model_vars.get('Gini', 0)[-1]=0.687\n", "Condition not met at step 836. No data to save.\n", "836\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", "Condition not met at step 837. No data to save.\n", "837\n", - "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", "Condition not met at step 838. No data to save.\n", "838\n", - "model_vars.get('Gini', 0)[-1]=0.6134\n", "Condition not met at step 839. No data to save.\n", "839\n", - "model_vars.get('Gini', 0)[-1]=0.5918\n", "Condition not met at step 840. No data to save.\n", "840\n", - "model_vars.get('Gini', 0)[-1]=0.5864\n", "Condition not met at step 841. No data to save.\n", "841\n", - "model_vars.get('Gini', 0)[-1]=0.5804\n", - "Condition not met at step 842. No data to save.\n", + "Condition met. Appended special results for step 842 to test_path/special_results.parquet\n", "842\n", - "model_vars.get('Gini', 0)[-1]=0.6076\n", - "Condition not met at step 843. No data to save.\n", + "Condition met. Appended special results for step 843 to test_path/special_results.parquet\n", "843\n", - "model_vars.get('Gini', 0)[-1]=0.5880000000000001\n", "Condition not met at step 844. No data to save.\n", "844\n", - "model_vars.get('Gini', 0)[-1]=0.5884\n", "Condition not met at step 845. No data to save.\n", "845\n", - "model_vars.get('Gini', 0)[-1]=0.5984\n", "Condition not met at step 846. No data to save.\n", "846\n", - "model_vars.get('Gini', 0)[-1]=0.6104\n", "Condition not met at step 847. No data to save.\n", "847\n", - "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", - "Condition not met at step 848. No data to save.\n", + "Condition met. Appended special results for step 848 to test_path/special_results.parquet\n", "848\n", - "model_vars.get('Gini', 0)[-1]=0.6314\n", "Condition not met at step 849. No data to save.\n", "849\n", - "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", "Condition not met at step 850. No data to save.\n", "850\n", - "model_vars.get('Gini', 0)[-1]=0.6388\n", "Condition not met at step 851. No data to save.\n", "851\n", - "model_vars.get('Gini', 0)[-1]=0.6292\n", "Condition not met at step 852. No data to save.\n", "852\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", "Condition not met at step 853. No data to save.\n", "853\n", - "model_vars.get('Gini', 0)[-1]=0.6166\n", "Condition not met at step 854. No data to save.\n", "854\n", - "model_vars.get('Gini', 0)[-1]=0.627\n", "Condition not met at step 855. No data to save.\n", "855\n", - "model_vars.get('Gini', 0)[-1]=0.627\n", - "Condition not met at step 856. No data to save.\n", + "Condition met. Appended special results for step 856 to test_path/special_results.parquet\n", "856\n", - "model_vars.get('Gini', 0)[-1]=0.6136\n", "Condition not met at step 857. No data to save.\n", "857\n", - "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", "Condition not met at step 858. No data to save.\n", "858\n", - "model_vars.get('Gini', 0)[-1]=0.635\n", "Condition not met at step 859. No data to save.\n", "859\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", "Condition not met at step 860. No data to save.\n", "860\n", - "model_vars.get('Gini', 0)[-1]=0.6148\n", "Condition not met at step 861. No data to save.\n", "861\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", "Condition not met at step 862. No data to save.\n", "862\n", - "model_vars.get('Gini', 0)[-1]=0.6834\n", "Condition not met at step 863. No data to save.\n", "863\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", "Condition not met at step 864. No data to save.\n", "864\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", "Condition not met at step 865. No data to save.\n", "865\n", - "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", "Condition not met at step 866. No data to save.\n", "866\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", "Condition not met at step 867. No data to save.\n", "867\n", - "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", "Condition not met at step 868. No data to save.\n", "868\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", "Condition not met at step 869. No data to save.\n", "869\n", - "model_vars.get('Gini', 0)[-1]=0.6678\n", "Condition not met at step 870. No data to save.\n", "870\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", "Condition not met at step 871. No data to save.\n", "871\n", - "model_vars.get('Gini', 0)[-1]=0.6852\n", "Condition not met at step 872. No data to save.\n", "872\n", - "model_vars.get('Gini', 0)[-1]=0.6878\n", "Condition not met at step 873. No data to save.\n", "873\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", "Condition not met at step 874. No data to save.\n", "874\n", - "model_vars.get('Gini', 0)[-1]=0.6798\n", "Condition not met at step 875. No data to save.\n", "875\n", - "model_vars.get('Gini', 0)[-1]=0.651\n", "Condition not met at step 876. No data to save.\n", "876\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", "Condition not met at step 877. No data to save.\n", "877\n", - "model_vars.get('Gini', 0)[-1]=0.6488\n", "Condition not met at step 878. No data to save.\n", "878\n", - "model_vars.get('Gini', 0)[-1]=0.6235999999999999\n", "Condition not met at step 879. No data to save.\n", "879\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", "Condition not met at step 880. No data to save.\n", "880\n", - "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", "Condition not met at step 881. No data to save.\n", "881\n", - "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", "Condition not met at step 882. No data to save.\n", "882\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", "Condition not met at step 883. No data to save.\n", "883\n", - "model_vars.get('Gini', 0)[-1]=0.6152\n", "Condition not met at step 884. No data to save.\n", "884\n", - "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", "Condition not met at step 885. No data to save.\n", "885\n", - "model_vars.get('Gini', 0)[-1]=0.644\n", "Condition not met at step 886. No data to save.\n", "886\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", "Condition not met at step 887. No data to save.\n", "887\n", - "model_vars.get('Gini', 0)[-1]=0.6314\n", "Condition not met at step 888. No data to save.\n", "888\n", - "model_vars.get('Gini', 0)[-1]=0.6244000000000001\n", "Condition not met at step 889. No data to save.\n", "889\n", - "model_vars.get('Gini', 0)[-1]=0.6082000000000001\n", "Condition not met at step 890. No data to save.\n", "890\n", - "model_vars.get('Gini', 0)[-1]=0.5820000000000001\n", "Condition not met at step 891. No data to save.\n", "891\n", - "model_vars.get('Gini', 0)[-1]=0.6096\n", "Condition not met at step 892. No data to save.\n", "892\n", - "model_vars.get('Gini', 0)[-1]=0.6436\n", "Condition not met at step 893. No data to save.\n", "893\n", - "model_vars.get('Gini', 0)[-1]=0.6812\n", "Condition not met at step 894. No data to save.\n", "894\n", - "model_vars.get('Gini', 0)[-1]=0.655\n", "Condition not met at step 895. No data to save.\n", "895\n", - "model_vars.get('Gini', 0)[-1]=0.6924\n", "Condition not met at step 896. No data to save.\n", "896\n", - "model_vars.get('Gini', 0)[-1]=0.667\n", "Condition not met at step 897. No data to save.\n", "897\n", - "model_vars.get('Gini', 0)[-1]=0.7064\n", - "Condition met. Appended special results for step 898 to test_path/special_results.parquet\n", + "Condition not met at step 898. No data to save.\n", "898\n", - "model_vars.get('Gini', 0)[-1]=0.7068\n", - "Condition met. Appended special results for step 899 to test_path/special_results.parquet\n", + "Condition not met at step 899. No data to save.\n", "899\n", - "CALLED\n", - "self.model._steps=900\n", - " TEST self.model._steps=900\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "800 0.6176\n", - "801 0.6202\n", - "802 0.6210\n", - "803 0.6514\n", - "804 0.6578\n", - ".. ...\n", - "895 0.6924\n", - "896 0.6670\n", - "897 0.7064\n", - "898 0.7068\n", - "899 0.6792\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_009.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_009.parquet'\n", - "Saving model to test_path/model_data_009.parquet\n", - "Saving agent to test_path/agent_data_009.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6792\n", + "all_records=\n", + "rep_names=['Wealth']\n", "Condition not met at step 900. No data to save.\n", "900\n", - "model_vars.get('Gini', 0)[-1]=0.7038\n", - "Condition met. Appended special results for step 901 to test_path/special_results.parquet\n", + "Condition not met at step 901. No data to save.\n", "901\n", - "model_vars.get('Gini', 0)[-1]=0.6784\n", "Condition not met at step 902. No data to save.\n", "902\n", - "model_vars.get('Gini', 0)[-1]=0.6872\n", "Condition not met at step 903. No data to save.\n", "903\n", - "model_vars.get('Gini', 0)[-1]=0.6596\n", "Condition not met at step 904. No data to save.\n", "904\n", - "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", "Condition not met at step 905. No data to save.\n", "905\n", - "model_vars.get('Gini', 0)[-1]=0.63\n", "Condition not met at step 906. No data to save.\n", "906\n", - "model_vars.get('Gini', 0)[-1]=0.5976\n", "Condition not met at step 907. No data to save.\n", "907\n", - "model_vars.get('Gini', 0)[-1]=0.6124\n", "Condition not met at step 908. No data to save.\n", "908\n", - "model_vars.get('Gini', 0)[-1]=0.6004\n", "Condition not met at step 909. No data to save.\n", "909\n", - "model_vars.get('Gini', 0)[-1]=0.6488\n", "Condition not met at step 910. No data to save.\n", "910\n", - "model_vars.get('Gini', 0)[-1]=0.6362\n", "Condition not met at step 911. No data to save.\n", "911\n", - "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", "Condition not met at step 912. No data to save.\n", "912\n", - "model_vars.get('Gini', 0)[-1]=0.6454\n", "Condition not met at step 913. No data to save.\n", "913\n", - "model_vars.get('Gini', 0)[-1]=0.6432\n", "Condition not met at step 914. No data to save.\n", "914\n", - "model_vars.get('Gini', 0)[-1]=0.6564\n", "Condition not met at step 915. No data to save.\n", "915\n", - "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", "Condition not met at step 916. No data to save.\n", "916\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", "Condition not met at step 917. No data to save.\n", "917\n", - "model_vars.get('Gini', 0)[-1]=0.6076\n", "Condition not met at step 918. No data to save.\n", "918\n", - "model_vars.get('Gini', 0)[-1]=0.6013999999999999\n", "Condition not met at step 919. No data to save.\n", "919\n", - "model_vars.get('Gini', 0)[-1]=0.6088\n", "Condition not met at step 920. No data to save.\n", "920\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", "Condition not met at step 921. No data to save.\n", "921\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", "Condition not met at step 922. No data to save.\n", "922\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", "Condition not met at step 923. No data to save.\n", "923\n", - "model_vars.get('Gini', 0)[-1]=0.6792\n", "Condition not met at step 924. No data to save.\n", "924\n", - "model_vars.get('Gini', 0)[-1]=0.6818\n", "Condition not met at step 925. No data to save.\n", "925\n", - "model_vars.get('Gini', 0)[-1]=0.6898\n", "Condition not met at step 926. No data to save.\n", "926\n", - "model_vars.get('Gini', 0)[-1]=0.6928000000000001\n", "Condition not met at step 927. No data to save.\n", "927\n", - "model_vars.get('Gini', 0)[-1]=0.698\n", "Condition not met at step 928. No data to save.\n", "928\n", - "model_vars.get('Gini', 0)[-1]=0.7078\n", - "Condition met. Appended special results for step 929 to test_path/special_results.parquet\n", + "Condition not met at step 929. No data to save.\n", "929\n", - "model_vars.get('Gini', 0)[-1]=0.6846\n", "Condition not met at step 930. No data to save.\n", "930\n", - "model_vars.get('Gini', 0)[-1]=0.6884\n", "Condition not met at step 931. No data to save.\n", "931\n", - "model_vars.get('Gini', 0)[-1]=0.7004\n", - "Condition met. Appended special results for step 932 to test_path/special_results.parquet\n", + "Condition not met at step 932. No data to save.\n", "932\n", - "model_vars.get('Gini', 0)[-1]=0.7048\n", - "Condition met. Appended special results for step 933 to test_path/special_results.parquet\n", + "Condition not met at step 933. No data to save.\n", "933\n", - "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", - "Condition met. Appended special results for step 934 to test_path/special_results.parquet\n", + "Condition not met at step 934. No data to save.\n", "934\n", - "model_vars.get('Gini', 0)[-1]=0.6952\n", "Condition not met at step 935. No data to save.\n", "935\n", - "model_vars.get('Gini', 0)[-1]=0.6924\n", "Condition not met at step 936. No data to save.\n", "936\n", - "model_vars.get('Gini', 0)[-1]=0.6862\n", "Condition not met at step 937. No data to save.\n", "937\n", - "model_vars.get('Gini', 0)[-1]=0.6624\n", "Condition not met at step 938. No data to save.\n", "938\n", - "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", "Condition not met at step 939. No data to save.\n", "939\n", - "model_vars.get('Gini', 0)[-1]=0.6858\n", "Condition not met at step 940. No data to save.\n", "940\n", - "model_vars.get('Gini', 0)[-1]=0.6946\n", "Condition not met at step 941. No data to save.\n", "941\n", - "model_vars.get('Gini', 0)[-1]=0.6874\n", "Condition not met at step 942. No data to save.\n", "942\n", - "model_vars.get('Gini', 0)[-1]=0.6804\n", "Condition not met at step 943. No data to save.\n", "943\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", "Condition not met at step 944. No data to save.\n", "944\n", - "model_vars.get('Gini', 0)[-1]=0.6636\n", "Condition not met at step 945. No data to save.\n", "945\n", - "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", "Condition not met at step 946. No data to save.\n", "946\n", - "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", - "Condition not met at step 947. No data to save.\n", + "Condition met. Appended special results for step 947 to test_path/special_results.parquet\n", "947\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", - "Condition not met at step 948. No data to save.\n", + "Condition met. Appended special results for step 948 to test_path/special_results.parquet\n", "948\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 949. No data to save.\n", + "Condition met. Appended special results for step 949 to test_path/special_results.parquet\n", "949\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", - "Condition not met at step 950. No data to save.\n", + "Condition met. Appended special results for step 950 to test_path/special_results.parquet\n", "950\n", - "model_vars.get('Gini', 0)[-1]=0.6428\n", - "Condition not met at step 951. No data to save.\n", + "Condition met. Appended special results for step 951 to test_path/special_results.parquet\n", "951\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", "Condition not met at step 952. No data to save.\n", "952\n", - "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", "Condition not met at step 953. No data to save.\n", "953\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", "Condition not met at step 954. No data to save.\n", "954\n", - "model_vars.get('Gini', 0)[-1]=0.6442\n", "Condition not met at step 955. No data to save.\n", "955\n", - "model_vars.get('Gini', 0)[-1]=0.6294\n", "Condition not met at step 956. No data to save.\n", "956\n", - "model_vars.get('Gini', 0)[-1]=0.6374\n", "Condition not met at step 957. No data to save.\n", "957\n", - "model_vars.get('Gini', 0)[-1]=0.6362\n", "Condition not met at step 958. No data to save.\n", "958\n", - "model_vars.get('Gini', 0)[-1]=0.6492\n", "Condition not met at step 959. No data to save.\n", "959\n", - "model_vars.get('Gini', 0)[-1]=0.642\n", "Condition not met at step 960. No data to save.\n", "960\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", "Condition not met at step 961. No data to save.\n", "961\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", "Condition not met at step 962. No data to save.\n", "962\n", - "model_vars.get('Gini', 0)[-1]=0.6394\n", "Condition not met at step 963. No data to save.\n", "963\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", "Condition not met at step 964. No data to save.\n", "964\n", - "model_vars.get('Gini', 0)[-1]=0.6362\n", "Condition not met at step 965. No data to save.\n", "965\n", - "model_vars.get('Gini', 0)[-1]=0.6452\n", "Condition not met at step 966. No data to save.\n", "966\n", - "model_vars.get('Gini', 0)[-1]=0.6402\n", "Condition not met at step 967. No data to save.\n", "967\n", - "model_vars.get('Gini', 0)[-1]=0.6528\n", "Condition not met at step 968. No data to save.\n", "968\n", - "model_vars.get('Gini', 0)[-1]=0.6358\n", "Condition not met at step 969. No data to save.\n", "969\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", "Condition not met at step 970. No data to save.\n", "970\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", "Condition not met at step 971. No data to save.\n", "971\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", "Condition not met at step 972. No data to save.\n", "972\n", - "model_vars.get('Gini', 0)[-1]=0.6234\n", "Condition not met at step 973. No data to save.\n", "973\n", - "model_vars.get('Gini', 0)[-1]=0.5932\n", "Condition not met at step 974. No data to save.\n", "974\n", - "model_vars.get('Gini', 0)[-1]=0.6332\n", "Condition not met at step 975. No data to save.\n", "975\n", - "model_vars.get('Gini', 0)[-1]=0.6226\n", "Condition not met at step 976. No data to save.\n", "976\n", - "model_vars.get('Gini', 0)[-1]=0.6388\n", "Condition not met at step 977. No data to save.\n", "977\n", - "model_vars.get('Gini', 0)[-1]=0.6634\n", "Condition not met at step 978. No data to save.\n", "978\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", "Condition not met at step 979. No data to save.\n", "979\n", - "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", "Condition not met at step 980. No data to save.\n", "980\n", - "model_vars.get('Gini', 0)[-1]=0.6702\n", "Condition not met at step 981. No data to save.\n", "981\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", "Condition not met at step 982. No data to save.\n", "982\n", - "model_vars.get('Gini', 0)[-1]=0.6294\n", "Condition not met at step 983. No data to save.\n", "983\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", "Condition not met at step 984. No data to save.\n", "984\n", - "model_vars.get('Gini', 0)[-1]=0.6754\n", "Condition not met at step 985. No data to save.\n", "985\n", - "model_vars.get('Gini', 0)[-1]=0.6562\n", "Condition not met at step 986. No data to save.\n", "986\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", "Condition not met at step 987. No data to save.\n", "987\n", - "model_vars.get('Gini', 0)[-1]=0.6862\n", "Condition not met at step 988. No data to save.\n", "988\n", - "model_vars.get('Gini', 0)[-1]=0.7024\n", - "Condition met. Appended special results for step 989 to test_path/special_results.parquet\n", + "Condition not met at step 989. No data to save.\n", "989\n", - "model_vars.get('Gini', 0)[-1]=0.7170000000000001\n", - "Condition met. Appended special results for step 990 to test_path/special_results.parquet\n", + "Condition not met at step 990. No data to save.\n", "990\n", - "model_vars.get('Gini', 0)[-1]=0.6974\n", "Condition not met at step 991. No data to save.\n", "991\n", - "model_vars.get('Gini', 0)[-1]=0.6816\n", "Condition not met at step 992. No data to save.\n", "992\n", - "model_vars.get('Gini', 0)[-1]=0.7086\n", "Condition met. Appended special results for step 993 to test_path/special_results.parquet\n", "993\n", - "model_vars.get('Gini', 0)[-1]=0.6996\n", "Condition not met at step 994. No data to save.\n", "994\n", - "model_vars.get('Gini', 0)[-1]=0.677\n", "Condition not met at step 995. No data to save.\n", "995\n", - "model_vars.get('Gini', 0)[-1]=0.6921999999999999\n", "Condition not met at step 996. No data to save.\n", "996\n", - "model_vars.get('Gini', 0)[-1]=0.685\n", "Condition not met at step 997. No data to save.\n", "997\n", - "model_vars.get('Gini', 0)[-1]=0.6806\n", "Condition not met at step 998. No data to save.\n", "998\n", - "model_vars.get('Gini', 0)[-1]=0.651\n", "Condition not met at step 999. No data to save.\n", "999\n", - "CALLED\n", - "self.model._steps=1000\n", - " TEST self.model._steps=1000\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "900 0.7038\n", - "901 0.6784\n", - "902 0.6872\n", - "903 0.6596\n", - "904 0.6486\n", - ".. ...\n", - "995 0.6922\n", - "996 0.6850\n", - "997 0.6806\n", - "998 0.6510\n", - "999 0.6530\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_010.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_010.parquet'\n", - "Saving model to test_path/model_data_010.parquet\n", - "Saving agent to test_path/agent_data_010.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.653\n", - "Condition not met at step 1000. No data to save.\n", - "1000\n", - "model_vars.get('Gini', 0)[-1]=0.6574\n", - "Condition not met at step 1001. No data to save.\n", - "1001\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", - "Condition not met at step 1002. No data to save.\n", - "1002\n", - "model_vars.get('Gini', 0)[-1]=0.6254\n", - "Condition not met at step 1003. No data to save.\n", - "1003\n", - "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", - "Condition not met at step 1004. No data to save.\n", - "1004\n", - "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", - "Condition not met at step 1005. No data to save.\n", - "1005\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 1006. No data to save.\n", - "1006\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", - "Condition not met at step 1007. No data to save.\n", - "1007\n", - "model_vars.get('Gini', 0)[-1]=0.6348\n", - "Condition not met at step 1008. No data to save.\n", - "1008\n", - "model_vars.get('Gini', 0)[-1]=0.6442\n", - "Condition not met at step 1009. No data to save.\n", - "1009\n", - "model_vars.get('Gini', 0)[-1]=0.6184000000000001\n", - "Condition not met at step 1010. No data to save.\n", - "1010\n", - "model_vars.get('Gini', 0)[-1]=0.5946\n", - "Condition not met at step 1011. No data to save.\n", - "1011\n", - "model_vars.get('Gini', 0)[-1]=0.6018\n", - "Condition not met at step 1012. No data to save.\n", - "1012\n", - "model_vars.get('Gini', 0)[-1]=0.6093999999999999\n", - "Condition not met at step 1013. No data to save.\n", - "1013\n", - "model_vars.get('Gini', 0)[-1]=0.615\n", - "Condition not met at step 1014. No data to save.\n", - "1014\n", - "model_vars.get('Gini', 0)[-1]=0.648\n", - "Condition not met at step 1015. No data to save.\n", - "1015\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 1016. No data to save.\n", - "1016\n", - "model_vars.get('Gini', 0)[-1]=0.6432\n", - "Condition not met at step 1017. No data to save.\n", - "1017\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", - "Condition not met at step 1018. No data to save.\n", - "1018\n", - "model_vars.get('Gini', 0)[-1]=0.6806\n", - "Condition not met at step 1019. No data to save.\n", - "1019\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 1020. No data to save.\n", - "1020\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 1021. No data to save.\n", - "1021\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", - "Condition not met at step 1022. No data to save.\n", - "1022\n", - "model_vars.get('Gini', 0)[-1]=0.6324000000000001\n", - "Condition not met at step 1023. No data to save.\n", - "1023\n", - "model_vars.get('Gini', 0)[-1]=0.6522\n", - "Condition not met at step 1024. No data to save.\n", - "1024\n", - "model_vars.get('Gini', 0)[-1]=0.6528\n", - "Condition not met at step 1025. No data to save.\n", - "1025\n", - "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", - "Condition not met at step 1026. No data to save.\n", - "1026\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", - "Condition not met at step 1027. No data to save.\n", - "1027\n", - "model_vars.get('Gini', 0)[-1]=0.6522\n", - "Condition not met at step 1028. No data to save.\n", - "1028\n", - "model_vars.get('Gini', 0)[-1]=0.6612\n", - "Condition not met at step 1029. No data to save.\n", - "1029\n", - "model_vars.get('Gini', 0)[-1]=0.6732\n", - "Condition not met at step 1030. No data to save.\n", - "1030\n", - "model_vars.get('Gini', 0)[-1]=0.6594\n", - "Condition not met at step 1031. No data to save.\n", - "1031\n", - "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", - "Condition not met at step 1032. No data to save.\n", - "1032\n", - "model_vars.get('Gini', 0)[-1]=0.6452\n", - "Condition not met at step 1033. No data to save.\n", - "1033\n", - "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", - "Condition not met at step 1034. No data to save.\n", - "1034\n", - "model_vars.get('Gini', 0)[-1]=0.6532\n", - "Condition not met at step 1035. No data to save.\n", - "1035\n", - "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", - "Condition not met at step 1036. No data to save.\n", - "1036\n", - "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", - "Condition not met at step 1037. No data to save.\n", - "1037\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 1038. No data to save.\n", - "1038\n", - "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", - "Condition not met at step 1039. No data to save.\n", - "1039\n", - "model_vars.get('Gini', 0)[-1]=0.6806\n", - "Condition not met at step 1040. No data to save.\n", - "1040\n", - "model_vars.get('Gini', 0)[-1]=0.6856\n", - "Condition not met at step 1041. No data to save.\n", - "1041\n", - "model_vars.get('Gini', 0)[-1]=0.6779999999999999\n", - "Condition not met at step 1042. No data to save.\n", - "1042\n", - "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", - "Condition not met at step 1043. No data to save.\n", - "1043\n", - "model_vars.get('Gini', 0)[-1]=0.6594\n", - "Condition not met at step 1044. No data to save.\n", - "1044\n", - "model_vars.get('Gini', 0)[-1]=0.6534\n", - "Condition not met at step 1045. No data to save.\n", - "1045\n", - "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", - "Condition not met at step 1046. No data to save.\n", - "1046\n", - "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", - "Condition not met at step 1047. No data to save.\n", - "1047\n", - "model_vars.get('Gini', 0)[-1]=0.6474\n", - "Condition not met at step 1048. No data to save.\n", - "1048\n", - "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", - "Condition not met at step 1049. No data to save.\n", - "1049\n", - "model_vars.get('Gini', 0)[-1]=0.6574\n", - "Condition not met at step 1050. No data to save.\n", - "1050\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 1051. No data to save.\n", - "1051\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 1052. No data to save.\n", - "1052\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 1053. No data to save.\n", - "1053\n", - "model_vars.get('Gini', 0)[-1]=0.6166\n", - "Condition not met at step 1054. No data to save.\n", - "1054\n", - "model_vars.get('Gini', 0)[-1]=0.6148\n", - "Condition not met at step 1055. No data to save.\n", - "1055\n", - "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", - "Condition not met at step 1056. No data to save.\n", - "1056\n", - "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", - "Condition not met at step 1057. No data to save.\n", - "1057\n", - "model_vars.get('Gini', 0)[-1]=0.6488\n", - "Condition not met at step 1058. No data to save.\n", - "1058\n", - "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", - "Condition not met at step 1059. No data to save.\n", - "1059\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 1060. No data to save.\n", - "1060\n", - "model_vars.get('Gini', 0)[-1]=0.6572\n", - "Condition not met at step 1061. No data to save.\n", - "1061\n", - "model_vars.get('Gini', 0)[-1]=0.6348\n", - "Condition not met at step 1062. No data to save.\n", - "1062\n", - "model_vars.get('Gini', 0)[-1]=0.6534\n", - "Condition not met at step 1063. No data to save.\n", - "1063\n", - "model_vars.get('Gini', 0)[-1]=0.65\n", - "Condition not met at step 1064. No data to save.\n", - "1064\n", - "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", - "Condition not met at step 1065. No data to save.\n", - "1065\n", - "model_vars.get('Gini', 0)[-1]=0.6242000000000001\n", - "Condition not met at step 1066. No data to save.\n", - "1066\n", - "model_vars.get('Gini', 0)[-1]=0.6188\n", - "Condition not met at step 1067. No data to save.\n", - "1067\n", - "model_vars.get('Gini', 0)[-1]=0.6068\n", - "Condition not met at step 1068. No data to save.\n", - "1068\n", - "model_vars.get('Gini', 0)[-1]=0.6228\n", - "Condition not met at step 1069. No data to save.\n", - "1069\n", - "model_vars.get('Gini', 0)[-1]=0.6204000000000001\n", - "Condition not met at step 1070. No data to save.\n", - "1070\n", - "model_vars.get('Gini', 0)[-1]=0.6266\n", - "Condition not met at step 1071. No data to save.\n", - "1071\n", - "model_vars.get('Gini', 0)[-1]=0.6437999999999999\n", - "Condition not met at step 1072. No data to save.\n", - "1072\n", - "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", - "Condition not met at step 1073. No data to save.\n", - "1073\n", - "model_vars.get('Gini', 0)[-1]=0.638\n", - "Condition not met at step 1074. No data to save.\n", - "1074\n", - "model_vars.get('Gini', 0)[-1]=0.622\n", - "Condition not met at step 1075. No data to save.\n", - "1075\n", - "model_vars.get('Gini', 0)[-1]=0.639\n", - "Condition not met at step 1076. No data to save.\n", - "1076\n", - "model_vars.get('Gini', 0)[-1]=0.6634\n", - "Condition not met at step 1077. No data to save.\n", - "1077\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 1078. No data to save.\n", - "1078\n", - "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", - "Condition not met at step 1079. No data to save.\n", - "1079\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 1080. No data to save.\n", - "1080\n", - "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", - "Condition not met at step 1081. No data to save.\n", - "1081\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 1082. No data to save.\n", - "1082\n", - "model_vars.get('Gini', 0)[-1]=0.6662\n", - "Condition not met at step 1083. No data to save.\n", - "1083\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 1084. No data to save.\n", - "1084\n", - "model_vars.get('Gini', 0)[-1]=0.6502\n", - "Condition not met at step 1085. No data to save.\n", - "1085\n", - "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", - "Condition not met at step 1086. No data to save.\n", - "1086\n", - "model_vars.get('Gini', 0)[-1]=0.6528\n", - "Condition not met at step 1087. No data to save.\n", - "1087\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", - "Condition not met at step 1088. No data to save.\n", - "1088\n", - "model_vars.get('Gini', 0)[-1]=0.6594\n", - "Condition not met at step 1089. No data to save.\n", - "1089\n", - "model_vars.get('Gini', 0)[-1]=0.6914\n", - "Condition not met at step 1090. No data to save.\n", - "1090\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", - "Condition not met at step 1091. No data to save.\n", - "1091\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", - "Condition not met at step 1092. No data to save.\n", - "1092\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 1093. No data to save.\n", - "1093\n", - "model_vars.get('Gini', 0)[-1]=0.6834\n", - "Condition not met at step 1094. No data to save.\n", - "1094\n", - "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", - "Condition not met at step 1095. No data to save.\n", - "1095\n", - "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", - "Condition not met at step 1096. No data to save.\n", - "1096\n", - "model_vars.get('Gini', 0)[-1]=0.6684\n", - "Condition not met at step 1097. No data to save.\n", - "1097\n", - "model_vars.get('Gini', 0)[-1]=0.6692\n", - "Condition not met at step 1098. No data to save.\n", - "1098\n", - "model_vars.get('Gini', 0)[-1]=0.6672\n", - "Condition not met at step 1099. No data to save.\n", - "1099\n", - "CALLED\n", - "self.model._steps=1100\n", - " TEST self.model._steps=1100\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "1000 0.6574\n", - "1001 0.6482\n", - "1002 0.6254\n", - "1003 0.6316\n", - "1004 0.6486\n", - "... ...\n", - "1095 0.6820\n", - "1096 0.6684\n", - "1097 0.6692\n", - "1098 0.6672\n", - "1099 0.6878\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_011.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_011.parquet'\n", - "Saving model to test_path/model_data_011.parquet\n", - "Saving agent to test_path/agent_data_011.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6878\n", - "Condition not met at step 1100. No data to save.\n", - "1100\n", - "model_vars.get('Gini', 0)[-1]=0.6744\n", - "Condition not met at step 1101. No data to save.\n", - "1101\n", - "model_vars.get('Gini', 0)[-1]=0.6722\n", - "Condition not met at step 1102. No data to save.\n", - "1102\n", - "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", - "Condition not met at step 1103. No data to save.\n", - "1103\n", - "model_vars.get('Gini', 0)[-1]=0.6402\n", - "Condition not met at step 1104. No data to save.\n", - "1104\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", - "Condition not met at step 1105. No data to save.\n", - "1105\n", - "model_vars.get('Gini', 0)[-1]=0.6126\n", - "Condition not met at step 1106. No data to save.\n", - "1106\n", - "model_vars.get('Gini', 0)[-1]=0.608\n", - "Condition not met at step 1107. No data to save.\n", - "1107\n", - "model_vars.get('Gini', 0)[-1]=0.6312\n", - "Condition not met at step 1108. No data to save.\n", - "1108\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", - "Condition not met at step 1109. No data to save.\n", - "1109\n", - "model_vars.get('Gini', 0)[-1]=0.6208\n", - "Condition not met at step 1110. No data to save.\n", - "1110\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 1111. No data to save.\n", - "1111\n", - "model_vars.get('Gini', 0)[-1]=0.6534\n", - "Condition not met at step 1112. No data to save.\n", - "1112\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 1113. No data to save.\n", - "1113\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", - "Condition not met at step 1114. No data to save.\n", - "1114\n", - "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", - "Condition not met at step 1115. No data to save.\n", - "1115\n", - "model_vars.get('Gini', 0)[-1]=0.6774\n", - "Condition not met at step 1116. No data to save.\n", - "1116\n", - "model_vars.get('Gini', 0)[-1]=0.6966\n", - "Condition not met at step 1117. No data to save.\n", - "1117\n", - "model_vars.get('Gini', 0)[-1]=0.6898\n", - "Condition not met at step 1118. No data to save.\n", - "1118\n", - "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", - "Condition not met at step 1119. No data to save.\n", - "1119\n", - "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", - "Condition not met at step 1120. No data to save.\n", - "1120\n", - "model_vars.get('Gini', 0)[-1]=0.6676\n", - "Condition not met at step 1121. No data to save.\n", - "1121\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", - "Condition not met at step 1122. No data to save.\n", - "1122\n", - "model_vars.get('Gini', 0)[-1]=0.665\n", - "Condition not met at step 1123. No data to save.\n", - "1123\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", - "Condition not met at step 1124. No data to save.\n", - "1124\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 1125. No data to save.\n", - "1125\n", - "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", - "Condition not met at step 1126. No data to save.\n", - "1126\n", - "model_vars.get('Gini', 0)[-1]=0.644\n", - "Condition not met at step 1127. No data to save.\n", - "1127\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", - "Condition not met at step 1128. No data to save.\n", - "1128\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", - "Condition not met at step 1129. No data to save.\n", - "1129\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 1130. No data to save.\n", - "1130\n", - "model_vars.get('Gini', 0)[-1]=0.6684\n", - "Condition not met at step 1131. No data to save.\n", - "1131\n", - "model_vars.get('Gini', 0)[-1]=0.6414\n", - "Condition not met at step 1132. No data to save.\n", - "1132\n", - "model_vars.get('Gini', 0)[-1]=0.6076\n", - "Condition not met at step 1133. No data to save.\n", - "1133\n", - "model_vars.get('Gini', 0)[-1]=0.606\n", - "Condition not met at step 1134. No data to save.\n", - "1134\n", - "model_vars.get('Gini', 0)[-1]=0.6234\n", - "Condition not met at step 1135. No data to save.\n", - "1135\n", - "model_vars.get('Gini', 0)[-1]=0.6232\n", - "Condition not met at step 1136. No data to save.\n", - "1136\n", - "model_vars.get('Gini', 0)[-1]=0.6326\n", - "Condition not met at step 1137. No data to save.\n", - "1137\n", - "model_vars.get('Gini', 0)[-1]=0.627\n", - "Condition not met at step 1138. No data to save.\n", - "1138\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", - "Condition not met at step 1139. No data to save.\n", - "1139\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", - "Condition not met at step 1140. No data to save.\n", - "1140\n", - "model_vars.get('Gini', 0)[-1]=0.654\n", - "Condition not met at step 1141. No data to save.\n", - "1141\n", - "model_vars.get('Gini', 0)[-1]=0.6348\n", - "Condition not met at step 1142. No data to save.\n", - "1142\n", - "model_vars.get('Gini', 0)[-1]=0.6292\n", - "Condition not met at step 1143. No data to save.\n", - "1143\n", - "model_vars.get('Gini', 0)[-1]=0.6098\n", - "Condition not met at step 1144. No data to save.\n", - "1144\n", - "model_vars.get('Gini', 0)[-1]=0.6166\n", - "Condition not met at step 1145. No data to save.\n", - "1145\n", - "model_vars.get('Gini', 0)[-1]=0.6166\n", - "Condition not met at step 1146. No data to save.\n", - "1146\n", - "model_vars.get('Gini', 0)[-1]=0.6066\n", - "Condition not met at step 1147. No data to save.\n", - "1147\n", - "model_vars.get('Gini', 0)[-1]=0.6228\n", - "Condition not met at step 1148. No data to save.\n", - "1148\n", - "model_vars.get('Gini', 0)[-1]=0.6204000000000001\n", - "Condition not met at step 1149. No data to save.\n", - "1149\n", - "model_vars.get('Gini', 0)[-1]=0.6268\n", - "Condition not met at step 1150. No data to save.\n", - "1150\n", - "model_vars.get('Gini', 0)[-1]=0.641\n", - "Condition not met at step 1151. No data to save.\n", - "1151\n", - "model_vars.get('Gini', 0)[-1]=0.6652\n", - "Condition not met at step 1152. No data to save.\n", - "1152\n", - "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", - "Condition not met at step 1153. No data to save.\n", - "1153\n", - "model_vars.get('Gini', 0)[-1]=0.6738\n", - "Condition not met at step 1154. No data to save.\n", - "1154\n", - "model_vars.get('Gini', 0)[-1]=0.6798\n", - "Condition not met at step 1155. No data to save.\n", - "1155\n", - "model_vars.get('Gini', 0)[-1]=0.685\n", - "Condition not met at step 1156. No data to save.\n", - "1156\n", - "model_vars.get('Gini', 0)[-1]=0.6826\n", - "Condition not met at step 1157. No data to save.\n", - "1157\n", - "model_vars.get('Gini', 0)[-1]=0.6802\n", - "Condition not met at step 1158. No data to save.\n", - "1158\n", - "model_vars.get('Gini', 0)[-1]=0.7026\n", - "Condition met. Appended special results for step 1159 to test_path/special_results.parquet\n", - "1159\n", - "model_vars.get('Gini', 0)[-1]=0.6964\n", - "Condition not met at step 1160. No data to save.\n", - "1160\n", - "model_vars.get('Gini', 0)[-1]=0.7001999999999999\n", - "Condition met. Appended special results for step 1161 to test_path/special_results.parquet\n", - "1161\n", - "model_vars.get('Gini', 0)[-1]=0.6906\n", - "Condition not met at step 1162. No data to save.\n", - "1162\n", - "model_vars.get('Gini', 0)[-1]=0.6854\n", - "Condition not met at step 1163. No data to save.\n", - "1163\n", - "model_vars.get('Gini', 0)[-1]=0.6968000000000001\n", - "Condition not met at step 1164. No data to save.\n", - "1164\n", - "model_vars.get('Gini', 0)[-1]=0.6842\n", - "Condition not met at step 1165. No data to save.\n", - "1165\n", - "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", - "Condition not met at step 1166. No data to save.\n", - "1166\n", - "model_vars.get('Gini', 0)[-1]=0.7068\n", - "Condition met. Appended special results for step 1167 to test_path/special_results.parquet\n", - "1167\n", - "model_vars.get('Gini', 0)[-1]=0.6978\n", - "Condition not met at step 1168. No data to save.\n", - "1168\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 1169. No data to save.\n", - "1169\n", - "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", - "Condition not met at step 1170. No data to save.\n", - "1170\n", - "model_vars.get('Gini', 0)[-1]=0.6638\n", - "Condition not met at step 1171. No data to save.\n", - "1171\n", - "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", - "Condition not met at step 1172. No data to save.\n", - "1172\n", - "model_vars.get('Gini', 0)[-1]=0.6824\n", - "Condition not met at step 1173. No data to save.\n", - "1173\n", - "model_vars.get('Gini', 0)[-1]=0.6794\n", - "Condition not met at step 1174. No data to save.\n", - "1174\n", - "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", - "Condition not met at step 1175. No data to save.\n", - "1175\n", - "model_vars.get('Gini', 0)[-1]=0.6772\n", - "Condition not met at step 1176. No data to save.\n", - "1176\n", - "model_vars.get('Gini', 0)[-1]=0.6796\n", - "Condition not met at step 1177. No data to save.\n", - "1177\n", - "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", - "Condition not met at step 1178. No data to save.\n", - "1178\n", - "model_vars.get('Gini', 0)[-1]=0.6662\n", - "Condition not met at step 1179. No data to save.\n", - "1179\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 1180. No data to save.\n", - "1180\n", - "model_vars.get('Gini', 0)[-1]=0.6906\n", - "Condition not met at step 1181. No data to save.\n", - "1181\n", - "model_vars.get('Gini', 0)[-1]=0.6702\n", - "Condition not met at step 1182. No data to save.\n", - "1182\n", - "model_vars.get('Gini', 0)[-1]=0.669\n", - "Condition not met at step 1183. No data to save.\n", - "1183\n", - "model_vars.get('Gini', 0)[-1]=0.6374\n", - "Condition not met at step 1184. No data to save.\n", - "1184\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 1185. No data to save.\n", - "1185\n", - "model_vars.get('Gini', 0)[-1]=0.6778\n", - "Condition not met at step 1186. No data to save.\n", - "1186\n", - "model_vars.get('Gini', 0)[-1]=0.6826\n", - "Condition not met at step 1187. No data to save.\n", - "1187\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 1188. No data to save.\n", - "1188\n", - "model_vars.get('Gini', 0)[-1]=0.6738\n", - "Condition not met at step 1189. No data to save.\n", - "1189\n", - "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", - "Condition not met at step 1190. No data to save.\n", - "1190\n", - "model_vars.get('Gini', 0)[-1]=0.6862\n", - "Condition not met at step 1191. No data to save.\n", - "1191\n", - "model_vars.get('Gini', 0)[-1]=0.6921999999999999\n", - "Condition not met at step 1192. No data to save.\n", - "1192\n", - "model_vars.get('Gini', 0)[-1]=0.7166\n", - "Condition met. Appended special results for step 1193 to test_path/special_results.parquet\n", - "1193\n", - "model_vars.get('Gini', 0)[-1]=0.6864\n", - "Condition not met at step 1194. No data to save.\n", - "1194\n", - "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", - "Condition not met at step 1195. No data to save.\n", - "1195\n", - "model_vars.get('Gini', 0)[-1]=0.6562\n", - "Condition not met at step 1196. No data to save.\n", - "1196\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 1197. No data to save.\n", - "1197\n", - "model_vars.get('Gini', 0)[-1]=0.642\n", - "Condition not met at step 1198. No data to save.\n", - "1198\n", - "model_vars.get('Gini', 0)[-1]=0.6554\n", - "Condition not met at step 1199. No data to save.\n", - "1199\n", - "CALLED\n", - "self.model._steps=1200\n", - " TEST self.model._steps=1200\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "1100 0.6744\n", - "1101 0.6722\n", - "1102 0.6566\n", - "1103 0.6402\n", - "1104 0.6434\n", - "... ...\n", - "1195 0.6562\n", - "1196 0.6602\n", - "1197 0.6420\n", - "1198 0.6554\n", - "1199 0.6302\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_012.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_012.parquet'\n", - "Saving model to test_path/model_data_012.parquet\n", - "Saving agent to test_path/agent_data_012.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6302\n", - "Condition not met at step 1200. No data to save.\n", - "1200\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 1201. No data to save.\n", - "1201\n", - "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", - "Condition not met at step 1202. No data to save.\n", - "1202\n", - "model_vars.get('Gini', 0)[-1]=0.645\n", - "Condition not met at step 1203. No data to save.\n", - "1203\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 1204. No data to save.\n", - "1204\n", - "model_vars.get('Gini', 0)[-1]=0.6194\n", - "Condition not met at step 1205. No data to save.\n", - "1205\n", - "model_vars.get('Gini', 0)[-1]=0.666\n", - "Condition not met at step 1206. No data to save.\n", - "1206\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", - "Condition not met at step 1207. No data to save.\n", - "1207\n", - "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", - "Condition not met at step 1208. No data to save.\n", - "1208\n", - "model_vars.get('Gini', 0)[-1]=0.6412\n", - "Condition not met at step 1209. No data to save.\n", - "1209\n", - "model_vars.get('Gini', 0)[-1]=0.639\n", - "Condition not met at step 1210. No data to save.\n", - "1210\n", - "model_vars.get('Gini', 0)[-1]=0.6414\n", - "Condition not met at step 1211. No data to save.\n", - "1211\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", - "Condition not met at step 1212. No data to save.\n", - "1212\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 1213. No data to save.\n", - "1213\n", - "model_vars.get('Gini', 0)[-1]=0.6242000000000001\n", - "Condition not met at step 1214. No data to save.\n", - "1214\n", - "model_vars.get('Gini', 0)[-1]=0.6098\n", - "Condition not met at step 1215. No data to save.\n", - "1215\n", - "model_vars.get('Gini', 0)[-1]=0.6242000000000001\n", - "Condition not met at step 1216. No data to save.\n", - "1216\n", - "model_vars.get('Gini', 0)[-1]=0.6266\n", - "Condition not met at step 1217. No data to save.\n", - "1217\n", - "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", - "Condition not met at step 1218. No data to save.\n", - "1218\n", - "model_vars.get('Gini', 0)[-1]=0.6258\n", - "Condition not met at step 1219. No data to save.\n", - "1219\n", - "model_vars.get('Gini', 0)[-1]=0.6228\n", - "Condition not met at step 1220. No data to save.\n", - "1220\n", - "model_vars.get('Gini', 0)[-1]=0.6124\n", - "Condition not met at step 1221. No data to save.\n", - "1221\n", - "model_vars.get('Gini', 0)[-1]=0.657\n", - "Condition not met at step 1222. No data to save.\n", - "1222\n", - "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", - "Condition not met at step 1223. No data to save.\n", - "1223\n", - "model_vars.get('Gini', 0)[-1]=0.6722\n", - "Condition not met at step 1224. No data to save.\n", - "1224\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 1225. No data to save.\n", - "1225\n", - "model_vars.get('Gini', 0)[-1]=0.6456\n", - "Condition not met at step 1226. No data to save.\n", - "1226\n", - "model_vars.get('Gini', 0)[-1]=0.625\n", - "Condition not met at step 1227. No data to save.\n", - "1227\n", - "model_vars.get('Gini', 0)[-1]=0.6116\n", - "Condition not met at step 1228. No data to save.\n", - "1228\n", - "model_vars.get('Gini', 0)[-1]=0.6154\n", - "Condition not met at step 1229. No data to save.\n", - "1229\n", - "model_vars.get('Gini', 0)[-1]=0.624\n", - "Condition not met at step 1230. No data to save.\n", - "1230\n", - "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", - "Condition not met at step 1231. No data to save.\n", - "1231\n", - "model_vars.get('Gini', 0)[-1]=0.6392\n", - "Condition not met at step 1232. No data to save.\n", - "1232\n", - "model_vars.get('Gini', 0)[-1]=0.6398\n", - "Condition not met at step 1233. No data to save.\n", - "1233\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 1234. No data to save.\n", - "1234\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 1235. No data to save.\n", - "1235\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", - "Condition not met at step 1236. No data to save.\n", - "1236\n", - "model_vars.get('Gini', 0)[-1]=0.6572\n", - "Condition not met at step 1237. No data to save.\n", - "1237\n", - "model_vars.get('Gini', 0)[-1]=0.6472\n", - "Condition not met at step 1238. No data to save.\n", - "1238\n", - "model_vars.get('Gini', 0)[-1]=0.6318\n", - "Condition not met at step 1239. No data to save.\n", - "1239\n", - "model_vars.get('Gini', 0)[-1]=0.6374\n", - "Condition not met at step 1240. No data to save.\n", - "1240\n", - "model_vars.get('Gini', 0)[-1]=0.65\n", - "Condition not met at step 1241. No data to save.\n", - "1241\n", - "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", - "Condition not met at step 1242. No data to save.\n", - "1242\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 1243. No data to save.\n", - "1243\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 1244. No data to save.\n", - "1244\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", - "Condition not met at step 1245. No data to save.\n", - "1245\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 1246. No data to save.\n", - "1246\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 1247. No data to save.\n", - "1247\n", - "model_vars.get('Gini', 0)[-1]=0.6437999999999999\n", - "Condition not met at step 1248. No data to save.\n", - "1248\n", - "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", - "Condition not met at step 1249. No data to save.\n", - "1249\n", - "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", - "Condition not met at step 1250. No data to save.\n", - "1250\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", - "Condition not met at step 1251. No data to save.\n", - "1251\n", - "model_vars.get('Gini', 0)[-1]=0.6798\n", - "Condition not met at step 1252. No data to save.\n", - "1252\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 1253. No data to save.\n", - "1253\n", - "model_vars.get('Gini', 0)[-1]=0.6672\n", - "Condition not met at step 1254. No data to save.\n", - "1254\n", - "model_vars.get('Gini', 0)[-1]=0.692\n", - "Condition not met at step 1255. No data to save.\n", - "1255\n", - "model_vars.get('Gini', 0)[-1]=0.6984\n", - "Condition not met at step 1256. No data to save.\n", - "1256\n", - "model_vars.get('Gini', 0)[-1]=0.6874\n", - "Condition not met at step 1257. No data to save.\n", - "1257\n", - "model_vars.get('Gini', 0)[-1]=0.7146\n", - "Condition met. Appended special results for step 1258 to test_path/special_results.parquet\n", - "1258\n", - "model_vars.get('Gini', 0)[-1]=0.7041999999999999\n", - "Condition met. Appended special results for step 1259 to test_path/special_results.parquet\n", - "1259\n", - "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", - "Condition not met at step 1260. No data to save.\n", - "1260\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 1261. No data to save.\n", - "1261\n", - "model_vars.get('Gini', 0)[-1]=0.6422\n", - "Condition not met at step 1262. No data to save.\n", - "1262\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 1263. No data to save.\n", - "1263\n", - "model_vars.get('Gini', 0)[-1]=0.6442\n", - "Condition not met at step 1264. No data to save.\n", - "1264\n", - "model_vars.get('Gini', 0)[-1]=0.6552\n", - "Condition not met at step 1265. No data to save.\n", - "1265\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 1266. No data to save.\n", - "1266\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 1267. No data to save.\n", - "1267\n", - "model_vars.get('Gini', 0)[-1]=0.6232\n", - "Condition not met at step 1268. No data to save.\n", - "1268\n", - "model_vars.get('Gini', 0)[-1]=0.633\n", - "Condition not met at step 1269. No data to save.\n", - "1269\n", - "model_vars.get('Gini', 0)[-1]=0.6246\n", - "Condition not met at step 1270. No data to save.\n", - "1270\n", - "model_vars.get('Gini', 0)[-1]=0.635\n", - "Condition not met at step 1271. No data to save.\n", - "1271\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 1272. No data to save.\n", - "1272\n", - "model_vars.get('Gini', 0)[-1]=0.6258\n", - "Condition not met at step 1273. No data to save.\n", - "1273\n", - "model_vars.get('Gini', 0)[-1]=0.6308\n", - "Condition not met at step 1274. No data to save.\n", - "1274\n", - "model_vars.get('Gini', 0)[-1]=0.6278\n", - "Condition not met at step 1275. No data to save.\n", - "1275\n", - "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", - "Condition not met at step 1276. No data to save.\n", - "1276\n", - "model_vars.get('Gini', 0)[-1]=0.6232\n", - "Condition not met at step 1277. No data to save.\n", - "1277\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 1278. No data to save.\n", - "1278\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", - "Condition not met at step 1279. No data to save.\n", - "1279\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 1280. No data to save.\n", - "1280\n", - "model_vars.get('Gini', 0)[-1]=0.6328\n", - "Condition not met at step 1281. No data to save.\n", - "1281\n", - "model_vars.get('Gini', 0)[-1]=0.604\n", - "Condition not met at step 1282. No data to save.\n", - "1282\n", - "model_vars.get('Gini', 0)[-1]=0.5860000000000001\n", - "Condition not met at step 1283. No data to save.\n", - "1283\n", - "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", - "Condition not met at step 1284. No data to save.\n", - "1284\n", - "model_vars.get('Gini', 0)[-1]=0.5940000000000001\n", - "Condition not met at step 1285. No data to save.\n", - "1285\n", - "model_vars.get('Gini', 0)[-1]=0.6122000000000001\n", - "Condition not met at step 1286. No data to save.\n", - "1286\n", - "model_vars.get('Gini', 0)[-1]=0.6116\n", - "Condition not met at step 1287. No data to save.\n", - "1287\n", - "model_vars.get('Gini', 0)[-1]=0.6116\n", - "Condition not met at step 1288. No data to save.\n", - "1288\n", - "model_vars.get('Gini', 0)[-1]=0.6116\n", - "Condition not met at step 1289. No data to save.\n", - "1289\n", - "model_vars.get('Gini', 0)[-1]=0.6234\n", - "Condition not met at step 1290. No data to save.\n", - "1290\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 1291. No data to save.\n", - "1291\n", - "model_vars.get('Gini', 0)[-1]=0.6834\n", - "Condition not met at step 1292. No data to save.\n", - "1292\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", - "Condition not met at step 1293. No data to save.\n", - "1293\n", - "model_vars.get('Gini', 0)[-1]=0.6516\n", - "Condition not met at step 1294. No data to save.\n", - "1294\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 1295. No data to save.\n", - "1295\n", - "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", - "Condition not met at step 1296. No data to save.\n", - "1296\n", - "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", - "Condition not met at step 1297. No data to save.\n", - "1297\n", - "model_vars.get('Gini', 0)[-1]=0.6462\n", - "Condition not met at step 1298. No data to save.\n", - "1298\n", - "model_vars.get('Gini', 0)[-1]=0.6282000000000001\n", - "Condition not met at step 1299. No data to save.\n", - "1299\n", - "CALLED\n", - "self.model._steps=1300\n", - " TEST self.model._steps=1300\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "1200 0.6602\n", - "1201 0.6498\n", - "1202 0.6450\n", - "1203 0.6416\n", - "1204 0.6194\n", - "... ...\n", - "1295 0.6176\n", - "1296 0.6446\n", - "1297 0.6462\n", - "1298 0.6282\n", - "1299 0.6144\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_013.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_013.parquet'\n", - "Saving model to test_path/model_data_013.parquet\n", - "Saving agent to test_path/agent_data_013.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6144000000000001\n", - "Condition not met at step 1300. No data to save.\n", - "1300\n", - "model_vars.get('Gini', 0)[-1]=0.5794\n", - "Condition not met at step 1301. No data to save.\n", - "1301\n", - "model_vars.get('Gini', 0)[-1]=0.5938\n", - "Condition not met at step 1302. No data to save.\n", - "1302\n", - "model_vars.get('Gini', 0)[-1]=0.6288\n", - "Condition not met at step 1303. No data to save.\n", - "1303\n", - "model_vars.get('Gini', 0)[-1]=0.6124\n", - "Condition not met at step 1304. No data to save.\n", - "1304\n", - "model_vars.get('Gini', 0)[-1]=0.6046\n", - "Condition not met at step 1305. No data to save.\n", - "1305\n", - "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", - "Condition not met at step 1306. No data to save.\n", - "1306\n", - "model_vars.get('Gini', 0)[-1]=0.6072\n", - "Condition not met at step 1307. No data to save.\n", - "1307\n", - "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", - "Condition not met at step 1308. No data to save.\n", - "1308\n", - "model_vars.get('Gini', 0)[-1]=0.6178\n", - "Condition not met at step 1309. No data to save.\n", - "1309\n", - "model_vars.get('Gini', 0)[-1]=0.6332\n", - "Condition not met at step 1310. No data to save.\n", - "1310\n", - "model_vars.get('Gini', 0)[-1]=0.6362\n", - "Condition not met at step 1311. No data to save.\n", - "1311\n", - "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", - "Condition not met at step 1312. No data to save.\n", - "1312\n", - "model_vars.get('Gini', 0)[-1]=0.644\n", - "Condition not met at step 1313. No data to save.\n", - "1313\n", - "model_vars.get('Gini', 0)[-1]=0.6168\n", - "Condition not met at step 1314. No data to save.\n", - "1314\n", - "model_vars.get('Gini', 0)[-1]=0.6272\n", - "Condition not met at step 1315. No data to save.\n", - "1315\n", - "model_vars.get('Gini', 0)[-1]=0.6184000000000001\n", - "Condition not met at step 1316. No data to save.\n", - "1316\n", - "model_vars.get('Gini', 0)[-1]=0.625\n", - "Condition not met at step 1317. No data to save.\n", - "1317\n", - "model_vars.get('Gini', 0)[-1]=0.6268\n", - "Condition not met at step 1318. No data to save.\n", - "1318\n", - "model_vars.get('Gini', 0)[-1]=0.6338\n", - "Condition not met at step 1319. No data to save.\n", - "1319\n", - "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", - "Condition not met at step 1320. No data to save.\n", - "1320\n", - "model_vars.get('Gini', 0)[-1]=0.618\n", - "Condition not met at step 1321. No data to save.\n", - "1321\n", - "model_vars.get('Gini', 0)[-1]=0.6532\n", - "Condition not met at step 1322. No data to save.\n", - "1322\n", - "model_vars.get('Gini', 0)[-1]=0.6532\n", - "Condition not met at step 1323. No data to save.\n", - "1323\n", - "model_vars.get('Gini', 0)[-1]=0.6638\n", - "Condition not met at step 1324. No data to save.\n", - "1324\n", - "model_vars.get('Gini', 0)[-1]=0.6908000000000001\n", - "Condition not met at step 1325. No data to save.\n", - "1325\n", - "model_vars.get('Gini', 0)[-1]=0.7034\n", - "Condition met. Appended special results for step 1326 to test_path/special_results.parquet\n", - "1326\n", - "model_vars.get('Gini', 0)[-1]=0.7008000000000001\n", - "Condition met. Appended special results for step 1327 to test_path/special_results.parquet\n", - "1327\n", - "model_vars.get('Gini', 0)[-1]=0.6802\n", - "Condition not met at step 1328. No data to save.\n", - "1328\n", - "model_vars.get('Gini', 0)[-1]=0.6796\n", - "Condition not met at step 1329. No data to save.\n", - "1329\n", - "model_vars.get('Gini', 0)[-1]=0.6974\n", - "Condition not met at step 1330. No data to save.\n", - "1330\n", - "model_vars.get('Gini', 0)[-1]=0.6928000000000001\n", - "Condition not met at step 1331. No data to save.\n", - "1331\n", - "model_vars.get('Gini', 0)[-1]=0.6844\n", - "Condition not met at step 1332. No data to save.\n", - "1332\n", - "model_vars.get('Gini', 0)[-1]=0.6822\n", - "Condition not met at step 1333. No data to save.\n", - "1333\n", - "model_vars.get('Gini', 0)[-1]=0.696\n", - "Condition not met at step 1334. No data to save.\n", - "1334\n", - "model_vars.get('Gini', 0)[-1]=0.7034\n", - "Condition met. Appended special results for step 1335 to test_path/special_results.parquet\n", - "1335\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 1336. No data to save.\n", - "1336\n", - "model_vars.get('Gini', 0)[-1]=0.657\n", - "Condition not met at step 1337. No data to save.\n", - "1337\n", - "model_vars.get('Gini', 0)[-1]=0.6882\n", - "Condition not met at step 1338. No data to save.\n", - "1338\n", - "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", - "Condition not met at step 1339. No data to save.\n", - "1339\n", - "model_vars.get('Gini', 0)[-1]=0.6842\n", - "Condition not met at step 1340. No data to save.\n", - "1340\n", - "model_vars.get('Gini', 0)[-1]=0.681\n", - "Condition not met at step 1341. No data to save.\n", - "1341\n", - "model_vars.get('Gini', 0)[-1]=0.7061999999999999\n", - "Condition met. Appended special results for step 1342 to test_path/special_results.parquet\n", - "1342\n", - "model_vars.get('Gini', 0)[-1]=0.7112\n", - "Condition met. Appended special results for step 1343 to test_path/special_results.parquet\n", - "1343\n", - "model_vars.get('Gini', 0)[-1]=0.6936\n", - "Condition not met at step 1344. No data to save.\n", - "1344\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", - "Condition not met at step 1345. No data to save.\n", - "1345\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 1346. No data to save.\n", - "1346\n", - "model_vars.get('Gini', 0)[-1]=0.6972\n", - "Condition not met at step 1347. No data to save.\n", - "1347\n", - "model_vars.get('Gini', 0)[-1]=0.6756\n", - "Condition not met at step 1348. No data to save.\n", - "1348\n", - "model_vars.get('Gini', 0)[-1]=0.6638\n", - "Condition not met at step 1349. No data to save.\n", - "1349\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 1350. No data to save.\n", - "1350\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 1351. No data to save.\n", - "1351\n", - "model_vars.get('Gini', 0)[-1]=0.65\n", - "Condition not met at step 1352. No data to save.\n", - "1352\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", - "Condition not met at step 1353. No data to save.\n", - "1353\n", - "model_vars.get('Gini', 0)[-1]=0.6612\n", - "Condition not met at step 1354. No data to save.\n", - "1354\n", - "model_vars.get('Gini', 0)[-1]=0.6592\n", - "Condition not met at step 1355. No data to save.\n", - "1355\n", - "model_vars.get('Gini', 0)[-1]=0.6806\n", - "Condition not met at step 1356. No data to save.\n", - "1356\n", - "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", - "Condition not met at step 1357. No data to save.\n", - "1357\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 1358. No data to save.\n", - "1358\n", - "model_vars.get('Gini', 0)[-1]=0.6662\n", - "Condition not met at step 1359. No data to save.\n", - "1359\n", - "model_vars.get('Gini', 0)[-1]=0.6878\n", - "Condition not met at step 1360. No data to save.\n", - "1360\n", - "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", - "Condition not met at step 1361. No data to save.\n", - "1361\n", - "model_vars.get('Gini', 0)[-1]=0.6764\n", - "Condition not met at step 1362. No data to save.\n", - "1362\n", - "model_vars.get('Gini', 0)[-1]=0.685\n", - "Condition not met at step 1363. No data to save.\n", - "1363\n", - "model_vars.get('Gini', 0)[-1]=0.69\n", - "Condition not met at step 1364. No data to save.\n", - "1364\n", - "model_vars.get('Gini', 0)[-1]=0.6756\n", - "Condition not met at step 1365. No data to save.\n", - "1365\n", - "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", - "Condition not met at step 1366. No data to save.\n", - "1366\n", - "model_vars.get('Gini', 0)[-1]=0.6702\n", - "Condition not met at step 1367. No data to save.\n", - "1367\n", - "model_vars.get('Gini', 0)[-1]=0.6936\n", - "Condition not met at step 1368. No data to save.\n", - "1368\n", - "model_vars.get('Gini', 0)[-1]=0.6902\n", - "Condition not met at step 1369. No data to save.\n", - "1369\n", - "model_vars.get('Gini', 0)[-1]=0.6908000000000001\n", - "Condition not met at step 1370. No data to save.\n", - "1370\n", - "model_vars.get('Gini', 0)[-1]=0.6954\n", - "Condition not met at step 1371. No data to save.\n", - "1371\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", - "Condition not met at step 1372. No data to save.\n", - "1372\n", - "model_vars.get('Gini', 0)[-1]=0.6772\n", - "Condition not met at step 1373. No data to save.\n", - "1373\n", - "model_vars.get('Gini', 0)[-1]=0.6836\n", - "Condition not met at step 1374. No data to save.\n", - "1374\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", - "Condition not met at step 1375. No data to save.\n", - "1375\n", - "model_vars.get('Gini', 0)[-1]=0.681\n", - "Condition not met at step 1376. No data to save.\n", - "1376\n", - "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", - "Condition not met at step 1377. No data to save.\n", - "1377\n", - "model_vars.get('Gini', 0)[-1]=0.6906\n", - "Condition not met at step 1378. No data to save.\n", - "1378\n", - "model_vars.get('Gini', 0)[-1]=0.7372000000000001\n", - "Condition met. Appended special results for step 1379 to test_path/special_results.parquet\n", - "1379\n", - "model_vars.get('Gini', 0)[-1]=0.7106\n", - "Condition met. Appended special results for step 1380 to test_path/special_results.parquet\n", - "1380\n", - "model_vars.get('Gini', 0)[-1]=0.7096\n", - "Condition met. Appended special results for step 1381 to test_path/special_results.parquet\n", - "1381\n", - "model_vars.get('Gini', 0)[-1]=0.685\n", - "Condition not met at step 1382. No data to save.\n", - "1382\n", - "model_vars.get('Gini', 0)[-1]=0.6634\n", - "Condition not met at step 1383. No data to save.\n", - "1383\n", - "model_vars.get('Gini', 0)[-1]=0.6334\n", - "Condition not met at step 1384. No data to save.\n", - "1384\n", - "model_vars.get('Gini', 0)[-1]=0.6624\n", - "Condition not met at step 1385. No data to save.\n", - "1385\n", - "model_vars.get('Gini', 0)[-1]=0.6612\n", - "Condition not met at step 1386. No data to save.\n", - "1386\n", - "model_vars.get('Gini', 0)[-1]=0.6886\n", - "Condition not met at step 1387. No data to save.\n", - "1387\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 1388. No data to save.\n", - "1388\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 1389. No data to save.\n", - "1389\n", - "model_vars.get('Gini', 0)[-1]=0.6592\n", - "Condition not met at step 1390. No data to save.\n", - "1390\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", - "Condition not met at step 1391. No data to save.\n", - "1391\n", - "model_vars.get('Gini', 0)[-1]=0.6798\n", - "Condition not met at step 1392. No data to save.\n", - "1392\n", - "model_vars.get('Gini', 0)[-1]=0.6682\n", - "Condition not met at step 1393. No data to save.\n", - "1393\n", - "model_vars.get('Gini', 0)[-1]=0.645\n", - "Condition not met at step 1394. No data to save.\n", - "1394\n", - "model_vars.get('Gini', 0)[-1]=0.6268\n", - "Condition not met at step 1395. No data to save.\n", - "1395\n", - "model_vars.get('Gini', 0)[-1]=0.6232\n", - "Condition not met at step 1396. No data to save.\n", - "1396\n", - "model_vars.get('Gini', 0)[-1]=0.607\n", - "Condition not met at step 1397. No data to save.\n", - "1397\n", - "model_vars.get('Gini', 0)[-1]=0.6194\n", - "Condition not met at step 1398. No data to save.\n", - "1398\n", - "model_vars.get('Gini', 0)[-1]=0.6392\n", - "Condition not met at step 1399. No data to save.\n", - "1399\n", - "CALLED\n", - "self.model._steps=1400\n", - " TEST self.model._steps=1400\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "1300 0.5794\n", - "1301 0.5938\n", - "1302 0.6288\n", - "1303 0.6124\n", - "1304 0.6046\n", - "... ...\n", - "1395 0.6232\n", - "1396 0.6070\n", - "1397 0.6194\n", - "1398 0.6392\n", - "1399 0.6406\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_014.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_014.parquet'\n", - "Saving model to test_path/model_data_014.parquet\n", - "Saving agent to test_path/agent_data_014.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 1400. No data to save.\n", - "1400\n", - "model_vars.get('Gini', 0)[-1]=0.6554\n", - "Condition not met at step 1401. No data to save.\n", - "1401\n", - "model_vars.get('Gini', 0)[-1]=0.6462\n", - "Condition not met at step 1402. No data to save.\n", - "1402\n", - "model_vars.get('Gini', 0)[-1]=0.6474\n", - "Condition not met at step 1403. No data to save.\n", - "1403\n", - "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", - "Condition not met at step 1404. No data to save.\n", - "1404\n", - "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", - "Condition not met at step 1405. No data to save.\n", - "1405\n", - "model_vars.get('Gini', 0)[-1]=0.655\n", - "Condition not met at step 1406. No data to save.\n", - "1406\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 1407. No data to save.\n", - "1407\n", - "model_vars.get('Gini', 0)[-1]=0.641\n", - "Condition not met at step 1408. No data to save.\n", - "1408\n", - "model_vars.get('Gini', 0)[-1]=0.6302\n", - "Condition not met at step 1409. No data to save.\n", - "1409\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", - "Condition not met at step 1410. No data to save.\n", - "1410\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", - "Condition not met at step 1411. No data to save.\n", - "1411\n", - "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", - "Condition not met at step 1412. No data to save.\n", - "1412\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", - "Condition not met at step 1413. No data to save.\n", - "1413\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 1414. No data to save.\n", - "1414\n", - "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", - "Condition not met at step 1415. No data to save.\n", - "1415\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", - "Condition not met at step 1416. No data to save.\n", - "1416\n", - "model_vars.get('Gini', 0)[-1]=0.6842\n", - "Condition not met at step 1417. No data to save.\n", - "1417\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 1418. No data to save.\n", - "1418\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 1419. No data to save.\n", - "1419\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 1420. No data to save.\n", - "1420\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 1421. No data to save.\n", - "1421\n", - "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", - "Condition not met at step 1422. No data to save.\n", - "1422\n", - "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", - "Condition not met at step 1423. No data to save.\n", - "1423\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 1424. No data to save.\n", - "1424\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", - "Condition not met at step 1425. No data to save.\n", - "1425\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 1426. No data to save.\n", - "1426\n", - "model_vars.get('Gini', 0)[-1]=0.6166\n", - "Condition not met at step 1427. No data to save.\n", - "1427\n", - "model_vars.get('Gini', 0)[-1]=0.603\n", - "Condition not met at step 1428. No data to save.\n", - "1428\n", - "model_vars.get('Gini', 0)[-1]=0.5776\n", - "Condition not met at step 1429. No data to save.\n", - "1429\n", - "model_vars.get('Gini', 0)[-1]=0.5660000000000001\n", - "Condition not met at step 1430. No data to save.\n", - "1430\n", - "model_vars.get('Gini', 0)[-1]=0.5811999999999999\n", - "Condition not met at step 1431. No data to save.\n", - "1431\n", - "model_vars.get('Gini', 0)[-1]=0.6016\n", - "Condition not met at step 1432. No data to save.\n", - "1432\n", - "model_vars.get('Gini', 0)[-1]=0.5882000000000001\n", - "Condition not met at step 1433. No data to save.\n", - "1433\n", - "model_vars.get('Gini', 0)[-1]=0.6082000000000001\n", - "Condition not met at step 1434. No data to save.\n", - "1434\n", - "model_vars.get('Gini', 0)[-1]=0.615\n", - "Condition not met at step 1435. No data to save.\n", - "1435\n", - "model_vars.get('Gini', 0)[-1]=0.6208\n", - "Condition not met at step 1436. No data to save.\n", - "1436\n", - "model_vars.get('Gini', 0)[-1]=0.5973999999999999\n", - "Condition not met at step 1437. No data to save.\n", - "1437\n", - "model_vars.get('Gini', 0)[-1]=0.5718000000000001\n", - "Condition not met at step 1438. No data to save.\n", - "1438\n", - "model_vars.get('Gini', 0)[-1]=0.5786\n", - "Condition not met at step 1439. No data to save.\n", - "1439\n", - "model_vars.get('Gini', 0)[-1]=0.5778000000000001\n", - "Condition not met at step 1440. No data to save.\n", - "1440\n", - "model_vars.get('Gini', 0)[-1]=0.6166\n", - "Condition not met at step 1441. No data to save.\n", - "1441\n", - "model_vars.get('Gini', 0)[-1]=0.623\n", - "Condition not met at step 1442. No data to save.\n", - "1442\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 1443. No data to save.\n", - "1443\n", - "model_vars.get('Gini', 0)[-1]=0.6076\n", - "Condition not met at step 1444. No data to save.\n", - "1444\n", - "model_vars.get('Gini', 0)[-1]=0.6306\n", - "Condition not met at step 1445. No data to save.\n", - "1445\n", - "model_vars.get('Gini', 0)[-1]=0.6186\n", - "Condition not met at step 1446. No data to save.\n", - "1446\n", - "model_vars.get('Gini', 0)[-1]=0.6192\n", - "Condition not met at step 1447. No data to save.\n", - "1447\n", - "model_vars.get('Gini', 0)[-1]=0.613\n", - "Condition not met at step 1448. No data to save.\n", - "1448\n", - "model_vars.get('Gini', 0)[-1]=0.6226\n", - "Condition not met at step 1449. No data to save.\n", - "1449\n", - "model_vars.get('Gini', 0)[-1]=0.6268\n", - "Condition not met at step 1450. No data to save.\n", - "1450\n", - "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", - "Condition not met at step 1451. No data to save.\n", - "1451\n", - "model_vars.get('Gini', 0)[-1]=0.6564\n", - "Condition not met at step 1452. No data to save.\n", - "1452\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 1453. No data to save.\n", - "1453\n", - "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", - "Condition not met at step 1454. No data to save.\n", - "1454\n", - "model_vars.get('Gini', 0)[-1]=0.6694\n", - "Condition not met at step 1455. No data to save.\n", - "1455\n", - "model_vars.get('Gini', 0)[-1]=0.6348\n", - "Condition not met at step 1456. No data to save.\n", - "1456\n", - "model_vars.get('Gini', 0)[-1]=0.6202000000000001\n", - "Condition not met at step 1457. No data to save.\n", - "1457\n", - "model_vars.get('Gini', 0)[-1]=0.6058\n", - "Condition not met at step 1458. No data to save.\n", - "1458\n", - "model_vars.get('Gini', 0)[-1]=0.6038\n", - "Condition not met at step 1459. No data to save.\n", - "1459\n", - "model_vars.get('Gini', 0)[-1]=0.5986\n", - "Condition not met at step 1460. No data to save.\n", - "1460\n", - "model_vars.get('Gini', 0)[-1]=0.611\n", - "Condition not met at step 1461. No data to save.\n", - "1461\n", - "model_vars.get('Gini', 0)[-1]=0.6294\n", - "Condition not met at step 1462. No data to save.\n", - "1462\n", - "model_vars.get('Gini', 0)[-1]=0.5918\n", - "Condition not met at step 1463. No data to save.\n", - "1463\n", - "model_vars.get('Gini', 0)[-1]=0.5814\n", - "Condition not met at step 1464. No data to save.\n", - "1464\n", - "model_vars.get('Gini', 0)[-1]=0.5913999999999999\n", - "Condition not met at step 1465. No data to save.\n", - "1465\n", - "model_vars.get('Gini', 0)[-1]=0.587\n", - "Condition not met at step 1466. No data to save.\n", - "1466\n", - "model_vars.get('Gini', 0)[-1]=0.595\n", - "Condition not met at step 1467. No data to save.\n", - "1467\n", - "model_vars.get('Gini', 0)[-1]=0.5740000000000001\n", - "Condition not met at step 1468. No data to save.\n", - "1468\n", - "model_vars.get('Gini', 0)[-1]=0.5834\n", - "Condition not met at step 1469. No data to save.\n", - "1469\n", - "model_vars.get('Gini', 0)[-1]=0.5626\n", - "Condition not met at step 1470. No data to save.\n", - "1470\n", - "model_vars.get('Gini', 0)[-1]=0.5886\n", - "Condition not met at step 1471. No data to save.\n", - "1471\n", - "model_vars.get('Gini', 0)[-1]=0.6156\n", - "Condition not met at step 1472. No data to save.\n", - "1472\n", - "model_vars.get('Gini', 0)[-1]=0.5844\n", - "Condition not met at step 1473. No data to save.\n", - "1473\n", - "model_vars.get('Gini', 0)[-1]=0.6013999999999999\n", - "Condition not met at step 1474. No data to save.\n", - "1474\n", - "model_vars.get('Gini', 0)[-1]=0.587\n", - "Condition not met at step 1475. No data to save.\n", - "1475\n", - "model_vars.get('Gini', 0)[-1]=0.5913999999999999\n", - "Condition not met at step 1476. No data to save.\n", - "1476\n", - "model_vars.get('Gini', 0)[-1]=0.603\n", - "Condition not met at step 1477. No data to save.\n", - "1477\n", - "model_vars.get('Gini', 0)[-1]=0.6076\n", - "Condition not met at step 1478. No data to save.\n", - "1478\n", - "model_vars.get('Gini', 0)[-1]=0.619\n", - "Condition not met at step 1479. No data to save.\n", - "1479\n", - "model_vars.get('Gini', 0)[-1]=0.6574\n", - "Condition not met at step 1480. No data to save.\n", - "1480\n", - "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", - "Condition not met at step 1481. No data to save.\n", - "1481\n", - "model_vars.get('Gini', 0)[-1]=0.641\n", - "Condition not met at step 1482. No data to save.\n", - "1482\n", - "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", - "Condition not met at step 1483. No data to save.\n", - "1483\n", - "model_vars.get('Gini', 0)[-1]=0.6344000000000001\n", - "Condition not met at step 1484. No data to save.\n", - "1484\n", - "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", - "Condition not met at step 1485. No data to save.\n", - "1485\n", - "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", - "Condition not met at step 1486. No data to save.\n", - "1486\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 1487. No data to save.\n", - "1487\n", - "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", - "Condition not met at step 1488. No data to save.\n", - "1488\n", - "model_vars.get('Gini', 0)[-1]=0.629\n", - "Condition not met at step 1489. No data to save.\n", - "1489\n", - "model_vars.get('Gini', 0)[-1]=0.611\n", - "Condition not met at step 1490. No data to save.\n", - "1490\n", - "model_vars.get('Gini', 0)[-1]=0.6172\n", - "Condition not met at step 1491. No data to save.\n", - "1491\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", - "Condition not met at step 1492. No data to save.\n", - "1492\n", - "model_vars.get('Gini', 0)[-1]=0.6266\n", - "Condition not met at step 1493. No data to save.\n", - "1493\n", - "model_vars.get('Gini', 0)[-1]=0.6232\n", - "Condition not met at step 1494. No data to save.\n", - "1494\n", - "model_vars.get('Gini', 0)[-1]=0.6038\n", - "Condition not met at step 1495. No data to save.\n", - "1495\n", - "model_vars.get('Gini', 0)[-1]=0.599\n", - "Condition not met at step 1496. No data to save.\n", - "1496\n", - "model_vars.get('Gini', 0)[-1]=0.5984\n", - "Condition not met at step 1497. No data to save.\n", - "1497\n", - "model_vars.get('Gini', 0)[-1]=0.5858\n", - "Condition not met at step 1498. No data to save.\n", - "1498\n", - "model_vars.get('Gini', 0)[-1]=0.5858\n", - "Condition not met at step 1499. No data to save.\n", - "1499\n", - "CALLED\n", - "self.model._steps=1500\n", - " TEST self.model._steps=1500\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "1400 0.6554\n", - "1401 0.6462\n", - "1402 0.6474\n", - "1403 0.6526\n", - "1404 0.6426\n", - "... ...\n", - "1495 0.5990\n", - "1496 0.5984\n", - "1497 0.5858\n", - "1498 0.5858\n", - "1499 0.5856\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_015.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_015.parquet'\n", - "Saving model to test_path/model_data_015.parquet\n", - "Saving agent to test_path/agent_data_015.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.5856\n", - "Condition not met at step 1500. No data to save.\n", - "1500\n", - "model_vars.get('Gini', 0)[-1]=0.6012\n", - "Condition not met at step 1501. No data to save.\n", - "1501\n", - "model_vars.get('Gini', 0)[-1]=0.6192\n", - "Condition not met at step 1502. No data to save.\n", - "1502\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 1503. No data to save.\n", - "1503\n", - "model_vars.get('Gini', 0)[-1]=0.6812\n", - "Condition not met at step 1504. No data to save.\n", - "1504\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", - "Condition not met at step 1505. No data to save.\n", - "1505\n", - "model_vars.get('Gini', 0)[-1]=0.6684\n", - "Condition not met at step 1506. No data to save.\n", - "1506\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 1507. No data to save.\n", - "1507\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", - "Condition not met at step 1508. No data to save.\n", - "1508\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", - "Condition not met at step 1509. No data to save.\n", - "1509\n", - "model_vars.get('Gini', 0)[-1]=0.6842\n", - "Condition not met at step 1510. No data to save.\n", - "1510\n", - "model_vars.get('Gini', 0)[-1]=0.6990000000000001\n", - "Condition not met at step 1511. No data to save.\n", - "1511\n", - "model_vars.get('Gini', 0)[-1]=0.6926\n", - "Condition not met at step 1512. No data to save.\n", - "1512\n", - "model_vars.get('Gini', 0)[-1]=0.6972\n", - "Condition not met at step 1513. No data to save.\n", - "1513\n", - "model_vars.get('Gini', 0)[-1]=0.7066\n", - "Condition met. Appended special results for step 1514 to test_path/special_results.parquet\n", - "1514\n", - "model_vars.get('Gini', 0)[-1]=0.6984\n", - "Condition not met at step 1515. No data to save.\n", - "1515\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 1516. No data to save.\n", - "1516\n", - "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", - "Condition not met at step 1517. No data to save.\n", - "1517\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 1518. No data to save.\n", - "1518\n", - "model_vars.get('Gini', 0)[-1]=0.64\n", - "Condition not met at step 1519. No data to save.\n", - "1519\n", - "model_vars.get('Gini', 0)[-1]=0.6288\n", - "Condition not met at step 1520. No data to save.\n", - "1520\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 1521. No data to save.\n", - "1521\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 1522. No data to save.\n", - "1522\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", - "Condition not met at step 1523. No data to save.\n", - "1523\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 1524. No data to save.\n", - "1524\n", - "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", - "Condition not met at step 1525. No data to save.\n", - "1525\n", - "model_vars.get('Gini', 0)[-1]=0.6474\n", - "Condition not met at step 1526. No data to save.\n", - "1526\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", - "Condition not met at step 1527. No data to save.\n", - "1527\n", - "model_vars.get('Gini', 0)[-1]=0.6096\n", - "Condition not met at step 1528. No data to save.\n", - "1528\n", - "model_vars.get('Gini', 0)[-1]=0.666\n", - "Condition not met at step 1529. No data to save.\n", - "1529\n", - "model_vars.get('Gini', 0)[-1]=0.6436\n", - "Condition not met at step 1530. No data to save.\n", - "1530\n", - "model_vars.get('Gini', 0)[-1]=0.6194\n", - "Condition not met at step 1531. No data to save.\n", - "1531\n", - "model_vars.get('Gini', 0)[-1]=0.626\n", - "Condition not met at step 1532. No data to save.\n", - "1532\n", - "model_vars.get('Gini', 0)[-1]=0.6146\n", - "Condition not met at step 1533. No data to save.\n", - "1533\n", - "model_vars.get('Gini', 0)[-1]=0.6258\n", - "Condition not met at step 1534. No data to save.\n", - "1534\n", - "model_vars.get('Gini', 0)[-1]=0.6254\n", - "Condition not met at step 1535. No data to save.\n", - "1535\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", - "Condition not met at step 1536. No data to save.\n", - "1536\n", - "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", - "Condition not met at step 1537. No data to save.\n", - "1537\n", - "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", - "Condition not met at step 1538. No data to save.\n", - "1538\n", - "model_vars.get('Gini', 0)[-1]=0.6202000000000001\n", - "Condition not met at step 1539. No data to save.\n", - "1539\n", - "model_vars.get('Gini', 0)[-1]=0.6164000000000001\n", - "Condition not met at step 1540. No data to save.\n", - "1540\n", - "model_vars.get('Gini', 0)[-1]=0.603\n", - "Condition not met at step 1541. No data to save.\n", - "1541\n", - "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", - "Condition not met at step 1542. No data to save.\n", - "1542\n", - "model_vars.get('Gini', 0)[-1]=0.5884\n", - "Condition not met at step 1543. No data to save.\n", - "1543\n", - "model_vars.get('Gini', 0)[-1]=0.6033999999999999\n", - "Condition not met at step 1544. No data to save.\n", - "1544\n", - "model_vars.get('Gini', 0)[-1]=0.6348\n", - "Condition not met at step 1545. No data to save.\n", - "1545\n", - "model_vars.get('Gini', 0)[-1]=0.6376\n", - "Condition not met at step 1546. No data to save.\n", - "1546\n", - "model_vars.get('Gini', 0)[-1]=0.6306\n", - "Condition not met at step 1547. No data to save.\n", - "1547\n", - "model_vars.get('Gini', 0)[-1]=0.6306\n", - "Condition not met at step 1548. No data to save.\n", - "1548\n", - "model_vars.get('Gini', 0)[-1]=0.6033999999999999\n", - "Condition not met at step 1549. No data to save.\n", - "1549\n", - "model_vars.get('Gini', 0)[-1]=0.5868\n", - "Condition not met at step 1550. No data to save.\n", - "1550\n", - "model_vars.get('Gini', 0)[-1]=0.6136\n", - "Condition not met at step 1551. No data to save.\n", - "1551\n", - "model_vars.get('Gini', 0)[-1]=0.6294\n", - "Condition not met at step 1552. No data to save.\n", - "1552\n", - "model_vars.get('Gini', 0)[-1]=0.6272\n", - "Condition not met at step 1553. No data to save.\n", - "1553\n", - "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", - "Condition not met at step 1554. No data to save.\n", - "1554\n", - "model_vars.get('Gini', 0)[-1]=0.6454\n", - "Condition not met at step 1555. No data to save.\n", - "1555\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 1556. No data to save.\n", - "1556\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 1557. No data to save.\n", - "1557\n", - "model_vars.get('Gini', 0)[-1]=0.6528\n", - "Condition not met at step 1558. No data to save.\n", - "1558\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 1559. No data to save.\n", - "1559\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 1560. No data to save.\n", - "1560\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 1561. No data to save.\n", - "1561\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 1562. No data to save.\n", - "1562\n", - "model_vars.get('Gini', 0)[-1]=0.6716\n", - "Condition not met at step 1563. No data to save.\n", - "1563\n", - "model_vars.get('Gini', 0)[-1]=0.6776\n", - "Condition not met at step 1564. No data to save.\n", - "1564\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", - "Condition not met at step 1565. No data to save.\n", - "1565\n", - "model_vars.get('Gini', 0)[-1]=0.662\n", - "Condition not met at step 1566. No data to save.\n", - "1566\n", - "model_vars.get('Gini', 0)[-1]=0.663\n", - "Condition not met at step 1567. No data to save.\n", - "1567\n", - "model_vars.get('Gini', 0)[-1]=0.6694\n", - "Condition not met at step 1568. No data to save.\n", - "1568\n", - "model_vars.get('Gini', 0)[-1]=0.6514\n", - "Condition not met at step 1569. No data to save.\n", - "1569\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", - "Condition not met at step 1570. No data to save.\n", - "1570\n", - "model_vars.get('Gini', 0)[-1]=0.6682\n", - "Condition not met at step 1571. No data to save.\n", - "1571\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 1572. No data to save.\n", - "1572\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", - "Condition not met at step 1573. No data to save.\n", - "1573\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 1574. No data to save.\n", - "1574\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", - "Condition not met at step 1575. No data to save.\n", - "1575\n", - "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", - "Condition not met at step 1576. No data to save.\n", - "1576\n", - "model_vars.get('Gini', 0)[-1]=0.6226\n", - "Condition not met at step 1577. No data to save.\n", - "1577\n", - "model_vars.get('Gini', 0)[-1]=0.5968\n", - "Condition not met at step 1578. No data to save.\n", - "1578\n", - "model_vars.get('Gini', 0)[-1]=0.6002000000000001\n", - "Condition not met at step 1579. No data to save.\n", - "1579\n", - "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", - "Condition not met at step 1580. No data to save.\n", - "1580\n", - "model_vars.get('Gini', 0)[-1]=0.6474\n", - "Condition not met at step 1581. No data to save.\n", - "1581\n", - "model_vars.get('Gini', 0)[-1]=0.6662\n", - "Condition not met at step 1582. No data to save.\n", - "1582\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", - "Condition not met at step 1583. No data to save.\n", - "1583\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", - "Condition not met at step 1584. No data to save.\n", - "1584\n", - "model_vars.get('Gini', 0)[-1]=0.5976\n", - "Condition not met at step 1585. No data to save.\n", - "1585\n", - "model_vars.get('Gini', 0)[-1]=0.6282000000000001\n", - "Condition not met at step 1586. No data to save.\n", - "1586\n", - "model_vars.get('Gini', 0)[-1]=0.6678\n", - "Condition not met at step 1587. No data to save.\n", - "1587\n", - "model_vars.get('Gini', 0)[-1]=0.7068\n", - "Condition met. Appended special results for step 1588 to test_path/special_results.parquet\n", - "1588\n", - "model_vars.get('Gini', 0)[-1]=0.7034\n", - "Condition met. Appended special results for step 1589 to test_path/special_results.parquet\n", - "1589\n", - "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", - "Condition not met at step 1590. No data to save.\n", - "1590\n", - "model_vars.get('Gini', 0)[-1]=0.6824\n", - "Condition not met at step 1591. No data to save.\n", - "1591\n", - "model_vars.get('Gini', 0)[-1]=0.6674\n", - "Condition not met at step 1592. No data to save.\n", - "1592\n", - "model_vars.get('Gini', 0)[-1]=0.663\n", - "Condition not met at step 1593. No data to save.\n", - "1593\n", - "model_vars.get('Gini', 0)[-1]=0.659\n", - "Condition not met at step 1594. No data to save.\n", - "1594\n", - "model_vars.get('Gini', 0)[-1]=0.6608\n", - "Condition not met at step 1595. No data to save.\n", - "1595\n", - "model_vars.get('Gini', 0)[-1]=0.6454\n", - "Condition not met at step 1596. No data to save.\n", - "1596\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 1597. No data to save.\n", - "1597\n", - "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", - "Condition not met at step 1598. No data to save.\n", - "1598\n", - "model_vars.get('Gini', 0)[-1]=0.6318\n", - "Condition not met at step 1599. No data to save.\n", - "1599\n", - "CALLED\n", - "self.model._steps=1600\n", - " TEST self.model._steps=1600\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "1500 0.6012\n", - "1501 0.6192\n", - "1502 0.6602\n", - "1503 0.6812\n", - "1504 0.6632\n", - "... ...\n", - "1595 0.6454\n", - "1596 0.6582\n", - "1597 0.6726\n", - "1598 0.6318\n", - "1599 0.6750\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_016.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_016.parquet'\n", - "Saving model to test_path/model_data_016.parquet\n", - "Saving agent to test_path/agent_data_016.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", - "Condition not met at step 1600. No data to save.\n", - "1600\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", - "Condition not met at step 1601. No data to save.\n", - "1601\n", - "model_vars.get('Gini', 0)[-1]=0.6834\n", - "Condition not met at step 1602. No data to save.\n", - "1602\n", - "model_vars.get('Gini', 0)[-1]=0.688\n", - "Condition not met at step 1603. No data to save.\n", - "1603\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", - "Condition not met at step 1604. No data to save.\n", - "1604\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 1605. No data to save.\n", - "1605\n", - "model_vars.get('Gini', 0)[-1]=0.66\n", - "Condition not met at step 1606. No data to save.\n", - "1606\n", - "model_vars.get('Gini', 0)[-1]=0.65\n", - "Condition not met at step 1607. No data to save.\n", - "1607\n", - "model_vars.get('Gini', 0)[-1]=0.671\n", - "Condition not met at step 1608. No data to save.\n", - "1608\n", - "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", - "Condition not met at step 1609. No data to save.\n", - "1609\n", - "model_vars.get('Gini', 0)[-1]=0.6286\n", - "Condition not met at step 1610. No data to save.\n", - "1610\n", - "model_vars.get('Gini', 0)[-1]=0.6138\n", - "Condition not met at step 1611. No data to save.\n", - "1611\n", - "model_vars.get('Gini', 0)[-1]=0.6412\n", - "Condition not met at step 1612. No data to save.\n", - "1612\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 1613. No data to save.\n", - "1613\n", - "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", - "Condition not met at step 1614. No data to save.\n", - "1614\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", - "Condition not met at step 1615. No data to save.\n", - "1615\n", - "model_vars.get('Gini', 0)[-1]=0.6934\n", - "Condition not met at step 1616. No data to save.\n", - "1616\n", - "model_vars.get('Gini', 0)[-1]=0.6798\n", - "Condition not met at step 1617. No data to save.\n", - "1617\n", - "model_vars.get('Gini', 0)[-1]=0.6654\n", - "Condition not met at step 1618. No data to save.\n", - "1618\n", - "model_vars.get('Gini', 0)[-1]=0.6652\n", - "Condition not met at step 1619. No data to save.\n", - "1619\n", - "model_vars.get('Gini', 0)[-1]=0.667\n", - "Condition not met at step 1620. No data to save.\n", - "1620\n", - "model_vars.get('Gini', 0)[-1]=0.6964\n", - "Condition not met at step 1621. No data to save.\n", - "1621\n", - "model_vars.get('Gini', 0)[-1]=0.6974\n", - "Condition not met at step 1622. No data to save.\n", - "1622\n", - "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", - "Condition not met at step 1623. No data to save.\n", - "1623\n", - "model_vars.get('Gini', 0)[-1]=0.6824\n", - "Condition not met at step 1624. No data to save.\n", - "1624\n", - "model_vars.get('Gini', 0)[-1]=0.6846\n", - "Condition not met at step 1625. No data to save.\n", - "1625\n", - "model_vars.get('Gini', 0)[-1]=0.6882\n", - "Condition not met at step 1626. No data to save.\n", - "1626\n", - "model_vars.get('Gini', 0)[-1]=0.685\n", - "Condition not met at step 1627. No data to save.\n", - "1627\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", - "Condition not met at step 1628. No data to save.\n", - "1628\n", - "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", - "Condition not met at step 1629. No data to save.\n", - "1629\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 1630. No data to save.\n", - "1630\n", - "model_vars.get('Gini', 0)[-1]=0.679\n", - "Condition not met at step 1631. No data to save.\n", - "1631\n", - "model_vars.get('Gini', 0)[-1]=0.6732\n", - "Condition not met at step 1632. No data to save.\n", - "1632\n", - "model_vars.get('Gini', 0)[-1]=0.665\n", - "Condition not met at step 1633. No data to save.\n", - "1633\n", - "model_vars.get('Gini', 0)[-1]=0.6476\n", - "Condition not met at step 1634. No data to save.\n", - "1634\n", - "model_vars.get('Gini', 0)[-1]=0.635\n", - "Condition not met at step 1635. No data to save.\n", - "1635\n", - "model_vars.get('Gini', 0)[-1]=0.6324000000000001\n", - "Condition not met at step 1636. No data to save.\n", - "1636\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 1637. No data to save.\n", - "1637\n", - "model_vars.get('Gini', 0)[-1]=0.622\n", - "Condition not met at step 1638. No data to save.\n", - "1638\n", - "model_vars.get('Gini', 0)[-1]=0.6184000000000001\n", - "Condition not met at step 1639. No data to save.\n", - "1639\n", - "model_vars.get('Gini', 0)[-1]=0.6158\n", - "Condition not met at step 1640. No data to save.\n", - "1640\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 1641. No data to save.\n", - "1641\n", - "model_vars.get('Gini', 0)[-1]=0.6732\n", - "Condition not met at step 1642. No data to save.\n", - "1642\n", - "model_vars.get('Gini', 0)[-1]=0.6672\n", - "Condition not met at step 1643. No data to save.\n", - "1643\n", - "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", - "Condition not met at step 1644. No data to save.\n", - "1644\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 1645. No data to save.\n", - "1645\n", - "model_vars.get('Gini', 0)[-1]=0.664\n", - "Condition not met at step 1646. No data to save.\n", - "1646\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", - "Condition not met at step 1647. No data to save.\n", - "1647\n", - "model_vars.get('Gini', 0)[-1]=0.6882\n", - "Condition not met at step 1648. No data to save.\n", - "1648\n", - "model_vars.get('Gini', 0)[-1]=0.6696\n", - "Condition not met at step 1649. No data to save.\n", - "1649\n", - "model_vars.get('Gini', 0)[-1]=0.6592\n", - "Condition not met at step 1650. No data to save.\n", - "1650\n", - "model_vars.get('Gini', 0)[-1]=0.6492\n", - "Condition not met at step 1651. No data to save.\n", - "1651\n", - "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", - "Condition not met at step 1652. No data to save.\n", - "1652\n", - "model_vars.get('Gini', 0)[-1]=0.6742\n", - "Condition not met at step 1653. No data to save.\n", - "1653\n", - "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", - "Condition not met at step 1654. No data to save.\n", - "1654\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", - "Condition not met at step 1655. No data to save.\n", - "1655\n", - "model_vars.get('Gini', 0)[-1]=0.6312\n", - "Condition not met at step 1656. No data to save.\n", - "1656\n", - "model_vars.get('Gini', 0)[-1]=0.6342\n", - "Condition not met at step 1657. No data to save.\n", - "1657\n", - "model_vars.get('Gini', 0)[-1]=0.6184000000000001\n", - "Condition not met at step 1658. No data to save.\n", - "1658\n", - "model_vars.get('Gini', 0)[-1]=0.6192\n", - "Condition not met at step 1659. No data to save.\n", - "1659\n", - "model_vars.get('Gini', 0)[-1]=0.6246\n", - "Condition not met at step 1660. No data to save.\n", - "1660\n", - "model_vars.get('Gini', 0)[-1]=0.6254\n", - "Condition not met at step 1661. No data to save.\n", - "1661\n", - "model_vars.get('Gini', 0)[-1]=0.6062000000000001\n", - "Condition not met at step 1662. No data to save.\n", - "1662\n", - "model_vars.get('Gini', 0)[-1]=0.6062000000000001\n", - "Condition not met at step 1663. No data to save.\n", - "1663\n", - "model_vars.get('Gini', 0)[-1]=0.6084\n", - "Condition not met at step 1664. No data to save.\n", - "1664\n", - "model_vars.get('Gini', 0)[-1]=0.6152\n", - "Condition not met at step 1665. No data to save.\n", - "1665\n", - "model_vars.get('Gini', 0)[-1]=0.6152\n", - "Condition not met at step 1666. No data to save.\n", - "1666\n", - "model_vars.get('Gini', 0)[-1]=0.6398\n", - "Condition not met at step 1667. No data to save.\n", - "1667\n", - "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", - "Condition not met at step 1668. No data to save.\n", - "1668\n", - "model_vars.get('Gini', 0)[-1]=0.626\n", - "Condition not met at step 1669. No data to save.\n", - "1669\n", - "model_vars.get('Gini', 0)[-1]=0.6298\n", - "Condition not met at step 1670. No data to save.\n", - "1670\n", - "model_vars.get('Gini', 0)[-1]=0.5984\n", - "Condition not met at step 1671. No data to save.\n", - "1671\n", - "model_vars.get('Gini', 0)[-1]=0.577\n", - "Condition not met at step 1672. No data to save.\n", - "1672\n", - "model_vars.get('Gini', 0)[-1]=0.5791999999999999\n", - "Condition not met at step 1673. No data to save.\n", - "1673\n", - "model_vars.get('Gini', 0)[-1]=0.599\n", - "Condition not met at step 1674. No data to save.\n", - "1674\n", - "model_vars.get('Gini', 0)[-1]=0.5682\n", - "Condition not met at step 1675. No data to save.\n", - "1675\n", - "model_vars.get('Gini', 0)[-1]=0.5718000000000001\n", - "Condition not met at step 1676. No data to save.\n", - "1676\n", - "model_vars.get('Gini', 0)[-1]=0.575\n", - "Condition not met at step 1677. No data to save.\n", - "1677\n", - "model_vars.get('Gini', 0)[-1]=0.6136\n", - "Condition not met at step 1678. No data to save.\n", - "1678\n", - "model_vars.get('Gini', 0)[-1]=0.63\n", - "Condition not met at step 1679. No data to save.\n", - "1679\n", - "model_vars.get('Gini', 0)[-1]=0.6302\n", - "Condition not met at step 1680. No data to save.\n", - "1680\n", - "model_vars.get('Gini', 0)[-1]=0.6168\n", - "Condition not met at step 1681. No data to save.\n", - "1681\n", - "model_vars.get('Gini', 0)[-1]=0.636\n", - "Condition not met at step 1682. No data to save.\n", - "1682\n", - "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", - "Condition not met at step 1683. No data to save.\n", - "1683\n", - "model_vars.get('Gini', 0)[-1]=0.633\n", - "Condition not met at step 1684. No data to save.\n", - "1684\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 1685. No data to save.\n", - "1685\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 1686. No data to save.\n", - "1686\n", - "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", - "Condition not met at step 1687. No data to save.\n", - "1687\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 1688. No data to save.\n", - "1688\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 1689. No data to save.\n", - "1689\n", - "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", - "Condition not met at step 1690. No data to save.\n", - "1690\n", - "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", - "Condition not met at step 1691. No data to save.\n", - "1691\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 1692. No data to save.\n", - "1692\n", - "model_vars.get('Gini', 0)[-1]=0.644\n", - "Condition not met at step 1693. No data to save.\n", - "1693\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 1694. No data to save.\n", - "1694\n", - "model_vars.get('Gini', 0)[-1]=0.6846\n", - "Condition not met at step 1695. No data to save.\n", - "1695\n", - "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", - "Condition not met at step 1696. No data to save.\n", - "1696\n", - "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", - "Condition not met at step 1697. No data to save.\n", - "1697\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 1698. No data to save.\n", - "1698\n", - "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", - "Condition not met at step 1699. No data to save.\n", - "1699\n", - "CALLED\n", - "self.model._steps=1700\n", - " TEST self.model._steps=1700\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "1600 0.6614\n", - "1601 0.6834\n", - "1602 0.6880\n", - "1603 0.6752\n", - "1604 0.6766\n", - "... ...\n", - "1695 0.6726\n", - "1696 0.6748\n", - "1697 0.6706\n", - "1698 0.6786\n", - "1699 0.6730\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_017.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_017.parquet'\n", - "Saving model to test_path/model_data_017.parquet\n", - "Saving agent to test_path/agent_data_017.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 1700. No data to save.\n", - "1700\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 1701. No data to save.\n", - "1701\n", - "model_vars.get('Gini', 0)[-1]=0.654\n", - "Condition not met at step 1702. No data to save.\n", - "1702\n", - "model_vars.get('Gini', 0)[-1]=0.653\n", - "Condition not met at step 1703. No data to save.\n", - "1703\n", - "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", - "Condition not met at step 1704. No data to save.\n", - "1704\n", - "model_vars.get('Gini', 0)[-1]=0.6738\n", - "Condition not met at step 1705. No data to save.\n", - "1705\n", - "model_vars.get('Gini', 0)[-1]=0.6776\n", - "Condition not met at step 1706. No data to save.\n", - "1706\n", - "model_vars.get('Gini', 0)[-1]=0.6872\n", - "Condition not met at step 1707. No data to save.\n", - "1707\n", - "model_vars.get('Gini', 0)[-1]=0.6938\n", - "Condition not met at step 1708. No data to save.\n", - "1708\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", - "Condition not met at step 1709. No data to save.\n", - "1709\n", - "model_vars.get('Gini', 0)[-1]=0.6738\n", - "Condition not met at step 1710. No data to save.\n", - "1710\n", - "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", - "Condition not met at step 1711. No data to save.\n", - "1711\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 1712. No data to save.\n", - "1712\n", - "model_vars.get('Gini', 0)[-1]=0.6564\n", - "Condition not met at step 1713. No data to save.\n", - "1713\n", - "model_vars.get('Gini', 0)[-1]=0.6652\n", - "Condition not met at step 1714. No data to save.\n", - "1714\n", - "model_vars.get('Gini', 0)[-1]=0.66\n", - "Condition not met at step 1715. No data to save.\n", - "1715\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", - "Condition not met at step 1716. No data to save.\n", - "1716\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", - "Condition not met at step 1717. No data to save.\n", - "1717\n", - "model_vars.get('Gini', 0)[-1]=0.6376\n", - "Condition not met at step 1718. No data to save.\n", - "1718\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 1719. No data to save.\n", - "1719\n", - "model_vars.get('Gini', 0)[-1]=0.677\n", - "Condition not met at step 1720. No data to save.\n", - "1720\n", - "model_vars.get('Gini', 0)[-1]=0.6956\n", - "Condition not met at step 1721. No data to save.\n", - "1721\n", - "model_vars.get('Gini', 0)[-1]=0.7052\n", - "Condition met. Appended special results for step 1722 to test_path/special_results.parquet\n", - "1722\n", - "model_vars.get('Gini', 0)[-1]=0.7094\n", - "Condition met. Appended special results for step 1723 to test_path/special_results.parquet\n", - "1723\n", - "model_vars.get('Gini', 0)[-1]=0.6944\n", - "Condition not met at step 1724. No data to save.\n", - "1724\n", - "model_vars.get('Gini', 0)[-1]=0.6921999999999999\n", - "Condition not met at step 1725. No data to save.\n", - "1725\n", - "model_vars.get('Gini', 0)[-1]=0.6744\n", - "Condition not met at step 1726. No data to save.\n", - "1726\n", - "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", - "Condition not met at step 1727. No data to save.\n", - "1727\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", - "Condition not met at step 1728. No data to save.\n", - "1728\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", - "Condition not met at step 1729. No data to save.\n", - "1729\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", - "Condition not met at step 1730. No data to save.\n", - "1730\n", - "model_vars.get('Gini', 0)[-1]=0.696\n", - "Condition not met at step 1731. No data to save.\n", - "1731\n", - "model_vars.get('Gini', 0)[-1]=0.7028000000000001\n", - "Condition met. Appended special results for step 1732 to test_path/special_results.parquet\n", - "1732\n", - "model_vars.get('Gini', 0)[-1]=0.7132000000000001\n", - "Condition met. Appended special results for step 1733 to test_path/special_results.parquet\n", - "1733\n", - "model_vars.get('Gini', 0)[-1]=0.7076\n", - "Condition met. Appended special results for step 1734 to test_path/special_results.parquet\n", - "1734\n", - "model_vars.get('Gini', 0)[-1]=0.7094\n", - "Condition met. Appended special results for step 1735 to test_path/special_results.parquet\n", - "1735\n", - "model_vars.get('Gini', 0)[-1]=0.7203999999999999\n", - "Condition met. Appended special results for step 1736 to test_path/special_results.parquet\n", - "1736\n", - "model_vars.get('Gini', 0)[-1]=0.7030000000000001\n", - "Condition met. Appended special results for step 1737 to test_path/special_results.parquet\n", - "1737\n", - "model_vars.get('Gini', 0)[-1]=0.7156\n", - "Condition met. Appended special results for step 1738 to test_path/special_results.parquet\n", - "1738\n", - "model_vars.get('Gini', 0)[-1]=0.7142\n", - "Condition met. Appended special results for step 1739 to test_path/special_results.parquet\n", - "1739\n", - "model_vars.get('Gini', 0)[-1]=0.742\n", - "Condition met. Appended special results for step 1740 to test_path/special_results.parquet\n", - "1740\n", - "model_vars.get('Gini', 0)[-1]=0.7408\n", - "Condition met. Appended special results for step 1741 to test_path/special_results.parquet\n", - "1741\n", - "model_vars.get('Gini', 0)[-1]=0.74\n", - "Condition met. Appended special results for step 1742 to test_path/special_results.parquet\n", - "1742\n", - "model_vars.get('Gini', 0)[-1]=0.738\n", - "Condition met. Appended special results for step 1743 to test_path/special_results.parquet\n", - "1743\n", - "model_vars.get('Gini', 0)[-1]=0.7328\n", - "Condition met. Appended special results for step 1744 to test_path/special_results.parquet\n", - "1744\n", - "model_vars.get('Gini', 0)[-1]=0.742\n", - "Condition met. Appended special results for step 1745 to test_path/special_results.parquet\n", - "1745\n", - "model_vars.get('Gini', 0)[-1]=0.7408\n", - "Condition met. Appended special results for step 1746 to test_path/special_results.parquet\n", - "1746\n", - "model_vars.get('Gini', 0)[-1]=0.7438\n", - "Condition met. Appended special results for step 1747 to test_path/special_results.parquet\n", - "1747\n", - "model_vars.get('Gini', 0)[-1]=0.7214\n", - "Condition met. Appended special results for step 1748 to test_path/special_results.parquet\n", - "1748\n", - "model_vars.get('Gini', 0)[-1]=0.7130000000000001\n", - "Condition met. Appended special results for step 1749 to test_path/special_results.parquet\n", - "1749\n", - "model_vars.get('Gini', 0)[-1]=0.7108\n", - "Condition met. Appended special results for step 1750 to test_path/special_results.parquet\n", - "1750\n", - "model_vars.get('Gini', 0)[-1]=0.6878\n", - "Condition not met at step 1751. No data to save.\n", - "1751\n", - "model_vars.get('Gini', 0)[-1]=0.7034\n", - "Condition met. Appended special results for step 1752 to test_path/special_results.parquet\n", - "1752\n", - "model_vars.get('Gini', 0)[-1]=0.7076\n", - "Condition met. Appended special results for step 1753 to test_path/special_results.parquet\n", - "1753\n", - "model_vars.get('Gini', 0)[-1]=0.7178\n", - "Condition met. Appended special results for step 1754 to test_path/special_results.parquet\n", - "1754\n", - "model_vars.get('Gini', 0)[-1]=0.7081999999999999\n", - "Condition met. Appended special results for step 1755 to test_path/special_results.parquet\n", - "1755\n", - "model_vars.get('Gini', 0)[-1]=0.7154\n", - "Condition met. Appended special results for step 1756 to test_path/special_results.parquet\n", - "1756\n", - "model_vars.get('Gini', 0)[-1]=0.7352000000000001\n", - "Condition met. Appended special results for step 1757 to test_path/special_results.parquet\n", - "1757\n", - "model_vars.get('Gini', 0)[-1]=0.7372000000000001\n", - "Condition met. Appended special results for step 1758 to test_path/special_results.parquet\n", - "1758\n", - "model_vars.get('Gini', 0)[-1]=0.7452000000000001\n", - "Condition met. Appended special results for step 1759 to test_path/special_results.parquet\n", - "1759\n", - "model_vars.get('Gini', 0)[-1]=0.76\n", - "Condition met. Appended special results for step 1760 to test_path/special_results.parquet\n", - "1760\n", - "model_vars.get('Gini', 0)[-1]=0.7445999999999999\n", - "Condition met. Appended special results for step 1761 to test_path/special_results.parquet\n", - "1761\n", - "model_vars.get('Gini', 0)[-1]=0.7404\n", - "Condition met. Appended special results for step 1762 to test_path/special_results.parquet\n", - "1762\n", - "model_vars.get('Gini', 0)[-1]=0.7124\n", - "Condition met. Appended special results for step 1763 to test_path/special_results.parquet\n", - "1763\n", - "model_vars.get('Gini', 0)[-1]=0.7163999999999999\n", - "Condition met. Appended special results for step 1764 to test_path/special_results.parquet\n", - "1764\n", - "model_vars.get('Gini', 0)[-1]=0.7056\n", - "Condition met. Appended special results for step 1765 to test_path/special_results.parquet\n", - "1765\n", - "model_vars.get('Gini', 0)[-1]=0.6884\n", - "Condition not met at step 1766. No data to save.\n", - "1766\n", - "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", - "Condition not met at step 1767. No data to save.\n", - "1767\n", - "model_vars.get('Gini', 0)[-1]=0.6868000000000001\n", - "Condition not met at step 1768. No data to save.\n", - "1768\n", - "model_vars.get('Gini', 0)[-1]=0.7194\n", - "Condition met. Appended special results for step 1769 to test_path/special_results.parquet\n", - "1769\n", - "model_vars.get('Gini', 0)[-1]=0.6924\n", - "Condition not met at step 1770. No data to save.\n", - "1770\n", - "model_vars.get('Gini', 0)[-1]=0.6804\n", - "Condition not met at step 1771. No data to save.\n", - "1771\n", - "model_vars.get('Gini', 0)[-1]=0.6918\n", - "Condition not met at step 1772. No data to save.\n", - "1772\n", - "model_vars.get('Gini', 0)[-1]=0.6844\n", - "Condition not met at step 1773. No data to save.\n", - "1773\n", - "model_vars.get('Gini', 0)[-1]=0.6872\n", - "Condition not met at step 1774. No data to save.\n", - "1774\n", - "model_vars.get('Gini', 0)[-1]=0.669\n", - "Condition not met at step 1775. No data to save.\n", - "1775\n", - "model_vars.get('Gini', 0)[-1]=0.671\n", - "Condition not met at step 1776. No data to save.\n", - "1776\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 1777. No data to save.\n", - "1777\n", - "model_vars.get('Gini', 0)[-1]=0.6422\n", - "Condition not met at step 1778. No data to save.\n", - "1778\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 1779. No data to save.\n", - "1779\n", - "model_vars.get('Gini', 0)[-1]=0.63\n", - "Condition not met at step 1780. No data to save.\n", - "1780\n", - "model_vars.get('Gini', 0)[-1]=0.6332\n", - "Condition not met at step 1781. No data to save.\n", - "1781\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", - "Condition not met at step 1782. No data to save.\n", - "1782\n", - "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", - "Condition not met at step 1783. No data to save.\n", - "1783\n", - "model_vars.get('Gini', 0)[-1]=0.6474\n", - "Condition not met at step 1784. No data to save.\n", - "1784\n", - "model_vars.get('Gini', 0)[-1]=0.622\n", - "Condition not met at step 1785. No data to save.\n", - "1785\n", - "model_vars.get('Gini', 0)[-1]=0.6326\n", - "Condition not met at step 1786. No data to save.\n", - "1786\n", - "model_vars.get('Gini', 0)[-1]=0.6198\n", - "Condition not met at step 1787. No data to save.\n", - "1787\n", - "model_vars.get('Gini', 0)[-1]=0.6020000000000001\n", - "Condition not met at step 1788. No data to save.\n", - "1788\n", - "model_vars.get('Gini', 0)[-1]=0.5938\n", - "Condition not met at step 1789. No data to save.\n", - "1789\n", - "model_vars.get('Gini', 0)[-1]=0.5960000000000001\n", - "Condition not met at step 1790. No data to save.\n", - "1790\n", - "model_vars.get('Gini', 0)[-1]=0.5912\n", - "Condition not met at step 1791. No data to save.\n", - "1791\n", - "model_vars.get('Gini', 0)[-1]=0.6234\n", - "Condition not met at step 1792. No data to save.\n", - "1792\n", - "model_vars.get('Gini', 0)[-1]=0.5998\n", - "Condition not met at step 1793. No data to save.\n", - "1793\n", - "model_vars.get('Gini', 0)[-1]=0.6116\n", - "Condition not met at step 1794. No data to save.\n", - "1794\n", - "model_vars.get('Gini', 0)[-1]=0.6232\n", - "Condition not met at step 1795. No data to save.\n", - "1795\n", - "model_vars.get('Gini', 0)[-1]=0.6408\n", - "Condition not met at step 1796. No data to save.\n", - "1796\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 1797. No data to save.\n", - "1797\n", - "model_vars.get('Gini', 0)[-1]=0.6676\n", - "Condition not met at step 1798. No data to save.\n", - "1798\n", - "model_vars.get('Gini', 0)[-1]=0.661\n", - "Condition not met at step 1799. No data to save.\n", - "1799\n", - "CALLED\n", - "self.model._steps=1800\n", - " TEST self.model._steps=1800\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "1700 0.6658\n", - "1701 0.6540\n", - "1702 0.6530\n", - "1703 0.6748\n", - "1704 0.6738\n", - "... ...\n", - "1795 0.6408\n", - "1796 0.6602\n", - "1797 0.6676\n", - "1798 0.6610\n", - "1799 0.6514\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_018.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_018.parquet'\n", - "Saving model to test_path/model_data_018.parquet\n", - "Saving agent to test_path/agent_data_018.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6514\n", - "Condition not met at step 1800. No data to save.\n", - "1800\n", - "model_vars.get('Gini', 0)[-1]=0.6714\n", - "Condition not met at step 1801. No data to save.\n", - "1801\n", - "model_vars.get('Gini', 0)[-1]=0.6408\n", - "Condition not met at step 1802. No data to save.\n", - "1802\n", - "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", - "Condition not met at step 1803. No data to save.\n", - "1803\n", - "model_vars.get('Gini', 0)[-1]=0.6528\n", - "Condition not met at step 1804. No data to save.\n", - "1804\n", - "model_vars.get('Gini', 0)[-1]=0.6374\n", - "Condition not met at step 1805. No data to save.\n", - "1805\n", - "model_vars.get('Gini', 0)[-1]=0.657\n", - "Condition not met at step 1806. No data to save.\n", - "1806\n", - "model_vars.get('Gini', 0)[-1]=0.6584\n", - "Condition not met at step 1807. No data to save.\n", - "1807\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", - "Condition not met at step 1808. No data to save.\n", - "1808\n", - "model_vars.get('Gini', 0)[-1]=0.623\n", - "Condition not met at step 1809. No data to save.\n", - "1809\n", - "model_vars.get('Gini', 0)[-1]=0.6402\n", - "Condition not met at step 1810. No data to save.\n", - "1810\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", - "Condition not met at step 1811. No data to save.\n", - "1811\n", - "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", - "Condition not met at step 1812. No data to save.\n", - "1812\n", - "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", - "Condition not met at step 1813. No data to save.\n", - "1813\n", - "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", - "Condition not met at step 1814. No data to save.\n", - "1814\n", - "model_vars.get('Gini', 0)[-1]=0.6152\n", - "Condition not met at step 1815. No data to save.\n", - "1815\n", - "model_vars.get('Gini', 0)[-1]=0.6016\n", - "Condition not met at step 1816. No data to save.\n", - "1816\n", - "model_vars.get('Gini', 0)[-1]=0.6106\n", - "Condition not met at step 1817. No data to save.\n", - "1817\n", - "model_vars.get('Gini', 0)[-1]=0.6106\n", - "Condition not met at step 1818. No data to save.\n", - "1818\n", - "model_vars.get('Gini', 0)[-1]=0.6248\n", - "Condition not met at step 1819. No data to save.\n", - "1819\n", - "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", - "Condition not met at step 1820. No data to save.\n", - "1820\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 1821. No data to save.\n", - "1821\n", - "model_vars.get('Gini', 0)[-1]=0.6138\n", - "Condition not met at step 1822. No data to save.\n", - "1822\n", - "model_vars.get('Gini', 0)[-1]=0.6024\n", - "Condition not met at step 1823. No data to save.\n", - "1823\n", - "model_vars.get('Gini', 0)[-1]=0.585\n", - "Condition not met at step 1824. No data to save.\n", - "1824\n", - "model_vars.get('Gini', 0)[-1]=0.618\n", - "Condition not met at step 1825. No data to save.\n", - "1825\n", - "model_vars.get('Gini', 0)[-1]=0.6016\n", - "Condition not met at step 1826. No data to save.\n", - "1826\n", - "model_vars.get('Gini', 0)[-1]=0.5840000000000001\n", - "Condition not met at step 1827. No data to save.\n", - "1827\n", - "model_vars.get('Gini', 0)[-1]=0.5882000000000001\n", - "Condition not met at step 1828. No data to save.\n", - "1828\n", - "model_vars.get('Gini', 0)[-1]=0.6020000000000001\n", - "Condition not met at step 1829. No data to save.\n", - "1829\n", - "model_vars.get('Gini', 0)[-1]=0.6342\n", - "Condition not met at step 1830. No data to save.\n", - "1830\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 1831. No data to save.\n", - "1831\n", - "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", - "Condition not met at step 1832. No data to save.\n", - "1832\n", - "model_vars.get('Gini', 0)[-1]=0.628\n", - "Condition not met at step 1833. No data to save.\n", - "1833\n", - "model_vars.get('Gini', 0)[-1]=0.615\n", - "Condition not met at step 1834. No data to save.\n", - "1834\n", - "model_vars.get('Gini', 0)[-1]=0.6048\n", - "Condition not met at step 1835. No data to save.\n", - "1835\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 1836. No data to save.\n", - "1836\n", - "model_vars.get('Gini', 0)[-1]=0.6282000000000001\n", - "Condition not met at step 1837. No data to save.\n", - "1837\n", - "model_vars.get('Gini', 0)[-1]=0.6652\n", - "Condition not met at step 1838. No data to save.\n", - "1838\n", - "model_vars.get('Gini', 0)[-1]=0.6215999999999999\n", - "Condition not met at step 1839. No data to save.\n", - "1839\n", - "model_vars.get('Gini', 0)[-1]=0.6068\n", - "Condition not met at step 1840. No data to save.\n", - "1840\n", - "model_vars.get('Gini', 0)[-1]=0.6248\n", - "Condition not met at step 1841. No data to save.\n", - "1841\n", - "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", - "Condition not met at step 1842. No data to save.\n", - "1842\n", - "model_vars.get('Gini', 0)[-1]=0.6302\n", - "Condition not met at step 1843. No data to save.\n", - "1843\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", - "Condition not met at step 1844. No data to save.\n", - "1844\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", - "Condition not met at step 1845. No data to save.\n", - "1845\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 1846. No data to save.\n", - "1846\n", - "model_vars.get('Gini', 0)[-1]=0.609\n", - "Condition not met at step 1847. No data to save.\n", - "1847\n", - "model_vars.get('Gini', 0)[-1]=0.64\n", - "Condition not met at step 1848. No data to save.\n", - "1848\n", - "model_vars.get('Gini', 0)[-1]=0.623\n", - "Condition not met at step 1849. No data to save.\n", - "1849\n", - "model_vars.get('Gini', 0)[-1]=0.6494\n", - "Condition not met at step 1850. No data to save.\n", - "1850\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 1851. No data to save.\n", - "1851\n", - "model_vars.get('Gini', 0)[-1]=0.6474\n", - "Condition not met at step 1852. No data to save.\n", - "1852\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", - "Condition not met at step 1853. No data to save.\n", - "1853\n", - "model_vars.get('Gini', 0)[-1]=0.644\n", - "Condition not met at step 1854. No data to save.\n", - "1854\n", - "model_vars.get('Gini', 0)[-1]=0.6756\n", - "Condition not met at step 1855. No data to save.\n", - "1855\n", - "model_vars.get('Gini', 0)[-1]=0.6772\n", - "Condition not met at step 1856. No data to save.\n", - "1856\n", - "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", - "Condition not met at step 1857. No data to save.\n", - "1857\n", - "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", - "Condition not met at step 1858. No data to save.\n", - "1858\n", - "model_vars.get('Gini', 0)[-1]=0.6952\n", - "Condition not met at step 1859. No data to save.\n", - "1859\n", - "model_vars.get('Gini', 0)[-1]=0.6854\n", - "Condition not met at step 1860. No data to save.\n", - "1860\n", - "model_vars.get('Gini', 0)[-1]=0.657\n", - "Condition not met at step 1861. No data to save.\n", - "1861\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 1862. No data to save.\n", - "1862\n", - "model_vars.get('Gini', 0)[-1]=0.6198\n", - "Condition not met at step 1863. No data to save.\n", - "1863\n", - "model_vars.get('Gini', 0)[-1]=0.609\n", - "Condition not met at step 1864. No data to save.\n", - "1864\n", - "model_vars.get('Gini', 0)[-1]=0.6134\n", - "Condition not met at step 1865. No data to save.\n", - "1865\n", - "model_vars.get('Gini', 0)[-1]=0.6072\n", - "Condition not met at step 1866. No data to save.\n", - "1866\n", - "model_vars.get('Gini', 0)[-1]=0.6234\n", - "Condition not met at step 1867. No data to save.\n", - "1867\n", - "model_vars.get('Gini', 0)[-1]=0.6038\n", - "Condition not met at step 1868. No data to save.\n", - "1868\n", - "model_vars.get('Gini', 0)[-1]=0.6226\n", - "Condition not met at step 1869. No data to save.\n", - "1869\n", - "model_vars.get('Gini', 0)[-1]=0.5726\n", - "Condition not met at step 1870. No data to save.\n", - "1870\n", - "model_vars.get('Gini', 0)[-1]=0.5686\n", - "Condition not met at step 1871. No data to save.\n", - "1871\n", - "model_vars.get('Gini', 0)[-1]=0.5932\n", - "Condition not met at step 1872. No data to save.\n", - "1872\n", - "model_vars.get('Gini', 0)[-1]=0.5734\n", - "Condition not met at step 1873. No data to save.\n", - "1873\n", - "model_vars.get('Gini', 0)[-1]=0.5418000000000001\n", - "Condition not met at step 1874. No data to save.\n", - "1874\n", - "model_vars.get('Gini', 0)[-1]=0.5686\n", - "Condition not met at step 1875. No data to save.\n", - "1875\n", - "model_vars.get('Gini', 0)[-1]=0.5726\n", - "Condition not met at step 1876. No data to save.\n", - "1876\n", - "model_vars.get('Gini', 0)[-1]=0.5926\n", - "Condition not met at step 1877. No data to save.\n", - "1877\n", - "model_vars.get('Gini', 0)[-1]=0.5704\n", - "Condition not met at step 1878. No data to save.\n", - "1878\n", - "model_vars.get('Gini', 0)[-1]=0.6214\n", - "Condition not met at step 1879. No data to save.\n", - "1879\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 1880. No data to save.\n", - "1880\n", - "model_vars.get('Gini', 0)[-1]=0.666\n", - "Condition not met at step 1881. No data to save.\n", - "1881\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", - "Condition not met at step 1882. No data to save.\n", - "1882\n", - "model_vars.get('Gini', 0)[-1]=0.6698\n", - "Condition not met at step 1883. No data to save.\n", - "1883\n", - "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", - "Condition not met at step 1884. No data to save.\n", - "1884\n", - "model_vars.get('Gini', 0)[-1]=0.6724\n", - "Condition not met at step 1885. No data to save.\n", - "1885\n", - "model_vars.get('Gini', 0)[-1]=0.6864\n", - "Condition not met at step 1886. No data to save.\n", - "1886\n", - "model_vars.get('Gini', 0)[-1]=0.6921999999999999\n", - "Condition not met at step 1887. No data to save.\n", - "1887\n", - "model_vars.get('Gini', 0)[-1]=0.6926\n", - "Condition not met at step 1888. No data to save.\n", - "1888\n", - "model_vars.get('Gini', 0)[-1]=0.6916\n", - "Condition not met at step 1889. No data to save.\n", - "1889\n", - "model_vars.get('Gini', 0)[-1]=0.6918\n", - "Condition not met at step 1890. No data to save.\n", - "1890\n", - "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", - "Condition not met at step 1891. No data to save.\n", - "1891\n", - "model_vars.get('Gini', 0)[-1]=0.6998\n", - "Condition not met at step 1892. No data to save.\n", - "1892\n", - "model_vars.get('Gini', 0)[-1]=0.704\n", - "Condition met. Appended special results for step 1893 to test_path/special_results.parquet\n", - "1893\n", - "model_vars.get('Gini', 0)[-1]=0.702\n", - "Condition met. Appended special results for step 1894 to test_path/special_results.parquet\n", - "1894\n", - "model_vars.get('Gini', 0)[-1]=0.692\n", - "Condition not met at step 1895. No data to save.\n", - "1895\n", - "model_vars.get('Gini', 0)[-1]=0.6882\n", - "Condition not met at step 1896. No data to save.\n", - "1896\n", - "model_vars.get('Gini', 0)[-1]=0.6914\n", - "Condition not met at step 1897. No data to save.\n", - "1897\n", - "model_vars.get('Gini', 0)[-1]=0.6844\n", - "Condition not met at step 1898. No data to save.\n", - "1898\n", - "model_vars.get('Gini', 0)[-1]=0.6692\n", - "Condition not met at step 1899. No data to save.\n", - "1899\n", - "CALLED\n", - "self.model._steps=1900\n", - " TEST self.model._steps=1900\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "1800 0.6714\n", - "1801 0.6408\n", - "1802 0.6296\n", - "1803 0.6528\n", - "1804 0.6374\n", - "... ...\n", - "1895 0.6882\n", - "1896 0.6914\n", - "1897 0.6844\n", - "1898 0.6692\n", - "1899 0.6628\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_019.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_019.parquet'\n", - "Saving model to test_path/model_data_019.parquet\n", - "Saving agent to test_path/agent_data_019.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", - "Condition not met at step 1900. No data to save.\n", - "1900\n", - "model_vars.get('Gini', 0)[-1]=0.657\n", - "Condition not met at step 1901. No data to save.\n", - "1901\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", - "Condition not met at step 1902. No data to save.\n", - "1902\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 1903. No data to save.\n", - "1903\n", - "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", - "Condition not met at step 1904. No data to save.\n", - "1904\n", - "model_vars.get('Gini', 0)[-1]=0.6396\n", - "Condition not met at step 1905. No data to save.\n", - "1905\n", - "model_vars.get('Gini', 0)[-1]=0.644\n", - "Condition not met at step 1906. No data to save.\n", - "1906\n", - "model_vars.get('Gini', 0)[-1]=0.6366\n", - "Condition not met at step 1907. No data to save.\n", - "1907\n", - "model_vars.get('Gini', 0)[-1]=0.631\n", - "Condition not met at step 1908. No data to save.\n", - "1908\n", - "model_vars.get('Gini', 0)[-1]=0.636\n", - "Condition not met at step 1909. No data to save.\n", - "1909\n", - "model_vars.get('Gini', 0)[-1]=0.6268\n", - "Condition not met at step 1910. No data to save.\n", - "1910\n", - "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", - "Condition not met at step 1911. No data to save.\n", - "1911\n", - "model_vars.get('Gini', 0)[-1]=0.6314\n", - "Condition not met at step 1912. No data to save.\n", - "1912\n", - "model_vars.get('Gini', 0)[-1]=0.6376\n", - "Condition not met at step 1913. No data to save.\n", - "1913\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", - "Condition not met at step 1914. No data to save.\n", - "1914\n", - "model_vars.get('Gini', 0)[-1]=0.6452\n", - "Condition not met at step 1915. No data to save.\n", - "1915\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 1916. No data to save.\n", - "1916\n", - "model_vars.get('Gini', 0)[-1]=0.6572\n", - "Condition not met at step 1917. No data to save.\n", - "1917\n", - "model_vars.get('Gini', 0)[-1]=0.6516\n", - "Condition not met at step 1918. No data to save.\n", - "1918\n", - "model_vars.get('Gini', 0)[-1]=0.665\n", - "Condition not met at step 1919. No data to save.\n", - "1919\n", - "model_vars.get('Gini', 0)[-1]=0.636\n", - "Condition not met at step 1920. No data to save.\n", - "1920\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 1921. No data to save.\n", - "1921\n", - "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", - "Condition not met at step 1922. No data to save.\n", - "1922\n", - "model_vars.get('Gini', 0)[-1]=0.6844\n", - "Condition not met at step 1923. No data to save.\n", - "1923\n", - "model_vars.get('Gini', 0)[-1]=0.7070000000000001\n", - "Condition met. Appended special results for step 1924 to test_path/special_results.parquet\n", - "1924\n", - "model_vars.get('Gini', 0)[-1]=0.6584\n", - "Condition not met at step 1925. No data to save.\n", - "1925\n", - "model_vars.get('Gini', 0)[-1]=0.6422\n", - "Condition not met at step 1926. No data to save.\n", - "1926\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", - "Condition not met at step 1927. No data to save.\n", - "1927\n", - "model_vars.get('Gini', 0)[-1]=0.6376\n", - "Condition not met at step 1928. No data to save.\n", - "1928\n", - "model_vars.get('Gini', 0)[-1]=0.6338\n", - "Condition not met at step 1929. No data to save.\n", - "1929\n", - "model_vars.get('Gini', 0)[-1]=0.6436\n", - "Condition not met at step 1930. No data to save.\n", - "1930\n", - "model_vars.get('Gini', 0)[-1]=0.6494\n", - "Condition not met at step 1931. No data to save.\n", - "1931\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", - "Condition not met at step 1932. No data to save.\n", - "1932\n", - "model_vars.get('Gini', 0)[-1]=0.6694\n", - "Condition not met at step 1933. No data to save.\n", - "1933\n", - "model_vars.get('Gini', 0)[-1]=0.669\n", - "Condition not met at step 1934. No data to save.\n", - "1934\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 1935. No data to save.\n", - "1935\n", - "model_vars.get('Gini', 0)[-1]=0.5906\n", - "Condition not met at step 1936. No data to save.\n", - "1936\n", - "model_vars.get('Gini', 0)[-1]=0.6254\n", - "Condition not met at step 1937. No data to save.\n", - "1937\n", - "model_vars.get('Gini', 0)[-1]=0.651\n", - "Condition not met at step 1938. No data to save.\n", - "1938\n", - "model_vars.get('Gini', 0)[-1]=0.6488\n", - "Condition not met at step 1939. No data to save.\n", - "1939\n", - "model_vars.get('Gini', 0)[-1]=0.641\n", - "Condition not met at step 1940. No data to save.\n", - "1940\n", - "model_vars.get('Gini', 0)[-1]=0.6098\n", - "Condition not met at step 1941. No data to save.\n", - "1941\n", - "model_vars.get('Gini', 0)[-1]=0.6322\n", - "Condition not met at step 1942. No data to save.\n", - "1942\n", - "model_vars.get('Gini', 0)[-1]=0.6372\n", - "Condition not met at step 1943. No data to save.\n", - "1943\n", - "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", - "Condition not met at step 1944. No data to save.\n", - "1944\n", - "model_vars.get('Gini', 0)[-1]=0.632\n", - "Condition not met at step 1945. No data to save.\n", - "1945\n", - "model_vars.get('Gini', 0)[-1]=0.6052\n", - "Condition not met at step 1946. No data to save.\n", - "1946\n", - "model_vars.get('Gini', 0)[-1]=0.6004\n", - "Condition not met at step 1947. No data to save.\n", - "1947\n", - "model_vars.get('Gini', 0)[-1]=0.5936\n", - "Condition not met at step 1948. No data to save.\n", - "1948\n", - "model_vars.get('Gini', 0)[-1]=0.6152\n", - "Condition not met at step 1949. No data to save.\n", - "1949\n", - "model_vars.get('Gini', 0)[-1]=0.6136\n", - "Condition not met at step 1950. No data to save.\n", - "1950\n", - "model_vars.get('Gini', 0)[-1]=0.6312\n", - "Condition not met at step 1951. No data to save.\n", - "1951\n", - "model_vars.get('Gini', 0)[-1]=0.6046\n", - "Condition not met at step 1952. No data to save.\n", - "1952\n", - "model_vars.get('Gini', 0)[-1]=0.6056\n", - "Condition not met at step 1953. No data to save.\n", - "1953\n", - "model_vars.get('Gini', 0)[-1]=0.5814\n", - "Condition not met at step 1954. No data to save.\n", - "1954\n", - "model_vars.get('Gini', 0)[-1]=0.5766\n", - "Condition not met at step 1955. No data to save.\n", - "1955\n", - "model_vars.get('Gini', 0)[-1]=0.5962000000000001\n", - "Condition not met at step 1956. No data to save.\n", - "1956\n", - "model_vars.get('Gini', 0)[-1]=0.5972\n", - "Condition not met at step 1957. No data to save.\n", - "1957\n", - "model_vars.get('Gini', 0)[-1]=0.5842\n", - "Condition not met at step 1958. No data to save.\n", - "1958\n", - "model_vars.get('Gini', 0)[-1]=0.6084\n", - "Condition not met at step 1959. No data to save.\n", - "1959\n", - "model_vars.get('Gini', 0)[-1]=0.5702\n", - "Condition not met at step 1960. No data to save.\n", - "1960\n", - "model_vars.get('Gini', 0)[-1]=0.5776\n", - "Condition not met at step 1961. No data to save.\n", - "1961\n", - "model_vars.get('Gini', 0)[-1]=0.6112\n", - "Condition not met at step 1962. No data to save.\n", - "1962\n", - "model_vars.get('Gini', 0)[-1]=0.6192\n", - "Condition not met at step 1963. No data to save.\n", - "1963\n", - "model_vars.get('Gini', 0)[-1]=0.6116\n", - "Condition not met at step 1964. No data to save.\n", - "1964\n", - "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", - "Condition not met at step 1965. No data to save.\n", - "1965\n", - "model_vars.get('Gini', 0)[-1]=0.6454\n", - "Condition not met at step 1966. No data to save.\n", - "1966\n", - "model_vars.get('Gini', 0)[-1]=0.654\n", - "Condition not met at step 1967. No data to save.\n", - "1967\n", - "model_vars.get('Gini', 0)[-1]=0.6396\n", - "Condition not met at step 1968. No data to save.\n", - "1968\n", - "model_vars.get('Gini', 0)[-1]=0.645\n", - "Condition not met at step 1969. No data to save.\n", - "1969\n", - "model_vars.get('Gini', 0)[-1]=0.6138\n", - "Condition not met at step 1970. No data to save.\n", - "1970\n", - "model_vars.get('Gini', 0)[-1]=0.6326\n", - "Condition not met at step 1971. No data to save.\n", - "1971\n", - "model_vars.get('Gini', 0)[-1]=0.6286\n", - "Condition not met at step 1972. No data to save.\n", - "1972\n", - "model_vars.get('Gini', 0)[-1]=0.6244000000000001\n", - "Condition not met at step 1973. No data to save.\n", - "1973\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", - "Condition not met at step 1974. No data to save.\n", - "1974\n", - "model_vars.get('Gini', 0)[-1]=0.6522\n", - "Condition not met at step 1975. No data to save.\n", - "1975\n", - "model_vars.get('Gini', 0)[-1]=0.6328\n", - "Condition not met at step 1976. No data to save.\n", - "1976\n", - "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", - "Condition not met at step 1977. No data to save.\n", - "1977\n", - "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", - "Condition not met at step 1978. No data to save.\n", - "1978\n", - "model_vars.get('Gini', 0)[-1]=0.6456\n", - "Condition not met at step 1979. No data to save.\n", - "1979\n", - "model_vars.get('Gini', 0)[-1]=0.6376\n", - "Condition not met at step 1980. No data to save.\n", - "1980\n", - "model_vars.get('Gini', 0)[-1]=0.6437999999999999\n", - "Condition not met at step 1981. No data to save.\n", - "1981\n", - "model_vars.get('Gini', 0)[-1]=0.6394\n", - "Condition not met at step 1982. No data to save.\n", - "1982\n", - "model_vars.get('Gini', 0)[-1]=0.6836\n", - "Condition not met at step 1983. No data to save.\n", - "1983\n", - "model_vars.get('Gini', 0)[-1]=0.6842\n", - "Condition not met at step 1984. No data to save.\n", - "1984\n", - "model_vars.get('Gini', 0)[-1]=0.6702\n", - "Condition not met at step 1985. No data to save.\n", - "1985\n", - "model_vars.get('Gini', 0)[-1]=0.6534\n", - "Condition not met at step 1986. No data to save.\n", - "1986\n", - "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", - "Condition not met at step 1987. No data to save.\n", - "1987\n", - "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", - "Condition not met at step 1988. No data to save.\n", - "1988\n", - "model_vars.get('Gini', 0)[-1]=0.622\n", - "Condition not met at step 1989. No data to save.\n", - "1989\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", - "Condition not met at step 1990. No data to save.\n", - "1990\n", - "model_vars.get('Gini', 0)[-1]=0.6682\n", - "Condition not met at step 1991. No data to save.\n", - "1991\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", - "Condition not met at step 1992. No data to save.\n", - "1992\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 1993. No data to save.\n", - "1993\n", - "model_vars.get('Gini', 0)[-1]=0.6252\n", - "Condition not met at step 1994. No data to save.\n", - "1994\n", - "model_vars.get('Gini', 0)[-1]=0.6278\n", - "Condition not met at step 1995. No data to save.\n", - "1995\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", - "Condition not met at step 1996. No data to save.\n", - "1996\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 1997. No data to save.\n", - "1997\n", - "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", - "Condition not met at step 1998. No data to save.\n", - "1998\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 1999. No data to save.\n", - "1999\n", - "CALLED\n", - "self.model._steps=2000\n", - " TEST self.model._steps=2000\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "1900 0.6570\n", - "1901 0.6568\n", - "1902 0.6496\n", - "1903 0.6518\n", - "1904 0.6396\n", - "... ...\n", - "1995 0.6664\n", - "1996 0.6378\n", - "1997 0.6748\n", - "1998 0.6704\n", - "1999 0.7110\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_020.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_020.parquet'\n", - "Saving model to test_path/model_data_020.parquet\n", - "Saving agent to test_path/agent_data_020.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.7110000000000001\n", - "Condition met. Appended special results for step 2000 to test_path/special_results.parquet\n", - "2000\n", - "model_vars.get('Gini', 0)[-1]=0.6892\n", - "Condition not met at step 2001. No data to save.\n", - "2001\n", - "model_vars.get('Gini', 0)[-1]=0.7076\n", - "Condition met. Appended special results for step 2002 to test_path/special_results.parquet\n", - "2002\n", - "model_vars.get('Gini', 0)[-1]=0.7010000000000001\n", - "Condition met. Appended special results for step 2003 to test_path/special_results.parquet\n", - "2003\n", - "model_vars.get('Gini', 0)[-1]=0.6986\n", - "Condition not met at step 2004. No data to save.\n", - "2004\n", - "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", - "Condition met. Appended special results for step 2005 to test_path/special_results.parquet\n", - "2005\n", - "model_vars.get('Gini', 0)[-1]=0.7068\n", - "Condition met. Appended special results for step 2006 to test_path/special_results.parquet\n", - "2006\n", - "model_vars.get('Gini', 0)[-1]=0.6988000000000001\n", - "Condition not met at step 2007. No data to save.\n", - "2007\n", - "model_vars.get('Gini', 0)[-1]=0.6988000000000001\n", - "Condition not met at step 2008. No data to save.\n", - "2008\n", - "model_vars.get('Gini', 0)[-1]=0.6856\n", - "Condition not met at step 2009. No data to save.\n", - "2009\n", - "model_vars.get('Gini', 0)[-1]=0.7126\n", - "Condition met. Appended special results for step 2010 to test_path/special_results.parquet\n", - "2010\n", - "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", - "Condition not met at step 2011. No data to save.\n", - "2011\n", - "model_vars.get('Gini', 0)[-1]=0.7150000000000001\n", - "Condition met. Appended special results for step 2012 to test_path/special_results.parquet\n", - "2012\n", - "model_vars.get('Gini', 0)[-1]=0.7144\n", - "Condition met. Appended special results for step 2013 to test_path/special_results.parquet\n", - "2013\n", - "model_vars.get('Gini', 0)[-1]=0.7178\n", - "Condition met. Appended special results for step 2014 to test_path/special_results.parquet\n", - "2014\n", - "model_vars.get('Gini', 0)[-1]=0.7114\n", - "Condition met. Appended special results for step 2015 to test_path/special_results.parquet\n", - "2015\n", - "model_vars.get('Gini', 0)[-1]=0.7121999999999999\n", - "Condition met. Appended special results for step 2016 to test_path/special_results.parquet\n", - "2016\n", - "model_vars.get('Gini', 0)[-1]=0.687\n", - "Condition not met at step 2017. No data to save.\n", - "2017\n", - "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", - "Condition not met at step 2018. No data to save.\n", - "2018\n", - "model_vars.get('Gini', 0)[-1]=0.7056\n", - "Condition met. Appended special results for step 2019 to test_path/special_results.parquet\n", - "2019\n", - "model_vars.get('Gini', 0)[-1]=0.6990000000000001\n", - "Condition not met at step 2020. No data to save.\n", - "2020\n", - "model_vars.get('Gini', 0)[-1]=0.7134\n", - "Condition met. Appended special results for step 2021 to test_path/special_results.parquet\n", - "2021\n", - "model_vars.get('Gini', 0)[-1]=0.7090000000000001\n", - "Condition met. Appended special results for step 2022 to test_path/special_results.parquet\n", - "2022\n", - "model_vars.get('Gini', 0)[-1]=0.7234\n", - "Condition met. Appended special results for step 2023 to test_path/special_results.parquet\n", - "2023\n", - "model_vars.get('Gini', 0)[-1]=0.7030000000000001\n", - "Condition met. Appended special results for step 2024 to test_path/special_results.parquet\n", - "2024\n", - "model_vars.get('Gini', 0)[-1]=0.7176\n", - "Condition met. Appended special results for step 2025 to test_path/special_results.parquet\n", - "2025\n", - "model_vars.get('Gini', 0)[-1]=0.714\n", - "Condition met. Appended special results for step 2026 to test_path/special_results.parquet\n", - "2026\n", - "model_vars.get('Gini', 0)[-1]=0.71\n", - "Condition met. Appended special results for step 2027 to test_path/special_results.parquet\n", - "2027\n", - "model_vars.get('Gini', 0)[-1]=0.6696\n", - "Condition not met at step 2028. No data to save.\n", - "2028\n", - "model_vars.get('Gini', 0)[-1]=0.6732\n", - "Condition not met at step 2029. No data to save.\n", - "2029\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", - "Condition not met at step 2030. No data to save.\n", - "2030\n", - "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", - "Condition not met at step 2031. No data to save.\n", - "2031\n", - "model_vars.get('Gini', 0)[-1]=0.6676\n", - "Condition not met at step 2032. No data to save.\n", - "2032\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", - "Condition not met at step 2033. No data to save.\n", - "2033\n", - "model_vars.get('Gini', 0)[-1]=0.6696\n", - "Condition not met at step 2034. No data to save.\n", - "2034\n", - "model_vars.get('Gini', 0)[-1]=0.6428\n", - "Condition not met at step 2035. No data to save.\n", - "2035\n", - "model_vars.get('Gini', 0)[-1]=0.6362\n", - "Condition not met at step 2036. No data to save.\n", - "2036\n", - "model_vars.get('Gini', 0)[-1]=0.6308\n", - "Condition not met at step 2037. No data to save.\n", - "2037\n", - "model_vars.get('Gini', 0)[-1]=0.605\n", - "Condition not met at step 2038. No data to save.\n", - "2038\n", - "model_vars.get('Gini', 0)[-1]=0.6476\n", - "Condition not met at step 2039. No data to save.\n", - "2039\n", - "model_vars.get('Gini', 0)[-1]=0.6452\n", - "Condition not met at step 2040. No data to save.\n", - "2040\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 2041. No data to save.\n", - "2041\n", - "model_vars.get('Gini', 0)[-1]=0.6476\n", - "Condition not met at step 2042. No data to save.\n", - "2042\n", - "model_vars.get('Gini', 0)[-1]=0.6432\n", - "Condition not met at step 2043. No data to save.\n", - "2043\n", - "model_vars.get('Gini', 0)[-1]=0.6556\n", - "Condition not met at step 2044. No data to save.\n", - "2044\n", - "model_vars.get('Gini', 0)[-1]=0.6684\n", - "Condition not met at step 2045. No data to save.\n", - "2045\n", - "model_vars.get('Gini', 0)[-1]=0.6812\n", - "Condition not met at step 2046. No data to save.\n", - "2046\n", - "model_vars.get('Gini', 0)[-1]=0.702\n", - "Condition met. Appended special results for step 2047 to test_path/special_results.parquet\n", - "2047\n", - "model_vars.get('Gini', 0)[-1]=0.7064\n", - "Condition met. Appended special results for step 2048 to test_path/special_results.parquet\n", - "2048\n", - "model_vars.get('Gini', 0)[-1]=0.7070000000000001\n", - "Condition met. Appended special results for step 2049 to test_path/special_results.parquet\n", - "2049\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", - "Condition not met at step 2050. No data to save.\n", - "2050\n", - "model_vars.get('Gini', 0)[-1]=0.6826\n", - "Condition not met at step 2051. No data to save.\n", - "2051\n", - "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", - "Condition not met at step 2052. No data to save.\n", - "2052\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", - "Condition not met at step 2053. No data to save.\n", - "2053\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", - "Condition not met at step 2054. No data to save.\n", - "2054\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 2055. No data to save.\n", - "2055\n", - "model_vars.get('Gini', 0)[-1]=0.645\n", - "Condition not met at step 2056. No data to save.\n", - "2056\n", - "model_vars.get('Gini', 0)[-1]=0.6574\n", - "Condition not met at step 2057. No data to save.\n", - "2057\n", - "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", - "Condition not met at step 2058. No data to save.\n", - "2058\n", - "model_vars.get('Gini', 0)[-1]=0.677\n", - "Condition not met at step 2059. No data to save.\n", - "2059\n", - "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", - "Condition not met at step 2060. No data to save.\n", - "2060\n", - "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", - "Condition not met at step 2061. No data to save.\n", - "2061\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", - "Condition not met at step 2062. No data to save.\n", - "2062\n", - "model_vars.get('Gini', 0)[-1]=0.642\n", - "Condition not met at step 2063. No data to save.\n", - "2063\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 2064. No data to save.\n", - "2064\n", - "model_vars.get('Gini', 0)[-1]=0.6144000000000001\n", - "Condition not met at step 2065. No data to save.\n", - "2065\n", - "model_vars.get('Gini', 0)[-1]=0.6724\n", - "Condition not met at step 2066. No data to save.\n", - "2066\n", - "model_vars.get('Gini', 0)[-1]=0.6662\n", - "Condition not met at step 2067. No data to save.\n", - "2067\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", - "Condition not met at step 2068. No data to save.\n", - "2068\n", - "model_vars.get('Gini', 0)[-1]=0.6784\n", - "Condition not met at step 2069. No data to save.\n", - "2069\n", - "model_vars.get('Gini', 0)[-1]=0.6902\n", - "Condition not met at step 2070. No data to save.\n", - "2070\n", - "model_vars.get('Gini', 0)[-1]=0.6990000000000001\n", - "Condition not met at step 2071. No data to save.\n", - "2071\n", - "model_vars.get('Gini', 0)[-1]=0.706\n", - "Condition met. Appended special results for step 2072 to test_path/special_results.parquet\n", - "2072\n", - "model_vars.get('Gini', 0)[-1]=0.7048\n", - "Condition met. Appended special results for step 2073 to test_path/special_results.parquet\n", - "2073\n", - "model_vars.get('Gini', 0)[-1]=0.7016\n", - "Condition met. Appended special results for step 2074 to test_path/special_results.parquet\n", - "2074\n", - "model_vars.get('Gini', 0)[-1]=0.7030000000000001\n", - "Condition met. Appended special results for step 2075 to test_path/special_results.parquet\n", - "2075\n", - "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", - "Condition not met at step 2076. No data to save.\n", - "2076\n", - "model_vars.get('Gini', 0)[-1]=0.6702\n", - "Condition not met at step 2077. No data to save.\n", - "2077\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 2078. No data to save.\n", - "2078\n", - "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", - "Condition not met at step 2079. No data to save.\n", - "2079\n", - "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", - "Condition not met at step 2080. No data to save.\n", - "2080\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 2081. No data to save.\n", - "2081\n", - "model_vars.get('Gini', 0)[-1]=0.6358\n", - "Condition not met at step 2082. No data to save.\n", - "2082\n", - "model_vars.get('Gini', 0)[-1]=0.6268\n", - "Condition not met at step 2083. No data to save.\n", - "2083\n", - "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", - "Condition not met at step 2084. No data to save.\n", - "2084\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 2085. No data to save.\n", - "2085\n", - "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", - "Condition not met at step 2086. No data to save.\n", - "2086\n", - "model_vars.get('Gini', 0)[-1]=0.6324000000000001\n", - "Condition not met at step 2087. No data to save.\n", - "2087\n", - "model_vars.get('Gini', 0)[-1]=0.6328\n", - "Condition not met at step 2088. No data to save.\n", - "2088\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", - "Condition not met at step 2089. No data to save.\n", - "2089\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", - "Condition not met at step 2090. No data to save.\n", - "2090\n", - "model_vars.get('Gini', 0)[-1]=0.638\n", - "Condition not met at step 2091. No data to save.\n", - "2091\n", - "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", - "Condition not met at step 2092. No data to save.\n", - "2092\n", - "model_vars.get('Gini', 0)[-1]=0.6502\n", - "Condition not met at step 2093. No data to save.\n", - "2093\n", - "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", - "Condition not met at step 2094. No data to save.\n", - "2094\n", - "model_vars.get('Gini', 0)[-1]=0.632\n", - "Condition not met at step 2095. No data to save.\n", - "2095\n", - "model_vars.get('Gini', 0)[-1]=0.6136\n", - "Condition not met at step 2096. No data to save.\n", - "2096\n", - "model_vars.get('Gini', 0)[-1]=0.6152\n", - "Condition not met at step 2097. No data to save.\n", - "2097\n", - "model_vars.get('Gini', 0)[-1]=0.6226\n", - "Condition not met at step 2098. No data to save.\n", - "2098\n", - "model_vars.get('Gini', 0)[-1]=0.616\n", - "Condition not met at step 2099. No data to save.\n", - "2099\n", - "CALLED\n", - "self.model._steps=2100\n", - " TEST self.model._steps=2100\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "2000 0.6892\n", - "2001 0.7076\n", - "2002 0.7010\n", - "2003 0.6986\n", - "2004 0.7022\n", - "... ...\n", - "2095 0.6136\n", - "2096 0.6152\n", - "2097 0.6226\n", - "2098 0.6160\n", - "2099 0.6212\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_021.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_021.parquet'\n", - "Saving model to test_path/model_data_021.parquet\n", - "Saving agent to test_path/agent_data_021.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6212\n", - "Condition not met at step 2100. No data to save.\n", - "2100\n", - "model_vars.get('Gini', 0)[-1]=0.629\n", - "Condition not met at step 2101. No data to save.\n", - "2101\n", - "model_vars.get('Gini', 0)[-1]=0.6408\n", - "Condition not met at step 2102. No data to save.\n", - "2102\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", - "Condition not met at step 2103. No data to save.\n", - "2103\n", - "model_vars.get('Gini', 0)[-1]=0.654\n", - "Condition not met at step 2104. No data to save.\n", - "2104\n", - "model_vars.get('Gini', 0)[-1]=0.615\n", - "Condition not met at step 2105. No data to save.\n", - "2105\n", - "model_vars.get('Gini', 0)[-1]=0.6308\n", - "Condition not met at step 2106. No data to save.\n", - "2106\n", - "model_vars.get('Gini', 0)[-1]=0.6348\n", - "Condition not met at step 2107. No data to save.\n", - "2107\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 2108. No data to save.\n", - "2108\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", - "Condition not met at step 2109. No data to save.\n", - "2109\n", - "model_vars.get('Gini', 0)[-1]=0.708\n", - "Condition met. Appended special results for step 2110 to test_path/special_results.parquet\n", - "2110\n", - "model_vars.get('Gini', 0)[-1]=0.6916\n", - "Condition not met at step 2111. No data to save.\n", - "2111\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", - "Condition not met at step 2112. No data to save.\n", - "2112\n", - "model_vars.get('Gini', 0)[-1]=0.6488\n", - "Condition not met at step 2113. No data to save.\n", - "2113\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", - "Condition not met at step 2114. No data to save.\n", - "2114\n", - "model_vars.get('Gini', 0)[-1]=0.635\n", - "Condition not met at step 2115. No data to save.\n", - "2115\n", - "model_vars.get('Gini', 0)[-1]=0.6148\n", - "Condition not met at step 2116. No data to save.\n", - "2116\n", - "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", - "Condition not met at step 2117. No data to save.\n", - "2117\n", - "model_vars.get('Gini', 0)[-1]=0.6492\n", - "Condition not met at step 2118. No data to save.\n", - "2118\n", - "model_vars.get('Gini', 0)[-1]=0.6622\n", - "Condition not met at step 2119. No data to save.\n", - "2119\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 2120. No data to save.\n", - "2120\n", - "model_vars.get('Gini', 0)[-1]=0.6076\n", - "Condition not met at step 2121. No data to save.\n", - "2121\n", - "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", - "Condition not met at step 2122. No data to save.\n", - "2122\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", - "Condition not met at step 2123. No data to save.\n", - "2123\n", - "model_vars.get('Gini', 0)[-1]=0.5848\n", - "Condition not met at step 2124. No data to save.\n", - "2124\n", - "model_vars.get('Gini', 0)[-1]=0.6104\n", - "Condition not met at step 2125. No data to save.\n", - "2125\n", - "model_vars.get('Gini', 0)[-1]=0.6208\n", - "Condition not met at step 2126. No data to save.\n", - "2126\n", - "model_vars.get('Gini', 0)[-1]=0.6372\n", - "Condition not met at step 2127. No data to save.\n", - "2127\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", - "Condition not met at step 2128. No data to save.\n", - "2128\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 2129. No data to save.\n", - "2129\n", - "model_vars.get('Gini', 0)[-1]=0.6554\n", - "Condition not met at step 2130. No data to save.\n", - "2130\n", - "model_vars.get('Gini', 0)[-1]=0.6584\n", - "Condition not met at step 2131. No data to save.\n", - "2131\n", - "model_vars.get('Gini', 0)[-1]=0.6652\n", - "Condition not met at step 2132. No data to save.\n", - "2132\n", - "model_vars.get('Gini', 0)[-1]=0.6612\n", - "Condition not met at step 2133. No data to save.\n", - "2133\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", - "Condition not met at step 2134. No data to save.\n", - "2134\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 2135. No data to save.\n", - "2135\n", - "model_vars.get('Gini', 0)[-1]=0.6554\n", - "Condition not met at step 2136. No data to save.\n", - "2136\n", - "model_vars.get('Gini', 0)[-1]=0.6772\n", - "Condition not met at step 2137. No data to save.\n", - "2137\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 2138. No data to save.\n", - "2138\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 2139. No data to save.\n", - "2139\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 2140. No data to save.\n", - "2140\n", - "model_vars.get('Gini', 0)[-1]=0.7074\n", - "Condition met. Appended special results for step 2141 to test_path/special_results.parquet\n", - "2141\n", - "model_vars.get('Gini', 0)[-1]=0.6986\n", - "Condition not met at step 2142. No data to save.\n", - "2142\n", - "model_vars.get('Gini', 0)[-1]=0.706\n", - "Condition met. Appended special results for step 2143 to test_path/special_results.parquet\n", - "2143\n", - "model_vars.get('Gini', 0)[-1]=0.7008000000000001\n", - "Condition met. Appended special results for step 2144 to test_path/special_results.parquet\n", - "2144\n", - "model_vars.get('Gini', 0)[-1]=0.7223999999999999\n", - "Condition met. Appended special results for step 2145 to test_path/special_results.parquet\n", - "2145\n", - "model_vars.get('Gini', 0)[-1]=0.7094\n", - "Condition met. Appended special results for step 2146 to test_path/special_results.parquet\n", - "2146\n", - "model_vars.get('Gini', 0)[-1]=0.7001999999999999\n", - "Condition met. Appended special results for step 2147 to test_path/special_results.parquet\n", - "2147\n", - "model_vars.get('Gini', 0)[-1]=0.688\n", - "Condition not met at step 2148. No data to save.\n", - "2148\n", - "model_vars.get('Gini', 0)[-1]=0.6804\n", - "Condition not met at step 2149. No data to save.\n", - "2149\n", - "model_vars.get('Gini', 0)[-1]=0.6552\n", - "Condition not met at step 2150. No data to save.\n", - "2150\n", - "model_vars.get('Gini', 0)[-1]=0.6554\n", - "Condition not met at step 2151. No data to save.\n", - "2151\n", - "model_vars.get('Gini', 0)[-1]=0.6148\n", - "Condition not met at step 2152. No data to save.\n", - "2152\n", - "model_vars.get('Gini', 0)[-1]=0.6362\n", - "Condition not met at step 2153. No data to save.\n", - "2153\n", - "model_vars.get('Gini', 0)[-1]=0.6494\n", - "Condition not met at step 2154. No data to save.\n", - "2154\n", - "model_vars.get('Gini', 0)[-1]=0.6574\n", - "Condition not met at step 2155. No data to save.\n", - "2155\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 2156. No data to save.\n", - "2156\n", - "model_vars.get('Gini', 0)[-1]=0.677\n", - "Condition not met at step 2157. No data to save.\n", - "2157\n", - "model_vars.get('Gini', 0)[-1]=0.7086\n", - "Condition met. Appended special results for step 2158 to test_path/special_results.parquet\n", - "2158\n", - "model_vars.get('Gini', 0)[-1]=0.7323999999999999\n", - "Condition met. Appended special results for step 2159 to test_path/special_results.parquet\n", - "2159\n", - "model_vars.get('Gini', 0)[-1]=0.7282\n", - "Condition met. Appended special results for step 2160 to test_path/special_results.parquet\n", - "2160\n", - "model_vars.get('Gini', 0)[-1]=0.7236\n", - "Condition met. Appended special results for step 2161 to test_path/special_results.parquet\n", - "2161\n", - "model_vars.get('Gini', 0)[-1]=0.7046\n", - "Condition met. Appended special results for step 2162 to test_path/special_results.parquet\n", - "2162\n", - "model_vars.get('Gini', 0)[-1]=0.6804\n", - "Condition not met at step 2163. No data to save.\n", - "2163\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", - "Condition not met at step 2164. No data to save.\n", - "2164\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", - "Condition not met at step 2165. No data to save.\n", - "2165\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", - "Condition not met at step 2166. No data to save.\n", - "2166\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 2167. No data to save.\n", - "2167\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 2168. No data to save.\n", - "2168\n", - "model_vars.get('Gini', 0)[-1]=0.6918\n", - "Condition not met at step 2169. No data to save.\n", - "2169\n", - "model_vars.get('Gini', 0)[-1]=0.6794\n", - "Condition not met at step 2170. No data to save.\n", - "2170\n", - "model_vars.get('Gini', 0)[-1]=0.6742\n", - "Condition not met at step 2171. No data to save.\n", - "2171\n", - "model_vars.get('Gini', 0)[-1]=0.6652\n", - "Condition not met at step 2172. No data to save.\n", - "2172\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 2173. No data to save.\n", - "2173\n", - "model_vars.get('Gini', 0)[-1]=0.66\n", - "Condition not met at step 2174. No data to save.\n", - "2174\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", - "Condition not met at step 2175. No data to save.\n", - "2175\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 2176. No data to save.\n", - "2176\n", - "model_vars.get('Gini', 0)[-1]=0.6532\n", - "Condition not met at step 2177. No data to save.\n", - "2177\n", - "model_vars.get('Gini', 0)[-1]=0.6672\n", - "Condition not met at step 2178. No data to save.\n", - "2178\n", - "model_vars.get('Gini', 0)[-1]=0.6382\n", - "Condition not met at step 2179. No data to save.\n", - "2179\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 2180. No data to save.\n", - "2180\n", - "model_vars.get('Gini', 0)[-1]=0.6332\n", - "Condition not met at step 2181. No data to save.\n", - "2181\n", - "model_vars.get('Gini', 0)[-1]=0.6344000000000001\n", - "Condition not met at step 2182. No data to save.\n", - "2182\n", - "model_vars.get('Gini', 0)[-1]=0.625\n", - "Condition not met at step 2183. No data to save.\n", - "2183\n", - "model_vars.get('Gini', 0)[-1]=0.6258\n", - "Condition not met at step 2184. No data to save.\n", - "2184\n", - "model_vars.get('Gini', 0)[-1]=0.6398\n", - "Condition not met at step 2185. No data to save.\n", - "2185\n", - "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", - "Condition not met at step 2186. No data to save.\n", - "2186\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", - "Condition not met at step 2187. No data to save.\n", - "2187\n", - "model_vars.get('Gini', 0)[-1]=0.669\n", - "Condition not met at step 2188. No data to save.\n", - "2188\n", - "model_vars.get('Gini', 0)[-1]=0.6676\n", - "Condition not met at step 2189. No data to save.\n", - "2189\n", - "model_vars.get('Gini', 0)[-1]=0.6454\n", - "Condition not met at step 2190. No data to save.\n", - "2190\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 2191. No data to save.\n", - "2191\n", - "model_vars.get('Gini', 0)[-1]=0.64\n", - "Condition not met at step 2192. No data to save.\n", - "2192\n", - "model_vars.get('Gini', 0)[-1]=0.6696\n", - "Condition not met at step 2193. No data to save.\n", - "2193\n", - "model_vars.get('Gini', 0)[-1]=0.6572\n", - "Condition not met at step 2194. No data to save.\n", - "2194\n", - "model_vars.get('Gini', 0)[-1]=0.6812\n", - "Condition not met at step 2195. No data to save.\n", - "2195\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", - "Condition not met at step 2196. No data to save.\n", - "2196\n", - "model_vars.get('Gini', 0)[-1]=0.687\n", - "Condition not met at step 2197. No data to save.\n", - "2197\n", - "model_vars.get('Gini', 0)[-1]=0.7068\n", - "Condition met. Appended special results for step 2198 to test_path/special_results.parquet\n", - "2198\n", - "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", - "Condition not met at step 2199. No data to save.\n", - "2199\n", - "CALLED\n", - "self.model._steps=2200\n", - " TEST self.model._steps=2200\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "2100 0.6290\n", - "2101 0.6408\n", - "2102 0.6448\n", - "2103 0.6540\n", - "2104 0.6150\n", - "... ...\n", - "2195 0.6788\n", - "2196 0.6870\n", - "2197 0.7068\n", - "2198 0.6942\n", - "2199 0.6918\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_022.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_022.parquet'\n", - "Saving model to test_path/model_data_022.parquet\n", - "Saving agent to test_path/agent_data_022.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6918\n", - "Condition not met at step 2200. No data to save.\n", - "2200\n", - "model_vars.get('Gini', 0)[-1]=0.6854\n", - "Condition not met at step 2201. No data to save.\n", - "2201\n", - "model_vars.get('Gini', 0)[-1]=0.687\n", - "Condition not met at step 2202. No data to save.\n", - "2202\n", - "model_vars.get('Gini', 0)[-1]=0.6954\n", - "Condition not met at step 2203. No data to save.\n", - "2203\n", - "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", - "Condition not met at step 2204. No data to save.\n", - "2204\n", - "model_vars.get('Gini', 0)[-1]=0.671\n", - "Condition not met at step 2205. No data to save.\n", - "2205\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 2206. No data to save.\n", - "2206\n", - "model_vars.get('Gini', 0)[-1]=0.669\n", - "Condition not met at step 2207. No data to save.\n", - "2207\n", - "model_vars.get('Gini', 0)[-1]=0.6826\n", - "Condition not met at step 2208. No data to save.\n", - "2208\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", - "Condition not met at step 2209. No data to save.\n", - "2209\n", - "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", - "Condition not met at step 2210. No data to save.\n", - "2210\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", - "Condition not met at step 2211. No data to save.\n", - "2211\n", - "model_vars.get('Gini', 0)[-1]=0.6596\n", - "Condition not met at step 2212. No data to save.\n", - "2212\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 2213. No data to save.\n", - "2213\n", - "model_vars.get('Gini', 0)[-1]=0.6204000000000001\n", - "Condition not met at step 2214. No data to save.\n", - "2214\n", - "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", - "Condition not met at step 2215. No data to save.\n", - "2215\n", - "model_vars.get('Gini', 0)[-1]=0.5978\n", - "Condition not met at step 2216. No data to save.\n", - "2216\n", - "model_vars.get('Gini', 0)[-1]=0.5908\n", - "Condition not met at step 2217. No data to save.\n", - "2217\n", - "model_vars.get('Gini', 0)[-1]=0.6088\n", - "Condition not met at step 2218. No data to save.\n", - "2218\n", - "model_vars.get('Gini', 0)[-1]=0.6388\n", - "Condition not met at step 2219. No data to save.\n", - "2219\n", - "model_vars.get('Gini', 0)[-1]=0.6186\n", - "Condition not met at step 2220. No data to save.\n", - "2220\n", - "model_vars.get('Gini', 0)[-1]=0.5946\n", - "Condition not met at step 2221. No data to save.\n", - "2221\n", - "model_vars.get('Gini', 0)[-1]=0.5992\n", - "Condition not met at step 2222. No data to save.\n", - "2222\n", - "model_vars.get('Gini', 0)[-1]=0.5892\n", - "Condition not met at step 2223. No data to save.\n", - "2223\n", - "model_vars.get('Gini', 0)[-1]=0.5938\n", - "Condition not met at step 2224. No data to save.\n", - "2224\n", - "model_vars.get('Gini', 0)[-1]=0.6174\n", - "Condition not met at step 2225. No data to save.\n", - "2225\n", - "model_vars.get('Gini', 0)[-1]=0.6474\n", - "Condition not met at step 2226. No data to save.\n", - "2226\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", - "Condition not met at step 2227. No data to save.\n", - "2227\n", - "model_vars.get('Gini', 0)[-1]=0.657\n", - "Condition not met at step 2228. No data to save.\n", - "2228\n", - "model_vars.get('Gini', 0)[-1]=0.6514\n", - "Condition not met at step 2229. No data to save.\n", - "2229\n", - "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", - "Condition not met at step 2230. No data to save.\n", - "2230\n", - "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", - "Condition not met at step 2231. No data to save.\n", - "2231\n", - "model_vars.get('Gini', 0)[-1]=0.6876\n", - "Condition not met at step 2232. No data to save.\n", - "2232\n", - "model_vars.get('Gini', 0)[-1]=0.7026\n", - "Condition met. Appended special results for step 2233 to test_path/special_results.parquet\n", - "2233\n", - "model_vars.get('Gini', 0)[-1]=0.6966\n", - "Condition not met at step 2234. No data to save.\n", - "2234\n", - "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", - "Condition not met at step 2235. No data to save.\n", - "2235\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 2236. No data to save.\n", - "2236\n", - "model_vars.get('Gini', 0)[-1]=0.6696\n", - "Condition not met at step 2237. No data to save.\n", - "2237\n", - "model_vars.get('Gini', 0)[-1]=0.6702\n", - "Condition not met at step 2238. No data to save.\n", - "2238\n", - "model_vars.get('Gini', 0)[-1]=0.6776\n", - "Condition not met at step 2239. No data to save.\n", - "2239\n", - "model_vars.get('Gini', 0)[-1]=0.6654\n", - "Condition not met at step 2240. No data to save.\n", - "2240\n", - "model_vars.get('Gini', 0)[-1]=0.6608\n", - "Condition not met at step 2241. No data to save.\n", - "2241\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", - "Condition not met at step 2242. No data to save.\n", - "2242\n", - "model_vars.get('Gini', 0)[-1]=0.6574\n", - "Condition not met at step 2243. No data to save.\n", - "2243\n", - "model_vars.get('Gini', 0)[-1]=0.6872\n", - "Condition not met at step 2244. No data to save.\n", - "2244\n", - "model_vars.get('Gini', 0)[-1]=0.6814\n", - "Condition not met at step 2245. No data to save.\n", - "2245\n", - "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", - "Condition not met at step 2246. No data to save.\n", - "2246\n", - "model_vars.get('Gini', 0)[-1]=0.6884\n", - "Condition not met at step 2247. No data to save.\n", - "2247\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 2248. No data to save.\n", - "2248\n", - "model_vars.get('Gini', 0)[-1]=0.6656\n", - "Condition not met at step 2249. No data to save.\n", - "2249\n", - "model_vars.get('Gini', 0)[-1]=0.6844\n", - "Condition not met at step 2250. No data to save.\n", - "2250\n", - "model_vars.get('Gini', 0)[-1]=0.6886\n", - "Condition not met at step 2251. No data to save.\n", - "2251\n", - "model_vars.get('Gini', 0)[-1]=0.6874\n", - "Condition not met at step 2252. No data to save.\n", - "2252\n", - "model_vars.get('Gini', 0)[-1]=0.671\n", - "Condition not met at step 2253. No data to save.\n", - "2253\n", - "model_vars.get('Gini', 0)[-1]=0.661\n", - "Condition not met at step 2254. No data to save.\n", - "2254\n", - "model_vars.get('Gini', 0)[-1]=0.6656\n", - "Condition not met at step 2255. No data to save.\n", - "2255\n", - "model_vars.get('Gini', 0)[-1]=0.704\n", - "Condition met. Appended special results for step 2256 to test_path/special_results.parquet\n", - "2256\n", - "model_vars.get('Gini', 0)[-1]=0.7061999999999999\n", - "Condition met. Appended special results for step 2257 to test_path/special_results.parquet\n", - "2257\n", - "model_vars.get('Gini', 0)[-1]=0.685\n", - "Condition not met at step 2258. No data to save.\n", - "2258\n", - "model_vars.get('Gini', 0)[-1]=0.7094\n", - "Condition met. Appended special results for step 2259 to test_path/special_results.parquet\n", - "2259\n", - "model_vars.get('Gini', 0)[-1]=0.7018\n", - "Condition met. Appended special results for step 2260 to test_path/special_results.parquet\n", - "2260\n", - "model_vars.get('Gini', 0)[-1]=0.6978\n", - "Condition not met at step 2261. No data to save.\n", - "2261\n", - "model_vars.get('Gini', 0)[-1]=0.7030000000000001\n", - "Condition met. Appended special results for step 2262 to test_path/special_results.parquet\n", - "2262\n", - "model_vars.get('Gini', 0)[-1]=0.698\n", - "Condition not met at step 2263. No data to save.\n", - "2263\n", - "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", - "Condition not met at step 2264. No data to save.\n", - "2264\n", - "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", - "Condition not met at step 2265. No data to save.\n", - "2265\n", - "model_vars.get('Gini', 0)[-1]=0.6874\n", - "Condition not met at step 2266. No data to save.\n", - "2266\n", - "model_vars.get('Gini', 0)[-1]=0.6902\n", - "Condition not met at step 2267. No data to save.\n", - "2267\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 2268. No data to save.\n", - "2268\n", - "model_vars.get('Gini', 0)[-1]=0.6656\n", - "Condition not met at step 2269. No data to save.\n", - "2269\n", - "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", - "Condition not met at step 2270. No data to save.\n", - "2270\n", - "model_vars.get('Gini', 0)[-1]=0.6608\n", - "Condition not met at step 2271. No data to save.\n", - "2271\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 2272. No data to save.\n", - "2272\n", - "model_vars.get('Gini', 0)[-1]=0.6584\n", - "Condition not met at step 2273. No data to save.\n", - "2273\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 2274. No data to save.\n", - "2274\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 2275. No data to save.\n", - "2275\n", - "model_vars.get('Gini', 0)[-1]=0.6932\n", - "Condition not met at step 2276. No data to save.\n", - "2276\n", - "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", - "Condition not met at step 2277. No data to save.\n", - "2277\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 2278. No data to save.\n", - "2278\n", - "model_vars.get('Gini', 0)[-1]=0.6864\n", - "Condition not met at step 2279. No data to save.\n", - "2279\n", - "model_vars.get('Gini', 0)[-1]=0.6990000000000001\n", - "Condition not met at step 2280. No data to save.\n", - "2280\n", - "model_vars.get('Gini', 0)[-1]=0.6816\n", - "Condition not met at step 2281. No data to save.\n", - "2281\n", - "model_vars.get('Gini', 0)[-1]=0.6914\n", - "Condition not met at step 2282. No data to save.\n", - "2282\n", - "model_vars.get('Gini', 0)[-1]=0.7028000000000001\n", - "Condition met. Appended special results for step 2283 to test_path/special_results.parquet\n", - "2283\n", - "model_vars.get('Gini', 0)[-1]=0.6964\n", - "Condition not met at step 2284. No data to save.\n", - "2284\n", - "model_vars.get('Gini', 0)[-1]=0.698\n", - "Condition not met at step 2285. No data to save.\n", - "2285\n", - "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", - "Condition not met at step 2286. No data to save.\n", - "2286\n", - "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", - "Condition not met at step 2287. No data to save.\n", - "2287\n", - "model_vars.get('Gini', 0)[-1]=0.7006\n", - "Condition met. Appended special results for step 2288 to test_path/special_results.parquet\n", - "2288\n", - "model_vars.get('Gini', 0)[-1]=0.6914\n", - "Condition not met at step 2289. No data to save.\n", - "2289\n", - "model_vars.get('Gini', 0)[-1]=0.6914\n", - "Condition not met at step 2290. No data to save.\n", - "2290\n", - "model_vars.get('Gini', 0)[-1]=0.664\n", - "Condition not met at step 2291. No data to save.\n", - "2291\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 2292. No data to save.\n", - "2292\n", - "model_vars.get('Gini', 0)[-1]=0.641\n", - "Condition not met at step 2293. No data to save.\n", - "2293\n", - "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", - "Condition not met at step 2294. No data to save.\n", - "2294\n", - "model_vars.get('Gini', 0)[-1]=0.635\n", - "Condition not met at step 2295. No data to save.\n", - "2295\n", - "model_vars.get('Gini', 0)[-1]=0.6338\n", - "Condition not met at step 2296. No data to save.\n", - "2296\n", - "model_vars.get('Gini', 0)[-1]=0.6366\n", - "Condition not met at step 2297. No data to save.\n", - "2297\n", - "model_vars.get('Gini', 0)[-1]=0.6246\n", - "Condition not met at step 2298. No data to save.\n", - "2298\n", - "model_vars.get('Gini', 0)[-1]=0.6198\n", - "Condition not met at step 2299. No data to save.\n", - "2299\n", - "CALLED\n", - "self.model._steps=2300\n", - " TEST self.model._steps=2300\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "2200 0.6854\n", - "2201 0.6870\n", - "2202 0.6954\n", - "2203 0.6740\n", - "2204 0.6710\n", - "... ...\n", - "2295 0.6338\n", - "2296 0.6366\n", - "2297 0.6246\n", - "2298 0.6198\n", - "2299 0.6274\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_023.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_023.parquet'\n", - "Saving model to test_path/model_data_023.parquet\n", - "Saving agent to test_path/agent_data_023.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 2300. No data to save.\n", - "2300\n", - "model_vars.get('Gini', 0)[-1]=0.6312\n", - "Condition not met at step 2301. No data to save.\n", - "2301\n", - "model_vars.get('Gini', 0)[-1]=0.6636\n", - "Condition not met at step 2302. No data to save.\n", - "2302\n", - "model_vars.get('Gini', 0)[-1]=0.6456\n", - "Condition not met at step 2303. No data to save.\n", - "2303\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 2304. No data to save.\n", - "2304\n", - "model_vars.get('Gini', 0)[-1]=0.6234\n", - "Condition not met at step 2305. No data to save.\n", - "2305\n", - "model_vars.get('Gini', 0)[-1]=0.5984\n", - "Condition not met at step 2306. No data to save.\n", - "2306\n", - "model_vars.get('Gini', 0)[-1]=0.5906\n", - "Condition not met at step 2307. No data to save.\n", - "2307\n", - "model_vars.get('Gini', 0)[-1]=0.626\n", - "Condition not met at step 2308. No data to save.\n", - "2308\n", - "model_vars.get('Gini', 0)[-1]=0.6342\n", - "Condition not met at step 2309. No data to save.\n", - "2309\n", - "model_vars.get('Gini', 0)[-1]=0.6432\n", - "Condition not met at step 2310. No data to save.\n", - "2310\n", - "model_vars.get('Gini', 0)[-1]=0.6372\n", - "Condition not met at step 2311. No data to save.\n", - "2311\n", - "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", - "Condition not met at step 2312. No data to save.\n", - "2312\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", - "Condition not met at step 2313. No data to save.\n", - "2313\n", - "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", - "Condition not met at step 2314. No data to save.\n", - "2314\n", - "model_vars.get('Gini', 0)[-1]=0.6472\n", - "Condition not met at step 2315. No data to save.\n", - "2315\n", - "model_vars.get('Gini', 0)[-1]=0.641\n", - "Condition not met at step 2316. No data to save.\n", - "2316\n", - "model_vars.get('Gini', 0)[-1]=0.65\n", - "Condition not met at step 2317. No data to save.\n", - "2317\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 2318. No data to save.\n", - "2318\n", - "model_vars.get('Gini', 0)[-1]=0.6452\n", - "Condition not met at step 2319. No data to save.\n", - "2319\n", - "model_vars.get('Gini', 0)[-1]=0.6516\n", - "Condition not met at step 2320. No data to save.\n", - "2320\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 2321. No data to save.\n", - "2321\n", - "model_vars.get('Gini', 0)[-1]=0.6594\n", - "Condition not met at step 2322. No data to save.\n", - "2322\n", - "model_vars.get('Gini', 0)[-1]=0.6368\n", - "Condition not met at step 2323. No data to save.\n", - "2323\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 2324. No data to save.\n", - "2324\n", - "model_vars.get('Gini', 0)[-1]=0.6252\n", - "Condition not met at step 2325. No data to save.\n", - "2325\n", - "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", - "Condition not met at step 2326. No data to save.\n", - "2326\n", - "model_vars.get('Gini', 0)[-1]=0.6312\n", - "Condition not met at step 2327. No data to save.\n", - "2327\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 2328. No data to save.\n", - "2328\n", - "model_vars.get('Gini', 0)[-1]=0.6234\n", - "Condition not met at step 2329. No data to save.\n", - "2329\n", - "model_vars.get('Gini', 0)[-1]=0.6212\n", - "Condition not met at step 2330. No data to save.\n", - "2330\n", - "model_vars.get('Gini', 0)[-1]=0.6388\n", - "Condition not met at step 2331. No data to save.\n", - "2331\n", - "model_vars.get('Gini', 0)[-1]=0.641\n", - "Condition not met at step 2332. No data to save.\n", - "2332\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", - "Condition not met at step 2333. No data to save.\n", - "2333\n", - "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", - "Condition not met at step 2334. No data to save.\n", - "2334\n", - "model_vars.get('Gini', 0)[-1]=0.6456\n", - "Condition not met at step 2335. No data to save.\n", - "2335\n", - "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", - "Condition not met at step 2336. No data to save.\n", - "2336\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", - "Condition not met at step 2337. No data to save.\n", - "2337\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 2338. No data to save.\n", - "2338\n", - "model_vars.get('Gini', 0)[-1]=0.655\n", - "Condition not met at step 2339. No data to save.\n", - "2339\n", - "model_vars.get('Gini', 0)[-1]=0.6394\n", - "Condition not met at step 2340. No data to save.\n", - "2340\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 2341. No data to save.\n", - "2341\n", - "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", - "Condition not met at step 2342. No data to save.\n", - "2342\n", - "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", - "Condition not met at step 2343. No data to save.\n", - "2343\n", - "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", - "Condition not met at step 2344. No data to save.\n", - "2344\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", - "Condition not met at step 2345. No data to save.\n", - "2345\n", - "model_vars.get('Gini', 0)[-1]=0.6502\n", - "Condition not met at step 2346. No data to save.\n", - "2346\n", - "model_vars.get('Gini', 0)[-1]=0.6358\n", - "Condition not met at step 2347. No data to save.\n", - "2347\n", - "model_vars.get('Gini', 0)[-1]=0.6134\n", - "Condition not met at step 2348. No data to save.\n", - "2348\n", - "model_vars.get('Gini', 0)[-1]=0.6026\n", - "Condition not met at step 2349. No data to save.\n", - "2349\n", - "model_vars.get('Gini', 0)[-1]=0.5978\n", - "Condition not met at step 2350. No data to save.\n", - "2350\n", - "model_vars.get('Gini', 0)[-1]=0.6235999999999999\n", - "Condition not met at step 2351. No data to save.\n", - "2351\n", - "model_vars.get('Gini', 0)[-1]=0.6152\n", - "Condition not met at step 2352. No data to save.\n", - "2352\n", - "model_vars.get('Gini', 0)[-1]=0.6052\n", - "Condition not met at step 2353. No data to save.\n", - "2353\n", - "model_vars.get('Gini', 0)[-1]=0.6168\n", - "Condition not met at step 2354. No data to save.\n", - "2354\n", - "model_vars.get('Gini', 0)[-1]=0.6000000000000001\n", - "Condition not met at step 2355. No data to save.\n", - "2355\n", - "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", - "Condition not met at step 2356. No data to save.\n", - "2356\n", - "model_vars.get('Gini', 0)[-1]=0.6154\n", - "Condition not met at step 2357. No data to save.\n", - "2357\n", - "model_vars.get('Gini', 0)[-1]=0.6528\n", - "Condition not met at step 2358. No data to save.\n", - "2358\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 2359. No data to save.\n", - "2359\n", - "model_vars.get('Gini', 0)[-1]=0.6724\n", - "Condition not met at step 2360. No data to save.\n", - "2360\n", - "model_vars.get('Gini', 0)[-1]=0.6522\n", - "Condition not met at step 2361. No data to save.\n", - "2361\n", - "model_vars.get('Gini', 0)[-1]=0.659\n", - "Condition not met at step 2362. No data to save.\n", - "2362\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 2363. No data to save.\n", - "2363\n", - "model_vars.get('Gini', 0)[-1]=0.654\n", - "Condition not met at step 2364. No data to save.\n", - "2364\n", - "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", - "Condition not met at step 2365. No data to save.\n", - "2365\n", - "model_vars.get('Gini', 0)[-1]=0.6134\n", - "Condition not met at step 2366. No data to save.\n", - "2366\n", - "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", - "Condition not met at step 2367. No data to save.\n", - "2367\n", - "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", - "Condition not met at step 2368. No data to save.\n", - "2368\n", - "model_vars.get('Gini', 0)[-1]=0.6342\n", - "Condition not met at step 2369. No data to save.\n", - "2369\n", - "model_vars.get('Gini', 0)[-1]=0.6422\n", - "Condition not met at step 2370. No data to save.\n", - "2370\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", - "Condition not met at step 2371. No data to save.\n", - "2371\n", - "model_vars.get('Gini', 0)[-1]=0.6682\n", - "Condition not met at step 2372. No data to save.\n", - "2372\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", - "Condition not met at step 2373. No data to save.\n", - "2373\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 2374. No data to save.\n", - "2374\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", - "Condition not met at step 2375. No data to save.\n", - "2375\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 2376. No data to save.\n", - "2376\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", - "Condition not met at step 2377. No data to save.\n", - "2377\n", - "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", - "Condition not met at step 2378. No data to save.\n", - "2378\n", - "model_vars.get('Gini', 0)[-1]=0.7024\n", - "Condition met. Appended special results for step 2379 to test_path/special_results.parquet\n", - "2379\n", - "model_vars.get('Gini', 0)[-1]=0.7014\n", - "Condition met. Appended special results for step 2380 to test_path/special_results.parquet\n", - "2380\n", - "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", - "Condition not met at step 2381. No data to save.\n", - "2381\n", - "model_vars.get('Gini', 0)[-1]=0.6754\n", - "Condition not met at step 2382. No data to save.\n", - "2382\n", - "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", - "Condition not met at step 2383. No data to save.\n", - "2383\n", - "model_vars.get('Gini', 0)[-1]=0.6772\n", - "Condition not met at step 2384. No data to save.\n", - "2384\n", - "model_vars.get('Gini', 0)[-1]=0.6990000000000001\n", - "Condition not met at step 2385. No data to save.\n", - "2385\n", - "model_vars.get('Gini', 0)[-1]=0.6812\n", - "Condition not met at step 2386. No data to save.\n", - "2386\n", - "model_vars.get('Gini', 0)[-1]=0.6862\n", - "Condition not met at step 2387. No data to save.\n", - "2387\n", - "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", - "Condition not met at step 2388. No data to save.\n", - "2388\n", - "model_vars.get('Gini', 0)[-1]=0.6936\n", - "Condition not met at step 2389. No data to save.\n", - "2389\n", - "model_vars.get('Gini', 0)[-1]=0.6822\n", - "Condition not met at step 2390. No data to save.\n", - "2390\n", - "model_vars.get('Gini', 0)[-1]=0.681\n", - "Condition not met at step 2391. No data to save.\n", - "2391\n", - "model_vars.get('Gini', 0)[-1]=0.6898\n", - "Condition not met at step 2392. No data to save.\n", - "2392\n", - "model_vars.get('Gini', 0)[-1]=0.6796\n", - "Condition not met at step 2393. No data to save.\n", - "2393\n", - "model_vars.get('Gini', 0)[-1]=0.6584\n", - "Condition not met at step 2394. No data to save.\n", - "2394\n", - "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", - "Condition not met at step 2395. No data to save.\n", - "2395\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 2396. No data to save.\n", - "2396\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 2397. No data to save.\n", - "2397\n", - "model_vars.get('Gini', 0)[-1]=0.6836\n", - "Condition not met at step 2398. No data to save.\n", - "2398\n", - "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", - "Condition not met at step 2399. No data to save.\n", - "2399\n", - "CALLED\n", - "self.model._steps=2400\n", - " TEST self.model._steps=2400\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "2300 0.6312\n", - "2301 0.6636\n", - "2302 0.6456\n", - "2303 0.6352\n", - "2304 0.6234\n", - "... ...\n", - "2395 0.6728\n", - "2396 0.6616\n", - "2397 0.6836\n", - "2398 0.6586\n", - "2399 0.6722\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_024.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_024.parquet'\n", - "Saving model to test_path/model_data_024.parquet\n", - "Saving agent to test_path/agent_data_024.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6722\n", - "Condition not met at step 2400. No data to save.\n", - "2400\n", - "model_vars.get('Gini', 0)[-1]=0.6744\n", - "Condition not met at step 2401. No data to save.\n", - "2401\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 2402. No data to save.\n", - "2402\n", - "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", - "Condition not met at step 2403. No data to save.\n", - "2403\n", - "model_vars.get('Gini', 0)[-1]=0.6946\n", - "Condition not met at step 2404. No data to save.\n", - "2404\n", - "model_vars.get('Gini', 0)[-1]=0.6826\n", - "Condition not met at step 2405. No data to save.\n", - "2405\n", - "model_vars.get('Gini', 0)[-1]=0.6976\n", - "Condition not met at step 2406. No data to save.\n", - "2406\n", - "model_vars.get('Gini', 0)[-1]=0.7116\n", - "Condition met. Appended special results for step 2407 to test_path/special_results.parquet\n", - "2407\n", - "model_vars.get('Gini', 0)[-1]=0.6924\n", - "Condition not met at step 2408. No data to save.\n", - "2408\n", - "model_vars.get('Gini', 0)[-1]=0.6624\n", - "Condition not met at step 2409. No data to save.\n", - "2409\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 2410. No data to save.\n", - "2410\n", - "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", - "Condition not met at step 2411. No data to save.\n", - "2411\n", - "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", - "Condition not met at step 2412. No data to save.\n", - "2412\n", - "model_vars.get('Gini', 0)[-1]=0.6764\n", - "Condition not met at step 2413. No data to save.\n", - "2413\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", - "Condition not met at step 2414. No data to save.\n", - "2414\n", - "model_vars.get('Gini', 0)[-1]=0.6884\n", - "Condition not met at step 2415. No data to save.\n", - "2415\n", - "model_vars.get('Gini', 0)[-1]=0.7001999999999999\n", - "Condition met. Appended special results for step 2416 to test_path/special_results.parquet\n", - "2416\n", - "model_vars.get('Gini', 0)[-1]=0.6978\n", - "Condition not met at step 2417. No data to save.\n", - "2417\n", - "model_vars.get('Gini', 0)[-1]=0.6826\n", - "Condition not met at step 2418. No data to save.\n", - "2418\n", - "model_vars.get('Gini', 0)[-1]=0.6792\n", - "Condition not met at step 2419. No data to save.\n", - "2419\n", - "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", - "Condition not met at step 2420. No data to save.\n", - "2420\n", - "model_vars.get('Gini', 0)[-1]=0.6826\n", - "Condition not met at step 2421. No data to save.\n", - "2421\n", - "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", - "Condition not met at step 2422. No data to save.\n", - "2422\n", - "model_vars.get('Gini', 0)[-1]=0.6772\n", - "Condition not met at step 2423. No data to save.\n", - "2423\n", - "model_vars.get('Gini', 0)[-1]=0.6858\n", - "Condition not met at step 2424. No data to save.\n", - "2424\n", - "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", - "Condition not met at step 2425. No data to save.\n", - "2425\n", - "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", - "Condition not met at step 2426. No data to save.\n", - "2426\n", - "model_vars.get('Gini', 0)[-1]=0.649\n", - "Condition not met at step 2427. No data to save.\n", - "2427\n", - "model_vars.get('Gini', 0)[-1]=0.6366\n", - "Condition not met at step 2428. No data to save.\n", - "2428\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", - "Condition not met at step 2429. No data to save.\n", - "2429\n", - "model_vars.get('Gini', 0)[-1]=0.6806\n", - "Condition not met at step 2430. No data to save.\n", - "2430\n", - "model_vars.get('Gini', 0)[-1]=0.6654\n", - "Condition not met at step 2431. No data to save.\n", - "2431\n", - "model_vars.get('Gini', 0)[-1]=0.6742\n", - "Condition not met at step 2432. No data to save.\n", - "2432\n", - "model_vars.get('Gini', 0)[-1]=0.655\n", - "Condition not met at step 2433. No data to save.\n", - "2433\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 2434. No data to save.\n", - "2434\n", - "model_vars.get('Gini', 0)[-1]=0.6422\n", - "Condition not met at step 2435. No data to save.\n", - "2435\n", - "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", - "Condition not met at step 2436. No data to save.\n", - "2436\n", - "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", - "Condition not met at step 2437. No data to save.\n", - "2437\n", - "model_vars.get('Gini', 0)[-1]=0.6678\n", - "Condition not met at step 2438. No data to save.\n", - "2438\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", - "Condition not met at step 2439. No data to save.\n", - "2439\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", - "Condition not met at step 2440. No data to save.\n", - "2440\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 2441. No data to save.\n", - "2441\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 2442. No data to save.\n", - "2442\n", - "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", - "Condition not met at step 2443. No data to save.\n", - "2443\n", - "model_vars.get('Gini', 0)[-1]=0.64\n", - "Condition not met at step 2444. No data to save.\n", - "2444\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", - "Condition not met at step 2445. No data to save.\n", - "2445\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", - "Condition not met at step 2446. No data to save.\n", - "2446\n", - "model_vars.get('Gini', 0)[-1]=0.6638\n", - "Condition not met at step 2447. No data to save.\n", - "2447\n", - "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", - "Condition not met at step 2448. No data to save.\n", - "2448\n", - "model_vars.get('Gini', 0)[-1]=0.627\n", - "Condition not met at step 2449. No data to save.\n", - "2449\n", - "model_vars.get('Gini', 0)[-1]=0.619\n", - "Condition not met at step 2450. No data to save.\n", - "2450\n", - "model_vars.get('Gini', 0)[-1]=0.625\n", - "Condition not met at step 2451. No data to save.\n", - "2451\n", - "model_vars.get('Gini', 0)[-1]=0.6268\n", - "Condition not met at step 2452. No data to save.\n", - "2452\n", - "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", - "Condition not met at step 2453. No data to save.\n", - "2453\n", - "model_vars.get('Gini', 0)[-1]=0.623\n", - "Condition not met at step 2454. No data to save.\n", - "2454\n", - "model_vars.get('Gini', 0)[-1]=0.6078\n", - "Condition not met at step 2455. No data to save.\n", - "2455\n", - "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", - "Condition not met at step 2456. No data to save.\n", - "2456\n", - "model_vars.get('Gini', 0)[-1]=0.6138\n", - "Condition not met at step 2457. No data to save.\n", - "2457\n", - "model_vars.get('Gini', 0)[-1]=0.5862\n", - "Condition not met at step 2458. No data to save.\n", - "2458\n", - "model_vars.get('Gini', 0)[-1]=0.5738000000000001\n", - "Condition not met at step 2459. No data to save.\n", - "2459\n", - "model_vars.get('Gini', 0)[-1]=0.5794\n", - "Condition not met at step 2460. No data to save.\n", - "2460\n", - "model_vars.get('Gini', 0)[-1]=0.5984\n", - "Condition not met at step 2461. No data to save.\n", - "2461\n", - "model_vars.get('Gini', 0)[-1]=0.5884\n", - "Condition not met at step 2462. No data to save.\n", - "2462\n", - "model_vars.get('Gini', 0)[-1]=0.5574\n", - "Condition not met at step 2463. No data to save.\n", - "2463\n", - "model_vars.get('Gini', 0)[-1]=0.5602\n", - "Condition not met at step 2464. No data to save.\n", - "2464\n", - "model_vars.get('Gini', 0)[-1]=0.565\n", - "Condition not met at step 2465. No data to save.\n", - "2465\n", - "model_vars.get('Gini', 0)[-1]=0.5922000000000001\n", - "Condition not met at step 2466. No data to save.\n", - "2466\n", - "model_vars.get('Gini', 0)[-1]=0.6106\n", - "Condition not met at step 2467. No data to save.\n", - "2467\n", - "model_vars.get('Gini', 0)[-1]=0.627\n", - "Condition not met at step 2468. No data to save.\n", - "2468\n", - "model_vars.get('Gini', 0)[-1]=0.6348\n", - "Condition not met at step 2469. No data to save.\n", - "2469\n", - "model_vars.get('Gini', 0)[-1]=0.6032\n", - "Condition not met at step 2470. No data to save.\n", - "2470\n", - "model_vars.get('Gini', 0)[-1]=0.5920000000000001\n", - "Condition not met at step 2471. No data to save.\n", - "2471\n", - "model_vars.get('Gini', 0)[-1]=0.5682\n", - "Condition not met at step 2472. No data to save.\n", - "2472\n", - "model_vars.get('Gini', 0)[-1]=0.5996\n", - "Condition not met at step 2473. No data to save.\n", - "2473\n", - "model_vars.get('Gini', 0)[-1]=0.6058\n", - "Condition not met at step 2474. No data to save.\n", - "2474\n", - "model_vars.get('Gini', 0)[-1]=0.5972\n", - "Condition not met at step 2475. No data to save.\n", - "2475\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 2476. No data to save.\n", - "2476\n", - "model_vars.get('Gini', 0)[-1]=0.6298\n", - "Condition not met at step 2477. No data to save.\n", - "2477\n", - "model_vars.get('Gini', 0)[-1]=0.6246\n", - "Condition not met at step 2478. No data to save.\n", - "2478\n", - "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", - "Condition not met at step 2479. No data to save.\n", - "2479\n", - "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", - "Condition not met at step 2480. No data to save.\n", - "2480\n", - "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", - "Condition not met at step 2481. No data to save.\n", - "2481\n", - "model_vars.get('Gini', 0)[-1]=0.6754\n", - "Condition not met at step 2482. No data to save.\n", - "2482\n", - "model_vars.get('Gini', 0)[-1]=0.6534\n", - "Condition not met at step 2483. No data to save.\n", - "2483\n", - "model_vars.get('Gini', 0)[-1]=0.6744\n", - "Condition not met at step 2484. No data to save.\n", - "2484\n", - "model_vars.get('Gini', 0)[-1]=0.661\n", - "Condition not met at step 2485. No data to save.\n", - "2485\n", - "model_vars.get('Gini', 0)[-1]=0.6282000000000001\n", - "Condition not met at step 2486. No data to save.\n", - "2486\n", - "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", - "Condition not met at step 2487. No data to save.\n", - "2487\n", - "model_vars.get('Gini', 0)[-1]=0.6408\n", - "Condition not met at step 2488. No data to save.\n", - "2488\n", - "model_vars.get('Gini', 0)[-1]=0.6166\n", - "Condition not met at step 2489. No data to save.\n", - "2489\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", - "Condition not met at step 2490. No data to save.\n", - "2490\n", - "model_vars.get('Gini', 0)[-1]=0.617\n", - "Condition not met at step 2491. No data to save.\n", - "2491\n", - "model_vars.get('Gini', 0)[-1]=0.6194\n", - "Condition not met at step 2492. No data to save.\n", - "2492\n", - "model_vars.get('Gini', 0)[-1]=0.6024\n", - "Condition not met at step 2493. No data to save.\n", - "2493\n", - "model_vars.get('Gini', 0)[-1]=0.606\n", - "Condition not met at step 2494. No data to save.\n", - "2494\n", - "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", - "Condition not met at step 2495. No data to save.\n", - "2495\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 2496. No data to save.\n", - "2496\n", - "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", - "Condition not met at step 2497. No data to save.\n", - "2497\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 2498. No data to save.\n", - "2498\n", - "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", - "Condition not met at step 2499. No data to save.\n", - "2499\n", - "CALLED\n", - "self.model._steps=2500\n", - " TEST self.model._steps=2500\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "2400 0.6744\n", - "2401 0.6704\n", - "2402 0.6748\n", - "2403 0.6946\n", - "2404 0.6826\n", - "... ...\n", - "2495 0.6406\n", - "2496 0.6262\n", - "2497 0.6274\n", - "2498 0.6262\n", - "2499 0.6760\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_025.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_025.parquet'\n", - "Saving model to test_path/model_data_025.parquet\n", - "Saving agent to test_path/agent_data_025.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", - "Condition not met at step 2500. No data to save.\n", - "2500\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 2501. No data to save.\n", - "2501\n", - "model_vars.get('Gini', 0)[-1]=0.657\n", - "Condition not met at step 2502. No data to save.\n", - "2502\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 2503. No data to save.\n", - "2503\n", - "model_vars.get('Gini', 0)[-1]=0.653\n", - "Condition not met at step 2504. No data to save.\n", - "2504\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 2505. No data to save.\n", - "2505\n", - "model_vars.get('Gini', 0)[-1]=0.6554\n", - "Condition not met at step 2506. No data to save.\n", - "2506\n", - "model_vars.get('Gini', 0)[-1]=0.6358\n", - "Condition not met at step 2507. No data to save.\n", - "2507\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", - "Condition not met at step 2508. No data to save.\n", - "2508\n", - "model_vars.get('Gini', 0)[-1]=0.6946\n", - "Condition not met at step 2509. No data to save.\n", - "2509\n", - "model_vars.get('Gini', 0)[-1]=0.6736\n", - "Condition not met at step 2510. No data to save.\n", - "2510\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 2511. No data to save.\n", - "2511\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 2512. No data to save.\n", - "2512\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 2513. No data to save.\n", - "2513\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", - "Condition not met at step 2514. No data to save.\n", - "2514\n", - "model_vars.get('Gini', 0)[-1]=0.6306\n", - "Condition not met at step 2515. No data to save.\n", - "2515\n", - "model_vars.get('Gini', 0)[-1]=0.6462\n", - "Condition not met at step 2516. No data to save.\n", - "2516\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", - "Condition not met at step 2517. No data to save.\n", - "2517\n", - "model_vars.get('Gini', 0)[-1]=0.6858\n", - "Condition not met at step 2518. No data to save.\n", - "2518\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", - "Condition not met at step 2519. No data to save.\n", - "2519\n", - "model_vars.get('Gini', 0)[-1]=0.6702\n", - "Condition not met at step 2520. No data to save.\n", - "2520\n", - "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", - "Condition not met at step 2521. No data to save.\n", - "2521\n", - "model_vars.get('Gini', 0)[-1]=0.671\n", - "Condition not met at step 2522. No data to save.\n", - "2522\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", - "Condition not met at step 2523. No data to save.\n", - "2523\n", - "model_vars.get('Gini', 0)[-1]=0.6692\n", - "Condition not met at step 2524. No data to save.\n", - "2524\n", - "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", - "Condition not met at step 2525. No data to save.\n", - "2525\n", - "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", - "Condition not met at step 2526. No data to save.\n", - "2526\n", - "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", - "Condition not met at step 2527. No data to save.\n", - "2527\n", - "model_vars.get('Gini', 0)[-1]=0.612\n", - "Condition not met at step 2528. No data to save.\n", - "2528\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 2529. No data to save.\n", - "2529\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 2530. No data to save.\n", - "2530\n", - "model_vars.get('Gini', 0)[-1]=0.6474\n", - "Condition not met at step 2531. No data to save.\n", - "2531\n", - "model_vars.get('Gini', 0)[-1]=0.667\n", - "Condition not met at step 2532. No data to save.\n", - "2532\n", - "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", - "Condition not met at step 2533. No data to save.\n", - "2533\n", - "model_vars.get('Gini', 0)[-1]=0.6654\n", - "Condition not met at step 2534. No data to save.\n", - "2534\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", - "Condition not met at step 2535. No data to save.\n", - "2535\n", - "model_vars.get('Gini', 0)[-1]=0.6516\n", - "Condition not met at step 2536. No data to save.\n", - "2536\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", - "Condition not met at step 2537. No data to save.\n", - "2537\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", - "Condition not met at step 2538. No data to save.\n", - "2538\n", - "model_vars.get('Gini', 0)[-1]=0.6722\n", - "Condition not met at step 2539. No data to save.\n", - "2539\n", - "model_vars.get('Gini', 0)[-1]=0.6852\n", - "Condition not met at step 2540. No data to save.\n", - "2540\n", - "model_vars.get('Gini', 0)[-1]=0.6898\n", - "Condition not met at step 2541. No data to save.\n", - "2541\n", - "model_vars.get('Gini', 0)[-1]=0.7252000000000001\n", - "Condition met. Appended special results for step 2542 to test_path/special_results.parquet\n", - "2542\n", - "model_vars.get('Gini', 0)[-1]=0.7106\n", - "Condition met. Appended special results for step 2543 to test_path/special_results.parquet\n", - "2543\n", - "model_vars.get('Gini', 0)[-1]=0.6898\n", - "Condition not met at step 2544. No data to save.\n", - "2544\n", - "model_vars.get('Gini', 0)[-1]=0.687\n", - "Condition not met at step 2545. No data to save.\n", - "2545\n", - "model_vars.get('Gini', 0)[-1]=0.6872\n", - "Condition not met at step 2546. No data to save.\n", - "2546\n", - "model_vars.get('Gini', 0)[-1]=0.6656\n", - "Condition not met at step 2547. No data to save.\n", - "2547\n", - "model_vars.get('Gini', 0)[-1]=0.6462\n", - "Condition not met at step 2548. No data to save.\n", - "2548\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 2549. No data to save.\n", - "2549\n", - "model_vars.get('Gini', 0)[-1]=0.6437999999999999\n", - "Condition not met at step 2550. No data to save.\n", - "2550\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 2551. No data to save.\n", - "2551\n", - "model_vars.get('Gini', 0)[-1]=0.6674\n", - "Condition not met at step 2552. No data to save.\n", - "2552\n", - "model_vars.get('Gini', 0)[-1]=0.6868000000000001\n", - "Condition not met at step 2553. No data to save.\n", - "2553\n", - "model_vars.get('Gini', 0)[-1]=0.7188\n", - "Condition met. Appended special results for step 2554 to test_path/special_results.parquet\n", - "2554\n", - "model_vars.get('Gini', 0)[-1]=0.6972\n", - "Condition not met at step 2555. No data to save.\n", - "2555\n", - "model_vars.get('Gini', 0)[-1]=0.6814\n", - "Condition not met at step 2556. No data to save.\n", - "2556\n", - "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", - "Condition not met at step 2557. No data to save.\n", - "2557\n", - "model_vars.get('Gini', 0)[-1]=0.6834\n", - "Condition not met at step 2558. No data to save.\n", - "2558\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 2559. No data to save.\n", - "2559\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 2560. No data to save.\n", - "2560\n", - "model_vars.get('Gini', 0)[-1]=0.664\n", - "Condition not met at step 2561. No data to save.\n", - "2561\n", - "model_vars.get('Gini', 0)[-1]=0.69\n", - "Condition not met at step 2562. No data to save.\n", - "2562\n", - "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", - "Condition not met at step 2563. No data to save.\n", - "2563\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 2564. No data to save.\n", - "2564\n", - "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", - "Condition not met at step 2565. No data to save.\n", - "2565\n", - "model_vars.get('Gini', 0)[-1]=0.6662\n", - "Condition not met at step 2566. No data to save.\n", - "2566\n", - "model_vars.get('Gini', 0)[-1]=0.6804\n", - "Condition not met at step 2567. No data to save.\n", - "2567\n", - "model_vars.get('Gini', 0)[-1]=0.6778\n", - "Condition not met at step 2568. No data to save.\n", - "2568\n", - "model_vars.get('Gini', 0)[-1]=0.6852\n", - "Condition not met at step 2569. No data to save.\n", - "2569\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", - "Condition not met at step 2570. No data to save.\n", - "2570\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", - "Condition not met at step 2571. No data to save.\n", - "2571\n", - "model_vars.get('Gini', 0)[-1]=0.6764\n", - "Condition not met at step 2572. No data to save.\n", - "2572\n", - "model_vars.get('Gini', 0)[-1]=0.669\n", - "Condition not met at step 2573. No data to save.\n", - "2573\n", - "model_vars.get('Gini', 0)[-1]=0.6634\n", - "Condition not met at step 2574. No data to save.\n", - "2574\n", - "model_vars.get('Gini', 0)[-1]=0.657\n", - "Condition not met at step 2575. No data to save.\n", - "2575\n", - "model_vars.get('Gini', 0)[-1]=0.6684\n", - "Condition not met at step 2576. No data to save.\n", - "2576\n", - "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", - "Condition not met at step 2577. No data to save.\n", - "2577\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", - "Condition not met at step 2578. No data to save.\n", - "2578\n", - "model_vars.get('Gini', 0)[-1]=0.6414\n", - "Condition not met at step 2579. No data to save.\n", - "2579\n", - "model_vars.get('Gini', 0)[-1]=0.6392\n", - "Condition not met at step 2580. No data to save.\n", - "2580\n", - "model_vars.get('Gini', 0)[-1]=0.6268\n", - "Condition not met at step 2581. No data to save.\n", - "2581\n", - "model_vars.get('Gini', 0)[-1]=0.613\n", - "Condition not met at step 2582. No data to save.\n", - "2582\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 2583. No data to save.\n", - "2583\n", - "model_vars.get('Gini', 0)[-1]=0.6462\n", - "Condition not met at step 2584. No data to save.\n", - "2584\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 2585. No data to save.\n", - "2585\n", - "model_vars.get('Gini', 0)[-1]=0.6782\n", - "Condition not met at step 2586. No data to save.\n", - "2586\n", - "model_vars.get('Gini', 0)[-1]=0.6804\n", - "Condition not met at step 2587. No data to save.\n", - "2587\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 2588. No data to save.\n", - "2588\n", - "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", - "Condition not met at step 2589. No data to save.\n", - "2589\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 2590. No data to save.\n", - "2590\n", - "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", - "Condition not met at step 2591. No data to save.\n", - "2591\n", - "model_vars.get('Gini', 0)[-1]=0.667\n", - "Condition not met at step 2592. No data to save.\n", - "2592\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", - "Condition not met at step 2593. No data to save.\n", - "2593\n", - "model_vars.get('Gini', 0)[-1]=0.6222000000000001\n", - "Condition not met at step 2594. No data to save.\n", - "2594\n", - "model_vars.get('Gini', 0)[-1]=0.6374\n", - "Condition not met at step 2595. No data to save.\n", - "2595\n", - "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", - "Condition not met at step 2596. No data to save.\n", - "2596\n", - "model_vars.get('Gini', 0)[-1]=0.7074\n", - "Condition met. Appended special results for step 2597 to test_path/special_results.parquet\n", - "2597\n", - "model_vars.get('Gini', 0)[-1]=0.6884\n", - "Condition not met at step 2598. No data to save.\n", - "2598\n", - "model_vars.get('Gini', 0)[-1]=0.6714\n", - "Condition not met at step 2599. No data to save.\n", - "2599\n", - "CALLED\n", - "self.model._steps=2600\n", - " TEST self.model._steps=2600\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "2500 0.6766\n", - "2501 0.6570\n", - "2502 0.6582\n", - "2503 0.6530\n", - "2504 0.6582\n", - "... ...\n", - "2595 0.6860\n", - "2596 0.7074\n", - "2597 0.6884\n", - "2598 0.6714\n", - "2599 0.6552\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_026.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_026.parquet'\n", - "Saving model to test_path/model_data_026.parquet\n", - "Saving agent to test_path/agent_data_026.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6552\n", - "Condition not met at step 2600. No data to save.\n", - "2600\n", - "model_vars.get('Gini', 0)[-1]=0.6246\n", - "Condition not met at step 2601. No data to save.\n", - "2601\n", - "model_vars.get('Gini', 0)[-1]=0.6338\n", - "Condition not met at step 2602. No data to save.\n", - "2602\n", - "model_vars.get('Gini', 0)[-1]=0.605\n", - "Condition not met at step 2603. No data to save.\n", - "2603\n", - "model_vars.get('Gini', 0)[-1]=0.6116\n", - "Condition not met at step 2604. No data to save.\n", - "2604\n", - "model_vars.get('Gini', 0)[-1]=0.6238\n", - "Condition not met at step 2605. No data to save.\n", - "2605\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", - "Condition not met at step 2606. No data to save.\n", - "2606\n", - "model_vars.get('Gini', 0)[-1]=0.629\n", - "Condition not met at step 2607. No data to save.\n", - "2607\n", - "model_vars.get('Gini', 0)[-1]=0.6058\n", - "Condition not met at step 2608. No data to save.\n", - "2608\n", - "model_vars.get('Gini', 0)[-1]=0.6258\n", - "Condition not met at step 2609. No data to save.\n", - "2609\n", - "model_vars.get('Gini', 0)[-1]=0.5802\n", - "Condition not met at step 2610. No data to save.\n", - "2610\n", - "model_vars.get('Gini', 0)[-1]=0.6072\n", - "Condition not met at step 2611. No data to save.\n", - "2611\n", - "model_vars.get('Gini', 0)[-1]=0.605\n", - "Condition not met at step 2612. No data to save.\n", - "2612\n", - "model_vars.get('Gini', 0)[-1]=0.6392\n", - "Condition not met at step 2613. No data to save.\n", - "2613\n", - "model_vars.get('Gini', 0)[-1]=0.6414\n", - "Condition not met at step 2614. No data to save.\n", - "2614\n", - "model_vars.get('Gini', 0)[-1]=0.6338\n", - "Condition not met at step 2615. No data to save.\n", - "2615\n", - "model_vars.get('Gini', 0)[-1]=0.5788\n", - "Condition not met at step 2616. No data to save.\n", - "2616\n", - "model_vars.get('Gini', 0)[-1]=0.623\n", - "Condition not met at step 2617. No data to save.\n", - "2617\n", - "model_vars.get('Gini', 0)[-1]=0.5900000000000001\n", - "Condition not met at step 2618. No data to save.\n", - "2618\n", - "model_vars.get('Gini', 0)[-1]=0.611\n", - "Condition not met at step 2619. No data to save.\n", - "2619\n", - "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", - "Condition not met at step 2620. No data to save.\n", - "2620\n", - "model_vars.get('Gini', 0)[-1]=0.6226\n", - "Condition not met at step 2621. No data to save.\n", - "2621\n", - "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", - "Condition not met at step 2622. No data to save.\n", - "2622\n", - "model_vars.get('Gini', 0)[-1]=0.623\n", - "Condition not met at step 2623. No data to save.\n", - "2623\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 2624. No data to save.\n", - "2624\n", - "model_vars.get('Gini', 0)[-1]=0.6736\n", - "Condition not met at step 2625. No data to save.\n", - "2625\n", - "model_vars.get('Gini', 0)[-1]=0.6924\n", - "Condition not met at step 2626. No data to save.\n", - "2626\n", - "model_vars.get('Gini', 0)[-1]=0.664\n", - "Condition not met at step 2627. No data to save.\n", - "2627\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 2628. No data to save.\n", - "2628\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 2629. No data to save.\n", - "2629\n", - "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", - "Condition not met at step 2630. No data to save.\n", - "2630\n", - "model_vars.get('Gini', 0)[-1]=0.6572\n", - "Condition not met at step 2631. No data to save.\n", - "2631\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 2632. No data to save.\n", - "2632\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", - "Condition not met at step 2633. No data to save.\n", - "2633\n", - "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", - "Condition not met at step 2634. No data to save.\n", - "2634\n", - "model_vars.get('Gini', 0)[-1]=0.631\n", - "Condition not met at step 2635. No data to save.\n", - "2635\n", - "model_vars.get('Gini', 0)[-1]=0.6576\n", - "Condition not met at step 2636. No data to save.\n", - "2636\n", - "model_vars.get('Gini', 0)[-1]=0.6456\n", - "Condition not met at step 2637. No data to save.\n", - "2637\n", - "model_vars.get('Gini', 0)[-1]=0.6456\n", - "Condition not met at step 2638. No data to save.\n", - "2638\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 2639. No data to save.\n", - "2639\n", - "model_vars.get('Gini', 0)[-1]=0.6422\n", - "Condition not met at step 2640. No data to save.\n", - "2640\n", - "model_vars.get('Gini', 0)[-1]=0.613\n", - "Condition not met at step 2641. No data to save.\n", - "2641\n", - "model_vars.get('Gini', 0)[-1]=0.6246\n", - "Condition not met at step 2642. No data to save.\n", - "2642\n", - "model_vars.get('Gini', 0)[-1]=0.6238\n", - "Condition not met at step 2643. No data to save.\n", - "2643\n", - "model_vars.get('Gini', 0)[-1]=0.6093999999999999\n", - "Condition not met at step 2644. No data to save.\n", - "2644\n", - "model_vars.get('Gini', 0)[-1]=0.6306\n", - "Condition not met at step 2645. No data to save.\n", - "2645\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 2646. No data to save.\n", - "2646\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 2647. No data to save.\n", - "2647\n", - "model_vars.get('Gini', 0)[-1]=0.6398\n", - "Condition not met at step 2648. No data to save.\n", - "2648\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", - "Condition not met at step 2649. No data to save.\n", - "2649\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", - "Condition not met at step 2650. No data to save.\n", - "2650\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 2651. No data to save.\n", - "2651\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", - "Condition not met at step 2652. No data to save.\n", - "2652\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", - "Condition not met at step 2653. No data to save.\n", - "2653\n", - "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", - "Condition not met at step 2654. No data to save.\n", - "2654\n", - "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", - "Condition not met at step 2655. No data to save.\n", - "2655\n", - "model_vars.get('Gini', 0)[-1]=0.6824\n", - "Condition not met at step 2656. No data to save.\n", - "2656\n", - "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", - "Condition not met at step 2657. No data to save.\n", - "2657\n", - "model_vars.get('Gini', 0)[-1]=0.6824\n", - "Condition not met at step 2658. No data to save.\n", - "2658\n", - "model_vars.get('Gini', 0)[-1]=0.6694\n", - "Condition not met at step 2659. No data to save.\n", - "2659\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", - "Condition not met at step 2660. No data to save.\n", - "2660\n", - "model_vars.get('Gini', 0)[-1]=0.6194\n", - "Condition not met at step 2661. No data to save.\n", - "2661\n", - "model_vars.get('Gini', 0)[-1]=0.63\n", - "Condition not met at step 2662. No data to save.\n", - "2662\n", - "model_vars.get('Gini', 0)[-1]=0.6188\n", - "Condition not met at step 2663. No data to save.\n", - "2663\n", - "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", - "Condition not met at step 2664. No data to save.\n", - "2664\n", - "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", - "Condition not met at step 2665. No data to save.\n", - "2665\n", - "model_vars.get('Gini', 0)[-1]=0.5933999999999999\n", - "Condition not met at step 2666. No data to save.\n", - "2666\n", - "model_vars.get('Gini', 0)[-1]=0.611\n", - "Condition not met at step 2667. No data to save.\n", - "2667\n", - "model_vars.get('Gini', 0)[-1]=0.593\n", - "Condition not met at step 2668. No data to save.\n", - "2668\n", - "model_vars.get('Gini', 0)[-1]=0.622\n", - "Condition not met at step 2669. No data to save.\n", - "2669\n", - "model_vars.get('Gini', 0)[-1]=0.624\n", - "Condition not met at step 2670. No data to save.\n", - "2670\n", - "model_vars.get('Gini', 0)[-1]=0.629\n", - "Condition not met at step 2671. No data to save.\n", - "2671\n", - "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", - "Condition not met at step 2672. No data to save.\n", - "2672\n", - "model_vars.get('Gini', 0)[-1]=0.6442\n", - "Condition not met at step 2673. No data to save.\n", - "2673\n", - "model_vars.get('Gini', 0)[-1]=0.6138\n", - "Condition not met at step 2674. No data to save.\n", - "2674\n", - "model_vars.get('Gini', 0)[-1]=0.6128\n", - "Condition not met at step 2675. No data to save.\n", - "2675\n", - "model_vars.get('Gini', 0)[-1]=0.6472\n", - "Condition not met at step 2676. No data to save.\n", - "2676\n", - "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", - "Condition not met at step 2677. No data to save.\n", - "2677\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", - "Condition not met at step 2678. No data to save.\n", - "2678\n", - "model_vars.get('Gini', 0)[-1]=0.6172\n", - "Condition not met at step 2679. No data to save.\n", - "2679\n", - "model_vars.get('Gini', 0)[-1]=0.6232\n", - "Condition not met at step 2680. No data to save.\n", - "2680\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", - "Condition not met at step 2681. No data to save.\n", - "2681\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 2682. No data to save.\n", - "2682\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", - "Condition not met at step 2683. No data to save.\n", - "2683\n", - "model_vars.get('Gini', 0)[-1]=0.666\n", - "Condition not met at step 2684. No data to save.\n", - "2684\n", - "model_vars.get('Gini', 0)[-1]=0.6576\n", - "Condition not met at step 2685. No data to save.\n", - "2685\n", - "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", - "Condition not met at step 2686. No data to save.\n", - "2686\n", - "model_vars.get('Gini', 0)[-1]=0.651\n", - "Condition not met at step 2687. No data to save.\n", - "2687\n", - "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", - "Condition not met at step 2688. No data to save.\n", - "2688\n", - "model_vars.get('Gini', 0)[-1]=0.6272\n", - "Condition not met at step 2689. No data to save.\n", - "2689\n", - "model_vars.get('Gini', 0)[-1]=0.6318\n", - "Condition not met at step 2690. No data to save.\n", - "2690\n", - "model_vars.get('Gini', 0)[-1]=0.6318\n", - "Condition not met at step 2691. No data to save.\n", - "2691\n", - "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", - "Condition not met at step 2692. No data to save.\n", - "2692\n", - "model_vars.get('Gini', 0)[-1]=0.6298\n", - "Condition not met at step 2693. No data to save.\n", - "2693\n", - "model_vars.get('Gini', 0)[-1]=0.603\n", - "Condition not met at step 2694. No data to save.\n", - "2694\n", - "model_vars.get('Gini', 0)[-1]=0.5956\n", - "Condition not met at step 2695. No data to save.\n", - "2695\n", - "model_vars.get('Gini', 0)[-1]=0.5864\n", - "Condition not met at step 2696. No data to save.\n", - "2696\n", - "model_vars.get('Gini', 0)[-1]=0.6312\n", - "Condition not met at step 2697. No data to save.\n", - "2697\n", - "model_vars.get('Gini', 0)[-1]=0.6082000000000001\n", - "Condition not met at step 2698. No data to save.\n", - "2698\n", - "model_vars.get('Gini', 0)[-1]=0.5956\n", - "Condition not met at step 2699. No data to save.\n", - "2699\n", - "CALLED\n", - "self.model._steps=2700\n", - " TEST self.model._steps=2700\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "2600 0.6246\n", - "2601 0.6338\n", - "2602 0.6050\n", - "2603 0.6116\n", - "2604 0.6238\n", - "... ...\n", - "2695 0.5864\n", - "2696 0.6312\n", - "2697 0.6082\n", - "2698 0.5956\n", - "2699 0.6114\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_027.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_027.parquet'\n", - "Saving model to test_path/model_data_027.parquet\n", - "Saving agent to test_path/agent_data_027.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", - "Condition not met at step 2700. No data to save.\n", - "2700\n", - "model_vars.get('Gini', 0)[-1]=0.6156\n", - "Condition not met at step 2701. No data to save.\n", - "2701\n", - "model_vars.get('Gini', 0)[-1]=0.608\n", - "Condition not met at step 2702. No data to save.\n", - "2702\n", - "model_vars.get('Gini', 0)[-1]=0.6272\n", - "Condition not met at step 2703. No data to save.\n", - "2703\n", - "model_vars.get('Gini', 0)[-1]=0.6298\n", - "Condition not met at step 2704. No data to save.\n", - "2704\n", - "model_vars.get('Gini', 0)[-1]=0.6332\n", - "Condition not met at step 2705. No data to save.\n", - "2705\n", - "model_vars.get('Gini', 0)[-1]=0.6108\n", - "Condition not met at step 2706. No data to save.\n", - "2706\n", - "model_vars.get('Gini', 0)[-1]=0.6298\n", - "Condition not met at step 2707. No data to save.\n", - "2707\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", - "Condition not met at step 2708. No data to save.\n", - "2708\n", - "model_vars.get('Gini', 0)[-1]=0.62\n", - "Condition not met at step 2709. No data to save.\n", - "2709\n", - "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", - "Condition not met at step 2710. No data to save.\n", - "2710\n", - "model_vars.get('Gini', 0)[-1]=0.6402\n", - "Condition not met at step 2711. No data to save.\n", - "2711\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", - "Condition not met at step 2712. No data to save.\n", - "2712\n", - "model_vars.get('Gini', 0)[-1]=0.6724\n", - "Condition not met at step 2713. No data to save.\n", - "2713\n", - "model_vars.get('Gini', 0)[-1]=0.6776\n", - "Condition not met at step 2714. No data to save.\n", - "2714\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", - "Condition not met at step 2715. No data to save.\n", - "2715\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", - "Condition not met at step 2716. No data to save.\n", - "2716\n", - "model_vars.get('Gini', 0)[-1]=0.6594\n", - "Condition not met at step 2717. No data to save.\n", - "2717\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 2718. No data to save.\n", - "2718\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 2719. No data to save.\n", - "2719\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", - "Condition not met at step 2720. No data to save.\n", - "2720\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", - "Condition not met at step 2721. No data to save.\n", - "2721\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 2722. No data to save.\n", - "2722\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", - "Condition not met at step 2723. No data to save.\n", - "2723\n", - "model_vars.get('Gini', 0)[-1]=0.6624\n", - "Condition not met at step 2724. No data to save.\n", - "2724\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 2725. No data to save.\n", - "2725\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 2726. No data to save.\n", - "2726\n", - "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", - "Condition not met at step 2727. No data to save.\n", - "2727\n", - "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", - "Condition not met at step 2728. No data to save.\n", - "2728\n", - "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", - "Condition not met at step 2729. No data to save.\n", - "2729\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 2730. No data to save.\n", - "2730\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 2731. No data to save.\n", - "2731\n", - "model_vars.get('Gini', 0)[-1]=0.6514\n", - "Condition not met at step 2732. No data to save.\n", - "2732\n", - "model_vars.get('Gini', 0)[-1]=0.6286\n", - "Condition not met at step 2733. No data to save.\n", - "2733\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 2734. No data to save.\n", - "2734\n", - "model_vars.get('Gini', 0)[-1]=0.6488\n", - "Condition not met at step 2735. No data to save.\n", - "2735\n", - "model_vars.get('Gini', 0)[-1]=0.6268\n", - "Condition not met at step 2736. No data to save.\n", - "2736\n", - "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", - "Condition not met at step 2737. No data to save.\n", - "2737\n", - "model_vars.get('Gini', 0)[-1]=0.6778\n", - "Condition not met at step 2738. No data to save.\n", - "2738\n", - "model_vars.get('Gini', 0)[-1]=0.6856\n", - "Condition not met at step 2739. No data to save.\n", - "2739\n", - "model_vars.get('Gini', 0)[-1]=0.694\n", - "Condition not met at step 2740. No data to save.\n", - "2740\n", - "model_vars.get('Gini', 0)[-1]=0.7\n", - "Condition not met at step 2741. No data to save.\n", - "2741\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", - "Condition not met at step 2742. No data to save.\n", - "2742\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 2743. No data to save.\n", - "2743\n", - "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", - "Condition not met at step 2744. No data to save.\n", - "2744\n", - "model_vars.get('Gini', 0)[-1]=0.6994\n", - "Condition not met at step 2745. No data to save.\n", - "2745\n", - "model_vars.get('Gini', 0)[-1]=0.6812\n", - "Condition not met at step 2746. No data to save.\n", - "2746\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 2747. No data to save.\n", - "2747\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", - "Condition not met at step 2748. No data to save.\n", - "2748\n", - "model_vars.get('Gini', 0)[-1]=0.6312\n", - "Condition not met at step 2749. No data to save.\n", - "2749\n", - "model_vars.get('Gini', 0)[-1]=0.6214\n", - "Condition not met at step 2750. No data to save.\n", - "2750\n", - "model_vars.get('Gini', 0)[-1]=0.66\n", - "Condition not met at step 2751. No data to save.\n", - "2751\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", - "Condition not met at step 2752. No data to save.\n", - "2752\n", - "model_vars.get('Gini', 0)[-1]=0.6556\n", - "Condition not met at step 2753. No data to save.\n", - "2753\n", - "model_vars.get('Gini', 0)[-1]=0.667\n", - "Condition not met at step 2754. No data to save.\n", - "2754\n", - "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", - "Condition not met at step 2755. No data to save.\n", - "2755\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 2756. No data to save.\n", - "2756\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 2757. No data to save.\n", - "2757\n", - "model_vars.get('Gini', 0)[-1]=0.6462\n", - "Condition not met at step 2758. No data to save.\n", - "2758\n", - "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", - "Condition not met at step 2759. No data to save.\n", - "2759\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 2760. No data to save.\n", - "2760\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 2761. No data to save.\n", - "2761\n", - "model_vars.get('Gini', 0)[-1]=0.6226\n", - "Condition not met at step 2762. No data to save.\n", - "2762\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", - "Condition not met at step 2763. No data to save.\n", - "2763\n", - "model_vars.get('Gini', 0)[-1]=0.6232\n", - "Condition not met at step 2764. No data to save.\n", - "2764\n", - "model_vars.get('Gini', 0)[-1]=0.6154\n", - "Condition not met at step 2765. No data to save.\n", - "2765\n", - "model_vars.get('Gini', 0)[-1]=0.5968\n", - "Condition not met at step 2766. No data to save.\n", - "2766\n", - "model_vars.get('Gini', 0)[-1]=0.6044\n", - "Condition not met at step 2767. No data to save.\n", - "2767\n", - "model_vars.get('Gini', 0)[-1]=0.6128\n", - "Condition not met at step 2768. No data to save.\n", - "2768\n", - "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", - "Condition not met at step 2769. No data to save.\n", - "2769\n", - "model_vars.get('Gini', 0)[-1]=0.6282000000000001\n", - "Condition not met at step 2770. No data to save.\n", - "2770\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 2771. No data to save.\n", - "2771\n", - "model_vars.get('Gini', 0)[-1]=0.604\n", - "Condition not met at step 2772. No data to save.\n", - "2772\n", - "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", - "Condition not met at step 2773. No data to save.\n", - "2773\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", - "Condition not met at step 2774. No data to save.\n", - "2774\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", - "Condition not met at step 2775. No data to save.\n", - "2775\n", - "model_vars.get('Gini', 0)[-1]=0.6308\n", - "Condition not met at step 2776. No data to save.\n", - "2776\n", - "model_vars.get('Gini', 0)[-1]=0.6306\n", - "Condition not met at step 2777. No data to save.\n", - "2777\n", - "model_vars.get('Gini', 0)[-1]=0.6252\n", - "Condition not met at step 2778. No data to save.\n", - "2778\n", - "model_vars.get('Gini', 0)[-1]=0.6306\n", - "Condition not met at step 2779. No data to save.\n", - "2779\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", - "Condition not met at step 2780. No data to save.\n", - "2780\n", - "model_vars.get('Gini', 0)[-1]=0.66\n", - "Condition not met at step 2781. No data to save.\n", - "2781\n", - "model_vars.get('Gini', 0)[-1]=0.6838\n", - "Condition not met at step 2782. No data to save.\n", - "2782\n", - "model_vars.get('Gini', 0)[-1]=0.6772\n", - "Condition not met at step 2783. No data to save.\n", - "2783\n", - "model_vars.get('Gini', 0)[-1]=0.6932\n", - "Condition not met at step 2784. No data to save.\n", - "2784\n", - "model_vars.get('Gini', 0)[-1]=0.6782\n", - "Condition not met at step 2785. No data to save.\n", - "2785\n", - "model_vars.get('Gini', 0)[-1]=0.6678\n", - "Condition not met at step 2786. No data to save.\n", - "2786\n", - "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", - "Condition not met at step 2787. No data to save.\n", - "2787\n", - "model_vars.get('Gini', 0)[-1]=0.6442\n", - "Condition not met at step 2788. No data to save.\n", - "2788\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 2789. No data to save.\n", - "2789\n", - "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", - "Condition not met at step 2790. No data to save.\n", - "2790\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", - "Condition not met at step 2791. No data to save.\n", - "2791\n", - "model_vars.get('Gini', 0)[-1]=0.6312\n", - "Condition not met at step 2792. No data to save.\n", - "2792\n", - "model_vars.get('Gini', 0)[-1]=0.6215999999999999\n", - "Condition not met at step 2793. No data to save.\n", - "2793\n", - "model_vars.get('Gini', 0)[-1]=0.6228\n", - "Condition not met at step 2794. No data to save.\n", - "2794\n", - "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", - "Condition not met at step 2795. No data to save.\n", - "2795\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 2796. No data to save.\n", - "2796\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 2797. No data to save.\n", - "2797\n", - "model_vars.get('Gini', 0)[-1]=0.6782\n", - "Condition not met at step 2798. No data to save.\n", - "2798\n", - "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", - "Condition not met at step 2799. No data to save.\n", - "2799\n", - "CALLED\n", - "self.model._steps=2800\n", - " TEST self.model._steps=2800\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "2700 0.6156\n", - "2701 0.6080\n", - "2702 0.6272\n", - "2703 0.6298\n", - "2704 0.6332\n", - "... ...\n", - "2795 0.6548\n", - "2796 0.6616\n", - "2797 0.6782\n", - "2798 0.6828\n", - "2799 0.6620\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_028.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_028.parquet'\n", - "Saving model to test_path/model_data_028.parquet\n", - "Saving agent to test_path/agent_data_028.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.662\n", - "Condition not met at step 2800. No data to save.\n", - "2800\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", - "Condition not met at step 2801. No data to save.\n", - "2801\n", - "model_vars.get('Gini', 0)[-1]=0.6636\n", - "Condition not met at step 2802. No data to save.\n", - "2802\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 2803. No data to save.\n", - "2803\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", - "Condition not met at step 2804. No data to save.\n", - "2804\n", - "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", - "Condition not met at step 2805. No data to save.\n", - "2805\n", - "model_vars.get('Gini', 0)[-1]=0.6436\n", - "Condition not met at step 2806. No data to save.\n", - "2806\n", - "model_vars.get('Gini', 0)[-1]=0.6742\n", - "Condition not met at step 2807. No data to save.\n", - "2807\n", - "model_vars.get('Gini', 0)[-1]=0.6322\n", - "Condition not met at step 2808. No data to save.\n", - "2808\n", - "model_vars.get('Gini', 0)[-1]=0.677\n", - "Condition not met at step 2809. No data to save.\n", - "2809\n", - "model_vars.get('Gini', 0)[-1]=0.6676\n", - "Condition not met at step 2810. No data to save.\n", - "2810\n", - "model_vars.get('Gini', 0)[-1]=0.6756\n", - "Condition not met at step 2811. No data to save.\n", - "2811\n", - "model_vars.get('Gini', 0)[-1]=0.6574\n", - "Condition not met at step 2812. No data to save.\n", - "2812\n", - "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", - "Condition not met at step 2813. No data to save.\n", - "2813\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", - "Condition not met at step 2814. No data to save.\n", - "2814\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 2815. No data to save.\n", - "2815\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 2816. No data to save.\n", - "2816\n", - "model_vars.get('Gini', 0)[-1]=0.63\n", - "Condition not met at step 2817. No data to save.\n", - "2817\n", - "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", - "Condition not met at step 2818. No data to save.\n", - "2818\n", - "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", - "Condition not met at step 2819. No data to save.\n", - "2819\n", - "model_vars.get('Gini', 0)[-1]=0.6242000000000001\n", - "Condition not met at step 2820. No data to save.\n", - "2820\n", - "model_vars.get('Gini', 0)[-1]=0.6372\n", - "Condition not met at step 2821. No data to save.\n", - "2821\n", - "model_vars.get('Gini', 0)[-1]=0.6368\n", - "Condition not met at step 2822. No data to save.\n", - "2822\n", - "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", - "Condition not met at step 2823. No data to save.\n", - "2823\n", - "model_vars.get('Gini', 0)[-1]=0.6096\n", - "Condition not met at step 2824. No data to save.\n", - "2824\n", - "model_vars.get('Gini', 0)[-1]=0.6166\n", - "Condition not met at step 2825. No data to save.\n", - "2825\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 2826. No data to save.\n", - "2826\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 2827. No data to save.\n", - "2827\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", - "Condition not met at step 2828. No data to save.\n", - "2828\n", - "model_vars.get('Gini', 0)[-1]=0.6794\n", - "Condition not met at step 2829. No data to save.\n", - "2829\n", - "model_vars.get('Gini', 0)[-1]=0.6756\n", - "Condition not met at step 2830. No data to save.\n", - "2830\n", - "model_vars.get('Gini', 0)[-1]=0.6724\n", - "Condition not met at step 2831. No data to save.\n", - "2831\n", - "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", - "Condition not met at step 2832. No data to save.\n", - "2832\n", - "model_vars.get('Gini', 0)[-1]=0.663\n", - "Condition not met at step 2833. No data to save.\n", - "2833\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 2834. No data to save.\n", - "2834\n", - "model_vars.get('Gini', 0)[-1]=0.7024\n", - "Condition met. Appended special results for step 2835 to test_path/special_results.parquet\n", - "2835\n", - "model_vars.get('Gini', 0)[-1]=0.7196\n", - "Condition met. Appended special results for step 2836 to test_path/special_results.parquet\n", - "2836\n", - "model_vars.get('Gini', 0)[-1]=0.7096\n", - "Condition met. Appended special results for step 2837 to test_path/special_results.parquet\n", - "2837\n", - "model_vars.get('Gini', 0)[-1]=0.6798\n", - "Condition not met at step 2838. No data to save.\n", - "2838\n", - "model_vars.get('Gini', 0)[-1]=0.6764\n", - "Condition not met at step 2839. No data to save.\n", - "2839\n", - "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", - "Condition not met at step 2840. No data to save.\n", - "2840\n", - "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", - "Condition not met at step 2841. No data to save.\n", - "2841\n", - "model_vars.get('Gini', 0)[-1]=0.6836\n", - "Condition not met at step 2842. No data to save.\n", - "2842\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", - "Condition not met at step 2843. No data to save.\n", - "2843\n", - "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", - "Condition not met at step 2844. No data to save.\n", - "2844\n", - "model_vars.get('Gini', 0)[-1]=0.6754\n", - "Condition not met at step 2845. No data to save.\n", - "2845\n", - "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", - "Condition met. Appended special results for step 2846 to test_path/special_results.parquet\n", - "2846\n", - "model_vars.get('Gini', 0)[-1]=0.6986\n", - "Condition not met at step 2847. No data to save.\n", - "2847\n", - "model_vars.get('Gini', 0)[-1]=0.7334\n", - "Condition met. Appended special results for step 2848 to test_path/special_results.parquet\n", - "2848\n", - "model_vars.get('Gini', 0)[-1]=0.7252000000000001\n", - "Condition met. Appended special results for step 2849 to test_path/special_results.parquet\n", - "2849\n", - "model_vars.get('Gini', 0)[-1]=0.7298\n", - "Condition met. Appended special results for step 2850 to test_path/special_results.parquet\n", - "2850\n", - "model_vars.get('Gini', 0)[-1]=0.7306\n", - "Condition met. Appended special results for step 2851 to test_path/special_results.parquet\n", - "2851\n", - "model_vars.get('Gini', 0)[-1]=0.7090000000000001\n", - "Condition met. Appended special results for step 2852 to test_path/special_results.parquet\n", - "2852\n", - "model_vars.get('Gini', 0)[-1]=0.6904\n", - "Condition not met at step 2853. No data to save.\n", - "2853\n", - "model_vars.get('Gini', 0)[-1]=0.7041999999999999\n", - "Condition met. Appended special results for step 2854 to test_path/special_results.parquet\n", - "2854\n", - "model_vars.get('Gini', 0)[-1]=0.696\n", - "Condition not met at step 2855. No data to save.\n", - "2855\n", - "model_vars.get('Gini', 0)[-1]=0.6798\n", - "Condition not met at step 2856. No data to save.\n", - "2856\n", - "model_vars.get('Gini', 0)[-1]=0.63\n", - "Condition not met at step 2857. No data to save.\n", - "2857\n", - "model_vars.get('Gini', 0)[-1]=0.6338\n", - "Condition not met at step 2858. No data to save.\n", - "2858\n", - "model_vars.get('Gini', 0)[-1]=0.6195999999999999\n", - "Condition not met at step 2859. No data to save.\n", - "2859\n", - "model_vars.get('Gini', 0)[-1]=0.6158\n", - "Condition not met at step 2860. No data to save.\n", - "2860\n", - "model_vars.get('Gini', 0)[-1]=0.5882000000000001\n", - "Condition not met at step 2861. No data to save.\n", - "2861\n", - "model_vars.get('Gini', 0)[-1]=0.6242000000000001\n", - "Condition not met at step 2862. No data to save.\n", - "2862\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 2863. No data to save.\n", - "2863\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", - "Condition not met at step 2864. No data to save.\n", - "2864\n", - "model_vars.get('Gini', 0)[-1]=0.6534\n", - "Condition not met at step 2865. No data to save.\n", - "2865\n", - "model_vars.get('Gini', 0)[-1]=0.6454\n", - "Condition not met at step 2866. No data to save.\n", - "2866\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", - "Condition not met at step 2867. No data to save.\n", - "2867\n", - "model_vars.get('Gini', 0)[-1]=0.6348\n", - "Condition not met at step 2868. No data to save.\n", - "2868\n", - "model_vars.get('Gini', 0)[-1]=0.6368\n", - "Condition not met at step 2869. No data to save.\n", - "2869\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 2870. No data to save.\n", - "2870\n", - "model_vars.get('Gini', 0)[-1]=0.6254\n", - "Condition not met at step 2871. No data to save.\n", - "2871\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 2872. No data to save.\n", - "2872\n", - "model_vars.get('Gini', 0)[-1]=0.6636\n", - "Condition not met at step 2873. No data to save.\n", - "2873\n", - "model_vars.get('Gini', 0)[-1]=0.6328\n", - "Condition not met at step 2874. No data to save.\n", - "2874\n", - "model_vars.get('Gini', 0)[-1]=0.6696\n", - "Condition not met at step 2875. No data to save.\n", - "2875\n", - "model_vars.get('Gini', 0)[-1]=0.6692\n", - "Condition not met at step 2876. No data to save.\n", - "2876\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 2877. No data to save.\n", - "2877\n", - "model_vars.get('Gini', 0)[-1]=0.6294\n", - "Condition not met at step 2878. No data to save.\n", - "2878\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 2879. No data to save.\n", - "2879\n", - "model_vars.get('Gini', 0)[-1]=0.6366\n", - "Condition not met at step 2880. No data to save.\n", - "2880\n", - "model_vars.get('Gini', 0)[-1]=0.6428\n", - "Condition not met at step 2881. No data to save.\n", - "2881\n", - "model_vars.get('Gini', 0)[-1]=0.6584\n", - "Condition not met at step 2882. No data to save.\n", - "2882\n", - "model_vars.get('Gini', 0)[-1]=0.654\n", - "Condition not met at step 2883. No data to save.\n", - "2883\n", - "model_vars.get('Gini', 0)[-1]=0.632\n", - "Condition not met at step 2884. No data to save.\n", - "2884\n", - "model_vars.get('Gini', 0)[-1]=0.6376\n", - "Condition not met at step 2885. No data to save.\n", - "2885\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 2886. No data to save.\n", - "2886\n", - "model_vars.get('Gini', 0)[-1]=0.6784\n", - "Condition not met at step 2887. No data to save.\n", - "2887\n", - "model_vars.get('Gini', 0)[-1]=0.6784\n", - "Condition not met at step 2888. No data to save.\n", - "2888\n", - "model_vars.get('Gini', 0)[-1]=0.6634\n", - "Condition not met at step 2889. No data to save.\n", - "2889\n", - "model_vars.get('Gini', 0)[-1]=0.6806\n", - "Condition not met at step 2890. No data to save.\n", - "2890\n", - "model_vars.get('Gini', 0)[-1]=0.7061999999999999\n", - "Condition met. Appended special results for step 2891 to test_path/special_results.parquet\n", - "2891\n", - "model_vars.get('Gini', 0)[-1]=0.7072\n", - "Condition met. Appended special results for step 2892 to test_path/special_results.parquet\n", - "2892\n", - "model_vars.get('Gini', 0)[-1]=0.7030000000000001\n", - "Condition met. Appended special results for step 2893 to test_path/special_results.parquet\n", - "2893\n", - "model_vars.get('Gini', 0)[-1]=0.694\n", - "Condition not met at step 2894. No data to save.\n", - "2894\n", - "model_vars.get('Gini', 0)[-1]=0.6992\n", - "Condition not met at step 2895. No data to save.\n", - "2895\n", - "model_vars.get('Gini', 0)[-1]=0.702\n", - "Condition met. Appended special results for step 2896 to test_path/special_results.parquet\n", - "2896\n", - "model_vars.get('Gini', 0)[-1]=0.706\n", - "Condition met. Appended special results for step 2897 to test_path/special_results.parquet\n", - "2897\n", - "model_vars.get('Gini', 0)[-1]=0.7158\n", - "Condition met. Appended special results for step 2898 to test_path/special_results.parquet\n", - "2898\n", - "model_vars.get('Gini', 0)[-1]=0.7270000000000001\n", - "Condition met. Appended special results for step 2899 to test_path/special_results.parquet\n", - "2899\n", - "CALLED\n", - "self.model._steps=2900\n", - " TEST self.model._steps=2900\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "2800 0.6664\n", - "2801 0.6636\n", - "2802 0.6406\n", - "2803 0.6434\n", - "2804 0.6484\n", - "... ...\n", - "2895 0.7020\n", - "2896 0.7060\n", - "2897 0.7158\n", - "2898 0.7270\n", - "2899 0.7020\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_029.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_029.parquet'\n", - "Saving model to test_path/model_data_029.parquet\n", - "Saving agent to test_path/agent_data_029.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.702\n", - "Condition met. Appended special results for step 2900 to test_path/special_results.parquet\n", - "2900\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", - "Condition not met at step 2901. No data to save.\n", - "2901\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 2902. No data to save.\n", - "2902\n", - "model_vars.get('Gini', 0)[-1]=0.6452\n", - "Condition not met at step 2903. No data to save.\n", - "2903\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 2904. No data to save.\n", - "2904\n", - "model_vars.get('Gini', 0)[-1]=0.6428\n", - "Condition not met at step 2905. No data to save.\n", - "2905\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 2906. No data to save.\n", - "2906\n", - "model_vars.get('Gini', 0)[-1]=0.6476\n", - "Condition not met at step 2907. No data to save.\n", - "2907\n", - "model_vars.get('Gini', 0)[-1]=0.6472\n", - "Condition not met at step 2908. No data to save.\n", - "2908\n", - "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", - "Condition not met at step 2909. No data to save.\n", - "2909\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 2910. No data to save.\n", - "2910\n", - "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", - "Condition not met at step 2911. No data to save.\n", - "2911\n", - "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", - "Condition not met at step 2912. No data to save.\n", - "2912\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 2913. No data to save.\n", - "2913\n", - "model_vars.get('Gini', 0)[-1]=0.6452\n", - "Condition not met at step 2914. No data to save.\n", - "2914\n", - "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", - "Condition not met at step 2915. No data to save.\n", - "2915\n", - "model_vars.get('Gini', 0)[-1]=0.6716\n", - "Condition not met at step 2916. No data to save.\n", - "2916\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 2917. No data to save.\n", - "2917\n", - "model_vars.get('Gini', 0)[-1]=0.6414\n", - "Condition not met at step 2918. No data to save.\n", - "2918\n", - "model_vars.get('Gini', 0)[-1]=0.6128\n", - "Condition not met at step 2919. No data to save.\n", - "2919\n", - "model_vars.get('Gini', 0)[-1]=0.6376\n", - "Condition not met at step 2920. No data to save.\n", - "2920\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 2921. No data to save.\n", - "2921\n", - "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", - "Condition not met at step 2922. No data to save.\n", - "2922\n", - "model_vars.get('Gini', 0)[-1]=0.659\n", - "Condition not met at step 2923. No data to save.\n", - "2923\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 2924. No data to save.\n", - "2924\n", - "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", - "Condition not met at step 2925. No data to save.\n", - "2925\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 2926. No data to save.\n", - "2926\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 2927. No data to save.\n", - "2927\n", - "model_vars.get('Gini', 0)[-1]=0.6516\n", - "Condition not met at step 2928. No data to save.\n", - "2928\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", - "Condition not met at step 2929. No data to save.\n", - "2929\n", - "model_vars.get('Gini', 0)[-1]=0.6492\n", - "Condition not met at step 2930. No data to save.\n", - "2930\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", - "Condition not met at step 2931. No data to save.\n", - "2931\n", - "model_vars.get('Gini', 0)[-1]=0.665\n", - "Condition not met at step 2932. No data to save.\n", - "2932\n", - "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", - "Condition not met at step 2933. No data to save.\n", - "2933\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 2934. No data to save.\n", - "2934\n", - "model_vars.get('Gini', 0)[-1]=0.6494\n", - "Condition not met at step 2935. No data to save.\n", - "2935\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 2936. No data to save.\n", - "2936\n", - "model_vars.get('Gini', 0)[-1]=0.6008\n", - "Condition not met at step 2937. No data to save.\n", - "2937\n", - "model_vars.get('Gini', 0)[-1]=0.6248\n", - "Condition not met at step 2938. No data to save.\n", - "2938\n", - "model_vars.get('Gini', 0)[-1]=0.63\n", - "Condition not met at step 2939. No data to save.\n", - "2939\n", - "model_vars.get('Gini', 0)[-1]=0.6376\n", - "Condition not met at step 2940. No data to save.\n", - "2940\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 2941. No data to save.\n", - "2941\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 2942. No data to save.\n", - "2942\n", - "model_vars.get('Gini', 0)[-1]=0.6696\n", - "Condition not met at step 2943. No data to save.\n", - "2943\n", - "model_vars.get('Gini', 0)[-1]=0.6652\n", - "Condition not met at step 2944. No data to save.\n", - "2944\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", - "Condition not met at step 2945. No data to save.\n", - "2945\n", - "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", - "Condition not met at step 2946. No data to save.\n", - "2946\n", - "model_vars.get('Gini', 0)[-1]=0.648\n", - "Condition not met at step 2947. No data to save.\n", - "2947\n", - "model_vars.get('Gini', 0)[-1]=0.63\n", - "Condition not met at step 2948. No data to save.\n", - "2948\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 2949. No data to save.\n", - "2949\n", - "model_vars.get('Gini', 0)[-1]=0.6302\n", - "Condition not met at step 2950. No data to save.\n", - "2950\n", - "model_vars.get('Gini', 0)[-1]=0.6174\n", - "Condition not met at step 2951. No data to save.\n", - "2951\n", - "model_vars.get('Gini', 0)[-1]=0.585\n", - "Condition not met at step 2952. No data to save.\n", - "2952\n", - "model_vars.get('Gini', 0)[-1]=0.5836\n", - "Condition not met at step 2953. No data to save.\n", - "2953\n", - "model_vars.get('Gini', 0)[-1]=0.6000000000000001\n", - "Condition not met at step 2954. No data to save.\n", - "2954\n", - "model_vars.get('Gini', 0)[-1]=0.5758000000000001\n", - "Condition not met at step 2955. No data to save.\n", - "2955\n", - "model_vars.get('Gini', 0)[-1]=0.5896\n", - "Condition not met at step 2956. No data to save.\n", - "2956\n", - "model_vars.get('Gini', 0)[-1]=0.5978\n", - "Condition not met at step 2957. No data to save.\n", - "2957\n", - "model_vars.get('Gini', 0)[-1]=0.5906\n", - "Condition not met at step 2958. No data to save.\n", - "2958\n", - "model_vars.get('Gini', 0)[-1]=0.5892\n", - "Condition not met at step 2959. No data to save.\n", - "2959\n", - "model_vars.get('Gini', 0)[-1]=0.615\n", - "Condition not met at step 2960. No data to save.\n", - "2960\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 2961. No data to save.\n", - "2961\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 2962. No data to save.\n", - "2962\n", - "model_vars.get('Gini', 0)[-1]=0.6454\n", - "Condition not met at step 2963. No data to save.\n", - "2963\n", - "model_vars.get('Gini', 0)[-1]=0.6334\n", - "Condition not met at step 2964. No data to save.\n", - "2964\n", - "model_vars.get('Gini', 0)[-1]=0.6308\n", - "Condition not met at step 2965. No data to save.\n", - "2965\n", - "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", - "Condition not met at step 2966. No data to save.\n", - "2966\n", - "model_vars.get('Gini', 0)[-1]=0.616\n", - "Condition not met at step 2967. No data to save.\n", - "2967\n", - "model_vars.get('Gini', 0)[-1]=0.6324000000000001\n", - "Condition not met at step 2968. No data to save.\n", - "2968\n", - "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", - "Condition not met at step 2969. No data to save.\n", - "2969\n", - "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", - "Condition not met at step 2970. No data to save.\n", - "2970\n", - "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", - "Condition not met at step 2971. No data to save.\n", - "2971\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 2972. No data to save.\n", - "2972\n", - "model_vars.get('Gini', 0)[-1]=0.6422\n", - "Condition not met at step 2973. No data to save.\n", - "2973\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", - "Condition not met at step 2974. No data to save.\n", - "2974\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 2975. No data to save.\n", - "2975\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 2976. No data to save.\n", - "2976\n", - "model_vars.get('Gini', 0)[-1]=0.6892\n", - "Condition not met at step 2977. No data to save.\n", - "2977\n", - "model_vars.get('Gini', 0)[-1]=0.6754\n", - "Condition not met at step 2978. No data to save.\n", - "2978\n", - "model_vars.get('Gini', 0)[-1]=0.6839999999999999\n", - "Condition not met at step 2979. No data to save.\n", - "2979\n", - "model_vars.get('Gini', 0)[-1]=0.6932\n", - "Condition not met at step 2980. No data to save.\n", - "2980\n", - "model_vars.get('Gini', 0)[-1]=0.692\n", - "Condition not met at step 2981. No data to save.\n", - "2981\n", - "model_vars.get('Gini', 0)[-1]=0.6912\n", - "Condition not met at step 2982. No data to save.\n", - "2982\n", - "model_vars.get('Gini', 0)[-1]=0.6772\n", - "Condition not met at step 2983. No data to save.\n", - "2983\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 2984. No data to save.\n", - "2984\n", - "model_vars.get('Gini', 0)[-1]=0.6816\n", - "Condition not met at step 2985. No data to save.\n", - "2985\n", - "model_vars.get('Gini', 0)[-1]=0.702\n", - "Condition met. Appended special results for step 2986 to test_path/special_results.parquet\n", - "2986\n", - "model_vars.get('Gini', 0)[-1]=0.6946\n", - "Condition not met at step 2987. No data to save.\n", - "2987\n", - "model_vars.get('Gini', 0)[-1]=0.6950000000000001\n", - "Condition not met at step 2988. No data to save.\n", - "2988\n", - "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", - "Condition not met at step 2989. No data to save.\n", - "2989\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 2990. No data to save.\n", - "2990\n", - "model_vars.get('Gini', 0)[-1]=0.6694\n", - "Condition not met at step 2991. No data to save.\n", - "2991\n", - "model_vars.get('Gini', 0)[-1]=0.6934\n", - "Condition not met at step 2992. No data to save.\n", - "2992\n", - "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", - "Condition not met at step 2993. No data to save.\n", - "2993\n", - "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", - "Condition not met at step 2994. No data to save.\n", - "2994\n", - "model_vars.get('Gini', 0)[-1]=0.6892\n", - "Condition not met at step 2995. No data to save.\n", - "2995\n", - "model_vars.get('Gini', 0)[-1]=0.6776\n", - "Condition not met at step 2996. No data to save.\n", - "2996\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", - "Condition not met at step 2997. No data to save.\n", - "2997\n", - "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", - "Condition not met at step 2998. No data to save.\n", - "2998\n", - "model_vars.get('Gini', 0)[-1]=0.6634\n", - "Condition not met at step 2999. No data to save.\n", - "2999\n", - "CALLED\n", - "self.model._steps=3000\n", - " TEST self.model._steps=3000\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "2900 0.6750\n", - "2901 0.6644\n", - "2902 0.6452\n", - "2903 0.6470\n", - "2904 0.6428\n", - "... ...\n", - "2995 0.6776\n", - "2996 0.6758\n", - "2997 0.6648\n", - "2998 0.6634\n", - "2999 0.6394\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_030.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_030.parquet'\n", - "Saving model to test_path/model_data_030.parquet\n", - "Saving agent to test_path/agent_data_030.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6394\n", - "Condition not met at step 3000. No data to save.\n", - "3000\n", - "model_vars.get('Gini', 0)[-1]=0.6186\n", - "Condition not met at step 3001. No data to save.\n", - "3001\n", - "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", - "Condition not met at step 3002. No data to save.\n", - "3002\n", - "model_vars.get('Gini', 0)[-1]=0.6096\n", - "Condition not met at step 3003. No data to save.\n", - "3003\n", - "model_vars.get('Gini', 0)[-1]=0.628\n", - "Condition not met at step 3004. No data to save.\n", - "3004\n", - "model_vars.get('Gini', 0)[-1]=0.6492\n", - "Condition not met at step 3005. No data to save.\n", - "3005\n", - "model_vars.get('Gini', 0)[-1]=0.6532\n", - "Condition not met at step 3006. No data to save.\n", - "3006\n", - "model_vars.get('Gini', 0)[-1]=0.6194\n", - "Condition not met at step 3007. No data to save.\n", - "3007\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 3008. No data to save.\n", - "3008\n", - "model_vars.get('Gini', 0)[-1]=0.6592\n", - "Condition not met at step 3009. No data to save.\n", - "3009\n", - "model_vars.get('Gini', 0)[-1]=0.6782\n", - "Condition not met at step 3010. No data to save.\n", - "3010\n", - "model_vars.get('Gini', 0)[-1]=0.6970000000000001\n", - "Condition not met at step 3011. No data to save.\n", - "3011\n", - "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", - "Condition not met at step 3012. No data to save.\n", - "3012\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", - "Condition not met at step 3013. No data to save.\n", - "3013\n", - "model_vars.get('Gini', 0)[-1]=0.6358\n", - "Condition not met at step 3014. No data to save.\n", - "3014\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 3015. No data to save.\n", - "3015\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", - "Condition not met at step 3016. No data to save.\n", - "3016\n", - "model_vars.get('Gini', 0)[-1]=0.6376\n", - "Condition not met at step 3017. No data to save.\n", - "3017\n", - "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", - "Condition not met at step 3018. No data to save.\n", - "3018\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", - "Condition not met at step 3019. No data to save.\n", - "3019\n", - "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", - "Condition not met at step 3020. No data to save.\n", - "3020\n", - "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", - "Condition not met at step 3021. No data to save.\n", - "3021\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 3022. No data to save.\n", - "3022\n", - "model_vars.get('Gini', 0)[-1]=0.6348\n", - "Condition not met at step 3023. No data to save.\n", - "3023\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 3024. No data to save.\n", - "3024\n", - "model_vars.get('Gini', 0)[-1]=0.613\n", - "Condition not met at step 3025. No data to save.\n", - "3025\n", - "model_vars.get('Gini', 0)[-1]=0.6118\n", - "Condition not met at step 3026. No data to save.\n", - "3026\n", - "model_vars.get('Gini', 0)[-1]=0.6166\n", - "Condition not met at step 3027. No data to save.\n", - "3027\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 3028. No data to save.\n", - "3028\n", - "model_vars.get('Gini', 0)[-1]=0.6306\n", - "Condition not met at step 3029. No data to save.\n", - "3029\n", - "model_vars.get('Gini', 0)[-1]=0.6306\n", - "Condition not met at step 3030. No data to save.\n", - "3030\n", - "model_vars.get('Gini', 0)[-1]=0.6298\n", - "Condition not met at step 3031. No data to save.\n", - "3031\n", - "model_vars.get('Gini', 0)[-1]=0.6342\n", - "Condition not met at step 3032. No data to save.\n", - "3032\n", - "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", - "Condition not met at step 3033. No data to save.\n", - "3033\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 3034. No data to save.\n", - "3034\n", - "model_vars.get('Gini', 0)[-1]=0.624\n", - "Condition not met at step 3035. No data to save.\n", - "3035\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", - "Condition not met at step 3036. No data to save.\n", - "3036\n", - "model_vars.get('Gini', 0)[-1]=0.6328\n", - "Condition not met at step 3037. No data to save.\n", - "3037\n", - "model_vars.get('Gini', 0)[-1]=0.6402\n", - "Condition not met at step 3038. No data to save.\n", - "3038\n", - "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", - "Condition not met at step 3039. No data to save.\n", - "3039\n", - "model_vars.get('Gini', 0)[-1]=0.6038\n", - "Condition not met at step 3040. No data to save.\n", - "3040\n", - "model_vars.get('Gini', 0)[-1]=0.642\n", - "Condition not met at step 3041. No data to save.\n", - "3041\n", - "model_vars.get('Gini', 0)[-1]=0.644\n", - "Condition not met at step 3042. No data to save.\n", - "3042\n", - "model_vars.get('Gini', 0)[-1]=0.65\n", - "Condition not met at step 3043. No data to save.\n", - "3043\n", - "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", - "Condition not met at step 3044. No data to save.\n", - "3044\n", - "model_vars.get('Gini', 0)[-1]=0.6772\n", - "Condition not met at step 3045. No data to save.\n", - "3045\n", - "model_vars.get('Gini', 0)[-1]=0.6436\n", - "Condition not met at step 3046. No data to save.\n", - "3046\n", - "model_vars.get('Gini', 0)[-1]=0.664\n", - "Condition not met at step 3047. No data to save.\n", - "3047\n", - "model_vars.get('Gini', 0)[-1]=0.6852\n", - "Condition not met at step 3048. No data to save.\n", - "3048\n", - "model_vars.get('Gini', 0)[-1]=0.6894\n", - "Condition not met at step 3049. No data to save.\n", - "3049\n", - "model_vars.get('Gini', 0)[-1]=0.661\n", - "Condition not met at step 3050. No data to save.\n", - "3050\n", - "model_vars.get('Gini', 0)[-1]=0.6396\n", - "Condition not met at step 3051. No data to save.\n", - "3051\n", - "model_vars.get('Gini', 0)[-1]=0.651\n", - "Condition not met at step 3052. No data to save.\n", - "3052\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 3053. No data to save.\n", - "3053\n", - "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", - "Condition not met at step 3054. No data to save.\n", - "3054\n", - "model_vars.get('Gini', 0)[-1]=0.6952\n", - "Condition not met at step 3055. No data to save.\n", - "3055\n", - "model_vars.get('Gini', 0)[-1]=0.7092\n", - "Condition met. Appended special results for step 3056 to test_path/special_results.parquet\n", - "3056\n", - "model_vars.get('Gini', 0)[-1]=0.7092\n", - "Condition met. Appended special results for step 3057 to test_path/special_results.parquet\n", - "3057\n", - "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", - "Condition not met at step 3058. No data to save.\n", - "3058\n", - "model_vars.get('Gini', 0)[-1]=0.6838\n", - "Condition not met at step 3059. No data to save.\n", - "3059\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", - "Condition not met at step 3060. No data to save.\n", - "3060\n", - "model_vars.get('Gini', 0)[-1]=0.69\n", - "Condition not met at step 3061. No data to save.\n", - "3061\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", - "Condition not met at step 3062. No data to save.\n", - "3062\n", - "model_vars.get('Gini', 0)[-1]=0.6804\n", - "Condition not met at step 3063. No data to save.\n", - "3063\n", - "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", - "Condition not met at step 3064. No data to save.\n", - "3064\n", - "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", - "Condition not met at step 3065. No data to save.\n", - "3065\n", - "model_vars.get('Gini', 0)[-1]=0.667\n", - "Condition not met at step 3066. No data to save.\n", - "3066\n", - "model_vars.get('Gini', 0)[-1]=0.7046\n", - "Condition met. Appended special results for step 3067 to test_path/special_results.parquet\n", - "3067\n", - "model_vars.get('Gini', 0)[-1]=0.6890000000000001\n", - "Condition not met at step 3068. No data to save.\n", - "3068\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 3069. No data to save.\n", - "3069\n", - "model_vars.get('Gini', 0)[-1]=0.6774\n", - "Condition not met at step 3070. No data to save.\n", - "3070\n", - "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", - "Condition not met at step 3071. No data to save.\n", - "3071\n", - "model_vars.get('Gini', 0)[-1]=0.6612\n", - "Condition not met at step 3072. No data to save.\n", - "3072\n", - "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", - "Condition not met at step 3073. No data to save.\n", - "3073\n", - "model_vars.get('Gini', 0)[-1]=0.6694\n", - "Condition not met at step 3074. No data to save.\n", - "3074\n", - "model_vars.get('Gini', 0)[-1]=0.6792\n", - "Condition not met at step 3075. No data to save.\n", - "3075\n", - "model_vars.get('Gini', 0)[-1]=0.7008000000000001\n", - "Condition met. Appended special results for step 3076 to test_path/special_results.parquet\n", - "3076\n", - "model_vars.get('Gini', 0)[-1]=0.7064\n", - "Condition met. Appended special results for step 3077 to test_path/special_results.parquet\n", - "3077\n", - "model_vars.get('Gini', 0)[-1]=0.6836\n", - "Condition not met at step 3078. No data to save.\n", - "3078\n", - "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", - "Condition met. Appended special results for step 3079 to test_path/special_results.parquet\n", - "3079\n", - "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", - "Condition not met at step 3080. No data to save.\n", - "3080\n", - "model_vars.get('Gini', 0)[-1]=0.669\n", - "Condition not met at step 3081. No data to save.\n", - "3081\n", - "model_vars.get('Gini', 0)[-1]=0.7218\n", - "Condition met. Appended special results for step 3082 to test_path/special_results.parquet\n", - "3082\n", - "model_vars.get('Gini', 0)[-1]=0.7006\n", - "Condition met. Appended special results for step 3083 to test_path/special_results.parquet\n", - "3083\n", - "model_vars.get('Gini', 0)[-1]=0.6984\n", - "Condition not met at step 3084. No data to save.\n", - "3084\n", - "model_vars.get('Gini', 0)[-1]=0.6822\n", - "Condition not met at step 3085. No data to save.\n", - "3085\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 3086. No data to save.\n", - "3086\n", - "model_vars.get('Gini', 0)[-1]=0.6584\n", - "Condition not met at step 3087. No data to save.\n", - "3087\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", - "Condition not met at step 3088. No data to save.\n", - "3088\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", - "Condition not met at step 3089. No data to save.\n", - "3089\n", - "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", - "Condition not met at step 3090. No data to save.\n", - "3090\n", - "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", - "Condition not met at step 3091. No data to save.\n", - "3091\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", - "Condition not met at step 3092. No data to save.\n", - "3092\n", - "model_vars.get('Gini', 0)[-1]=0.6408\n", - "Condition not met at step 3093. No data to save.\n", - "3093\n", - "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", - "Condition not met at step 3094. No data to save.\n", - "3094\n", - "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", - "Condition not met at step 3095. No data to save.\n", - "3095\n", - "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", - "Condition not met at step 3096. No data to save.\n", - "3096\n", - "model_vars.get('Gini', 0)[-1]=0.5896\n", - "Condition not met at step 3097. No data to save.\n", - "3097\n", - "model_vars.get('Gini', 0)[-1]=0.6138\n", - "Condition not met at step 3098. No data to save.\n", - "3098\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 3099. No data to save.\n", - "3099\n", - "CALLED\n", - "self.model._steps=3100\n", - " TEST self.model._steps=3100\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "3000 0.6186\n", - "3001 0.6182\n", - "3002 0.6096\n", - "3003 0.6280\n", - "3004 0.6492\n", - "... ...\n", - "3095 0.6224\n", - "3096 0.5896\n", - "3097 0.6138\n", - "3098 0.6548\n", - "3099 0.6348\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_031.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_031.parquet'\n", - "Saving model to test_path/model_data_031.parquet\n", - "Saving agent to test_path/agent_data_031.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6348\n", - "Condition not met at step 3100. No data to save.\n", - "3100\n", - "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", - "Condition not met at step 3101. No data to save.\n", - "3101\n", - "model_vars.get('Gini', 0)[-1]=0.6246\n", - "Condition not met at step 3102. No data to save.\n", - "3102\n", - "model_vars.get('Gini', 0)[-1]=0.6066\n", - "Condition not met at step 3103. No data to save.\n", - "3103\n", - "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", - "Condition not met at step 3104. No data to save.\n", - "3104\n", - "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", - "Condition not met at step 3105. No data to save.\n", - "3105\n", - "model_vars.get('Gini', 0)[-1]=0.5920000000000001\n", - "Condition not met at step 3106. No data to save.\n", - "3106\n", - "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", - "Condition not met at step 3107. No data to save.\n", - "3107\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", - "Condition not met at step 3108. No data to save.\n", - "3108\n", - "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", - "Condition not met at step 3109. No data to save.\n", - "3109\n", - "model_vars.get('Gini', 0)[-1]=0.5996\n", - "Condition not met at step 3110. No data to save.\n", - "3110\n", - "model_vars.get('Gini', 0)[-1]=0.6442\n", - "Condition not met at step 3111. No data to save.\n", - "3111\n", - "model_vars.get('Gini', 0)[-1]=0.6248\n", - "Condition not met at step 3112. No data to save.\n", - "3112\n", - "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", - "Condition not met at step 3113. No data to save.\n", - "3113\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 3114. No data to save.\n", - "3114\n", - "model_vars.get('Gini', 0)[-1]=0.641\n", - "Condition not met at step 3115. No data to save.\n", - "3115\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 3116. No data to save.\n", - "3116\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", - "Condition not met at step 3117. No data to save.\n", - "3117\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", - "Condition not met at step 3118. No data to save.\n", - "3118\n", - "model_vars.get('Gini', 0)[-1]=0.6886\n", - "Condition not met at step 3119. No data to save.\n", - "3119\n", - "model_vars.get('Gini', 0)[-1]=0.6914\n", - "Condition not met at step 3120. No data to save.\n", - "3120\n", - "model_vars.get('Gini', 0)[-1]=0.702\n", - "Condition met. Appended special results for step 3121 to test_path/special_results.parquet\n", - "3121\n", - "model_vars.get('Gini', 0)[-1]=0.7016\n", - "Condition met. Appended special results for step 3122 to test_path/special_results.parquet\n", - "3122\n", - "model_vars.get('Gini', 0)[-1]=0.6844\n", - "Condition not met at step 3123. No data to save.\n", - "3123\n", - "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", - "Condition not met at step 3124. No data to save.\n", - "3124\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", - "Condition not met at step 3125. No data to save.\n", - "3125\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", - "Condition not met at step 3126. No data to save.\n", - "3126\n", - "model_vars.get('Gini', 0)[-1]=0.694\n", - "Condition not met at step 3127. No data to save.\n", - "3127\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", - "Condition not met at step 3128. No data to save.\n", - "3128\n", - "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", - "Condition not met at step 3129. No data to save.\n", - "3129\n", - "model_vars.get('Gini', 0)[-1]=0.6776\n", - "Condition not met at step 3130. No data to save.\n", - "3130\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", - "Condition not met at step 3131. No data to save.\n", - "3131\n", - "model_vars.get('Gini', 0)[-1]=0.6816\n", - "Condition not met at step 3132. No data to save.\n", - "3132\n", - "model_vars.get('Gini', 0)[-1]=0.6528\n", - "Condition not met at step 3133. No data to save.\n", - "3133\n", - "model_vars.get('Gini', 0)[-1]=0.6774\n", - "Condition not met at step 3134. No data to save.\n", - "3134\n", - "model_vars.get('Gini', 0)[-1]=0.6612\n", - "Condition not met at step 3135. No data to save.\n", - "3135\n", - "model_vars.get('Gini', 0)[-1]=0.6866\n", - "Condition not met at step 3136. No data to save.\n", - "3136\n", - "model_vars.get('Gini', 0)[-1]=0.6778\n", - "Condition not met at step 3137. No data to save.\n", - "3137\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 3138. No data to save.\n", - "3138\n", - "model_vars.get('Gini', 0)[-1]=0.6824\n", - "Condition not met at step 3139. No data to save.\n", - "3139\n", - "model_vars.get('Gini', 0)[-1]=0.6892\n", - "Condition not met at step 3140. No data to save.\n", - "3140\n", - "model_vars.get('Gini', 0)[-1]=0.6894\n", - "Condition not met at step 3141. No data to save.\n", - "3141\n", - "model_vars.get('Gini', 0)[-1]=0.6838\n", - "Condition not met at step 3142. No data to save.\n", - "3142\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", - "Condition not met at step 3143. No data to save.\n", - "3143\n", - "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", - "Condition not met at step 3144. No data to save.\n", - "3144\n", - "model_vars.get('Gini', 0)[-1]=0.6878\n", - "Condition not met at step 3145. No data to save.\n", - "3145\n", - "model_vars.get('Gini', 0)[-1]=0.7064\n", - "Condition met. Appended special results for step 3146 to test_path/special_results.parquet\n", - "3146\n", - "model_vars.get('Gini', 0)[-1]=0.7048\n", - "Condition met. Appended special results for step 3147 to test_path/special_results.parquet\n", - "3147\n", - "model_vars.get('Gini', 0)[-1]=0.6966\n", - "Condition not met at step 3148. No data to save.\n", - "3148\n", - "model_vars.get('Gini', 0)[-1]=0.7048\n", - "Condition met. Appended special results for step 3149 to test_path/special_results.parquet\n", - "3149\n", - "model_vars.get('Gini', 0)[-1]=0.7010000000000001\n", - "Condition met. Appended special results for step 3150 to test_path/special_results.parquet\n", - "3150\n", - "model_vars.get('Gini', 0)[-1]=0.7004\n", - "Condition met. Appended special results for step 3151 to test_path/special_results.parquet\n", - "3151\n", - "model_vars.get('Gini', 0)[-1]=0.6839999999999999\n", - "Condition not met at step 3152. No data to save.\n", - "3152\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 3153. No data to save.\n", - "3153\n", - "model_vars.get('Gini', 0)[-1]=0.654\n", - "Condition not met at step 3154. No data to save.\n", - "3154\n", - "model_vars.get('Gini', 0)[-1]=0.6222000000000001\n", - "Condition not met at step 3155. No data to save.\n", - "3155\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 3156. No data to save.\n", - "3156\n", - "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", - "Condition not met at step 3157. No data to save.\n", - "3157\n", - "model_vars.get('Gini', 0)[-1]=0.662\n", - "Condition not met at step 3158. No data to save.\n", - "3158\n", - "model_vars.get('Gini', 0)[-1]=0.6784\n", - "Condition not met at step 3159. No data to save.\n", - "3159\n", - "model_vars.get('Gini', 0)[-1]=0.6654\n", - "Condition not met at step 3160. No data to save.\n", - "3160\n", - "model_vars.get('Gini', 0)[-1]=0.6676\n", - "Condition not met at step 3161. No data to save.\n", - "3161\n", - "model_vars.get('Gini', 0)[-1]=0.6414\n", - "Condition not met at step 3162. No data to save.\n", - "3162\n", - "model_vars.get('Gini', 0)[-1]=0.6502\n", - "Condition not met at step 3163. No data to save.\n", - "3163\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", - "Condition not met at step 3164. No data to save.\n", - "3164\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", - "Condition not met at step 3165. No data to save.\n", - "3165\n", - "model_vars.get('Gini', 0)[-1]=0.6412\n", - "Condition not met at step 3166. No data to save.\n", - "3166\n", - "model_vars.get('Gini', 0)[-1]=0.66\n", - "Condition not met at step 3167. No data to save.\n", - "3167\n", - "model_vars.get('Gini', 0)[-1]=0.6818\n", - "Condition not met at step 3168. No data to save.\n", - "3168\n", - "model_vars.get('Gini', 0)[-1]=0.6844\n", - "Condition not met at step 3169. No data to save.\n", - "3169\n", - "model_vars.get('Gini', 0)[-1]=0.6914\n", - "Condition not met at step 3170. No data to save.\n", - "3170\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", - "Condition not met at step 3171. No data to save.\n", - "3171\n", - "model_vars.get('Gini', 0)[-1]=0.6776\n", - "Condition not met at step 3172. No data to save.\n", - "3172\n", - "model_vars.get('Gini', 0)[-1]=0.6839999999999999\n", - "Condition not met at step 3173. No data to save.\n", - "3173\n", - "model_vars.get('Gini', 0)[-1]=0.6716\n", - "Condition not met at step 3174. No data to save.\n", - "3174\n", - "model_vars.get('Gini', 0)[-1]=0.6812\n", - "Condition not met at step 3175. No data to save.\n", - "3175\n", - "model_vars.get('Gini', 0)[-1]=0.6836\n", - "Condition not met at step 3176. No data to save.\n", - "3176\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 3177. No data to save.\n", - "3177\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", - "Condition not met at step 3178. No data to save.\n", - "3178\n", - "model_vars.get('Gini', 0)[-1]=0.6584\n", - "Condition not met at step 3179. No data to save.\n", - "3179\n", - "model_vars.get('Gini', 0)[-1]=0.6432\n", - "Condition not met at step 3180. No data to save.\n", - "3180\n", - "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", - "Condition not met at step 3181. No data to save.\n", - "3181\n", - "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", - "Condition not met at step 3182. No data to save.\n", - "3182\n", - "model_vars.get('Gini', 0)[-1]=0.6326\n", - "Condition not met at step 3183. No data to save.\n", - "3183\n", - "model_vars.get('Gini', 0)[-1]=0.6382\n", - "Condition not met at step 3184. No data to save.\n", - "3184\n", - "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", - "Condition not met at step 3185. No data to save.\n", - "3185\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 3186. No data to save.\n", - "3186\n", - "model_vars.get('Gini', 0)[-1]=0.632\n", - "Condition not met at step 3187. No data to save.\n", - "3187\n", - "model_vars.get('Gini', 0)[-1]=0.6624\n", - "Condition not met at step 3188. No data to save.\n", - "3188\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", - "Condition not met at step 3189. No data to save.\n", - "3189\n", - "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", - "Condition not met at step 3190. No data to save.\n", - "3190\n", - "model_vars.get('Gini', 0)[-1]=0.6437999999999999\n", - "Condition not met at step 3191. No data to save.\n", - "3191\n", - "model_vars.get('Gini', 0)[-1]=0.6326\n", - "Condition not met at step 3192. No data to save.\n", - "3192\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", - "Condition not met at step 3193. No data to save.\n", - "3193\n", - "model_vars.get('Gini', 0)[-1]=0.6592\n", - "Condition not met at step 3194. No data to save.\n", - "3194\n", - "model_vars.get('Gini', 0)[-1]=0.6306\n", - "Condition not met at step 3195. No data to save.\n", - "3195\n", - "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", - "Condition not met at step 3196. No data to save.\n", - "3196\n", - "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", - "Condition not met at step 3197. No data to save.\n", - "3197\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 3198. No data to save.\n", - "3198\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", - "Condition not met at step 3199. No data to save.\n", - "3199\n", - "CALLED\n", - "self.model._steps=3200\n", - " TEST self.model._steps=3200\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "3100 0.6176\n", - "3101 0.6246\n", - "3102 0.6066\n", - "3103 0.6264\n", - "3104 0.6182\n", - "... ...\n", - "3195 0.6356\n", - "3196 0.6256\n", - "3197 0.6416\n", - "3198 0.6512\n", - "3199 0.5912\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_032.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_032.parquet'\n", - "Saving model to test_path/model_data_032.parquet\n", - "Saving agent to test_path/agent_data_032.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.5912\n", - "Condition not met at step 3200. No data to save.\n", - "3200\n", - "model_vars.get('Gini', 0)[-1]=0.628\n", - "Condition not met at step 3201. No data to save.\n", - "3201\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 3202. No data to save.\n", - "3202\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", - "Condition not met at step 3203. No data to save.\n", - "3203\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", - "Condition not met at step 3204. No data to save.\n", - "3204\n", - "model_vars.get('Gini', 0)[-1]=0.6162000000000001\n", - "Condition not met at step 3205. No data to save.\n", - "3205\n", - "model_vars.get('Gini', 0)[-1]=0.616\n", - "Condition not met at step 3206. No data to save.\n", - "3206\n", - "model_vars.get('Gini', 0)[-1]=0.622\n", - "Condition not met at step 3207. No data to save.\n", - "3207\n", - "model_vars.get('Gini', 0)[-1]=0.6462\n", - "Condition not met at step 3208. No data to save.\n", - "3208\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 3209. No data to save.\n", - "3209\n", - "model_vars.get('Gini', 0)[-1]=0.6572\n", - "Condition not met at step 3210. No data to save.\n", - "3210\n", - "model_vars.get('Gini', 0)[-1]=0.6204000000000001\n", - "Condition not met at step 3211. No data to save.\n", - "3211\n", - "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", - "Condition not met at step 3212. No data to save.\n", - "3212\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", - "Condition not met at step 3213. No data to save.\n", - "3213\n", - "model_vars.get('Gini', 0)[-1]=0.6396\n", - "Condition not met at step 3214. No data to save.\n", - "3214\n", - "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", - "Condition not met at step 3215. No data to save.\n", - "3215\n", - "model_vars.get('Gini', 0)[-1]=0.6174\n", - "Condition not met at step 3216. No data to save.\n", - "3216\n", - "model_vars.get('Gini', 0)[-1]=0.6502\n", - "Condition not met at step 3217. No data to save.\n", - "3217\n", - "model_vars.get('Gini', 0)[-1]=0.655\n", - "Condition not met at step 3218. No data to save.\n", - "3218\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 3219. No data to save.\n", - "3219\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", - "Condition not met at step 3220. No data to save.\n", - "3220\n", - "model_vars.get('Gini', 0)[-1]=0.6812\n", - "Condition not met at step 3221. No data to save.\n", - "3221\n", - "model_vars.get('Gini', 0)[-1]=0.6798\n", - "Condition not met at step 3222. No data to save.\n", - "3222\n", - "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", - "Condition not met at step 3223. No data to save.\n", - "3223\n", - "model_vars.get('Gini', 0)[-1]=0.7018\n", - "Condition met. Appended special results for step 3224 to test_path/special_results.parquet\n", - "3224\n", - "model_vars.get('Gini', 0)[-1]=0.6738\n", - "Condition not met at step 3225. No data to save.\n", - "3225\n", - "model_vars.get('Gini', 0)[-1]=0.6476\n", - "Condition not met at step 3226. No data to save.\n", - "3226\n", - "model_vars.get('Gini', 0)[-1]=0.631\n", - "Condition not met at step 3227. No data to save.\n", - "3227\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 3228. No data to save.\n", - "3228\n", - "model_vars.get('Gini', 0)[-1]=0.6374\n", - "Condition not met at step 3229. No data to save.\n", - "3229\n", - "model_vars.get('Gini', 0)[-1]=0.6358\n", - "Condition not met at step 3230. No data to save.\n", - "3230\n", - "model_vars.get('Gini', 0)[-1]=0.6366\n", - "Condition not met at step 3231. No data to save.\n", - "3231\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", - "Condition not met at step 3232. No data to save.\n", - "3232\n", - "model_vars.get('Gini', 0)[-1]=0.6634\n", - "Condition not met at step 3233. No data to save.\n", - "3233\n", - "model_vars.get('Gini', 0)[-1]=0.662\n", - "Condition not met at step 3234. No data to save.\n", - "3234\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 3235. No data to save.\n", - "3235\n", - "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", - "Condition not met at step 3236. No data to save.\n", - "3236\n", - "model_vars.get('Gini', 0)[-1]=0.6742\n", - "Condition not met at step 3237. No data to save.\n", - "3237\n", - "model_vars.get('Gini', 0)[-1]=0.6774\n", - "Condition not met at step 3238. No data to save.\n", - "3238\n", - "model_vars.get('Gini', 0)[-1]=0.6822\n", - "Condition not met at step 3239. No data to save.\n", - "3239\n", - "model_vars.get('Gini', 0)[-1]=0.6914\n", - "Condition not met at step 3240. No data to save.\n", - "3240\n", - "model_vars.get('Gini', 0)[-1]=0.6846\n", - "Condition not met at step 3241. No data to save.\n", - "3241\n", - "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", - "Condition not met at step 3242. No data to save.\n", - "3242\n", - "model_vars.get('Gini', 0)[-1]=0.6882\n", - "Condition not met at step 3243. No data to save.\n", - "3243\n", - "model_vars.get('Gini', 0)[-1]=0.7142\n", - "Condition met. Appended special results for step 3244 to test_path/special_results.parquet\n", - "3244\n", - "model_vars.get('Gini', 0)[-1]=0.7188\n", - "Condition met. Appended special results for step 3245 to test_path/special_results.parquet\n", - "3245\n", - "model_vars.get('Gini', 0)[-1]=0.7242\n", - "Condition met. Appended special results for step 3246 to test_path/special_results.parquet\n", - "3246\n", - "model_vars.get('Gini', 0)[-1]=0.7218\n", - "Condition met. Appended special results for step 3247 to test_path/special_results.parquet\n", - "3247\n", - "model_vars.get('Gini', 0)[-1]=0.7343999999999999\n", - "Condition met. Appended special results for step 3248 to test_path/special_results.parquet\n", - "3248\n", - "model_vars.get('Gini', 0)[-1]=0.7328\n", - "Condition met. Appended special results for step 3249 to test_path/special_results.parquet\n", - "3249\n", - "model_vars.get('Gini', 0)[-1]=0.738\n", - "Condition met. Appended special results for step 3250 to test_path/special_results.parquet\n", - "3250\n", - "model_vars.get('Gini', 0)[-1]=0.7242\n", - "Condition met. Appended special results for step 3251 to test_path/special_results.parquet\n", - "3251\n", - "model_vars.get('Gini', 0)[-1]=0.7058\n", - "Condition met. Appended special results for step 3252 to test_path/special_results.parquet\n", - "3252\n", - "model_vars.get('Gini', 0)[-1]=0.7094\n", - "Condition met. Appended special results for step 3253 to test_path/special_results.parquet\n", - "3253\n", - "model_vars.get('Gini', 0)[-1]=0.7094\n", - "Condition met. Appended special results for step 3254 to test_path/special_results.parquet\n", - "3254\n", - "model_vars.get('Gini', 0)[-1]=0.7114\n", - "Condition met. Appended special results for step 3255 to test_path/special_results.parquet\n", - "3255\n", - "model_vars.get('Gini', 0)[-1]=0.7146\n", - "Condition met. Appended special results for step 3256 to test_path/special_results.parquet\n", - "3256\n", - "model_vars.get('Gini', 0)[-1]=0.7322\n", - "Condition met. Appended special results for step 3257 to test_path/special_results.parquet\n", - "3257\n", - "model_vars.get('Gini', 0)[-1]=0.739\n", - "Condition met. Appended special results for step 3258 to test_path/special_results.parquet\n", - "3258\n", - "model_vars.get('Gini', 0)[-1]=0.7348\n", - "Condition met. Appended special results for step 3259 to test_path/special_results.parquet\n", - "3259\n", - "model_vars.get('Gini', 0)[-1]=0.7112\n", - "Condition met. Appended special results for step 3260 to test_path/special_results.parquet\n", - "3260\n", - "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", - "Condition met. Appended special results for step 3261 to test_path/special_results.parquet\n", - "3261\n", - "model_vars.get('Gini', 0)[-1]=0.7074\n", - "Condition met. Appended special results for step 3262 to test_path/special_results.parquet\n", - "3262\n", - "model_vars.get('Gini', 0)[-1]=0.6854\n", - "Condition not met at step 3263. No data to save.\n", - "3263\n", - "model_vars.get('Gini', 0)[-1]=0.6846\n", - "Condition not met at step 3264. No data to save.\n", - "3264\n", - "model_vars.get('Gini', 0)[-1]=0.6826\n", - "Condition not met at step 3265. No data to save.\n", - "3265\n", - "model_vars.get('Gini', 0)[-1]=0.6910000000000001\n", - "Condition not met at step 3266. No data to save.\n", - "3266\n", - "model_vars.get('Gini', 0)[-1]=0.6422\n", - "Condition not met at step 3267. No data to save.\n", - "3267\n", - "model_vars.get('Gini', 0)[-1]=0.6266\n", - "Condition not met at step 3268. No data to save.\n", - "3268\n", - "model_vars.get('Gini', 0)[-1]=0.6248\n", - "Condition not met at step 3269. No data to save.\n", - "3269\n", - "model_vars.get('Gini', 0)[-1]=0.6342\n", - "Condition not met at step 3270. No data to save.\n", - "3270\n", - "model_vars.get('Gini', 0)[-1]=0.6372\n", - "Condition not met at step 3271. No data to save.\n", - "3271\n", - "model_vars.get('Gini', 0)[-1]=0.6502\n", - "Condition not met at step 3272. No data to save.\n", - "3272\n", - "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", - "Condition not met at step 3273. No data to save.\n", - "3273\n", - "model_vars.get('Gini', 0)[-1]=0.662\n", - "Condition not met at step 3274. No data to save.\n", - "3274\n", - "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", - "Condition not met at step 3275. No data to save.\n", - "3275\n", - "model_vars.get('Gini', 0)[-1]=0.651\n", - "Condition not met at step 3276. No data to save.\n", - "3276\n", - "model_vars.get('Gini', 0)[-1]=0.6412\n", - "Condition not met at step 3277. No data to save.\n", - "3277\n", - "model_vars.get('Gini', 0)[-1]=0.6654\n", - "Condition not met at step 3278. No data to save.\n", - "3278\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", - "Condition not met at step 3279. No data to save.\n", - "3279\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", - "Condition not met at step 3280. No data to save.\n", - "3280\n", - "model_vars.get('Gini', 0)[-1]=0.653\n", - "Condition not met at step 3281. No data to save.\n", - "3281\n", - "model_vars.get('Gini', 0)[-1]=0.6912\n", - "Condition not met at step 3282. No data to save.\n", - "3282\n", - "model_vars.get('Gini', 0)[-1]=0.6868000000000001\n", - "Condition not met at step 3283. No data to save.\n", - "3283\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 3284. No data to save.\n", - "3284\n", - "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", - "Condition not met at step 3285. No data to save.\n", - "3285\n", - "model_vars.get('Gini', 0)[-1]=0.6698\n", - "Condition not met at step 3286. No data to save.\n", - "3286\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 3287. No data to save.\n", - "3287\n", - "model_vars.get('Gini', 0)[-1]=0.6414\n", - "Condition not met at step 3288. No data to save.\n", - "3288\n", - "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", - "Condition not met at step 3289. No data to save.\n", - "3289\n", - "model_vars.get('Gini', 0)[-1]=0.6872\n", - "Condition not met at step 3290. No data to save.\n", - "3290\n", - "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", - "Condition not met at step 3291. No data to save.\n", - "3291\n", - "model_vars.get('Gini', 0)[-1]=0.7008000000000001\n", - "Condition met. Appended special results for step 3292 to test_path/special_results.parquet\n", - "3292\n", - "model_vars.get('Gini', 0)[-1]=0.7072\n", - "Condition met. Appended special results for step 3293 to test_path/special_results.parquet\n", - "3293\n", - "model_vars.get('Gini', 0)[-1]=0.712\n", - "Condition met. Appended special results for step 3294 to test_path/special_results.parquet\n", - "3294\n", - "model_vars.get('Gini', 0)[-1]=0.6944\n", - "Condition not met at step 3295. No data to save.\n", - "3295\n", - "model_vars.get('Gini', 0)[-1]=0.6514\n", - "Condition not met at step 3296. No data to save.\n", - "3296\n", - "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", - "Condition not met at step 3297. No data to save.\n", - "3297\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", - "Condition not met at step 3298. No data to save.\n", - "3298\n", - "model_vars.get('Gini', 0)[-1]=0.6654\n", - "Condition not met at step 3299. No data to save.\n", - "3299\n", - "CALLED\n", - "self.model._steps=3300\n", - " TEST self.model._steps=3300\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "3200 0.6280\n", - "3201 0.6370\n", - "3202 0.6604\n", - "3203 0.6340\n", - "3204 0.6162\n", - "... ...\n", - "3295 0.6514\n", - "3296 0.6618\n", - "3297 0.6632\n", - "3298 0.6654\n", - "3299 0.6692\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_033.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_033.parquet'\n", - "Saving model to test_path/model_data_033.parquet\n", - "Saving agent to test_path/agent_data_033.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6692\n", - "Condition not met at step 3300. No data to save.\n", - "3300\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", - "Condition not met at step 3301. No data to save.\n", - "3301\n", - "model_vars.get('Gini', 0)[-1]=0.7061999999999999\n", - "Condition met. Appended special results for step 3302 to test_path/special_results.parquet\n", - "3302\n", - "model_vars.get('Gini', 0)[-1]=0.728\n", - "Condition met. Appended special results for step 3303 to test_path/special_results.parquet\n", - "3303\n", - "model_vars.get('Gini', 0)[-1]=0.718\n", - "Condition met. Appended special results for step 3304 to test_path/special_results.parquet\n", - "3304\n", - "model_vars.get('Gini', 0)[-1]=0.7168\n", - "Condition met. Appended special results for step 3305 to test_path/special_results.parquet\n", - "3305\n", - "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", - "Condition not met at step 3306. No data to save.\n", - "3306\n", - "model_vars.get('Gini', 0)[-1]=0.7044\n", - "Condition met. Appended special results for step 3307 to test_path/special_results.parquet\n", - "3307\n", - "model_vars.get('Gini', 0)[-1]=0.6886\n", - "Condition not met at step 3308. No data to save.\n", - "3308\n", - "model_vars.get('Gini', 0)[-1]=0.7078\n", - "Condition met. Appended special results for step 3309 to test_path/special_results.parquet\n", - "3309\n", - "model_vars.get('Gini', 0)[-1]=0.7156\n", - "Condition met. Appended special results for step 3310 to test_path/special_results.parquet\n", - "3310\n", - "model_vars.get('Gini', 0)[-1]=0.733\n", - "Condition met. Appended special results for step 3311 to test_path/special_results.parquet\n", - "3311\n", - "model_vars.get('Gini', 0)[-1]=0.718\n", - "Condition met. Appended special results for step 3312 to test_path/special_results.parquet\n", - "3312\n", - "model_vars.get('Gini', 0)[-1]=0.7298\n", - "Condition met. Appended special results for step 3313 to test_path/special_results.parquet\n", - "3313\n", - "model_vars.get('Gini', 0)[-1]=0.7468\n", - "Condition met. Appended special results for step 3314 to test_path/special_results.parquet\n", - "3314\n", - "model_vars.get('Gini', 0)[-1]=0.6944\n", - "Condition not met at step 3315. No data to save.\n", - "3315\n", - "model_vars.get('Gini', 0)[-1]=0.6904\n", - "Condition not met at step 3316. No data to save.\n", - "3316\n", - "model_vars.get('Gini', 0)[-1]=0.6908000000000001\n", - "Condition not met at step 3317. No data to save.\n", - "3317\n", - "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", - "Condition not met at step 3318. No data to save.\n", - "3318\n", - "model_vars.get('Gini', 0)[-1]=0.7128\n", - "Condition met. Appended special results for step 3319 to test_path/special_results.parquet\n", - "3319\n", - "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", - "Condition met. Appended special results for step 3320 to test_path/special_results.parquet\n", - "3320\n", - "model_vars.get('Gini', 0)[-1]=0.6914\n", - "Condition not met at step 3321. No data to save.\n", - "3321\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 3322. No data to save.\n", - "3322\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", - "Condition not met at step 3323. No data to save.\n", - "3323\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", - "Condition not met at step 3324. No data to save.\n", - "3324\n", - "model_vars.get('Gini', 0)[-1]=0.669\n", - "Condition not met at step 3325. No data to save.\n", - "3325\n", - "model_vars.get('Gini', 0)[-1]=0.6694\n", - "Condition not met at step 3326. No data to save.\n", - "3326\n", - "model_vars.get('Gini', 0)[-1]=0.6822\n", - "Condition not met at step 3327. No data to save.\n", - "3327\n", - "model_vars.get('Gini', 0)[-1]=0.6964\n", - "Condition not met at step 3328. No data to save.\n", - "3328\n", - "model_vars.get('Gini', 0)[-1]=0.6846\n", - "Condition not met at step 3329. No data to save.\n", - "3329\n", - "model_vars.get('Gini', 0)[-1]=0.6874\n", - "Condition not met at step 3330. No data to save.\n", - "3330\n", - "model_vars.get('Gini', 0)[-1]=0.6934\n", - "Condition not met at step 3331. No data to save.\n", - "3331\n", - "model_vars.get('Gini', 0)[-1]=0.6846\n", - "Condition not met at step 3332. No data to save.\n", - "3332\n", - "model_vars.get('Gini', 0)[-1]=0.7048\n", - "Condition met. Appended special results for step 3333 to test_path/special_results.parquet\n", - "3333\n", - "model_vars.get('Gini', 0)[-1]=0.7064\n", - "Condition met. Appended special results for step 3334 to test_path/special_results.parquet\n", - "3334\n", - "model_vars.get('Gini', 0)[-1]=0.7076\n", - "Condition met. Appended special results for step 3335 to test_path/special_results.parquet\n", - "3335\n", - "model_vars.get('Gini', 0)[-1]=0.6938\n", - "Condition not met at step 3336. No data to save.\n", - "3336\n", - "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", - "Condition not met at step 3337. No data to save.\n", - "3337\n", - "model_vars.get('Gini', 0)[-1]=0.6996\n", - "Condition not met at step 3338. No data to save.\n", - "3338\n", - "model_vars.get('Gini', 0)[-1]=0.6798\n", - "Condition not met at step 3339. No data to save.\n", - "3339\n", - "model_vars.get('Gini', 0)[-1]=0.6656\n", - "Condition not met at step 3340. No data to save.\n", - "3340\n", - "model_vars.get('Gini', 0)[-1]=0.6428\n", - "Condition not met at step 3341. No data to save.\n", - "3341\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 3342. No data to save.\n", - "3342\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 3343. No data to save.\n", - "3343\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 3344. No data to save.\n", - "3344\n", - "model_vars.get('Gini', 0)[-1]=0.6456\n", - "Condition not met at step 3345. No data to save.\n", - "3345\n", - "model_vars.get('Gini', 0)[-1]=0.6662\n", - "Condition not met at step 3346. No data to save.\n", - "3346\n", - "model_vars.get('Gini', 0)[-1]=0.7030000000000001\n", - "Condition met. Appended special results for step 3347 to test_path/special_results.parquet\n", - "3347\n", - "model_vars.get('Gini', 0)[-1]=0.6898\n", - "Condition not met at step 3348. No data to save.\n", - "3348\n", - "model_vars.get('Gini', 0)[-1]=0.7010000000000001\n", - "Condition met. Appended special results for step 3349 to test_path/special_results.parquet\n", - "3349\n", - "model_vars.get('Gini', 0)[-1]=0.6990000000000001\n", - "Condition not met at step 3350. No data to save.\n", - "3350\n", - "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", - "Condition not met at step 3351. No data to save.\n", - "3351\n", - "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", - "Condition not met at step 3352. No data to save.\n", - "3352\n", - "model_vars.get('Gini', 0)[-1]=0.688\n", - "Condition not met at step 3353. No data to save.\n", - "3353\n", - "model_vars.get('Gini', 0)[-1]=0.7112\n", - "Condition met. Appended special results for step 3354 to test_path/special_results.parquet\n", - "3354\n", - "model_vars.get('Gini', 0)[-1]=0.7068\n", - "Condition met. Appended special results for step 3355 to test_path/special_results.parquet\n", - "3355\n", - "model_vars.get('Gini', 0)[-1]=0.7190000000000001\n", - "Condition met. Appended special results for step 3356 to test_path/special_results.parquet\n", - "3356\n", - "model_vars.get('Gini', 0)[-1]=0.7028000000000001\n", - "Condition met. Appended special results for step 3357 to test_path/special_results.parquet\n", - "3357\n", - "model_vars.get('Gini', 0)[-1]=0.6882\n", - "Condition not met at step 3358. No data to save.\n", - "3358\n", - "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", - "Condition not met at step 3359. No data to save.\n", - "3359\n", - "model_vars.get('Gini', 0)[-1]=0.6738\n", - "Condition not met at step 3360. No data to save.\n", - "3360\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", - "Condition not met at step 3361. No data to save.\n", - "3361\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 3362. No data to save.\n", - "3362\n", - "model_vars.get('Gini', 0)[-1]=0.6892\n", - "Condition not met at step 3363. No data to save.\n", - "3363\n", - "model_vars.get('Gini', 0)[-1]=0.6936\n", - "Condition not met at step 3364. No data to save.\n", - "3364\n", - "model_vars.get('Gini', 0)[-1]=0.6876\n", - "Condition not met at step 3365. No data to save.\n", - "3365\n", - "model_vars.get('Gini', 0)[-1]=0.666\n", - "Condition not met at step 3366. No data to save.\n", - "3366\n", - "model_vars.get('Gini', 0)[-1]=0.6854\n", - "Condition not met at step 3367. No data to save.\n", - "3367\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 3368. No data to save.\n", - "3368\n", - "model_vars.get('Gini', 0)[-1]=0.6676\n", - "Condition not met at step 3369. No data to save.\n", - "3369\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", - "Condition not met at step 3370. No data to save.\n", - "3370\n", - "model_vars.get('Gini', 0)[-1]=0.6454\n", - "Condition not met at step 3371. No data to save.\n", - "3371\n", - "model_vars.get('Gini', 0)[-1]=0.6502\n", - "Condition not met at step 3372. No data to save.\n", - "3372\n", - "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", - "Condition not met at step 3373. No data to save.\n", - "3373\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 3374. No data to save.\n", - "3374\n", - "model_vars.get('Gini', 0)[-1]=0.6556\n", - "Condition not met at step 3375. No data to save.\n", - "3375\n", - "model_vars.get('Gini', 0)[-1]=0.6778\n", - "Condition not met at step 3376. No data to save.\n", - "3376\n", - "model_vars.get('Gini', 0)[-1]=0.6532\n", - "Condition not met at step 3377. No data to save.\n", - "3377\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 3378. No data to save.\n", - "3378\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 3379. No data to save.\n", - "3379\n", - "model_vars.get('Gini', 0)[-1]=0.6918\n", - "Condition not met at step 3380. No data to save.\n", - "3380\n", - "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", - "Condition not met at step 3381. No data to save.\n", - "3381\n", - "model_vars.get('Gini', 0)[-1]=0.679\n", - "Condition not met at step 3382. No data to save.\n", - "3382\n", - "model_vars.get('Gini', 0)[-1]=0.6624\n", - "Condition not met at step 3383. No data to save.\n", - "3383\n", - "model_vars.get('Gini', 0)[-1]=0.665\n", - "Condition not met at step 3384. No data to save.\n", - "3384\n", - "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", - "Condition not met at step 3385. No data to save.\n", - "3385\n", - "model_vars.get('Gini', 0)[-1]=0.622\n", - "Condition not met at step 3386. No data to save.\n", - "3386\n", - "model_vars.get('Gini', 0)[-1]=0.6194\n", - "Condition not met at step 3387. No data to save.\n", - "3387\n", - "model_vars.get('Gini', 0)[-1]=0.5702\n", - "Condition not met at step 3388. No data to save.\n", - "3388\n", - "model_vars.get('Gini', 0)[-1]=0.5546\n", - "Condition not met at step 3389. No data to save.\n", - "3389\n", - "model_vars.get('Gini', 0)[-1]=0.5831999999999999\n", - "Condition not met at step 3390. No data to save.\n", - "3390\n", - "model_vars.get('Gini', 0)[-1]=0.6022000000000001\n", - "Condition not met at step 3391. No data to save.\n", - "3391\n", - "model_vars.get('Gini', 0)[-1]=0.5968\n", - "Condition not met at step 3392. No data to save.\n", - "3392\n", - "model_vars.get('Gini', 0)[-1]=0.599\n", - "Condition not met at step 3393. No data to save.\n", - "3393\n", - "model_vars.get('Gini', 0)[-1]=0.6036\n", - "Condition not met at step 3394. No data to save.\n", - "3394\n", - "model_vars.get('Gini', 0)[-1]=0.5862\n", - "Condition not met at step 3395. No data to save.\n", - "3395\n", - "model_vars.get('Gini', 0)[-1]=0.5936\n", - "Condition not met at step 3396. No data to save.\n", - "3396\n", - "model_vars.get('Gini', 0)[-1]=0.6238\n", - "Condition not met at step 3397. No data to save.\n", - "3397\n", - "model_vars.get('Gini', 0)[-1]=0.6232\n", - "Condition not met at step 3398. No data to save.\n", - "3398\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 3399. No data to save.\n", - "3399\n", - "CALLED\n", - "self.model._steps=3400\n", - " TEST self.model._steps=3400\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "3300 0.6642\n", - "3301 0.7062\n", - "3302 0.7280\n", - "3303 0.7180\n", - "3304 0.7168\n", - "... ...\n", - "3395 0.5936\n", - "3396 0.6238\n", - "3397 0.6232\n", - "3398 0.6546\n", - "3399 0.6640\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_034.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_034.parquet'\n", - "Saving model to test_path/model_data_034.parquet\n", - "Saving agent to test_path/agent_data_034.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.664\n", - "Condition not met at step 3400. No data to save.\n", - "3400\n", - "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", - "Condition not met at step 3401. No data to save.\n", - "3401\n", - "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", - "Condition not met at step 3402. No data to save.\n", - "3402\n", - "model_vars.get('Gini', 0)[-1]=0.6572\n", - "Condition not met at step 3403. No data to save.\n", - "3403\n", - "model_vars.get('Gini', 0)[-1]=0.6492\n", - "Condition not met at step 3404. No data to save.\n", - "3404\n", - "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", - "Condition not met at step 3405. No data to save.\n", - "3405\n", - "model_vars.get('Gini', 0)[-1]=0.6226\n", - "Condition not met at step 3406. No data to save.\n", - "3406\n", - "model_vars.get('Gini', 0)[-1]=0.5988\n", - "Condition not met at step 3407. No data to save.\n", - "3407\n", - "model_vars.get('Gini', 0)[-1]=0.5926\n", - "Condition not met at step 3408. No data to save.\n", - "3408\n", - "model_vars.get('Gini', 0)[-1]=0.5906\n", - "Condition not met at step 3409. No data to save.\n", - "3409\n", - "model_vars.get('Gini', 0)[-1]=0.5724\n", - "Condition not met at step 3410. No data to save.\n", - "3410\n", - "model_vars.get('Gini', 0)[-1]=0.6158\n", - "Condition not met at step 3411. No data to save.\n", - "3411\n", - "model_vars.get('Gini', 0)[-1]=0.6414\n", - "Condition not met at step 3412. No data to save.\n", - "3412\n", - "model_vars.get('Gini', 0)[-1]=0.6494\n", - "Condition not met at step 3413. No data to save.\n", - "3413\n", - "model_vars.get('Gini', 0)[-1]=0.669\n", - "Condition not met at step 3414. No data to save.\n", - "3414\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 3415. No data to save.\n", - "3415\n", - "model_vars.get('Gini', 0)[-1]=0.665\n", - "Condition not met at step 3416. No data to save.\n", - "3416\n", - "model_vars.get('Gini', 0)[-1]=0.6908000000000001\n", - "Condition not met at step 3417. No data to save.\n", - "3417\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 3418. No data to save.\n", - "3418\n", - "model_vars.get('Gini', 0)[-1]=0.6754\n", - "Condition not met at step 3419. No data to save.\n", - "3419\n", - "model_vars.get('Gini', 0)[-1]=0.7172000000000001\n", - "Condition met. Appended special results for step 3420 to test_path/special_results.parquet\n", - "3420\n", - "model_vars.get('Gini', 0)[-1]=0.714\n", - "Condition met. Appended special results for step 3421 to test_path/special_results.parquet\n", - "3421\n", - "model_vars.get('Gini', 0)[-1]=0.7056\n", - "Condition met. Appended special results for step 3422 to test_path/special_results.parquet\n", - "3422\n", - "model_vars.get('Gini', 0)[-1]=0.7222\n", - "Condition met. Appended special results for step 3423 to test_path/special_results.parquet\n", - "3423\n", - "model_vars.get('Gini', 0)[-1]=0.704\n", - "Condition met. Appended special results for step 3424 to test_path/special_results.parquet\n", - "3424\n", - "model_vars.get('Gini', 0)[-1]=0.7238\n", - "Condition met. Appended special results for step 3425 to test_path/special_results.parquet\n", - "3425\n", - "model_vars.get('Gini', 0)[-1]=0.741\n", - "Condition met. Appended special results for step 3426 to test_path/special_results.parquet\n", - "3426\n", - "model_vars.get('Gini', 0)[-1]=0.7366\n", - "Condition met. Appended special results for step 3427 to test_path/special_results.parquet\n", - "3427\n", - "model_vars.get('Gini', 0)[-1]=0.7206\n", - "Condition met. Appended special results for step 3428 to test_path/special_results.parquet\n", - "3428\n", - "model_vars.get('Gini', 0)[-1]=0.712\n", - "Condition met. Appended special results for step 3429 to test_path/special_results.parquet\n", - "3429\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 3430. No data to save.\n", - "3430\n", - "model_vars.get('Gini', 0)[-1]=0.6634\n", - "Condition not met at step 3431. No data to save.\n", - "3431\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 3432. No data to save.\n", - "3432\n", - "model_vars.get('Gini', 0)[-1]=0.7052\n", - "Condition met. Appended special results for step 3433 to test_path/special_results.parquet\n", - "3433\n", - "model_vars.get('Gini', 0)[-1]=0.6934\n", - "Condition not met at step 3434. No data to save.\n", - "3434\n", - "model_vars.get('Gini', 0)[-1]=0.7070000000000001\n", - "Condition met. Appended special results for step 3435 to test_path/special_results.parquet\n", - "3435\n", - "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", - "Condition not met at step 3436. No data to save.\n", - "3436\n", - "model_vars.get('Gini', 0)[-1]=0.7098\n", - "Condition met. Appended special results for step 3437 to test_path/special_results.parquet\n", - "3437\n", - "model_vars.get('Gini', 0)[-1]=0.712\n", - "Condition met. Appended special results for step 3438 to test_path/special_results.parquet\n", - "3438\n", - "model_vars.get('Gini', 0)[-1]=0.739\n", - "Condition met. Appended special results for step 3439 to test_path/special_results.parquet\n", - "3439\n", - "model_vars.get('Gini', 0)[-1]=0.7592\n", - "Condition met. Appended special results for step 3440 to test_path/special_results.parquet\n", - "3440\n", - "model_vars.get('Gini', 0)[-1]=0.7752\n", - "Condition met. Appended special results for step 3441 to test_path/special_results.parquet\n", - "3441\n", - "model_vars.get('Gini', 0)[-1]=0.7854\n", - "Condition met. Appended special results for step 3442 to test_path/special_results.parquet\n", - "3442\n", - "model_vars.get('Gini', 0)[-1]=0.7886\n", - "Condition met. Appended special results for step 3443 to test_path/special_results.parquet\n", - "3443\n", - "model_vars.get('Gini', 0)[-1]=0.7818\n", - "Condition met. Appended special results for step 3444 to test_path/special_results.parquet\n", - "3444\n", - "model_vars.get('Gini', 0)[-1]=0.766\n", - "Condition met. Appended special results for step 3445 to test_path/special_results.parquet\n", - "3445\n", - "model_vars.get('Gini', 0)[-1]=0.7464\n", - "Condition met. Appended special results for step 3446 to test_path/special_results.parquet\n", - "3446\n", - "model_vars.get('Gini', 0)[-1]=0.747\n", - "Condition met. Appended special results for step 3447 to test_path/special_results.parquet\n", - "3447\n", - "model_vars.get('Gini', 0)[-1]=0.7323999999999999\n", - "Condition met. Appended special results for step 3448 to test_path/special_results.parquet\n", - "3448\n", - "model_vars.get('Gini', 0)[-1]=0.74\n", - "Condition met. Appended special results for step 3449 to test_path/special_results.parquet\n", - "3449\n", - "model_vars.get('Gini', 0)[-1]=0.7296\n", - "Condition met. Appended special results for step 3450 to test_path/special_results.parquet\n", - "3450\n", - "model_vars.get('Gini', 0)[-1]=0.722\n", - "Condition met. Appended special results for step 3451 to test_path/special_results.parquet\n", - "3451\n", - "model_vars.get('Gini', 0)[-1]=0.7150000000000001\n", - "Condition met. Appended special results for step 3452 to test_path/special_results.parquet\n", - "3452\n", - "model_vars.get('Gini', 0)[-1]=0.708\n", - "Condition met. Appended special results for step 3453 to test_path/special_results.parquet\n", - "3453\n", - "model_vars.get('Gini', 0)[-1]=0.7070000000000001\n", - "Condition met. Appended special results for step 3454 to test_path/special_results.parquet\n", - "3454\n", - "model_vars.get('Gini', 0)[-1]=0.6778\n", - "Condition not met at step 3455. No data to save.\n", - "3455\n", - "model_vars.get('Gini', 0)[-1]=0.677\n", - "Condition not met at step 3456. No data to save.\n", - "3456\n", - "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", - "Condition not met at step 3457. No data to save.\n", - "3457\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 3458. No data to save.\n", - "3458\n", - "model_vars.get('Gini', 0)[-1]=0.6868000000000001\n", - "Condition not met at step 3459. No data to save.\n", - "3459\n", - "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", - "Condition not met at step 3460. No data to save.\n", - "3460\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 3461. No data to save.\n", - "3461\n", - "model_vars.get('Gini', 0)[-1]=0.6312\n", - "Condition not met at step 3462. No data to save.\n", - "3462\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 3463. No data to save.\n", - "3463\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 3464. No data to save.\n", - "3464\n", - "model_vars.get('Gini', 0)[-1]=0.6872\n", - "Condition not met at step 3465. No data to save.\n", - "3465\n", - "model_vars.get('Gini', 0)[-1]=0.6896\n", - "Condition not met at step 3466. No data to save.\n", - "3466\n", - "model_vars.get('Gini', 0)[-1]=0.7096\n", - "Condition met. Appended special results for step 3467 to test_path/special_results.parquet\n", - "3467\n", - "model_vars.get('Gini', 0)[-1]=0.6986\n", - "Condition not met at step 3468. No data to save.\n", - "3468\n", - "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", - "Condition not met at step 3469. No data to save.\n", - "3469\n", - "model_vars.get('Gini', 0)[-1]=0.6946\n", - "Condition not met at step 3470. No data to save.\n", - "3470\n", - "model_vars.get('Gini', 0)[-1]=0.6826\n", - "Condition not met at step 3471. No data to save.\n", - "3471\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", - "Condition not met at step 3472. No data to save.\n", - "3472\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", - "Condition not met at step 3473. No data to save.\n", - "3473\n", - "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", - "Condition not met at step 3474. No data to save.\n", - "3474\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 3475. No data to save.\n", - "3475\n", - "model_vars.get('Gini', 0)[-1]=0.6754\n", - "Condition not met at step 3476. No data to save.\n", - "3476\n", - "model_vars.get('Gini', 0)[-1]=0.6834\n", - "Condition not met at step 3477. No data to save.\n", - "3477\n", - "model_vars.get('Gini', 0)[-1]=0.6814\n", - "Condition not met at step 3478. No data to save.\n", - "3478\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", - "Condition not met at step 3479. No data to save.\n", - "3479\n", - "model_vars.get('Gini', 0)[-1]=0.7004\n", - "Condition met. Appended special results for step 3480 to test_path/special_results.parquet\n", - "3480\n", - "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", - "Condition not met at step 3481. No data to save.\n", - "3481\n", - "model_vars.get('Gini', 0)[-1]=0.6782\n", - "Condition not met at step 3482. No data to save.\n", - "3482\n", - "model_vars.get('Gini', 0)[-1]=0.6556\n", - "Condition not met at step 3483. No data to save.\n", - "3483\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 3484. No data to save.\n", - "3484\n", - "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", - "Condition not met at step 3485. No data to save.\n", - "3485\n", - "model_vars.get('Gini', 0)[-1]=0.6824\n", - "Condition not met at step 3486. No data to save.\n", - "3486\n", - "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", - "Condition not met at step 3487. No data to save.\n", - "3487\n", - "model_vars.get('Gini', 0)[-1]=0.679\n", - "Condition not met at step 3488. No data to save.\n", - "3488\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 3489. No data to save.\n", - "3489\n", - "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", - "Condition not met at step 3490. No data to save.\n", - "3490\n", - "model_vars.get('Gini', 0)[-1]=0.6846\n", - "Condition not met at step 3491. No data to save.\n", - "3491\n", - "model_vars.get('Gini', 0)[-1]=0.6794\n", - "Condition not met at step 3492. No data to save.\n", - "3492\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 3493. No data to save.\n", - "3493\n", - "model_vars.get('Gini', 0)[-1]=0.692\n", - "Condition not met at step 3494. No data to save.\n", - "3494\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 3495. No data to save.\n", - "3495\n", - "model_vars.get('Gini', 0)[-1]=0.6898\n", - "Condition not met at step 3496. No data to save.\n", - "3496\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 3497. No data to save.\n", - "3497\n", - "model_vars.get('Gini', 0)[-1]=0.6576\n", - "Condition not met at step 3498. No data to save.\n", - "3498\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", - "Condition not met at step 3499. No data to save.\n", - "3499\n", - "CALLED\n", - "self.model._steps=3500\n", - " TEST self.model._steps=3500\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "3400 0.6626\n", - "3401 0.6538\n", - "3402 0.6572\n", - "3403 0.6492\n", - "3404 0.6386\n", - "... ...\n", - "3495 0.6898\n", - "3496 0.6606\n", - "3497 0.6576\n", - "3498 0.6604\n", - "3499 0.6790\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_035.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_035.parquet'\n", - "Saving model to test_path/model_data_035.parquet\n", - "Saving agent to test_path/agent_data_035.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.679\n", - "Condition not met at step 3500. No data to save.\n", - "3500\n", - "model_vars.get('Gini', 0)[-1]=0.7090000000000001\n", - "Condition met. Appended special results for step 3501 to test_path/special_results.parquet\n", - "3501\n", - "model_vars.get('Gini', 0)[-1]=0.7061999999999999\n", - "Condition met. Appended special results for step 3502 to test_path/special_results.parquet\n", - "3502\n", - "model_vars.get('Gini', 0)[-1]=0.712\n", - "Condition met. Appended special results for step 3503 to test_path/special_results.parquet\n", - "3503\n", - "model_vars.get('Gini', 0)[-1]=0.6938\n", - "Condition not met at step 3504. No data to save.\n", - "3504\n", - "model_vars.get('Gini', 0)[-1]=0.7054\n", - "Condition met. Appended special results for step 3505 to test_path/special_results.parquet\n", - "3505\n", - "model_vars.get('Gini', 0)[-1]=0.6921999999999999\n", - "Condition not met at step 3506. No data to save.\n", - "3506\n", - "model_vars.get('Gini', 0)[-1]=0.6912\n", - "Condition not met at step 3507. No data to save.\n", - "3507\n", - "model_vars.get('Gini', 0)[-1]=0.6868000000000001\n", - "Condition not met at step 3508. No data to save.\n", - "3508\n", - "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", - "Condition not met at step 3509. No data to save.\n", - "3509\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", - "Condition not met at step 3510. No data to save.\n", - "3510\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 3511. No data to save.\n", - "3511\n", - "model_vars.get('Gini', 0)[-1]=0.6716\n", - "Condition not met at step 3512. No data to save.\n", - "3512\n", - "model_vars.get('Gini', 0)[-1]=0.649\n", - "Condition not met at step 3513. No data to save.\n", - "3513\n", - "model_vars.get('Gini', 0)[-1]=0.667\n", - "Condition not met at step 3514. No data to save.\n", - "3514\n", - "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", - "Condition not met at step 3515. No data to save.\n", - "3515\n", - "model_vars.get('Gini', 0)[-1]=0.677\n", - "Condition not met at step 3516. No data to save.\n", - "3516\n", - "model_vars.get('Gini', 0)[-1]=0.6684\n", - "Condition not met at step 3517. No data to save.\n", - "3517\n", - "model_vars.get('Gini', 0)[-1]=0.6596\n", - "Condition not met at step 3518. No data to save.\n", - "3518\n", - "model_vars.get('Gini', 0)[-1]=0.6794\n", - "Condition not met at step 3519. No data to save.\n", - "3519\n", - "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", - "Condition not met at step 3520. No data to save.\n", - "3520\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", - "Condition not met at step 3521. No data to save.\n", - "3521\n", - "model_vars.get('Gini', 0)[-1]=0.7012\n", - "Condition met. Appended special results for step 3522 to test_path/special_results.parquet\n", - "3522\n", - "model_vars.get('Gini', 0)[-1]=0.7021999999999999\n", - "Condition met. Appended special results for step 3523 to test_path/special_results.parquet\n", - "3523\n", - "model_vars.get('Gini', 0)[-1]=0.7101999999999999\n", - "Condition met. Appended special results for step 3524 to test_path/special_results.parquet\n", - "3524\n", - "model_vars.get('Gini', 0)[-1]=0.6906\n", - "Condition not met at step 3525. No data to save.\n", - "3525\n", - "model_vars.get('Gini', 0)[-1]=0.6958\n", - "Condition not met at step 3526. No data to save.\n", - "3526\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", - "Condition not met at step 3527. No data to save.\n", - "3527\n", - "model_vars.get('Gini', 0)[-1]=0.6812\n", - "Condition not met at step 3528. No data to save.\n", - "3528\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 3529. No data to save.\n", - "3529\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", - "Condition not met at step 3530. No data to save.\n", - "3530\n", - "model_vars.get('Gini', 0)[-1]=0.6168\n", - "Condition not met at step 3531. No data to save.\n", - "3531\n", - "model_vars.get('Gini', 0)[-1]=0.621\n", - "Condition not met at step 3532. No data to save.\n", - "3532\n", - "model_vars.get('Gini', 0)[-1]=0.6174\n", - "Condition not met at step 3533. No data to save.\n", - "3533\n", - "model_vars.get('Gini', 0)[-1]=0.6246\n", - "Condition not met at step 3534. No data to save.\n", - "3534\n", - "model_vars.get('Gini', 0)[-1]=0.5993999999999999\n", - "Condition not met at step 3535. No data to save.\n", - "3535\n", - "model_vars.get('Gini', 0)[-1]=0.6208\n", - "Condition not met at step 3536. No data to save.\n", - "3536\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", - "Condition not met at step 3537. No data to save.\n", - "3537\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 3538. No data to save.\n", - "3538\n", - "model_vars.get('Gini', 0)[-1]=0.6534\n", - "Condition not met at step 3539. No data to save.\n", - "3539\n", - "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", - "Condition not met at step 3540. No data to save.\n", - "3540\n", - "model_vars.get('Gini', 0)[-1]=0.6396\n", - "Condition not met at step 3541. No data to save.\n", - "3541\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 3542. No data to save.\n", - "3542\n", - "model_vars.get('Gini', 0)[-1]=0.6654\n", - "Condition not met at step 3543. No data to save.\n", - "3543\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", - "Condition not met at step 3544. No data to save.\n", - "3544\n", - "model_vars.get('Gini', 0)[-1]=0.6774\n", - "Condition not met at step 3545. No data to save.\n", - "3545\n", - "model_vars.get('Gini', 0)[-1]=0.6872\n", - "Condition not met at step 3546. No data to save.\n", - "3546\n", - "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", - "Condition not met at step 3547. No data to save.\n", - "3547\n", - "model_vars.get('Gini', 0)[-1]=0.694\n", - "Condition not met at step 3548. No data to save.\n", - "3548\n", - "model_vars.get('Gini', 0)[-1]=0.6908000000000001\n", - "Condition not met at step 3549. No data to save.\n", - "3549\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 3550. No data to save.\n", - "3550\n", - "model_vars.get('Gini', 0)[-1]=0.663\n", - "Condition not met at step 3551. No data to save.\n", - "3551\n", - "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", - "Condition not met at step 3552. No data to save.\n", - "3552\n", - "model_vars.get('Gini', 0)[-1]=0.6372\n", - "Condition not met at step 3553. No data to save.\n", - "3553\n", - "model_vars.get('Gini', 0)[-1]=0.6682\n", - "Condition not met at step 3554. No data to save.\n", - "3554\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 3555. No data to save.\n", - "3555\n", - "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", - "Condition not met at step 3556. No data to save.\n", - "3556\n", - "model_vars.get('Gini', 0)[-1]=0.6308\n", - "Condition not met at step 3557. No data to save.\n", - "3557\n", - "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", - "Condition not met at step 3558. No data to save.\n", - "3558\n", - "model_vars.get('Gini', 0)[-1]=0.6562\n", - "Condition not met at step 3559. No data to save.\n", - "3559\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", - "Condition not met at step 3560. No data to save.\n", - "3560\n", - "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", - "Condition not met at step 3561. No data to save.\n", - "3561\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", - "Condition not met at step 3562. No data to save.\n", - "3562\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 3563. No data to save.\n", - "3563\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 3564. No data to save.\n", - "3564\n", - "model_vars.get('Gini', 0)[-1]=0.6698\n", - "Condition not met at step 3565. No data to save.\n", - "3565\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 3566. No data to save.\n", - "3566\n", - "model_vars.get('Gini', 0)[-1]=0.6774\n", - "Condition not met at step 3567. No data to save.\n", - "3567\n", - "model_vars.get('Gini', 0)[-1]=0.6926\n", - "Condition not met at step 3568. No data to save.\n", - "3568\n", - "model_vars.get('Gini', 0)[-1]=0.7004\n", - "Condition met. Appended special results for step 3569 to test_path/special_results.parquet\n", - "3569\n", - "model_vars.get('Gini', 0)[-1]=0.6864\n", - "Condition not met at step 3570. No data to save.\n", - "3570\n", - "model_vars.get('Gini', 0)[-1]=0.6912\n", - "Condition not met at step 3571. No data to save.\n", - "3571\n", - "model_vars.get('Gini', 0)[-1]=0.6738\n", - "Condition not met at step 3572. No data to save.\n", - "3572\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 3573. No data to save.\n", - "3573\n", - "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", - "Condition not met at step 3574. No data to save.\n", - "3574\n", - "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", - "Condition not met at step 3575. No data to save.\n", - "3575\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 3576. No data to save.\n", - "3576\n", - "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", - "Condition not met at step 3577. No data to save.\n", - "3577\n", - "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", - "Condition not met at step 3578. No data to save.\n", - "3578\n", - "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", - "Condition not met at step 3579. No data to save.\n", - "3579\n", - "model_vars.get('Gini', 0)[-1]=0.6692\n", - "Condition not met at step 3580. No data to save.\n", - "3580\n", - "model_vars.get('Gini', 0)[-1]=0.6876\n", - "Condition not met at step 3581. No data to save.\n", - "3581\n", - "model_vars.get('Gini', 0)[-1]=0.6932\n", - "Condition not met at step 3582. No data to save.\n", - "3582\n", - "model_vars.get('Gini', 0)[-1]=0.6836\n", - "Condition not met at step 3583. No data to save.\n", - "3583\n", - "model_vars.get('Gini', 0)[-1]=0.687\n", - "Condition not met at step 3584. No data to save.\n", - "3584\n", - "model_vars.get('Gini', 0)[-1]=0.6912\n", - "Condition not met at step 3585. No data to save.\n", - "3585\n", - "model_vars.get('Gini', 0)[-1]=0.6924\n", - "Condition not met at step 3586. No data to save.\n", - "3586\n", - "model_vars.get('Gini', 0)[-1]=0.671\n", - "Condition not met at step 3587. No data to save.\n", - "3587\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 3588. No data to save.\n", - "3588\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", - "Condition not met at step 3589. No data to save.\n", - "3589\n", - "model_vars.get('Gini', 0)[-1]=0.64\n", - "Condition not met at step 3590. No data to save.\n", - "3590\n", - "model_vars.get('Gini', 0)[-1]=0.635\n", - "Condition not met at step 3591. No data to save.\n", - "3591\n", - "model_vars.get('Gini', 0)[-1]=0.642\n", - "Condition not met at step 3592. No data to save.\n", - "3592\n", - "model_vars.get('Gini', 0)[-1]=0.6202000000000001\n", - "Condition not met at step 3593. No data to save.\n", - "3593\n", - "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", - "Condition not met at step 3594. No data to save.\n", - "3594\n", - "model_vars.get('Gini', 0)[-1]=0.6454\n", - "Condition not met at step 3595. No data to save.\n", - "3595\n", - "model_vars.get('Gini', 0)[-1]=0.6466000000000001\n", - "Condition not met at step 3596. No data to save.\n", - "3596\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 3597. No data to save.\n", - "3597\n", - "model_vars.get('Gini', 0)[-1]=0.6938\n", - "Condition not met at step 3598. No data to save.\n", - "3598\n", - "model_vars.get('Gini', 0)[-1]=0.677\n", - "Condition not met at step 3599. No data to save.\n", - "3599\n", - "CALLED\n", - "self.model._steps=3600\n", - " TEST self.model._steps=3600\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "3500 0.7090\n", - "3501 0.7062\n", - "3502 0.7120\n", - "3503 0.6938\n", - "3504 0.7054\n", - "... ...\n", - "3595 0.6466\n", - "3596 0.6730\n", - "3597 0.6938\n", - "3598 0.6770\n", - "3599 0.6718\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_036.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_036.parquet'\n", - "Saving model to test_path/model_data_036.parquet\n", - "Saving agent to test_path/agent_data_036.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 3600. No data to save.\n", - "3600\n", - "model_vars.get('Gini', 0)[-1]=0.6856\n", - "Condition not met at step 3601. No data to save.\n", - "3601\n", - "model_vars.get('Gini', 0)[-1]=0.677\n", - "Condition not met at step 3602. No data to save.\n", - "3602\n", - "model_vars.get('Gini', 0)[-1]=0.6754\n", - "Condition not met at step 3603. No data to save.\n", - "3603\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 3604. No data to save.\n", - "3604\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", - "Condition not met at step 3605. No data to save.\n", - "3605\n", - "model_vars.get('Gini', 0)[-1]=0.6674\n", - "Condition not met at step 3606. No data to save.\n", - "3606\n", - "model_vars.get('Gini', 0)[-1]=0.6794\n", - "Condition not met at step 3607. No data to save.\n", - "3607\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", - "Condition not met at step 3608. No data to save.\n", - "3608\n", - "model_vars.get('Gini', 0)[-1]=0.667\n", - "Condition not met at step 3609. No data to save.\n", - "3609\n", - "model_vars.get('Gini', 0)[-1]=0.6814\n", - "Condition not met at step 3610. No data to save.\n", - "3610\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 3611. No data to save.\n", - "3611\n", - "model_vars.get('Gini', 0)[-1]=0.6839999999999999\n", - "Condition not met at step 3612. No data to save.\n", - "3612\n", - "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", - "Condition not met at step 3613. No data to save.\n", - "3613\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 3614. No data to save.\n", - "3614\n", - "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", - "Condition not met at step 3615. No data to save.\n", - "3615\n", - "model_vars.get('Gini', 0)[-1]=0.666\n", - "Condition not met at step 3616. No data to save.\n", - "3616\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", - "Condition not met at step 3617. No data to save.\n", - "3617\n", - "model_vars.get('Gini', 0)[-1]=0.6398\n", - "Condition not met at step 3618. No data to save.\n", - "3618\n", - "model_vars.get('Gini', 0)[-1]=0.6674\n", - "Condition not met at step 3619. No data to save.\n", - "3619\n", - "model_vars.get('Gini', 0)[-1]=0.6622\n", - "Condition not met at step 3620. No data to save.\n", - "3620\n", - "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", - "Condition not met at step 3621. No data to save.\n", - "3621\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 3622. No data to save.\n", - "3622\n", - "model_vars.get('Gini', 0)[-1]=0.6122000000000001\n", - "Condition not met at step 3623. No data to save.\n", - "3623\n", - "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", - "Condition not met at step 3624. No data to save.\n", - "3624\n", - "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", - "Condition not met at step 3625. No data to save.\n", - "3625\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", - "Condition not met at step 3626. No data to save.\n", - "3626\n", - "model_vars.get('Gini', 0)[-1]=0.6334\n", - "Condition not met at step 3627. No data to save.\n", - "3627\n", - "model_vars.get('Gini', 0)[-1]=0.622\n", - "Condition not met at step 3628. No data to save.\n", - "3628\n", - "model_vars.get('Gini', 0)[-1]=0.657\n", - "Condition not met at step 3629. No data to save.\n", - "3629\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", - "Condition not met at step 3630. No data to save.\n", - "3630\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", - "Condition not met at step 3631. No data to save.\n", - "3631\n", - "model_vars.get('Gini', 0)[-1]=0.6312\n", - "Condition not met at step 3632. No data to save.\n", - "3632\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", - "Condition not met at step 3633. No data to save.\n", - "3633\n", - "model_vars.get('Gini', 0)[-1]=0.6332\n", - "Condition not met at step 3634. No data to save.\n", - "3634\n", - "model_vars.get('Gini', 0)[-1]=0.6338\n", - "Condition not met at step 3635. No data to save.\n", - "3635\n", - "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", - "Condition not met at step 3636. No data to save.\n", - "3636\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", - "Condition not met at step 3637. No data to save.\n", - "3637\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", - "Condition not met at step 3638. No data to save.\n", - "3638\n", - "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", - "Condition not met at step 3639. No data to save.\n", - "3639\n", - "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", - "Condition not met at step 3640. No data to save.\n", - "3640\n", - "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", - "Condition not met at step 3641. No data to save.\n", - "3641\n", - "model_vars.get('Gini', 0)[-1]=0.6932\n", - "Condition not met at step 3642. No data to save.\n", - "3642\n", - "model_vars.get('Gini', 0)[-1]=0.6998\n", - "Condition not met at step 3643. No data to save.\n", - "3643\n", - "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", - "Condition not met at step 3644. No data to save.\n", - "3644\n", - "model_vars.get('Gini', 0)[-1]=0.6792\n", - "Condition not met at step 3645. No data to save.\n", - "3645\n", - "model_vars.get('Gini', 0)[-1]=0.6698\n", - "Condition not met at step 3646. No data to save.\n", - "3646\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 3647. No data to save.\n", - "3647\n", - "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", - "Condition not met at step 3648. No data to save.\n", - "3648\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 3649. No data to save.\n", - "3649\n", - "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", - "Condition not met at step 3650. No data to save.\n", - "3650\n", - "model_vars.get('Gini', 0)[-1]=0.6972\n", - "Condition not met at step 3651. No data to save.\n", - "3651\n", - "model_vars.get('Gini', 0)[-1]=0.6772\n", - "Condition not met at step 3652. No data to save.\n", - "3652\n", - "model_vars.get('Gini', 0)[-1]=0.6842\n", - "Condition not met at step 3653. No data to save.\n", - "3653\n", - "model_vars.get('Gini', 0)[-1]=0.6872\n", - "Condition not met at step 3654. No data to save.\n", - "3654\n", - "model_vars.get('Gini', 0)[-1]=0.6896\n", - "Condition not met at step 3655. No data to save.\n", - "3655\n", - "model_vars.get('Gini', 0)[-1]=0.679\n", - "Condition not met at step 3656. No data to save.\n", - "3656\n", - "model_vars.get('Gini', 0)[-1]=0.6572\n", - "Condition not met at step 3657. No data to save.\n", - "3657\n", - "model_vars.get('Gini', 0)[-1]=0.645\n", - "Condition not met at step 3658. No data to save.\n", - "3658\n", - "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", - "Condition not met at step 3659. No data to save.\n", - "3659\n", - "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", - "Condition not met at step 3660. No data to save.\n", - "3660\n", - "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", - "Condition not met at step 3661. No data to save.\n", - "3661\n", - "model_vars.get('Gini', 0)[-1]=0.6864\n", - "Condition not met at step 3662. No data to save.\n", - "3662\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", - "Condition not met at step 3663. No data to save.\n", - "3663\n", - "model_vars.get('Gini', 0)[-1]=0.696\n", - "Condition not met at step 3664. No data to save.\n", - "3664\n", - "model_vars.get('Gini', 0)[-1]=0.6682\n", - "Condition not met at step 3665. No data to save.\n", - "3665\n", - "model_vars.get('Gini', 0)[-1]=0.679\n", - "Condition not met at step 3666. No data to save.\n", - "3666\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 3667. No data to save.\n", - "3667\n", - "model_vars.get('Gini', 0)[-1]=0.662\n", - "Condition not met at step 3668. No data to save.\n", - "3668\n", - "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", - "Condition not met at step 3669. No data to save.\n", - "3669\n", - "model_vars.get('Gini', 0)[-1]=0.6792\n", - "Condition not met at step 3670. No data to save.\n", - "3670\n", - "model_vars.get('Gini', 0)[-1]=0.6254\n", - "Condition not met at step 3671. No data to save.\n", - "3671\n", - "model_vars.get('Gini', 0)[-1]=0.6212\n", - "Condition not met at step 3672. No data to save.\n", - "3672\n", - "model_vars.get('Gini', 0)[-1]=0.632\n", - "Condition not met at step 3673. No data to save.\n", - "3673\n", - "model_vars.get('Gini', 0)[-1]=0.649\n", - "Condition not met at step 3674. No data to save.\n", - "3674\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", - "Condition not met at step 3675. No data to save.\n", - "3675\n", - "model_vars.get('Gini', 0)[-1]=0.6318\n", - "Condition not met at step 3676. No data to save.\n", - "3676\n", - "model_vars.get('Gini', 0)[-1]=0.6376\n", - "Condition not met at step 3677. No data to save.\n", - "3677\n", - "model_vars.get('Gini', 0)[-1]=0.633\n", - "Condition not met at step 3678. No data to save.\n", - "3678\n", - "model_vars.get('Gini', 0)[-1]=0.6656\n", - "Condition not met at step 3679. No data to save.\n", - "3679\n", - "model_vars.get('Gini', 0)[-1]=0.6878\n", - "Condition not met at step 3680. No data to save.\n", - "3680\n", - "model_vars.get('Gini', 0)[-1]=0.6872\n", - "Condition not met at step 3681. No data to save.\n", - "3681\n", - "model_vars.get('Gini', 0)[-1]=0.7046\n", - "Condition met. Appended special results for step 3682 to test_path/special_results.parquet\n", - "3682\n", - "model_vars.get('Gini', 0)[-1]=0.698\n", - "Condition not met at step 3683. No data to save.\n", - "3683\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", - "Condition not met at step 3684. No data to save.\n", - "3684\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", - "Condition not met at step 3685. No data to save.\n", - "3685\n", - "model_vars.get('Gini', 0)[-1]=0.6902\n", - "Condition not met at step 3686. No data to save.\n", - "3686\n", - "model_vars.get('Gini', 0)[-1]=0.6974\n", - "Condition not met at step 3687. No data to save.\n", - "3687\n", - "model_vars.get('Gini', 0)[-1]=0.6928000000000001\n", - "Condition not met at step 3688. No data to save.\n", - "3688\n", - "model_vars.get('Gini', 0)[-1]=0.6974\n", - "Condition not met at step 3689. No data to save.\n", - "3689\n", - "model_vars.get('Gini', 0)[-1]=0.6779999999999999\n", - "Condition not met at step 3690. No data to save.\n", - "3690\n", - "model_vars.get('Gini', 0)[-1]=0.6674\n", - "Condition not met at step 3691. No data to save.\n", - "3691\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 3692. No data to save.\n", - "3692\n", - "model_vars.get('Gini', 0)[-1]=0.664\n", - "Condition not met at step 3693. No data to save.\n", - "3693\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 3694. No data to save.\n", - "3694\n", - "model_vars.get('Gini', 0)[-1]=0.6624\n", - "Condition not met at step 3695. No data to save.\n", - "3695\n", - "model_vars.get('Gini', 0)[-1]=0.6432\n", - "Condition not met at step 3696. No data to save.\n", - "3696\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 3697. No data to save.\n", - "3697\n", - "model_vars.get('Gini', 0)[-1]=0.6624\n", - "Condition not met at step 3698. No data to save.\n", - "3698\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", - "Condition not met at step 3699. No data to save.\n", - "3699\n", - "CALLED\n", - "self.model._steps=3700\n", - " TEST self.model._steps=3700\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "3600 0.6856\n", - "3601 0.6770\n", - "3602 0.6754\n", - "3603 0.6688\n", - "3604 0.6642\n", - "... ...\n", - "3695 0.6432\n", - "3696 0.6644\n", - "3697 0.6624\n", - "3698 0.6758\n", - "3699 0.6884\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_037.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_037.parquet'\n", - "Saving model to test_path/model_data_037.parquet\n", - "Saving agent to test_path/agent_data_037.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6884\n", - "Condition not met at step 3700. No data to save.\n", - "3700\n", - "model_vars.get('Gini', 0)[-1]=0.6858\n", - "Condition not met at step 3701. No data to save.\n", - "3701\n", - "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", - "Condition not met at step 3702. No data to save.\n", - "3702\n", - "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", - "Condition not met at step 3703. No data to save.\n", - "3703\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", - "Condition not met at step 3704. No data to save.\n", - "3704\n", - "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", - "Condition not met at step 3705. No data to save.\n", - "3705\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 3706. No data to save.\n", - "3706\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 3707. No data to save.\n", - "3707\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 3708. No data to save.\n", - "3708\n", - "model_vars.get('Gini', 0)[-1]=0.6514\n", - "Condition not met at step 3709. No data to save.\n", - "3709\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", - "Condition not met at step 3710. No data to save.\n", - "3710\n", - "model_vars.get('Gini', 0)[-1]=0.6662\n", - "Condition not met at step 3711. No data to save.\n", - "3711\n", - "model_vars.get('Gini', 0)[-1]=0.6698\n", - "Condition not met at step 3712. No data to save.\n", - "3712\n", - "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", - "Condition not met at step 3713. No data to save.\n", - "3713\n", - "model_vars.get('Gini', 0)[-1]=0.6784\n", - "Condition not met at step 3714. No data to save.\n", - "3714\n", - "model_vars.get('Gini', 0)[-1]=0.6866\n", - "Condition not met at step 3715. No data to save.\n", - "3715\n", - "model_vars.get('Gini', 0)[-1]=0.69\n", - "Condition not met at step 3716. No data to save.\n", - "3716\n", - "model_vars.get('Gini', 0)[-1]=0.7001999999999999\n", - "Condition met. Appended special results for step 3717 to test_path/special_results.parquet\n", - "3717\n", - "model_vars.get('Gini', 0)[-1]=0.692\n", - "Condition not met at step 3718. No data to save.\n", - "3718\n", - "model_vars.get('Gini', 0)[-1]=0.7138\n", - "Condition met. Appended special results for step 3719 to test_path/special_results.parquet\n", - "3719\n", - "model_vars.get('Gini', 0)[-1]=0.7203999999999999\n", - "Condition met. Appended special results for step 3720 to test_path/special_results.parquet\n", - "3720\n", - "model_vars.get('Gini', 0)[-1]=0.7142\n", - "Condition met. Appended special results for step 3721 to test_path/special_results.parquet\n", - "3721\n", - "model_vars.get('Gini', 0)[-1]=0.7108\n", - "Condition met. Appended special results for step 3722 to test_path/special_results.parquet\n", - "3722\n", - "model_vars.get('Gini', 0)[-1]=0.7144\n", - "Condition met. Appended special results for step 3723 to test_path/special_results.parquet\n", - "3723\n", - "model_vars.get('Gini', 0)[-1]=0.6876\n", - "Condition not met at step 3724. No data to save.\n", - "3724\n", - "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", - "Condition not met at step 3725. No data to save.\n", - "3725\n", - "model_vars.get('Gini', 0)[-1]=0.6232\n", - "Condition not met at step 3726. No data to save.\n", - "3726\n", - "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", - "Condition not met at step 3727. No data to save.\n", - "3727\n", - "model_vars.get('Gini', 0)[-1]=0.6234\n", - "Condition not met at step 3728. No data to save.\n", - "3728\n", - "model_vars.get('Gini', 0)[-1]=0.6656\n", - "Condition not met at step 3729. No data to save.\n", - "3729\n", - "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", - "Condition not met at step 3730. No data to save.\n", - "3730\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", - "Condition not met at step 3731. No data to save.\n", - "3731\n", - "model_vars.get('Gini', 0)[-1]=0.644\n", - "Condition not met at step 3732. No data to save.\n", - "3732\n", - "model_vars.get('Gini', 0)[-1]=0.631\n", - "Condition not met at step 3733. No data to save.\n", - "3733\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", - "Condition not met at step 3734. No data to save.\n", - "3734\n", - "model_vars.get('Gini', 0)[-1]=0.6022000000000001\n", - "Condition not met at step 3735. No data to save.\n", - "3735\n", - "model_vars.get('Gini', 0)[-1]=0.6078\n", - "Condition not met at step 3736. No data to save.\n", - "3736\n", - "model_vars.get('Gini', 0)[-1]=0.6554\n", - "Condition not met at step 3737. No data to save.\n", - "3737\n", - "model_vars.get('Gini', 0)[-1]=0.6612\n", - "Condition not met at step 3738. No data to save.\n", - "3738\n", - "model_vars.get('Gini', 0)[-1]=0.6552\n", - "Condition not met at step 3739. No data to save.\n", - "3739\n", - "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", - "Condition not met at step 3740. No data to save.\n", - "3740\n", - "model_vars.get('Gini', 0)[-1]=0.6376\n", - "Condition not met at step 3741. No data to save.\n", - "3741\n", - "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", - "Condition not met at step 3742. No data to save.\n", - "3742\n", - "model_vars.get('Gini', 0)[-1]=0.6652\n", - "Condition not met at step 3743. No data to save.\n", - "3743\n", - "model_vars.get('Gini', 0)[-1]=0.6556\n", - "Condition not met at step 3744. No data to save.\n", - "3744\n", - "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", - "Condition not met at step 3745. No data to save.\n", - "3745\n", - "model_vars.get('Gini', 0)[-1]=0.664\n", - "Condition not met at step 3746. No data to save.\n", - "3746\n", - "model_vars.get('Gini', 0)[-1]=0.629\n", - "Condition not met at step 3747. No data to save.\n", - "3747\n", - "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", - "Condition not met at step 3748. No data to save.\n", - "3748\n", - "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", - "Condition not met at step 3749. No data to save.\n", - "3749\n", - "model_vars.get('Gini', 0)[-1]=0.649\n", - "Condition not met at step 3750. No data to save.\n", - "3750\n", - "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", - "Condition not met at step 3751. No data to save.\n", - "3751\n", - "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", - "Condition not met at step 3752. No data to save.\n", - "3752\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 3753. No data to save.\n", - "3753\n", - "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", - "Condition not met at step 3754. No data to save.\n", - "3754\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", - "Condition not met at step 3755. No data to save.\n", - "3755\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", - "Condition not met at step 3756. No data to save.\n", - "3756\n", - "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", - "Condition not met at step 3757. No data to save.\n", - "3757\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 3758. No data to save.\n", - "3758\n", - "model_vars.get('Gini', 0)[-1]=0.666\n", - "Condition not met at step 3759. No data to save.\n", - "3759\n", - "model_vars.get('Gini', 0)[-1]=0.6472\n", - "Condition not met at step 3760. No data to save.\n", - "3760\n", - "model_vars.get('Gini', 0)[-1]=0.6656\n", - "Condition not met at step 3761. No data to save.\n", - "3761\n", - "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", - "Condition not met at step 3762. No data to save.\n", - "3762\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 3763. No data to save.\n", - "3763\n", - "model_vars.get('Gini', 0)[-1]=0.6802\n", - "Condition not met at step 3764. No data to save.\n", - "3764\n", - "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", - "Condition not met at step 3765. No data to save.\n", - "3765\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 3766. No data to save.\n", - "3766\n", - "model_vars.get('Gini', 0)[-1]=0.624\n", - "Condition not met at step 3767. No data to save.\n", - "3767\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 3768. No data to save.\n", - "3768\n", - "model_vars.get('Gini', 0)[-1]=0.6204000000000001\n", - "Condition not met at step 3769. No data to save.\n", - "3769\n", - "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", - "Condition not met at step 3770. No data to save.\n", - "3770\n", - "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", - "Condition not met at step 3771. No data to save.\n", - "3771\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 3772. No data to save.\n", - "3772\n", - "model_vars.get('Gini', 0)[-1]=0.6552\n", - "Condition not met at step 3773. No data to save.\n", - "3773\n", - "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", - "Condition not met at step 3774. No data to save.\n", - "3774\n", - "model_vars.get('Gini', 0)[-1]=0.6204000000000001\n", - "Condition not met at step 3775. No data to save.\n", - "3775\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 3776. No data to save.\n", - "3776\n", - "model_vars.get('Gini', 0)[-1]=0.659\n", - "Condition not met at step 3777. No data to save.\n", - "3777\n", - "model_vars.get('Gini', 0)[-1]=0.6612\n", - "Condition not met at step 3778. No data to save.\n", - "3778\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 3779. No data to save.\n", - "3779\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", - "Condition not met at step 3780. No data to save.\n", - "3780\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 3781. No data to save.\n", - "3781\n", - "model_vars.get('Gini', 0)[-1]=0.6426000000000001\n", - "Condition not met at step 3782. No data to save.\n", - "3782\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", - "Condition not met at step 3783. No data to save.\n", - "3783\n", - "model_vars.get('Gini', 0)[-1]=0.6168\n", - "Condition not met at step 3784. No data to save.\n", - "3784\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", - "Condition not met at step 3785. No data to save.\n", - "3785\n", - "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", - "Condition not met at step 3786. No data to save.\n", - "3786\n", - "model_vars.get('Gini', 0)[-1]=0.62\n", - "Condition not met at step 3787. No data to save.\n", - "3787\n", - "model_vars.get('Gini', 0)[-1]=0.62\n", - "Condition not met at step 3788. No data to save.\n", - "3788\n", - "model_vars.get('Gini', 0)[-1]=0.603\n", - "Condition not met at step 3789. No data to save.\n", - "3789\n", - "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", - "Condition not met at step 3790. No data to save.\n", - "3790\n", - "model_vars.get('Gini', 0)[-1]=0.6306\n", - "Condition not met at step 3791. No data to save.\n", - "3791\n", - "model_vars.get('Gini', 0)[-1]=0.6532\n", - "Condition not met at step 3792. No data to save.\n", - "3792\n", - "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", - "Condition not met at step 3793. No data to save.\n", - "3793\n", - "model_vars.get('Gini', 0)[-1]=0.6278\n", - "Condition not met at step 3794. No data to save.\n", - "3794\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 3795. No data to save.\n", - "3795\n", - "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", - "Condition not met at step 3796. No data to save.\n", - "3796\n", - "model_vars.get('Gini', 0)[-1]=0.624\n", - "Condition not met at step 3797. No data to save.\n", - "3797\n", - "model_vars.get('Gini', 0)[-1]=0.618\n", - "Condition not met at step 3798. No data to save.\n", - "3798\n", - "model_vars.get('Gini', 0)[-1]=0.5933999999999999\n", - "Condition not met at step 3799. No data to save.\n", - "3799\n", - "CALLED\n", - "self.model._steps=3800\n", - " TEST self.model._steps=3800\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "3700 0.6858\n", - "3701 0.6748\n", - "3702 0.6760\n", - "3703 0.6604\n", - "3704 0.6464\n", - "... ...\n", - "3795 0.6304\n", - "3796 0.6240\n", - "3797 0.6180\n", - "3798 0.5934\n", - "3799 0.5876\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_038.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_038.parquet'\n", - "Saving model to test_path/model_data_038.parquet\n", - "Saving agent to test_path/agent_data_038.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.5876\n", - "Condition not met at step 3800. No data to save.\n", - "3800\n", - "model_vars.get('Gini', 0)[-1]=0.619\n", - "Condition not met at step 3801. No data to save.\n", - "3801\n", - "model_vars.get('Gini', 0)[-1]=0.6318\n", - "Condition not met at step 3802. No data to save.\n", - "3802\n", - "model_vars.get('Gini', 0)[-1]=0.6033999999999999\n", - "Condition not met at step 3803. No data to save.\n", - "3803\n", - "model_vars.get('Gini', 0)[-1]=0.6322\n", - "Condition not met at step 3804. No data to save.\n", - "3804\n", - "model_vars.get('Gini', 0)[-1]=0.6234\n", - "Condition not met at step 3805. No data to save.\n", - "3805\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", - "Condition not met at step 3806. No data to save.\n", - "3806\n", - "model_vars.get('Gini', 0)[-1]=0.6388\n", - "Condition not met at step 3807. No data to save.\n", - "3807\n", - "model_vars.get('Gini', 0)[-1]=0.661\n", - "Condition not met at step 3808. No data to save.\n", - "3808\n", - "model_vars.get('Gini', 0)[-1]=0.6646000000000001\n", - "Condition not met at step 3809. No data to save.\n", - "3809\n", - "model_vars.get('Gini', 0)[-1]=0.6314\n", - "Condition not met at step 3810. No data to save.\n", - "3810\n", - "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", - "Condition not met at step 3811. No data to save.\n", - "3811\n", - "model_vars.get('Gini', 0)[-1]=0.6672\n", - "Condition not met at step 3812. No data to save.\n", - "3812\n", - "model_vars.get('Gini', 0)[-1]=0.6402\n", - "Condition not met at step 3813. No data to save.\n", - "3813\n", - "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", - "Condition not met at step 3814. No data to save.\n", - "3814\n", - "model_vars.get('Gini', 0)[-1]=0.597\n", - "Condition not met at step 3815. No data to save.\n", - "3815\n", - "model_vars.get('Gini', 0)[-1]=0.606\n", - "Condition not met at step 3816. No data to save.\n", - "3816\n", - "model_vars.get('Gini', 0)[-1]=0.6452\n", - "Condition not met at step 3817. No data to save.\n", - "3817\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", - "Condition not met at step 3818. No data to save.\n", - "3818\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 3819. No data to save.\n", - "3819\n", - "model_vars.get('Gini', 0)[-1]=0.6574\n", - "Condition not met at step 3820. No data to save.\n", - "3820\n", - "model_vars.get('Gini', 0)[-1]=0.6622\n", - "Condition not met at step 3821. No data to save.\n", - "3821\n", - "model_vars.get('Gini', 0)[-1]=0.6784\n", - "Condition not met at step 3822. No data to save.\n", - "3822\n", - "model_vars.get('Gini', 0)[-1]=0.6866\n", - "Condition not met at step 3823. No data to save.\n", - "3823\n", - "model_vars.get('Gini', 0)[-1]=0.6936\n", - "Condition not met at step 3824. No data to save.\n", - "3824\n", - "model_vars.get('Gini', 0)[-1]=0.6858\n", - "Condition not met at step 3825. No data to save.\n", - "3825\n", - "model_vars.get('Gini', 0)[-1]=0.6596\n", - "Condition not met at step 3826. No data to save.\n", - "3826\n", - "model_vars.get('Gini', 0)[-1]=0.7028000000000001\n", - "Condition met. Appended special results for step 3827 to test_path/special_results.parquet\n", - "3827\n", - "model_vars.get('Gini', 0)[-1]=0.6834\n", - "Condition not met at step 3828. No data to save.\n", - "3828\n", - "model_vars.get('Gini', 0)[-1]=0.6932\n", - "Condition not met at step 3829. No data to save.\n", - "3829\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 3830. No data to save.\n", - "3830\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", - "Condition not met at step 3831. No data to save.\n", - "3831\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 3832. No data to save.\n", - "3832\n", - "model_vars.get('Gini', 0)[-1]=0.626\n", - "Condition not met at step 3833. No data to save.\n", - "3833\n", - "model_vars.get('Gini', 0)[-1]=0.6258\n", - "Condition not met at step 3834. No data to save.\n", - "3834\n", - "model_vars.get('Gini', 0)[-1]=0.6258\n", - "Condition not met at step 3835. No data to save.\n", - "3835\n", - "model_vars.get('Gini', 0)[-1]=0.627\n", - "Condition not met at step 3836. No data to save.\n", - "3836\n", - "model_vars.get('Gini', 0)[-1]=0.591\n", - "Condition not met at step 3837. No data to save.\n", - "3837\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 3838. No data to save.\n", - "3838\n", - "model_vars.get('Gini', 0)[-1]=0.6537999999999999\n", - "Condition not met at step 3839. No data to save.\n", - "3839\n", - "model_vars.get('Gini', 0)[-1]=0.621\n", - "Condition not met at step 3840. No data to save.\n", - "3840\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", - "Condition not met at step 3841. No data to save.\n", - "3841\n", - "model_vars.get('Gini', 0)[-1]=0.683\n", - "Condition not met at step 3842. No data to save.\n", - "3842\n", - "model_vars.get('Gini', 0)[-1]=0.6608\n", - "Condition not met at step 3843. No data to save.\n", - "3843\n", - "model_vars.get('Gini', 0)[-1]=0.6396\n", - "Condition not met at step 3844. No data to save.\n", - "3844\n", - "model_vars.get('Gini', 0)[-1]=0.6392\n", - "Condition not met at step 3845. No data to save.\n", - "3845\n", - "model_vars.get('Gini', 0)[-1]=0.629\n", - "Condition not met at step 3846. No data to save.\n", - "3846\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 3847. No data to save.\n", - "3847\n", - "model_vars.get('Gini', 0)[-1]=0.6596\n", - "Condition not met at step 3848. No data to save.\n", - "3848\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", - "Condition not met at step 3849. No data to save.\n", - "3849\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 3850. No data to save.\n", - "3850\n", - "model_vars.get('Gini', 0)[-1]=0.6776\n", - "Condition not met at step 3851. No data to save.\n", - "3851\n", - "model_vars.get('Gini', 0)[-1]=0.6774\n", - "Condition not met at step 3852. No data to save.\n", - "3852\n", - "model_vars.get('Gini', 0)[-1]=0.7074\n", - "Condition met. Appended special results for step 3853 to test_path/special_results.parquet\n", - "3853\n", - "model_vars.get('Gini', 0)[-1]=0.6958\n", - "Condition not met at step 3854. No data to save.\n", - "3854\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", - "Condition not met at step 3855. No data to save.\n", - "3855\n", - "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", - "Condition not met at step 3856. No data to save.\n", - "3856\n", - "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", - "Condition not met at step 3857. No data to save.\n", - "3857\n", - "model_vars.get('Gini', 0)[-1]=0.6776\n", - "Condition not met at step 3858. No data to save.\n", - "3858\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 3859. No data to save.\n", - "3859\n", - "model_vars.get('Gini', 0)[-1]=0.6714\n", - "Condition not met at step 3860. No data to save.\n", - "3860\n", - "model_vars.get('Gini', 0)[-1]=0.6398\n", - "Condition not met at step 3861. No data to save.\n", - "3861\n", - "model_vars.get('Gini', 0)[-1]=0.653\n", - "Condition not met at step 3862. No data to save.\n", - "3862\n", - "model_vars.get('Gini', 0)[-1]=0.651\n", - "Condition not met at step 3863. No data to save.\n", - "3863\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", - "Condition not met at step 3864. No data to save.\n", - "3864\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 3865. No data to save.\n", - "3865\n", - "model_vars.get('Gini', 0)[-1]=0.6926\n", - "Condition not met at step 3866. No data to save.\n", - "3866\n", - "model_vars.get('Gini', 0)[-1]=0.6972\n", - "Condition not met at step 3867. No data to save.\n", - "3867\n", - "model_vars.get('Gini', 0)[-1]=0.694\n", - "Condition not met at step 3868. No data to save.\n", - "3868\n", - "model_vars.get('Gini', 0)[-1]=0.6819999999999999\n", - "Condition not met at step 3869. No data to save.\n", - "3869\n", - "model_vars.get('Gini', 0)[-1]=0.6884\n", - "Condition not met at step 3870. No data to save.\n", - "3870\n", - "model_vars.get('Gini', 0)[-1]=0.6866\n", - "Condition not met at step 3871. No data to save.\n", - "3871\n", - "model_vars.get('Gini', 0)[-1]=0.6692\n", - "Condition not met at step 3872. No data to save.\n", - "3872\n", - "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", - "Condition not met at step 3873. No data to save.\n", - "3873\n", - "model_vars.get('Gini', 0)[-1]=0.6576\n", - "Condition not met at step 3874. No data to save.\n", - "3874\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", - "Condition not met at step 3875. No data to save.\n", - "3875\n", - "model_vars.get('Gini', 0)[-1]=0.6492\n", - "Condition not met at step 3876. No data to save.\n", - "3876\n", - "model_vars.get('Gini', 0)[-1]=0.6388\n", - "Condition not met at step 3877. No data to save.\n", - "3877\n", - "model_vars.get('Gini', 0)[-1]=0.6564\n", - "Condition not met at step 3878. No data to save.\n", - "3878\n", - "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", - "Condition not met at step 3879. No data to save.\n", - "3879\n", - "model_vars.get('Gini', 0)[-1]=0.6402\n", - "Condition not met at step 3880. No data to save.\n", - "3880\n", - "model_vars.get('Gini', 0)[-1]=0.6502\n", - "Condition not met at step 3881. No data to save.\n", - "3881\n", - "model_vars.get('Gini', 0)[-1]=0.6436\n", - "Condition not met at step 3882. No data to save.\n", - "3882\n", - "model_vars.get('Gini', 0)[-1]=0.6328\n", - "Condition not met at step 3883. No data to save.\n", - "3883\n", - "model_vars.get('Gini', 0)[-1]=0.6302\n", - "Condition not met at step 3884. No data to save.\n", - "3884\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 3885. No data to save.\n", - "3885\n", - "model_vars.get('Gini', 0)[-1]=0.6782\n", - "Condition not met at step 3886. No data to save.\n", - "3886\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", - "Condition not met at step 3887. No data to save.\n", - "3887\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 3888. No data to save.\n", - "3888\n", - "model_vars.get('Gini', 0)[-1]=0.6792\n", - "Condition not met at step 3889. No data to save.\n", - "3889\n", - "model_vars.get('Gini', 0)[-1]=0.6804\n", - "Condition not met at step 3890. No data to save.\n", - "3890\n", - "model_vars.get('Gini', 0)[-1]=0.6856\n", - "Condition not met at step 3891. No data to save.\n", - "3891\n", - "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", - "Condition not met at step 3892. No data to save.\n", - "3892\n", - "model_vars.get('Gini', 0)[-1]=0.6742\n", - "Condition not met at step 3893. No data to save.\n", - "3893\n", - "model_vars.get('Gini', 0)[-1]=0.635\n", - "Condition not met at step 3894. No data to save.\n", - "3894\n", - "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", - "Condition not met at step 3895. No data to save.\n", - "3895\n", - "model_vars.get('Gini', 0)[-1]=0.66\n", - "Condition not met at step 3896. No data to save.\n", - "3896\n", - "model_vars.get('Gini', 0)[-1]=0.649\n", - "Condition not met at step 3897. No data to save.\n", - "3897\n", - "model_vars.get('Gini', 0)[-1]=0.6235999999999999\n", - "Condition not met at step 3898. No data to save.\n", - "3898\n", - "model_vars.get('Gini', 0)[-1]=0.6242000000000001\n", - "Condition not met at step 3899. No data to save.\n", - "3899\n", - "CALLED\n", - "self.model._steps=3900\n", - " TEST self.model._steps=3900\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "3800 0.6190\n", - "3801 0.6318\n", - "3802 0.6034\n", - "3803 0.6322\n", - "3804 0.6234\n", - "... ...\n", - "3895 0.6600\n", - "3896 0.6490\n", - "3897 0.6236\n", - "3898 0.6242\n", - "3899 0.6214\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_039.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_039.parquet'\n", - "Saving model to test_path/model_data_039.parquet\n", - "Saving agent to test_path/agent_data_039.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6214\n", - "Condition not met at step 3900. No data to save.\n", - "3900\n", - "model_vars.get('Gini', 0)[-1]=0.5982000000000001\n", - "Condition not met at step 3901. No data to save.\n", - "3901\n", - "model_vars.get('Gini', 0)[-1]=0.579\n", - "Condition not met at step 3902. No data to save.\n", - "3902\n", - "model_vars.get('Gini', 0)[-1]=0.5786\n", - "Condition not met at step 3903. No data to save.\n", - "3903\n", - "model_vars.get('Gini', 0)[-1]=0.5740000000000001\n", - "Condition not met at step 3904. No data to save.\n", - "3904\n", - "model_vars.get('Gini', 0)[-1]=0.5940000000000001\n", - "Condition not met at step 3905. No data to save.\n", - "3905\n", - "model_vars.get('Gini', 0)[-1]=0.6138\n", - "Condition not met at step 3906. No data to save.\n", - "3906\n", - "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", - "Condition not met at step 3907. No data to save.\n", - "3907\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 3908. No data to save.\n", - "3908\n", - "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", - "Condition not met at step 3909. No data to save.\n", - "3909\n", - "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", - "Condition not met at step 3910. No data to save.\n", - "3910\n", - "model_vars.get('Gini', 0)[-1]=0.6248\n", - "Condition not met at step 3911. No data to save.\n", - "3911\n", - "model_vars.get('Gini', 0)[-1]=0.6052\n", - "Condition not met at step 3912. No data to save.\n", - "3912\n", - "model_vars.get('Gini', 0)[-1]=0.6208\n", - "Condition not met at step 3913. No data to save.\n", - "3913\n", - "model_vars.get('Gini', 0)[-1]=0.6186\n", - "Condition not met at step 3914. No data to save.\n", - "3914\n", - "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", - "Condition not met at step 3915. No data to save.\n", - "3915\n", - "model_vars.get('Gini', 0)[-1]=0.6096\n", - "Condition not met at step 3916. No data to save.\n", - "3916\n", - "model_vars.get('Gini', 0)[-1]=0.6234\n", - "Condition not met at step 3917. No data to save.\n", - "3917\n", - "model_vars.get('Gini', 0)[-1]=0.628\n", - "Condition not met at step 3918. No data to save.\n", - "3918\n", - "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", - "Condition not met at step 3919. No data to save.\n", - "3919\n", - "model_vars.get('Gini', 0)[-1]=0.5806\n", - "Condition not met at step 3920. No data to save.\n", - "3920\n", - "model_vars.get('Gini', 0)[-1]=0.635\n", - "Condition not met at step 3921. No data to save.\n", - "3921\n", - "model_vars.get('Gini', 0)[-1]=0.6398\n", - "Condition not met at step 3922. No data to save.\n", - "3922\n", - "model_vars.get('Gini', 0)[-1]=0.6134\n", - "Condition not met at step 3923. No data to save.\n", - "3923\n", - "model_vars.get('Gini', 0)[-1]=0.6166\n", - "Condition not met at step 3924. No data to save.\n", - "3924\n", - "model_vars.get('Gini', 0)[-1]=0.6136\n", - "Condition not met at step 3925. No data to save.\n", - "3925\n", - "model_vars.get('Gini', 0)[-1]=0.6306\n", - "Condition not met at step 3926. No data to save.\n", - "3926\n", - "model_vars.get('Gini', 0)[-1]=0.6212\n", - "Condition not met at step 3927. No data to save.\n", - "3927\n", - "model_vars.get('Gini', 0)[-1]=0.6192\n", - "Condition not met at step 3928. No data to save.\n", - "3928\n", - "model_vars.get('Gini', 0)[-1]=0.6248\n", - "Condition not met at step 3929. No data to save.\n", - "3929\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 3930. No data to save.\n", - "3930\n", - "model_vars.get('Gini', 0)[-1]=0.6368\n", - "Condition not met at step 3931. No data to save.\n", - "3931\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 3932. No data to save.\n", - "3932\n", - "model_vars.get('Gini', 0)[-1]=0.641\n", - "Condition not met at step 3933. No data to save.\n", - "3933\n", - "model_vars.get('Gini', 0)[-1]=0.621\n", - "Condition not met at step 3934. No data to save.\n", - "3934\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", - "Condition not met at step 3935. No data to save.\n", - "3935\n", - "model_vars.get('Gini', 0)[-1]=0.6564\n", - "Condition not met at step 3936. No data to save.\n", - "3936\n", - "model_vars.get('Gini', 0)[-1]=0.6834\n", - "Condition not met at step 3937. No data to save.\n", - "3937\n", - "model_vars.get('Gini', 0)[-1]=0.7048\n", - "Condition met. Appended special results for step 3938 to test_path/special_results.parquet\n", - "3938\n", - "model_vars.get('Gini', 0)[-1]=0.6878\n", - "Condition not met at step 3939. No data to save.\n", - "3939\n", - "model_vars.get('Gini', 0)[-1]=0.7058\n", - "Condition met. Appended special results for step 3940 to test_path/special_results.parquet\n", - "3940\n", - "model_vars.get('Gini', 0)[-1]=0.6992\n", - "Condition not met at step 3941. No data to save.\n", - "3941\n", - "model_vars.get('Gini', 0)[-1]=0.7038\n", - "Condition met. Appended special results for step 3942 to test_path/special_results.parquet\n", - "3942\n", - "model_vars.get('Gini', 0)[-1]=0.6622\n", - "Condition not met at step 3943. No data to save.\n", - "3943\n", - "model_vars.get('Gini', 0)[-1]=0.6956\n", - "Condition not met at step 3944. No data to save.\n", - "3944\n", - "model_vars.get('Gini', 0)[-1]=0.7098\n", - "Condition met. Appended special results for step 3945 to test_path/special_results.parquet\n", - "3945\n", - "model_vars.get('Gini', 0)[-1]=0.7048\n", - "Condition met. Appended special results for step 3946 to test_path/special_results.parquet\n", - "3946\n", - "model_vars.get('Gini', 0)[-1]=0.6678\n", - "Condition not met at step 3947. No data to save.\n", - "3947\n", - "model_vars.get('Gini', 0)[-1]=0.6806\n", - "Condition not met at step 3948. No data to save.\n", - "3948\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 3949. No data to save.\n", - "3949\n", - "model_vars.get('Gini', 0)[-1]=0.6608\n", - "Condition not met at step 3950. No data to save.\n", - "3950\n", - "model_vars.get('Gini', 0)[-1]=0.64\n", - "Condition not met at step 3951. No data to save.\n", - "3951\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 3952. No data to save.\n", - "3952\n", - "model_vars.get('Gini', 0)[-1]=0.663\n", - "Condition not met at step 3953. No data to save.\n", - "3953\n", - "model_vars.get('Gini', 0)[-1]=0.6774\n", - "Condition not met at step 3954. No data to save.\n", - "3954\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 3955. No data to save.\n", - "3955\n", - "model_vars.get('Gini', 0)[-1]=0.6574\n", - "Condition not met at step 3956. No data to save.\n", - "3956\n", - "model_vars.get('Gini', 0)[-1]=0.6534\n", - "Condition not met at step 3957. No data to save.\n", - "3957\n", - "model_vars.get('Gini', 0)[-1]=0.6674\n", - "Condition not met at step 3958. No data to save.\n", - "3958\n", - "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", - "Condition not met at step 3959. No data to save.\n", - "3959\n", - "model_vars.get('Gini', 0)[-1]=0.6674\n", - "Condition not met at step 3960. No data to save.\n", - "3960\n", - "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", - "Condition not met at step 3961. No data to save.\n", - "3961\n", - "model_vars.get('Gini', 0)[-1]=0.6852\n", - "Condition not met at step 3962. No data to save.\n", - "3962\n", - "model_vars.get('Gini', 0)[-1]=0.7034\n", - "Condition met. Appended special results for step 3963 to test_path/special_results.parquet\n", - "3963\n", - "model_vars.get('Gini', 0)[-1]=0.6884\n", - "Condition not met at step 3964. No data to save.\n", - "3964\n", - "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", - "Condition not met at step 3965. No data to save.\n", - "3965\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 3966. No data to save.\n", - "3966\n", - "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", - "Condition not met at step 3967. No data to save.\n", - "3967\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 3968. No data to save.\n", - "3968\n", - "model_vars.get('Gini', 0)[-1]=0.6654\n", - "Condition not met at step 3969. No data to save.\n", - "3969\n", - "model_vars.get('Gini', 0)[-1]=0.6572\n", - "Condition not met at step 3970. No data to save.\n", - "3970\n", - "model_vars.get('Gini', 0)[-1]=0.6576\n", - "Condition not met at step 3971. No data to save.\n", - "3971\n", - "model_vars.get('Gini', 0)[-1]=0.6892\n", - "Condition not met at step 3972. No data to save.\n", - "3972\n", - "model_vars.get('Gini', 0)[-1]=0.6946\n", - "Condition not met at step 3973. No data to save.\n", - "3973\n", - "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", - "Condition not met at step 3974. No data to save.\n", - "3974\n", - "model_vars.get('Gini', 0)[-1]=0.7041999999999999\n", - "Condition met. Appended special results for step 3975 to test_path/special_results.parquet\n", - "3975\n", - "model_vars.get('Gini', 0)[-1]=0.6804\n", - "Condition not met at step 3976. No data to save.\n", - "3976\n", - "model_vars.get('Gini', 0)[-1]=0.6824\n", - "Condition not met at step 3977. No data to save.\n", - "3977\n", - "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", - "Condition not met at step 3978. No data to save.\n", - "3978\n", - "model_vars.get('Gini', 0)[-1]=0.6474\n", - "Condition not met at step 3979. No data to save.\n", - "3979\n", - "model_vars.get('Gini', 0)[-1]=0.6502\n", - "Condition not met at step 3980. No data to save.\n", - "3980\n", - "model_vars.get('Gini', 0)[-1]=0.64\n", - "Condition not met at step 3981. No data to save.\n", - "3981\n", - "model_vars.get('Gini', 0)[-1]=0.6234\n", - "Condition not met at step 3982. No data to save.\n", - "3982\n", - "model_vars.get('Gini', 0)[-1]=0.6046\n", - "Condition not met at step 3983. No data to save.\n", - "3983\n", - "model_vars.get('Gini', 0)[-1]=0.6036\n", - "Condition not met at step 3984. No data to save.\n", - "3984\n", - "model_vars.get('Gini', 0)[-1]=0.6052\n", - "Condition not met at step 3985. No data to save.\n", - "3985\n", - "model_vars.get('Gini', 0)[-1]=0.6004\n", - "Condition not met at step 3986. No data to save.\n", - "3986\n", - "model_vars.get('Gini', 0)[-1]=0.6073999999999999\n", - "Condition not met at step 3987. No data to save.\n", - "3987\n", - "model_vars.get('Gini', 0)[-1]=0.6138\n", - "Condition not met at step 3988. No data to save.\n", - "3988\n", - "model_vars.get('Gini', 0)[-1]=0.6502\n", - "Condition not met at step 3989. No data to save.\n", - "3989\n", - "model_vars.get('Gini', 0)[-1]=0.6554\n", - "Condition not met at step 3990. No data to save.\n", - "3990\n", - "model_vars.get('Gini', 0)[-1]=0.6778\n", - "Condition not met at step 3991. No data to save.\n", - "3991\n", - "model_vars.get('Gini', 0)[-1]=0.69\n", - "Condition not met at step 3992. No data to save.\n", - "3992\n", - "model_vars.get('Gini', 0)[-1]=0.679\n", - "Condition not met at step 3993. No data to save.\n", - "3993\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", - "Condition not met at step 3994. No data to save.\n", - "3994\n", - "model_vars.get('Gini', 0)[-1]=0.6594\n", - "Condition not met at step 3995. No data to save.\n", - "3995\n", - "model_vars.get('Gini', 0)[-1]=0.6608\n", - "Condition not met at step 3996. No data to save.\n", - "3996\n", - "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", - "Condition not met at step 3997. No data to save.\n", - "3997\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", - "Condition not met at step 3998. No data to save.\n", - "3998\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 3999. No data to save.\n", - "3999\n", - "CALLED\n", - "self.model._steps=4000\n", - " TEST self.model._steps=4000\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "3900 0.5982\n", - "3901 0.5790\n", - "3902 0.5786\n", - "3903 0.5740\n", - "3904 0.5940\n", - "... ...\n", - "3995 0.6608\n", - "3996 0.6700\n", - "3997 0.6604\n", - "3998 0.6602\n", - "3999 0.6558\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_040.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_040.parquet'\n", - "Saving model to test_path/model_data_040.parquet\n", - "Saving agent to test_path/agent_data_040.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", - "Condition not met at step 4000. No data to save.\n", - "4000\n", - "model_vars.get('Gini', 0)[-1]=0.6534\n", - "Condition not met at step 4001. No data to save.\n", - "4001\n", - "model_vars.get('Gini', 0)[-1]=0.618\n", - "Condition not met at step 4002. No data to save.\n", - "4002\n", - "model_vars.get('Gini', 0)[-1]=0.62\n", - "Condition not met at step 4003. No data to save.\n", - "4003\n", - "model_vars.get('Gini', 0)[-1]=0.615\n", - "Condition not met at step 4004. No data to save.\n", - "4004\n", - "model_vars.get('Gini', 0)[-1]=0.6076\n", - "Condition not met at step 4005. No data to save.\n", - "4005\n", - "model_vars.get('Gini', 0)[-1]=0.6186\n", - "Condition not met at step 4006. No data to save.\n", - "4006\n", - "model_vars.get('Gini', 0)[-1]=0.6106\n", - "Condition not met at step 4007. No data to save.\n", - "4007\n", - "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", - "Condition not met at step 4008. No data to save.\n", - "4008\n", - "model_vars.get('Gini', 0)[-1]=0.6102000000000001\n", - "Condition not met at step 4009. No data to save.\n", - "4009\n", - "model_vars.get('Gini', 0)[-1]=0.6136\n", - "Condition not met at step 4010. No data to save.\n", - "4010\n", - "model_vars.get('Gini', 0)[-1]=0.636\n", - "Condition not met at step 4011. No data to save.\n", - "4011\n", - "model_vars.get('Gini', 0)[-1]=0.6462\n", - "Condition not met at step 4012. No data to save.\n", - "4012\n", - "model_vars.get('Gini', 0)[-1]=0.6698\n", - "Condition not met at step 4013. No data to save.\n", - "4013\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 4014. No data to save.\n", - "4014\n", - "model_vars.get('Gini', 0)[-1]=0.6594\n", - "Condition not met at step 4015. No data to save.\n", - "4015\n", - "model_vars.get('Gini', 0)[-1]=0.648\n", - "Condition not met at step 4016. No data to save.\n", - "4016\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 4017. No data to save.\n", - "4017\n", - "model_vars.get('Gini', 0)[-1]=0.6528\n", - "Condition not met at step 4018. No data to save.\n", - "4018\n", - "model_vars.get('Gini', 0)[-1]=0.6592\n", - "Condition not met at step 4019. No data to save.\n", - "4019\n", - "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", - "Condition not met at step 4020. No data to save.\n", - "4020\n", - "model_vars.get('Gini', 0)[-1]=0.6382\n", - "Condition not met at step 4021. No data to save.\n", - "4021\n", - "model_vars.get('Gini', 0)[-1]=0.6652\n", - "Condition not met at step 4022. No data to save.\n", - "4022\n", - "model_vars.get('Gini', 0)[-1]=0.629\n", - "Condition not met at step 4023. No data to save.\n", - "4023\n", - "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", - "Condition not met at step 4024. No data to save.\n", - "4024\n", - "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", - "Condition not met at step 4025. No data to save.\n", - "4025\n", - "model_vars.get('Gini', 0)[-1]=0.6442\n", - "Condition not met at step 4026. No data to save.\n", - "4026\n", - "model_vars.get('Gini', 0)[-1]=0.657\n", - "Condition not met at step 4027. No data to save.\n", - "4027\n", - "model_vars.get('Gini', 0)[-1]=0.6592\n", - "Condition not met at step 4028. No data to save.\n", - "4028\n", - "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", - "Condition not met at step 4029. No data to save.\n", - "4029\n", - "model_vars.get('Gini', 0)[-1]=0.6372\n", - "Condition not met at step 4030. No data to save.\n", - "4030\n", - "model_vars.get('Gini', 0)[-1]=0.6476\n", - "Condition not met at step 4031. No data to save.\n", - "4031\n", - "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", - "Condition not met at step 4032. No data to save.\n", - "4032\n", - "model_vars.get('Gini', 0)[-1]=0.6328\n", - "Condition not met at step 4033. No data to save.\n", - "4033\n", - "model_vars.get('Gini', 0)[-1]=0.6234\n", - "Condition not met at step 4034. No data to save.\n", - "4034\n", - "model_vars.get('Gini', 0)[-1]=0.641\n", - "Condition not met at step 4035. No data to save.\n", - "4035\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", - "Condition not met at step 4036. No data to save.\n", - "4036\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 4037. No data to save.\n", - "4037\n", - "model_vars.get('Gini', 0)[-1]=0.6208\n", - "Condition not met at step 4038. No data to save.\n", - "4038\n", - "model_vars.get('Gini', 0)[-1]=0.65\n", - "Condition not met at step 4039. No data to save.\n", - "4039\n", - "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", - "Condition not met at step 4040. No data to save.\n", - "4040\n", - "model_vars.get('Gini', 0)[-1]=0.6554\n", - "Condition not met at step 4041. No data to save.\n", - "4041\n", - "model_vars.get('Gini', 0)[-1]=0.683\n", - "Condition not met at step 4042. No data to save.\n", - "4042\n", - "model_vars.get('Gini', 0)[-1]=0.6724\n", - "Condition not met at step 4043. No data to save.\n", - "4043\n", - "model_vars.get('Gini', 0)[-1]=0.6592\n", - "Condition not met at step 4044. No data to save.\n", - "4044\n", - "model_vars.get('Gini', 0)[-1]=0.631\n", - "Condition not met at step 4045. No data to save.\n", - "4045\n", - "model_vars.get('Gini', 0)[-1]=0.6186\n", - "Condition not met at step 4046. No data to save.\n", - "4046\n", - "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", - "Condition not met at step 4047. No data to save.\n", - "4047\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 4048. No data to save.\n", - "4048\n", - "model_vars.get('Gini', 0)[-1]=0.663\n", - "Condition not met at step 4049. No data to save.\n", - "4049\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 4050. No data to save.\n", - "4050\n", - "model_vars.get('Gini', 0)[-1]=0.6990000000000001\n", - "Condition not met at step 4051. No data to save.\n", - "4051\n", - "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", - "Condition not met at step 4052. No data to save.\n", - "4052\n", - "model_vars.get('Gini', 0)[-1]=0.6722\n", - "Condition not met at step 4053. No data to save.\n", - "4053\n", - "model_vars.get('Gini', 0)[-1]=0.659\n", - "Condition not met at step 4054. No data to save.\n", - "4054\n", - "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", - "Condition not met at step 4055. No data to save.\n", - "4055\n", - "model_vars.get('Gini', 0)[-1]=0.654\n", - "Condition not met at step 4056. No data to save.\n", - "4056\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", - "Condition not met at step 4057. No data to save.\n", - "4057\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 4058. No data to save.\n", - "4058\n", - "model_vars.get('Gini', 0)[-1]=0.6826\n", - "Condition not met at step 4059. No data to save.\n", - "4059\n", - "model_vars.get('Gini', 0)[-1]=0.6596\n", - "Condition not met at step 4060. No data to save.\n", - "4060\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", - "Condition not met at step 4061. No data to save.\n", - "4061\n", - "model_vars.get('Gini', 0)[-1]=0.6408\n", - "Condition not met at step 4062. No data to save.\n", - "4062\n", - "model_vars.get('Gini', 0)[-1]=0.6692\n", - "Condition not met at step 4063. No data to save.\n", - "4063\n", - "model_vars.get('Gini', 0)[-1]=0.677\n", - "Condition not met at step 4064. No data to save.\n", - "4064\n", - "model_vars.get('Gini', 0)[-1]=0.6826\n", - "Condition not met at step 4065. No data to save.\n", - "4065\n", - "model_vars.get('Gini', 0)[-1]=0.6698\n", - "Condition not met at step 4066. No data to save.\n", - "4066\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", - "Condition not met at step 4067. No data to save.\n", - "4067\n", - "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", - "Condition not met at step 4068. No data to save.\n", - "4068\n", - "model_vars.get('Gini', 0)[-1]=0.6724\n", - "Condition not met at step 4069. No data to save.\n", - "4069\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 4070. No data to save.\n", - "4070\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 4071. No data to save.\n", - "4071\n", - "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", - "Condition not met at step 4072. No data to save.\n", - "4072\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 4073. No data to save.\n", - "4073\n", - "model_vars.get('Gini', 0)[-1]=0.6878\n", - "Condition not met at step 4074. No data to save.\n", - "4074\n", - "model_vars.get('Gini', 0)[-1]=0.6874\n", - "Condition not met at step 4075. No data to save.\n", - "4075\n", - "model_vars.get('Gini', 0)[-1]=0.6952\n", - "Condition not met at step 4076. No data to save.\n", - "4076\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 4077. No data to save.\n", - "4077\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 4078. No data to save.\n", - "4078\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 4079. No data to save.\n", - "4079\n", - "model_vars.get('Gini', 0)[-1]=0.6798\n", - "Condition not met at step 4080. No data to save.\n", - "4080\n", - "model_vars.get('Gini', 0)[-1]=0.665\n", - "Condition not met at step 4081. No data to save.\n", - "4081\n", - "model_vars.get('Gini', 0)[-1]=0.6872\n", - "Condition not met at step 4082. No data to save.\n", - "4082\n", - "model_vars.get('Gini', 0)[-1]=0.6556\n", - "Condition not met at step 4083. No data to save.\n", - "4083\n", - "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", - "Condition not met at step 4084. No data to save.\n", - "4084\n", - "model_vars.get('Gini', 0)[-1]=0.6666000000000001\n", - "Condition not met at step 4085. No data to save.\n", - "4085\n", - "model_vars.get('Gini', 0)[-1]=0.638\n", - "Condition not met at step 4086. No data to save.\n", - "4086\n", - "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", - "Condition not met at step 4087. No data to save.\n", - "4087\n", - "model_vars.get('Gini', 0)[-1]=0.6608\n", - "Condition not met at step 4088. No data to save.\n", - "4088\n", - "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", - "Condition not met at step 4089. No data to save.\n", - "4089\n", - "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", - "Condition not met at step 4090. No data to save.\n", - "4090\n", - "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", - "Condition not met at step 4091. No data to save.\n", - "4091\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", - "Condition not met at step 4092. No data to save.\n", - "4092\n", - "model_vars.get('Gini', 0)[-1]=0.6414\n", - "Condition not met at step 4093. No data to save.\n", - "4093\n", - "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", - "Condition not met at step 4094. No data to save.\n", - "4094\n", - "model_vars.get('Gini', 0)[-1]=0.6534\n", - "Condition not met at step 4095. No data to save.\n", - "4095\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 4096. No data to save.\n", - "4096\n", - "model_vars.get('Gini', 0)[-1]=0.6422\n", - "Condition not met at step 4097. No data to save.\n", - "4097\n", - "model_vars.get('Gini', 0)[-1]=0.6564\n", - "Condition not met at step 4098. No data to save.\n", - "4098\n", - "model_vars.get('Gini', 0)[-1]=0.6382\n", - "Condition not met at step 4099. No data to save.\n", - "4099\n", - "CALLED\n", - "self.model._steps=4100\n", - " TEST self.model._steps=4100\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "4000 0.6534\n", - "4001 0.6180\n", - "4002 0.6200\n", - "4003 0.6150\n", - "4004 0.6076\n", - "... ...\n", - "4095 0.6546\n", - "4096 0.6422\n", - "4097 0.6564\n", - "4098 0.6382\n", - "4099 0.6618\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_041.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_041.parquet'\n", - "Saving model to test_path/model_data_041.parquet\n", - "Saving agent to test_path/agent_data_041.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", - "Condition not met at step 4100. No data to save.\n", - "4100\n", - "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", - "Condition not met at step 4101. No data to save.\n", - "4101\n", - "model_vars.get('Gini', 0)[-1]=0.669\n", - "Condition not met at step 4102. No data to save.\n", - "4102\n", - "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", - "Condition not met at step 4103. No data to save.\n", - "4103\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 4104. No data to save.\n", - "4104\n", - "model_vars.get('Gini', 0)[-1]=0.6462\n", - "Condition not met at step 4105. No data to save.\n", - "4105\n", - "model_vars.get('Gini', 0)[-1]=0.6462\n", - "Condition not met at step 4106. No data to save.\n", - "4106\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", - "Condition not met at step 4107. No data to save.\n", - "4107\n", - "model_vars.get('Gini', 0)[-1]=0.6502\n", - "Condition not met at step 4108. No data to save.\n", - "4108\n", - "model_vars.get('Gini', 0)[-1]=0.6432\n", - "Condition not met at step 4109. No data to save.\n", - "4109\n", - "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", - "Condition not met at step 4110. No data to save.\n", - "4110\n", - "model_vars.get('Gini', 0)[-1]=0.6178\n", - "Condition not met at step 4111. No data to save.\n", - "4111\n", - "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", - "Condition not met at step 4112. No data to save.\n", - "4112\n", - "model_vars.get('Gini', 0)[-1]=0.6244000000000001\n", - "Condition not met at step 4113. No data to save.\n", - "4113\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 4114. No data to save.\n", - "4114\n", - "model_vars.get('Gini', 0)[-1]=0.6122000000000001\n", - "Condition not met at step 4115. No data to save.\n", - "4115\n", - "model_vars.get('Gini', 0)[-1]=0.5768\n", - "Condition not met at step 4116. No data to save.\n", - "4116\n", - "model_vars.get('Gini', 0)[-1]=0.5876\n", - "Condition not met at step 4117. No data to save.\n", - "4117\n", - "model_vars.get('Gini', 0)[-1]=0.6058\n", - "Condition not met at step 4118. No data to save.\n", - "4118\n", - "model_vars.get('Gini', 0)[-1]=0.6298\n", - "Condition not met at step 4119. No data to save.\n", - "4119\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", - "Condition not met at step 4120. No data to save.\n", - "4120\n", - "model_vars.get('Gini', 0)[-1]=0.6956\n", - "Condition not met at step 4121. No data to save.\n", - "4121\n", - "model_vars.get('Gini', 0)[-1]=0.6812\n", - "Condition not met at step 4122. No data to save.\n", - "4122\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 4123. No data to save.\n", - "4123\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 4124. No data to save.\n", - "4124\n", - "model_vars.get('Gini', 0)[-1]=0.644\n", - "Condition not met at step 4125. No data to save.\n", - "4125\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", - "Condition not met at step 4126. No data to save.\n", - "4126\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", - "Condition not met at step 4127. No data to save.\n", - "4127\n", - "model_vars.get('Gini', 0)[-1]=0.6188\n", - "Condition not met at step 4128. No data to save.\n", - "4128\n", - "model_vars.get('Gini', 0)[-1]=0.6178\n", - "Condition not met at step 4129. No data to save.\n", - "4129\n", - "model_vars.get('Gini', 0)[-1]=0.622\n", - "Condition not met at step 4130. No data to save.\n", - "4130\n", - "model_vars.get('Gini', 0)[-1]=0.651\n", - "Condition not met at step 4131. No data to save.\n", - "4131\n", - "model_vars.get('Gini', 0)[-1]=0.6226\n", - "Condition not met at step 4132. No data to save.\n", - "4132\n", - "model_vars.get('Gini', 0)[-1]=0.629\n", - "Condition not met at step 4133. No data to save.\n", - "4133\n", - "model_vars.get('Gini', 0)[-1]=0.6136\n", - "Condition not met at step 4134. No data to save.\n", - "4134\n", - "model_vars.get('Gini', 0)[-1]=0.6084\n", - "Condition not met at step 4135. No data to save.\n", - "4135\n", - "model_vars.get('Gini', 0)[-1]=0.6013999999999999\n", - "Condition not met at step 4136. No data to save.\n", - "4136\n", - "model_vars.get('Gini', 0)[-1]=0.6158\n", - "Condition not met at step 4137. No data to save.\n", - "4137\n", - "model_vars.get('Gini', 0)[-1]=0.6338\n", - "Condition not met at step 4138. No data to save.\n", - "4138\n", - "model_vars.get('Gini', 0)[-1]=0.6052\n", - "Condition not met at step 4139. No data to save.\n", - "4139\n", - "model_vars.get('Gini', 0)[-1]=0.5896\n", - "Condition not met at step 4140. No data to save.\n", - "4140\n", - "model_vars.get('Gini', 0)[-1]=0.6218\n", - "Condition not met at step 4141. No data to save.\n", - "4141\n", - "model_vars.get('Gini', 0)[-1]=0.6286\n", - "Condition not met at step 4142. No data to save.\n", - "4142\n", - "model_vars.get('Gini', 0)[-1]=0.615\n", - "Condition not met at step 4143. No data to save.\n", - "4143\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 4144. No data to save.\n", - "4144\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 4145. No data to save.\n", - "4145\n", - "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", - "Condition not met at step 4146. No data to save.\n", - "4146\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 4147. No data to save.\n", - "4147\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", - "Condition not met at step 4148. No data to save.\n", - "4148\n", - "model_vars.get('Gini', 0)[-1]=0.6672\n", - "Condition not met at step 4149. No data to save.\n", - "4149\n", - "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", - "Condition not met at step 4150. No data to save.\n", - "4150\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", - "Condition not met at step 4151. No data to save.\n", - "4151\n", - "model_vars.get('Gini', 0)[-1]=0.6246\n", - "Condition not met at step 4152. No data to save.\n", - "4152\n", - "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", - "Condition not met at step 4153. No data to save.\n", - "4153\n", - "model_vars.get('Gini', 0)[-1]=0.6622\n", - "Condition not met at step 4154. No data to save.\n", - "4154\n", - "model_vars.get('Gini', 0)[-1]=0.6674\n", - "Condition not met at step 4155. No data to save.\n", - "4155\n", - "model_vars.get('Gini', 0)[-1]=0.6612\n", - "Condition not met at step 4156. No data to save.\n", - "4156\n", - "model_vars.get('Gini', 0)[-1]=0.6656\n", - "Condition not met at step 4157. No data to save.\n", - "4157\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 4158. No data to save.\n", - "4158\n", - "model_vars.get('Gini', 0)[-1]=0.6382\n", - "Condition not met at step 4159. No data to save.\n", - "4159\n", - "model_vars.get('Gini', 0)[-1]=0.6806\n", - "Condition not met at step 4160. No data to save.\n", - "4160\n", - "model_vars.get('Gini', 0)[-1]=0.6682\n", - "Condition not met at step 4161. No data to save.\n", - "4161\n", - "model_vars.get('Gini', 0)[-1]=0.662\n", - "Condition not met at step 4162. No data to save.\n", - "4162\n", - "model_vars.get('Gini', 0)[-1]=0.6412\n", - "Condition not met at step 4163. No data to save.\n", - "4163\n", - "model_vars.get('Gini', 0)[-1]=0.6564\n", - "Condition not met at step 4164. No data to save.\n", - "4164\n", - "model_vars.get('Gini', 0)[-1]=0.6676\n", - "Condition not met at step 4165. No data to save.\n", - "4165\n", - "model_vars.get('Gini', 0)[-1]=0.6594\n", - "Condition not met at step 4166. No data to save.\n", - "4166\n", - "model_vars.get('Gini', 0)[-1]=0.6288\n", - "Condition not met at step 4167. No data to save.\n", - "4167\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 4168. No data to save.\n", - "4168\n", - "model_vars.get('Gini', 0)[-1]=0.6286\n", - "Condition not met at step 4169. No data to save.\n", - "4169\n", - "model_vars.get('Gini', 0)[-1]=0.66\n", - "Condition not met at step 4170. No data to save.\n", - "4170\n", - "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", - "Condition not met at step 4171. No data to save.\n", - "4171\n", - "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", - "Condition not met at step 4172. No data to save.\n", - "4172\n", - "model_vars.get('Gini', 0)[-1]=0.6796\n", - "Condition not met at step 4173. No data to save.\n", - "4173\n", - "model_vars.get('Gini', 0)[-1]=0.6822\n", - "Condition not met at step 4174. No data to save.\n", - "4174\n", - "model_vars.get('Gini', 0)[-1]=0.6878\n", - "Condition not met at step 4175. No data to save.\n", - "4175\n", - "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", - "Condition not met at step 4176. No data to save.\n", - "4176\n", - "model_vars.get('Gini', 0)[-1]=0.6622\n", - "Condition not met at step 4177. No data to save.\n", - "4177\n", - "model_vars.get('Gini', 0)[-1]=0.6732\n", - "Condition not met at step 4178. No data to save.\n", - "4178\n", - "model_vars.get('Gini', 0)[-1]=0.663\n", - "Condition not met at step 4179. No data to save.\n", - "4179\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 4180. No data to save.\n", - "4180\n", - "model_vars.get('Gini', 0)[-1]=0.6798\n", - "Condition not met at step 4181. No data to save.\n", - "4181\n", - "model_vars.get('Gini', 0)[-1]=0.7018\n", - "Condition met. Appended special results for step 4182 to test_path/special_results.parquet\n", - "4182\n", - "model_vars.get('Gini', 0)[-1]=0.7068\n", - "Condition met. Appended special results for step 4183 to test_path/special_results.parquet\n", - "4183\n", - "model_vars.get('Gini', 0)[-1]=0.7208\n", - "Condition met. Appended special results for step 4184 to test_path/special_results.parquet\n", - "4184\n", - "model_vars.get('Gini', 0)[-1]=0.7068\n", - "Condition met. Appended special results for step 4185 to test_path/special_results.parquet\n", - "4185\n", - "model_vars.get('Gini', 0)[-1]=0.6924\n", - "Condition not met at step 4186. No data to save.\n", - "4186\n", - "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", - "Condition not met at step 4187. No data to save.\n", - "4187\n", - "model_vars.get('Gini', 0)[-1]=0.6738\n", - "Condition not met at step 4188. No data to save.\n", - "4188\n", - "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", - "Condition not met at step 4189. No data to save.\n", - "4189\n", - "model_vars.get('Gini', 0)[-1]=0.6854\n", - "Condition not met at step 4190. No data to save.\n", - "4190\n", - "model_vars.get('Gini', 0)[-1]=0.6956\n", - "Condition not met at step 4191. No data to save.\n", - "4191\n", - "model_vars.get('Gini', 0)[-1]=0.6696\n", - "Condition not met at step 4192. No data to save.\n", - "4192\n", - "model_vars.get('Gini', 0)[-1]=0.6778\n", - "Condition not met at step 4193. No data to save.\n", - "4193\n", - "model_vars.get('Gini', 0)[-1]=0.7032\n", - "Condition met. Appended special results for step 4194 to test_path/special_results.parquet\n", - "4194\n", - "model_vars.get('Gini', 0)[-1]=0.6994\n", - "Condition not met at step 4195. No data to save.\n", - "4195\n", - "model_vars.get('Gini', 0)[-1]=0.7121999999999999\n", - "Condition met. Appended special results for step 4196 to test_path/special_results.parquet\n", - "4196\n", - "model_vars.get('Gini', 0)[-1]=0.7070000000000001\n", - "Condition met. Appended special results for step 4197 to test_path/special_results.parquet\n", - "4197\n", - "model_vars.get('Gini', 0)[-1]=0.729\n", - "Condition met. Appended special results for step 4198 to test_path/special_results.parquet\n", - "4198\n", - "model_vars.get('Gini', 0)[-1]=0.7230000000000001\n", - "Condition met. Appended special results for step 4199 to test_path/special_results.parquet\n", - "4199\n", - "CALLED\n", - "self.model._steps=4200\n", - " TEST self.model._steps=4200\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "4100 0.6626\n", - "4101 0.6690\n", - "4102 0.6628\n", - "4103 0.6602\n", - "4104 0.6462\n", - "... ...\n", - "4195 0.7122\n", - "4196 0.7070\n", - "4197 0.7290\n", - "4198 0.7230\n", - "4199 0.7214\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_042.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_042.parquet'\n", - "Saving model to test_path/model_data_042.parquet\n", - "Saving agent to test_path/agent_data_042.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.7214\n", - "Condition met. Appended special results for step 4200 to test_path/special_results.parquet\n", - "4200\n", - "model_vars.get('Gini', 0)[-1]=0.7041999999999999\n", - "Condition met. Appended special results for step 4201 to test_path/special_results.parquet\n", - "4201\n", - "model_vars.get('Gini', 0)[-1]=0.7142\n", - "Condition met. Appended special results for step 4202 to test_path/special_results.parquet\n", - "4202\n", - "model_vars.get('Gini', 0)[-1]=0.7242\n", - "Condition met. Appended special results for step 4203 to test_path/special_results.parquet\n", - "4203\n", - "model_vars.get('Gini', 0)[-1]=0.6921999999999999\n", - "Condition not met at step 4204. No data to save.\n", - "4204\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", - "Condition not met at step 4205. No data to save.\n", - "4205\n", - "model_vars.get('Gini', 0)[-1]=0.6894\n", - "Condition not met at step 4206. No data to save.\n", - "4206\n", - "model_vars.get('Gini', 0)[-1]=0.6838\n", - "Condition not met at step 4207. No data to save.\n", - "4207\n", - "model_vars.get('Gini', 0)[-1]=0.6876\n", - "Condition not met at step 4208. No data to save.\n", - "4208\n", - "model_vars.get('Gini', 0)[-1]=0.6552\n", - "Condition not met at step 4209. No data to save.\n", - "4209\n", - "model_vars.get('Gini', 0)[-1]=0.6368\n", - "Condition not met at step 4210. No data to save.\n", - "4210\n", - "model_vars.get('Gini', 0)[-1]=0.6702\n", - "Condition not met at step 4211. No data to save.\n", - "4211\n", - "model_vars.get('Gini', 0)[-1]=0.6676\n", - "Condition not met at step 4212. No data to save.\n", - "4212\n", - "model_vars.get('Gini', 0)[-1]=0.6414\n", - "Condition not met at step 4213. No data to save.\n", - "4213\n", - "model_vars.get('Gini', 0)[-1]=0.6724\n", - "Condition not met at step 4214. No data to save.\n", - "4214\n", - "model_vars.get('Gini', 0)[-1]=0.6636\n", - "Condition not met at step 4215. No data to save.\n", - "4215\n", - "model_vars.get('Gini', 0)[-1]=0.6882\n", - "Condition not met at step 4216. No data to save.\n", - "4216\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 4217. No data to save.\n", - "4217\n", - "model_vars.get('Gini', 0)[-1]=0.6778\n", - "Condition not met at step 4218. No data to save.\n", - "4218\n", - "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", - "Condition not met at step 4219. No data to save.\n", - "4219\n", - "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", - "Condition not met at step 4220. No data to save.\n", - "4220\n", - "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", - "Condition not met at step 4221. No data to save.\n", - "4221\n", - "model_vars.get('Gini', 0)[-1]=0.6252\n", - "Condition not met at step 4222. No data to save.\n", - "4222\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 4223. No data to save.\n", - "4223\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", - "Condition not met at step 4224. No data to save.\n", - "4224\n", - "model_vars.get('Gini', 0)[-1]=0.6782\n", - "Condition not met at step 4225. No data to save.\n", - "4225\n", - "model_vars.get('Gini', 0)[-1]=0.6698\n", - "Condition not met at step 4226. No data to save.\n", - "4226\n", - "model_vars.get('Gini', 0)[-1]=0.6464000000000001\n", - "Condition not met at step 4227. No data to save.\n", - "4227\n", - "model_vars.get('Gini', 0)[-1]=0.687\n", - "Condition not met at step 4228. No data to save.\n", - "4228\n", - "model_vars.get('Gini', 0)[-1]=0.6798\n", - "Condition not met at step 4229. No data to save.\n", - "4229\n", - "model_vars.get('Gini', 0)[-1]=0.6654\n", - "Condition not met at step 4230. No data to save.\n", - "4230\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", - "Condition not met at step 4231. No data to save.\n", - "4231\n", - "model_vars.get('Gini', 0)[-1]=0.6956\n", - "Condition not met at step 4232. No data to save.\n", - "4232\n", - "model_vars.get('Gini', 0)[-1]=0.6918\n", - "Condition not met at step 4233. No data to save.\n", - "4233\n", - "model_vars.get('Gini', 0)[-1]=0.704\n", - "Condition met. Appended special results for step 4234 to test_path/special_results.parquet\n", - "4234\n", - "model_vars.get('Gini', 0)[-1]=0.6992\n", - "Condition not met at step 4235. No data to save.\n", - "4235\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 4236. No data to save.\n", - "4236\n", - "model_vars.get('Gini', 0)[-1]=0.7066\n", - "Condition met. Appended special results for step 4237 to test_path/special_results.parquet\n", - "4237\n", - "model_vars.get('Gini', 0)[-1]=0.6904\n", - "Condition not met at step 4238. No data to save.\n", - "4238\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", - "Condition not met at step 4239. No data to save.\n", - "4239\n", - "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", - "Condition not met at step 4240. No data to save.\n", - "4240\n", - "model_vars.get('Gini', 0)[-1]=0.6994\n", - "Condition not met at step 4241. No data to save.\n", - "4241\n", - "model_vars.get('Gini', 0)[-1]=0.6884\n", - "Condition not met at step 4242. No data to save.\n", - "4242\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 4243. No data to save.\n", - "4243\n", - "model_vars.get('Gini', 0)[-1]=0.6516\n", - "Condition not met at step 4244. No data to save.\n", - "4244\n", - "model_vars.get('Gini', 0)[-1]=0.6226\n", - "Condition not met at step 4245. No data to save.\n", - "4245\n", - "model_vars.get('Gini', 0)[-1]=0.631\n", - "Condition not met at step 4246. No data to save.\n", - "4246\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", - "Condition not met at step 4247. No data to save.\n", - "4247\n", - "model_vars.get('Gini', 0)[-1]=0.663\n", - "Condition not met at step 4248. No data to save.\n", - "4248\n", - "model_vars.get('Gini', 0)[-1]=0.6457999999999999\n", - "Condition not met at step 4249. No data to save.\n", - "4249\n", - "model_vars.get('Gini', 0)[-1]=0.6522\n", - "Condition not met at step 4250. No data to save.\n", - "4250\n", - "model_vars.get('Gini', 0)[-1]=0.6374\n", - "Condition not met at step 4251. No data to save.\n", - "4251\n", - "model_vars.get('Gini', 0)[-1]=0.6314\n", - "Condition not met at step 4252. No data to save.\n", - "4252\n", - "model_vars.get('Gini', 0)[-1]=0.6334\n", - "Condition not met at step 4253. No data to save.\n", - "4253\n", - "model_vars.get('Gini', 0)[-1]=0.6446000000000001\n", - "Condition not met at step 4254. No data to save.\n", - "4254\n", - "model_vars.get('Gini', 0)[-1]=0.6298\n", - "Condition not met at step 4255. No data to save.\n", - "4255\n", - "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", - "Condition not met at step 4256. No data to save.\n", - "4256\n", - "model_vars.get('Gini', 0)[-1]=0.6234\n", - "Condition not met at step 4257. No data to save.\n", - "4257\n", - "model_vars.get('Gini', 0)[-1]=0.6234\n", - "Condition not met at step 4258. No data to save.\n", - "4258\n", - "model_vars.get('Gini', 0)[-1]=0.611\n", - "Condition not met at step 4259. No data to save.\n", - "4259\n", - "model_vars.get('Gini', 0)[-1]=0.5913999999999999\n", - "Condition not met at step 4260. No data to save.\n", - "4260\n", - "model_vars.get('Gini', 0)[-1]=0.612\n", - "Condition not met at step 4261. No data to save.\n", - "4261\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 4262. No data to save.\n", - "4262\n", - "model_vars.get('Gini', 0)[-1]=0.616\n", - "Condition not met at step 4263. No data to save.\n", - "4263\n", - "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", - "Condition not met at step 4264. No data to save.\n", - "4264\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", - "Condition not met at step 4265. No data to save.\n", - "4265\n", - "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", - "Condition not met at step 4266. No data to save.\n", - "4266\n", - "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", - "Condition not met at step 4267. No data to save.\n", - "4267\n", - "model_vars.get('Gini', 0)[-1]=0.6328\n", - "Condition not met at step 4268. No data to save.\n", - "4268\n", - "model_vars.get('Gini', 0)[-1]=0.6198\n", - "Condition not met at step 4269. No data to save.\n", - "4269\n", - "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", - "Condition not met at step 4270. No data to save.\n", - "4270\n", - "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", - "Condition not met at step 4271. No data to save.\n", - "4271\n", - "model_vars.get('Gini', 0)[-1]=0.6634\n", - "Condition not met at step 4272. No data to save.\n", - "4272\n", - "model_vars.get('Gini', 0)[-1]=0.6656\n", - "Condition not met at step 4273. No data to save.\n", - "4273\n", - "model_vars.get('Gini', 0)[-1]=0.659\n", - "Condition not met at step 4274. No data to save.\n", - "4274\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", - "Condition not met at step 4275. No data to save.\n", - "4275\n", - "model_vars.get('Gini', 0)[-1]=0.6528\n", - "Condition not met at step 4276. No data to save.\n", - "4276\n", - "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", - "Condition not met at step 4277. No data to save.\n", - "4277\n", - "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", - "Condition not met at step 4278. No data to save.\n", - "4278\n", - "model_vars.get('Gini', 0)[-1]=0.6536\n", - "Condition not met at step 4279. No data to save.\n", - "4279\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", - "Condition not met at step 4280. No data to save.\n", - "4280\n", - "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", - "Condition not met at step 4281. No data to save.\n", - "4281\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 4282. No data to save.\n", - "4282\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 4283. No data to save.\n", - "4283\n", - "model_vars.get('Gini', 0)[-1]=0.654\n", - "Condition not met at step 4284. No data to save.\n", - "4284\n", - "model_vars.get('Gini', 0)[-1]=0.6596\n", - "Condition not met at step 4285. No data to save.\n", - "4285\n", - "model_vars.get('Gini', 0)[-1]=0.6272\n", - "Condition not met at step 4286. No data to save.\n", - "4286\n", - "model_vars.get('Gini', 0)[-1]=0.6372\n", - "Condition not met at step 4287. No data to save.\n", - "4287\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 4288. No data to save.\n", - "4288\n", - "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", - "Condition not met at step 4289. No data to save.\n", - "4289\n", - "model_vars.get('Gini', 0)[-1]=0.6858\n", - "Condition not met at step 4290. No data to save.\n", - "4290\n", - "model_vars.get('Gini', 0)[-1]=0.6986\n", - "Condition not met at step 4291. No data to save.\n", - "4291\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 4292. No data to save.\n", - "4292\n", - "model_vars.get('Gini', 0)[-1]=0.6676\n", - "Condition not met at step 4293. No data to save.\n", - "4293\n", - "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", - "Condition not met at step 4294. No data to save.\n", - "4294\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", - "Condition not met at step 4295. No data to save.\n", - "4295\n", - "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", - "Condition not met at step 4296. No data to save.\n", - "4296\n", - "model_vars.get('Gini', 0)[-1]=0.6776\n", - "Condition not met at step 4297. No data to save.\n", - "4297\n", - "model_vars.get('Gini', 0)[-1]=0.6608\n", - "Condition not met at step 4298. No data to save.\n", - "4298\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 4299. No data to save.\n", - "4299\n", - "CALLED\n", - "self.model._steps=4300\n", - " TEST self.model._steps=4300\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "4200 0.7042\n", - "4201 0.7142\n", - "4202 0.7242\n", - "4203 0.6922\n", - "4204 0.6664\n", - "... ...\n", - "4295 0.6962\n", - "4296 0.6776\n", - "4297 0.6608\n", - "4298 0.6378\n", - "4299 0.6044\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_043.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_043.parquet'\n", - "Saving model to test_path/model_data_043.parquet\n", - "Saving agent to test_path/agent_data_043.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6044\n", - "Condition not met at step 4300. No data to save.\n", - "4300\n", - "model_vars.get('Gini', 0)[-1]=0.6328\n", - "Condition not met at step 4301. No data to save.\n", - "4301\n", - "model_vars.get('Gini', 0)[-1]=0.6124\n", - "Condition not met at step 4302. No data to save.\n", - "4302\n", - "model_vars.get('Gini', 0)[-1]=0.611\n", - "Condition not met at step 4303. No data to save.\n", - "4303\n", - "model_vars.get('Gini', 0)[-1]=0.6012\n", - "Condition not met at step 4304. No data to save.\n", - "4304\n", - "model_vars.get('Gini', 0)[-1]=0.5771999999999999\n", - "Condition not met at step 4305. No data to save.\n", - "4305\n", - "model_vars.get('Gini', 0)[-1]=0.6146\n", - "Condition not met at step 4306. No data to save.\n", - "4306\n", - "model_vars.get('Gini', 0)[-1]=0.6312\n", - "Condition not met at step 4307. No data to save.\n", - "4307\n", - "model_vars.get('Gini', 0)[-1]=0.6164000000000001\n", - "Condition not met at step 4308. No data to save.\n", - "4308\n", - "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", - "Condition not met at step 4309. No data to save.\n", - "4309\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", - "Condition not met at step 4310. No data to save.\n", - "4310\n", - "model_vars.get('Gini', 0)[-1]=0.6514\n", - "Condition not met at step 4311. No data to save.\n", - "4311\n", - "model_vars.get('Gini', 0)[-1]=0.644\n", - "Condition not met at step 4312. No data to save.\n", - "4312\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 4313. No data to save.\n", - "4313\n", - "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", - "Condition not met at step 4314. No data to save.\n", - "4314\n", - "model_vars.get('Gini', 0)[-1]=0.6334\n", - "Condition not met at step 4315. No data to save.\n", - "4315\n", - "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", - "Condition not met at step 4316. No data to save.\n", - "4316\n", - "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", - "Condition not met at step 4317. No data to save.\n", - "4317\n", - "model_vars.get('Gini', 0)[-1]=0.6226\n", - "Condition not met at step 4318. No data to save.\n", - "4318\n", - "model_vars.get('Gini', 0)[-1]=0.6278\n", - "Condition not met at step 4319. No data to save.\n", - "4319\n", - "model_vars.get('Gini', 0)[-1]=0.6086\n", - "Condition not met at step 4320. No data to save.\n", - "4320\n", - "model_vars.get('Gini', 0)[-1]=0.6116\n", - "Condition not met at step 4321. No data to save.\n", - "4321\n", - "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", - "Condition not met at step 4322. No data to save.\n", - "4322\n", - "model_vars.get('Gini', 0)[-1]=0.628\n", - "Condition not met at step 4323. No data to save.\n", - "4323\n", - "model_vars.get('Gini', 0)[-1]=0.655\n", - "Condition not met at step 4324. No data to save.\n", - "4324\n", - "model_vars.get('Gini', 0)[-1]=0.6368\n", - "Condition not met at step 4325. No data to save.\n", - "4325\n", - "model_vars.get('Gini', 0)[-1]=0.6033999999999999\n", - "Condition not met at step 4326. No data to save.\n", - "4326\n", - "model_vars.get('Gini', 0)[-1]=0.5978\n", - "Condition not met at step 4327. No data to save.\n", - "4327\n", - "model_vars.get('Gini', 0)[-1]=0.5920000000000001\n", - "Condition not met at step 4328. No data to save.\n", - "4328\n", - "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", - "Condition not met at step 4329. No data to save.\n", - "4329\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 4330. No data to save.\n", - "4330\n", - "model_vars.get('Gini', 0)[-1]=0.6532\n", - "Condition not met at step 4331. No data to save.\n", - "4331\n", - "model_vars.get('Gini', 0)[-1]=0.671\n", - "Condition not met at step 4332. No data to save.\n", - "4332\n", - "model_vars.get('Gini', 0)[-1]=0.6388\n", - "Condition not met at step 4333. No data to save.\n", - "4333\n", - "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", - "Condition not met at step 4334. No data to save.\n", - "4334\n", - "model_vars.get('Gini', 0)[-1]=0.6366\n", - "Condition not met at step 4335. No data to save.\n", - "4335\n", - "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", - "Condition not met at step 4336. No data to save.\n", - "4336\n", - "model_vars.get('Gini', 0)[-1]=0.6652\n", - "Condition not met at step 4337. No data to save.\n", - "4337\n", - "model_vars.get('Gini', 0)[-1]=0.6652\n", - "Condition not met at step 4338. No data to save.\n", - "4338\n", - "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", - "Condition not met at step 4339. No data to save.\n", - "4339\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 4340. No data to save.\n", - "4340\n", - "model_vars.get('Gini', 0)[-1]=0.6782\n", - "Condition not met at step 4341. No data to save.\n", - "4341\n", - "model_vars.get('Gini', 0)[-1]=0.6862\n", - "Condition not met at step 4342. No data to save.\n", - "4342\n", - "model_vars.get('Gini', 0)[-1]=0.6816\n", - "Condition not met at step 4343. No data to save.\n", - "4343\n", - "model_vars.get('Gini', 0)[-1]=0.692\n", - "Condition not met at step 4344. No data to save.\n", - "4344\n", - "model_vars.get('Gini', 0)[-1]=0.6872\n", - "Condition not met at step 4345. No data to save.\n", - "4345\n", - "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", - "Condition not met at step 4346. No data to save.\n", - "4346\n", - "model_vars.get('Gini', 0)[-1]=0.6892\n", - "Condition not met at step 4347. No data to save.\n", - "4347\n", - "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", - "Condition not met at step 4348. No data to save.\n", - "4348\n", - "model_vars.get('Gini', 0)[-1]=0.7054\n", - "Condition met. Appended special results for step 4349 to test_path/special_results.parquet\n", - "4349\n", - "model_vars.get('Gini', 0)[-1]=0.688\n", - "Condition not met at step 4350. No data to save.\n", - "4350\n", - "model_vars.get('Gini', 0)[-1]=0.6856\n", - "Condition not met at step 4351. No data to save.\n", - "4351\n", - "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", - "Condition not met at step 4352. No data to save.\n", - "4352\n", - "model_vars.get('Gini', 0)[-1]=0.683\n", - "Condition not met at step 4353. No data to save.\n", - "4353\n", - "model_vars.get('Gini', 0)[-1]=0.7044\n", - "Condition met. Appended special results for step 4354 to test_path/special_results.parquet\n", - "4354\n", - "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", - "Condition not met at step 4355. No data to save.\n", - "4355\n", - "model_vars.get('Gini', 0)[-1]=0.6928000000000001\n", - "Condition not met at step 4356. No data to save.\n", - "4356\n", - "model_vars.get('Gini', 0)[-1]=0.6992\n", - "Condition not met at step 4357. No data to save.\n", - "4357\n", - "model_vars.get('Gini', 0)[-1]=0.7010000000000001\n", - "Condition met. Appended special results for step 4358 to test_path/special_results.parquet\n", - "4358\n", - "model_vars.get('Gini', 0)[-1]=0.7076\n", - "Condition met. Appended special results for step 4359 to test_path/special_results.parquet\n", - "4359\n", - "model_vars.get('Gini', 0)[-1]=0.683\n", - "Condition not met at step 4360. No data to save.\n", - "4360\n", - "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", - "Condition not met at step 4361. No data to save.\n", - "4361\n", - "model_vars.get('Gini', 0)[-1]=0.688\n", - "Condition not met at step 4362. No data to save.\n", - "4362\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", - "Condition not met at step 4363. No data to save.\n", - "4363\n", - "model_vars.get('Gini', 0)[-1]=0.6856\n", - "Condition not met at step 4364. No data to save.\n", - "4364\n", - "model_vars.get('Gini', 0)[-1]=0.6972\n", - "Condition not met at step 4365. No data to save.\n", - "4365\n", - "model_vars.get('Gini', 0)[-1]=0.6894\n", - "Condition not met at step 4366. No data to save.\n", - "4366\n", - "model_vars.get('Gini', 0)[-1]=0.7156\n", - "Condition met. Appended special results for step 4367 to test_path/special_results.parquet\n", - "4367\n", - "model_vars.get('Gini', 0)[-1]=0.7108\n", - "Condition met. Appended special results for step 4368 to test_path/special_results.parquet\n", - "4368\n", - "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", - "Condition not met at step 4369. No data to save.\n", - "4369\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", - "Condition not met at step 4370. No data to save.\n", - "4370\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 4371. No data to save.\n", - "4371\n", - "model_vars.get('Gini', 0)[-1]=0.6574\n", - "Condition not met at step 4372. No data to save.\n", - "4372\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 4373. No data to save.\n", - "4373\n", - "model_vars.get('Gini', 0)[-1]=0.6792\n", - "Condition not met at step 4374. No data to save.\n", - "4374\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 4375. No data to save.\n", - "4375\n", - "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", - "Condition not met at step 4376. No data to save.\n", - "4376\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 4377. No data to save.\n", - "4377\n", - "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", - "Condition not met at step 4378. No data to save.\n", - "4378\n", - "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", - "Condition not met at step 4379. No data to save.\n", - "4379\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 4380. No data to save.\n", - "4380\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", - "Condition not met at step 4381. No data to save.\n", - "4381\n", - "model_vars.get('Gini', 0)[-1]=0.616\n", - "Condition not met at step 4382. No data to save.\n", - "4382\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", - "Condition not met at step 4383. No data to save.\n", - "4383\n", - "model_vars.get('Gini', 0)[-1]=0.648\n", - "Condition not met at step 4384. No data to save.\n", - "4384\n", - "model_vars.get('Gini', 0)[-1]=0.635\n", - "Condition not met at step 4385. No data to save.\n", - "4385\n", - "model_vars.get('Gini', 0)[-1]=0.6394\n", - "Condition not met at step 4386. No data to save.\n", - "4386\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", - "Condition not met at step 4387. No data to save.\n", - "4387\n", - "model_vars.get('Gini', 0)[-1]=0.6228\n", - "Condition not met at step 4388. No data to save.\n", - "4388\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", - "Condition not met at step 4389. No data to save.\n", - "4389\n", - "model_vars.get('Gini', 0)[-1]=0.6779999999999999\n", - "Condition not met at step 4390. No data to save.\n", - "4390\n", - "model_vars.get('Gini', 0)[-1]=0.6878\n", - "Condition not met at step 4391. No data to save.\n", - "4391\n", - "model_vars.get('Gini', 0)[-1]=0.6742\n", - "Condition not met at step 4392. No data to save.\n", - "4392\n", - "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", - "Condition not met at step 4393. No data to save.\n", - "4393\n", - "model_vars.get('Gini', 0)[-1]=0.6882\n", - "Condition not met at step 4394. No data to save.\n", - "4394\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", - "Condition not met at step 4395. No data to save.\n", - "4395\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", - "Condition not met at step 4396. No data to save.\n", - "4396\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 4397. No data to save.\n", - "4397\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 4398. No data to save.\n", - "4398\n", - "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", - "Condition not met at step 4399. No data to save.\n", - "4399\n", - "CALLED\n", - "self.model._steps=4400\n", - " TEST self.model._steps=4400\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "4300 0.6328\n", - "4301 0.6124\n", - "4302 0.6110\n", - "4303 0.6012\n", - "4304 0.5772\n", - "... ...\n", - "4395 0.6734\n", - "4396 0.6730\n", - "4397 0.6712\n", - "4398 0.6700\n", - "4399 0.6712\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_044.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_044.parquet'\n", - "Saving model to test_path/model_data_044.parquet\n", - "Saving agent to test_path/agent_data_044.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 4400. No data to save.\n", - "4400\n", - "model_vars.get('Gini', 0)[-1]=0.6628000000000001\n", - "Condition not met at step 4401. No data to save.\n", - "4401\n", - "model_vars.get('Gini', 0)[-1]=0.664\n", - "Condition not met at step 4402. No data to save.\n", - "4402\n", - "model_vars.get('Gini', 0)[-1]=0.6932\n", - "Condition not met at step 4403. No data to save.\n", - "4403\n", - "model_vars.get('Gini', 0)[-1]=0.702\n", - "Condition met. Appended special results for step 4404 to test_path/special_results.parquet\n", - "4404\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", - "Condition not met at step 4405. No data to save.\n", - "4405\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", - "Condition not met at step 4406. No data to save.\n", - "4406\n", - "model_vars.get('Gini', 0)[-1]=0.6896\n", - "Condition not met at step 4407. No data to save.\n", - "4407\n", - "model_vars.get('Gini', 0)[-1]=0.6934\n", - "Condition not met at step 4408. No data to save.\n", - "4408\n", - "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", - "Condition not met at step 4409. No data to save.\n", - "4409\n", - "model_vars.get('Gini', 0)[-1]=0.6796\n", - "Condition not met at step 4410. No data to save.\n", - "4410\n", - "model_vars.get('Gini', 0)[-1]=0.6792\n", - "Condition not met at step 4411. No data to save.\n", - "4411\n", - "model_vars.get('Gini', 0)[-1]=0.6964\n", - "Condition not met at step 4412. No data to save.\n", - "4412\n", - "model_vars.get('Gini', 0)[-1]=0.6992\n", - "Condition not met at step 4413. No data to save.\n", - "4413\n", - "model_vars.get('Gini', 0)[-1]=0.7024\n", - "Condition met. Appended special results for step 4414 to test_path/special_results.parquet\n", - "4414\n", - "model_vars.get('Gini', 0)[-1]=0.6839999999999999\n", - "Condition not met at step 4415. No data to save.\n", - "4415\n", - "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", - "Condition not met at step 4416. No data to save.\n", - "4416\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", - "Condition not met at step 4417. No data to save.\n", - "4417\n", - "model_vars.get('Gini', 0)[-1]=0.6572\n", - "Condition not met at step 4418. No data to save.\n", - "4418\n", - "model_vars.get('Gini', 0)[-1]=0.6652\n", - "Condition not met at step 4419. No data to save.\n", - "4419\n", - "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", - "Condition not met at step 4420. No data to save.\n", - "4420\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 4421. No data to save.\n", - "4421\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", - "Condition not met at step 4422. No data to save.\n", - "4422\n", - "model_vars.get('Gini', 0)[-1]=0.6662\n", - "Condition not met at step 4423. No data to save.\n", - "4423\n", - "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", - "Condition not met at step 4424. No data to save.\n", - "4424\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 4425. No data to save.\n", - "4425\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 4426. No data to save.\n", - "4426\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 4427. No data to save.\n", - "4427\n", - "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", - "Condition not met at step 4428. No data to save.\n", - "4428\n", - "model_vars.get('Gini', 0)[-1]=0.6392\n", - "Condition not met at step 4429. No data to save.\n", - "4429\n", - "model_vars.get('Gini', 0)[-1]=0.638\n", - "Condition not met at step 4430. No data to save.\n", - "4430\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", - "Condition not met at step 4431. No data to save.\n", - "4431\n", - "model_vars.get('Gini', 0)[-1]=0.6152\n", - "Condition not met at step 4432. No data to save.\n", - "4432\n", - "model_vars.get('Gini', 0)[-1]=0.6288\n", - "Condition not met at step 4433. No data to save.\n", - "4433\n", - "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", - "Condition not met at step 4434. No data to save.\n", - "4434\n", - "model_vars.get('Gini', 0)[-1]=0.6506000000000001\n", - "Condition not met at step 4435. No data to save.\n", - "4435\n", - "model_vars.get('Gini', 0)[-1]=0.6836\n", - "Condition not met at step 4436. No data to save.\n", - "4436\n", - "model_vars.get('Gini', 0)[-1]=0.6776\n", - "Condition not met at step 4437. No data to save.\n", - "4437\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 4438. No data to save.\n", - "4438\n", - "model_vars.get('Gini', 0)[-1]=0.694\n", - "Condition not met at step 4439. No data to save.\n", - "4439\n", - "model_vars.get('Gini', 0)[-1]=0.6779999999999999\n", - "Condition not met at step 4440. No data to save.\n", - "4440\n", - "model_vars.get('Gini', 0)[-1]=0.6772\n", - "Condition not met at step 4441. No data to save.\n", - "4441\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 4442. No data to save.\n", - "4442\n", - "model_vars.get('Gini', 0)[-1]=0.6784\n", - "Condition not met at step 4443. No data to save.\n", - "4443\n", - "model_vars.get('Gini', 0)[-1]=0.6724\n", - "Condition not met at step 4444. No data to save.\n", - "4444\n", - "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", - "Condition not met at step 4445. No data to save.\n", - "4445\n", - "model_vars.get('Gini', 0)[-1]=0.6494\n", - "Condition not met at step 4446. No data to save.\n", - "4446\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 4447. No data to save.\n", - "4447\n", - "model_vars.get('Gini', 0)[-1]=0.6918\n", - "Condition not met at step 4448. No data to save.\n", - "4448\n", - "model_vars.get('Gini', 0)[-1]=0.7088\n", - "Condition met. Appended special results for step 4449 to test_path/special_results.parquet\n", - "4449\n", - "model_vars.get('Gini', 0)[-1]=0.7148\n", - "Condition met. Appended special results for step 4450 to test_path/special_results.parquet\n", - "4450\n", - "model_vars.get('Gini', 0)[-1]=0.7328\n", - "Condition met. Appended special results for step 4451 to test_path/special_results.parquet\n", - "4451\n", - "model_vars.get('Gini', 0)[-1]=0.735\n", - "Condition met. Appended special results for step 4452 to test_path/special_results.parquet\n", - "4452\n", - "model_vars.get('Gini', 0)[-1]=0.7306\n", - "Condition met. Appended special results for step 4453 to test_path/special_results.parquet\n", - "4453\n", - "model_vars.get('Gini', 0)[-1]=0.6958\n", - "Condition not met at step 4454. No data to save.\n", - "4454\n", - "model_vars.get('Gini', 0)[-1]=0.7004\n", - "Condition met. Appended special results for step 4455 to test_path/special_results.parquet\n", - "4455\n", - "model_vars.get('Gini', 0)[-1]=0.7174\n", - "Condition met. Appended special results for step 4456 to test_path/special_results.parquet\n", - "4456\n", - "model_vars.get('Gini', 0)[-1]=0.718\n", - "Condition met. Appended special results for step 4457 to test_path/special_results.parquet\n", - "4457\n", - "model_vars.get('Gini', 0)[-1]=0.7138\n", - "Condition met. Appended special results for step 4458 to test_path/special_results.parquet\n", - "4458\n", - "model_vars.get('Gini', 0)[-1]=0.6984\n", - "Condition not met at step 4459. No data to save.\n", - "4459\n", - "model_vars.get('Gini', 0)[-1]=0.7012\n", - "Condition met. Appended special results for step 4460 to test_path/special_results.parquet\n", - "4460\n", - "model_vars.get('Gini', 0)[-1]=0.6988000000000001\n", - "Condition not met at step 4461. No data to save.\n", - "4461\n", - "model_vars.get('Gini', 0)[-1]=0.7048\n", - "Condition met. Appended special results for step 4462 to test_path/special_results.parquet\n", - "4462\n", - "model_vars.get('Gini', 0)[-1]=0.7070000000000001\n", - "Condition met. Appended special results for step 4463 to test_path/special_results.parquet\n", - "4463\n", - "model_vars.get('Gini', 0)[-1]=0.7148\n", - "Condition met. Appended special results for step 4464 to test_path/special_results.parquet\n", - "4464\n", - "model_vars.get('Gini', 0)[-1]=0.6912\n", - "Condition not met at step 4465. No data to save.\n", - "4465\n", - "model_vars.get('Gini', 0)[-1]=0.6844\n", - "Condition not met at step 4466. No data to save.\n", - "4466\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", - "Condition not met at step 4467. No data to save.\n", - "4467\n", - "model_vars.get('Gini', 0)[-1]=0.6422\n", - "Condition not met at step 4468. No data to save.\n", - "4468\n", - "model_vars.get('Gini', 0)[-1]=0.649\n", - "Condition not met at step 4469. No data to save.\n", - "4469\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", - "Condition not met at step 4470. No data to save.\n", - "4470\n", - "model_vars.get('Gini', 0)[-1]=0.6334\n", - "Condition not met at step 4471. No data to save.\n", - "4471\n", - "model_vars.get('Gini', 0)[-1]=0.6616\n", - "Condition not met at step 4472. No data to save.\n", - "4472\n", - "model_vars.get('Gini', 0)[-1]=0.6756\n", - "Condition not met at step 4473. No data to save.\n", - "4473\n", - "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", - "Condition not met at step 4474. No data to save.\n", - "4474\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", - "Condition not met at step 4475. No data to save.\n", - "4475\n", - "model_vars.get('Gini', 0)[-1]=0.6746000000000001\n", - "Condition not met at step 4476. No data to save.\n", - "4476\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", - "Condition not met at step 4477. No data to save.\n", - "4477\n", - "model_vars.get('Gini', 0)[-1]=0.662\n", - "Condition not met at step 4478. No data to save.\n", - "4478\n", - "model_vars.get('Gini', 0)[-1]=0.6492\n", - "Condition not met at step 4479. No data to save.\n", - "4479\n", - "model_vars.get('Gini', 0)[-1]=0.62\n", - "Condition not met at step 4480. No data to save.\n", - "4480\n", - "model_vars.get('Gini', 0)[-1]=0.6056\n", - "Condition not met at step 4481. No data to save.\n", - "4481\n", - "model_vars.get('Gini', 0)[-1]=0.6634\n", - "Condition not met at step 4482. No data to save.\n", - "4482\n", - "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", - "Condition not met at step 4483. No data to save.\n", - "4483\n", - "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", - "Condition not met at step 4484. No data to save.\n", - "4484\n", - "model_vars.get('Gini', 0)[-1]=0.6224000000000001\n", - "Condition not met at step 4485. No data to save.\n", - "4485\n", - "model_vars.get('Gini', 0)[-1]=0.6574\n", - "Condition not met at step 4486. No data to save.\n", - "4486\n", - "model_vars.get('Gini', 0)[-1]=0.6272\n", - "Condition not met at step 4487. No data to save.\n", - "4487\n", - "model_vars.get('Gini', 0)[-1]=0.648\n", - "Condition not met at step 4488. No data to save.\n", - "4488\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", - "Condition not met at step 4489. No data to save.\n", - "4489\n", - "model_vars.get('Gini', 0)[-1]=0.685\n", - "Condition not met at step 4490. No data to save.\n", - "4490\n", - "model_vars.get('Gini', 0)[-1]=0.6816\n", - "Condition not met at step 4491. No data to save.\n", - "4491\n", - "model_vars.get('Gini', 0)[-1]=0.6882\n", - "Condition not met at step 4492. No data to save.\n", - "4492\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 4493. No data to save.\n", - "4493\n", - "model_vars.get('Gini', 0)[-1]=0.6596\n", - "Condition not met at step 4494. No data to save.\n", - "4494\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", - "Condition not met at step 4495. No data to save.\n", - "4495\n", - "model_vars.get('Gini', 0)[-1]=0.6592\n", - "Condition not met at step 4496. No data to save.\n", - "4496\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", - "Condition not met at step 4497. No data to save.\n", - "4497\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 4498. No data to save.\n", - "4498\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", - "Condition not met at step 4499. No data to save.\n", - "4499\n", - "CALLED\n", - "self.model._steps=4500\n", - " TEST self.model._steps=4500\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "4400 0.6628\n", - "4401 0.6640\n", - "4402 0.6932\n", - "4403 0.7020\n", - "4404 0.6788\n", - "... ...\n", - "4495 0.6592\n", - "4496 0.6544\n", - "4497 0.6496\n", - "4498 0.6482\n", - "4499 0.6526\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_045.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_045.parquet'\n", - "Saving model to test_path/model_data_045.parquet\n", - "Saving agent to test_path/agent_data_045.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", - "Condition not met at step 4500. No data to save.\n", - "4500\n", - "model_vars.get('Gini', 0)[-1]=0.6476\n", - "Condition not met at step 4501. No data to save.\n", - "4501\n", - "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", - "Condition not met at step 4502. No data to save.\n", - "4502\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", - "Condition not met at step 4503. No data to save.\n", - "4503\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", - "Condition not met at step 4504. No data to save.\n", - "4504\n", - "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", - "Condition not met at step 4505. No data to save.\n", - "4505\n", - "model_vars.get('Gini', 0)[-1]=0.6972\n", - "Condition not met at step 4506. No data to save.\n", - "4506\n", - "model_vars.get('Gini', 0)[-1]=0.6856\n", - "Condition not met at step 4507. No data to save.\n", - "4507\n", - "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", - "Condition not met at step 4508. No data to save.\n", - "4508\n", - "model_vars.get('Gini', 0)[-1]=0.6934\n", - "Condition not met at step 4509. No data to save.\n", - "4509\n", - "model_vars.get('Gini', 0)[-1]=0.6946\n", - "Condition not met at step 4510. No data to save.\n", - "4510\n", - "model_vars.get('Gini', 0)[-1]=0.692\n", - "Condition not met at step 4511. No data to save.\n", - "4511\n", - "model_vars.get('Gini', 0)[-1]=0.6692\n", - "Condition not met at step 4512. No data to save.\n", - "4512\n", - "model_vars.get('Gini', 0)[-1]=0.6494\n", - "Condition not met at step 4513. No data to save.\n", - "4513\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", - "Condition not met at step 4514. No data to save.\n", - "4514\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", - "Condition not met at step 4515. No data to save.\n", - "4515\n", - "model_vars.get('Gini', 0)[-1]=0.6722\n", - "Condition not met at step 4516. No data to save.\n", - "4516\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 4517. No data to save.\n", - "4517\n", - "model_vars.get('Gini', 0)[-1]=0.6736\n", - "Condition not met at step 4518. No data to save.\n", - "4518\n", - "model_vars.get('Gini', 0)[-1]=0.6774\n", - "Condition not met at step 4519. No data to save.\n", - "4519\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", - "Condition not met at step 4520. No data to save.\n", - "4520\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", - "Condition not met at step 4521. No data to save.\n", - "4521\n", - "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", - "Condition not met at step 4522. No data to save.\n", - "4522\n", - "model_vars.get('Gini', 0)[-1]=0.6428\n", - "Condition not met at step 4523. No data to save.\n", - "4523\n", - "model_vars.get('Gini', 0)[-1]=0.6254\n", - "Condition not met at step 4524. No data to save.\n", - "4524\n", - "model_vars.get('Gini', 0)[-1]=0.6564\n", - "Condition not met at step 4525. No data to save.\n", - "4525\n", - "model_vars.get('Gini', 0)[-1]=0.6844\n", - "Condition not met at step 4526. No data to save.\n", - "4526\n", - "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", - "Condition not met at step 4527. No data to save.\n", - "4527\n", - "model_vars.get('Gini', 0)[-1]=0.6914\n", - "Condition not met at step 4528. No data to save.\n", - "4528\n", - "model_vars.get('Gini', 0)[-1]=0.6932\n", - "Condition not met at step 4529. No data to save.\n", - "4529\n", - "model_vars.get('Gini', 0)[-1]=0.6864\n", - "Condition not met at step 4530. No data to save.\n", - "4530\n", - "model_vars.get('Gini', 0)[-1]=0.69\n", - "Condition not met at step 4531. No data to save.\n", - "4531\n", - "model_vars.get('Gini', 0)[-1]=0.7010000000000001\n", - "Condition met. Appended special results for step 4532 to test_path/special_results.parquet\n", - "4532\n", - "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", - "Condition not met at step 4533. No data to save.\n", - "4533\n", - "model_vars.get('Gini', 0)[-1]=0.6876\n", - "Condition not met at step 4534. No data to save.\n", - "4534\n", - "model_vars.get('Gini', 0)[-1]=0.6976\n", - "Condition not met at step 4535. No data to save.\n", - "4535\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", - "Condition not met at step 4536. No data to save.\n", - "4536\n", - "model_vars.get('Gini', 0)[-1]=0.7012\n", - "Condition met. Appended special results for step 4537 to test_path/special_results.parquet\n", - "4537\n", - "model_vars.get('Gini', 0)[-1]=0.7032\n", - "Condition met. Appended special results for step 4538 to test_path/special_results.parquet\n", - "4538\n", - "model_vars.get('Gini', 0)[-1]=0.7068\n", - "Condition met. Appended special results for step 4539 to test_path/special_results.parquet\n", - "4539\n", - "model_vars.get('Gini', 0)[-1]=0.7058\n", - "Condition met. Appended special results for step 4540 to test_path/special_results.parquet\n", - "4540\n", - "model_vars.get('Gini', 0)[-1]=0.7136\n", - "Condition met. Appended special results for step 4541 to test_path/special_results.parquet\n", - "4541\n", - "model_vars.get('Gini', 0)[-1]=0.7108\n", - "Condition met. Appended special results for step 4542 to test_path/special_results.parquet\n", - "4542\n", - "model_vars.get('Gini', 0)[-1]=0.7288\n", - "Condition met. Appended special results for step 4543 to test_path/special_results.parquet\n", - "4543\n", - "model_vars.get('Gini', 0)[-1]=0.7363999999999999\n", - "Condition met. Appended special results for step 4544 to test_path/special_results.parquet\n", - "4544\n", - "model_vars.get('Gini', 0)[-1]=0.742\n", - "Condition met. Appended special results for step 4545 to test_path/special_results.parquet\n", - "4545\n", - "model_vars.get('Gini', 0)[-1]=0.7448\n", - "Condition met. Appended special results for step 4546 to test_path/special_results.parquet\n", - "4546\n", - "model_vars.get('Gini', 0)[-1]=0.7462\n", - "Condition met. Appended special results for step 4547 to test_path/special_results.parquet\n", - "4547\n", - "model_vars.get('Gini', 0)[-1]=0.7472000000000001\n", - "Condition met. Appended special results for step 4548 to test_path/special_results.parquet\n", - "4548\n", - "model_vars.get('Gini', 0)[-1]=0.7374\n", - "Condition met. Appended special results for step 4549 to test_path/special_results.parquet\n", - "4549\n", - "model_vars.get('Gini', 0)[-1]=0.7256\n", - "Condition met. Appended special results for step 4550 to test_path/special_results.parquet\n", - "4550\n", - "model_vars.get('Gini', 0)[-1]=0.7343999999999999\n", - "Condition met. Appended special results for step 4551 to test_path/special_results.parquet\n", - "4551\n", - "model_vars.get('Gini', 0)[-1]=0.7392000000000001\n", - "Condition met. Appended special results for step 4552 to test_path/special_results.parquet\n", - "4552\n", - "model_vars.get('Gini', 0)[-1]=0.7392000000000001\n", - "Condition met. Appended special results for step 4553 to test_path/special_results.parquet\n", - "4553\n", - "model_vars.get('Gini', 0)[-1]=0.7422\n", - "Condition met. Appended special results for step 4554 to test_path/special_results.parquet\n", - "4554\n", - "model_vars.get('Gini', 0)[-1]=0.7504\n", - "Condition met. Appended special results for step 4555 to test_path/special_results.parquet\n", - "4555\n", - "model_vars.get('Gini', 0)[-1]=0.7488\n", - "Condition met. Appended special results for step 4556 to test_path/special_results.parquet\n", - "4556\n", - "model_vars.get('Gini', 0)[-1]=0.7596\n", - "Condition met. Appended special results for step 4557 to test_path/special_results.parquet\n", - "4557\n", - "model_vars.get('Gini', 0)[-1]=0.7412000000000001\n", - "Condition met. Appended special results for step 4558 to test_path/special_results.parquet\n", - "4558\n", - "model_vars.get('Gini', 0)[-1]=0.7328\n", - "Condition met. Appended special results for step 4559 to test_path/special_results.parquet\n", - "4559\n", - "model_vars.get('Gini', 0)[-1]=0.7223999999999999\n", - "Condition met. Appended special results for step 4560 to test_path/special_results.parquet\n", - "4560\n", - "model_vars.get('Gini', 0)[-1]=0.7270000000000001\n", - "Condition met. Appended special results for step 4561 to test_path/special_results.parquet\n", - "4561\n", - "model_vars.get('Gini', 0)[-1]=0.7163999999999999\n", - "Condition met. Appended special results for step 4562 to test_path/special_results.parquet\n", - "4562\n", - "model_vars.get('Gini', 0)[-1]=0.7108\n", - "Condition met. Appended special results for step 4563 to test_path/special_results.parquet\n", - "4563\n", - "model_vars.get('Gini', 0)[-1]=0.7178\n", - "Condition met. Appended special results for step 4564 to test_path/special_results.parquet\n", - "4564\n", - "model_vars.get('Gini', 0)[-1]=0.7168\n", - "Condition met. Appended special results for step 4565 to test_path/special_results.parquet\n", - "4565\n", - "model_vars.get('Gini', 0)[-1]=0.7054\n", - "Condition met. Appended special results for step 4566 to test_path/special_results.parquet\n", - "4566\n", - "model_vars.get('Gini', 0)[-1]=0.6782\n", - "Condition not met at step 4567. No data to save.\n", - "4567\n", - "model_vars.get('Gini', 0)[-1]=0.6892\n", - "Condition not met at step 4568. No data to save.\n", - "4568\n", - "model_vars.get('Gini', 0)[-1]=0.6842\n", - "Condition not met at step 4569. No data to save.\n", - "4569\n", - "model_vars.get('Gini', 0)[-1]=0.7094\n", - "Condition met. Appended special results for step 4570 to test_path/special_results.parquet\n", - "4570\n", - "model_vars.get('Gini', 0)[-1]=0.6864\n", - "Condition not met at step 4571. No data to save.\n", - "4571\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", - "Condition not met at step 4572. No data to save.\n", - "4572\n", - "model_vars.get('Gini', 0)[-1]=0.7064\n", - "Condition met. Appended special results for step 4573 to test_path/special_results.parquet\n", - "4573\n", - "model_vars.get('Gini', 0)[-1]=0.6996\n", - "Condition not met at step 4574. No data to save.\n", - "4574\n", - "model_vars.get('Gini', 0)[-1]=0.7054\n", - "Condition met. Appended special results for step 4575 to test_path/special_results.parquet\n", - "4575\n", - "model_vars.get('Gini', 0)[-1]=0.6778\n", - "Condition not met at step 4576. No data to save.\n", - "4576\n", - "model_vars.get('Gini', 0)[-1]=0.6784\n", - "Condition not met at step 4577. No data to save.\n", - "4577\n", - "model_vars.get('Gini', 0)[-1]=0.6902\n", - "Condition not met at step 4578. No data to save.\n", - "4578\n", - "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", - "Condition not met at step 4579. No data to save.\n", - "4579\n", - "model_vars.get('Gini', 0)[-1]=0.7088\n", - "Condition met. Appended special results for step 4580 to test_path/special_results.parquet\n", - "4580\n", - "model_vars.get('Gini', 0)[-1]=0.7048\n", - "Condition met. Appended special results for step 4581 to test_path/special_results.parquet\n", - "4581\n", - "model_vars.get('Gini', 0)[-1]=0.6916\n", - "Condition not met at step 4582. No data to save.\n", - "4582\n", - "model_vars.get('Gini', 0)[-1]=0.6968000000000001\n", - "Condition not met at step 4583. No data to save.\n", - "4583\n", - "model_vars.get('Gini', 0)[-1]=0.708\n", - "Condition met. Appended special results for step 4584 to test_path/special_results.parquet\n", - "4584\n", - "model_vars.get('Gini', 0)[-1]=0.692\n", - "Condition not met at step 4585. No data to save.\n", - "4585\n", - "model_vars.get('Gini', 0)[-1]=0.7034\n", - "Condition met. Appended special results for step 4586 to test_path/special_results.parquet\n", - "4586\n", - "model_vars.get('Gini', 0)[-1]=0.7014\n", - "Condition met. Appended special results for step 4587 to test_path/special_results.parquet\n", - "4587\n", - "model_vars.get('Gini', 0)[-1]=0.6872\n", - "Condition not met at step 4588. No data to save.\n", - "4588\n", - "model_vars.get('Gini', 0)[-1]=0.6774\n", - "Condition not met at step 4589. No data to save.\n", - "4589\n", - "model_vars.get('Gini', 0)[-1]=0.6950000000000001\n", - "Condition not met at step 4590. No data to save.\n", - "4590\n", - "model_vars.get('Gini', 0)[-1]=0.6862\n", - "Condition not met at step 4591. No data to save.\n", - "4591\n", - "model_vars.get('Gini', 0)[-1]=0.7018\n", - "Condition met. Appended special results for step 4592 to test_path/special_results.parquet\n", - "4592\n", - "model_vars.get('Gini', 0)[-1]=0.664\n", - "Condition not met at step 4593. No data to save.\n", - "4593\n", - "model_vars.get('Gini', 0)[-1]=0.6890000000000001\n", - "Condition not met at step 4594. No data to save.\n", - "4594\n", - "model_vars.get('Gini', 0)[-1]=0.6694\n", - "Condition not met at step 4595. No data to save.\n", - "4595\n", - "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", - "Condition not met at step 4596. No data to save.\n", - "4596\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 4597. No data to save.\n", - "4597\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 4598. No data to save.\n", - "4598\n", - "model_vars.get('Gini', 0)[-1]=0.6638\n", - "Condition not met at step 4599. No data to save.\n", - "4599\n", - "CALLED\n", - "self.model._steps=4600\n", - " TEST self.model._steps=4600\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "4500 0.6476\n", - "4501 0.6484\n", - "4502 0.6642\n", - "4503 0.6734\n", - "4504 0.6740\n", - "... ...\n", - "4595 0.6558\n", - "4596 0.6378\n", - "4597 0.6602\n", - "4598 0.6638\n", - "4599 0.6902\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_046.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_046.parquet'\n", - "Saving model to test_path/model_data_046.parquet\n", - "Saving agent to test_path/agent_data_046.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6902\n", - "Condition not met at step 4600. No data to save.\n", - "4600\n", - "model_vars.get('Gini', 0)[-1]=0.7034\n", - "Condition met. Appended special results for step 4601 to test_path/special_results.parquet\n", - "4601\n", - "model_vars.get('Gini', 0)[-1]=0.7354\n", - "Condition met. Appended special results for step 4602 to test_path/special_results.parquet\n", - "4602\n", - "model_vars.get('Gini', 0)[-1]=0.7234\n", - "Condition met. Appended special results for step 4603 to test_path/special_results.parquet\n", - "4603\n", - "model_vars.get('Gini', 0)[-1]=0.6974\n", - "Condition not met at step 4604. No data to save.\n", - "4604\n", - "model_vars.get('Gini', 0)[-1]=0.6846\n", - "Condition not met at step 4605. No data to save.\n", - "4605\n", - "model_vars.get('Gini', 0)[-1]=0.6732\n", - "Condition not met at step 4606. No data to save.\n", - "4606\n", - "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", - "Condition not met at step 4607. No data to save.\n", - "4607\n", - "model_vars.get('Gini', 0)[-1]=0.6592\n", - "Condition not met at step 4608. No data to save.\n", - "4608\n", - "model_vars.get('Gini', 0)[-1]=0.6802\n", - "Condition not met at step 4609. No data to save.\n", - "4609\n", - "model_vars.get('Gini', 0)[-1]=0.6864\n", - "Condition not met at step 4610. No data to save.\n", - "4610\n", - "model_vars.get('Gini', 0)[-1]=0.679\n", - "Condition not met at step 4611. No data to save.\n", - "4611\n", - "model_vars.get('Gini', 0)[-1]=0.7066\n", - "Condition met. Appended special results for step 4612 to test_path/special_results.parquet\n", - "4612\n", - "model_vars.get('Gini', 0)[-1]=0.6932\n", - "Condition not met at step 4613. No data to save.\n", - "4613\n", - "model_vars.get('Gini', 0)[-1]=0.7014\n", - "Condition met. Appended special results for step 4614 to test_path/special_results.parquet\n", - "4614\n", - "model_vars.get('Gini', 0)[-1]=0.6866\n", - "Condition not met at step 4615. No data to save.\n", - "4615\n", - "model_vars.get('Gini', 0)[-1]=0.6802\n", - "Condition not met at step 4616. No data to save.\n", - "4616\n", - "model_vars.get('Gini', 0)[-1]=0.6886\n", - "Condition not met at step 4617. No data to save.\n", - "4617\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 4618. No data to save.\n", - "4618\n", - "model_vars.get('Gini', 0)[-1]=0.6724\n", - "Condition not met at step 4619. No data to save.\n", - "4619\n", - "model_vars.get('Gini', 0)[-1]=0.6714\n", - "Condition not met at step 4620. No data to save.\n", - "4620\n", - "model_vars.get('Gini', 0)[-1]=0.6886\n", - "Condition not met at step 4621. No data to save.\n", - "4621\n", - "model_vars.get('Gini', 0)[-1]=0.687\n", - "Condition not met at step 4622. No data to save.\n", - "4622\n", - "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", - "Condition not met at step 4623. No data to save.\n", - "4623\n", - "model_vars.get('Gini', 0)[-1]=0.7052\n", - "Condition met. Appended special results for step 4624 to test_path/special_results.parquet\n", - "4624\n", - "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", - "Condition not met at step 4625. No data to save.\n", - "4625\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", - "Condition not met at step 4626. No data to save.\n", - "4626\n", - "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", - "Condition not met at step 4627. No data to save.\n", - "4627\n", - "model_vars.get('Gini', 0)[-1]=0.685\n", - "Condition not met at step 4628. No data to save.\n", - "4628\n", - "model_vars.get('Gini', 0)[-1]=0.6576\n", - "Condition not met at step 4629. No data to save.\n", - "4629\n", - "model_vars.get('Gini', 0)[-1]=0.6878\n", - "Condition not met at step 4630. No data to save.\n", - "4630\n", - "model_vars.get('Gini', 0)[-1]=0.6992\n", - "Condition not met at step 4631. No data to save.\n", - "4631\n", - "model_vars.get('Gini', 0)[-1]=0.6916\n", - "Condition not met at step 4632. No data to save.\n", - "4632\n", - "model_vars.get('Gini', 0)[-1]=0.6782\n", - "Condition not met at step 4633. No data to save.\n", - "4633\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", - "Condition not met at step 4634. No data to save.\n", - "4634\n", - "model_vars.get('Gini', 0)[-1]=0.7024\n", - "Condition met. Appended special results for step 4635 to test_path/special_results.parquet\n", - "4635\n", - "model_vars.get('Gini', 0)[-1]=0.6872\n", - "Condition not met at step 4636. No data to save.\n", - "4636\n", - "model_vars.get('Gini', 0)[-1]=0.6814\n", - "Condition not met at step 4637. No data to save.\n", - "4637\n", - "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", - "Condition not met at step 4638. No data to save.\n", - "4638\n", - "model_vars.get('Gini', 0)[-1]=0.692\n", - "Condition not met at step 4639. No data to save.\n", - "4639\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 4640. No data to save.\n", - "4640\n", - "model_vars.get('Gini', 0)[-1]=0.6814\n", - "Condition not met at step 4641. No data to save.\n", - "4641\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", - "Condition not met at step 4642. No data to save.\n", - "4642\n", - "model_vars.get('Gini', 0)[-1]=0.6886\n", - "Condition not met at step 4643. No data to save.\n", - "4643\n", - "model_vars.get('Gini', 0)[-1]=0.6902\n", - "Condition not met at step 4644. No data to save.\n", - "4644\n", - "model_vars.get('Gini', 0)[-1]=0.6828000000000001\n", - "Condition not met at step 4645. No data to save.\n", - "4645\n", - "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", - "Condition not met at step 4646. No data to save.\n", - "4646\n", - "model_vars.get('Gini', 0)[-1]=0.6852\n", - "Condition not met at step 4647. No data to save.\n", - "4647\n", - "model_vars.get('Gini', 0)[-1]=0.704\n", - "Condition met. Appended special results for step 4648 to test_path/special_results.parquet\n", - "4648\n", - "model_vars.get('Gini', 0)[-1]=0.6954\n", - "Condition not met at step 4649. No data to save.\n", - "4649\n", - "model_vars.get('Gini', 0)[-1]=0.7041999999999999\n", - "Condition met. Appended special results for step 4650 to test_path/special_results.parquet\n", - "4650\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", - "Condition not met at step 4651. No data to save.\n", - "4651\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", - "Condition not met at step 4652. No data to save.\n", - "4652\n", - "model_vars.get('Gini', 0)[-1]=0.6956\n", - "Condition not met at step 4653. No data to save.\n", - "4653\n", - "model_vars.get('Gini', 0)[-1]=0.6574\n", - "Condition not met at step 4654. No data to save.\n", - "4654\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 4655. No data to save.\n", - "4655\n", - "model_vars.get('Gini', 0)[-1]=0.6652\n", - "Condition not met at step 4656. No data to save.\n", - "4656\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", - "Condition not met at step 4657. No data to save.\n", - "4657\n", - "model_vars.get('Gini', 0)[-1]=0.6472\n", - "Condition not met at step 4658. No data to save.\n", - "4658\n", - "model_vars.get('Gini', 0)[-1]=0.655\n", - "Condition not met at step 4659. No data to save.\n", - "4659\n", - "model_vars.get('Gini', 0)[-1]=0.6634\n", - "Condition not met at step 4660. No data to save.\n", - "4660\n", - "model_vars.get('Gini', 0)[-1]=0.6684\n", - "Condition not met at step 4661. No data to save.\n", - "4661\n", - "model_vars.get('Gini', 0)[-1]=0.649\n", - "Condition not met at step 4662. No data to save.\n", - "4662\n", - "model_vars.get('Gini', 0)[-1]=0.6684\n", - "Condition not met at step 4663. No data to save.\n", - "4663\n", - "model_vars.get('Gini', 0)[-1]=0.6584\n", - "Condition not met at step 4664. No data to save.\n", - "4664\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", - "Condition not met at step 4665. No data to save.\n", - "4665\n", - "model_vars.get('Gini', 0)[-1]=0.6278\n", - "Condition not met at step 4666. No data to save.\n", - "4666\n", - "model_vars.get('Gini', 0)[-1]=0.6246\n", - "Condition not met at step 4667. No data to save.\n", - "4667\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", - "Condition not met at step 4668. No data to save.\n", - "4668\n", - "model_vars.get('Gini', 0)[-1]=0.683\n", - "Condition not met at step 4669. No data to save.\n", - "4669\n", - "model_vars.get('Gini', 0)[-1]=0.6936\n", - "Condition not met at step 4670. No data to save.\n", - "4670\n", - "model_vars.get('Gini', 0)[-1]=0.679\n", - "Condition not met at step 4671. No data to save.\n", - "4671\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", - "Condition not met at step 4672. No data to save.\n", - "4672\n", - "model_vars.get('Gini', 0)[-1]=0.6472\n", - "Condition not met at step 4673. No data to save.\n", - "4673\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 4674. No data to save.\n", - "4674\n", - "model_vars.get('Gini', 0)[-1]=0.6302\n", - "Condition not met at step 4675. No data to save.\n", - "4675\n", - "model_vars.get('Gini', 0)[-1]=0.6252\n", - "Condition not met at step 4676. No data to save.\n", - "4676\n", - "model_vars.get('Gini', 0)[-1]=0.6082000000000001\n", - "Condition not met at step 4677. No data to save.\n", - "4677\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 4678. No data to save.\n", - "4678\n", - "model_vars.get('Gini', 0)[-1]=0.6382\n", - "Condition not met at step 4679. No data to save.\n", - "4679\n", - "model_vars.get('Gini', 0)[-1]=0.6416\n", - "Condition not met at step 4680. No data to save.\n", - "4680\n", - "model_vars.get('Gini', 0)[-1]=0.6175999999999999\n", - "Condition not met at step 4681. No data to save.\n", - "4681\n", - "model_vars.get('Gini', 0)[-1]=0.6284000000000001\n", - "Condition not met at step 4682. No data to save.\n", - "4682\n", - "model_vars.get('Gini', 0)[-1]=0.6195999999999999\n", - "Condition not met at step 4683. No data to save.\n", - "4683\n", - "model_vars.get('Gini', 0)[-1]=0.6324000000000001\n", - "Condition not met at step 4684. No data to save.\n", - "4684\n", - "model_vars.get('Gini', 0)[-1]=0.6144000000000001\n", - "Condition not met at step 4685. No data to save.\n", - "4685\n", - "model_vars.get('Gini', 0)[-1]=0.6262000000000001\n", - "Condition not met at step 4686. No data to save.\n", - "4686\n", - "model_vars.get('Gini', 0)[-1]=0.5698000000000001\n", - "Condition not met at step 4687. No data to save.\n", - "4687\n", - "model_vars.get('Gini', 0)[-1]=0.5482\n", - "Condition not met at step 4688. No data to save.\n", - "4688\n", - "model_vars.get('Gini', 0)[-1]=0.5798\n", - "Condition not met at step 4689. No data to save.\n", - "4689\n", - "model_vars.get('Gini', 0)[-1]=0.607\n", - "Condition not met at step 4690. No data to save.\n", - "4690\n", - "model_vars.get('Gini', 0)[-1]=0.5962000000000001\n", - "Condition not met at step 4691. No data to save.\n", - "4691\n", - "model_vars.get('Gini', 0)[-1]=0.5928\n", - "Condition not met at step 4692. No data to save.\n", - "4692\n", - "model_vars.get('Gini', 0)[-1]=0.5576\n", - "Condition not met at step 4693. No data to save.\n", - "4693\n", - "model_vars.get('Gini', 0)[-1]=0.5408\n", - "Condition not met at step 4694. No data to save.\n", - "4694\n", - "model_vars.get('Gini', 0)[-1]=0.5696\n", - "Condition not met at step 4695. No data to save.\n", - "4695\n", - "model_vars.get('Gini', 0)[-1]=0.5686\n", - "Condition not met at step 4696. No data to save.\n", - "4696\n", - "model_vars.get('Gini', 0)[-1]=0.5356000000000001\n", - "Condition not met at step 4697. No data to save.\n", - "4697\n", - "model_vars.get('Gini', 0)[-1]=0.5691999999999999\n", - "Condition not met at step 4698. No data to save.\n", - "4698\n", - "model_vars.get('Gini', 0)[-1]=0.5406\n", - "Condition not met at step 4699. No data to save.\n", - "4699\n", - "CALLED\n", - "self.model._steps=4700\n", - " TEST self.model._steps=4700\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "4600 0.7034\n", - "4601 0.7354\n", - "4602 0.7234\n", - "4603 0.6974\n", - "4604 0.6846\n", - "... ...\n", - "4695 0.5686\n", - "4696 0.5356\n", - "4697 0.5692\n", - "4698 0.5406\n", - "4699 0.5570\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_047.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_047.parquet'\n", - "Saving model to test_path/model_data_047.parquet\n", - "Saving agent to test_path/agent_data_047.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.5569999999999999\n", - "Condition not met at step 4700. No data to save.\n", - "4700\n", - "model_vars.get('Gini', 0)[-1]=0.5552\n", - "Condition not met at step 4701. No data to save.\n", - "4701\n", - "model_vars.get('Gini', 0)[-1]=0.5780000000000001\n", - "Condition not met at step 4702. No data to save.\n", - "4702\n", - "model_vars.get('Gini', 0)[-1]=0.5768\n", - "Condition not met at step 4703. No data to save.\n", - "4703\n", - "model_vars.get('Gini', 0)[-1]=0.599\n", - "Condition not met at step 4704. No data to save.\n", - "4704\n", - "model_vars.get('Gini', 0)[-1]=0.6172\n", - "Condition not met at step 4705. No data to save.\n", - "4705\n", - "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", - "Condition not met at step 4706. No data to save.\n", - "4706\n", - "model_vars.get('Gini', 0)[-1]=0.6576\n", - "Condition not met at step 4707. No data to save.\n", - "4707\n", - "model_vars.get('Gini', 0)[-1]=0.649\n", - "Condition not met at step 4708. No data to save.\n", - "4708\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", - "Condition not met at step 4709. No data to save.\n", - "4709\n", - "model_vars.get('Gini', 0)[-1]=0.6382\n", - "Condition not met at step 4710. No data to save.\n", - "4710\n", - "model_vars.get('Gini', 0)[-1]=0.651\n", - "Condition not met at step 4711. No data to save.\n", - "4711\n", - "model_vars.get('Gini', 0)[-1]=0.6442\n", - "Condition not met at step 4712. No data to save.\n", - "4712\n", - "model_vars.get('Gini', 0)[-1]=0.6226\n", - "Condition not met at step 4713. No data to save.\n", - "4713\n", - "model_vars.get('Gini', 0)[-1]=0.6288\n", - "Condition not met at step 4714. No data to save.\n", - "4714\n", - "model_vars.get('Gini', 0)[-1]=0.6234\n", - "Condition not met at step 4715. No data to save.\n", - "4715\n", - "model_vars.get('Gini', 0)[-1]=0.6244000000000001\n", - "Condition not met at step 4716. No data to save.\n", - "4716\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 4717. No data to save.\n", - "4717\n", - "model_vars.get('Gini', 0)[-1]=0.628\n", - "Condition not met at step 4718. No data to save.\n", - "4718\n", - "model_vars.get('Gini', 0)[-1]=0.6344000000000001\n", - "Condition not met at step 4719. No data to save.\n", - "4719\n", - "model_vars.get('Gini', 0)[-1]=0.64\n", - "Condition not met at step 4720. No data to save.\n", - "4720\n", - "model_vars.get('Gini', 0)[-1]=0.593\n", - "Condition not met at step 4721. No data to save.\n", - "4721\n", - "model_vars.get('Gini', 0)[-1]=0.6142000000000001\n", - "Condition not met at step 4722. No data to save.\n", - "4722\n", - "model_vars.get('Gini', 0)[-1]=0.6392\n", - "Condition not met at step 4723. No data to save.\n", - "4723\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 4724. No data to save.\n", - "4724\n", - "model_vars.get('Gini', 0)[-1]=0.6264000000000001\n", - "Condition not met at step 4725. No data to save.\n", - "4725\n", - "model_vars.get('Gini', 0)[-1]=0.6128\n", - "Condition not met at step 4726. No data to save.\n", - "4726\n", - "model_vars.get('Gini', 0)[-1]=0.6020000000000001\n", - "Condition not met at step 4727. No data to save.\n", - "4727\n", - "model_vars.get('Gini', 0)[-1]=0.6134\n", - "Condition not met at step 4728. No data to save.\n", - "4728\n", - "model_vars.get('Gini', 0)[-1]=0.6076\n", - "Condition not met at step 4729. No data to save.\n", - "4729\n", - "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", - "Condition not met at step 4730. No data to save.\n", - "4730\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 4731. No data to save.\n", - "4731\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", - "Condition not met at step 4732. No data to save.\n", - "4732\n", - "model_vars.get('Gini', 0)[-1]=0.6332\n", - "Condition not met at step 4733. No data to save.\n", - "4733\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 4734. No data to save.\n", - "4734\n", - "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", - "Condition not met at step 4735. No data to save.\n", - "4735\n", - "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", - "Condition not met at step 4736. No data to save.\n", - "4736\n", - "model_vars.get('Gini', 0)[-1]=0.7058\n", - "Condition met. Appended special results for step 4737 to test_path/special_results.parquet\n", - "4737\n", - "model_vars.get('Gini', 0)[-1]=0.7050000000000001\n", - "Condition met. Appended special results for step 4738 to test_path/special_results.parquet\n", - "4738\n", - "model_vars.get('Gini', 0)[-1]=0.6996\n", - "Condition not met at step 4739. No data to save.\n", - "4739\n", - "model_vars.get('Gini', 0)[-1]=0.6988000000000001\n", - "Condition not met at step 4740. No data to save.\n", - "4740\n", - "model_vars.get('Gini', 0)[-1]=0.6944\n", - "Condition not met at step 4741. No data to save.\n", - "4741\n", - "model_vars.get('Gini', 0)[-1]=0.6902\n", - "Condition not met at step 4742. No data to save.\n", - "4742\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 4743. No data to save.\n", - "4743\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 4744. No data to save.\n", - "4744\n", - "model_vars.get('Gini', 0)[-1]=0.6738\n", - "Condition not met at step 4745. No data to save.\n", - "4745\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 4746. No data to save.\n", - "4746\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 4747. No data to save.\n", - "4747\n", - "model_vars.get('Gini', 0)[-1]=0.6874\n", - "Condition not met at step 4748. No data to save.\n", - "4748\n", - "model_vars.get('Gini', 0)[-1]=0.702\n", - "Condition met. Appended special results for step 4749 to test_path/special_results.parquet\n", - "4749\n", - "model_vars.get('Gini', 0)[-1]=0.6988000000000001\n", - "Condition not met at step 4750. No data to save.\n", - "4750\n", - "model_vars.get('Gini', 0)[-1]=0.6884\n", - "Condition not met at step 4751. No data to save.\n", - "4751\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 4752. No data to save.\n", - "4752\n", - "model_vars.get('Gini', 0)[-1]=0.6754\n", - "Condition not met at step 4753. No data to save.\n", - "4753\n", - "model_vars.get('Gini', 0)[-1]=0.6636\n", - "Condition not met at step 4754. No data to save.\n", - "4754\n", - "model_vars.get('Gini', 0)[-1]=0.6302\n", - "Condition not met at step 4755. No data to save.\n", - "4755\n", - "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", - "Condition not met at step 4756. No data to save.\n", - "4756\n", - "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", - "Condition not met at step 4757. No data to save.\n", - "4757\n", - "model_vars.get('Gini', 0)[-1]=0.6722\n", - "Condition not met at step 4758. No data to save.\n", - "4758\n", - "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", - "Condition not met at step 4759. No data to save.\n", - "4759\n", - "model_vars.get('Gini', 0)[-1]=0.6706000000000001\n", - "Condition not met at step 4760. No data to save.\n", - "4760\n", - "model_vars.get('Gini', 0)[-1]=0.6839999999999999\n", - "Condition not met at step 4761. No data to save.\n", - "4761\n", - "model_vars.get('Gini', 0)[-1]=0.6704\n", - "Condition not met at step 4762. No data to save.\n", - "4762\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 4763. No data to save.\n", - "4763\n", - "model_vars.get('Gini', 0)[-1]=0.645\n", - "Condition not met at step 4764. No data to save.\n", - "4764\n", - "model_vars.get('Gini', 0)[-1]=0.62\n", - "Condition not met at step 4765. No data to save.\n", - "4765\n", - "model_vars.get('Gini', 0)[-1]=0.6266\n", - "Condition not met at step 4766. No data to save.\n", - "4766\n", - "model_vars.get('Gini', 0)[-1]=0.6318\n", - "Condition not met at step 4767. No data to save.\n", - "4767\n", - "model_vars.get('Gini', 0)[-1]=0.6186\n", - "Condition not met at step 4768. No data to save.\n", - "4768\n", - "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", - "Condition not met at step 4769. No data to save.\n", - "4769\n", - "model_vars.get('Gini', 0)[-1]=0.6382\n", - "Condition not met at step 4770. No data to save.\n", - "4770\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 4771. No data to save.\n", - "4771\n", - "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", - "Condition not met at step 4772. No data to save.\n", - "4772\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", - "Condition not met at step 4773. No data to save.\n", - "4773\n", - "model_vars.get('Gini', 0)[-1]=0.6382\n", - "Condition not met at step 4774. No data to save.\n", - "4774\n", - "model_vars.get('Gini', 0)[-1]=0.6554\n", - "Condition not met at step 4775. No data to save.\n", - "4775\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", - "Condition not met at step 4776. No data to save.\n", - "4776\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 4777. No data to save.\n", - "4777\n", - "model_vars.get('Gini', 0)[-1]=0.6624\n", - "Condition not met at step 4778. No data to save.\n", - "4778\n", - "model_vars.get('Gini', 0)[-1]=0.6576\n", - "Condition not met at step 4779. No data to save.\n", - "4779\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 4780. No data to save.\n", - "4780\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 4781. No data to save.\n", - "4781\n", - "model_vars.get('Gini', 0)[-1]=0.6896\n", - "Condition not met at step 4782. No data to save.\n", - "4782\n", - "model_vars.get('Gini', 0)[-1]=0.7004\n", - "Condition met. Appended special results for step 4783 to test_path/special_results.parquet\n", - "4783\n", - "model_vars.get('Gini', 0)[-1]=0.6966\n", - "Condition not met at step 4784. No data to save.\n", - "4784\n", - "model_vars.get('Gini', 0)[-1]=0.6692\n", - "Condition not met at step 4785. No data to save.\n", - "4785\n", - "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", - "Condition not met at step 4786. No data to save.\n", - "4786\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", - "Condition not met at step 4787. No data to save.\n", - "4787\n", - "model_vars.get('Gini', 0)[-1]=0.6818\n", - "Condition not met at step 4788. No data to save.\n", - "4788\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 4789. No data to save.\n", - "4789\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", - "Condition not met at step 4790. No data to save.\n", - "4790\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 4791. No data to save.\n", - "4791\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", - "Condition not met at step 4792. No data to save.\n", - "4792\n", - "model_vars.get('Gini', 0)[-1]=0.6522\n", - "Condition not met at step 4793. No data to save.\n", - "4793\n", - "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", - "Condition not met at step 4794. No data to save.\n", - "4794\n", - "model_vars.get('Gini', 0)[-1]=0.6462\n", - "Condition not met at step 4795. No data to save.\n", - "4795\n", - "model_vars.get('Gini', 0)[-1]=0.662\n", - "Condition not met at step 4796. No data to save.\n", - "4796\n", - "model_vars.get('Gini', 0)[-1]=0.6856\n", - "Condition not met at step 4797. No data to save.\n", - "4797\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 4798. No data to save.\n", - "4798\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 4799. No data to save.\n", - "4799\n", - "CALLED\n", - "self.model._steps=4800\n", - " TEST self.model._steps=4800\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "4700 0.5552\n", - "4701 0.5780\n", - "4702 0.5768\n", - "4703 0.5990\n", - "4704 0.6172\n", - "... ...\n", - "4795 0.6620\n", - "4796 0.6856\n", - "4797 0.6602\n", - "4798 0.6508\n", - "4799 0.6674\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_048.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_048.parquet'\n", - "Saving model to test_path/model_data_048.parquet\n", - "Saving agent to test_path/agent_data_048.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6674\n", - "Condition not met at step 4800. No data to save.\n", - "4800\n", - "model_vars.get('Gini', 0)[-1]=0.6742\n", - "Condition not met at step 4801. No data to save.\n", - "4801\n", - "model_vars.get('Gini', 0)[-1]=0.6914\n", - "Condition not met at step 4802. No data to save.\n", - "4802\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 4803. No data to save.\n", - "4803\n", - "model_vars.get('Gini', 0)[-1]=0.6592\n", - "Condition not met at step 4804. No data to save.\n", - "4804\n", - "model_vars.get('Gini', 0)[-1]=0.6118\n", - "Condition not met at step 4805. No data to save.\n", - "4805\n", - "model_vars.get('Gini', 0)[-1]=0.6314\n", - "Condition not met at step 4806. No data to save.\n", - "4806\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", - "Condition not met at step 4807. No data to save.\n", - "4807\n", - "model_vars.get('Gini', 0)[-1]=0.6812\n", - "Condition not met at step 4808. No data to save.\n", - "4808\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", - "Condition not met at step 4809. No data to save.\n", - "4809\n", - "model_vars.get('Gini', 0)[-1]=0.6582\n", - "Condition not met at step 4810. No data to save.\n", - "4810\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", - "Condition not met at step 4811. No data to save.\n", - "4811\n", - "model_vars.get('Gini', 0)[-1]=0.6608\n", - "Condition not met at step 4812. No data to save.\n", - "4812\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", - "Condition not met at step 4813. No data to save.\n", - "4813\n", - "model_vars.get('Gini', 0)[-1]=0.6514\n", - "Condition not met at step 4814. No data to save.\n", - "4814\n", - "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", - "Condition not met at step 4815. No data to save.\n", - "4815\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", - "Condition not met at step 4816. No data to save.\n", - "4816\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", - "Condition not met at step 4817. No data to save.\n", - "4817\n", - "model_vars.get('Gini', 0)[-1]=0.6517999999999999\n", - "Condition not met at step 4818. No data to save.\n", - "4818\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 4819. No data to save.\n", - "4819\n", - "model_vars.get('Gini', 0)[-1]=0.6838\n", - "Condition not met at step 4820. No data to save.\n", - "4820\n", - "model_vars.get('Gini', 0)[-1]=0.6696\n", - "Condition not met at step 4821. No data to save.\n", - "4821\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", - "Condition not met at step 4822. No data to save.\n", - "4822\n", - "model_vars.get('Gini', 0)[-1]=0.6774\n", - "Condition not met at step 4823. No data to save.\n", - "4823\n", - "model_vars.get('Gini', 0)[-1]=0.6968000000000001\n", - "Condition not met at step 4824. No data to save.\n", - "4824\n", - "model_vars.get('Gini', 0)[-1]=0.653\n", - "Condition not met at step 4825. No data to save.\n", - "4825\n", - "model_vars.get('Gini', 0)[-1]=0.663\n", - "Condition not met at step 4826. No data to save.\n", - "4826\n", - "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", - "Condition not met at step 4827. No data to save.\n", - "4827\n", - "model_vars.get('Gini', 0)[-1]=0.6864\n", - "Condition not met at step 4828. No data to save.\n", - "4828\n", - "model_vars.get('Gini', 0)[-1]=0.6784\n", - "Condition not met at step 4829. No data to save.\n", - "4829\n", - "model_vars.get('Gini', 0)[-1]=0.6918\n", - "Condition not met at step 4830. No data to save.\n", - "4830\n", - "model_vars.get('Gini', 0)[-1]=0.6918\n", - "Condition not met at step 4831. No data to save.\n", - "4831\n", - "model_vars.get('Gini', 0)[-1]=0.7056\n", - "Condition met. Appended special results for step 4832 to test_path/special_results.parquet\n", - "4832\n", - "model_vars.get('Gini', 0)[-1]=0.6938\n", - "Condition not met at step 4833. No data to save.\n", - "4833\n", - "model_vars.get('Gini', 0)[-1]=0.6944\n", - "Condition not met at step 4834. No data to save.\n", - "4834\n", - "model_vars.get('Gini', 0)[-1]=0.6806\n", - "Condition not met at step 4835. No data to save.\n", - "4835\n", - "model_vars.get('Gini', 0)[-1]=0.6726000000000001\n", - "Condition not met at step 4836. No data to save.\n", - "4836\n", - "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", - "Condition not met at step 4837. No data to save.\n", - "4837\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", - "Condition not met at step 4838. No data to save.\n", - "4838\n", - "model_vars.get('Gini', 0)[-1]=0.638\n", - "Condition not met at step 4839. No data to save.\n", - "4839\n", - "model_vars.get('Gini', 0)[-1]=0.648\n", - "Condition not met at step 4840. No data to save.\n", - "4840\n", - "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", - "Condition not met at step 4841. No data to save.\n", - "4841\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 4842. No data to save.\n", - "4842\n", - "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", - "Condition not met at step 4843. No data to save.\n", - "4843\n", - "model_vars.get('Gini', 0)[-1]=0.6376\n", - "Condition not met at step 4844. No data to save.\n", - "4844\n", - "model_vars.get('Gini', 0)[-1]=0.629\n", - "Condition not met at step 4845. No data to save.\n", - "4845\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", - "Condition not met at step 4846. No data to save.\n", - "4846\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", - "Condition not met at step 4847. No data to save.\n", - "4847\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", - "Condition not met at step 4848. No data to save.\n", - "4848\n", - "model_vars.get('Gini', 0)[-1]=0.641\n", - "Condition not met at step 4849. No data to save.\n", - "4849\n", - "model_vars.get('Gini', 0)[-1]=0.6132\n", - "Condition not met at step 4850. No data to save.\n", - "4850\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 4851. No data to save.\n", - "4851\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", - "Condition not met at step 4852. No data to save.\n", - "4852\n", - "model_vars.get('Gini', 0)[-1]=0.6516\n", - "Condition not met at step 4853. No data to save.\n", - "4853\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", - "Condition not met at step 4854. No data to save.\n", - "4854\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", - "Condition not met at step 4855. No data to save.\n", - "4855\n", - "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", - "Condition not met at step 4856. No data to save.\n", - "4856\n", - "model_vars.get('Gini', 0)[-1]=0.6512\n", - "Condition not met at step 4857. No data to save.\n", - "4857\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 4858. No data to save.\n", - "4858\n", - "model_vars.get('Gini', 0)[-1]=0.613\n", - "Condition not met at step 4859. No data to save.\n", - "4859\n", - "model_vars.get('Gini', 0)[-1]=0.618\n", - "Condition not met at step 4860. No data to save.\n", - "4860\n", - "model_vars.get('Gini', 0)[-1]=0.5874\n", - "Condition not met at step 4861. No data to save.\n", - "4861\n", - "model_vars.get('Gini', 0)[-1]=0.6016\n", - "Condition not met at step 4862. No data to save.\n", - "4862\n", - "model_vars.get('Gini', 0)[-1]=0.6148\n", - "Condition not met at step 4863. No data to save.\n", - "4863\n", - "model_vars.get('Gini', 0)[-1]=0.6278\n", - "Condition not met at step 4864. No data to save.\n", - "4864\n", - "model_vars.get('Gini', 0)[-1]=0.6368\n", - "Condition not met at step 4865. No data to save.\n", - "4865\n", - "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", - "Condition not met at step 4866. No data to save.\n", - "4866\n", - "model_vars.get('Gini', 0)[-1]=0.6638\n", - "Condition not met at step 4867. No data to save.\n", - "4867\n", - "model_vars.get('Gini', 0)[-1]=0.657\n", - "Condition not met at step 4868. No data to save.\n", - "4868\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", - "Condition not met at step 4869. No data to save.\n", - "4869\n", - "model_vars.get('Gini', 0)[-1]=0.6522\n", - "Condition not met at step 4870. No data to save.\n", - "4870\n", - "model_vars.get('Gini', 0)[-1]=0.6638\n", - "Condition not met at step 4871. No data to save.\n", - "4871\n", - "model_vars.get('Gini', 0)[-1]=0.648\n", - "Condition not met at step 4872. No data to save.\n", - "4872\n", - "model_vars.get('Gini', 0)[-1]=0.6576\n", - "Condition not met at step 4873. No data to save.\n", - "4873\n", - "model_vars.get('Gini', 0)[-1]=0.6812\n", - "Condition not met at step 4874. No data to save.\n", - "4874\n", - "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", - "Condition not met at step 4875. No data to save.\n", - "4875\n", - "model_vars.get('Gini', 0)[-1]=0.6674\n", - "Condition not met at step 4876. No data to save.\n", - "4876\n", - "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", - "Condition not met at step 4877. No data to save.\n", - "4877\n", - "model_vars.get('Gini', 0)[-1]=0.6574\n", - "Condition not met at step 4878. No data to save.\n", - "4878\n", - "model_vars.get('Gini', 0)[-1]=0.6634\n", - "Condition not met at step 4879. No data to save.\n", - "4879\n", - "model_vars.get('Gini', 0)[-1]=0.6626000000000001\n", - "Condition not met at step 4880. No data to save.\n", - "4880\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", - "Condition not met at step 4881. No data to save.\n", - "4881\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 4882. No data to save.\n", - "4882\n", - "model_vars.get('Gini', 0)[-1]=0.6338\n", - "Condition not met at step 4883. No data to save.\n", - "4883\n", - "model_vars.get('Gini', 0)[-1]=0.6048\n", - "Condition not met at step 4884. No data to save.\n", - "4884\n", - "model_vars.get('Gini', 0)[-1]=0.6144000000000001\n", - "Condition not met at step 4885. No data to save.\n", - "4885\n", - "model_vars.get('Gini', 0)[-1]=0.6113999999999999\n", - "Condition not met at step 4886. No data to save.\n", - "4886\n", - "model_vars.get('Gini', 0)[-1]=0.6138\n", - "Condition not met at step 4887. No data to save.\n", - "4887\n", - "model_vars.get('Gini', 0)[-1]=0.6128\n", - "Condition not met at step 4888. No data to save.\n", - "4888\n", - "model_vars.get('Gini', 0)[-1]=0.5953999999999999\n", - "Condition not met at step 4889. No data to save.\n", - "4889\n", - "model_vars.get('Gini', 0)[-1]=0.5658000000000001\n", - "Condition not met at step 4890. No data to save.\n", - "4890\n", - "model_vars.get('Gini', 0)[-1]=0.558\n", - "Condition not met at step 4891. No data to save.\n", - "4891\n", - "model_vars.get('Gini', 0)[-1]=0.5694\n", - "Condition not met at step 4892. No data to save.\n", - "4892\n", - "model_vars.get('Gini', 0)[-1]=0.601\n", - "Condition not met at step 4893. No data to save.\n", - "4893\n", - "model_vars.get('Gini', 0)[-1]=0.618\n", - "Condition not met at step 4894. No data to save.\n", - "4894\n", - "model_vars.get('Gini', 0)[-1]=0.611\n", - "Condition not met at step 4895. No data to save.\n", - "4895\n", - "model_vars.get('Gini', 0)[-1]=0.6104\n", - "Condition not met at step 4896. No data to save.\n", - "4896\n", - "model_vars.get('Gini', 0)[-1]=0.6073999999999999\n", - "Condition not met at step 4897. No data to save.\n", - "4897\n", - "model_vars.get('Gini', 0)[-1]=0.6334\n", - "Condition not met at step 4898. No data to save.\n", - "4898\n", - "model_vars.get('Gini', 0)[-1]=0.6053999999999999\n", - "Condition not met at step 4899. No data to save.\n", - "4899\n", - "CALLED\n", - "self.model._steps=4900\n", - " TEST self.model._steps=4900\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "4800 0.6742\n", - "4801 0.6914\n", - "4802 0.6712\n", - "4803 0.6592\n", - "4804 0.6118\n", - "... ...\n", - "4895 0.6104\n", - "4896 0.6074\n", - "4897 0.6334\n", - "4898 0.6054\n", - "4899 0.6306\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_049.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_049.parquet'\n", - "Saving model to test_path/model_data_049.parquet\n", - "Saving agent to test_path/agent_data_049.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6306\n", - "Condition not met at step 4900. No data to save.\n", - "4900\n", - "model_vars.get('Gini', 0)[-1]=0.625\n", - "Condition not met at step 4901. No data to save.\n", - "4901\n", - "model_vars.get('Gini', 0)[-1]=0.6354\n", - "Condition not met at step 4902. No data to save.\n", - "4902\n", - "model_vars.get('Gini', 0)[-1]=0.638\n", - "Condition not met at step 4903. No data to save.\n", - "4903\n", - "model_vars.get('Gini', 0)[-1]=0.6444000000000001\n", - "Condition not met at step 4904. No data to save.\n", - "4904\n", - "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", - "Condition not met at step 4905. No data to save.\n", - "4905\n", - "model_vars.get('Gini', 0)[-1]=0.6302\n", - "Condition not met at step 4906. No data to save.\n", - "4906\n", - "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", - "Condition not met at step 4907. No data to save.\n", - "4907\n", - "model_vars.get('Gini', 0)[-1]=0.628\n", - "Condition not met at step 4908. No data to save.\n", - "4908\n", - "model_vars.get('Gini', 0)[-1]=0.6146\n", - "Condition not met at step 4909. No data to save.\n", - "4909\n", - "model_vars.get('Gini', 0)[-1]=0.6235999999999999\n", - "Condition not met at step 4910. No data to save.\n", - "4910\n", - "model_vars.get('Gini', 0)[-1]=0.612\n", - "Condition not met at step 4911. No data to save.\n", - "4911\n", - "model_vars.get('Gini', 0)[-1]=0.6376\n", - "Condition not met at step 4912. No data to save.\n", - "4912\n", - "model_vars.get('Gini', 0)[-1]=0.613\n", - "Condition not met at step 4913. No data to save.\n", - "4913\n", - "model_vars.get('Gini', 0)[-1]=0.609\n", - "Condition not met at step 4914. No data to save.\n", - "4914\n", - "model_vars.get('Gini', 0)[-1]=0.6554\n", - "Condition not met at step 4915. No data to save.\n", - "4915\n", - "model_vars.get('Gini', 0)[-1]=0.653\n", - "Condition not met at step 4916. No data to save.\n", - "4916\n", - "model_vars.get('Gini', 0)[-1]=0.6266\n", - "Condition not met at step 4917. No data to save.\n", - "4917\n", - "model_vars.get('Gini', 0)[-1]=0.6358\n", - "Condition not met at step 4918. No data to save.\n", - "4918\n", - "model_vars.get('Gini', 0)[-1]=0.6698\n", - "Condition not met at step 4919. No data to save.\n", - "4919\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 4920. No data to save.\n", - "4920\n", - "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", - "Condition not met at step 4921. No data to save.\n", - "4921\n", - "model_vars.get('Gini', 0)[-1]=0.6516\n", - "Condition not met at step 4922. No data to save.\n", - "4922\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 4923. No data to save.\n", - "4923\n", - "model_vars.get('Gini', 0)[-1]=0.626\n", - "Condition not met at step 4924. No data to save.\n", - "4924\n", - "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", - "Condition not met at step 4925. No data to save.\n", - "4925\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 4926. No data to save.\n", - "4926\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 4927. No data to save.\n", - "4927\n", - "model_vars.get('Gini', 0)[-1]=0.6754\n", - "Condition not met at step 4928. No data to save.\n", - "4928\n", - "model_vars.get('Gini', 0)[-1]=0.6472\n", - "Condition not met at step 4929. No data to save.\n", - "4929\n", - "model_vars.get('Gini', 0)[-1]=0.6298\n", - "Condition not met at step 4930. No data to save.\n", - "4930\n", - "model_vars.get('Gini', 0)[-1]=0.61\n", - "Condition not met at step 4931. No data to save.\n", - "4931\n", - "model_vars.get('Gini', 0)[-1]=0.6062000000000001\n", - "Condition not met at step 4932. No data to save.\n", - "4932\n", - "model_vars.get('Gini', 0)[-1]=0.6158\n", - "Condition not met at step 4933. No data to save.\n", - "4933\n", - "model_vars.get('Gini', 0)[-1]=0.6072\n", - "Condition not met at step 4934. No data to save.\n", - "4934\n", - "model_vars.get('Gini', 0)[-1]=0.6338\n", - "Condition not met at step 4935. No data to save.\n", - "4935\n", - "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", - "Condition not met at step 4936. No data to save.\n", - "4936\n", - "model_vars.get('Gini', 0)[-1]=0.6192\n", - "Condition not met at step 4937. No data to save.\n", - "4937\n", - "model_vars.get('Gini', 0)[-1]=0.6398\n", - "Condition not met at step 4938. No data to save.\n", - "4938\n", - "model_vars.get('Gini', 0)[-1]=0.6272\n", - "Condition not met at step 4939. No data to save.\n", - "4939\n", - "model_vars.get('Gini', 0)[-1]=0.6428\n", - "Condition not met at step 4940. No data to save.\n", - "4940\n", - "model_vars.get('Gini', 0)[-1]=0.6392\n", - "Condition not met at step 4941. No data to save.\n", - "4941\n", - "model_vars.get('Gini', 0)[-1]=0.6092\n", - "Condition not met at step 4942. No data to save.\n", - "4942\n", - "model_vars.get('Gini', 0)[-1]=0.6088\n", - "Condition not met at step 4943. No data to save.\n", - "4943\n", - "model_vars.get('Gini', 0)[-1]=0.6128\n", - "Condition not met at step 4944. No data to save.\n", - "4944\n", - "model_vars.get('Gini', 0)[-1]=0.64\n", - "Condition not met at step 4945. No data to save.\n", - "4945\n", - "model_vars.get('Gini', 0)[-1]=0.6004\n", - "Condition not met at step 4946. No data to save.\n", - "4946\n", - "model_vars.get('Gini', 0)[-1]=0.624\n", - "Condition not met at step 4947. No data to save.\n", - "4947\n", - "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", - "Condition not met at step 4948. No data to save.\n", - "4948\n", - "model_vars.get('Gini', 0)[-1]=0.6166\n", - "Condition not met at step 4949. No data to save.\n", - "4949\n", - "model_vars.get('Gini', 0)[-1]=0.6202000000000001\n", - "Condition not met at step 4950. No data to save.\n", - "4950\n", - "model_vars.get('Gini', 0)[-1]=0.6214\n", - "Condition not met at step 4951. No data to save.\n", - "4951\n", - "model_vars.get('Gini', 0)[-1]=0.6434\n", - "Condition not met at step 4952. No data to save.\n", - "4952\n", - "model_vars.get('Gini', 0)[-1]=0.6252\n", - "Condition not met at step 4953. No data to save.\n", - "4953\n", - "model_vars.get('Gini', 0)[-1]=0.6093999999999999\n", - "Condition not met at step 4954. No data to save.\n", - "4954\n", - "model_vars.get('Gini', 0)[-1]=0.567\n", - "Condition not met at step 4955. No data to save.\n", - "4955\n", - "model_vars.get('Gini', 0)[-1]=0.5834\n", - "Condition not met at step 4956. No data to save.\n", - "4956\n", - "model_vars.get('Gini', 0)[-1]=0.605\n", - "Condition not met at step 4957. No data to save.\n", - "4957\n", - "model_vars.get('Gini', 0)[-1]=0.5806\n", - "Condition not met at step 4958. No data to save.\n", - "4958\n", - "model_vars.get('Gini', 0)[-1]=0.5926\n", - "Condition not met at step 4959. No data to save.\n", - "4959\n", - "model_vars.get('Gini', 0)[-1]=0.5884\n", - "Condition not met at step 4960. No data to save.\n", - "4960\n", - "model_vars.get('Gini', 0)[-1]=0.603\n", - "Condition not met at step 4961. No data to save.\n", - "4961\n", - "model_vars.get('Gini', 0)[-1]=0.5956\n", - "Condition not met at step 4962. No data to save.\n", - "4962\n", - "model_vars.get('Gini', 0)[-1]=0.5898\n", - "Condition not met at step 4963. No data to save.\n", - "4963\n", - "model_vars.get('Gini', 0)[-1]=0.5986\n", - "Condition not met at step 4964. No data to save.\n", - "4964\n", - "model_vars.get('Gini', 0)[-1]=0.5960000000000001\n", - "Condition not met at step 4965. No data to save.\n", - "4965\n", - "model_vars.get('Gini', 0)[-1]=0.5906\n", - "Condition not met at step 4966. No data to save.\n", - "4966\n", - "model_vars.get('Gini', 0)[-1]=0.617\n", - "Condition not met at step 4967. No data to save.\n", - "4967\n", - "model_vars.get('Gini', 0)[-1]=0.6134\n", - "Condition not met at step 4968. No data to save.\n", - "4968\n", - "model_vars.get('Gini', 0)[-1]=0.624\n", - "Condition not met at step 4969. No data to save.\n", - "4969\n", - "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", - "Condition not met at step 4970. No data to save.\n", - "4970\n", - "model_vars.get('Gini', 0)[-1]=0.6372\n", - "Condition not met at step 4971. No data to save.\n", - "4971\n", - "model_vars.get('Gini', 0)[-1]=0.6604\n", - "Condition not met at step 4972. No data to save.\n", - "4972\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", - "Condition not met at step 4973. No data to save.\n", - "4973\n", - "model_vars.get('Gini', 0)[-1]=0.6738\n", - "Condition not met at step 4974. No data to save.\n", - "4974\n", - "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", - "Condition not met at step 4975. No data to save.\n", - "4975\n", - "model_vars.get('Gini', 0)[-1]=0.6502\n", - "Condition not met at step 4976. No data to save.\n", - "4976\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", - "Condition not met at step 4977. No data to save.\n", - "4977\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 4978. No data to save.\n", - "4978\n", - "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", - "Condition not met at step 4979. No data to save.\n", - "4979\n", - "model_vars.get('Gini', 0)[-1]=0.69\n", - "Condition not met at step 4980. No data to save.\n", - "4980\n", - "model_vars.get('Gini', 0)[-1]=0.6838\n", - "Condition not met at step 4981. No data to save.\n", - "4981\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 4982. No data to save.\n", - "4982\n", - "model_vars.get('Gini', 0)[-1]=0.639\n", - "Condition not met at step 4983. No data to save.\n", - "4983\n", - "model_vars.get('Gini', 0)[-1]=0.6456\n", - "Condition not met at step 4984. No data to save.\n", - "4984\n", - "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", - "Condition not met at step 4985. No data to save.\n", - "4985\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 4986. No data to save.\n", - "4986\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", - "Condition not met at step 4987. No data to save.\n", - "4987\n", - "model_vars.get('Gini', 0)[-1]=0.6576\n", - "Condition not met at step 4988. No data to save.\n", - "4988\n", - "model_vars.get('Gini', 0)[-1]=0.692\n", - "Condition not met at step 4989. No data to save.\n", - "4989\n", - "model_vars.get('Gini', 0)[-1]=0.6718\n", - "Condition not met at step 4990. No data to save.\n", - "4990\n", - "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", - "Condition not met at step 4991. No data to save.\n", - "4991\n", - "model_vars.get('Gini', 0)[-1]=0.6528\n", - "Condition not met at step 4992. No data to save.\n", - "4992\n", - "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", - "Condition not met at step 4993. No data to save.\n", - "4993\n", - "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", - "Condition not met at step 4994. No data to save.\n", - "4994\n", - "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", - "Condition not met at step 4995. No data to save.\n", - "4995\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", - "Condition not met at step 4996. No data to save.\n", - "4996\n", - "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", - "Condition not met at step 4997. No data to save.\n", - "4997\n", - "model_vars.get('Gini', 0)[-1]=0.653\n", - "Condition not met at step 4998. No data to save.\n", - "4998\n", - "model_vars.get('Gini', 0)[-1]=0.591\n", - "Condition not met at step 4999. No data to save.\n", - "4999\n", - "CALLED\n", - "self.model._steps=5000\n", - " TEST self.model._steps=5000\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "4900 0.6250\n", - "4901 0.6354\n", - "4902 0.6380\n", - "4903 0.6444\n", - "4904 0.6386\n", - "... ...\n", - "4995 0.6632\n", - "4996 0.6708\n", - "4997 0.6530\n", - "4998 0.5910\n", - "4999 0.6036\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_050.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_050.parquet'\n", - "Saving model to test_path/model_data_050.parquet\n", - "Saving agent to test_path/agent_data_050.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6036\n", - "Condition not met at step 5000. No data to save.\n", - "5000\n", - "model_vars.get('Gini', 0)[-1]=0.6046\n", - "Condition not met at step 5001. No data to save.\n", - "5001\n", - "model_vars.get('Gini', 0)[-1]=0.6226\n", - "Condition not met at step 5002. No data to save.\n", - "5002\n", - "model_vars.get('Gini', 0)[-1]=0.6248\n", - "Condition not met at step 5003. No data to save.\n", - "5003\n", - "model_vars.get('Gini', 0)[-1]=0.6382\n", - "Condition not met at step 5004. No data to save.\n", - "5004\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 5005. No data to save.\n", - "5005\n", - "model_vars.get('Gini', 0)[-1]=0.667\n", - "Condition not met at step 5006. No data to save.\n", - "5006\n", - "model_vars.get('Gini', 0)[-1]=0.6744\n", - "Condition not met at step 5007. No data to save.\n", - "5007\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", - "Condition not met at step 5008. No data to save.\n", - "5008\n", - "model_vars.get('Gini', 0)[-1]=0.7088\n", - "Condition met. Appended special results for step 5009 to test_path/special_results.parquet\n", - "5009\n", - "model_vars.get('Gini', 0)[-1]=0.7130000000000001\n", - "Condition met. Appended special results for step 5010 to test_path/special_results.parquet\n", - "5010\n", - "model_vars.get('Gini', 0)[-1]=0.728\n", - "Condition met. Appended special results for step 5011 to test_path/special_results.parquet\n", - "5011\n", - "model_vars.get('Gini', 0)[-1]=0.726\n", - "Condition met. Appended special results for step 5012 to test_path/special_results.parquet\n", - "5012\n", - "model_vars.get('Gini', 0)[-1]=0.7414000000000001\n", - "Condition met. Appended special results for step 5013 to test_path/special_results.parquet\n", - "5013\n", - "model_vars.get('Gini', 0)[-1]=0.7216\n", - "Condition met. Appended special results for step 5014 to test_path/special_results.parquet\n", - "5014\n", - "model_vars.get('Gini', 0)[-1]=0.6998\n", - "Condition not met at step 5015. No data to save.\n", - "5015\n", - "model_vars.get('Gini', 0)[-1]=0.698\n", - "Condition not met at step 5016. No data to save.\n", - "5016\n", - "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", - "Condition not met at step 5017. No data to save.\n", - "5017\n", - "model_vars.get('Gini', 0)[-1]=0.6794\n", - "Condition not met at step 5018. No data to save.\n", - "5018\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", - "Condition not met at step 5019. No data to save.\n", - "5019\n", - "model_vars.get('Gini', 0)[-1]=0.6408\n", - "Condition not met at step 5020. No data to save.\n", - "5020\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 5021. No data to save.\n", - "5021\n", - "model_vars.get('Gini', 0)[-1]=0.6672\n", - "Condition not met at step 5022. No data to save.\n", - "5022\n", - "model_vars.get('Gini', 0)[-1]=0.6412\n", - "Condition not met at step 5023. No data to save.\n", - "5023\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 5024. No data to save.\n", - "5024\n", - "model_vars.get('Gini', 0)[-1]=0.6374\n", - "Condition not met at step 5025. No data to save.\n", - "5025\n", - "model_vars.get('Gini', 0)[-1]=0.6154\n", - "Condition not met at step 5026. No data to save.\n", - "5026\n", - "model_vars.get('Gini', 0)[-1]=0.6026\n", - "Condition not met at step 5027. No data to save.\n", - "5027\n", - "model_vars.get('Gini', 0)[-1]=0.6168\n", - "Condition not met at step 5028. No data to save.\n", - "5028\n", - "model_vars.get('Gini', 0)[-1]=0.6294\n", - "Condition not met at step 5029. No data to save.\n", - "5029\n", - "model_vars.get('Gini', 0)[-1]=0.6836\n", - "Condition not met at step 5030. No data to save.\n", - "5030\n", - "model_vars.get('Gini', 0)[-1]=0.7094\n", - "Condition met. Appended special results for step 5031 to test_path/special_results.parquet\n", - "5031\n", - "model_vars.get('Gini', 0)[-1]=0.7150000000000001\n", - "Condition met. Appended special results for step 5032 to test_path/special_results.parquet\n", - "5032\n", - "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", - "Condition not met at step 5033. No data to save.\n", - "5033\n", - "model_vars.get('Gini', 0)[-1]=0.7292000000000001\n", - "Condition met. Appended special results for step 5034 to test_path/special_results.parquet\n", - "5034\n", - "model_vars.get('Gini', 0)[-1]=0.7356\n", - "Condition met. Appended special results for step 5035 to test_path/special_results.parquet\n", - "5035\n", - "model_vars.get('Gini', 0)[-1]=0.7296\n", - "Condition met. Appended special results for step 5036 to test_path/special_results.parquet\n", - "5036\n", - "model_vars.get('Gini', 0)[-1]=0.7088\n", - "Condition met. Appended special results for step 5037 to test_path/special_results.parquet\n", - "5037\n", - "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", - "Condition not met at step 5038. No data to save.\n", - "5038\n", - "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", - "Condition not met at step 5039. No data to save.\n", - "5039\n", - "model_vars.get('Gini', 0)[-1]=0.7202\n", - "Condition met. Appended special results for step 5040 to test_path/special_results.parquet\n", - "5040\n", - "model_vars.get('Gini', 0)[-1]=0.722\n", - "Condition met. Appended special results for step 5041 to test_path/special_results.parquet\n", - "5041\n", - "model_vars.get('Gini', 0)[-1]=0.7006\n", - "Condition met. Appended special results for step 5042 to test_path/special_results.parquet\n", - "5042\n", - "model_vars.get('Gini', 0)[-1]=0.6854\n", - "Condition not met at step 5043. No data to save.\n", - "5043\n", - "model_vars.get('Gini', 0)[-1]=0.6782\n", - "Condition not met at step 5044. No data to save.\n", - "5044\n", - "model_vars.get('Gini', 0)[-1]=0.6678\n", - "Condition not met at step 5045. No data to save.\n", - "5045\n", - "model_vars.get('Gini', 0)[-1]=0.6826\n", - "Condition not met at step 5046. No data to save.\n", - "5046\n", - "model_vars.get('Gini', 0)[-1]=0.6766000000000001\n", - "Condition not met at step 5047. No data to save.\n", - "5047\n", - "model_vars.get('Gini', 0)[-1]=0.6814\n", - "Condition not met at step 5048. No data to save.\n", - "5048\n", - "model_vars.get('Gini', 0)[-1]=0.6814\n", - "Condition not met at step 5049. No data to save.\n", - "5049\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 5050. No data to save.\n", - "5050\n", - "model_vars.get('Gini', 0)[-1]=0.6882\n", - "Condition not met at step 5051. No data to save.\n", - "5051\n", - "model_vars.get('Gini', 0)[-1]=0.6594\n", - "Condition not met at step 5052. No data to save.\n", - "5052\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 5053. No data to save.\n", - "5053\n", - "model_vars.get('Gini', 0)[-1]=0.6634\n", - "Condition not met at step 5054. No data to save.\n", - "5054\n", - "model_vars.get('Gini', 0)[-1]=0.6806\n", - "Condition not met at step 5055. No data to save.\n", - "5055\n", - "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", - "Condition not met at step 5056. No data to save.\n", - "5056\n", - "model_vars.get('Gini', 0)[-1]=0.6862\n", - "Condition not met at step 5057. No data to save.\n", - "5057\n", - "model_vars.get('Gini', 0)[-1]=0.6778\n", - "Condition not met at step 5058. No data to save.\n", - "5058\n", - "model_vars.get('Gini', 0)[-1]=0.6972\n", - "Condition not met at step 5059. No data to save.\n", - "5059\n", - "model_vars.get('Gini', 0)[-1]=0.7126\n", - "Condition met. Appended special results for step 5060 to test_path/special_results.parquet\n", - "5060\n", - "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", - "Condition not met at step 5061. No data to save.\n", - "5061\n", - "model_vars.get('Gini', 0)[-1]=0.698\n", - "Condition not met at step 5062. No data to save.\n", - "5062\n", - "model_vars.get('Gini', 0)[-1]=0.6862\n", - "Condition not met at step 5063. No data to save.\n", - "5063\n", - "model_vars.get('Gini', 0)[-1]=0.6514\n", - "Condition not met at step 5064. No data to save.\n", - "5064\n", - "model_vars.get('Gini', 0)[-1]=0.6806\n", - "Condition not met at step 5065. No data to save.\n", - "5065\n", - "model_vars.get('Gini', 0)[-1]=0.6724\n", - "Condition not met at step 5066. No data to save.\n", - "5066\n", - "model_vars.get('Gini', 0)[-1]=0.6896\n", - "Condition not met at step 5067. No data to save.\n", - "5067\n", - "model_vars.get('Gini', 0)[-1]=0.7052\n", - "Condition met. Appended special results for step 5068 to test_path/special_results.parquet\n", - "5068\n", - "model_vars.get('Gini', 0)[-1]=0.7096\n", - "Condition met. Appended special results for step 5069 to test_path/special_results.parquet\n", - "5069\n", - "model_vars.get('Gini', 0)[-1]=0.688\n", - "Condition not met at step 5070. No data to save.\n", - "5070\n", - "model_vars.get('Gini', 0)[-1]=0.7048\n", - "Condition met. Appended special results for step 5071 to test_path/special_results.parquet\n", - "5071\n", - "model_vars.get('Gini', 0)[-1]=0.6782\n", - "Condition not met at step 5072. No data to save.\n", - "5072\n", - "model_vars.get('Gini', 0)[-1]=0.6996\n", - "Condition not met at step 5073. No data to save.\n", - "5073\n", - "model_vars.get('Gini', 0)[-1]=0.6924\n", - "Condition not met at step 5074. No data to save.\n", - "5074\n", - "model_vars.get('Gini', 0)[-1]=0.677\n", - "Condition not met at step 5075. No data to save.\n", - "5075\n", - "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", - "Condition not met at step 5076. No data to save.\n", - "5076\n", - "model_vars.get('Gini', 0)[-1]=0.6834\n", - "Condition not met at step 5077. No data to save.\n", - "5077\n", - "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", - "Condition not met at step 5078. No data to save.\n", - "5078\n", - "model_vars.get('Gini', 0)[-1]=0.6986\n", - "Condition not met at step 5079. No data to save.\n", - "5079\n", - "model_vars.get('Gini', 0)[-1]=0.7024\n", - "Condition met. Appended special results for step 5080 to test_path/special_results.parquet\n", - "5080\n", - "model_vars.get('Gini', 0)[-1]=0.7092\n", - "Condition met. Appended special results for step 5081 to test_path/special_results.parquet\n", - "5081\n", - "model_vars.get('Gini', 0)[-1]=0.683\n", - "Condition not met at step 5082. No data to save.\n", - "5082\n", - "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", - "Condition not met at step 5083. No data to save.\n", - "5083\n", - "model_vars.get('Gini', 0)[-1]=0.6836\n", - "Condition not met at step 5084. No data to save.\n", - "5084\n", - "model_vars.get('Gini', 0)[-1]=0.6742\n", - "Condition not met at step 5085. No data to save.\n", - "5085\n", - "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", - "Condition not met at step 5086. No data to save.\n", - "5086\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 5087. No data to save.\n", - "5087\n", - "model_vars.get('Gini', 0)[-1]=0.654\n", - "Condition not met at step 5088. No data to save.\n", - "5088\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 5089. No data to save.\n", - "5089\n", - "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", - "Condition not met at step 5090. No data to save.\n", - "5090\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", - "Condition not met at step 5091. No data to save.\n", - "5091\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 5092. No data to save.\n", - "5092\n", - "model_vars.get('Gini', 0)[-1]=0.6678\n", - "Condition not met at step 5093. No data to save.\n", - "5093\n", - "model_vars.get('Gini', 0)[-1]=0.6584\n", - "Condition not met at step 5094. No data to save.\n", - "5094\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 5095. No data to save.\n", - "5095\n", - "model_vars.get('Gini', 0)[-1]=0.6348\n", - "Condition not met at step 5096. No data to save.\n", - "5096\n", - "model_vars.get('Gini', 0)[-1]=0.6528\n", - "Condition not met at step 5097. No data to save.\n", - "5097\n", - "model_vars.get('Gini', 0)[-1]=0.65\n", - "Condition not met at step 5098. No data to save.\n", - "5098\n", - "model_vars.get('Gini', 0)[-1]=0.635\n", - "Condition not met at step 5099. No data to save.\n", - "5099\n", - "CALLED\n", - "self.model._steps=5100\n", - " TEST self.model._steps=5100\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "5000 0.6046\n", - "5001 0.6226\n", - "5002 0.6248\n", - "5003 0.6382\n", - "5004 0.6644\n", - "... ...\n", - "5095 0.6348\n", - "5096 0.6528\n", - "5097 0.6500\n", - "5098 0.6350\n", - "5099 0.6402\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_051.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_051.parquet'\n", - "Saving model to test_path/model_data_051.parquet\n", - "Saving agent to test_path/agent_data_051.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6402\n", - "Condition not met at step 5100. No data to save.\n", - "5100\n", - "model_vars.get('Gini', 0)[-1]=0.658\n", - "Condition not met at step 5101. No data to save.\n", - "5101\n", - "model_vars.get('Gini', 0)[-1]=0.6764\n", - "Condition not met at step 5102. No data to save.\n", - "5102\n", - "model_vars.get('Gini', 0)[-1]=0.6952\n", - "Condition not met at step 5103. No data to save.\n", - "5103\n", - "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", - "Condition not met at step 5104. No data to save.\n", - "5104\n", - "model_vars.get('Gini', 0)[-1]=0.6866\n", - "Condition not met at step 5105. No data to save.\n", - "5105\n", - "model_vars.get('Gini', 0)[-1]=0.704\n", - "Condition met. Appended special results for step 5106 to test_path/special_results.parquet\n", - "5106\n", - "model_vars.get('Gini', 0)[-1]=0.6932\n", - "Condition not met at step 5107. No data to save.\n", - "5107\n", - "model_vars.get('Gini', 0)[-1]=0.6842\n", - "Condition not met at step 5108. No data to save.\n", - "5108\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", - "Condition not met at step 5109. No data to save.\n", - "5109\n", - "model_vars.get('Gini', 0)[-1]=0.669\n", - "Condition not met at step 5110. No data to save.\n", - "5110\n", - "model_vars.get('Gini', 0)[-1]=0.6722\n", - "Condition not met at step 5111. No data to save.\n", - "5111\n", - "model_vars.get('Gini', 0)[-1]=0.6386000000000001\n", - "Condition not met at step 5112. No data to save.\n", - "5112\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", - "Condition not met at step 5113. No data to save.\n", - "5113\n", - "model_vars.get('Gini', 0)[-1]=0.651\n", - "Condition not met at step 5114. No data to save.\n", - "5114\n", - "model_vars.get('Gini', 0)[-1]=0.6366\n", - "Condition not met at step 5115. No data to save.\n", - "5115\n", - "model_vars.get('Gini', 0)[-1]=0.634\n", - "Condition not met at step 5116. No data to save.\n", - "5116\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", - "Condition not met at step 5117. No data to save.\n", - "5117\n", - "model_vars.get('Gini', 0)[-1]=0.6398\n", - "Condition not met at step 5118. No data to save.\n", - "5118\n", - "model_vars.get('Gini', 0)[-1]=0.6504000000000001\n", - "Condition not met at step 5119. No data to save.\n", - "5119\n", - "model_vars.get('Gini', 0)[-1]=0.66\n", - "Condition not met at step 5120. No data to save.\n", - "5120\n", - "model_vars.get('Gini', 0)[-1]=0.6612\n", - "Condition not met at step 5121. No data to save.\n", - "5121\n", - "model_vars.get('Gini', 0)[-1]=0.6454\n", - "Condition not met at step 5122. No data to save.\n", - "5122\n", - "model_vars.get('Gini', 0)[-1]=0.6448\n", - "Condition not met at step 5123. No data to save.\n", - "5123\n", - "model_vars.get('Gini', 0)[-1]=0.6408\n", - "Condition not met at step 5124. No data to save.\n", - "5124\n", - "model_vars.get('Gini', 0)[-1]=0.6174\n", - "Condition not met at step 5125. No data to save.\n", - "5125\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", - "Condition not met at step 5126. No data to save.\n", - "5126\n", - "model_vars.get('Gini', 0)[-1]=0.6378\n", - "Condition not met at step 5127. No data to save.\n", - "5127\n", - "model_vars.get('Gini', 0)[-1]=0.6482\n", - "Condition not met at step 5128. No data to save.\n", - "5128\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", - "Condition not met at step 5129. No data to save.\n", - "5129\n", - "model_vars.get('Gini', 0)[-1]=0.6654\n", - "Condition not met at step 5130. No data to save.\n", - "5130\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 5131. No data to save.\n", - "5131\n", - "model_vars.get('Gini', 0)[-1]=0.688\n", - "Condition not met at step 5132. No data to save.\n", - "5132\n", - "model_vars.get('Gini', 0)[-1]=0.6896\n", - "Condition not met at step 5133. No data to save.\n", - "5133\n", - "model_vars.get('Gini', 0)[-1]=0.6744\n", - "Condition not met at step 5134. No data to save.\n", - "5134\n", - "model_vars.get('Gini', 0)[-1]=0.6838\n", - "Condition not met at step 5135. No data to save.\n", - "5135\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 5136. No data to save.\n", - "5136\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 5137. No data to save.\n", - "5137\n", - "model_vars.get('Gini', 0)[-1]=0.6514\n", - "Condition not met at step 5138. No data to save.\n", - "5138\n", - "model_vars.get('Gini', 0)[-1]=0.6462\n", - "Condition not met at step 5139. No data to save.\n", - "5139\n", - "model_vars.get('Gini', 0)[-1]=0.653\n", - "Condition not met at step 5140. No data to save.\n", - "5140\n", - "model_vars.get('Gini', 0)[-1]=0.6574\n", - "Condition not met at step 5141. No data to save.\n", - "5141\n", - "model_vars.get('Gini', 0)[-1]=0.6462\n", - "Condition not met at step 5142. No data to save.\n", - "5142\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 5143. No data to save.\n", - "5143\n", - "model_vars.get('Gini', 0)[-1]=0.6902\n", - "Condition not met at step 5144. No data to save.\n", - "5144\n", - "model_vars.get('Gini', 0)[-1]=0.6736\n", - "Condition not met at step 5145. No data to save.\n", - "5145\n", - "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", - "Condition not met at step 5146. No data to save.\n", - "5146\n", - "model_vars.get('Gini', 0)[-1]=0.6154\n", - "Condition not met at step 5147. No data to save.\n", - "5147\n", - "model_vars.get('Gini', 0)[-1]=0.6215999999999999\n", - "Condition not met at step 5148. No data to save.\n", - "5148\n", - "model_vars.get('Gini', 0)[-1]=0.6146\n", - "Condition not met at step 5149. No data to save.\n", - "5149\n", - "model_vars.get('Gini', 0)[-1]=0.6006\n", - "Condition not met at step 5150. No data to save.\n", - "5150\n", - "model_vars.get('Gini', 0)[-1]=0.6246\n", - "Condition not met at step 5151. No data to save.\n", - "5151\n", - "model_vars.get('Gini', 0)[-1]=0.6432\n", - "Condition not met at step 5152. No data to save.\n", - "5152\n", - "model_vars.get('Gini', 0)[-1]=0.6617999999999999\n", - "Condition not met at step 5153. No data to save.\n", - "5153\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 5154. No data to save.\n", - "5154\n", - "model_vars.get('Gini', 0)[-1]=0.681\n", - "Condition not met at step 5155. No data to save.\n", - "5155\n", - "model_vars.get('Gini', 0)[-1]=0.6732\n", - "Condition not met at step 5156. No data to save.\n", - "5156\n", - "model_vars.get('Gini', 0)[-1]=0.7098\n", - "Condition met. Appended special results for step 5157 to test_path/special_results.parquet\n", - "5157\n", - "model_vars.get('Gini', 0)[-1]=0.7012\n", - "Condition met. Appended special results for step 5158 to test_path/special_results.parquet\n", - "5158\n", - "model_vars.get('Gini', 0)[-1]=0.6858\n", - "Condition not met at step 5159. No data to save.\n", - "5159\n", - "model_vars.get('Gini', 0)[-1]=0.7116\n", - "Condition met. Appended special results for step 5160 to test_path/special_results.parquet\n", - "5160\n", - "model_vars.get('Gini', 0)[-1]=0.7008000000000001\n", - "Condition met. Appended special results for step 5161 to test_path/special_results.parquet\n", - "5161\n", - "model_vars.get('Gini', 0)[-1]=0.7214\n", - "Condition met. Appended special results for step 5162 to test_path/special_results.parquet\n", - "5162\n", - "model_vars.get('Gini', 0)[-1]=0.7242\n", - "Condition met. Appended special results for step 5163 to test_path/special_results.parquet\n", - "5163\n", - "model_vars.get('Gini', 0)[-1]=0.7378\n", - "Condition met. Appended special results for step 5164 to test_path/special_results.parquet\n", - "5164\n", - "model_vars.get('Gini', 0)[-1]=0.7388\n", - "Condition met. Appended special results for step 5165 to test_path/special_results.parquet\n", - "5165\n", - "model_vars.get('Gini', 0)[-1]=0.7148\n", - "Condition met. Appended special results for step 5166 to test_path/special_results.parquet\n", - "5166\n", - "model_vars.get('Gini', 0)[-1]=0.7242\n", - "Condition met. Appended special results for step 5167 to test_path/special_results.parquet\n", - "5167\n", - "model_vars.get('Gini', 0)[-1]=0.7406\n", - "Condition met. Appended special results for step 5168 to test_path/special_results.parquet\n", - "5168\n", - "model_vars.get('Gini', 0)[-1]=0.7436\n", - "Condition met. Appended special results for step 5169 to test_path/special_results.parquet\n", - "5169\n", - "model_vars.get('Gini', 0)[-1]=0.7323999999999999\n", - "Condition met. Appended special results for step 5170 to test_path/special_results.parquet\n", - "5170\n", - "model_vars.get('Gini', 0)[-1]=0.7170000000000001\n", - "Condition met. Appended special results for step 5171 to test_path/special_results.parquet\n", - "5171\n", - "model_vars.get('Gini', 0)[-1]=0.6859999999999999\n", - "Condition not met at step 5172. No data to save.\n", - "5172\n", - "model_vars.get('Gini', 0)[-1]=0.6744\n", - "Condition not met at step 5173. No data to save.\n", - "5173\n", - "model_vars.get('Gini', 0)[-1]=0.6756\n", - "Condition not met at step 5174. No data to save.\n", - "5174\n", - "model_vars.get('Gini', 0)[-1]=0.6866\n", - "Condition not met at step 5175. No data to save.\n", - "5175\n", - "model_vars.get('Gini', 0)[-1]=0.7056\n", - "Condition met. Appended special results for step 5176 to test_path/special_results.parquet\n", - "5176\n", - "model_vars.get('Gini', 0)[-1]=0.6950000000000001\n", - "Condition not met at step 5177. No data to save.\n", - "5177\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 5178. No data to save.\n", - "5178\n", - "model_vars.get('Gini', 0)[-1]=0.6522\n", - "Condition not met at step 5179. No data to save.\n", - "5179\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 5180. No data to save.\n", - "5180\n", - "model_vars.get('Gini', 0)[-1]=0.661\n", - "Condition not met at step 5181. No data to save.\n", - "5181\n", - "model_vars.get('Gini', 0)[-1]=0.653\n", - "Condition not met at step 5182. No data to save.\n", - "5182\n", - "model_vars.get('Gini', 0)[-1]=0.6474\n", - "Condition not met at step 5183. No data to save.\n", - "5183\n", - "model_vars.get('Gini', 0)[-1]=0.6298\n", - "Condition not met at step 5184. No data to save.\n", - "5184\n", - "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", - "Condition not met at step 5185. No data to save.\n", - "5185\n", - "model_vars.get('Gini', 0)[-1]=0.644\n", - "Condition not met at step 5186. No data to save.\n", - "5186\n", - "model_vars.get('Gini', 0)[-1]=0.6406000000000001\n", - "Condition not met at step 5187. No data to save.\n", - "5187\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 5188. No data to save.\n", - "5188\n", - "model_vars.get('Gini', 0)[-1]=0.6192\n", - "Condition not met at step 5189. No data to save.\n", - "5189\n", - "model_vars.get('Gini', 0)[-1]=0.631\n", - "Condition not met at step 5190. No data to save.\n", - "5190\n", - "model_vars.get('Gini', 0)[-1]=0.644\n", - "Condition not met at step 5191. No data to save.\n", - "5191\n", - "model_vars.get('Gini', 0)[-1]=0.639\n", - "Condition not met at step 5192. No data to save.\n", - "5192\n", - "model_vars.get('Gini', 0)[-1]=0.6362\n", - "Condition not met at step 5193. No data to save.\n", - "5193\n", - "model_vars.get('Gini', 0)[-1]=0.6408\n", - "Condition not met at step 5194. No data to save.\n", - "5194\n", - "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", - "Condition not met at step 5195. No data to save.\n", - "5195\n", - "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", - "Condition not met at step 5196. No data to save.\n", - "5196\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 5197. No data to save.\n", - "5197\n", - "model_vars.get('Gini', 0)[-1]=0.6696\n", - "Condition not met at step 5198. No data to save.\n", - "5198\n", - "model_vars.get('Gini', 0)[-1]=0.6844\n", - "Condition not met at step 5199. No data to save.\n", - "5199\n", - "CALLED\n", - "self.model._steps=5200\n", - " TEST self.model._steps=5200\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "5100 0.6580\n", - "5101 0.6764\n", - "5102 0.6952\n", - "5103 0.6768\n", - "5104 0.6866\n", - "... ...\n", - "5195 0.6478\n", - "5196 0.6548\n", - "5197 0.6696\n", - "5198 0.6844\n", - "5199 0.6708\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_052.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_052.parquet'\n", - "Saving model to test_path/model_data_052.parquet\n", - "Saving agent to test_path/agent_data_052.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", - "Condition not met at step 5200. No data to save.\n", - "5200\n", - "model_vars.get('Gini', 0)[-1]=0.679\n", - "Condition not met at step 5201. No data to save.\n", - "5201\n", - "model_vars.get('Gini', 0)[-1]=0.685\n", - "Condition not met at step 5202. No data to save.\n", - "5202\n", - "model_vars.get('Gini', 0)[-1]=0.6684\n", - "Condition not met at step 5203. No data to save.\n", - "5203\n", - "model_vars.get('Gini', 0)[-1]=0.6638\n", - "Condition not met at step 5204. No data to save.\n", - "5204\n", - "model_vars.get('Gini', 0)[-1]=0.653\n", - "Condition not met at step 5205. No data to save.\n", - "5205\n", - "model_vars.get('Gini', 0)[-1]=0.6172\n", - "Condition not met at step 5206. No data to save.\n", - "5206\n", - "model_vars.get('Gini', 0)[-1]=0.5984\n", - "Condition not met at step 5207. No data to save.\n", - "5207\n", - "model_vars.get('Gini', 0)[-1]=0.636\n", - "Condition not met at step 5208. No data to save.\n", - "5208\n", - "model_vars.get('Gini', 0)[-1]=0.6298\n", - "Condition not met at step 5209. No data to save.\n", - "5209\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 5210. No data to save.\n", - "5210\n", - "model_vars.get('Gini', 0)[-1]=0.6522\n", - "Condition not met at step 5211. No data to save.\n", - "5211\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 5212. No data to save.\n", - "5212\n", - "model_vars.get('Gini', 0)[-1]=0.6554\n", - "Condition not met at step 5213. No data to save.\n", - "5213\n", - "model_vars.get('Gini', 0)[-1]=0.6596\n", - "Condition not met at step 5214. No data to save.\n", - "5214\n", - "model_vars.get('Gini', 0)[-1]=0.6396\n", - "Condition not met at step 5215. No data to save.\n", - "5215\n", - "model_vars.get('Gini', 0)[-1]=0.6488\n", - "Condition not met at step 5216. No data to save.\n", - "5216\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", - "Condition not met at step 5217. No data to save.\n", - "5217\n", - "model_vars.get('Gini', 0)[-1]=0.6716\n", - "Condition not met at step 5218. No data to save.\n", - "5218\n", - "model_vars.get('Gini', 0)[-1]=0.6508\n", - "Condition not met at step 5219. No data to save.\n", - "5219\n", - "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", - "Condition not met at step 5220. No data to save.\n", - "5220\n", - "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", - "Condition not met at step 5221. No data to save.\n", - "5221\n", - "model_vars.get('Gini', 0)[-1]=0.7072\n", - "Condition met. Appended special results for step 5222 to test_path/special_results.parquet\n", - "5222\n", - "model_vars.get('Gini', 0)[-1]=0.7183999999999999\n", - "Condition met. Appended special results for step 5223 to test_path/special_results.parquet\n", - "5223\n", - "model_vars.get('Gini', 0)[-1]=0.728\n", - "Condition met. Appended special results for step 5224 to test_path/special_results.parquet\n", - "5224\n", - "model_vars.get('Gini', 0)[-1]=0.7334\n", - "Condition met. Appended special results for step 5225 to test_path/special_results.parquet\n", - "5225\n", - "model_vars.get('Gini', 0)[-1]=0.7302\n", - "Condition met. Appended special results for step 5226 to test_path/special_results.parquet\n", - "5226\n", - "model_vars.get('Gini', 0)[-1]=0.6906\n", - "Condition not met at step 5227. No data to save.\n", - "5227\n", - "model_vars.get('Gini', 0)[-1]=0.6934\n", - "Condition not met at step 5228. No data to save.\n", - "5228\n", - "model_vars.get('Gini', 0)[-1]=0.6856\n", - "Condition not met at step 5229. No data to save.\n", - "5229\n", - "model_vars.get('Gini', 0)[-1]=0.6968000000000001\n", - "Condition not met at step 5230. No data to save.\n", - "5230\n", - "model_vars.get('Gini', 0)[-1]=0.6832\n", - "Condition not met at step 5231. No data to save.\n", - "5231\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 5232. No data to save.\n", - "5232\n", - "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", - "Condition not met at step 5233. No data to save.\n", - "5233\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", - "Condition not met at step 5234. No data to save.\n", - "5234\n", - "model_vars.get('Gini', 0)[-1]=0.6636\n", - "Condition not met at step 5235. No data to save.\n", - "5235\n", - "model_vars.get('Gini', 0)[-1]=0.6592\n", - "Condition not met at step 5236. No data to save.\n", - "5236\n", - "model_vars.get('Gini', 0)[-1]=0.6442\n", - "Condition not met at step 5237. No data to save.\n", - "5237\n", - "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", - "Condition not met at step 5238. No data to save.\n", - "5238\n", - "model_vars.get('Gini', 0)[-1]=0.6524000000000001\n", - "Condition not met at step 5239. No data to save.\n", - "5239\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 5240. No data to save.\n", - "5240\n", - "model_vars.get('Gini', 0)[-1]=0.6662\n", - "Condition not met at step 5241. No data to save.\n", - "5241\n", - "model_vars.get('Gini', 0)[-1]=0.673\n", - "Condition not met at step 5242. No data to save.\n", - "5242\n", - "model_vars.get('Gini', 0)[-1]=0.6784\n", - "Condition not met at step 5243. No data to save.\n", - "5243\n", - "model_vars.get('Gini', 0)[-1]=0.6856\n", - "Condition not met at step 5244. No data to save.\n", - "5244\n", - "model_vars.get('Gini', 0)[-1]=0.6842\n", - "Condition not met at step 5245. No data to save.\n", - "5245\n", - "model_vars.get('Gini', 0)[-1]=0.6799999999999999\n", - "Condition not met at step 5246. No data to save.\n", - "5246\n", - "model_vars.get('Gini', 0)[-1]=0.6779999999999999\n", - "Condition not met at step 5247. No data to save.\n", - "5247\n", - "model_vars.get('Gini', 0)[-1]=0.652\n", - "Condition not met at step 5248. No data to save.\n", - "5248\n", - "model_vars.get('Gini', 0)[-1]=0.6568\n", - "Condition not met at step 5249. No data to save.\n", - "5249\n", - "model_vars.get('Gini', 0)[-1]=0.665\n", - "Condition not met at step 5250. No data to save.\n", - "5250\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", - "Condition not met at step 5251. No data to save.\n", - "5251\n", - "model_vars.get('Gini', 0)[-1]=0.6698\n", - "Condition not met at step 5252. No data to save.\n", - "5252\n", - "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", - "Condition not met at step 5253. No data to save.\n", - "5253\n", - "model_vars.get('Gini', 0)[-1]=0.6242000000000001\n", - "Condition not met at step 5254. No data to save.\n", - "5254\n", - "model_vars.get('Gini', 0)[-1]=0.606\n", - "Condition not met at step 5255. No data to save.\n", - "5255\n", - "model_vars.get('Gini', 0)[-1]=0.6304000000000001\n", - "Condition not met at step 5256. No data to save.\n", - "5256\n", - "model_vars.get('Gini', 0)[-1]=0.6315999999999999\n", - "Condition not met at step 5257. No data to save.\n", - "5257\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 5258. No data to save.\n", - "5258\n", - "model_vars.get('Gini', 0)[-1]=0.6214\n", - "Condition not met at step 5259. No data to save.\n", - "5259\n", - "model_vars.get('Gini', 0)[-1]=0.6332\n", - "Condition not met at step 5260. No data to save.\n", - "5260\n", - "model_vars.get('Gini', 0)[-1]=0.6342\n", - "Condition not met at step 5261. No data to save.\n", - "5261\n", - "model_vars.get('Gini', 0)[-1]=0.6182000000000001\n", - "Condition not met at step 5262. No data to save.\n", - "5262\n", - "model_vars.get('Gini', 0)[-1]=0.6082000000000001\n", - "Condition not met at step 5263. No data to save.\n", - "5263\n", - "model_vars.get('Gini', 0)[-1]=0.607\n", - "Condition not met at step 5264. No data to save.\n", - "5264\n", - "model_vars.get('Gini', 0)[-1]=0.5856\n", - "Condition not met at step 5265. No data to save.\n", - "5265\n", - "model_vars.get('Gini', 0)[-1]=0.5896\n", - "Condition not met at step 5266. No data to save.\n", - "5266\n", - "model_vars.get('Gini', 0)[-1]=0.6066\n", - "Condition not met at step 5267. No data to save.\n", - "5267\n", - "model_vars.get('Gini', 0)[-1]=0.6246\n", - "Condition not met at step 5268. No data to save.\n", - "5268\n", - "model_vars.get('Gini', 0)[-1]=0.621\n", - "Condition not met at step 5269. No data to save.\n", - "5269\n", - "model_vars.get('Gini', 0)[-1]=0.6096\n", - "Condition not met at step 5270. No data to save.\n", - "5270\n", - "model_vars.get('Gini', 0)[-1]=0.6038\n", - "Condition not met at step 5271. No data to save.\n", - "5271\n", - "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", - "Condition not met at step 5272. No data to save.\n", - "5272\n", - "model_vars.get('Gini', 0)[-1]=0.6532\n", - "Condition not met at step 5273. No data to save.\n", - "5273\n", - "model_vars.get('Gini', 0)[-1]=0.621\n", - "Condition not met at step 5274. No data to save.\n", - "5274\n", - "model_vars.get('Gini', 0)[-1]=0.6158\n", - "Condition not met at step 5275. No data to save.\n", - "5275\n", - "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", - "Condition not met at step 5276. No data to save.\n", - "5276\n", - "model_vars.get('Gini', 0)[-1]=0.5942000000000001\n", - "Condition not met at step 5277. No data to save.\n", - "5277\n", - "model_vars.get('Gini', 0)[-1]=0.639\n", - "Condition not met at step 5278. No data to save.\n", - "5278\n", - "model_vars.get('Gini', 0)[-1]=0.6058\n", - "Condition not met at step 5279. No data to save.\n", - "5279\n", - "model_vars.get('Gini', 0)[-1]=0.6158\n", - "Condition not met at step 5280. No data to save.\n", - "5280\n", - "model_vars.get('Gini', 0)[-1]=0.637\n", - "Condition not met at step 5281. No data to save.\n", - "5281\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 5282. No data to save.\n", - "5282\n", - "model_vars.get('Gini', 0)[-1]=0.6514\n", - "Condition not met at step 5283. No data to save.\n", - "5283\n", - "model_vars.get('Gini', 0)[-1]=0.644\n", - "Condition not met at step 5284. No data to save.\n", - "5284\n", - "model_vars.get('Gini', 0)[-1]=0.6355999999999999\n", - "Condition not met at step 5285. No data to save.\n", - "5285\n", - "model_vars.get('Gini', 0)[-1]=0.639\n", - "Condition not met at step 5286. No data to save.\n", - "5286\n", - "model_vars.get('Gini', 0)[-1]=0.6566000000000001\n", - "Condition not met at step 5287. No data to save.\n", - "5287\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 5288. No data to save.\n", - "5288\n", - "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", - "Condition not met at step 5289. No data to save.\n", - "5289\n", - "model_vars.get('Gini', 0)[-1]=0.6456\n", - "Condition not met at step 5290. No data to save.\n", - "5290\n", - "model_vars.get('Gini', 0)[-1]=0.6624\n", - "Condition not met at step 5291. No data to save.\n", - "5291\n", - "model_vars.get('Gini', 0)[-1]=0.6597999999999999\n", - "Condition not met at step 5292. No data to save.\n", - "5292\n", - "model_vars.get('Gini', 0)[-1]=0.651\n", - "Condition not met at step 5293. No data to save.\n", - "5293\n", - "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", - "Condition not met at step 5294. No data to save.\n", - "5294\n", - "model_vars.get('Gini', 0)[-1]=0.6748000000000001\n", - "Condition not met at step 5295. No data to save.\n", - "5295\n", - "model_vars.get('Gini', 0)[-1]=0.647\n", - "Condition not met at step 5296. No data to save.\n", - "5296\n", - "model_vars.get('Gini', 0)[-1]=0.6278\n", - "Condition not met at step 5297. No data to save.\n", - "5297\n", - "model_vars.get('Gini', 0)[-1]=0.6398\n", - "Condition not met at step 5298. No data to save.\n", - "5298\n", - "model_vars.get('Gini', 0)[-1]=0.6326\n", - "Condition not met at step 5299. No data to save.\n", - "5299\n", - "CALLED\n", - "self.model._steps=5300\n", - " TEST self.model._steps=5300\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "5200 0.6790\n", - "5201 0.6850\n", - "5202 0.6684\n", - "5203 0.6638\n", - "5204 0.6530\n", - "... ...\n", - "5295 0.6470\n", - "5296 0.6278\n", - "5297 0.6398\n", - "5298 0.6326\n", - "5299 0.6286\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_053.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_053.parquet'\n", - "Saving model to test_path/model_data_053.parquet\n", - "Saving agent to test_path/agent_data_053.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6286\n", - "Condition not met at step 5300. No data to save.\n", - "5300\n", - "model_vars.get('Gini', 0)[-1]=0.6302\n", - "Condition not met at step 5301. No data to save.\n", - "5301\n", - "model_vars.get('Gini', 0)[-1]=0.6332\n", - "Condition not met at step 5302. No data to save.\n", - "5302\n", - "model_vars.get('Gini', 0)[-1]=0.646\n", - "Condition not met at step 5303. No data to save.\n", - "5303\n", - "model_vars.get('Gini', 0)[-1]=0.6546000000000001\n", - "Condition not met at step 5304. No data to save.\n", - "5304\n", - "model_vars.get('Gini', 0)[-1]=0.688\n", - "Condition not met at step 5305. No data to save.\n", - "5305\n", - "model_vars.get('Gini', 0)[-1]=0.7038\n", - "Condition met. Appended special results for step 5306 to test_path/special_results.parquet\n", - "5306\n", - "model_vars.get('Gini', 0)[-1]=0.7064\n", - "Condition met. Appended special results for step 5307 to test_path/special_results.parquet\n", - "5307\n", - "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", - "Condition not met at step 5308. No data to save.\n", - "5308\n", - "model_vars.get('Gini', 0)[-1]=0.6588\n", - "Condition not met at step 5309. No data to save.\n", - "5309\n", - "model_vars.get('Gini', 0)[-1]=0.6454\n", - "Condition not met at step 5310. No data to save.\n", - "5310\n", - "model_vars.get('Gini', 0)[-1]=0.6544\n", - "Condition not met at step 5311. No data to save.\n", - "5311\n", - "model_vars.get('Gini', 0)[-1]=0.664\n", - "Condition not met at step 5312. No data to save.\n", - "5312\n", - "model_vars.get('Gini', 0)[-1]=0.6724\n", - "Condition not met at step 5313. No data to save.\n", - "5313\n", - "model_vars.get('Gini', 0)[-1]=0.6462\n", - "Condition not met at step 5314. No data to save.\n", - "5314\n", - "model_vars.get('Gini', 0)[-1]=0.662\n", - "Condition not met at step 5315. No data to save.\n", - "5315\n", - "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", - "Condition not met at step 5316. No data to save.\n", - "5316\n", - "model_vars.get('Gini', 0)[-1]=0.6528\n", - "Condition not met at step 5317. No data to save.\n", - "5317\n", - "model_vars.get('Gini', 0)[-1]=0.6738\n", - "Condition not met at step 5318. No data to save.\n", - "5318\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", - "Condition not met at step 5319. No data to save.\n", - "5319\n", - "model_vars.get('Gini', 0)[-1]=0.6636\n", - "Condition not met at step 5320. No data to save.\n", - "5320\n", - "model_vars.get('Gini', 0)[-1]=0.6557999999999999\n", - "Condition not met at step 5321. No data to save.\n", - "5321\n", - "model_vars.get('Gini', 0)[-1]=0.664\n", - "Condition not met at step 5322. No data to save.\n", - "5322\n", - "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", - "Condition not met at step 5323. No data to save.\n", - "5323\n", - "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", - "Condition not met at step 5324. No data to save.\n", - "5324\n", - "model_vars.get('Gini', 0)[-1]=0.6968000000000001\n", - "Condition not met at step 5325. No data to save.\n", - "5325\n", - "model_vars.get('Gini', 0)[-1]=0.694\n", - "Condition not met at step 5326. No data to save.\n", - "5326\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", - "Condition not met at step 5327. No data to save.\n", - "5327\n", - "model_vars.get('Gini', 0)[-1]=0.6712\n", - "Condition not met at step 5328. No data to save.\n", - "5328\n", - "model_vars.get('Gini', 0)[-1]=0.6728000000000001\n", - "Condition not met at step 5329. No data to save.\n", - "5329\n", - "model_vars.get('Gini', 0)[-1]=0.6948000000000001\n", - "Condition not met at step 5330. No data to save.\n", - "5330\n", - "model_vars.get('Gini', 0)[-1]=0.7158\n", - "Condition met. Appended special results for step 5331 to test_path/special_results.parquet\n", - "5331\n", - "model_vars.get('Gini', 0)[-1]=0.7174\n", - "Condition met. Appended special results for step 5332 to test_path/special_results.parquet\n", - "5332\n", - "model_vars.get('Gini', 0)[-1]=0.7368\n", - "Condition met. Appended special results for step 5333 to test_path/special_results.parquet\n", - "5333\n", - "model_vars.get('Gini', 0)[-1]=0.7388\n", - "Condition met. Appended special results for step 5334 to test_path/special_results.parquet\n", - "5334\n", - "model_vars.get('Gini', 0)[-1]=0.7276\n", - "Condition met. Appended special results for step 5335 to test_path/special_results.parquet\n", - "5335\n", - "model_vars.get('Gini', 0)[-1]=0.722\n", - "Condition met. Appended special results for step 5336 to test_path/special_results.parquet\n", - "5336\n", - "model_vars.get('Gini', 0)[-1]=0.7176\n", - "Condition met. Appended special results for step 5337 to test_path/special_results.parquet\n", - "5337\n", - "model_vars.get('Gini', 0)[-1]=0.7058\n", - "Condition met. Appended special results for step 5338 to test_path/special_results.parquet\n", - "5338\n", - "model_vars.get('Gini', 0)[-1]=0.6838\n", - "Condition not met at step 5339. No data to save.\n", - "5339\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 5340. No data to save.\n", - "5340\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", - "Condition not met at step 5341. No data to save.\n", - "5341\n", - "model_vars.get('Gini', 0)[-1]=0.6784\n", - "Condition not met at step 5342. No data to save.\n", - "5342\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 5343. No data to save.\n", - "5343\n", - "model_vars.get('Gini', 0)[-1]=0.6738\n", - "Condition not met at step 5344. No data to save.\n", - "5344\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", - "Condition not met at step 5345. No data to save.\n", - "5345\n", - "model_vars.get('Gini', 0)[-1]=0.6192\n", - "Condition not met at step 5346. No data to save.\n", - "5346\n", - "model_vars.get('Gini', 0)[-1]=0.6516\n", - "Condition not met at step 5347. No data to save.\n", - "5347\n", - "model_vars.get('Gini', 0)[-1]=0.6468\n", - "Condition not met at step 5348. No data to save.\n", - "5348\n", - "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", - "Condition not met at step 5349. No data to save.\n", - "5349\n", - "model_vars.get('Gini', 0)[-1]=0.687\n", - "Condition not met at step 5350. No data to save.\n", - "5350\n", - "model_vars.get('Gini', 0)[-1]=0.6826\n", - "Condition not met at step 5351. No data to save.\n", - "5351\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", - "Condition not met at step 5352. No data to save.\n", - "5352\n", - "model_vars.get('Gini', 0)[-1]=0.6772\n", - "Condition not met at step 5353. No data to save.\n", - "5353\n", - "model_vars.get('Gini', 0)[-1]=0.6658\n", - "Condition not met at step 5354. No data to save.\n", - "5354\n", - "model_vars.get('Gini', 0)[-1]=0.6788000000000001\n", - "Condition not met at step 5355. No data to save.\n", - "5355\n", - "model_vars.get('Gini', 0)[-1]=0.6818\n", - "Condition not met at step 5356. No data to save.\n", - "5356\n", - "model_vars.get('Gini', 0)[-1]=0.6624\n", - "Condition not met at step 5357. No data to save.\n", - "5357\n", - "model_vars.get('Gini', 0)[-1]=0.6936\n", - "Condition not met at step 5358. No data to save.\n", - "5358\n", - "model_vars.get('Gini', 0)[-1]=0.7016\n", - "Condition met. Appended special results for step 5359 to test_path/special_results.parquet\n", - "5359\n", - "model_vars.get('Gini', 0)[-1]=0.6719999999999999\n", - "Condition not met at step 5360. No data to save.\n", - "5360\n", - "model_vars.get('Gini', 0)[-1]=0.6694\n", - "Condition not met at step 5361. No data to save.\n", - "5361\n", - "model_vars.get('Gini', 0)[-1]=0.665\n", - "Condition not met at step 5362. No data to save.\n", - "5362\n", - "model_vars.get('Gini', 0)[-1]=0.687\n", - "Condition not met at step 5363. No data to save.\n", - "5363\n", - "model_vars.get('Gini', 0)[-1]=0.6624\n", - "Condition not met at step 5364. No data to save.\n", - "5364\n", - "model_vars.get('Gini', 0)[-1]=0.708\n", - "Condition met. Appended special results for step 5365 to test_path/special_results.parquet\n", - "5365\n", - "model_vars.get('Gini', 0)[-1]=0.7112\n", - "Condition met. Appended special results for step 5366 to test_path/special_results.parquet\n", - "5366\n", - "model_vars.get('Gini', 0)[-1]=0.6892\n", - "Condition not met at step 5367. No data to save.\n", - "5367\n", - "model_vars.get('Gini', 0)[-1]=0.649\n", - "Condition not met at step 5368. No data to save.\n", - "5368\n", - "model_vars.get('Gini', 0)[-1]=0.6366\n", - "Condition not met at step 5369. No data to save.\n", - "5369\n", - "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", - "Condition not met at step 5370. No data to save.\n", - "5370\n", - "model_vars.get('Gini', 0)[-1]=0.6786000000000001\n", - "Condition not met at step 5371. No data to save.\n", - "5371\n", - "model_vars.get('Gini', 0)[-1]=0.6552\n", - "Condition not met at step 5372. No data to save.\n", - "5372\n", - "model_vars.get('Gini', 0)[-1]=0.611\n", - "Condition not met at step 5373. No data to save.\n", - "5373\n", - "model_vars.get('Gini', 0)[-1]=0.6044\n", - "Condition not met at step 5374. No data to save.\n", - "5374\n", - "model_vars.get('Gini', 0)[-1]=0.6275999999999999\n", - "Condition not met at step 5375. No data to save.\n", - "5375\n", - "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", - "Condition not met at step 5376. No data to save.\n", - "5376\n", - "model_vars.get('Gini', 0)[-1]=0.6562\n", - "Condition not met at step 5377. No data to save.\n", - "5377\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 5378. No data to save.\n", - "5378\n", - "model_vars.get('Gini', 0)[-1]=0.6961999999999999\n", - "Condition not met at step 5379. No data to save.\n", - "5379\n", - "model_vars.get('Gini', 0)[-1]=0.6894\n", - "Condition not met at step 5380. No data to save.\n", - "5380\n", - "model_vars.get('Gini', 0)[-1]=0.6784\n", - "Condition not met at step 5381. No data to save.\n", - "5381\n", - "model_vars.get('Gini', 0)[-1]=0.6778\n", - "Condition not met at step 5382. No data to save.\n", - "5382\n", - "model_vars.get('Gini', 0)[-1]=0.6734\n", - "Condition not met at step 5383. No data to save.\n", - "5383\n", - "model_vars.get('Gini', 0)[-1]=0.6981999999999999\n", - "Condition not met at step 5384. No data to save.\n", - "5384\n", - "model_vars.get('Gini', 0)[-1]=0.6918\n", - "Condition not met at step 5385. No data to save.\n", - "5385\n", - "model_vars.get('Gini', 0)[-1]=0.6804\n", - "Condition not met at step 5386. No data to save.\n", - "5386\n", - "model_vars.get('Gini', 0)[-1]=0.6966\n", - "Condition not met at step 5387. No data to save.\n", - "5387\n", - "model_vars.get('Gini', 0)[-1]=0.698\n", - "Condition not met at step 5388. No data to save.\n", - "5388\n", - "model_vars.get('Gini', 0)[-1]=0.7\n", - "Condition not met at step 5389. No data to save.\n", - "5389\n", - "model_vars.get('Gini', 0)[-1]=0.6739999999999999\n", - "Condition not met at step 5390. No data to save.\n", - "5390\n", - "model_vars.get('Gini', 0)[-1]=0.6622\n", - "Condition not met at step 5391. No data to save.\n", - "5391\n", - "model_vars.get('Gini', 0)[-1]=0.6556\n", - "Condition not met at step 5392. No data to save.\n", - "5392\n", - "model_vars.get('Gini', 0)[-1]=0.6328\n", - "Condition not met at step 5393. No data to save.\n", - "5393\n", - "model_vars.get('Gini', 0)[-1]=0.6586000000000001\n", - "Condition not met at step 5394. No data to save.\n", - "5394\n", - "model_vars.get('Gini', 0)[-1]=0.6548\n", - "Condition not met at step 5395. No data to save.\n", - "5395\n", - "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", - "Condition not met at step 5396. No data to save.\n", - "5396\n", - "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", - "Condition not met at step 5397. No data to save.\n", - "5397\n", - "model_vars.get('Gini', 0)[-1]=0.6318\n", - "Condition not met at step 5398. No data to save.\n", - "5398\n", - "model_vars.get('Gini', 0)[-1]=0.6246\n", - "Condition not met at step 5399. No data to save.\n", - "5399\n", - "CALLED\n", - "self.model._steps=5400\n", - " TEST self.model._steps=5400\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "5300 0.6302\n", - "5301 0.6332\n", - "5302 0.6460\n", - "5303 0.6546\n", - "5304 0.6880\n", - "... ...\n", - "5395 0.6404\n", - "5396 0.6364\n", - "5397 0.6318\n", - "5398 0.6246\n", - "5399 0.6476\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_054.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_054.parquet'\n", - "Saving model to test_path/model_data_054.parquet\n", - "Saving agent to test_path/agent_data_054.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6476\n", - "Condition not met at step 5400. No data to save.\n", - "5400\n", - "model_vars.get('Gini', 0)[-1]=0.6206\n", - "Condition not met at step 5401. No data to save.\n", - "5401\n", - "model_vars.get('Gini', 0)[-1]=0.6526000000000001\n", - "Condition not met at step 5402. No data to save.\n", - "5402\n", - "model_vars.get('Gini', 0)[-1]=0.6368\n", - "Condition not met at step 5403. No data to save.\n", - "5403\n", - "model_vars.get('Gini', 0)[-1]=0.6778\n", - "Condition not met at step 5404. No data to save.\n", - "5404\n", - "model_vars.get('Gini', 0)[-1]=0.667\n", - "Condition not met at step 5405. No data to save.\n", - "5405\n", - "model_vars.get('Gini', 0)[-1]=0.6542\n", - "Condition not met at step 5406. No data to save.\n", - "5406\n", - "model_vars.get('Gini', 0)[-1]=0.6288\n", - "Condition not met at step 5407. No data to save.\n", - "5407\n", - "model_vars.get('Gini', 0)[-1]=0.6532\n", - "Condition not met at step 5408. No data to save.\n", - "5408\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", - "Condition not met at step 5409. No data to save.\n", - "5409\n", - "model_vars.get('Gini', 0)[-1]=0.6732\n", - "Condition not met at step 5410. No data to save.\n", - "5410\n", - "model_vars.get('Gini', 0)[-1]=0.6934\n", - "Condition not met at step 5411. No data to save.\n", - "5411\n", - "model_vars.get('Gini', 0)[-1]=0.6798\n", - "Condition not met at step 5412. No data to save.\n", - "5412\n", - "model_vars.get('Gini', 0)[-1]=0.6906\n", - "Condition not met at step 5413. No data to save.\n", - "5413\n", - "model_vars.get('Gini', 0)[-1]=0.6808000000000001\n", - "Condition not met at step 5414. No data to save.\n", - "5414\n", - "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", - "Condition not met at step 5415. No data to save.\n", - "5415\n", - "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", - "Condition not met at step 5416. No data to save.\n", - "5416\n", - "model_vars.get('Gini', 0)[-1]=0.6636\n", - "Condition not met at step 5417. No data to save.\n", - "5417\n", - "model_vars.get('Gini', 0)[-1]=0.6862\n", - "Condition not met at step 5418. No data to save.\n", - "5418\n", - "model_vars.get('Gini', 0)[-1]=0.6834\n", - "Condition not met at step 5419. No data to save.\n", - "5419\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", - "Condition not met at step 5420. No data to save.\n", - "5420\n", - "model_vars.get('Gini', 0)[-1]=0.6714\n", - "Condition not met at step 5421. No data to save.\n", - "5421\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", - "Condition not met at step 5422. No data to save.\n", - "5422\n", - "model_vars.get('Gini', 0)[-1]=0.654\n", - "Condition not met at step 5423. No data to save.\n", - "5423\n", - "model_vars.get('Gini', 0)[-1]=0.6642\n", - "Condition not met at step 5424. No data to save.\n", - "5424\n", - "model_vars.get('Gini', 0)[-1]=0.6722\n", - "Condition not met at step 5425. No data to save.\n", - "5425\n", - "model_vars.get('Gini', 0)[-1]=0.6732\n", - "Condition not met at step 5426. No data to save.\n", - "5426\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", - "Condition not met at step 5427. No data to save.\n", - "5427\n", - "model_vars.get('Gini', 0)[-1]=0.6494\n", - "Condition not met at step 5428. No data to save.\n", - "5428\n", - "model_vars.get('Gini', 0)[-1]=0.6678\n", - "Condition not met at step 5429. No data to save.\n", - "5429\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 5430. No data to save.\n", - "5430\n", - "model_vars.get('Gini', 0)[-1]=0.6274\n", - "Condition not met at step 5431. No data to save.\n", - "5431\n", - "model_vars.get('Gini', 0)[-1]=0.629\n", - "Condition not met at step 5432. No data to save.\n", - "5432\n", - "model_vars.get('Gini', 0)[-1]=0.6306\n", - "Condition not met at step 5433. No data to save.\n", - "5433\n", - "model_vars.get('Gini', 0)[-1]=0.6314\n", - "Condition not met at step 5434. No data to save.\n", - "5434\n", - "model_vars.get('Gini', 0)[-1]=0.651\n", - "Condition not met at step 5435. No data to save.\n", - "5435\n", - "model_vars.get('Gini', 0)[-1]=0.6614\n", - "Condition not met at step 5436. No data to save.\n", - "5436\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 5437. No data to save.\n", - "5437\n", - "model_vars.get('Gini', 0)[-1]=0.6348\n", - "Condition not met at step 5438. No data to save.\n", - "5438\n", - "model_vars.get('Gini', 0)[-1]=0.6364000000000001\n", - "Condition not met at step 5439. No data to save.\n", - "5439\n", - "model_vars.get('Gini', 0)[-1]=0.6576\n", - "Condition not met at step 5440. No data to save.\n", - "5440\n", - "model_vars.get('Gini', 0)[-1]=0.662\n", - "Condition not met at step 5441. No data to save.\n", - "5441\n", - "model_vars.get('Gini', 0)[-1]=0.6138\n", - "Condition not met at step 5442. No data to save.\n", - "5442\n", - "model_vars.get('Gini', 0)[-1]=0.623\n", - "Condition not met at step 5443. No data to save.\n", - "5443\n", - "model_vars.get('Gini', 0)[-1]=0.6028\n", - "Condition not met at step 5444. No data to save.\n", - "5444\n", - "model_vars.get('Gini', 0)[-1]=0.6124\n", - "Condition not met at step 5445. No data to save.\n", - "5445\n", - "model_vars.get('Gini', 0)[-1]=0.6477999999999999\n", - "Condition not met at step 5446. No data to save.\n", - "5446\n", - "model_vars.get('Gini', 0)[-1]=0.6562\n", - "Condition not met at step 5447. No data to save.\n", - "5447\n", - "model_vars.get('Gini', 0)[-1]=0.6428\n", - "Condition not met at step 5448. No data to save.\n", - "5448\n", - "model_vars.get('Gini', 0)[-1]=0.6516\n", - "Condition not met at step 5449. No data to save.\n", - "5449\n", - "model_vars.get('Gini', 0)[-1]=0.6398\n", - "Condition not met at step 5450. No data to save.\n", - "5450\n", - "model_vars.get('Gini', 0)[-1]=0.643\n", - "Condition not met at step 5451. No data to save.\n", - "5451\n", - "model_vars.get('Gini', 0)[-1]=0.6342\n", - "Condition not met at step 5452. No data to save.\n", - "5452\n", - "model_vars.get('Gini', 0)[-1]=0.6592\n", - "Condition not met at step 5453. No data to save.\n", - "5453\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 5454. No data to save.\n", - "5454\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", - "Condition not met at step 5455. No data to save.\n", - "5455\n", - "model_vars.get('Gini', 0)[-1]=0.6921999999999999\n", - "Condition not met at step 5456. No data to save.\n", - "5456\n", - "model_vars.get('Gini', 0)[-1]=0.7032\n", - "Condition met. Appended special results for step 5457 to test_path/special_results.parquet\n", - "5457\n", - "model_vars.get('Gini', 0)[-1]=0.7094\n", - "Condition met. Appended special results for step 5458 to test_path/special_results.parquet\n", - "5458\n", - "model_vars.get('Gini', 0)[-1]=0.6970000000000001\n", - "Condition not met at step 5459. No data to save.\n", - "5459\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 5460. No data to save.\n", - "5460\n", - "model_vars.get('Gini', 0)[-1]=0.6424000000000001\n", - "Condition not met at step 5461. No data to save.\n", - "5461\n", - "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", - "Condition not met at step 5462. No data to save.\n", - "5462\n", - "model_vars.get('Gini', 0)[-1]=0.6699999999999999\n", - "Condition not met at step 5463. No data to save.\n", - "5463\n", - "model_vars.get('Gini', 0)[-1]=0.6664\n", - "Condition not met at step 5464. No data to save.\n", - "5464\n", - "model_vars.get('Gini', 0)[-1]=0.6577999999999999\n", - "Condition not met at step 5465. No data to save.\n", - "5465\n", - "model_vars.get('Gini', 0)[-1]=0.6602\n", - "Condition not met at step 5466. No data to save.\n", - "5466\n", - "model_vars.get('Gini', 0)[-1]=0.6396\n", - "Condition not met at step 5467. No data to save.\n", - "5467\n", - "model_vars.get('Gini', 0)[-1]=0.6266\n", - "Condition not met at step 5468. No data to save.\n", - "5468\n", - "model_vars.get('Gini', 0)[-1]=0.6534\n", - "Condition not met at step 5469. No data to save.\n", - "5469\n", - "model_vars.get('Gini', 0)[-1]=0.6417999999999999\n", - "Condition not met at step 5470. No data to save.\n", - "5470\n", - "model_vars.get('Gini', 0)[-1]=0.6392\n", - "Condition not met at step 5471. No data to save.\n", - "5471\n", - "model_vars.get('Gini', 0)[-1]=0.615\n", - "Condition not met at step 5472. No data to save.\n", - "5472\n", - "model_vars.get('Gini', 0)[-1]=0.5933999999999999\n", - "Condition not met at step 5473. No data to save.\n", - "5473\n", - "model_vars.get('Gini', 0)[-1]=0.5920000000000001\n", - "Condition not met at step 5474. No data to save.\n", - "5474\n", - "model_vars.get('Gini', 0)[-1]=0.5774\n", - "Condition not met at step 5475. No data to save.\n", - "5475\n", - "model_vars.get('Gini', 0)[-1]=0.5860000000000001\n", - "Condition not met at step 5476. No data to save.\n", - "5476\n", - "model_vars.get('Gini', 0)[-1]=0.5938\n", - "Condition not met at step 5477. No data to save.\n", - "5477\n", - "model_vars.get('Gini', 0)[-1]=0.6148\n", - "Condition not met at step 5478. No data to save.\n", - "5478\n", - "model_vars.get('Gini', 0)[-1]=0.6326\n", - "Condition not met at step 5479. No data to save.\n", - "5479\n", - "model_vars.get('Gini', 0)[-1]=0.6408\n", - "Condition not met at step 5480. No data to save.\n", - "5480\n", - "model_vars.get('Gini', 0)[-1]=0.6368\n", - "Condition not met at step 5481. No data to save.\n", - "5481\n", - "model_vars.get('Gini', 0)[-1]=0.6396\n", - "Condition not met at step 5482. No data to save.\n", - "5482\n", - "model_vars.get('Gini', 0)[-1]=0.6768000000000001\n", - "Condition not met at step 5483. No data to save.\n", - "5483\n", - "model_vars.get('Gini', 0)[-1]=0.6839999999999999\n", - "Condition not met at step 5484. No data to save.\n", - "5484\n", - "model_vars.get('Gini', 0)[-1]=0.6756\n", - "Condition not met at step 5485. No data to save.\n", - "5485\n", - "model_vars.get('Gini', 0)[-1]=0.6702\n", - "Condition not met at step 5486. No data to save.\n", - "5486\n", - "model_vars.get('Gini', 0)[-1]=0.6738\n", - "Condition not met at step 5487. No data to save.\n", - "5487\n", - "model_vars.get('Gini', 0)[-1]=0.6844\n", - "Condition not met at step 5488. No data to save.\n", - "5488\n", - "model_vars.get('Gini', 0)[-1]=0.6946\n", - "Condition not met at step 5489. No data to save.\n", - "5489\n", - "model_vars.get('Gini', 0)[-1]=0.6634\n", - "Condition not met at step 5490. No data to save.\n", - "5490\n", - "model_vars.get('Gini', 0)[-1]=0.6756\n", - "Condition not met at step 5491. No data to save.\n", - "5491\n", - "model_vars.get('Gini', 0)[-1]=0.6848000000000001\n", - "Condition not met at step 5492. No data to save.\n", - "5492\n", - "model_vars.get('Gini', 0)[-1]=0.6966\n", - "Condition not met at step 5493. No data to save.\n", - "5493\n", - "model_vars.get('Gini', 0)[-1]=0.6941999999999999\n", - "Condition not met at step 5494. No data to save.\n", - "5494\n", - "model_vars.get('Gini', 0)[-1]=0.6984\n", - "Condition not met at step 5495. No data to save.\n", - "5495\n", - "model_vars.get('Gini', 0)[-1]=0.6759999999999999\n", - "Condition not met at step 5496. No data to save.\n", - "5496\n", - "model_vars.get('Gini', 0)[-1]=0.675\n", - "Condition not met at step 5497. No data to save.\n", - "5497\n", - "model_vars.get('Gini', 0)[-1]=0.6826\n", - "Condition not met at step 5498. No data to save.\n", - "5498\n", - "model_vars.get('Gini', 0)[-1]=0.6856\n", - "Condition not met at step 5499. No data to save.\n", - "5499\n", - "CALLED\n", - "self.model._steps=5500\n", - " TEST self.model._steps=5500\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "5400 0.6206\n", - "5401 0.6526\n", - "5402 0.6368\n", - "5403 0.6778\n", - "5404 0.6670\n", - "... ...\n", - "5495 0.6760\n", - "5496 0.6750\n", - "5497 0.6826\n", - "5498 0.6856\n", - "5499 0.6806\n", - "\n", - "[100 rows x 1 columns]\n", - "3\n", - "model_file='test_path/model_data_055.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_055.parquet'\n", - "Saving model to test_path/model_data_055.parquet\n", - "Saving agent to test_path/agent_data_055.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.6806\n", - "Condition not met at step 5500. No data to save.\n", - "5500\n", - "model_vars.get('Gini', 0)[-1]=0.6888000000000001\n", - "Condition not met at step 5501. No data to save.\n", - "5501\n", - "model_vars.get('Gini', 0)[-1]=0.6708000000000001\n", - "Condition not met at step 5502. No data to save.\n", - "5502\n", - "model_vars.get('Gini', 0)[-1]=0.6882\n", - "Condition not met at step 5503. No data to save.\n", - "5503\n", - "model_vars.get('Gini', 0)[-1]=0.6648000000000001\n", - "Condition not met at step 5504. No data to save.\n", - "5504\n", - "model_vars.get('Gini', 0)[-1]=0.6682\n", - "Condition not met at step 5505. No data to save.\n", - "5505\n", - "model_vars.get('Gini', 0)[-1]=0.657\n", - "Condition not met at step 5506. No data to save.\n", - "5506\n", - "model_vars.get('Gini', 0)[-1]=0.6442\n", - "Condition not met at step 5507. No data to save.\n", - "5507\n", - "model_vars.get('Gini', 0)[-1]=0.65\n", - "Condition not met at step 5508. No data to save.\n", - "5508\n", - "model_vars.get('Gini', 0)[-1]=0.6497999999999999\n", - "Condition not met at step 5509. No data to save.\n", - "5509\n", - "model_vars.get('Gini', 0)[-1]=0.6366\n", - "Condition not met at step 5510. No data to save.\n", - "5510\n", - "model_vars.get('Gini', 0)[-1]=0.6335999999999999\n", - "Condition not met at step 5511. No data to save.\n", - "5511\n", - "model_vars.get('Gini', 0)[-1]=0.6252\n", - "Condition not met at step 5512. No data to save.\n", - "5512\n", - "model_vars.get('Gini', 0)[-1]=0.615\n", - "Condition not met at step 5513. No data to save.\n", - "5513\n", - "model_vars.get('Gini', 0)[-1]=0.615\n", - "Condition not met at step 5514. No data to save.\n", - "5514\n", - "model_vars.get('Gini', 0)[-1]=0.6412\n", - "Condition not met at step 5515. No data to save.\n", - "5515\n", - "model_vars.get('Gini', 0)[-1]=0.6214\n", - "Condition not met at step 5516. No data to save.\n", - "5516\n", - "model_vars.get('Gini', 0)[-1]=0.6255999999999999\n", - "Condition not met at step 5517. No data to save.\n", - "5517\n", - "model_vars.get('Gini', 0)[-1]=0.6322\n", - "Condition not met at step 5518. No data to save.\n", - "5518\n", - "model_vars.get('Gini', 0)[-1]=0.656\n", - "Condition not met at step 5519. No data to save.\n", - "5519\n", - "model_vars.get('Gini', 0)[-1]=0.6762\n", - "Condition not met at step 5520. No data to save.\n", - "5520\n", - "model_vars.get('Gini', 0)[-1]=0.6844\n", - "Condition not met at step 5521. No data to save.\n", - "5521\n", - "model_vars.get('Gini', 0)[-1]=0.6694\n", - "Condition not met at step 5522. No data to save.\n", - "5522\n", - "model_vars.get('Gini', 0)[-1]=0.6668000000000001\n", - "Condition not met at step 5523. No data to save.\n", - "5523\n", - "model_vars.get('Gini', 0)[-1]=0.6752\n", - "Condition not met at step 5524. No data to save.\n", - "5524\n", - "model_vars.get('Gini', 0)[-1]=0.6574\n", - "Condition not met at step 5525. No data to save.\n", - "5525\n", - "model_vars.get('Gini', 0)[-1]=0.6632\n", - "Condition not met at step 5526. No data to save.\n", - "5526\n", - "model_vars.get('Gini', 0)[-1]=0.6688000000000001\n", - "Condition not met at step 5527. No data to save.\n", - "5527\n", - "model_vars.get('Gini', 0)[-1]=0.6732\n", - "Condition not met at step 5528. No data to save.\n", - "5528\n", - "model_vars.get('Gini', 0)[-1]=0.6484000000000001\n", - "Condition not met at step 5529. No data to save.\n", - "5529\n", - "model_vars.get('Gini', 0)[-1]=0.6332\n", - "Condition not met at step 5530. No data to save.\n", - "5530\n", - "model_vars.get('Gini', 0)[-1]=0.6516\n", - "Condition not met at step 5531. No data to save.\n", - "5531\n", - "model_vars.get('Gini', 0)[-1]=0.6388\n", - "Condition not met at step 5532. No data to save.\n", - "5532\n", - "model_vars.get('Gini', 0)[-1]=0.6496\n", - "Condition not met at step 5533. No data to save.\n", - "5533\n", - "model_vars.get('Gini', 0)[-1]=0.6562\n", - "Condition not met at step 5534. No data to save.\n", - "5534\n", - "model_vars.get('Gini', 0)[-1]=0.6442\n", - "Condition not met at step 5535. No data to save.\n", - "5535\n", - "model_vars.get('Gini', 0)[-1]=0.6202000000000001\n", - "Condition not met at step 5536. No data to save.\n", - "5536\n", - "model_vars.get('Gini', 0)[-1]=0.621\n", - "Condition not met at step 5537. No data to save.\n", - "5537\n", - "model_vars.get('Gini', 0)[-1]=0.6486000000000001\n", - "Condition not met at step 5538. No data to save.\n", - "5538\n", - "model_vars.get('Gini', 0)[-1]=0.6644\n", - "Condition not met at step 5539. No data to save.\n", - "5539\n", - "model_vars.get('Gini', 0)[-1]=0.6322\n", - "Condition not met at step 5540. No data to save.\n", - "5540\n", - "model_vars.get('Gini', 0)[-1]=0.6384000000000001\n", - "Condition not met at step 5541. No data to save.\n", - "5541\n", - "model_vars.get('Gini', 0)[-1]=0.6368\n", - "Condition not met at step 5542. No data to save.\n", - "5542\n", - "model_vars.get('Gini', 0)[-1]=0.6404000000000001\n", - "Condition not met at step 5543. No data to save.\n", - "5543\n", - "model_vars.get('Gini', 0)[-1]=0.6352\n", - "Condition not met at step 5544. No data to save.\n", - "5544\n", - "model_vars.get('Gini', 0)[-1]=0.6295999999999999\n", - "Condition not met at step 5545. No data to save.\n", - "5545\n", - "model_vars.get('Gini', 0)[-1]=0.6679999999999999\n", - "Condition not met at step 5546. No data to save.\n", - "5546\n", - "model_vars.get('Gini', 0)[-1]=0.6882\n", - "Condition not met at step 5547. No data to save.\n", - "5547\n", - "model_vars.get('Gini', 0)[-1]=0.6686000000000001\n", - "Condition not met at step 5548. No data to save.\n", - "5548\n", - "model_vars.get('Gini', 0)[-1]=0.6722\n", - "Condition not met at step 5549. No data to save.\n", - "5549\n", - "model_vars.get('Gini', 0)[-1]=0.6758\n", - "Condition not met at step 5550. No data to save.\n", - "5550\n", - "model_vars.get('Gini', 0)[-1]=0.6930000000000001\n", - "Condition not met at step 5551. No data to save.\n", - "5551\n", - "model_vars.get('Gini', 0)[-1]=0.6732\n", - "Condition not met at step 5552. No data to save.\n", - "5552\n", - "model_vars.get('Gini', 0)[-1]=0.6606000000000001\n", - "Condition not met at step 5553. No data to save.\n", - "5553\n", - "model_vars.get('Gini', 0)[-1]=0.6368\n", - "Condition not met at step 5554. No data to save.\n", - "5554\n", - "FINAL CALLED\n", - "self.model._steps=5555\n", - " TEST self.model._steps=5555\n", - " TEST self._cache_interval=100\n", - " Gini\n", - "5500 0.6888\n", - "5501 0.6708\n", - "5502 0.6882\n", - "5503 0.6648\n", - "5504 0.6682\n", - "5505 0.6570\n", - "5506 0.6442\n", - "5507 0.6500\n", - "5508 0.6498\n", - "5509 0.6366\n", - "5510 0.6336\n", - "5511 0.6252\n", - "5512 0.6150\n", - "5513 0.6150\n", - "5514 0.6412\n", - "5515 0.6214\n", - "5516 0.6256\n", - "5517 0.6322\n", - "5518 0.6560\n", - "5519 0.6762\n", - "5520 0.6844\n", - "5521 0.6694\n", - "5522 0.6668\n", - "5523 0.6752\n", - "5524 0.6574\n", - "5525 0.6632\n", - "5526 0.6688\n", - "5527 0.6732\n", - "5528 0.6484\n", - "5529 0.6332\n", - "5530 0.6516\n", - "5531 0.6388\n", - "5532 0.6496\n", - "5533 0.6562\n", - "5534 0.6442\n", - "5535 0.6202\n", - "5536 0.6210\n", - "5537 0.6486\n", - "5538 0.6644\n", - "5539 0.6322\n", - "5540 0.6384\n", - "5541 0.6368\n", - "5542 0.6404\n", - "5543 0.6352\n", - "5544 0.6296\n", - "5545 0.6680\n", - "5546 0.6882\n", - "5547 0.6686\n", - "5548 0.6722\n", - "5549 0.6758\n", - "5550 0.6930\n", - "5551 0.6732\n", - "5552 0.6606\n", - "5553 0.6368\n", - "5554 0.6510\n", - "3\n", - "model_file='test_path/model_data_056.parquet'\n", - "absolute_path='/mnt/c/wsl/github/mesa-forked/mesa/test_path/model_data_056.parquet'\n", - "Saving model to test_path/model_data_056.parquet\n", - "Saving agent to test_path/agent_data_056.parquet\n", - "model_vars.get('Gini', 0)[-1]=0.651\n", - "Condition not met at step 5555. No data to save.\n" + "all_records=\n", + "rep_names=['Wealth']\n", + "Condition not met at step 1000. No data to save.\n" ] } ], "source": [ - "for i in range(5555):\n", + "for i in range(number_of_steps):\n", " print(i)\n", " cacheable_model.model.step()\n", - " cacheable_model.cache()\n" + " cacheable_model.cache()" ] }, { "cell_type": "code", "execution_count": 10, - "id": "248ea838-5c71-4838-b6ad-fdcfdc3a1c1e", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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KUWf48cffxQACK+//rrV8rvuukswGAyWMh06dEjw9/cX3njjDav1tm/fLgQEBFgtN39Gcy2L2dChQ4X69evblcG2dmD8+PECAGHhwoV265prAaRqbm688UahY8eOwoULF6zW79Gjh9CmTRvLMvNxTE9Pt6pVeOaZZwR/f3/h7NmzlmWOajVsKT2Wubm5dn9bQRCEJ554QggLC7OcL3/99ZcAQPjqq6+s1lu6dKndcnMt09KlSxWVVcyVmpu+fftaHbvu3bsLBoNBGDFihGVZVVWV0LRpU6ttq/lMRFrjaCkiJ4qLiwEAYWFhdq9dd911aNSokeVn5syZTreXnp6OVq1aWX7v1KkTwsPD8e+//7pULnE/G0eWLFkCf39//O9//7Na/uyzz0IQBPz6668AgIULF8JkMuGee+7ByZMnLT9xcXFo06YNVq5cqaqcjvzwww9ITk62q2kBINuR+vTp01ixYgXuuecelJSUWMp36tQp9O3bF/v27cPRo0et3vPoo49abe+aa66B0WjE4cOHXSq30mPZtm1bpKSkWGqIgOrO4t9//z369+9v6Sfz3XffISIiAr1797Y65qmpqQgLC7M75i1atEDfvn1dKrtaDz/8sNWxS0tLgyAIePjhhy3L/P390aVLF6tzWO1nItISm6WInDAHD6WlpXavffjhhygpKUFBQYFkJ00pUk1IUVFROHPmjKpyhYeHAwBKSkoUrX/48GE0adLELhi6/PLLLa8DwL59+yAIAtq0aSO5HS2bEg4cOICBAweqes/+/fshCALGjRuHcePGSa5z4sQJxMfHW363PeZRUVEAoPqYmyk9lkB109SLL76Io0ePIj4+HqtWrcKJEyeQkZFhWWffvn0oKipCTEyM7OcRa9GihUvldoXtsYuIiAAAJCQk2C0XH0+1n4lISwxuiJyIiIhA48aNJUcdmfvgqEm2JzcKSlCZlaF169YICAjA9u3bVb3PGZPJBIPBgF9//VWyrFI1WLXJZDIBAEaPHi1beyEelg5od8xdkZGRgbFjx+K7777D008/jW+//RYRERG46aabLOuYTCbExMTgq6++ktxGo0aNrH63HRnlSXLHTmq5+Hiq/UxEWmJwQ6RAv3798MknnyAnJwfdunXTuzgAgNDQUNxwww1YsWIFjhw5Yvckbat58+b4/fffUVJSYlXjsGfPHsvrANCq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RKQ31cFNcHCw5OSTe/fuRaNGjTQpVF0lMIkfERGR7lQHN7fddhteffVVVFZWAqjuPJuXl4cXXngBAwcO1LyAdYnp0hp4RkRE5JVUBzfvvvsuSktLERMTg/Pnz6NXr15o3bo1GjRogDfeeMMTZawzLH1umOiGiIhIN6pHS0VERGD58uVYvXo1tm3bhtLSUlx55ZVIT0/3RPnqlIoqEwCOliIiItKT6uDG7Oqrr8bVV1+tZVnqtHMVVZb/1wv017EkRERElzZFwc3777+PRx99FCEhIXj//fcdrvu///1Pk4LVNVWmmv429YNdjhmJiIjITYruwlOnTsX999+PkJAQTJ06VXY9g8FwyQY3RERE5B0UBTcHDx6U/D8RERGRt3FpbikiIiIib6U6uBk4cCDeeustu+Vvv/027r77bk0KVRcxxQ0REZF3UB3c/Pnnn7jlllvslt98882X/NxSZkxQTEREpB/VwU1paSmCgoLslgcGBkpOy0BERERUm1QHNx07dsSCBQvsls+fPx9JSUmaFIqIiIjIVaoTsowbNw533nknDhw4gBtuuAEAkJ2djW+++Qbfffed5gWsM9jnhoiIyCuoDm769++PH3/8EW+++Sa+//571KtXD506dcLvv/+OXr16eaKMdQ673BAREenHpVS6/fr1Q79+/bQuCxEREZHbmOeGiIiIfIqimpuGDRti7969iI6ORlRUFAwOxjqfPn1as8IRERERqaV4bqkGDRoAAKZNm+bJ8tRZAnsUExEReQVFwc3WrVtx1113ITg4GC1atECPHj0QEMCZr+U4qtkiIiIiz1LU52b69OkoLS0FAFx//fVseiIiIiKvpaj6JTExEe+//z769OkDQRCwdu1aREVFSa577bXXalpAIiIiIjUUBTeTJ0/GiBEjkJWVBYPBgDvuuENyPYPBAKPRqGkBiYiIiNRQFNwMGDAAAwYMQGlpKcLDw5Gbm4uYmBhPl61O4azgRERE3kFRn5vMzEyUlZUhLCwMK1euRIsWLRARESH5Q8xQTEREpCfVHYpvuOEGdigmIiIir8UOxURERORTFNXcTJ48GZ9++imuv/56S4fi6667zu7n+uuvd6kQM2fORGJiIkJCQpCWloacnBxF75s/fz4MBgMGDBjg0n61xC43RERE3kFRcDNgwADk5+ejuLgYgiAgNzcXZ86csftxpblq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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "\n", - "gini = model.datacollector.get_model_vars_dataframe()\n", - "# Plot the Gini coefficient over time\n", - "g = sns.lineplot(data=gini)\n", - "g.set(title=\"Gini Coefficient over Time\", ylabel=\"Gini Coefficient\");" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "9cf0a6c4-a976-4835-82e2-706f49b175d3", - "metadata": {}, + "id": "f85769a6-c1a7-4049-aaaa-ed23c876b1eb", + "metadata": { + "scrolled": true + }, "outputs": [ { "data": { @@ -18257,163 +2536,186 @@ " \n", " \n", " 1\n", - " 0.3272\n", + " 0.2602\n", " \n", " \n", " 2\n", - " 0.4626\n", + " 0.4262\n", " \n", " \n", " 3\n", - " 0.4626\n", + " 0.4538\n", " \n", " \n", " 4\n", - " 0.5080\n", + " 0.4824\n", " \n", " \n", " ...\n", " ...\n", " \n", " \n", - " 5550\n", - " 0.6930\n", + " 995\n", + " 0.6944\n", " \n", " \n", - " 5551\n", - " 0.6732\n", + " 996\n", + " 0.6878\n", " \n", " \n", - " 5552\n", - " 0.6606\n", + " 997\n", + " 0.6712\n", " \n", " \n", - " 5553\n", - " 0.6368\n", + " 998\n", + " 0.6660\n", " \n", " \n", - " 5554\n", - " 0.6510\n", + " 999\n", + " 0.6166\n", " \n", " \n", "\n", - "

5555 rows × 1 columns

\n", + "

1000 rows × 1 columns

\n", "" ], "text/plain": [ - " Gini\n", - "0 0.0000\n", - "1 0.3272\n", - "2 0.4626\n", - "3 0.4626\n", - "4 0.5080\n", - "... ...\n", - "5550 0.6930\n", - "5551 0.6732\n", - "5552 0.6606\n", - "5553 0.6368\n", - "5554 0.6510\n", + " Gini\n", + "0 0.0000\n", + "1 0.2602\n", + "2 0.4262\n", + "3 0.4538\n", + "4 0.4824\n", + ".. ...\n", + "995 0.6944\n", + "996 0.6878\n", + "997 0.6712\n", + "998 0.6660\n", + "999 0.6166\n", "\n", - "[5555 rows x 1 columns]" + "[1000 rows x 1 columns]" ] }, - "execution_count": 11, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" - } - ], - "source": [ - "gini" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "c9515417-7c5f-45f8-8ffa-2f466288ea1f", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Gini\n", - "0 0.0000\n", - "1 0.3272\n", - "2 0.4626\n", - "3 0.4626\n", - "4 0.5080\n", - "... ...\n", - "5550 0.6930\n", - "5551 0.6732\n", - "5552 0.6606\n", - "5553 0.6368\n", - "5554 0.6510\n", - "\n", - "[5555 rows x 1 columns]\n" - ] - } - ], - "source": [ - "import pyarrow.parquet as pq\n", - "import pandas as pd\n", - "import glob\n", - "\n", - "# Get a list of all Parquet files\n", - "model_files = glob.glob('test_path/model_data_*.parquet')\n", - "agent_files = glob.glob('test_path/agent_data_*.parquet')\n", - "\n", - "# Initialize lists to hold dataframes\n", - "model_dfs = []\n", - "agent_dfs = []\n", - "\n", - "# Read and append each file to the list\n", - "for model_file in model_files:\n", - " table = pq.read_table(model_file)\n", - " df = table.to_pandas()\n", - " model_dfs.append(df)\n", - "\n", - "for agent_file in agent_files:\n", - " table = pq.read_table(agent_file)\n", - " df = table.to_pandas()\n", - " agent_dfs.append(df)\n", - "\n", - "# Concatenate all DataFrames\n", - "model_df = pd.concat(model_dfs, ignore_index=True)\n", - "agent_df = pd.concat(agent_dfs, ignore_index=True)\n", - "\n", - "# Display the combined DataFrames\n", - "print(model_df)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "c6c73b47-b23c-4347-9951-b721ea5ed5da", - "metadata": {}, - "outputs": [ + }, { "data": { - "image/png": "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KUWf48cffxQACK+//rrV8rvuukswGAyWMh06dEjw9/cX3njjDav1tm/fLgQEBFgtN39Gcy2L2dChQ4X69evblcG2dmD8+PECAGHhwoV265prAaRqbm688UahY8eOwoULF6zW79Gjh9CmTRvLMvNxTE9Pt6pVeOaZZwR/f3/h7NmzlmWOajVsKT2Wubm5dn9bQRCEJ554QggLC7OcL3/99ZcAQPjqq6+s1lu6dKndcnMt09KlSxWVVcyVmpu+fftaHbvu3bsLBoNBGDFihGVZVVWV0LRpU6ttq/lMRFrjaCkiJ4qLiwEAYWFhdq9dd911aNSokeVn5syZTreXnp6OVq1aWX7v1KkTwsPD8e+//7pULnE/G0eWLFkCf39//O9//7Na/uyzz0IQBPz6668AgIULF8JkMuGee+7ByZMnLT9xcXFo06YNVq5cqaqcjvzwww9ITk62q2kBINuR+vTp01ixYgXuuecelJSUWMp36tQp9O3bF/v27cPRo0et3vPoo49abe+aa66B0WjE4cOHXSq30mPZtm1bpKSkWGqIgOrO4t9//z369+9v6Sfz3XffISIiAr1797Y65qmpqQgLC7M75i1atEDfvn1dKrtaDz/8sNWxS0tLgyAIePjhhy3L/P390aVLF6tzWO1nItISm6WInDAHD6WlpXavffjhhygpKUFBQYFkJ00pUk1IUVFROHPmjKpyhYeHAwBKSkoUrX/48GE0adLELhi6/PLLLa8DwL59+yAIAtq0aSO5HS2bEg4cOICBAweqes/+/fshCALGjRuHcePGSa5z4sQJxMfHW363PeZRUVEAoPqYmyk9lkB109SLL76Io0ePIj4+HqtWrcKJEyeQkZFhWWffvn0oKipCTEyM7OcRa9GihUvldoXtsYuIiAAAJCQk2C0XH0+1n4lISwxuiJyIiIhA48aNJUcdmfvgqEm2JzcKSlCZlaF169YICAjA9u3bVb3PGZPJBIPBgF9//VWyrFI1WLXJZDIBAEaPHi1beyEelg5od8xdkZGRgbFjx+K7777D008/jW+//RYRERG46aabLOuYTCbExMTgq6++ktxGo0aNrH63HRnlSXLHTmq5+Hiq/UxEWmJwQ6RAv3798MknnyAnJwfdunXTuzgAgNDQUNxwww1YsWIFjhw5Yvckbat58+b4/fffUVJSYlXjsGfPHsvrANCqVSsIgoAWLVqgbdu2nvsAF/eldqh6y5YtAVTXIKWnp2tWFjXJ7JQeS6C6lqVbt25YsGABRo0ahYULF2LAgAFWQ69btWqF33//HT179qzVwMWTfPEzUd3BPjdECjz//PMIDQ3FQw89hIKCArvXa6MGQMqECRMgCAIGDx4s2Wy2ceNGfPbZZwCAW265BUajETNmzLBaZ+rUqTAYDLj55psBAHfeeSf8/f0xceJEu88lCAJOnTqlWfkHDhyIrVu3YtGiRXavyR3TmJgYXHfddfjwww9x/Phxu9cLCwtdKkv9+vVx9uxZResqPZZmGRkZWLduHebMmYOTJ09aNUkBwD333AOj0YjXXnvNbl9VVVWKy+VNfPEzUd3BmhsiBdq0aYOvv/4agwYNQrt27SwZigVBwMGDB/H111/Dz88PTZs2rdVy9ejRAzNnzsQTTzyB9u3bW2UoXrVqFX7++We8/vrrAID+/fvj+uuvx0svvYRDhw4hOTkZy5Ytw08//YSnn37a0sm5VatWeP311zF27FgcOnQIAwYMQIMGDXDw4EEsWrQIjz76KEaPHq1J+Z977jl8//33uPvuu/HQQw8hNTUVp0+fxs8//4zZs2cjOTlZ8n0zZ87E1VdfjY4dO2L48OFo2bIlCgoKsHbtWvz333/YunWr6rKkpqZi1qxZeP3119G6dWvExMTghhtukFxX6bE0u+eeezB69GiMHj3aMjWGWK9evfDYY48hKysLW7ZsQZ8+fRAYGIh9+/bhu+++w3vvvYe77rpL9WfSky9+Jqo7GNwQKXT77bdj+/btePfdd7Fs2TLMmTMHBoMBzZs3R79+/TBixAjZm7EnPfbYY+jatSveffddfP755ygsLERYWBiuvPJKzJ0719LR2c/PDz///DPGjx+PBQsWYO7cuUhMTMTkyZPx7LPPWm1zzJgxaNu2LaZOnYqJEycCqO5A2qdPH9x2222alT0sLAx//fUXJkyYgEWLFuGzzz5DTEwMbrzxRoeBYlJSEjZs2ICJEydi3rx5OHXqFGJiYtC5c2eMHz/epbKMHz8ehw8fxttvv42SkhL06tVLNrhRcywBoGnTpujRowf+/vtvPPLII5KdsmfPno3U1FR8+OGHePHFFxEQEIDExEQ88MAD6Nmzp0ufSW+++JmobuDcUkRERORT2OeGiIiIfAqDGyIiIvIpDG6IiIjIpzC4ISIiIp/C4IaIiIh8CoMbIiIi8imXXJ4bk8mEY8eOoUGDBqrSrRMREZF+BEFASUkJmjRpAj8/x3Uzl1xwc+zYMadz8BAREZF3OnLkiNNs8JdccGOe5O7IkSMIDw/XuTRERESkRHFxMRISEqwmq5VzyQU35qao8PBwBjdERER1jJIuJexQTERERD6FwQ0RERH5FAY3RERE5FMuuT43REREtUkQBFRVVcFoNOpdFK8XGBgIf39/t7fD4IaIiMhDKioqcPz4cZw7d07votQJBoMBTZs2RVhYmFvb0T24mTlzJiZPnoz8/HwkJydj+vTp6Natm+z606ZNw6xZs5CXl4fo6GjcddddyMrKQkhISC2WmoiIyDGTyYSDBw/C398fTZo0QVBQEJPHOiAIAgoLC/Hff/+hTZs2btXg6BrcLFiwAJmZmZg9ezbS0tIwbdo09O3bF7m5uYiJibFb/+uvv8aYMWMwZ84c9OjRA3v37sWDDz4Ig8GAKVOm6PAJiIiIpFVUVMBkMiEhIQGhoaF6F6dOaNSoEQ4dOoTKykq3ghtdOxRPmTIFw4cPx7Bhw5CUlITZs2cjNDQUc+bMkVx/zZo16NmzJ+677z4kJiaiT58+GDRoEHJycmq55ERERMo4myqAamhVs6XbEa+oqMDGjRuRnp5eUxg/P6Snp2Pt2rWS7+nRowc2btxoCWb+/fdfLFmyBLfccovsfsrLy1FcXGz1Q0RERL5Lt2apkydPwmg0IjY21mp5bGws9uzZI/me++67DydPnsTVV19t6X0+YsQIvPjii7L7ycrKwsSJEzUtOxEREXmvOlVXtmrVKrz55pv44IMPsGnTJixcuBCLFy/Ga6+9JvuesWPHoqioyPJz5MiRWiwxERGR7zIYDPjxxx8Vrz9v3jxERkZ6rDxmutXcREdHw9/fHwUFBVbLCwoKEBcXJ/mecePGYfDgwXjkkUcAAB07dkRZWRkeffRRvPTSS5LtmsHBwQgODtb+AxAREfmw/Px8ZGVlYfHixfjvv/8QERGB1q1b44EHHsDQoUMRGhqK48ePIyoqSvE2MzIyHHYl0YpuNTdBQUFITU1Fdna2ZZnJZEJ2dja6d+8u+Z5z587ZBTDm3tSCIHiusEREOtp1rBif/PUvqowmvYtCl4h///0XnTt3xrJly/Dmm29i8+bNWLt2LZ5//nn88ssv+P333wEAcXFxqioQ6tWrJzkaWmu6DgXPzMzE0KFD0aVLF3Tr1g3Tpk1DWVkZhg0bBgAYMmQI4uPjkZWVBQDo378/pkyZgs6dOyMtLQ379+/HuHHj0L9/f00yGhIReaNb3v8LABAU4Ich3RP1LQy5RRAEnK+s/UzF9QL9VY1EeuKJJxAQEIANGzagfv36luUtW7bE7bffbqlQMBgMWLRoEQYMGIBDhw6hRYsW+OGHHzB9+nSsX78ebdq0wezZsy2VFvPmzcPTTz+Ns2fPavr5bOka3GRkZKCwsBDjx49Hfn4+UlJSsHTpUksn47y8PKuampdffhkGgwEvv/wyjh49ikaNGqF///5444039PoIRES1ZsfRIr2LQG46X2lE0vjfan2/u17ti9AgZbf8U6dOWWpsxIGNmKNA6aWXXsI777yDNm3a4KWXXsKgQYOwf/9+BATUXsihe4biUaNGYdSoUZKvrVq1yur3gIAATJgwARMmTKiFkhEReRcDmN2WPG///v0QBAHt2rWzWh4dHY0LFy4AAEaOHIm33npL8v2jR49Gv379AAATJ05Ehw4dsH//frRv396zBRfRPbghIiJlmLm/7qsX6I9dr/bVZb/uysnJgclkwv3334/y8nLZ9Tp16mT5f+PGjQEAJ06cYHBDRETkiwwGg+LmIb20bt0aBoMBubm5VstbtmwJoLpTsCOBgYGW/5ubr0ym2u0MX6fy3BARXcpYc0O14bLLLkPv3r0xY8YMlJWV6V0clzC4ISKqMxjdUO344IMPUFVVhS5dumDBggXYvXs3cnNz8eWXX2LPnj1eP0LZu+vGiIjIgjU3VFtatWqFzZs3480338TYsWPx33//ITg4GElJSRg9ejSeeOIJvYvoEIMbIiIistO4cWNMnz4d06dPl11HnEA3MTHRLqFuZGSk1bIHH3wQDz74oOZltcVmKSKiOoIVN0TKMLghIiIin8LghkhnRpOAP/cWovhCpd5FIS8krtJnnxvPO1F8AUYT5yqs6xjcXAJOFF/AyVL5hEukr0/++hdD5uTgvo/X6V0U8kK80dae9f+eQrc3szH88w16F4XcxA7FPu5CpRHd3qyeeX3/GzcjwJ/xrLf5YdN/AIAdR4t1Lgl5oyoGN7Xm09UHAQAr9pzQdLu2nWxJnlbHinc6H3e6rMLy/3M6zERLzvG6R46YRCcIzxXP0rqWzJyp99y5c5pu15dVVFTfs9zNo8OaGx/n71fTSF9l5JXRG5l4xyIHxDdcnimepXUtmb+/PyIjI3HiRHVNUGhoqMPZtC91JpMJhYWFCA0NdXsGcQY3Pk5836yoqt25PUgZ3rDIEfGUPGze8KwqD8x/FBcXBwCWAIcc8/PzQ7NmzdwOAhnc+LgTJRcs/y8sKUdcRIiOpSFJvF9dkiqqTHj5x+24pk0j9E9uIruekQFNrRAEAX/vP6X5dg0GAxo3boyYmBhUVnJEpDNBQUHw83O/xwyDGx83dfley/8/W3sI79ydrGNpyNa5iir8e7JuTkxH7lmw4Qi+3fAfvt3wn8PgRlybwJFTnrP/RKlHt+/v719r8zEVX6jExsNncHXraAReooNILs1PXYvOlFXgpy1HcUGnzrxl5TX7/X7jf7qUgeQljf9N7yKQTgpLlKVnOHyqpjMqR055TkGxd6bLMJkELN52HP+dUd4pecinORg29x/MXLnfgyXzbgxuPGzo3Bw8NX8LXl+8S5f9s0rbe+kV8JI+jp49j+W7Ciz9ZpT0nykovoC7Z6+1/L5w01GPle9Sd/Z8hfOVdLBw81GM/HoTrn5rpeL3bDlyFkBNmgk17zvlIznRGNx42Lb/igAAP205psv+ORJHmXMVVXhj8S5sPHym1vZZaWQH70vF1iNn0XPSCgz/fAN+3ZEPQNl3c+exIk8XjS7y1kvlmgMnVa1vEtXulV6oUvy+nIOnMWDm3+gz9U9V+/NWDG5qiV5t5azFVmb6iv34+K+DGDhrTa3tk/0nao/JJOg60ujej2qyT/+5txCAsptpcEDt9NG4VPyy7RjG/7RD8rsnFWwu2X4ct89YjbxT+uWpMYimS+05aQVW5ToedVVSXhPQnDlX04HZ2Xfg1x3HAQCnyryzBkstBje1RK8alK0XqyfJMU93JpTiTf0nftx8FN9uOKJ3MTzCaBLQf8ZqDP40R7cA57yoCbLiYo3dzmPOM1L7MSeKpkZ9vRmfrz2Mn7bYN+9VSuQBe+KrTdj6XxHGLNxWG8Vz6ujZ83hw7j8O1xEHboH+1edPldGEW97/C0OdvNeXcLRULfFA+gSnft9VUPs7raP8dLiHmLwkuKk0mvD0gi0AgOvbxaBRg2B9C6SxgydLLYFEWYURYcH6XvbMT+J/XKzBcbjuJR7bnCmrQFT9IM23e7zogt0yo4OL9Nlz+g3hVnsOiEfXmc+1vQWl2JNfgj35Jag0miRHUPn72MnGmpta4onkUI6cKL6ARzj5m2Liqt/a4i01N+InvTPnfKNKWsxflDNjwT/VtVMnSi7oUlsHVN+slNYgXco1N4s2/4fOry3HFFE6C61INUtJ1dyY6dl3Uc0oKcA2o3X1/801OABwrkJ6IIOfHk94HsTgxoP0HA3jK+2mtUWPe4i39LkRX7fPy1z4PGntgVMeTVMQILpom7+T3d7IRvqUP5Av8QTvaQbUjGZxuq7NeRkVGqh5ebzVS4t2AADez96n+bb9JW7kVTYd/MvKlXfG9aR1/55Wtb7UNDtWo2ZlLju+FkezWcqDxE8ctX0b87UT1dP0eEL2dHDz1tI9CPT3Q2bvtg7X2360ZkROuQ5TdAz6uLqzbfu4BrgiPkLz7QeInlrjwq0zdO/JL1adtbvSaIKfwSB5g1TCYLDug+NwXbt9e0dAXBvEn10QBE3nZJL6vtvWpJ4qrXlA9NaRVFKsam4u/lcc8MjVQrFZihTJL7qAj/781/K7IFQPN64tUs0sN3WIq7X91zk6fK8vVHmulqSg+AJmrTqA97P3OaxBPHL6HO75sCaPip7D09VWvyt1obLmM0Xb9CdSG9RWGk3oMWkF+k5zfbisAQYEByi79NrmKanQ+O9jMgn4bsMR7D9Roul23bW3oARlolpErR8EAqRqbmz2IZ4BQNBxjpTr2zWyW2Zby2T1msREq0omX/W1JlAGNx4iNaR48m+5tbZ/qfPU39+7T15BELymqaY2zF51wG7Z5jxt8uwcVjh0dddx6xE7ej6hPvvtVs1HM1UaTbj+nVWW302C9XBYtbUvh06WobCkHPtPlLrcIdxgAIIk0vDP/uMABs5aY9Uc8k2O9Qi2SqNJ02P0f9uO4bnvtyF9inflNun3/l9Wv2t9Wkr1LbMNGCqtajs0LoCbis7Ld3CWuoaK+3zKnT/ir4IvTNDK4MZDjp49b7dsVa7z0RFakap69PYT9omvNuHat1e63Fdp/4lSDJj5N1bssR4lpuRz6/HU8tc+++RcL/+4Q5Nti2tjHHWctf3UenacLKswYpNGwZ3ZSZtsqyaTYHWjUvtnF3e6dDX7t8EABAbY73jSr3uw8fAZfLX+sOx7BUHbWozt/3lnkkDb5jc15+V/Z87h563H7IJP8XXgA4kHC9uaG3Pnc9v3egNHTXRSgYz4eMrW3IjPbW+L5lzA4KYW1ebtUzJJlZcnxP11Rz6Onj1vSXKm1qivN2HLkbN4aF7NKLELlUbc8O4feHr+Zofv1aNOS6rTtyeuoX/vV57hVO9L2vkKbU9S234EJsG66U1tUCvenus3AMf7LK90fAy07HcTqLB5TG9qvhe9Jq/C/77ZjAU2eZts/15nbL5/tg8B4lw4esY2UoHM6TL5KRLE1/mAi21rSvrciL8L3jKS0x1148z2EZUeiC6KzlfirllrcN3klTh8qmZ2aald1ZWpGFwtpVSwkL37BA6eLMOPEtNfmEwCPvrzADblnfGaDtha/I1sg5kyByOgbC+cWp0j3244grELt6sOALTu22A7vNVosm76VNssJV7f1RtAcIAfpiyzHt68W9Q86OxcNPe7mfTrHtzz4VqcKatwOdAS3+BLLuiXy8UZNael+Vj8YVNTbvv3Wm6TB+yXbcdl19fzyil1OqRP+RNTZYbIF5bWjAC8uWN1P0urvnQyH0b8VdhXUIoZK/Z59TnhDIObWmR08YnLUdv+jBX7sOHwGRw6dQ73fby+Zl8SV4Nluwrwhk4TeNoymQTZDtYVLo7YkboAOrpRLNx8FG8u2YM7P1hT681SUs2WgDZPTPd/st7q9/MSx7nkQiXOnquwb5aS2f+nqw/iyW82K76JPv/9NnyTk4dlO/MVrW/m6fhbEASrp1g1sc3bS/fgS1GTkasBRXhIAJbZ3FiX7az53dns1ANm/o3S8irM/uMAcg6eRufXlmPAzL9dKos4oaE73wFBEPDwvH9w/yfrPNKE40rQXW7TYd92G0FOaq3Es7Z7W7MUALyXvQ/DP99g14wvrrk2J+sTd0SX+yTiB53+M1bjnWV78er/2d8vjCYBT36zGXNWH3Sj9J7nFcHNzJkzkZiYiJCQEKSlpSEnJ0d23euuuw4Gg8Hup1+/frVYYtfI3biKL1Ti7/0nJS+Wby3dgytfX45jMjdDcYdQ8Q1TLtvmx38d1CWXCVCdQ+WlRdvx175C3PvROiSN/83qAmKmNq/FgcJSvPD9Nrv+FYDjm9fegpoRImou66XlVXjnt1zsskmfX3SuEmMXbsM/h5znpRjzg3Q6dzU3zFd+3onpCo7Vx38dxNiF27HrWDEOFFZXvXd8ZRlSXl2Odf+estv/0h3H8crPO63K8tovu/B/W4+pDlbOOuj4KEVAdT+Qa95egV+3H3e6vjO2NzSjIGDTkZp+PUqHF+8+XowPVh3Ah3/UjIAUH5+Nh08rnr7CNrABgKm/1zyFn3LQ5AAAB0+W4bM1h6yWiYfzq9EmNszyf2cBxMbDZ3DN2yvsajyA6hQC2XtO4O/9p5B3WvtRb+VVJkxZvtdpn6wNou+e7aex/W7ZZult4iAlwKFT55x2IL9QabS7Joidq6hCscY1Ict3FWDu34dkXzd3ThcH9LZ/5tLyKny6+qDkA5fUtWzZznz839ZjePUX73hQlqN7cLNgwQJkZmZiwoQJ2LRpE5KTk9G3b1+cOCE9OdjChQtx/Phxy8+OHTvg7++Pu+++u5ZLrp7cjeue2Wtx/yfr7S5YADBr1QGcPVeJGSv3S7737/2nJJdLJXIy+2r9YaRP+QM7jxVZNWUJgoDTHkz+N+uPA/hqfR4Gf5qDnItfmneX2Y8g26cyc+x9H6+za183k7t5VRlN2HRY/U0OAN75LRczVu7HLTYjOt5dnotvco7g7tlrZd5Z4+gZuZobx7VWBcUX8NmaQ9icdwbz1hzCuwqzt36Tk4db3v8LN777h1UV9Sc2T19Gk4ARX27CvDWH8OPm6j4H4gvyqbIKTZ9ibbclCAJGfLkRR06fx+NfbdJg+9a/nywpxzDR/DpKP0uxRJAm/lsNnLUWz3+/DV+sk+8MbLYn3/Gw69YxDZxuw520EqdKyzHyq034c2+hVedqR0dCEAQMm5uDI6fPY7hE5vOn52+x/H/ZzgJMWb5X8mHDVe8uy8X72ftw5wfyE9sWlpTjLgffPduvVqDN6FFn0zy0fHEJ3s/eh37v/yWZMmHMD9twy/t/Wb43YoIgoMOE39DplWWqB0w4uzStP3gKX6/Pkxwe/uuO/OraStGHtw1iX/2/nXjtl134en2eovKUqJhpXE+6BzdTpkzB8OHDMWzYMCQlJWH27NkIDQ3FnDlzJNdv2LAh4uLiLD/Lly9HaGhonQhu5LIGmy92P0pM5mam9n7iqAbg9cW7sf9EKfq9vxq9Jq/Ctv/OAgDG/bQDV762XPLJTAtSHYXn/+PeZI0XKo0Oq/HlqtrHLNyODVbBjfJ9br14vGzJBSxS5EbaOApKAeDhz/7BhJ934rnvXZ/Ib/dx+adLcbnyiy9g9Hdbce+HNTNav/zjDtz8nvTF3WgSMPLrTZixQnnNm9R5atuc4A7b7b9iU80u9TVZvqsA7y7LtQp8pP5eRpOAZTvzMfuPmpE342xGuxUUX1B1PACgWcNQp+u403o56dc9WLz9OIbMybG6rggycfWS7cfR9Y1sFDu4qS0V1ei9sWQ33s/eh6ecdOJX4ysFN17byTANqK55SByzGI99scHuwcG2WcpZ0AlUJ2bdeawYr0vUWpj79T29YItd7XiF0WQ51lLzWjnm+OK0KrcQLy7ajm9ypI+R0SRYBTS2p85KB6N4pR766krfTV2Dm4qKCmzcuBHp6emWZX5+fkhPT8fatc6ffgHg008/xb333ov69etLvl5eXo7i4mKrH29lexodL6q5Wap9WlbTd2PJ9uoL05frqr8c79jk4zGaBDyzYAs+dbON9YAH5vJZvM1x04Vc7gbbdP+qmqVkLvJSk9HJkQtinP3ddhytPn/dmRdp5R75i5k4GLhQacT3G/+zy4WzJ78Er0lc3LcfLcLibcfxjqiz7FtL9zgsi+3Hrf5VXd+P+Tl5SByzWLJJwNmFWKqpYfjnGzB9xX6rIF9qM0aTgEe/2IhJv8p/xgfn/mN1PJQQn6fpl8dKrjNLYigzUD0ZZ4+sbPy1z/pv/G9hKTK/3YIDhaXIL665uW44LG7GkT5WT3y1yaVamLUHrGuVq4wmrMo94TBHixrnK4w4JSqX7d/aYDBYalF/21mAjaKHGcD6+7piT4GqJmFHAQFQ3R9m5NebcPfsNTCarPt5eap3n+3nM6syCbDqT2xznBw1tx08WYZHPttg1bHYdvXzFUavmQRYTNfg5uTJkzAajYiNtf4Cx8bGIj/fedt+Tk4OduzYgUceeUR2naysLERERFh+EhIS3C63O045ukjYRMnds1ZY/q82WlbzRbW/KFi/vir3BBZtPip5Q1NFo2/1uYoqrN53EpVGEwpKHD8FiZ/GHB0SNZ0p5ZrNxCNpdh8vxpgftsnOXST393Slk6rawFfcz8LR/h1lw/18rX3zi1TZnc2mbHsccvNLVM/QPmbhdgCwayYEnNd4OspV89vOAszPyYMgCJJ/LyV/K6last5J0gGLmXirKuJlAMDQOTk4VnQBgz+17rd438frsXDTUdz47h9Wn2XhppraDjWn3g4FfXxsv1Mf/fUvHpz7DwZ9tE7mHcqYH/q6vvE7Ul//3XJNdfa3tv0bmgQBp0rLMfm3PXjlZ237j+y4GOj/c+gMdh4rQoEooPTU2AW5j19lEqyCD9tUAs7yNf2+u8CquVV8HE+XVeDy8Utx83v23z296d4s5Y5PP/0UHTt2RLdu3WTXGTt2LIqKiiw/R4641wzirvE/75R9zdE5r3YEkZqaG2fbdjSUWA2tvtOjvt6MBz5dj6nL9yIkwD7Tq5g4C7Cj/ixyfXbUEA877vf+X5j/zxH87xv7qnlBEKzmrRGTajc/VVqOkV9vsnsar9meunKK/96Jl1k3gYhv2Cv3SPd7kyM3pYBUE1ZhSTm+WHfYri/LpF/3aHrxd/ZQ4OjlHzb9hzELt2PFnhMyWV9de1p19vfanHcGH6zaD6NJUPW3FfefA6r7SpnPJ3FtjVw/PTUPULdOX42Nh8+oqoUx90XZdbwYI7/ehOnZ+1B0vhLf5OSh79Q/ZUcQ2jJ/d0ovdpZ9+LPqPkC2pbfN9l1Wbjt6Chj93VbMXHlAdSfovNPnHD5UiJtWz1dU59oyU/t9Vfp9kNtuldFk9bcVTwsEKAvSxVmzxWtnXEwWmlvgXdN3ADoHN9HR0fD390dBgXUfj4KCAsTFOZ4HqaysDPPnz8fDDz/scL3g4GCEh4db/Xiaox7x+wscZIt1cBIXStT4OE7BrTwYsn3Csr3ISc3D4gq5NvstR84qqn0QBAGl5VVYcfGmO2/NIacTLYoDDk8nMRQfJvP1Yucx+yfcSUv3yNaKnJMIJN9YshuLtx23exqv2ZfrtXpNo6yDm5OioGuvg3NVilzOGKkmuMGfrse4H3dYal3ExPOiLdz0n13GaUeKzlXi9pl/45O/qi/gzq7bthd2qfmt9uSXSB5jqar41jFhTjv7OutQ+k3OEby9NBc/bTmqKr9Kr8mrrH7v9MoyydosOWpvugNnrcEtDp7YbYM/8d918bbjeHf5Xtzy3l8Yu3A7cgtKFKepsP1bmGdYtw2Uz9jUGj773Vbr7ZgEp81LjgyZIz+qVzwBbZnN+aAmKP5rX6Himevl5marMglWtTOLNls3yStpUpq58gDumrUGJpP19CVStdhr9p/EA5+sx6GTZXav1SZdg5ugoCCkpqYiOzvbssxkMiE7Oxvdu3d3+N7vvvsO5eXleOCBBzxdTNUcZRh1FMA4CiGqjAI+/vNfzBSNmrpR9DRgZr6wqplfLybcejJB25uaOPiRi/IFQcDqfSddaps/cKJUUZX4I59twBUTfrP8XmXzRZMSYJV0zbPRjdSsulJVvuLhxLakLnxyaQDM1NYfWE+iZ/1uZ31kHJZDpiBSySvNzYUrJGqHxDFS5rdbrfJ2OPPxX/9i65GzeH3xbgDSgZ94Alnb18Wdg82qg2r7gETqb7X/RCmSxv/m8AFntcKM0UdOn3e7c7+aAFUQBNV9J5zVtmwU9emRuvaJ3y91jKXIFVFqSgVH3J1iQGr6FDPxPcD2/FV6HXr1/3Zh8Kc5iof5nzlXKXn+mgTrKUcu2NyflE4jsuHwGezOL3Z6jtz3yXqs3n9S0w7lrtC9WSozMxMff/wxPvvsM+zevRuPP/44ysrKMGzYMADAkCFDMHbsWLv3ffrppxgwYAAuu+yy2i6yU55oUz1XYcQbS3Zj8m+5lvlgpAKJpPG/YcfRIlU38kZhwXbLxDk7xE/kck0jS3fk44FP16P3lOqASxAE7C0oQaXRhKLzlZJDvs1MMn0abGXb3Airq1sdv0dcc+NsJJLZQSdPHHI1WbbZcIHqC8mjn29Q1EdBjrP+QFYjIRQcR/FN2dUL/G3JTeyWyXVIVXrczdQMy7d13qZWROp4RNQLFL1u/Zq5U731NiDZvOjo2Ml17lQjoJYnus0vvoBub/6OrF93a7bNgbNqBoY4+7uaa5ud1WxpNVpno8bzmIk5GvGn9Psw5291AzgOniyT7NwuCI5rZ9Q8832Tkyd7zbWtERI3hepB9+AmIyMD77zzDsaPH4+UlBRs2bIFS5cutXQyzsvLw/Hj1iNicnNzsXr1aqdNUnpxdNFz9AXflHdW9jVxv4W3lu5xeBN7Z1muqpuWVODx/PfbLCNyxJ0abaN+sz8vPsWYq4K/Wp+HPlP/xMivNmHCTzswfYV0nh5APri5Z/ZaJI5ZLHuxEwBccDJsuMVlNaPolF4Uxy7cJtlPxCw0SLqfj1TNDVCdtO3W6asBSPepccZZcCP+WI46AZuJmyxdrcwyF2l+Th6GzslBWXmVbM2N3NB5+fLZb0hpp2nb+NJ2UxldEqyeVJV8T+RWKXfQV02LjNe1PSXIO8v24mRphcOaRXc4+zjmv8V0J0PnBUFwu9YFkB9xpgVH54aSZiktRx+tP3jabuTaEVEfIzXB4pfr8mTXf2bBVqtrtbNM256me3ADAKNGjcLhw4dRXl6O9evXIy0tzfLaqlWrMG/ePKv127VrB0EQ0Lt371ouqTKOvni2oyeUtkuKvxBVJpNs/wug+slHTbvuMZk23SGfVqfxF1+obW/6v24/jpkr9yPI5inT3Glt2a4CyXmdxEyCdJOGOdHfSAfJ3N773fGFsH9KTQ3DiZJyZC7Y4jSD8KGT59DplWV4/vutkq/LHVmpmhtbI77caLesX6fGDt/j7CZnPnanyyqQPHGZ0zLYnkuuMO9zzMLt+GNvIT5dfVA2uBEnzVNC6omv+EIV5v590Gnnd/EQ+XX/nrK7EAuwbnpRcmGXq5Fy9HT+lYJkfs4YNOqCnzhmsaL1xHmoPJHF3DalgC3zdXPrEee1nJ5uYnaXo1w2Sh5wtJyH8H/fbLbKQwRUj6pzlaOvTOpry13erta8IrjxNeKe5c5kfGSdz+dcRRUm/7bHrhOl+KJ9vsLosN3eAAO+Uzn6R+pJwRz0iJulbG8uj3+1CZN/y7Wr4lXz1Gk0CdhsU2tl7hAKyCedE4SazoRyxE/843/agYWbjzrNIJxffAHnK434dsN/dq9VGU2yGTqV9Lv+fbd9H5NebRs5f6MD5pvv9xuPWNWsxUfWk1xfHHy7OsG0bQBfcqFS80kvxZInLsPE/9uFti//6nA9cQfRez9aZ9f/rcokWAV34o9xQqYafYnMNBCOns6lplhQS8/JXN9col3TFOA4caRZlUlAYUm5oj5JWtTc6KXKJGBT3hkMm5tjmQ7F1k+bHT8Quutf0UO12iPp6IFAq5G1WmBw4wHO5tzYePiMZVikbdXdjBX7MXPlAYedKLf+5/jJZsPh0/jnkLr2ZEcjr/wd1NyY7XQwp4ozgiBg0MfWuS/MHUIBoGUj+bwszm4A43+qGXp/6JT7c978tlP6pnWgsNTlC667TRjm3do+6csFN1Y3dxfLbPvkLAiORyad8cC0HmfPVVglupQy/x/rPjRVRsGqE7P4Qn1CYp4zQL5TrqOBA1LaxMifx1L0nKj+N5VziDlToKD/hdEk4OHPlNXyaTHBrJSnbmzjke2KVRkF3DVrDVbmFsrWanpifi6t1JW4MsD5KqSWo170QPUQSgBofpl9mvVcBSnAnbFN0qTsPdIX6jNlFVbNLeKsnn+LnrBsg3k1F2ZnHQ2vatlQ5n3A4KuaSyaUkyIO0qLDgqyGPStVIjEK5pO//rUKxuTIVUc7O1bOzidz7ZTtYcyRaX4TB2GuTrhoG8gJcJx+YPORM7ihfSyKzlViT742WcJTXnVeBf5NjnUNpuliOgHx72Zq+6mqnSainkxfrUuBkgD+wIlShU/+BslOuZfVD5Kd4kaplGaRuLp1tOIRbSaToKg5WqzKVDMQQhzE7DxWhNjwEESHBSsewaQFtQ9lnH6BnNorkfiotkdImMk9CfWYtMKqWSosJACJYxbjlvf+wv2frJfdnpoRL84ufHJN1IKg7osp3k2LaOnpOtRsw0xJYAMA3220b+aS26Ya5hoHpTVAakcvSW7DJFh1HjQJAr6SGGlkZq6JTH51GTLczFDrSGrzKIev254vT8/foqhWQYqzUT22/VaCVKYb1qJTsqu0vH3Nz8lDloMpKsyUNmkYDNJ9brS4dvobDHh/UGd0S5R+oLLlShAi9f3beawI/d5fjaverE6L4uo5qUZB8QWrofpKaTlxricxuNGRVMI2rToRqiUXJJyvNFo90U69OAu1s86Baj7FJidDMh3VCMh1fHxp0XbcPvNvq2XiC4arVavuDFOWS7Jlu8mv1h+2mwTQEXOWUKUPkGoSPMqpMgpIn1KTZ2nu34ewUGI25NomVRsq9usO6+aWKpMgOcxbCbmRg2a2Q6rV3nz17HNjpsWNbMzC7Yr63ChlksjcfPZchSajc/wMBjSsH4RvRzjOs2bmSlO0VGD2x8XO3OaHTPG0GJ5yorjcpQl4bTsneysGN7Xg1ds7SC6X6njsyU6ZjjhqwxZXQ9rOpCul5EKlVYc1Z2wnsVRTNrkb6lfr87DVprOxeDNKL0omk4CxC7dZ5lZx534jd5+wfUJ/adEOPDV/i+Ibi7l5TWn1uBZV3lUmE/5TMQu61uT6CrnycLD+4GlkfLgWi2U6DstxlrByqU0gpWZiVb2ZTxFvTKtvkqixfVDliDw5apOxu9JEI3U9e3upfB4wTzEK6qb3MDNP3uvt6s63rQ6LCg2SXC51knuixi88xHnXKkdP81NEsxrHNAhxuq0nXXwSlmM0aZPXQkxp4PDHvkJ8k3ME437cAcD+b7b1yFm0VNjE5egzdGhiPy2IIDiZaNWG0uuyFs1SR07rF9hsPHxGdsSaqzNOrz94WjK7qyOOcjdd2SzSLmhVO43JPpXTX2jpZGk5dhwtwr0KmhBru5nCJAh2E7I6GzWplNr+M65cl2qjVkYJuQlhtSJOlqkHBjcak/qih4UE4Pmb2tkt1+Imo8Srt1/hdB1HqRfEHVOVNGmscmO+FilVJgEfi4aGa0Fp7cXibdZP87a1bbfP/FtxLZVcDZTBYMCPI3tKrp/6+u+Ktm3ejjvlUEPpJIdijhIjqjFw1hq70XVmv+92fwi2VmzvkwEqa260mMzVHbdOX+10VnfAcyOX5Kzed1LVnFlqqO3n5EpwIzXliB4C/Pw8GtykXx7rsW0rwdFSGpO6GAiCgEA/+wubbap4T1HyfVWaFKuW4jErn64+qPk2ld5nxU1mBwpL8dnaQ27sU64pRbrWZb/EpHSO2F6Y/f0MkvvUK0fI9GzHCRfVcNbnS29S2cbV/j3rCq2CVqVmrJSvMXOXOP5sH9fAMgeanLqcb8dg8GwNrF5dLMxYc6MxqYDFZJL+Q0tlytXrdFj3r7Je8+IspnWZK51qb3z3D7cuBnI3AT+DQfKJUe2F066mQKaKXa8LsrO+Vb7O2ZxldVVllYCoUH2bILQirv0cf2uS0/XNNcBSKSK8nRZpRxzSOe5jzY3GpLKWCpCu7twmkYxPr1F2rzlJPOhrarsqHXBQc2OQrl1bvkvdqATbc+zuLk0lJ4J0NoUBeZ9B3ZrhQqURi7xgRJqtCqMJrRqFYYMGk4XqTZwLK1xBn5G/9p7E9qNF2OxGnx+9hlY/+5309DJa0btOizU3GpPKfSEIguLOhKXlde8JoC6qrf5OYnJJA/0M1U+MtgHO+w46rNoSBMFuTqbHrm0lua5efTm8KTW7O7q3vKzW9/lMehs0a+h4mLtejCbPdkytTeIHBPH3MTpMelDIs99txbw1h+xGZqpRomK6HgCKBzBc6hjcaEzqpilAeS/89QfVJ1VyRO3QxkuFK7Nzu0u+s6tB9K9rXvtlN6Ys32u1LFjBsP3apMcx94S1/55yvpLGDAaDojQMeqg0mnTpi+cJEl0jAQDLnumF70d0xydDumi+T0fJL6Xc3SVB8zJ4gt7J/rzz21KHSY3CEQRB8Y1L6/OhY9NItxLP+So9mqXkmP887mSknfO3fadrtcNatTLpzo4YIJqN3azSi455XWN7ajxwVTMkJ0TqUhZbaw6c1P1GphW572CgvwFdEhsiNFj7KTS+yVEX3KhNKaCXH7d4dvJPZxjcaEyqX4UgAMGB+swrE6TTdA7ezlyNXv/ifD/JTSN0K8u1bapnBdc64PLXMKh95OoWiteNjQjBS/2S7KrPfaXmRg+2N93XB3TUdWJNsRd+2C7Zf9BdV8Tb537yNKtmKdERNi/3RAyndpLM3kn6DrGuKxjcaEzqCUaAftF2oL+f11wEPenu1Kaq1jd3qv14aBc817cdPh6qfXWzraZR9rN0X9u2kccmVNRybqKXb03C9EGdkaKgtsDfYECjBsEYeX1rq+WsuLEnN3O7Lam/ZPu4BtoWxssMv6Zlre9TLhWReX690Fqa/PTG9jGyr4UE+uNg1i3o2br2+37VJQxuNGZbc9OyUX3c0D4GN+qU0CjQ30/3Xuu1Qe28PcUXM9zGNAjByOtbK8q87K7L6tt3Skxq7LmnU7n+A2o9em31TaZ/chO8PsB5QkjzjcC/jlSf62lQN2X9J6Ti1LgIz5+zenL1/FGSkV2OQaZDsfn/SoJ7dw2bm4NsB4n+DBcHIHzxUJrHy1KXMbjRmLjPTVx4CLIzeyEk0F+3VNSDuiV47SgLLblaS1GbN2CpKQM82R1Kq88mns26sMT5dBByn8mXu35d1VLZLNK2RvRqhQ/uv9Ly+/XtGil+74M9EnFLxziX9lsXuDqJ8OcPy9/0GzgJfOSuI+YmXoPBgCYeDipXOsnwbi6hXn3q6goGNxoT54Zr1jBU9868fTvE1crThiu0TM/tcnBTi38fqWkaPLl3rZqlxBfR1jFhivdrm7iyocwca3VJfZlmiRG9pIfdO3JNm2gE+Pvhlo6NLctaRIdhWM9EyfVt/5yRoUH44P5U1futK1zNcNvG5hx95+5ky/9LLlTZNQ/PfbCr022Kv0u6BxVu7P41mUmcfRGDG42Ja25aeEE+Ar2DK0e0LJqr/Vb0PjxhblShO6NVzY14MwkKagHlOl/269RYYu26Zd5D3SQ7uiq5DYuHcg/t3lzyphrgb6i1gLtNTBjG3Nxe8+2+d2+K5ttUw3b2ddv+K10TrWvZoiSaiwGgnmgQiDigcfWhofll2tSgu/PQUleGkWuBwY3GTLXYa1LvicncpeUl/OYr4pDaPEr1+/TqF/L6gCtwbdtGeLBHosf2oVUndrUXU/NubW8in689LPue3kmxmHRnR9Vlq21dExvCX6ozk4KvfXNRYNipaaTVRJrmofODr2oueU564iFl34lSl2qcVo2+Tva16YM6o3OC4+9hRpcEPNTT+ei7U6UVmHib+poG23xAzs5fue9JYnR9PNarJV64yToAdPWaMaG/8+kclHDnTAipxVG7d3aOr7V9SWFwozHx7NW23yklX2g10loob+df9EQPrwuGtLxehwYF4IfHe6h+n17BzQNXNcfnD3VDaJDnam60uiGqPUQtG1U3CyQ0DMWfz12vKIB7a2An3NutmQulq31SN0MlTSgfixLA2XaAn5qRgj2v3YQEmaZsR332lI64AoDY8GDF68pxNC2BwQD4O+ncHxsejLG3tMdXjzjuELv+4CkM1SL4tymObdOq9fBva2NvvhyPX2cdALr6tWoUpr6vTkOJWiXx+fFyv8tdK4yGbpWpkX33nmTJ5bWFwY2Gjp09jzUH5LOXXtM22q3tR9pMTqfmS9a5WRQ+qYXhzmq42mFQitrRUmbiC9uUWvoyDu3evFb2oxW1QZL4gtzsslC781ZyH6pLpR+pZiMl+U8SRc3UATa1PwaDwfJULTccuVUj5/2dAKBBsHzA/HK/mtqDucOc9zWR4ihTsiA478cmoLrpqGdr966HStnGog/b5GxS+4Cjpibz7YGdLP+XSvDqfF/2y8SLHrmmJf598xbcn+b+g8HtKU0wyIUHjCCZE1bvLhEMbjRkOxrG9m/r6E/t6IJk1tum5kXvk8ddF6qMDrOs/p7ZS/G2Al0c9yy+eNzayT6rridITa6qhpJzRUvudkxW8n4tc/JIeeAq64v2yOvVN8eYDZYITp21Ri949Cqr3x3dUOWCgz5JsRh3axK+H9Fd9r39k5vge5kazM7NIq3mgLq+nXwuFUcC/Q24+Qr5UVrOggWl9/j2cdqkSbA9t2ybZsT3ZiWnoauVva7MvyX1vbBd5udnkOzf+dIt6mp1XripPUIC1V9Hde9gLYPBjQfZPmk5CkYuk5mYTey7jf9Z/X787HnXCgbpnCu1bVVuIb56JE22o12gitoYc1V4PZVtyuILcW01Ubmb5bSXiuHCWnD3sKxwkLPDwsOHPqmxdQbqzN7tXN5Wnw72zbvi5J1SzXBpKibblLtZGAwGPHx1C3Sx6ctUfL5mst3pgzqjnUxyv+YNQzXJsBsc4I9ZD6TKJhHUoq9XRL1APHGd6wGomLPAWW1zkZpAXNxc6cpRkdqXs2Y/s9ttpkBxNjdZExXNm1blkSij0vxNnsTgRkO27e5Duida/a71vfOT1fbzCSn1/E3tFI1qSGjo2gmvVFhwAK5qUXPhF38B1VxEAv3MeSjsX3P0GaxHQdQsl8omrBV3n3SuaRONDwen4u27OjlfWaUoiSYkd2tVTpVJ58YRD9l155BMVnAcxM2W3RIbwt/PIDn/lRJSx0P8zVfScdTR1AJqR0spnVXaJLhWeyBHNieMk5uvkv5JWyf0sepwrdQz6W3tljn7zOH1AtCtRUN0aBKOhCjnI5rucLGjbKemkarfI/XApfT8sB015uiwH5rUD4DjrgIDr2wq2QQldT1z1C+rtjC48ZBuiQ3tImW5E+fLh9OQX3zB6TbDRM0R7j4dBQX44fYU6S/ptlf6oEV0fdzTpanHmwuA6rmIzN7LSHFrW1Kl/dJBUi/x+uKaNU/W4sht+mqFfRAMMKBvhzi7uZvEZj9wpexrsts1ANnPXoetE/rYLXeHXG2a+MnSnfOsr4MmEjNxLeBbF4MhrXIjDeuZaBWoOaqh3fhyOn7PvBZNHdxEPVXN3yUxSvJv0aiBa52MpT5moL/B6bXJk3NsdkqwnyOuXqA/gh3UWhgMBix49Cr836irFR172z47jog/qyvXFKljrHQ7tkGmkqDS0TrRDYJQITE/nGQM6gVp8RncaOhchbHmF4nzT/am1iYaFyqd98MY3afmqUSqF70aji4w4SGBWDn6Orx9V7LkRKBaE194xE9rUhea6DDpC3HkxQRxV0lU/ze/rL5sgCP36TyZa0Tu4mQ7F5McZ0V79+5k9O3gWubahvWD7Ebm2N6s1V6k5W7kp8tqmlPcOdzhIYHI7G39xD6ke3OrviniDrzuxg6256W/wYCWjcIw/9GrkP1sL4f7uCwsGK1jHM8JpcUDRcbFfCbiBJ73dWuG3kmxuKlDHMaK8tv8PKqn5f/P9XXcXNfaKoizf/2G9rFOy29Xo6CQbYCitFZZScBiMBgUB5XOapTEGeHdvXpKHUulD7a2tSxKLuVS39UOTcJhMFSnKZAi9dBeW/0XHWFwo6Gv19dMXb/neLHd6ynNIhES6CdZ9a+EOFGduxdApU9PnszbYx5FI/4ofjL/B4CQQD/UC5I+Zc21ZJNF2UjF5K4H9WWGYnuyk1zjCOmLstJJ+Zx1JB+Y2tTtzuaOJu6z7RzrzCv9pXOVXKiqeRhwd+Tc/25sY/X7q7dfYdXnTRyQmfel1ZltPtRXtbzMsk93jr+L934rb97ZEcufuRYjetVMPhng74cAfz/MHpyKx0T5bcTXktuSmzhMqSDOXST1NwsK8JO9+XaMj0D7uAZWKTFsswlLMQ93fu/ezlbLJVNreEGNwa9PXQOguu+Vu7VUFRKDD6SuTVfE29dYhQT6W+UJkprU2dbgq5rjwR6JVlOCvHtPMnJfu1n2IUVc29OqUX2sHH0dOja1L09tY3CjoSJRx75iiXmEQoMCsHVCHyy5ePK7w88A9GilflbY21OaIC48RFFVPuDa8EWlzPk5xBdJqzTnBoNVU5wgOL8J2tZomW9qlRJB2u+ZvWRrITxZc3OfzHBLpTUi5tW0/stc17amo7Kjm7O49kxJno3YCOnatlAPJxQT3wTEN1xnf1q1ie2kjpW4Gey3p69VtT21Dy5SzZP+fga0iW2g6OYq3pufn0FxMky501XqPB5/axL+78mrsfTpaxEhergbd6t9/6QfR/a0+v2Ra1pi96s34Saba5ZUDYr5Rvvh4FSEBvnjw8HV01OYhzhf08bzw8/rBwfg0KR+eMWFBIS2xPcUR65qeRk+Gmw/FYc4T5DSLNqv3NbBaiSdAQannZG7XQx6B6Y29YrM/ACDG00pqeUIDvB3uT+H+MaeGF0fT9k8rQLORxi9d29n/D3mBqugwRGtmqWkboJSmxY/BQT5+2HJ/64RvaaeuZbs7LkKu9cczZPkbs1NbHgwPhnSBbtfvQnP32Rd1R8YIBNQKQ5u5NeTe2runRQr20fnjs7xeP6mdphyT4poH/L7F5fzOpuRW5I3WpnyiofkmldxJcu0HHE5xRdn876ulck7JTe3kxrioEJu9JIctcFNl0T5Y3aZTDOuFQe1pY7fZ72yeXi9VLAn16lXKj+V1Fx45lprZ9ct8276dojD9lf6Wppnx97SHp8O7YJZD9TuXFz1g60DeLUjwNqqOHf6dIiTDBbN1DynSs2IDkhfMwUBmHpvCibd2RHDeijvj+RpDG40pKRTMOB6FXxKs0j88Hh33NqpMd69J1kyu62S6nBHN9F2sdZfJjXBjVzHxGE9EyXnNJGqJq00ioKbAD80Ew0TV1KtamvOxfl71N4w3GkaaBAcgPUvpiM9KRb1gvxRWWVdbrmyKG1Ld/RRlj4tXSuYkhCJZc9ciyviw5F+eQz+b9TVlteaRIbgietaW82x4+gc8bOqBbFe75f/XW27uuy2GjUIxpM3tMboPm0tgc4XD3dzmMfFVhcHwZB4t/VFN0Xz8b89OR6fDLFPbGkwuD8vnDsVnmoffhztq2tiFJ66sQ2mD+osu45czakztmvenyafnFKuj6Da76XVTdfJuuLjGBzgjxsvj1X8UKeVWzo2Ru+kWMvDnbM+Tbbqqcw744kpV8RbvLJZpN26Aqpr4e/t1szlOf48QffgZubMmUhMTERISAjS0tKQk5PjcP2zZ89i5MiRaNy4MYKDg9G2bVssWbKklkrr2M5j9v1spKg9/9aNvRE/j+qJtrENkNq8IWbcdyUaR9SDVN468bbl8lA4cp9NpktnwY046VP65dL9NLb9V6T4S1dlE9yIBQf4O0weZvZ/o67GfWnNsOHldMvwS7U3DGfTIrSNddBXwGZX5yodJ3c0U1pGc0AhdVMLC5bvzxXg74f/G3U1Phna1arTsJJEYVbbcTCJoFRnUUcB97N92mHUDTU1kKFBAXZ5XAD5IGbSQPlh4KFBAfjfDa3x+HWtENugZkSeuTh+fgakJ9nnrPE3GPDJ0C7okxSLn0f1dKmzs6szWpvLpRWDwYBnerdF/2T5Dp5qAga5J3qp38Xkhk+rDm6cvO7JkVhiNzjokyYW6O+Hj4d0wSPXVPd9UtsXS23FuVanjp/M31lisFStHXO1dA1uFixYgMzMTEyYMAGbNm1CcnIy+vbtixMnpJN+VVRUoHfv3jh06BC+//575Obm4uOPP0Z8vL4TdKml9gSPiwiRzJEgmeDJat4R5/k2bCeFs60+jouwT3AlTtF9Wf2a2pqX+iXhpVsutxqJAQC7jhVL3rjN5Rd/jErRt8d8E/1ocCriI+th3rCueKZ3W0y5J9kqdbzt3CYdm0bgzTs6WvUNUXoRfbZ3W/RsfRluc3AzAKovWrbNTWa2e+pvM3JAvuZG2dfR0SeRHaVz8cnZfO6Ja8SkzkfxDda2xsy6X5T1+9T0VVJzIZbLuuuoaREAMvu0wws3tbd6EHB2LvgZDGjVKAwfDeniUm4SwM2am1rOPO7ogcIRu0y5MuWe/UCq7DVP7c1YfF66k67hlo7VD0muNoPOuE++JswVcvODqa2tVnJvse2reXlj+5xL1tuRvxZ4s9qto7MxZcoUDB8+HMOGDQMAzJ49G4sXL8acOXMwZswYu/XnzJmD06dPY82aNQgMrH7yTExMrM0ia0KrS5ezJ24l18jHr2uFjK4JuPK15QDsnxRmPZCKV37eiSdvaIPosCBsOXIW8ZH18E1Ont22woIDMPzalli87bjVcrlaG/PFSfyqOLgxf8H6dIhDH9HQ5juvbAqgelRCTINgRcPilV4Hn7yxDZ5EG3xvkw3altEkoHlD6aYL2wvMFfERiI+sh6MXM0rLFUUutrmnS1N8u6GmPOa/sdSFxvapf/qgzlhz4CQGpjaV2av0sVHa58bZ/s3axIRh34lSq2VRtZgl23q0lGO236vn+rbD20tzZYfCSnEnWZ4Wo6XUqDLVfOfUBDe2x1HqehMWHGDXEdjZe5Tu8/aUJhi7cLvV60qP+lsDO+HaNo1cTpmg9YS3Xz2ShtjwEFw+fqnV8jPnlHUoNlPyEDfnwa5oP65mP7a19UD19yX98lgUna+w6kfXTCabvDfSLbipqKjAxo0bMXbsWMsyPz8/pKenY+3atZLv+fnnn9G9e3eMHDkSP/30Exo1aoT77rsPL7zwAvz9pdv6ysvLUV5ekyG1uFhZ05EnqamKte0DIya1GTVVzGbi4MD2htmqURi+EOWIadkoDFuPnFW45ZoySX1mqTT1VSrqYaWeOOTY3pCdDUEtueD4onK+0qg46R5gnaNDbc3NrZ2aIDY8BNNX7Afg+IZgu+3+yU0cNknIlUe8zLZp0t+qVsfhpi1s513rczHfipyuiVH459AZZRu30aut/fQUVsGNk++fwebP8HivVuiTJJ80USrIdOf5VssJZZWIj6yH9MtjERbsb7lp/555LdKn/OnwfbbnjVS5zTUk8tR9VvE+pQIMpTULDUICPTILvauzdEc3CJbsryL+7t2X1gxXNHE8xFpJ7h+7ubVkvg9SEy0/dm0rFJ2vRN8Ocbj3o3UXl3pnbY5uzVInT56E0WhEbKx1m3dsbCzy8/Ml3/Pvv//i+++/h9FoxJIlSzBu3Di8++67eP3112X3k5WVhYiICMtPQoLn5rxwFIhYcfB97m3TB+C9QSmqNtNCPJ+VC9dIJU+cnZpGoF/Hxnjs2pZIlsgIastgMEjWBNx5ZfzF12uWVUk16mrA9kLs7tfxfIXR7iZoJjUL9r8nyyz/V9LnxvZGqjQJnSs19VJvEZfRdm4ocTlNgoAYBRlubTvbfzSki8NkaO7UfkuNGPR3UKMpTmJnu271+ga0jgmTrZUafm1Lu2Vu1d6r/Bua9+/qdBKGi32MponyyDhLNFj9RutfxYfnh8d7YFC3ZnjR6eSNaptdtNya9tIvt+/DpYT52NlOJSIObt68o6NkLYvY1a2jMfbm9pgnarbv0KT6IbBna+nUIWr6h9UL8seE/h2skqV6a0uVrs1SaplMJsTExOCjjz6Cv78/UlNTcfToUUyePBkTJkyQfM/YsWORmZlp+b24uNhjAU6b2DDkFpQ4XU/qGvnp0C74en0e3ryjIxIvC8Ufewux6ImeVqM8bDUIqbmJfj08DWv2n0Lzy0ItNSuuJPpTkj3UYDBg5sUkT2fKKpAQFYq7RM0etrv1k6i5WTn6OsknaPFoKU2pPBTOOkCfrzDKHt8PJfJNWBVF5n3ioCHUZgip9VsuNktJbMOVzqhS7xE/hdvWpolv/gKALx9Jw5tLdkvO6+MqV5p1era+DH/vP2U3pxtgfcxtN23br0bt9yamgbqJF51R+xdsG9sAu17tq3rSWHfZllN83FKbR2k6rF9+r9b0vtG62l3KfOx62NQGq03FYTAYrBI0AsDcYV2xaNNRyRGrWtD7mMvRLbiJjo6Gv78/CgoKrJYXFBQgLk66KrNx48YIDAy0aoK6/PLLkZ+fj4qKCgQF2bfhBwcHIzjYtblT1FL6N5a6ud14eSxuvBj1v9QvCS/1c76duIgQTOifhNAgf/RoFY0eraLx05ajNftRWB6xJBVNPUB1v4mxTp7O/AwGqy/9/EevshpqGxVa83e76Yo4vPrLLsvThqc4q7521nRxvtJod3zXv3gjGoQEuNweL+7vcK7caPXaqtya2pPyKuvXxFwJaJ01b9o24dk2S7WNbYB5w7op3p+S+MuV6+W8Yd2QX3QBCQ3t+wWId+n8b+/CzjXkSnZjrfuAiN3ZOR4LNx+1W67FNBFqb4x6/22ccWWyT0A0gs/m82mRZyymQYhdwCPmbhDqzshAT9KtWSooKAipqanIzs62LDOZTMjOzkb37tJ5Lnr27In9+/fDJOoAt3fvXjRu3FgysKltStt7tfx+DuvZAhldpasq1VwkfxrZE1MzkpEmMTeTWlIdDcVlsX19QOd4DLyyKd69OxlNIuth6/g++MkmS6nW3L0wV5nsv9Kx4SFu3WTEOTgSRcGfAGBT3lnL7+ZmIqnOn640S0kdC/FIM9sZfsXBjSsjVpS8R+qafvfF2kG5twf6+0kGNtXvETelOd63FjftrhcT6zWRGG3ojLfdv8NCas5L8agePQINcxZtuaZQJc3knnJv1wTZUU/OmM8523OvjaOUExq4vl0jtI9z70HSk5MMu0PXoeCZmZn4+OOP8dlnn2H37t14/PHHUVZWZhk9NWTIEKsOx48//jhOnz6Np556Cnv37sXixYvx5ptvYuTIkXp9BCtKn0I8OdO2VRChYjfJCZG4o7P8iBp3BAc4ri4P9PfDu/ckW0b0RIQGuvwEJEfJyA53t6mFucO6YszN7a2Ga8oNxU5pGmnXKdeVc0vq2mTONgvYP9n5+xkwtHtzDEhpgkQXRk8oCrpFn/nxi1ldJ9+djEOT+skGMI6IZ0h2tnslF2vzOvNl5tmaed+VeOK6VljwmPKEhN5KEIB5w7rigauaWc2IrSbPjVYm3NYB429Nspui4faUJvjzuetl523ztNuSmzjMueSMVFoMAHjn7mTc2zUBvzxpnxxTCx0l5qRSy9157DxF1z43GRkZKCwsxPjx45Gfn4+UlBQsXbrU0sk4Ly8PfqKOlAkJCfjtt9/wzDPPoFOnToiPj8dTTz2FF154Qa+PYEVpcOPJc0E8zYC3nHJy+WBqk21/BC1GpIj7Q7VspM18Kte3i8H17WLw6eqDlmW2s/tanvL8DJg9OBWJYxbbvaaG1HsahAQi+9le2HmsGH0kEt1NvP0K1fsxU1JC8VfJtonyiiYROHzqnKp9hgUH4J4uTVFeZUJsuOPaFCXBzcaX01FYUo42MoMIYsJD8LxNDimlvOVecWP7GGTvOYEHrmqOdnENcF0768R1WnyHxLVovz51jdO/TVhwAB4SBVhmkfUCdR2mrKby4vaUJvhpyzEkNQ7HrosTLJvfL/4uto9rgNjwELeCJmdCNMgoXNt5mZTSvUPxqFGjMGrUKMnXVq1aZbese/fuWLdunf3KXsCd3BZaOXa2ZlSK1IyyeohzcsGqDV0TG1ouKoB7N5DosCBMurP6grNzYl/8vPUYbpTJzuyqXm0b4TXz/myq4B1VarlSQ5zWQropslWjMKuZtbWi5Ng7+i69PuAKxIQHW3ViV+Ltu6RnjHdFZGgQIkM90xTuLfeKT4Z2QUl5FcJDpLNea1FO8d+5fVwDr60FcEbNQ8WUe1LwTHpbrMw9gYn/twtATe2HeDvBHuwg/lDPFli+O9/hlBlKeWmrlP7BjS/RP7SxHuUjNRO2HmxHQDl7OvMEPz8D3ru3syW4cdWnQ7vghvYxlotR/eAAq4zNWmkdE4ZR17eGURDQ1qZ2wNGFVE379z8vpePY2fPo2FS/fgpyHD0nRNUPwoT+7s+4LOZnUJ/q3lNqO8+NHIPBIBvYmF+3+t2FcosnG66rgQ2gbpSiv58BidH1YciV2I5oM0FOJkF2x/j+SRh36+WaHHNv/bsxuNGQuG+Eo793bXXAUjJLeW0wNyt89UgaTpaWW3WW1csVTtqa5Y5cvSD/Wvsyj5aZZM/RhVRN2Ro1CJad7FRv96U1w0uLdgCwb5bzhOSESGwWddom58SnYUS9QKuOx0p5ySXKbXvy1SeHlfquipc9fLV9/iQtaXUd82QfUncwuNGQ+GnTUTtkoL8f6gX643ylEfd00bYTr7iaV4thhO7a8HK6Jc1+TxUZfT1lyf+uwY9bjmLkda1der83tC97azWwUkqe8O/r1gxLd+TjQqVR8SSF7vCWBwHAe5qlnBEX85+X0l16aLPN5+Qqub5PtWXHUW0y37s78bEe9Byh5giDGw2JA4thPRMdrrvtlT7YcuQskl2cmE++DDX/94aLpHhIsTdIahKOJA/n0JFy55XxWLjJPleIK2wDrEevbYmP/vxXk23XBiXnpcFgsJr2w9OeTm+LYfP+Ud2P51ImTnugZk4qsc4JkXiwR6JV3is1fhrZE2sOnMK9XT2XeV4JVwJwqe+B2rkB9bT8mWux5chZp5MM64XBjYbMccWdV8Y7HSkR6O+HrokNPVCGmuhGryYHT3W01IvBUFMr5+rzvZZBnm11stYBsieEhwSg2GZ+KW9yffsYbHg53TJ7ujcJCdQ1Y4esF/tdjtyCEsk54pQyGAx45TbX+08lJ0QiOSHS5fdrJcWFMkjFLlbBjZf0vZLTJraB7jVmjnjnt6aOMtea9GwVrWgaA08QN43ZppWvLVe1bIjHrm1pN09KXfXD4z0s/3d1QFxZuXY3dttq4MaR+o9Gc+Z+FTNq6yU6LNgrOkeKyzCiVyss/t81OpZGXnxkPfye2QsP1IG/radp+f0284JTsU5jcKMhc4diPU9KpVmSPclgMGDsLZd7bC6T2nZlM/fSkwOwTDTnamdy8ySjANA7yTpx35XNovDGHVfg6+G114yjlvi0ZNOPcmNubu+R4fikrV+2Hdd8m67ME0c12CylIfMFXM/e414Q2/iELjLzrbg6j0q/jo1RL9AfHeJd6+9zW3ITS58dqU7NWuSr8CRx0O18puhLG29pdY8rl3ypPuz1gvxxe0oTnK8wujR1B9VgcKMh841Pz5obLxr0Uadd3jgcP47saZeA0NWZl/38DEiXyPSrlPjPWherqyuMNQklQ2p59uq6pi7+fS91rjzQyiWqfO/ezu4Wh8DgRlPm+Tz1bLf3hizJvkLcSfC5vu1w5PQ5lzoOakKcZqAOVldfqPSObNl1gbd3JCV7rnwlean2LAY3GrLU3OhYhvvSmmHemkPo2dr92b2pxsjrXcuLoxVxc5g35NpRq9LI4IZ8lyv9Y6Lqy2d/JvcxuNGQN/S5aRvbAFvG93aYNp3qtrrY0fDJG1pjVW6h0/xPxGapusiVa37/Tk3w9/5TSGuhfUoQYnCjKXNwo/fFydfyzFDdr8Jufll9/PPSjV4x1NrbmfNfNXBhOgPShytndYC/H965W7vJXMkavz0a8oZmKfJNdT24Abx3gj1v06hBMDa+nI76wbw81xV1sR+cr+O3R0MmS80NT3TSlg/ENqTCZV42bQk5xmu+92ESPw15QxI/8k0cBUfkXTrG12QKZ8WN92FwoyGTF3QoJt/E2IbIu4izhvOa730Y3GjIfP/haU5aiw5jJ3Eib8WaG+/D4EZD5mYpPx5V0lhq8yhk9m6L6YOYvZTIG9yeUlNzc09X35hHz5ewQ7GGLEPBWXdDGjMYDPjfjW30LgYRXdSwfk1tarvYBjqWhKSwjkFDJnYoJiK65LSIrq93EcgGa240JHAoOBHRJWP9izfiXIWRQ/e9EIMbDVlqbnQuBxEReV5seIjeRSAZbJbyAA4LJCIi0g+DGw15y9xSRERElzIGNxpih2IiIiL9MbjRUE0SP0Y3REREemFwoyFzzQ2zVRIREelHdXCTl5dnycQrJggC8vLyNClUncWh4ERERLpTHdy0aNEChYWFdstPnz6NFi1aaFKouoo1N0RERPpTHdwIgiBZM1FaWoqQkEt7zL+lzw2DGyIiIt0oTuKXmZkJoLrJZdy4cQgNDbW8ZjQasX79eqSkpGhewLrEJHBecCIiIr0prrnZvHkzNm/eDEEQsH37dsvvmzdvxp49e5CcnIx58+a5VIiZM2ciMTERISEhSEtLQ05Ojuy68+bNg8FgsPrxlhojc2zDZikiIiL9KK65WblyJQBg2LBheO+99xAeHq5JARYsWIDMzEzMnj0baWlpmDZtGvr27Yvc3FzExMRIvic8PBy5ubmW372lAy/nliIiItKf6j43c+fO1SywAYApU6Zg+PDhGDZsGJKSkjB79myEhoZizpw5su8xGAyIi4uz/MTGxsquW15ejuLiYqsfTxHYoZiIiEh3qoObsrIyjBs3Dj169EDr1q3RsmVLqx81KioqsHHjRqSnp9cUyM8P6enpWLt2rez7SktL0bx5cyQkJOD222/Hzp07ZdfNyspCRESE5SchIUFVGdUwmWtu2OeGiIhIN6pnBX/kkUfwxx9/YPDgwWjcuLFbTTAnT56E0Wi0q3mJjY3Fnj17JN/Trl07zJkzB506dUJRURHeeecd9OjRAzt37kTTpk3t1h87dqylMzQAFBcXeyzAEcDpF4iIiPSmOrj59ddfsXjxYvTs2dMT5XGqe/fu6N69u+X3Hj164PLLL8eHH36I1157zW794OBgBAcH10rZOHEmERGR/lQ3S0VFRaFhw4aa7Dw6Ohr+/v4oKCiwWl5QUIC4uDhF2wgMDETnzp2xf/9+TcrkDpNltBSjGyIiIr2oDm5ee+01jB8/HufOnXN750FBQUhNTUV2drZlmclkQnZ2tlXtjCNGoxHbt29H48aN3S6P+9gsRUREpDfVzVLvvvsuDhw4gNjYWCQmJiIwMNDq9U2bNqnaXmZmJoYOHYouXbqgW7dumDZtGsrKyjBs2DAAwJAhQxAfH4+srCwAwKuvvoqrrroKrVu3xtmzZzF58mQcPnwYjzzyiNqPojl2KCYiItKf6uBmwIABmhYgIyMDhYWFGD9+PPLz85GSkoKlS5daOhnn5eXBz6+mgunMmTMYPnw48vPzERUVhdTUVKxZswZJSUmalssVHApORESkP4MgNcW3DysuLkZERASKioo0zdcDAMkTl6HofCV+z7wWrWMaaLptIiKiS5ma+7fqPjcAcPbsWXzyyScYO3YsTp8+DaC6Oero0aOubM5nmONEZigmIiLSj+pmqW3btiE9PR0RERE4dOgQhg8fjoYNG2LhwoXIy8vD559/7oly1gmWoeD6FoOIiOiSprrmJjMzEw8++CD27dtnNWHlLbfcgj///FPTwtU15vY9DgUnIiLSj+rg5p9//sFjjz1mtzw+Ph75+fmaFKquMgkcCk5ERKQ31cFNcHCw5OSTe/fuRaNGjTQpVF0lMIkfERGR7lQHN7fddhteffVVVFZWAqjuPJuXl4cXXngBAwcO1LyAdYnp0hp4RkRE5JVUBzfvvvsuSktLERMTg/Pnz6NXr15o3bo1GjRogDfeeMMTZawzLH1umOiGiIhIN6pHS0VERGD58uVYvXo1tm3bhtLSUlx55ZVIT0/3RPnqlIoqEwCOliIiItKT6uDG7Oqrr8bVV1+tZVnqtHMVVZb/1wv017EkRERElzZFwc3777+PRx99FCEhIXj//fcdrvu///1Pk4LVNVWmmv429YNdjhmJiIjITYruwlOnTsX999+PkJAQTJ06VXY9g8FwyQY3RERE5B0UBTcHDx6U/D8RERGRt3FpbikiIiIib6U6uBk4cCDeeustu+Vvv/027r77bk0KVRcxxQ0REZF3UB3c/Pnnn7jlllvslt98882X/NxSZkxQTEREpB/VwU1paSmCgoLslgcGBkpOy0BERERUm1QHNx07dsSCBQvsls+fPx9JSUmaFIqIiIjIVaoTsowbNw533nknDhw4gBtuuAEAkJ2djW+++Qbfffed5gWsM9jnhoiIyCuoDm769++PH3/8EW+++Sa+//571KtXD506dcLvv/+OXr16eaKMdQ673BAREenHpVS6/fr1Q79+/bQuCxEREZHbmOeGiIiIfIqimpuGDRti7969iI6ORlRUFAwOxjqfPn1as8IRERERqaV4bqkGDRoAAKZNm+bJ8tRZAnsUExEReQVFwc3WrVtx1113ITg4GC1atECPHj0QEMCZr+U4qtkiIiIiz1LU52b69OkoLS0FAFx//fVseiIiIiKvpaj6JTExEe+//z769OkDQRCwdu1aREVFSa577bXXalpAIiIiIjUUBTeTJ0/GiBEjkJWVBYPBgDvuuENyPYPBAKPRqGkBiYiIiNRQFNwMGDAAAwYMQGlpKcLDw5Gbm4uYmBhPl61O4azgRERE3kFRn5vMzEyUlZUhLCwMK1euRIsWLRARESH5Q8xQTEREpCfVHYpvuOEGdigmIiIir8UOxURERORTFNXcTJ48GZ9++imuv/56S4fi6667zu7n+uuvd6kQM2fORGJiIkJCQpCWloacnBxF75s/fz4MBgMGDBjg0n61xC43RERE3kFRcDNgwADk5+ejuLgYgiAgNzcXZ86csftxpblq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", + "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", + "
Wealth
StepAgentID
001
11
21
31
41
.........
999956
961
971
986
990
\n", + "

100000 rows × 1 columns

\n", + "
" + ], "text/plain": [ - "
" + " Wealth\n", + "Step AgentID \n", + "0 0 1\n", + " 1 1\n", + " 2 1\n", + " 3 1\n", + " 4 1\n", + "... ...\n", + "999 95 6\n", + " 96 1\n", + " 97 1\n", + " 98 6\n", + " 99 0\n", + "\n", + "[100000 rows x 1 columns]" ] }, + "execution_count": 10, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ + "model_df, agent_df = cacheable_model.combine_dataframes()\n", "model_df\n", - "g = sns.lineplot(data=model_df)\n", - "g.set(title=\"Gini Coefficient over Time\", ylabel=\"Gini Coefficient\");" + "agent_df" ] }, { "cell_type": "code", - "execution_count": 14, - "id": "21cfeacd-dcfa-485f-848e-88cb619addfc", + "execution_count": 11, + "id": "33fdefa6-da87-40bd-8218-3ef74bbfa49f", "metadata": { "scrolled": true }, @@ -18449,161 +2751,70 @@ " \n", " \n", " 1\n", - " 0.3272\n", + " 0.2602\n", " \n", " \n", " 2\n", - " 0.4626\n", + " 0.4262\n", " \n", " \n", " 3\n", - " 0.4626\n", + " 0.4538\n", " \n", " \n", " 4\n", - " 0.5080\n", + " 0.4824\n", " \n", " \n", " ...\n", " ...\n", " \n", " \n", - " 5550\n", - " 0.6930\n", + " 995\n", + " 0.6944\n", " \n", " \n", - " 5551\n", - " 0.6732\n", + " 996\n", + " 0.6878\n", " \n", " \n", - " 5552\n", - " 0.6606\n", + " 997\n", + " 0.6712\n", " \n", " \n", - " 5553\n", - " 0.6368\n", + " 998\n", + " 0.6660\n", " \n", " \n", - " 5554\n", - " 0.6510\n", + " 999\n", + " 0.6166\n", " \n", " \n", "\n", - "

5555 rows × 1 columns

\n", + "

1000 rows × 1 columns

\n", "" ], "text/plain": [ - " Gini\n", - "0 0.0000\n", - "1 0.3272\n", - "2 0.4626\n", - "3 0.4626\n", - "4 0.5080\n", - "... ...\n", - "5550 0.6930\n", - "5551 0.6732\n", - "5552 0.6606\n", - "5553 0.6368\n", - "5554 0.6510\n", + " Gini\n", + "0 0.0000\n", + "1 0.2602\n", + "2 0.4262\n", + "3 0.4538\n", + "4 0.4824\n", + ".. ...\n", + "995 0.6944\n", + "996 0.6878\n", + "997 0.6712\n", + "998 0.6660\n", + "999 0.6166\n", "\n", - "[5555 rows x 1 columns]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "model_df" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "8c967f5e-4b91-44b8-b3f5-ab6874d0e28f", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['test_path/model_data_001.parquet',\n", - " 'test_path/model_data_002.parquet',\n", - " 'test_path/model_data_003.parquet',\n", - " 'test_path/model_data_004.parquet',\n", - " 'test_path/model_data_005.parquet',\n", - " 'test_path/model_data_006.parquet',\n", - " 'test_path/model_data_007.parquet',\n", - " 'test_path/model_data_008.parquet',\n", - " 'test_path/model_data_009.parquet',\n", - " 'test_path/model_data_010.parquet',\n", - " 'test_path/model_data_011.parquet',\n", - " 'test_path/model_data_012.parquet',\n", - " 'test_path/model_data_013.parquet',\n", - " 'test_path/model_data_014.parquet',\n", - " 'test_path/model_data_015.parquet',\n", - " 'test_path/model_data_016.parquet',\n", - " 'test_path/model_data_017.parquet',\n", - " 'test_path/model_data_018.parquet',\n", - " 'test_path/model_data_019.parquet',\n", - " 'test_path/model_data_020.parquet',\n", - " 'test_path/model_data_021.parquet',\n", - " 'test_path/model_data_022.parquet',\n", - " 'test_path/model_data_023.parquet',\n", - " 'test_path/model_data_024.parquet',\n", - " 'test_path/model_data_025.parquet',\n", - " 'test_path/model_data_026.parquet',\n", - " 'test_path/model_data_027.parquet',\n", - " 'test_path/model_data_028.parquet',\n", - " 'test_path/model_data_029.parquet',\n", - " 'test_path/model_data_030.parquet',\n", - " 'test_path/model_data_031.parquet',\n", - " 'test_path/model_data_032.parquet',\n", - " 'test_path/model_data_033.parquet',\n", - " 'test_path/model_data_034.parquet',\n", - " 'test_path/model_data_035.parquet',\n", - " 'test_path/model_data_036.parquet',\n", - " 'test_path/model_data_037.parquet',\n", - " 'test_path/model_data_038.parquet',\n", - " 'test_path/model_data_039.parquet',\n", - " 'test_path/model_data_040.parquet',\n", - " 'test_path/model_data_041.parquet',\n", - " 'test_path/model_data_042.parquet',\n", - " 'test_path/model_data_043.parquet',\n", - " 'test_path/model_data_044.parquet',\n", - " 'test_path/model_data_045.parquet',\n", - " 'test_path/model_data_046.parquet',\n", - " 'test_path/model_data_047.parquet',\n", - " 'test_path/model_data_048.parquet',\n", - " 'test_path/model_data_049.parquet',\n", - " 'test_path/model_data_050.parquet',\n", - " 'test_path/model_data_051.parquet',\n", - " 'test_path/model_data_052.parquet',\n", - " 'test_path/model_data_053.parquet',\n", - " 'test_path/model_data_054.parquet',\n", - " 'test_path/model_data_055.parquet',\n", - " 'test_path/model_data_056.parquet']" + "[1000 rows x 1 columns]" ] }, - "execution_count": 15, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" - } - ], - "source": [ - "model_files" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "ea25fe67-a4fb-432c-8592-2a6b73dc28f0", - "metadata": { - "scrolled": true - }, - "outputs": [ + }, { "data": { "text/html": [ @@ -18625,114 +2836,139 @@ " \n", " \n", " \n", - " Gini\n", + " \n", + " Wealth\n", + " \n", + " \n", + " Step\n", + " AgentID\n", + " \n", " \n", " \n", " \n", " \n", + " 0\n", " 0\n", - " 0.0000\n", + " 1\n", " \n", " \n", " 1\n", - " 0.3272\n", + " 1\n", " \n", " \n", " 2\n", - " 0.4626\n", + " 1\n", " \n", " \n", " 3\n", - " 0.4626\n", + " 1\n", " \n", " \n", " 4\n", - " 0.5080\n", + " 1\n", " \n", " \n", " ...\n", + " ...\n", " ...\n", " \n", " \n", - " 5550\n", - " 0.6930\n", + " 999\n", + " 25\n", + " 1\n", " \n", " \n", - " 5551\n", - " 0.6732\n", + " 70\n", + " 0\n", " \n", " \n", - " 5552\n", - " 0.6606\n", + " 30\n", + " 1\n", " \n", " \n", - " 5553\n", - " 0.6368\n", + " 63\n", + " 0\n", " \n", " \n", - " 5554\n", - " 0.6510\n", + " 56\n", + " 1\n", " \n", " \n", "\n", - "

5555 rows × 1 columns

\n", + "

100000 rows × 1 columns

\n", "" ], "text/plain": [ - " Gini\n", - "0 0.0000\n", - "1 0.3272\n", - "2 0.4626\n", - "3 0.4626\n", - "4 0.5080\n", - "... ...\n", - "5550 0.6930\n", - "5551 0.6732\n", - "5552 0.6606\n", - "5553 0.6368\n", - "5554 0.6510\n", + " Wealth\n", + "Step AgentID \n", + "0 0 1\n", + " 1 1\n", + " 2 1\n", + " 3 1\n", + " 4 1\n", + "... ...\n", + "999 25 1\n", + " 70 0\n", + " 30 1\n", + " 63 0\n", + " 56 1\n", "\n", - "[5555 rows x 1 columns]" + "[100000 rows x 1 columns]" ] }, - "execution_count": 16, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "model_df" + "import pyarrow.parquet as pq\n", + "import pandas as pd\n", + "import glob\n", + "\n", + "# Get a list of all Parquet files\n", + "model_files = glob.glob(f'{directory}/model_data_*.parquet')\n", + "agent_files = glob.glob(f'{directory}/agent_data_*.parquet')\n", + "special_files = glob.glob(f'{directory}/special_results.parquet')\n", + "\n", + "# Initialize lists to hold dataframes\n", + "model_dfs = []\n", + "agent_dfs = []\n", + "special_dfs = []\n", + "\n", + "# Read and append each file to the list\n", + "for model_file in model_files:\n", + " table = pq.read_table(model_file)\n", + " df = table.to_pandas()\n", + " model_dfs.append(df)\n", + "\n", + "for agent_file in agent_files:\n", + " table = pq.read_table(agent_file)\n", + " df = table.to_pandas()\n", + " agent_dfs.append(df)\n", + "\n", + "for special_file in special_files:\n", + " table = pq.read_table(special_file)\n", + " df = table.to_pandas()\n", + " special_dfs.append(df)\n", + "\n", + "# Concatenate all DataFrames\n", + "model_df = pd.concat(model_dfs, ignore_index=True)\n", + "agent_df = pd.concat(agent_dfs)\n", + "special_df = pd.concat(special_dfs).set_index(\"Step\")\n", + "\n", + "# Display the combined DataFrames\n", + "model_df\n", + "agent_df" ] }, { "cell_type": "code", - "execution_count": 17, - "id": "50f26db2-06e0-49a1-996e-53e71a62ecbd", + "execution_count": 12, + "id": "3b983ae2-2903-4d6e-ba9a-6fe8a44e9239", "metadata": { "scrolled": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "Gini 5555\n", - "dtype: int64" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(gini == model_df).sum()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "1ac6d4b7-b74f-41e8-82eb-368d77355d91", - "metadata": {}, "outputs": [ { "data": { @@ -18756,942 +2992,2237 @@ " \n", " \n", " Gini\n", + " \n", + " \n", " Step\n", + " \n", " \n", " \n", " \n", " \n", - " 0\n", - " 0.7046\n", - " 42\n", + " 95\n", + " 0.7018\n", " \n", " \n", - " 1\n", - " 0.7010\n", - " 43\n", + " 105\n", + " 0.7040\n", " \n", " \n", - " 2\n", - " 0.7056\n", - " 44\n", + " 106\n", + " 0.7268\n", " \n", " \n", - " 3\n", - " 0.7204\n", - " 45\n", + " 107\n", + " 0.7086\n", " \n", " \n", - " 4\n", - " 0.7092\n", - " 46\n", + " 108\n", + " 0.7004\n", " \n", " \n", " ...\n", " ...\n", - " ...\n", " \n", " \n", - " 463\n", - " 0.7016\n", - " 5359\n", + " 948\n", + " 0.7176\n", " \n", " \n", - " 464\n", - " 0.7080\n", - " 5365\n", + " 949\n", + " 0.7094\n", " \n", " \n", - " 465\n", - " 0.7112\n", - " 5366\n", + " 950\n", + " 0.7156\n", " \n", " \n", - " 466\n", - " 0.7032\n", - " 5457\n", + " 951\n", + " 0.7128\n", " \n", " \n", - " 467\n", - " 0.7094\n", - " 5458\n", + " 993\n", + " 0.7028\n", " \n", " \n", "\n", - "

468 rows × 2 columns

\n", + "

91 rows × 1 columns

\n", "" ], "text/plain": [ - " Gini Step\n", - "0 0.7046 42\n", - "1 0.7010 43\n", - "2 0.7056 44\n", - "3 0.7204 45\n", - "4 0.7092 46\n", - ".. ... ...\n", - "463 0.7016 5359\n", - "464 0.7080 5365\n", - "465 0.7112 5366\n", - "466 0.7032 5457\n", - "467 0.7094 5458\n", + " Gini\n", + "Step \n", + "95 0.7018\n", + "105 0.7040\n", + "106 0.7268\n", + "107 0.7086\n", + "108 0.7004\n", + "... ...\n", + "948 0.7176\n", + "949 0.7094\n", + "950 0.7156\n", + "951 0.7128\n", + "993 0.7028\n", "\n", - "[468 rows x 2 columns]" + "[91 rows x 1 columns]" ] }, - "execution_count": 18, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "table = pq.read_table(\"test_path/special_results.parquet\")\n", - "df = table.to_pandas()\n", - "df" + "special_df" ] }, { "cell_type": "code", - "execution_count": 19, - "id": "e6bc2d5c-d1a5-4316-9aeb-1fdf75b0b8f1", + "execution_count": null, + "id": "67de6c92-efc5-44fd-b8b0-af9b0aa30635", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[ Gini\n", - " 0 0.0000\n", - " 1 0.3272\n", - " 2 0.4626\n", - " 3 0.4626\n", - " 4 0.5080\n", - " .. ...\n", - " 95 0.6754\n", - " 96 0.6764\n", - " 97 0.6834\n", - " 98 0.6582\n", - " 99 0.6464\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 100 0.6650\n", - " 101 0.6506\n", - " 102 0.6734\n", - " 103 0.6656\n", - " 104 0.6450\n", - " .. ...\n", - " 195 0.6086\n", - " 196 0.6014\n", - " 197 0.6130\n", - " 198 0.6184\n", - " 199 0.6284\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 200 0.6256\n", - " 201 0.6086\n", - " 202 0.6250\n", - " 203 0.6060\n", - " 204 0.6240\n", - " .. ...\n", - " 295 0.6338\n", - " 296 0.6420\n", - " 297 0.6716\n", - " 298 0.6904\n", - " 299 0.6808\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 300 0.6764\n", - " 301 0.6888\n", - " 302 0.6702\n", - " 303 0.6726\n", - " 304 0.6638\n", - " .. ...\n", - " 395 0.6800\n", - " 396 0.6448\n", - " 397 0.6418\n", - " 398 0.6556\n", - " 399 0.6790\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 400 0.6890\n", - " 401 0.6862\n", - " 402 0.6704\n", - " 403 0.6486\n", - " 404 0.6194\n", - " .. ...\n", - " 495 0.7084\n", - " 496 0.6936\n", - " 497 0.6788\n", - " 498 0.6916\n", - " 499 0.6602\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 500 0.6610\n", - " 501 0.6544\n", - " 502 0.6406\n", - " 503 0.6584\n", - " 504 0.6760\n", - " .. ...\n", - " 595 0.6540\n", - " 596 0.6926\n", - " 597 0.6836\n", - " 598 0.7032\n", - " 599 0.6522\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 600 0.6476\n", - " 601 0.6418\n", - " 602 0.6836\n", - " 603 0.6526\n", - " 604 0.6448\n", - " .. ...\n", - " 695 0.6056\n", - " 696 0.6456\n", - " 697 0.6458\n", - " 698 0.6538\n", - " 699 0.6572\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 700 0.6500\n", - " 701 0.6500\n", - " 702 0.6402\n", - " 703 0.6274\n", - " 704 0.6596\n", - " .. ...\n", - " 795 0.6366\n", - " 796 0.6130\n", - " 797 0.6186\n", - " 798 0.6078\n", - " 799 0.6270\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 800 0.6176\n", - " 801 0.6202\n", - " 802 0.6210\n", - " 803 0.6514\n", - " 804 0.6578\n", - " .. ...\n", - " 895 0.6924\n", - " 896 0.6670\n", - " 897 0.7064\n", - " 898 0.7068\n", - " 899 0.6792\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 900 0.7038\n", - " 901 0.6784\n", - " 902 0.6872\n", - " 903 0.6596\n", - " 904 0.6486\n", - " .. ...\n", - " 995 0.6922\n", - " 996 0.6850\n", - " 997 0.6806\n", - " 998 0.6510\n", - " 999 0.6530\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 1000 0.6574\n", - " 1001 0.6482\n", - " 1002 0.6254\n", - " 1003 0.6316\n", - " 1004 0.6486\n", - " ... ...\n", - " 1095 0.6820\n", - " 1096 0.6684\n", - " 1097 0.6692\n", - " 1098 0.6672\n", - " 1099 0.6878\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 1100 0.6744\n", - " 1101 0.6722\n", - " 1102 0.6566\n", - " 1103 0.6402\n", - " 1104 0.6434\n", - " ... ...\n", - " 1195 0.6562\n", - " 1196 0.6602\n", - " 1197 0.6420\n", - " 1198 0.6554\n", - " 1199 0.6302\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 1200 0.6602\n", - " 1201 0.6498\n", - " 1202 0.6450\n", - " 1203 0.6416\n", - " 1204 0.6194\n", - " ... ...\n", - " 1295 0.6176\n", - " 1296 0.6446\n", - " 1297 0.6462\n", - " 1298 0.6282\n", - " 1299 0.6144\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 1300 0.5794\n", - " 1301 0.5938\n", - " 1302 0.6288\n", - " 1303 0.6124\n", - " 1304 0.6046\n", - " ... ...\n", - " 1395 0.6232\n", - " 1396 0.6070\n", - " 1397 0.6194\n", - " 1398 0.6392\n", - " 1399 0.6406\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 1400 0.6554\n", - " 1401 0.6462\n", - " 1402 0.6474\n", - " 1403 0.6526\n", - " 1404 0.6426\n", - " ... ...\n", - " 1495 0.5990\n", - " 1496 0.5984\n", - " 1497 0.5858\n", - " 1498 0.5858\n", - " 1499 0.5856\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 1500 0.6012\n", - " 1501 0.6192\n", - " 1502 0.6602\n", - " 1503 0.6812\n", - " 1504 0.6632\n", - " ... ...\n", - " 1595 0.6454\n", - " 1596 0.6582\n", - " 1597 0.6726\n", - " 1598 0.6318\n", - " 1599 0.6750\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 1600 0.6614\n", - " 1601 0.6834\n", - " 1602 0.6880\n", - " 1603 0.6752\n", - " 1604 0.6766\n", - " ... ...\n", - " 1695 0.6726\n", - " 1696 0.6748\n", - " 1697 0.6706\n", - " 1698 0.6786\n", - " 1699 0.6730\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 1700 0.6658\n", - " 1701 0.6540\n", - " 1702 0.6530\n", - " 1703 0.6748\n", - " 1704 0.6738\n", - " ... ...\n", - " 1795 0.6408\n", - " 1796 0.6602\n", - " 1797 0.6676\n", - " 1798 0.6610\n", - " 1799 0.6514\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 1800 0.6714\n", - " 1801 0.6408\n", - " 1802 0.6296\n", - " 1803 0.6528\n", - " 1804 0.6374\n", - " ... ...\n", - " 1895 0.6882\n", - " 1896 0.6914\n", - " 1897 0.6844\n", - " 1898 0.6692\n", - " 1899 0.6628\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 1900 0.6570\n", - " 1901 0.6568\n", - " 1902 0.6496\n", - " 1903 0.6518\n", - " 1904 0.6396\n", - " ... ...\n", - " 1995 0.6664\n", - " 1996 0.6378\n", - " 1997 0.6748\n", - " 1998 0.6704\n", - " 1999 0.7110\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 2000 0.6892\n", - " 2001 0.7076\n", - " 2002 0.7010\n", - " 2003 0.6986\n", - " 2004 0.7022\n", - " ... ...\n", - " 2095 0.6136\n", - " 2096 0.6152\n", - " 2097 0.6226\n", - " 2098 0.6160\n", - " 2099 0.6212\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 2100 0.6290\n", - " 2101 0.6408\n", - " 2102 0.6448\n", - " 2103 0.6540\n", - " 2104 0.6150\n", - " ... ...\n", - " 2195 0.6788\n", - " 2196 0.6870\n", - " 2197 0.7068\n", - " 2198 0.6942\n", - " 2199 0.6918\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 2200 0.6854\n", - " 2201 0.6870\n", - " 2202 0.6954\n", - " 2203 0.6740\n", - " 2204 0.6710\n", - " ... ...\n", - " 2295 0.6338\n", - " 2296 0.6366\n", - " 2297 0.6246\n", - " 2298 0.6198\n", - " 2299 0.6274\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 2300 0.6312\n", - " 2301 0.6636\n", - " 2302 0.6456\n", - " 2303 0.6352\n", - " 2304 0.6234\n", - " ... ...\n", - " 2395 0.6728\n", - " 2396 0.6616\n", - " 2397 0.6836\n", - " 2398 0.6586\n", - " 2399 0.6722\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 2400 0.6744\n", - " 2401 0.6704\n", - " 2402 0.6748\n", - " 2403 0.6946\n", - " 2404 0.6826\n", - " ... ...\n", - " 2495 0.6406\n", - " 2496 0.6262\n", - " 2497 0.6274\n", - " 2498 0.6262\n", - " 2499 0.6760\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 2500 0.6766\n", - " 2501 0.6570\n", - " 2502 0.6582\n", - " 2503 0.6530\n", - " 2504 0.6582\n", - " ... ...\n", - " 2595 0.6860\n", - " 2596 0.7074\n", - " 2597 0.6884\n", - " 2598 0.6714\n", - " 2599 0.6552\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 2600 0.6246\n", - " 2601 0.6338\n", - " 2602 0.6050\n", - " 2603 0.6116\n", - " 2604 0.6238\n", - " ... ...\n", - " 2695 0.5864\n", - " 2696 0.6312\n", - " 2697 0.6082\n", - " 2698 0.5956\n", - " 2699 0.6114\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 2700 0.6156\n", - " 2701 0.6080\n", - " 2702 0.6272\n", - " 2703 0.6298\n", - " 2704 0.6332\n", - " ... ...\n", - " 2795 0.6548\n", - " 2796 0.6616\n", - " 2797 0.6782\n", - " 2798 0.6828\n", - " 2799 0.6620\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 2800 0.6664\n", - " 2801 0.6636\n", - " 2802 0.6406\n", - " 2803 0.6434\n", - " 2804 0.6484\n", - " ... ...\n", - " 2895 0.7020\n", - " 2896 0.7060\n", - " 2897 0.7158\n", - " 2898 0.7270\n", - " 2899 0.7020\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 2900 0.6750\n", - " 2901 0.6644\n", - " 2902 0.6452\n", - " 2903 0.6470\n", - " 2904 0.6428\n", - " ... ...\n", - " 2995 0.6776\n", - " 2996 0.6758\n", - " 2997 0.6648\n", - " 2998 0.6634\n", - " 2999 0.6394\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 3000 0.6186\n", - " 3001 0.6182\n", - " 3002 0.6096\n", - " 3003 0.6280\n", - " 3004 0.6492\n", - " ... ...\n", - " 3095 0.6224\n", - " 3096 0.5896\n", - " 3097 0.6138\n", - " 3098 0.6548\n", - " 3099 0.6348\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 3100 0.6176\n", - " 3101 0.6246\n", - " 3102 0.6066\n", - " 3103 0.6264\n", - " 3104 0.6182\n", - " ... ...\n", - " 3195 0.6356\n", - " 3196 0.6256\n", - " 3197 0.6416\n", - " 3198 0.6512\n", - " 3199 0.5912\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 3200 0.6280\n", - " 3201 0.6370\n", - " 3202 0.6604\n", - " 3203 0.6340\n", - " 3204 0.6162\n", - " ... ...\n", - " 3295 0.6514\n", - " 3296 0.6618\n", - " 3297 0.6632\n", - " 3298 0.6654\n", - " 3299 0.6692\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 3300 0.6642\n", - " 3301 0.7062\n", - " 3302 0.7280\n", - " 3303 0.7180\n", - " 3304 0.7168\n", - " ... ...\n", - " 3395 0.5936\n", - " 3396 0.6238\n", - " 3397 0.6232\n", - " 3398 0.6546\n", - " 3399 0.6640\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 3400 0.6626\n", - " 3401 0.6538\n", - " 3402 0.6572\n", - " 3403 0.6492\n", - " 3404 0.6386\n", - " ... ...\n", - " 3495 0.6898\n", - " 3496 0.6606\n", - " 3497 0.6576\n", - " 3498 0.6604\n", - " 3499 0.6790\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 3500 0.7090\n", - " 3501 0.7062\n", - " 3502 0.7120\n", - " 3503 0.6938\n", - " 3504 0.7054\n", - " ... ...\n", - " 3595 0.6466\n", - " 3596 0.6730\n", - " 3597 0.6938\n", - " 3598 0.6770\n", - " 3599 0.6718\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 3600 0.6856\n", - " 3601 0.6770\n", - " 3602 0.6754\n", - " 3603 0.6688\n", - " 3604 0.6642\n", - " ... ...\n", - " 3695 0.6432\n", - " 3696 0.6644\n", - " 3697 0.6624\n", - " 3698 0.6758\n", - " 3699 0.6884\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 3700 0.6858\n", - " 3701 0.6748\n", - " 3702 0.6760\n", - " 3703 0.6604\n", - " 3704 0.6464\n", - " ... ...\n", - " 3795 0.6304\n", - " 3796 0.6240\n", - " 3797 0.6180\n", - " 3798 0.5934\n", - " 3799 0.5876\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 3800 0.6190\n", - " 3801 0.6318\n", - " 3802 0.6034\n", - " 3803 0.6322\n", - " 3804 0.6234\n", - " ... ...\n", - " 3895 0.6600\n", - " 3896 0.6490\n", - " 3897 0.6236\n", - " 3898 0.6242\n", - " 3899 0.6214\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 3900 0.5982\n", - " 3901 0.5790\n", - " 3902 0.5786\n", - " 3903 0.5740\n", - " 3904 0.5940\n", - " ... ...\n", - " 3995 0.6608\n", - " 3996 0.6700\n", - " 3997 0.6604\n", - " 3998 0.6602\n", - " 3999 0.6558\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 4000 0.6534\n", - " 4001 0.6180\n", - " 4002 0.6200\n", - " 4003 0.6150\n", - " 4004 0.6076\n", - " ... ...\n", - " 4095 0.6546\n", - " 4096 0.6422\n", - " 4097 0.6564\n", - " 4098 0.6382\n", - " 4099 0.6618\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 4100 0.6626\n", - " 4101 0.6690\n", - " 4102 0.6628\n", - " 4103 0.6602\n", - " 4104 0.6462\n", - " ... ...\n", - " 4195 0.7122\n", - " 4196 0.7070\n", - " 4197 0.7290\n", - " 4198 0.7230\n", - " 4199 0.7214\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 4200 0.7042\n", - " 4201 0.7142\n", - " 4202 0.7242\n", - " 4203 0.6922\n", - " 4204 0.6664\n", - " ... ...\n", - " 4295 0.6962\n", - " 4296 0.6776\n", - " 4297 0.6608\n", - " 4298 0.6378\n", - " 4299 0.6044\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 4300 0.6328\n", - " 4301 0.6124\n", - " 4302 0.6110\n", - " 4303 0.6012\n", - " 4304 0.5772\n", - " ... ...\n", - " 4395 0.6734\n", - " 4396 0.6730\n", - " 4397 0.6712\n", - " 4398 0.6700\n", - " 4399 0.6712\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 4400 0.6628\n", - " 4401 0.6640\n", - " 4402 0.6932\n", - " 4403 0.7020\n", - " 4404 0.6788\n", - " ... ...\n", - " 4495 0.6592\n", - " 4496 0.6544\n", - " 4497 0.6496\n", - " 4498 0.6482\n", - " 4499 0.6526\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 4500 0.6476\n", - " 4501 0.6484\n", - " 4502 0.6642\n", - " 4503 0.6734\n", - " 4504 0.6740\n", - " ... ...\n", - " 4595 0.6558\n", - " 4596 0.6378\n", - " 4597 0.6602\n", - " 4598 0.6638\n", - " 4599 0.6902\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 4600 0.7034\n", - " 4601 0.7354\n", - " 4602 0.7234\n", - " 4603 0.6974\n", - " 4604 0.6846\n", - " ... ...\n", - " 4695 0.5686\n", - " 4696 0.5356\n", - " 4697 0.5692\n", - " 4698 0.5406\n", - " 4699 0.5570\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 4700 0.5552\n", - " 4701 0.5780\n", - " 4702 0.5768\n", - " 4703 0.5990\n", - " 4704 0.6172\n", - " ... ...\n", - " 4795 0.6620\n", - " 4796 0.6856\n", - " 4797 0.6602\n", - " 4798 0.6508\n", - " 4799 0.6674\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 4800 0.6742\n", - " 4801 0.6914\n", - " 4802 0.6712\n", - " 4803 0.6592\n", - " 4804 0.6118\n", - " ... ...\n", - " 4895 0.6104\n", - " 4896 0.6074\n", - " 4897 0.6334\n", - " 4898 0.6054\n", - " 4899 0.6306\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 4900 0.6250\n", - " 4901 0.6354\n", - " 4902 0.6380\n", - " 4903 0.6444\n", - " 4904 0.6386\n", - " ... ...\n", - " 4995 0.6632\n", - " 4996 0.6708\n", - " 4997 0.6530\n", - " 4998 0.5910\n", - " 4999 0.6036\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 5000 0.6046\n", - " 5001 0.6226\n", - " 5002 0.6248\n", - " 5003 0.6382\n", - " 5004 0.6644\n", - " ... ...\n", - " 5095 0.6348\n", - " 5096 0.6528\n", - " 5097 0.6500\n", - " 5098 0.6350\n", - " 5099 0.6402\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 5100 0.6580\n", - " 5101 0.6764\n", - " 5102 0.6952\n", - " 5103 0.6768\n", - " 5104 0.6866\n", - " ... ...\n", - " 5195 0.6478\n", - " 5196 0.6548\n", - " 5197 0.6696\n", - " 5198 0.6844\n", - " 5199 0.6708\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 5200 0.6790\n", - " 5201 0.6850\n", - " 5202 0.6684\n", - " 5203 0.6638\n", - " 5204 0.6530\n", - " ... ...\n", - " 5295 0.6470\n", - " 5296 0.6278\n", - " 5297 0.6398\n", - " 5298 0.6326\n", - " 5299 0.6286\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 5300 0.6302\n", - " 5301 0.6332\n", - " 5302 0.6460\n", - " 5303 0.6546\n", - " 5304 0.6880\n", - " ... ...\n", - " 5395 0.6404\n", - " 5396 0.6364\n", - " 5397 0.6318\n", - " 5398 0.6246\n", - " 5399 0.6476\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 5400 0.6206\n", - " 5401 0.6526\n", - " 5402 0.6368\n", - " 5403 0.6778\n", - " 5404 0.6670\n", - " ... ...\n", - " 5495 0.6760\n", - " 5496 0.6750\n", - " 5497 0.6826\n", - " 5498 0.6856\n", - " 5499 0.6806\n", - " \n", - " [100 rows x 1 columns],\n", - " Gini\n", - " 5500 0.6888\n", - " 5501 0.6708\n", - " 5502 0.6882\n", - " 5503 0.6648\n", - " 5504 0.6682\n", - " 5505 0.6570\n", - " 5506 0.6442\n", - " 5507 0.6500\n", - " 5508 0.6498\n", - " 5509 0.6366\n", - " 5510 0.6336\n", - " 5511 0.6252\n", - " 5512 0.6150\n", - " 5513 0.6150\n", - " 5514 0.6412\n", - " 5515 0.6214\n", - " 5516 0.6256\n", - " 5517 0.6322\n", - " 5518 0.6560\n", - " 5519 0.6762\n", - " 5520 0.6844\n", - " 5521 0.6694\n", - " 5522 0.6668\n", - " 5523 0.6752\n", - " 5524 0.6574\n", - " 5525 0.6632\n", - " 5526 0.6688\n", - " 5527 0.6732\n", - " 5528 0.6484\n", - " 5529 0.6332\n", - " 5530 0.6516\n", - " 5531 0.6388\n", - " 5532 0.6496\n", - " 5533 0.6562\n", - " 5534 0.6442\n", - " 5535 0.6202\n", - " 5536 0.6210\n", - " 5537 0.6486\n", - " 5538 0.6644\n", - " 5539 0.6322\n", - " 5540 0.6384\n", - " 5541 0.6368\n", - " 5542 0.6404\n", - " 5543 0.6352\n", - " 5544 0.6296\n", - " 5545 0.6680\n", - " 5546 0.6882\n", - " 5547 0.6686\n", - " 5548 0.6722\n", - " 5549 0.6758\n", - " 5550 0.6930\n", - " 5551 0.6732\n", - " 5552 0.6606\n", - " 5553 0.6368\n", - " 5554 0.6510]" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "model_dfs\n" + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8740fdf0-50eb-40ee-a5a9-e6426ebebd3c", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e416b4b7-29a1-4960-8ecb-991c9623ed07", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "b4e0ced9-2f26-4048-866d-04d823051ac6", + "metadata": {}, + "source": [ + "# caching for solar & grid visualisation" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "b9d8b823-36d3-42b2-bbf0-be3caf8a4335", + "metadata": {}, + "outputs": [], + "source": [ + "import networkx as nx\n", + "import solara\n", + "from matplotlib.figure import Figure\n", + "from matplotlib.ticker import MaxNLocator" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "e72f6761-7f53-45bc-be56-e9d7fd0246ac", + "metadata": {}, + "outputs": [], + "source": [ + "def _draw_grid(space, space_ax, agent_portrayal):\n", + " def portray(g):\n", + " x = []\n", + " y = []\n", + " s = [] # size\n", + " c = [] # color\n", + " for i in range(g.width):\n", + " for j in range(g.height):\n", + " content = g._grid[i][j]\n", + " if not content:\n", + " continue\n", + " if not hasattr(content, \"__iter__\"):\n", + " # Is a single grid\n", + " content = [content]\n", + " for agent in content:\n", + " data = agent_portrayal(agent)\n", + " x.append(i)\n", + " y.append(j)\n", + " if \"size\" in data:\n", + " s.append(data[\"size\"])\n", + " if \"color\" in data:\n", + " c.append(data[\"color\"])\n", + " out = {\"x\": x, \"y\": y}\n", + " # This is the default value for the marker size, which auto-scales\n", + " # according to the grid area.\n", + " out[\"s\"] = (180 / max(g.width, g.height)) ** 2\n", + " if len(s) > 0:\n", + " out[\"s\"] = s\n", + " if len(c) > 0:\n", + " out[\"c\"] = c\n", + " return out\n", + "\n", + " space_ax.set_xlim(-1, space.width)\n", + " space_ax.set_ylim(-1, space.height)\n", + " space_ax.scatter(**portray(space))" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "95bac82a-126f-4b57-a23e-34148a878866", + "metadata": {}, + "outputs": [], + "source": [ + "def agent_portrayal(agent):\n", + " size = 10\n", + " color = \"tab:red\"\n", + " if agent.wealth > 0:\n", + " size = 50\n", + " color = \"tab:blue\"\n", + " return {\"size\": size, \"color\": color}" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "a2802713-ec93-43bd-81b6-4a2fd4e35114", + "metadata": {}, + "outputs": [], + "source": [ + "space_fig = Figure()\n", + "space_ax = space_fig.subplots()\n", + "space = getattr(model, \"grid\", None)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "2407f19d-b56a-49e9-94b5-7129ea068511", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7d06979deaae46308c3f13ecb3fd07a9", + "version_major": 2, + "version_minor": 0 + }, + "text/html": [ + "Cannot show widget. You probably want to rerun the code cell above (Click in the code cell, and press Shift+Enter +)." + ], + "text/plain": [ + "Cannot show ipywidgets in text" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "_draw_grid(space, space_ax, agent_portrayal)\n", + "solara.FigureMatplotlib(space_fig, format=\"png\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44fb646a-bdfe-453f-baa4-2542086223f9", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8409abbd-d725-43ed-9479-e4f9c9670622", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "435ecab8-73f8-412d-bbd6-fd19ef097f97", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "9d237ce1-d933-44fc-8818-2f373c4e710c", + "metadata": {}, + "outputs": [], + "source": [ + "from mesa.agent import Agent\n", + "from cacheable_model import AgentSerializer\n", + "model = model\n", + "agents = [\n", + " Agent(unique_id=1, model=model),\n", + " Agent(unique_id=2, model=model)\n", + "]\n", + "\n", + "# Serialize and save agents to a Parquet file\n", + "AgentSerializer.save_agents_to_parquet(agents, 'agents.parquet')\n", + "\n", + "# Load agents from a Parquet file\n", + "loaded_agents = AgentSerializer.load_agents_from_parquet('agents.parquet', model)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "4434b5e7-a772-4503-8342-7c97fafebb14", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[, ]" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "loaded_agents" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dde8f54d-34ed-429d-99f7-b17c1b2cd5a5", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34da292b-a9ab-4a62-ab40-83bae6bd450a", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "4979e557-b44a-49a4-8d24-87cdd5b35ef2", + "metadata": {}, + "outputs": [], + "source": [ + "import networkx as nx\n", + "import solara\n", + "from matplotlib.figure import Figure\n", + "from matplotlib.ticker import MaxNLocator" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6a68f845-c68f-4801-83d3-90e6437805f2", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3af52f07-0156-485b-97d3-45c11964eb1f", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d0526427-32c7-40c5-836c-96d0a23ebed1", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "9a434237-2316-44ac-92b6-d836fb363987", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "space\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f1fd18a2-7c7c-4198-a986-5e80e8219eb3", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "6e8eece8-fcf5-49f7-99b2-c344f914e061", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'height': 10,\n", + " 'width': 10,\n", + " 'torus': True,\n", + " 'num_cells': 100,\n", + " '_grid': [[[<__main__.MoneyAgent at 0x7f77e00c5480>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6440>,\n", + " <__main__.MoneyAgent at 0x7f77e00c6d40>,\n", + " <__main__.MoneyAgent at 0x7f77e00c6500>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c4dc0>],\n", + " [],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6b60>,\n", + " <__main__.MoneyAgent at 0x7f77e00c7df0>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5b70>,\n", + " <__main__.MoneyAgent at 0x7f77e00c6050>,\n", + " <__main__.MoneyAgent at 0x7f77e00c4b50>,\n", + " <__main__.MoneyAgent at 0x7f77e00c7ee0>],\n", + " [],\n", + " [],\n", + " []],\n", + " [[],\n", + " [<__main__.MoneyAgent at 0x7f77e00c61a0>],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5a20>],\n", + " [],\n", + " [],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c4d30>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c63b0>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c56c0>]],\n", + " [[],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6a10>,\n", + " <__main__.MoneyAgent at 0x7f77e00c5270>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5cc0>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5180>,\n", + " <__main__.MoneyAgent at 0x7f77e00c48e0>,\n", + " <__main__.MoneyAgent at 0x7f77e00c4b20>,\n", + " <__main__.MoneyAgent at 0x7f77e00c5720>,\n", + " <__main__.MoneyAgent at 0x7f77e00c6d70>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6410>],\n", + " [],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6800>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6350>]],\n", + " [[<__main__.MoneyAgent at 0x7f77e00c6020>,\n", + " <__main__.MoneyAgent at 0x7f77e00c5120>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c57b0>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c59c0>,\n", + " <__main__.MoneyAgent at 0x7f77e00c5540>],\n", + " [],\n", + " [],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c64d0>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5db0>,\n", + " <__main__.MoneyAgent at 0x7f77e00c4e20>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c57e0>],\n", + " []],\n", + " [[<__main__.MoneyAgent at 0x7f77e00c52a0>,\n", + " <__main__.MoneyAgent at 0x7f77e00c6ce0>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6740>],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c66e0>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c4a90>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6d10>,\n", + " <__main__.MoneyAgent at 0x7f77e00c5c60>],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c4e50>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6bf0>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6110>,\n", + " <__main__.MoneyAgent at 0x7f77e00c58a0>,\n", + " <__main__.MoneyAgent at 0x7f77e00c4be0>,\n", + " <__main__.MoneyAgent at 0x7f77e00c6320>,\n", + " <__main__.MoneyAgent at 0x7f77e00c5ae0>]],\n", + " [[<__main__.MoneyAgent at 0x7f77e00c4a60>],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5030>],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5ea0>],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6260>,\n", + " <__main__.MoneyAgent at 0x7f77e00c61d0>],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c45b0>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c69e0>,\n", + " <__main__.MoneyAgent at 0x7f77e00c5600>,\n", + " <__main__.MoneyAgent at 0x7f77e00c5780>]],\n", + " [[],\n", + " [<__main__.MoneyAgent at 0x7f77e00c4fd0>],\n", + " [],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5e10>,\n", + " <__main__.MoneyAgent at 0x7f77e00c4f10>,\n", + " <__main__.MoneyAgent at 0x7f77e00c5f60>],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6a40>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c50f0>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5960>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c65f0>]],\n", + " [[],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5ba0>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c53f0>,\n", + " <__main__.MoneyAgent at 0x7f77e00c4a30>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5c30>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5c00>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6950>,\n", + " <__main__.MoneyAgent at 0x7f77e00c7f40>,\n", + " <__main__.MoneyAgent at 0x7f77e00c5510>,\n", + " <__main__.MoneyAgent at 0x7f77e00c6c50>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5a50>,\n", + " <__main__.MoneyAgent at 0x7f77e00c5d80>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6890>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5930>]],\n", + " [[],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6620>,\n", + " <__main__.MoneyAgent at 0x7f77e00c4ca0>,\n", + " <__main__.MoneyAgent at 0x7f77e00c6920>],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6aa0>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c55d0>],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c4ee0>,\n", + " <__main__.MoneyAgent at 0x7f77e00c4cd0>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c62c0>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c66b0>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6b00>,\n", + " <__main__.MoneyAgent at 0x7f77e00c7f10>,\n", + " <__main__.MoneyAgent at 0x7f77e00c4910>]],\n", + " [[],\n", + " [],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c7f70>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5090>],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c6170>,\n", + " <__main__.MoneyAgent at 0x7f77e00c49a0>,\n", + " <__main__.MoneyAgent at 0x7f77e00c4c40>],\n", + " [<__main__.MoneyAgent at 0x7f77e00c68f0>,\n", + " <__main__.MoneyAgent at 0x7f77e00c6530>],\n", + " [],\n", + " [<__main__.MoneyAgent at 0x7f77e00c5420>]]],\n", + " '_empties_built': False,\n", + " '_neighborhood_cache': {((3, 4), True, False, 1): ((2, 3),\n", + " (2, 4),\n", + " (2, 5),\n", + " (3, 3),\n", + " (3, 5),\n", + " (4, 3),\n", + " (4, 4),\n", + " (4, 5)),\n", + " ((6, 1), True, False, 1): ((5, 0),\n", + " (5, 1),\n", + " (5, 2),\n", + " (6, 0),\n", + " (6, 2),\n", + " (7, 0),\n", + " (7, 1),\n", + " (7, 2)),\n", + " ((7, 7), True, False, 1): ((6, 6),\n", + " (6, 7),\n", + " (6, 8),\n", + " (7, 6),\n", + " (7, 8),\n", + " (8, 6),\n", + " (8, 7),\n", + " (8, 8)),\n", + " ((8, 0), True, False, 1): ((7, 9),\n", + " (7, 0),\n", + " (7, 1),\n", + " (8, 9),\n", + " (8, 1),\n", + " (9, 9),\n", + " (9, 0),\n", + " (9, 1)),\n", + " ((1, 1), True, False, 1): ((0, 0),\n", + " (0, 1),\n", + " (0, 2),\n", + " (1, 0),\n", + " (1, 2),\n", + " (2, 0),\n", + " (2, 1),\n", + " (2, 2)),\n", + " ((8, 2), True, False, 1): ((7, 1),\n", + " (7, 2),\n", + " (7, 3),\n", + " (8, 1),\n", + " (8, 3),\n", + " (9, 1),\n", + " (9, 2),\n", + " (9, 3)),\n", + " ((3, 5), True, False, 1): ((2, 4),\n", + " (2, 5),\n", + " (2, 6),\n", + " (3, 4),\n", + " (3, 6),\n", + " (4, 4),\n", + " (4, 5),\n", + " (4, 6)),\n", + " ((5, 1), True, False, 1): ((4, 0),\n", + " (4, 1),\n", + " (4, 2),\n", + " (5, 0),\n", + " (5, 2),\n", + " (6, 0),\n", + " (6, 1),\n", + " (6, 2)),\n", + " ((8, 1), True, False, 1): ((7, 0),\n", + " (7, 1),\n", + " (7, 2),\n", + " (8, 0),\n", + " (8, 2),\n", + " (9, 0),\n", + " (9, 1),\n", + " (9, 2)),\n", + " ((0, 4), True, False, 1): ((9, 3),\n", + " (9, 4),\n", + " (9, 5),\n", + " (0, 3),\n", + " (0, 5),\n", + " (1, 3),\n", + " (1, 4),\n", + " (1, 5)),\n", + " ((6, 9), True, False, 1): ((5, 8),\n", + " (5, 9),\n", + " (5, 0),\n", + " (6, 8),\n", + " (6, 0),\n", + " (7, 8),\n", + " (7, 9),\n", + " (7, 0)),\n", + " ((5, 5), True, False, 1): ((4, 4),\n", + " (4, 5),\n", + " (4, 6),\n", + " (5, 4),\n", + " (5, 6),\n", + " (6, 4),\n", + " (6, 5),\n", + " (6, 6)),\n", + " ((6, 4), True, False, 1): ((5, 3),\n", + " (5, 4),\n", + " (5, 5),\n", + " (6, 3),\n", + " (6, 5),\n", + " (7, 3),\n", + " (7, 4),\n", + " (7, 5)),\n", + " ((5, 4), True, False, 1): ((4, 3),\n", + " (4, 4),\n", + " (4, 5),\n", + " (5, 3),\n", + " (5, 5),\n", + " (6, 3),\n", + " (6, 4),\n", + " (6, 5)),\n", + " ((7, 1), True, False, 1): ((6, 0),\n", + " (6, 1),\n", + " (6, 2),\n", + " (7, 0),\n", + " (7, 2),\n", + " (8, 0),\n", + " (8, 1),\n", + " (8, 2)),\n", + " ((0, 3), True, False, 1): ((9, 2),\n", + " (9, 3),\n", + " (9, 4),\n", + " (0, 2),\n", + " (0, 4),\n", + " (1, 2),\n", + " (1, 3),\n", + " (1, 4)),\n", + " ((0, 0), True, False, 1): ((9, 9),\n", + " (9, 0),\n", + " (9, 1),\n", + " (0, 9),\n", + " (0, 1),\n", + " (1, 9),\n", + " (1, 0),\n", + " (1, 1)),\n", + " ((4, 1), True, False, 1): ((3, 0),\n", + " (3, 1),\n", + " (3, 2),\n", + " (4, 0),\n", + " (4, 2),\n", + " (5, 0),\n", + " (5, 1),\n", + " (5, 2)),\n", + " ((3, 9), True, False, 1): ((2, 8),\n", + " (2, 9),\n", + " (2, 0),\n", + " (3, 8),\n", + " (3, 0),\n", + " (4, 8),\n", + " (4, 9),\n", + " (4, 0)),\n", + " ((8, 6), True, False, 1): ((7, 5),\n", + " (7, 6),\n", + " (7, 7),\n", + " (8, 5),\n", + " (8, 7),\n", + " (9, 5),\n", + " (9, 6),\n", + " (9, 7)),\n", + " ((1, 6), True, False, 1): ((0, 5),\n", + " (0, 6),\n", + " (0, 7),\n", + " (1, 5),\n", + " (1, 7),\n", + " (2, 5),\n", + " (2, 6),\n", + " (2, 7)),\n", + " ((5, 3), True, False, 1): ((4, 2),\n", + " (4, 3),\n", + " (4, 4),\n", + " (5, 2),\n", + " (5, 4),\n", + " (6, 2),\n", + " (6, 3),\n", + " (6, 4)),\n", + " ((8, 8), True, False, 1): ((7, 7),\n", + " (7, 8),\n", + " (7, 9),\n", + " (8, 7),\n", + " (8, 9),\n", + " (9, 7),\n", + " (9, 8),\n", + " (9, 9)),\n", + " ((1, 4), True, False, 1): ((0, 3),\n", + " (0, 4),\n", + " (0, 5),\n", + " (1, 3),\n", + " (1, 5),\n", + " (2, 3),\n", + " (2, 4),\n", + " (2, 5)),\n", + " ((4, 2), True, False, 1): ((3, 1),\n", + " (3, 2),\n", + " (3, 3),\n", + " (4, 1),\n", + " (4, 3),\n", + " (5, 1),\n", + " (5, 2),\n", + " (5, 3)),\n", + " ((1, 0), True, False, 1): ((0, 9),\n", + " (0, 0),\n", + " (0, 1),\n", + " (1, 9),\n", + " (1, 1),\n", + " (2, 9),\n", + " (2, 0),\n", + " (2, 1)),\n", + " ((7, 9), True, False, 1): ((6, 8),\n", + " (6, 9),\n", + " (6, 0),\n", + " (7, 8),\n", + " (7, 0),\n", + " (8, 8),\n", + " (8, 9),\n", + " (8, 0)),\n", + " ((3, 1), True, False, 1): ((2, 0),\n", + " (2, 1),\n", + " (2, 2),\n", + " (3, 0),\n", + " (3, 2),\n", + " (4, 0),\n", + " (4, 1),\n", + " (4, 2)),\n", + " ((0, 1), True, False, 1): ((9, 0),\n", + " (9, 1),\n", + " (9, 2),\n", + " (0, 0),\n", + " (0, 2),\n", + " (1, 0),\n", + " (1, 1),\n", + " (1, 2)),\n", + " ((0, 5), True, False, 1): ((9, 4),\n", + " (9, 5),\n", + " (9, 6),\n", + " (0, 4),\n", + " (0, 6),\n", + " (1, 4),\n", + " (1, 5),\n", + " (1, 6)),\n", + " ((4, 7), True, False, 1): ((3, 6),\n", + " (3, 7),\n", + " (3, 8),\n", + " (4, 6),\n", + " (4, 8),\n", + " (5, 6),\n", + " (5, 7),\n", + " (5, 8)),\n", + " ((0, 9), True, False, 1): ((9, 8),\n", + " (9, 9),\n", + " (9, 0),\n", + " (0, 8),\n", + " (0, 0),\n", + " (1, 8),\n", + " (1, 9),\n", + " (1, 0)),\n", + " ((9, 2), True, False, 1): ((8, 1),\n", + " (8, 2),\n", + " (8, 3),\n", + " (9, 1),\n", + " (9, 3),\n", + " (0, 1),\n", + " (0, 2),\n", + " (0, 3)),\n", + " ((5, 0), True, False, 1): ((4, 9),\n", + " (4, 0),\n", + " (4, 1),\n", + " (5, 9),\n", + " (5, 1),\n", + " (6, 9),\n", + " (6, 0),\n", + " (6, 1)),\n", + " ((5, 8), True, False, 1): ((4, 7),\n", + " (4, 8),\n", + " (4, 9),\n", + " (5, 7),\n", + " (5, 9),\n", + " (6, 7),\n", + " (6, 8),\n", + " (6, 9)),\n", + " ((6, 3), True, False, 1): ((5, 2),\n", + " (5, 3),\n", + " (5, 4),\n", + " (6, 2),\n", + " (6, 4),\n", + " (7, 2),\n", + " (7, 3),\n", + " (7, 4)),\n", + " ((7, 5), True, False, 1): ((6, 4),\n", + " (6, 5),\n", + " (6, 6),\n", + " (7, 4),\n", + " (7, 6),\n", + " (8, 4),\n", + " (8, 5),\n", + " (8, 6)),\n", + " ((6, 7), True, False, 1): ((5, 6),\n", + " (5, 7),\n", + " (5, 8),\n", + " (6, 6),\n", + " (6, 8),\n", + " (7, 6),\n", + " (7, 7),\n", + " (7, 8)),\n", + " ((3, 0), True, False, 1): ((2, 9),\n", + " (2, 0),\n", + " (2, 1),\n", + " (3, 9),\n", + " (3, 1),\n", + " (4, 9),\n", + " (4, 0),\n", + " (4, 1)),\n", + " ((3, 3), True, False, 1): ((2, 2),\n", + " (2, 3),\n", + " (2, 4),\n", + " (3, 2),\n", + " (3, 4),\n", + " (4, 2),\n", + " (4, 3),\n", + " (4, 4)),\n", + " ((9, 8), True, False, 1): ((8, 7),\n", + " (8, 8),\n", + " (8, 9),\n", + " (9, 7),\n", + " (9, 9),\n", + " (0, 7),\n", + " (0, 8),\n", + " (0, 9)),\n", + " ((3, 7), True, False, 1): ((2, 6),\n", + " (2, 7),\n", + " (2, 8),\n", + " (3, 6),\n", + " (3, 8),\n", + " (4, 6),\n", + " (4, 7),\n", + " (4, 8)),\n", + " ((0, 8), True, False, 1): ((9, 7),\n", + " (9, 8),\n", + " (9, 9),\n", + " (0, 7),\n", + " (0, 9),\n", + " (1, 7),\n", + " (1, 8),\n", + " (1, 9)),\n", + " ((1, 8), True, False, 1): ((0, 7),\n", + " (0, 8),\n", + " (0, 9),\n", + " (1, 7),\n", + " (1, 9),\n", + " (2, 7),\n", + " (2, 8),\n", + " (2, 9)),\n", + " ((5, 9), True, False, 1): ((4, 8),\n", + " (4, 9),\n", + " (4, 0),\n", + " (5, 8),\n", + " (5, 0),\n", + " (6, 8),\n", + " (6, 9),\n", + " (6, 0)),\n", + " ((6, 8), True, False, 1): ((5, 7),\n", + " (5, 8),\n", + " (5, 9),\n", + " (6, 7),\n", + " (6, 9),\n", + " (7, 7),\n", + " (7, 8),\n", + " (7, 9)),\n", + " ((5, 7), True, False, 1): ((4, 6),\n", + " (4, 7),\n", + " (4, 8),\n", + " (5, 6),\n", + " (5, 8),\n", + " (6, 6),\n", + " (6, 7),\n", + " (6, 8)),\n", + " ((8, 3), True, False, 1): ((7, 2),\n", + " (7, 3),\n", + " (7, 4),\n", + " (8, 2),\n", + " (8, 4),\n", + " (9, 2),\n", + " (9, 3),\n", + " (9, 4)),\n", + " ((2, 7), True, False, 1): ((1, 6),\n", + " (1, 7),\n", + " (1, 8),\n", + " (2, 6),\n", + " (2, 8),\n", + " (3, 6),\n", + " (3, 7),\n", + " (3, 8)),\n", + " ((2, 8), True, False, 1): ((1, 7),\n", + " (1, 8),\n", + " (1, 9),\n", + " (2, 7),\n", + " (2, 9),\n", + " (3, 7),\n", + " (3, 8),\n", + " (3, 9)),\n", + " ((2, 5), True, False, 1): ((1, 4),\n", + " (1, 5),\n", + " (1, 6),\n", + " (2, 4),\n", + " (2, 6),\n", + " (3, 4),\n", + " (3, 5),\n", + " (3, 6)),\n", + " ((1, 5), True, False, 1): ((0, 4),\n", + " (0, 5),\n", + " (0, 6),\n", + " (1, 4),\n", + " (1, 6),\n", + " (2, 4),\n", + " (2, 5),\n", + " (2, 6)),\n", + " ((9, 6), True, False, 1): ((8, 5),\n", + " (8, 6),\n", + " (8, 7),\n", + " (9, 5),\n", + " (9, 7),\n", + " (0, 5),\n", + " (0, 6),\n", + " (0, 7)),\n", + " ((8, 5), True, False, 1): ((7, 4),\n", + " (7, 5),\n", + " (7, 6),\n", + " (8, 4),\n", + " (8, 6),\n", + " (9, 4),\n", + " (9, 5),\n", + " (9, 6)),\n", + " ((9, 5), True, False, 1): ((8, 4),\n", + " (8, 5),\n", + " (8, 6),\n", + " (9, 4),\n", + " (9, 6),\n", + " (0, 4),\n", + " (0, 5),\n", + " (0, 6)),\n", + " ((6, 6), True, False, 1): ((5, 5),\n", + " (5, 6),\n", + " (5, 7),\n", + " (6, 5),\n", + " (6, 7),\n", + " (7, 5),\n", + " (7, 6),\n", + " (7, 7)),\n", + " ((1, 9), True, False, 1): ((0, 8),\n", + " (0, 9),\n", + " (0, 0),\n", + " (1, 8),\n", + " (1, 0),\n", + " (2, 8),\n", + " (2, 9),\n", + " (2, 0)),\n", + " ((4, 5), True, False, 1): ((3, 4),\n", + " (3, 5),\n", + " (3, 6),\n", + " (4, 4),\n", + " (4, 6),\n", + " (5, 4),\n", + " (5, 5),\n", + " (5, 6)),\n", + " ((8, 7), True, False, 1): ((7, 6),\n", + " (7, 7),\n", + " (7, 8),\n", + " (8, 6),\n", + " (8, 8),\n", + " (9, 6),\n", + " (9, 7),\n", + " (9, 8)),\n", + " ((0, 7), True, False, 1): ((9, 6),\n", + " (9, 7),\n", + " (9, 8),\n", + " (0, 6),\n", + " (0, 8),\n", + " (1, 6),\n", + " (1, 7),\n", + " (1, 8)),\n", + " ((6, 5), True, False, 1): ((5, 4),\n", + " (5, 5),\n", + " (5, 6),\n", + " (6, 4),\n", + " (6, 6),\n", + " (7, 4),\n", + " (7, 5),\n", + " (7, 6)),\n", + " ((4, 8), True, False, 1): ((3, 7),\n", + " (3, 8),\n", + " (3, 9),\n", + " (4, 7),\n", + " (4, 9),\n", + " (5, 7),\n", + " (5, 8),\n", + " (5, 9)),\n", + " ((6, 0), True, False, 1): ((5, 9),\n", + " (5, 0),\n", + " (5, 1),\n", + " (6, 9),\n", + " (6, 1),\n", + " (7, 9),\n", + " (7, 0),\n", + " (7, 1)),\n", + " ((9, 9), True, False, 1): ((8, 8),\n", + " (8, 9),\n", + " (8, 0),\n", + " (9, 8),\n", + " (9, 0),\n", + " (0, 8),\n", + " (0, 9),\n", + " (0, 0)),\n", + " ((2, 6), True, False, 1): ((1, 5),\n", + " (1, 6),\n", + " (1, 7),\n", + " (2, 5),\n", + " (2, 7),\n", + " (3, 5),\n", + " (3, 6),\n", + " (3, 7)),\n", + " ((7, 3), True, False, 1): ((6, 2),\n", + " (6, 3),\n", + " (6, 4),\n", + " (7, 2),\n", + " (7, 4),\n", + " (8, 2),\n", + " (8, 3),\n", + " (8, 4)),\n", + " ((8, 4), True, False, 1): ((7, 3),\n", + " (7, 4),\n", + " (7, 5),\n", + " (8, 3),\n", + " (8, 5),\n", + " (9, 3),\n", + " (9, 4),\n", + " (9, 5)),\n", + " ((4, 6), True, False, 1): ((3, 5),\n", + " (3, 6),\n", + " (3, 7),\n", + " (4, 5),\n", + " (4, 7),\n", + " (5, 5),\n", + " (5, 6),\n", + " (5, 7)),\n", + " ((5, 2), True, False, 1): ((4, 1),\n", + " (4, 2),\n", + " (4, 3),\n", + " (5, 1),\n", + " (5, 3),\n", + " (6, 1),\n", + " (6, 2),\n", + " (6, 3)),\n", + " ((1, 7), True, False, 1): ((0, 6),\n", + " (0, 7),\n", + " (0, 8),\n", + " (1, 6),\n", + " (1, 8),\n", + " (2, 6),\n", + " (2, 7),\n", + " (2, 8)),\n", + " ((2, 1), True, False, 1): ((1, 0),\n", + " (1, 1),\n", + " (1, 2),\n", + " (2, 0),\n", + " (2, 2),\n", + " (3, 0),\n", + " (3, 1),\n", + " (3, 2)),\n", + " ((9, 3), True, False, 1): ((8, 2),\n", + " (8, 3),\n", + " (8, 4),\n", + " (9, 2),\n", + " (9, 4),\n", + " (0, 2),\n", + " (0, 3),\n", + " (0, 4)),\n", + " ((9, 0), True, False, 1): ((8, 9),\n", + " (8, 0),\n", + " (8, 1),\n", + " (9, 9),\n", + " (9, 1),\n", + " (0, 9),\n", + " (0, 0),\n", + " (0, 1)),\n", + " ((7, 8), True, False, 1): ((6, 7),\n", + " (6, 8),\n", + " (6, 9),\n", + " (7, 7),\n", + " (7, 9),\n", + " (8, 7),\n", + " (8, 8),\n", + " (8, 9)),\n", + " ((1, 2), True, False, 1): ((0, 1),\n", + " (0, 2),\n", + " (0, 3),\n", + " (1, 1),\n", + " (1, 3),\n", + " (2, 1),\n", + " (2, 2),\n", + " (2, 3)),\n", + " ((9, 4), True, False, 1): ((8, 3),\n", + " (8, 4),\n", + " (8, 5),\n", + " (9, 3),\n", + " (9, 5),\n", + " (0, 3),\n", + " (0, 4),\n", + " (0, 5)),\n", + " ((3, 2), True, False, 1): ((2, 1),\n", + " (2, 2),\n", + " (2, 3),\n", + " (3, 1),\n", + " (3, 3),\n", + " (4, 1),\n", + " (4, 2),\n", + " (4, 3)),\n", + " ((7, 6), True, False, 1): ((6, 5),\n", + " (6, 6),\n", + " (6, 7),\n", + " (7, 5),\n", + " (7, 7),\n", + " (8, 5),\n", + " (8, 6),\n", + " (8, 7)),\n", + " ((5, 6), True, False, 1): ((4, 5),\n", + " (4, 6),\n", + " (4, 7),\n", + " (5, 5),\n", + " (5, 7),\n", + " (6, 5),\n", + " (6, 6),\n", + " (6, 7)),\n", + " ((3, 6), True, False, 1): ((2, 5),\n", + " (2, 6),\n", + " (2, 7),\n", + " (3, 5),\n", + " (3, 7),\n", + " (4, 5),\n", + " (4, 6),\n", + " (4, 7)),\n", + " ((0, 6), True, False, 1): ((9, 5),\n", + " (9, 6),\n", + " (9, 7),\n", + " (0, 5),\n", + " (0, 7),\n", + " (1, 5),\n", + " (1, 6),\n", + " (1, 7)),\n", + " ((7, 2), True, False, 1): ((6, 1),\n", + " (6, 2),\n", + " (6, 3),\n", + " (7, 1),\n", + " (7, 3),\n", + " (8, 1),\n", + " (8, 2),\n", + " (8, 3)),\n", + " ((4, 4), True, False, 1): ((3, 3),\n", + " (3, 4),\n", + " (3, 5),\n", + " (4, 3),\n", + " (4, 5),\n", + " (5, 3),\n", + " (5, 4),\n", + " (5, 5)),\n", + " ((2, 0), True, False, 1): ((1, 9),\n", + " (1, 0),\n", + " (1, 1),\n", + " (2, 9),\n", + " (2, 1),\n", + " (3, 9),\n", + " (3, 0),\n", + " (3, 1)),\n", + " ((9, 1), True, False, 1): ((8, 0),\n", + " (8, 1),\n", + " (8, 2),\n", + " (9, 0),\n", + " (9, 2),\n", + " (0, 0),\n", + " (0, 1),\n", + " (0, 2)),\n", + " ((7, 4), True, False, 1): ((6, 3),\n", + " (6, 4),\n", + " (6, 5),\n", + " (7, 3),\n", + " (7, 5),\n", + " (8, 3),\n", + " (8, 4),\n", + " (8, 5)),\n", + " ((4, 0), True, False, 1): ((3, 9),\n", + " (3, 0),\n", + " (3, 1),\n", + " (4, 9),\n", + " (4, 1),\n", + " (5, 9),\n", + " (5, 0),\n", + " (5, 1)),\n", + " ((9, 7), True, False, 1): ((8, 6),\n", + " (8, 7),\n", + " (8, 8),\n", + " (9, 6),\n", + " (9, 8),\n", + " (0, 6),\n", + " (0, 7),\n", + " (0, 8)),\n", + " ((2, 4), True, False, 1): ((1, 3),\n", + " (1, 4),\n", + " (1, 5),\n", + " (2, 3),\n", + " (2, 5),\n", + " (3, 3),\n", + " (3, 4),\n", + " (3, 5)),\n", + " ((8, 9), True, False, 1): ((7, 8),\n", + " (7, 9),\n", + " (7, 0),\n", + " (8, 8),\n", + " (8, 0),\n", + " (9, 8),\n", + " (9, 9),\n", + " (9, 0)),\n", + " ((6, 2), True, False, 1): ((5, 1),\n", + " (5, 2),\n", + " (5, 3),\n", + " (6, 1),\n", + " (6, 3),\n", + " (7, 1),\n", + " (7, 2),\n", + " (7, 3)),\n", + " ((2, 3), True, False, 1): ((1, 2),\n", + " (1, 3),\n", + " (1, 4),\n", + " (2, 2),\n", + " (2, 4),\n", + " (3, 2),\n", + " (3, 3),\n", + " (3, 4)),\n", + " ((7, 0), True, False, 1): ((6, 9),\n", + " (6, 0),\n", + " (6, 1),\n", + " (7, 9),\n", + " (7, 1),\n", + " (8, 9),\n", + " (8, 0),\n", + " (8, 1)),\n", + " ((4, 3), True, False, 1): ((3, 2),\n", + " (3, 3),\n", + " (3, 4),\n", + " (4, 2),\n", + " (4, 4),\n", + " (5, 2),\n", + " (5, 3),\n", + " (5, 4)),\n", + " ((0, 2), True, False, 1): ((9, 1),\n", + " (9, 2),\n", + " (9, 3),\n", + " (0, 1),\n", + " (0, 3),\n", + " (1, 1),\n", + " (1, 2),\n", + " (1, 3)),\n", + " ((4, 9), True, False, 1): ((3, 8),\n", + " (3, 9),\n", + " (3, 0),\n", + " (4, 8),\n", + " (4, 0),\n", + " (5, 8),\n", + " (5, 9),\n", + " (5, 0)),\n", + " ((2, 2), True, False, 1): ((1, 1),\n", + " (1, 2),\n", + " (1, 3),\n", + " (2, 1),\n", + " (2, 3),\n", + " (3, 1),\n", + " (3, 2),\n", + " (3, 3)),\n", + " ((3, 8), True, False, 1): ((2, 7),\n", + " (2, 8),\n", + " (2, 9),\n", + " (3, 7),\n", + " (3, 9),\n", + " (4, 7),\n", + " (4, 8),\n", + " (4, 9)),\n", + " ((1, 3), True, False, 1): ((0, 2),\n", + " (0, 3),\n", + " (0, 4),\n", + " (1, 2),\n", + " (1, 4),\n", + " (2, 2),\n", + " (2, 3),\n", + " (2, 4)),\n", + " ((2, 9), True, False, 1): ((1, 8),\n", + " (1, 9),\n", + " (1, 0),\n", + " (2, 8),\n", + " (2, 0),\n", + " (3, 8),\n", + " (3, 9),\n", + " (3, 0))},\n", + " 'cutoff_empties': 46.61556822380071,\n", + " 'properties': {},\n", + " '_empty_mask': array([[ True, True, True, True, True, True, True, True, True,\n", + " True],\n", + " [ True, True, True, True, True, True, True, True, True,\n", + " True],\n", + " [ True, True, True, True, True, True, True, True, True,\n", + " True],\n", + " [ True, True, True, True, True, True, True, True, True,\n", + " True],\n", + " [ True, True, True, True, True, True, True, True, True,\n", + " True],\n", + " [ True, True, True, True, True, True, True, True, True,\n", + " True],\n", + " [ True, True, True, True, True, True, True, True, True,\n", + " True],\n", + " [ True, True, True, True, True, True, True, True, True,\n", + " True],\n", + " [ True, True, True, True, True, True, True, True, True,\n", + " True],\n", + " [ True, True, True, True, True, True, True, True, True,\n", + " True]])}" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "space.__dict__" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "89fcf4a8-e5ef-4839-9c69-32a0f07c0412", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'unique_id': 73, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (0, 0), 'wealth': 2}\n", + "type(agent)=\n", + "{'unique_id': 43, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (0, 1), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 19, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (0, 1), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 58, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (0, 1), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 10, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (0, 2), 'wealth': 3}\n", + "type(agent)=\n", + "{'unique_id': 29, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (0, 5), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 4, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (0, 5), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 88, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (0, 6), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 52, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (0, 6), 'wealth': 2}\n", + "type(agent)=\n", + "{'unique_id': 7, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (0, 6), 'wealth': 2}\n", + "type(agent)=\n", + "{'unique_id': 65, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (0, 6), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 53, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (1, 1), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 98, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (1, 3), 'wealth': 6}\n", + "type(agent)=\n", + "{'unique_id': 11, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (1, 7), 'wealth': 4}\n", + "type(agent)=\n", + "{'unique_id': 45, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (1, 8), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 79, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (1, 9), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 32, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (2, 2), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 69, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (2, 2), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 92, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (2, 3), 'wealth': 3}\n", + "type(agent)=\n", + "{'unique_id': 62, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (2, 4), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 2, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (2, 4), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 6, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (2, 4), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 77, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (2, 4), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 18, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (2, 4), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 44, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (2, 5), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 34, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (2, 8), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 46, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (2, 9), 'wealth': 3}\n", + "type(agent)=\n", + "{'unique_id': 51, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (3, 0), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 63, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (3, 0), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 81, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (3, 1), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 99, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (3, 2), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 75, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (3, 2), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 55, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (3, 6), 'wealth': 2}\n", + "type(agent)=\n", + "{'unique_id': 93, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (3, 7), 'wealth': 7}\n", + "type(agent)=\n", + "{'unique_id': 12, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (3, 7), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 84, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (3, 8), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 70, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (4, 0), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 26, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (4, 0), 'wealth': 5}\n", + "type(agent)=\n", + "{'unique_id': 41, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (4, 1), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 39, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (4, 3), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 67, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (4, 4), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 23, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (4, 5), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 91, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (4, 5), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 13, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (4, 7), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 24, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (4, 8), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 66, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (4, 9), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 83, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (4, 9), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 14, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (4, 9), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 47, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (4, 9), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 86, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (4, 9), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 68, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (5, 0), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 21, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (5, 2), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 94, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (5, 4), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 49, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (5, 6), 'wealth': 2}\n", + "type(agent)=\n", + "{'unique_id': 50, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (5, 6), 'wealth': 2}\n", + "type(agent)=\n", + "{'unique_id': 0, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (5, 8), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 57, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (5, 9), 'wealth': 2}\n", + "type(agent)=\n", + "{'unique_id': 80, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (5, 9), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 78, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (5, 9), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 17, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (6, 1), 'wealth': 2}\n", + "type(agent)=\n", + "{'unique_id': 95, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (6, 4), 'wealth': 7}\n", + "type(agent)=\n", + "{'unique_id': 31, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (6, 4), 'wealth': 2}\n", + "type(agent)=\n", + "{'unique_id': 60, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (6, 4), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 27, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (6, 6), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 20, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (6, 7), 'wealth': 2}\n", + "type(agent)=\n", + "{'unique_id': 85, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (6, 8), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 42, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (6, 9), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 87, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (7, 2), 'wealth': 2}\n", + "type(agent)=\n", + "{'unique_id': 71, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (7, 3), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 5, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (7, 3), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 90, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (7, 4), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 89, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (7, 5), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 37, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (7, 6), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 61, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (7, 6), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 74, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (7, 6), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 25, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (7, 6), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 97, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (7, 7), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 96, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (7, 7), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 36, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (7, 8), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 82, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (7, 9), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 38, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (8, 1), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 8, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (8, 1), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 33, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (8, 1), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 28, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (8, 3), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 76, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (8, 4), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 16, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (8, 6), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 9, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (8, 6), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 48, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (8, 7), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 40, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (8, 8), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 30, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (8, 9), 'wealth': 2}\n", + "type(agent)=\n", + "{'unique_id': 64, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (8, 9), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 3, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (8, 9), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 59, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (9, 3), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 22, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (9, 4), 'wealth': 2}\n", + "type(agent)=\n", + "{'unique_id': 54, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (9, 6), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 1, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (9, 6), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 15, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (9, 6), 'wealth': 0}\n", + "type(agent)=\n", + "{'unique_id': 35, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (9, 7), 'wealth': 4}\n", + "type(agent)=\n", + "{'unique_id': 56, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (9, 7), 'wealth': 1}\n", + "type(agent)=\n", + "{'unique_id': 72, 'model': <__main__.MoneyModel object at 0x7f77e00c45e0>, 'pos': (9, 9), 'wealth': 0}\n", + "type(agent)=\n", + " pos_x pos_y unique_id wealth\n", + "0 0 0 73 2\n", + "1 0 1 43 0\n", + "2 0 1 19 0\n", + "3 0 1 58 0\n", + "4 0 2 10 3\n", + ".. ... ... ... ...\n", + "95 9 6 1 0\n", + "96 9 6 15 0\n", + "97 9 7 35 4\n", + "98 9 7 56 1\n", + "99 9 9 72 0\n", + "\n", + "[100 rows x 4 columns]\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "def cache_grid_state(grid, filename='grid_cache.parquet'):\n", + " grid_state = {\n", + " 'width': grid.width,\n", + " 'height': grid.height,\n", + " 'agents': []\n", + " }\n", + " for x in range(grid.width):\n", + " for y in range(grid.height):\n", + " cell_contents = grid._grid[x][y]\n", + " if cell_contents:\n", + " if not hasattr(cell_contents, \"__iter__\"):\n", + " cell_contents = [cell_contents]\n", + " for agent in cell_contents:\n", + " print(agent.__dict__)\n", + " print(f'{type(agent)=}')\n", + " agent_state = {\n", + " 'pos_x': agent.pos[0],\n", + " 'pos_y': agent.pos[1],\n", + " 'unique_id': agent.unique_id,\n", + " 'wealth': agent.wealth,\n", + " # **agent.__dict__\n", + " }\n", + " grid_state['agents'].append(agent_state)\n", + " \n", + " # Convert to DataFrame\n", + " df = pd.DataFrame(grid_state['agents'])\n", + " print(df)\n", + " # Save DataFrame to Parquet\n", + " df.to_parquet(filename)\n", + "\n", + "cache_grid_state(model.grid)" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "ad2f2e9b-5044-4ac3-b5ed-6a12862941c1", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + "
pos_xpos_yunique_idwealth
000732
101430
201190
301580
402103
...............
959610
9696150
9797354
9897561
9999720
\n", + "

100 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " pos_x pos_y unique_id wealth\n", + "0 0 0 73 2\n", + "1 0 1 43 0\n", + "2 0 1 19 0\n", + "3 0 1 58 0\n", + "4 0 2 10 3\n", + ".. ... ... ... ...\n", + "95 9 6 1 0\n", + "96 9 6 15 0\n", + "97 9 7 35 4\n", + "98 9 7 56 1\n", + "99 9 9 72 0\n", + "\n", + "[100 rows x 4 columns]" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "table = pd.read_parquet(\"grid_cache.parquet\")\n", + "table" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "31f59c6d-39b0-42bd-a948-b8a7e9791b2e", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "ename": "TypeError", + "evalue": "Agent.__init__() got an unexpected keyword argument 'pos'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[25], line 21\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m grid\n\u001b[1;32m 20\u001b[0m \u001b[38;5;66;03m# Usage\u001b[39;00m\n\u001b[0;32m---> 21\u001b[0m model_grid \u001b[38;5;241m=\u001b[39m \u001b[43mreconstruct_grid\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mgrid_cache.parquet\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 22\u001b[0m \u001b[38;5;28mprint\u001b[39m(model_grid)\n", + "Cell \u001b[0;32mIn[25], line 15\u001b[0m, in \u001b[0;36mreconstruct_grid\u001b[0;34m(filename)\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[38;5;66;03m# Add agents to the grid\u001b[39;00m\n\u001b[1;32m 14\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m _, row \u001b[38;5;129;01min\u001b[39;00m df\u001b[38;5;241m.\u001b[39miterrows():\n\u001b[0;32m---> 15\u001b[0m agent \u001b[38;5;241m=\u001b[39m \u001b[43mAgent\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpos\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mrow\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mpos_x\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrow\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mpos_y\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mwealth\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrow\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mwealth\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 16\u001b[0m grid\u001b[38;5;241m.\u001b[39madd_agent(agent, row[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mpos_x\u001b[39m\u001b[38;5;124m'\u001b[39m], row[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mpos_y\u001b[39m\u001b[38;5;124m'\u001b[39m])\n\u001b[1;32m 18\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m grid\n", + "\u001b[0;31mTypeError\u001b[0m: Agent.__init__() got an unexpected keyword argument 'pos'" + ] + } + ], + "source": [ + "# not implemented fully\n", + "\n", + "import pandas as pd\n", + "from mesa.space import MultiGrid as Grid\n", + "# import mesa.space.MultiGrid as Grid \n", + "def reconstruct_grid(filename='grid_cache.parquet'):\n", + " # Load the DataFrame from Parquet\n", + " df = pd.read_parquet(filename)\n", + " \n", + " # Create a new Grid instance\n", + " width = df['pos_x'].max() + 1 # Assuming positions start from 0\n", + " height = df['pos_y'].max() + 1 # Assuming positions start from 0\n", + " grid = Grid(width, height, False)\n", + " \n", + " # Add agents to the grid\n", + " for _, row in df.iterrows():\n", + " agent = Agent(pos=(row['pos_x'], row['pos_y']), wealth=row['wealth'])\n", + " grid.add_agent(agent, row['pos_x'], row['pos_y'])\n", + " \n", + " return grid\n", + "\n", + "# Usage\n", + "model_grid = reconstruct_grid('grid_cache.parquet')\n", + "print(model_grid)" + ] + }, + { + "cell_type": "markdown", + "id": "a7c983d9-a3fe-4427-96cc-7bd8c13e9a22", + "metadata": {}, + "source": [ + "# IGNORE BELOW KIV" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c670be7b-fda7-414f-b0c7-e7ec58d70805", + "metadata": {}, + "outputs": [], + "source": [ + "def agent_portrayal(agent):\n", + " size = 10\n", + " color = \"tab:red\"\n", + " if agent.wealth > 0:\n", + " size = 50\n", + " color = \"tab:blue\"\n", + " return {\"size\": size, \"color\": color}\n", + "\n", + "class dummy:\n", + "\n", + " def __init__(self):\n", + "\n", + "\n", + "def _draw_grid(space, space_ax, agent_portrayal):\n", + " def portray(g):\n", + " x = []\n", + " y = []\n", + " s = [] # size\n", + " c = [] # color\n", + " for i in range(g.width):\n", + " for j in range(g.height):\n", + " content = g._grid[i][j]\n", + " if not content:\n", + " continue\n", + " if not hasattr(content, \"__iter__\"):\n", + " # Is a single grid\n", + " content = [content]\n", + " for agent in content:\n", + " data = agent_portrayal(agent)\n", + " x.append(i)\n", + " y.append(j)\n", + " if \"size\" in data:\n", + " s.append(data[\"size\"])\n", + " if \"color\" in data:\n", + " c.append(data[\"color\"])\n", + " out = {\"x\": x, \"y\": y}\n", + " # This is the default value for the marker size, which auto-scales\n", + " # according to the grid area.\n", + " out[\"s\"] = (180 / max(g.width, g.height)) ** 2\n", + " if len(s) > 0:\n", + " out[\"s\"] = s\n", + " if len(c) > 0:\n", + " out[\"c\"] = c\n", + " return out\n", + "\n", + " space_ax.set_xlim(-1, space.width)\n", + " space_ax.set_ylim(-1, space.height)\n", + " space_ax.scatter(**portray(space))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "264cd17e-5245-4f03-8af5-e54cd6799771", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "grid_state = {}\n", + "grid_state[\"height\"] = space.height\n", + "grid_state[\"width\"] = space.width\n", + "grid_state[\"torus\"] = space.torus\n", + "grid_state[\"num_cells\"] = space.num_cells\n", + "# grid_state[\"_grid\"] = [\n", + "# [self.default_val() for _ in range(self.height)] for _ in range(self.width)\n", + "# ]\n", + "for i in range(space.height):\n", + " for j in range(space.width):\n", + " for agent_index in range(len(space._grid[i][j])):\n", + " agent = space._grid[i][j][agent_index]\n", + " agent_dict = {}\n", + " agent_dict[\"unique_id\"] = agent.unique_id\n", + " agent_dict[\"pos\"] = agent.pos\n", + " agent_dict[\"wealth\"] = agent.wealth\n", + " space._grid[i][j][agent_index] = agent_dict\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "25d211cf-82c3-429d-80c0-41ac7294ff32", + "metadata": {}, + "outputs": [], + "source": [ + "space.__dict__" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3a21a324-7b7e-4365-8a2c-86491e8551a8", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "df = pd.DataFrame(space.__dict__)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a42a7b17-2c64-4c85-9bdb-c298f70c8fba", + "metadata": {}, + "outputs": [], + "source": [ + "space.__dict__.keys()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eb8870a6-a9e5-4114-a129-31cd150fb9fa", + "metadata": {}, + "outputs": [], + "source": [ + "_draw_grid(space, space_ax, agent_portrayal)\n", + "solara.FigureMatplotlib(space_fig, format=\"png\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9abf2b97-ac6b-4be8-99ed-8f516bb83abb", + "metadata": {}, + "outputs": [], + "source": [ + "model._steps" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f90a3938-0f06-4e66-9bdc-16c31692fe18", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bf55b523-d558-4eb3-9a74-6032dc8e341a", + "metadata": {}, + "outputs": [], + "source": [ + "_draw_grid(space, space_ax, agent_portrayal)\n", + "solara.FigureMatplotlib(space_fig, format=\"png\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "37290b42-6398-4ee7-9844-ed4181f45e5f", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "from typing import List, Any\n", + "\n", + "def read_grid_state(filename='grid_cache.parquet', model: Any = None) -> Any:\n", + " \"\"\"Read the grid state from a Parquet file and reconstruct the grid with agents.\"\"\"\n", + " # Load DataFrame from Parquet\n", + " df = pd.read_parquet(filename)\n", + " \n", + " # Extract grid dimensions from the file\n", + " width = int(df['width'].iloc[0])\n", + " height = int(df['height'].iloc[0])\n", + " \n", + " # Initialize the grid\n", + " grid = Grid(width=width, height=height) # Adjust as needed for your grid class\n", + "\n", + " # Reconstruct agents and place them in the grid\n", + " agents = df[['pos_x', 'pos_y', 'wealth', 'unique_id']]\n", + " for _, row in agents.iterrows():\n", + " pos_x = int(row['pos_x'])\n", + " pos_y = int(row['pos_y'])\n", + " unique_id = int(row['unique_id'])\n", + " wealth = float(row['wealth'])\n", + " \n", + " # Create agent instance (adjust based on how you create agents)\n", + " agent = Agent(unique_id=unique_id, model=model)\n", + " agent.pos = (pos_x, pos_y)\n", + " agent.wealth = wealth\n", + "\n", + " # Place agent in the grid\n", + " grid._grid[pos_x][pos_y] = grid._grid[pos_x][pos_y] or []\n", + " grid._grid[pos_x][pos_y].append(agent)\n", + "\n", + " return grid\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2645afc6-a875-4a88-8a87-332b22700866", + "metadata": {}, + "outputs": [], + "source": [ + "# Example of loading a grid from a Parquet file\n", + " # Your model instance, or a placeholder if required\n", + "grid = read_grid_state('grid_cache.parquet', model=model)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "af6dd7cf-fddd-4ea6-ba1b-70fc75155f5c", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "248ea838-5c71-4838-b6ad-fdcfdc3a1c1e", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "gini = model.datacollector.get_model_vars_dataframe()\n", + "# Plot the Gini coefficient over time\n", + "g = sns.lineplot(data=gini)\n", + "g.set(title=\"Gini Coefficient over Time\", ylabel=\"Gini Coefficient\");" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9cf0a6c4-a976-4835-82e2-706f49b175d3", + "metadata": {}, + "outputs": [], + "source": [ + "gini" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "293d5002-5670-49e7-9d50-8bca632d743a", + "metadata": {}, + "outputs": [], + "source": [ + "agent_wealth" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5ecc197a-f2ca-4f7a-b66b-9e3767eb4c37", + "metadata": {}, + "outputs": [], + "source": [ + "agent_wealth = model.datacollector.get_agent_vars_dataframe().sort_index()\n", + "agent_wealth\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e0cea053-db1e-4fc7-a5aa-52ada390f2ea", + "metadata": {}, + "outputs": [], + "source": [ + "agent_wealth.iloc[:,0]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c9515417-7c5f-45f8-8ffa-2f466288ea1f", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "import pyarrow.parquet as pq\n", + "import pandas as pd\n", + "import glob\n", + "\n", + "# Get a list of all Parquet files\n", + "model_files = glob.glob('test_path/model_data_*.parquet')\n", + "agent_files = glob.glob('test_path/agent_data_*.parquet')\n", + "\n", + "# Initialize lists to hold dataframes\n", + "model_dfs = []\n", + "agent_dfs = []\n", + "\n", + "# Read and append each file to the list\n", + "for model_file in model_files:\n", + " table = pq.read_table(model_file)\n", + " df = table.to_pandas()\n", + " model_dfs.append(df)\n", + "\n", + "for agent_file in agent_files:\n", + " table = pq.read_table(agent_file)\n", + " df = table.to_pandas()\n", + " agent_dfs.append(df)\n", + " print(agent_dfs)\n", + " print(\"----\")\n", + "\n", + "# Concatenate all DataFrames\n", + "model_df = pd.concat(model_dfs, ignore_index=True)\n", + "agent_df = pd.concat(agent_dfs)\n", + "\n", + "# Display the combined DataFrames\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c6c73b47-b23c-4347-9951-b721ea5ed5da", + "metadata": {}, + "outputs": [], + "source": [ + "model_df\n", + "g = sns.lineplot(data=model_df)\n", + "g.set(title=\"Gini Coefficient over Time\", ylabel=\"Gini Coefficient\");" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21cfeacd-dcfa-485f-848e-88cb619addfc", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "model_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8c967f5e-4b91-44b8-b3f5-ab6874d0e28f", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "agent_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ea25fe67-a4fb-432c-8592-2a6b73dc28f0", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "model_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "50f26db2-06e0-49a1-996e-53e71a62ecbd", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "(gini == model_df).sum()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1ac6d4b7-b74f-41e8-82eb-368d77355d91", + "metadata": {}, + "outputs": [], + "source": [ + "table = pq.read_table(\"test_path/special_results.parquet\")\n", + "df = table.to_pandas()\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e6bc2d5c-d1a5-4316-9aeb-1fdf75b0b8f1", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "\n", + "# Read and combine the data\n", + "model_df, agent_df = cacheable_model.combine_dataframes()\n", + "\n", + "# Display the combined DataFrames\n", + "model_df\n", + "agent_df\n" ] } ], From e4dac0e2edcd7837b77a89412cb399443cbbf7fd Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 4 Aug 2024 10:30:33 +0000 Subject: [PATCH 9/9] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- mesa/cacheable_model.py | 99 ++++++++++++++++------------ mesa/cacheable_wrapper_example.ipynb | 16 ++--- mesa/datacollection_with_caching.py | 28 +++++--- mesa/example.ipynb | 36 +++++----- 4 files changed, 101 insertions(+), 78 deletions(-) diff --git a/mesa/cacheable_model.py b/mesa/cacheable_model.py index 4f3fbc621e9..0d1bd15c594 100644 --- a/mesa/cacheable_model.py +++ b/mesa/cacheable_model.py @@ -1,18 +1,15 @@ -import os import contextlib +import glob import itertools -import types -from copy import deepcopy -from functools import partial -from typing import Any, Callable +import os +from collections.abc import Callable +from pathlib import Path +from typing import Any import pyarrow as pa import pyarrow.parquet as pq -from pathlib import Path -from enum import Enum -from mesa import Model -import glob +from mesa import Model with contextlib.suppress(ImportError): import pandas as pd @@ -51,8 +48,9 @@ def __init__( self._cache_interval = 100 - self._last_cached_step = 0 # inclusive since it is the bottom bound of slicing + self._last_cached_step = 0 # inclusive since it is the bottom bound of slicing self.condition_function = condition_function + def get_agent_vars_dataframe(self): """Create a pandas DataFrame from the agent variables. @@ -65,7 +63,9 @@ def get_agent_vars_dataframe(self): "No agent reporters have been defined in the DataCollector, returning empty DataFrame." ) - all_records = itertools.chain.from_iterable(self.model.datacollector._agent_records.values()) + all_records = itertools.chain.from_iterable( + self.model.datacollector._agent_records.values() + ) rep_names = list(self.model.datacollector.agent_reporters) print(f"{all_records=}") print(f"{rep_names=}") @@ -76,9 +76,7 @@ def get_agent_vars_dataframe(self): index=["Step", "AgentID"], ) - - - sliced_df = df.loc[self._last_cached_step:self.model._steps] + sliced_df = df.loc[self._last_cached_step : self.model._steps] return sliced_df @@ -94,7 +92,9 @@ def get_model_vars_dataframe(self): "No model reporters have been defined in the DataCollector, returning empty DataFrame." ) - return pd.DataFrame(self.model.datacollector.model_vars)[self._last_cached_step:self.model._steps] + return pd.DataFrame(self.model.datacollector.model_vars)[ + self._last_cached_step : self.model._steps + ] def _save_to_parquet(self, model): """Save the current cache of data to a Parquet file and clear the cache.""" @@ -110,11 +110,17 @@ def _save_to_parquet(self, model): absolute_path = os.path.abspath(model_file) if os.path.exists(absolute_path): - raise FileExistsError(f"A directory with the name {model_file} already exists.") + raise FileExistsError( + f"A directory with the name {model_file} already exists." + ) if os.path.exists(model_file): - raise FileExistsError(f"A directory with the name {model_file} already exists.") + raise FileExistsError( + f"A directory with the name {model_file} already exists." + ) if os.path.exists(agent_file): - raise FileExistsError(f"A directory with the name {agent_file} already exists.") + raise FileExistsError( + f"A directory with the name {agent_file} already exists." + ) if not model_df.empty: model_table = pa.Table.from_pandas(model_df) @@ -128,18 +134,19 @@ def cache(self): """Custom collect method to extend the original collect behavior.""" # Implement your custom logic here # For example, let's say we want to write collected data to a cache file every `cache_step_rate` steps - if self.model._steps % self._cache_interval == 0: - self._save_to_parquet(self.model) - self._last_cached_step = self.model._steps - elif self.model._steps == self._total_steps: + if ( + self.model._steps % self._cache_interval == 0 + or self.model._steps == self._total_steps + ): self._save_to_parquet(self.model) self._last_cached_step = self.model._steps - if self.condition_function and self.save_special_results(self.condition_function): + if self.condition_function and self.save_special_results( + self.condition_function + ): pass def save_special_results(self, condition_function: Callable[[dict], bool]): - model_vars = self.model.datacollector.model_vars self.cache_file_path.mkdir(parents=True, exist_ok=True) @@ -147,26 +154,30 @@ def save_special_results(self, condition_function: Callable[[dict], bool]): special_results_file = f"{self.cache_file_path}/special_results.parquet" if condition_function(model_vars): step_data = {key: [value[-1]] for key, value in model_vars.items()} - step_data['Step'] = current_step + step_data["Step"] = current_step special_results_df = pd.DataFrame(step_data) # Append the current step data to the Parquet file if os.path.exists(special_results_file): existing_data = pq.read_table(special_results_file).to_pandas() - combined_data = pd.concat([existing_data, special_results_df], ignore_index=True) + combined_data = pd.concat( + [existing_data, special_results_df], ignore_index=True + ) special_results_table = pa.Table.from_pandas(combined_data) else: special_results_table = pa.Table.from_pandas(special_results_df) pq.write_table(special_results_table, special_results_file) - print(f"Condition met. Appended special results for step {current_step} to {special_results_file}") + print( + f"Condition met. Appended special results for step {current_step} to {special_results_file}" + ) else: print(f"Condition not met at step {current_step}. No data to save.") def read_model_data(self): """Read and combine all model data Parquet files into a single DataFrame.""" - model_files = glob.glob(f'{self.cache_file_path}/model_data_*.parquet') + model_files = glob.glob(f"{self.cache_file_path}/model_data_*.parquet") model_dfs = [] for model_file in model_files: @@ -182,7 +193,7 @@ def read_model_data(self): def read_agent_data(self): """Read and combine all agent data Parquet files into a single DataFrame.""" - agent_files = glob.glob(f'{self.cache_file_path}/agent_data_*.parquet') + agent_files = glob.glob(f"{self.cache_file_path}/agent_data_*.parquet") agent_dfs = [] for agent_file in agent_files: @@ -212,39 +223,43 @@ def combine_dataframes(self): # FOR GRID KIV IGNORE NOW -import pandas as pd -from typing import Dict, List, Any -from random import Random from mesa.agent import Agent + + class AgentSerializer: @staticmethod - def agent_to_dict(agent: Agent) -> Dict[str, Any]: + def agent_to_dict(agent: Agent) -> dict[str, Any]: """Convert an Agent instance to a dictionary.""" return { - 'unique_id': agent.unique_id, - 'model': str(agent.model), # Convert model to a string or identifier - 'pos': str(agent.pos) if agent.pos else None, # Convert position to a string or identifier + "unique_id": agent.unique_id, + "model": str(agent.model), # Convert model to a string or identifier + "pos": str(agent.pos) + if agent.pos + else None, # Convert position to a string or identifier } @staticmethod - def dict_to_agent(agent_dict: Dict[str, Any], model: Any) -> Agent: + def dict_to_agent(agent_dict: dict[str, Any], model: Any) -> Agent: """Convert a dictionary to an Agent instance.""" - unique_id = agent_dict['unique_id'] - pos = agent_dict['pos'] if agent_dict['pos'] != 'None' else None + unique_id = agent_dict["unique_id"] + pos = agent_dict["pos"] if agent_dict["pos"] != "None" else None agent = Agent(unique_id=unique_id, model=model) agent.pos = pos return agent @staticmethod - def save_agents_to_parquet(agents: List[Agent], filename: str) -> None: + def save_agents_to_parquet(agents: list[Agent], filename: str) -> None: """Save a list of agents to a Parquet file.""" agent_dicts = [AgentSerializer.agent_to_dict(agent) for agent in agents] df = pd.DataFrame(agent_dicts) df.to_parquet(filename) @staticmethod - def load_agents_from_parquet(filename: str, model: Any) -> List[Agent]: + def load_agents_from_parquet(filename: str, model: Any) -> list[Agent]: """Load agents from a Parquet file.""" df = pd.read_parquet(filename) - agents = [AgentSerializer.dict_to_agent(row.to_dict(), model) for _, row in df.iterrows()] + agents = [ + AgentSerializer.dict_to_agent(row.to_dict(), model) + for _, row in df.iterrows() + ] return agents diff --git a/mesa/cacheable_wrapper_example.ipynb b/mesa/cacheable_wrapper_example.ipynb index b83baae0372..9f9d39d7df3 100644 --- a/mesa/cacheable_wrapper_example.ipynb +++ b/mesa/cacheable_wrapper_example.ipynb @@ -4612,7 +4612,7 @@ " # **agent.__dict__\n", " }\n", " grid_state['agents'].append(agent_state)\n", - " \n", + "\n", " # Convert to DataFrame\n", " df = pd.DataFrame(grid_state['agents'])\n", " print(df)\n", @@ -4791,21 +4791,21 @@ "\n", "import pandas as pd\n", "from mesa.space import MultiGrid as Grid\n", - "# import mesa.space.MultiGrid as Grid \n", + "# import mesa.space.MultiGrid as Grid\n", "def reconstruct_grid(filename='grid_cache.parquet'):\n", " # Load the DataFrame from Parquet\n", " df = pd.read_parquet(filename)\n", - " \n", + "\n", " # Create a new Grid instance\n", " width = df['pos_x'].max() + 1 # Assuming positions start from 0\n", " height = df['pos_y'].max() + 1 # Assuming positions start from 0\n", " grid = Grid(width, height, False)\n", - " \n", + "\n", " # Add agents to the grid\n", " for _, row in df.iterrows():\n", " agent = Agent(pos=(row['pos_x'], row['pos_y']), wealth=row['wealth'])\n", " grid.add_agent(agent, row['pos_x'], row['pos_y'])\n", - " \n", + "\n", " return grid\n", "\n", "# Usage\n", @@ -4992,11 +4992,11 @@ " \"\"\"Read the grid state from a Parquet file and reconstruct the grid with agents.\"\"\"\n", " # Load DataFrame from Parquet\n", " df = pd.read_parquet(filename)\n", - " \n", + "\n", " # Extract grid dimensions from the file\n", " width = int(df['width'].iloc[0])\n", " height = int(df['height'].iloc[0])\n", - " \n", + "\n", " # Initialize the grid\n", " grid = Grid(width=width, height=height) # Adjust as needed for your grid class\n", "\n", @@ -5007,7 +5007,7 @@ " pos_y = int(row['pos_y'])\n", " unique_id = int(row['unique_id'])\n", " wealth = float(row['wealth'])\n", - " \n", + "\n", " # Create agent instance (adjust based on how you create agents)\n", " agent = Agent(unique_id=unique_id, model=model)\n", " agent.pos = (pos_x, pos_y)\n", diff --git a/mesa/datacollection_with_caching.py b/mesa/datacollection_with_caching.py index 3e093f18da4..3c19ce436eb 100644 --- a/mesa/datacollection_with_caching.py +++ b/mesa/datacollection_with_caching.py @@ -33,16 +33,16 @@ * For collecting agent-level variables, agents must have a unique_id """ -import os import contextlib import itertools +import os import types from copy import deepcopy from functools import partial + import pyarrow as pa import pyarrow.parquet as pq - with contextlib.suppress(ImportError): import pandas as pd @@ -62,7 +62,7 @@ def __init__( model_reporters=None, agent_reporters=None, tables=None, - output_dir='output_dir', + output_dir="output_dir", ): """ Instantiate a DataCollector with lists of model and agent reporters. @@ -120,9 +120,9 @@ def __init__( self.output_dir = output_dir if not output_dir: - raise ValueError('output_dir cannot be None') + raise ValueError("output_dir cannot be None") if not os.path.exists(output_dir): - print("Creating output directory {}".format(output_dir)) + print(f"Creating output directory {output_dir}") os.makedirs(output_dir) if model_reporters is not None: @@ -229,7 +229,9 @@ def collect(self, model): # Check if function with arguments elif isinstance(reporter, list): self.model_vars[var].append(deepcopy(reporter[0](*reporter[1]))) - self.model_vars_cache[var].append(deepcopy(reporter[0](*reporter[1]))) + self.model_vars_cache[var].append( + deepcopy(reporter[0](*reporter[1])) + ) # Assume it's a callable otherwise (e.g., method) # TODO: Check if method of a class explicitly else: @@ -336,11 +338,17 @@ def _save_to_parquet(self, model): absolute_path = os.path.abspath(model_file) print(f"{absolute_path=}") if os.path.exists(absolute_path): - raise FileExistsError(f"A directory with the name {model_file} already exists.") + raise FileExistsError( + f"A directory with the name {model_file} already exists." + ) if os.path.exists(model_file): - raise FileExistsError(f"A directory with the name {model_file} already exists.") + raise FileExistsError( + f"A directory with the name {model_file} already exists." + ) if os.path.exists(agent_file): - raise FileExistsError(f"A directory with the name {agent_file} already exists.") + raise FileExistsError( + f"A directory with the name {agent_file} already exists." + ) if not model_df.empty: model_table = pa.Table.from_pandas(model_df) @@ -358,4 +366,4 @@ def cache_remaining_data(self, model): """Cache the remaining data in model_vars_cache and _agent_records.""" if not self.model_vars_cache: print("No model vars cached yet.") - self._save_to_parquet(model) \ No newline at end of file + self._save_to_parquet(model) diff --git a/mesa/example.ipynb b/mesa/example.ipynb index 84f02283e0b..88de19ff3df 100644 --- a/mesa/example.ipynb +++ b/mesa/example.ipynb @@ -46,17 +46,16 @@ }, "outputs": [], "source": [ - "import mesa\n", - "\n", - "# Data visualization tools.\n", - "import seaborn as sns\n", - "\n", "# Has multi-dimensional arrays and matrices. Has a large collection of\n", "# mathematical functions to operate on these arrays.\n", - "import numpy as np\n", "\n", "# Data manipulation and analysis.\n", - "import pandas as pd" + "import pandas as pd\n", + "\n", + "# Data visualization tools.\n", + "import seaborn as sns\n", + "\n", + "import mesa" ] }, { @@ -1389,10 +1388,9 @@ ], "source": [ "import pyarrow.parquet as pq\n", - "import pandas as pd\n", "\n", "# Read a single Parquet file\n", - "table = pq.read_table('output_dir/model_data_1.parquet')\n", + "table = pq.read_table(\"output_dir/model_data_1.parquet\")\n", "\n", "# Convert to a pandas DataFrame\n", "df = table.to_pandas()\n", @@ -1445,13 +1443,13 @@ } ], "source": [ - "import pyarrow.parquet as pq\n", - "import pandas as pd\n", "import glob\n", "\n", + "import pyarrow.parquet as pq\n", + "\n", "# Get a list of all Parquet files\n", - "model_files = glob.glob('output_dir/model_data_*.parquet')\n", - "agent_files = glob.glob('output_dir/agent_data_*.parquet')\n", + "model_files = glob.glob(\"output_dir/model_data_*.parquet\")\n", + "agent_files = glob.glob(\"output_dir/agent_data_*.parquet\")\n", "\n", "# Initialize lists to hold dataframes\n", "model_dfs = []\n", @@ -1647,23 +1645,25 @@ "source": [ "import pyarrow.parquet as pq\n", "\n", + "\n", "def process_parquet_file(file_path):\n", " # Read a single Parquet file\n", " table = pq.read_table(file_path)\n", - " \n", + "\n", " # Convert to a pandas DataFrame\n", " df = table.to_pandas()\n", - " \n", + "\n", " # Process the DataFrame (e.g., analyze, transform, etc.)\n", " # For example, just print the first few rows\n", " print(df.head())\n", - " \n", + "\n", " # Optionally, return or save the processed DataFrame\n", " return df\n", "\n", + "\n", "# Get a list of all Parquet files\n", - "model_files = glob.glob('output_dir/model_data_*.parquet')\n", - "agent_files = glob.glob('output_dir/agent_data_*.parquet')\n", + "model_files = glob.glob(\"output_dir/model_data_*.parquet\")\n", + "agent_files = glob.glob(\"output_dir/agent_data_*.parquet\")\n", "\n", "# Process each file incrementally\n", "for model_file in model_files:\n",