From 271b6bc34579703698bde4caa5a725af91d22475 Mon Sep 17 00:00:00 2001 From: chesterxgchen Date: Sat, 28 Dec 2024 21:51:45 -0800 Subject: [PATCH] 1. Add percentile support using t-digest 2. Add examples for df_stats 3. refactoring the some of the codebase 4. missing work 1. add DP noise 2. make writing filer easier for end-user 3. add job API for the stats. Job 4. make it even easier to work on stats. 5. unit tests --- .../federated-statistics/df_stats.ipynb | 278 +------ .../df_stats/demo/visualization.ipynb | 743 +----------------- 2 files changed, 10 insertions(+), 1011 deletions(-) diff --git a/examples/advanced/federated-statistics/df_stats.ipynb b/examples/advanced/federated-statistics/df_stats.ipynb index 4450c8aa54..944544e4e5 100644 --- a/examples/advanced/federated-statistics/df_stats.ipynb +++ b/examples/advanced/federated-statistics/df_stats.ipynb @@ -143,270 +143,10 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "6361a85e-4187-433c-976c-0dc4021908ac", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-12-28 21:02:38,885 - SimulatorRunner - INFO - Create the Simulator Server.\n", - "2024-12-28 21:02:38,886 - CoreCell - INFO - server: creating listener on tcp://0:56065\n", - "2024-12-28 21:02:38,997 - CoreCell - INFO - server: created backbone external listener for tcp://0:56065\n", - "2024-12-28 21:02:38,997 - ConnectorManager - INFO - 36336: Try start_listener Listener resources: {'secure': False, 'host': 'localhost'}\n", - "2024-12-28 21:02:38,998 - conn_manager - INFO - Connector [CH00002 PASSIVE tcp://0:17913] is starting\n", - "2024-12-28 21:02:39,503 - CoreCell - INFO - server: created backbone internal listener for tcp://localhost:17913\n", - "2024-12-28 21:02:39,504 - conn_manager - INFO - Connector [CH00001 PASSIVE tcp://0:56065] is starting\n", - "2024-12-28 21:02:39,506 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Request\n", - "2024-12-28 21:02:39,506 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Abort\n", - "2024-12-28 21:02:39,506 - SimulatorServerEngine - INFO - initialize_comm called!\n", - "2024-12-28 21:02:39,506 - Cell - INFO - Register blob CB for channel='aux_communication', topic='*'\n", - "2024-12-28 21:02:39,507 - SimulatorServer - INFO - max_reg_duration=60.0\n", - "2024-12-28 21:02:39,562 - hci - INFO - Starting Admin Server localhost on Port 56066\n", - "2024-12-28 21:02:39,562 - SimulatorRunner - INFO - Deploy the Apps.\n", - "2024-12-28 21:02:39,617 - SimulatorRunner - INFO - Create the simulate clients.\n", - "2024-12-28 21:02:39,618 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Request\n", - "2024-12-28 21:02:39,618 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Abort\n", - "2024-12-28 21:02:39,622 - Communicator - INFO - Trying to register with server ...\n", - "2024-12-28 21:02:39,623 - ClientManager - INFO - authenticated client site-1: client_fqcn='site-1'\n", - "2024-12-28 21:02:39,623 - ClientManager - INFO - Client: New client site-1@192.168.86.34 joined. Sent token: ddd6b1fe-b1e8-4403-af70-58473e1d32f4. Total clients: 1\n", - "2024-12-28 21:02:39,623 - Communicator - INFO - register RC: ok\n", - "2024-12-28 21:02:39,623 - FederatedClient - INFO - Successfully registered client:site-1 for project simulator_server. Token:ddd6b1fe-b1e8-4403-af70-58473e1d32f4 SSID:\n", - "2024-12-28 21:02:39,623 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Request\n", - "2024-12-28 21:02:39,623 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Abort\n", - "2024-12-28 21:02:39,624 - Communicator - INFO - Trying to register with server ...\n", - "2024-12-28 21:02:39,624 - ClientManager - INFO - authenticated client site-2: client_fqcn='site-2'\n", - "2024-12-28 21:02:39,624 - ClientManager - INFO - Client: New client site-2@192.168.86.34 joined. Sent token: fba79124-9909-4873-8441-72e690b4be00. Total clients: 2\n", - "2024-12-28 21:02:39,624 - Communicator - INFO - register RC: ok\n", - "2024-12-28 21:02:39,624 - FederatedClient - INFO - Successfully registered client:site-2 for project simulator_server. Token:fba79124-9909-4873-8441-72e690b4be00 SSID:\n", - "2024-12-28 21:02:39,624 - SimulatorRunner - INFO - Set the client status ready.\n", - "2024-12-28 21:02:39,624 - SimulatorRunner - INFO - Deploy and start the Server App.\n", - "2024-12-28 21:02:39,625 - Cell - INFO - Register blob CB for channel='server_command', topic='*'\n", - "2024-12-28 21:02:39,625 - Cell - INFO - Register blob CB for channel='aux_communication', topic='*'\n", - "2024-12-28 21:02:39,625 - ServerCommandAgent - INFO - ServerCommandAgent cell register_request_cb: server.simulate_job\n", - "2024-12-28 21:02:39,673 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Request\n", - "2024-12-28 21:02:39,673 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Abort\n", - "2024-12-28 21:02:39,673 - AuxRunner - INFO - registered aux handler for topic __sync_runner__\n", - "2024-12-28 21:02:39,673 - AuxRunner - INFO - registered aux handler for topic __job_heartbeat__\n", - "2024-12-28 21:02:39,673 - AuxRunner - INFO - registered aux handler for topic __task_check__\n", - "2024-12-28 21:02:39,674 - AuxRunner - INFO - registered aux handler for topic RM.RELIABLE_REQUEST\n", - "2024-12-28 21:02:39,674 - AuxRunner - INFO - registered aux handler for topic RM.RELIABLE_REPLY\n", - "2024-12-28 21:02:39,674 - ReliableMessage - INFO - enabled reliable message: max_request_workers=20 query_interval=2.0\n", - "2024-12-28 21:02:39,674 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job]: Server runner starting ...\n", - "2024-12-28 21:02:39,674 - AuxRunner - INFO - registered aux handler for topic fed.event\n", - "2024-12-28 21:02:39,674 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job]: starting workflow fed_stats_controller () ...\n", - "2024-12-28 21:02:39,674 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: Workflow fed_stats_controller () started\n", - "2024-12-28 21:02:39,675 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: fed_stats control flow started.\n", - "2024-12-28 21:02:39,675 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: start prepare inputs for task fed_stats_1st_statistics\n", - "2024-12-28 21:02:39,675 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: task: fed_stats statistics_flow for fed_stats_1st_statistics started.\n", - "2024-12-28 21:02:39,675 - WFCommServer - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: scheduled task fed_stats\n", - "2024-12-28 21:02:40,630 - SimulatorClientRunner - INFO - Start the clients run simulation.\n", - "2024-12-28 21:02:41,633 - SimulatorClientRunner - INFO - Simulate Run client: site-1 on GPU group: None\n", - "2024-12-28 21:02:41,640 - SimulatorClientRunner - INFO - Simulate Run client: site-2 on GPU group: None\n", - "2024-12-28 21:02:42,673 - ClientTaskWorker - INFO - ClientTaskWorker started to run\n", - "2024-12-28 21:02:42,673 - ClientTaskWorker - INFO - ClientTaskWorker started to run\n", - "2024-12-28 21:02:42,706 - CoreCell - INFO - site-2.simulate_job: created backbone external connector to tcp://localhost:56065\n", - "2024-12-28 21:02:42,706 - CoreCell - INFO - site-1.simulate_job: created backbone external connector to tcp://localhost:56065\n", - "2024-12-28 21:02:42,706 - conn_manager - INFO - Connector [CH00001 ACTIVE tcp://localhost:56065] is starting\n", - "2024-12-28 21:02:42,706 - conn_manager - INFO - Connector [CH00001 ACTIVE tcp://localhost:56065] is starting\n", - "2024-12-28 21:02:42,707 - conn_manager - INFO - Connection [CN00002 127.0.0.1:56078 => 127.0.0.1:56065] is created: PID: 36342\n", - "2024-12-28 21:02:42,707 - conn_manager - INFO - Connection [CN00002 127.0.0.1:56077 => 127.0.0.1:56065] is created: PID: 36343\n", - "2024-12-28 21:02:42,708 - conn_manager - INFO - Connection [CN00005 127.0.0.1:56065 <= 127.0.0.1:56078] is created: PID: 36336\n", - "2024-12-28 21:02:42,708 - conn_manager - INFO - Connection [CN00006 127.0.0.1:56065 <= 127.0.0.1:56077] is created: PID: 36336\n", - "2024-12-28 21:02:42,811 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Request\n", - "2024-12-28 21:02:42,811 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Abort\n", - "2024-12-28 21:02:42,811 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Request\n", - "2024-12-28 21:02:42,811 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Abort\n", - "2024-12-28 21:02:43,972 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Request\n", - "2024-12-28 21:02:43,972 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Request\n", - "2024-12-28 21:02:43,972 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Abort\n", - "2024-12-28 21:02:43,972 - AuxRunner - INFO - registered aux handler for topic ObjectStreamer.Abort\n", - "2024-12-28 21:02:43,973 - AuxRunner - INFO - registered aux handler for topic __end_run__\n", - "2024-12-28 21:02:43,973 - AuxRunner - INFO - registered aux handler for topic __end_run__\n", - "2024-12-28 21:02:43,973 - AuxRunner - INFO - registered aux handler for topic __do_task__\n", - "2024-12-28 21:02:43,973 - AuxRunner - INFO - registered aux handler for topic __do_task__\n", - "2024-12-28 21:02:43,973 - Cell - INFO - Register blob CB for channel='aux_communication', topic='*'\n", - "2024-12-28 21:02:43,974 - Cell - INFO - Register blob CB for channel='aux_communication', topic='*'\n", - "2024-12-28 21:02:44,497 - ClientRunner - INFO - [identity=site-1, run=simulate_job]: synced to Server Runner in 0.5120582580566406 seconds\n", - "2024-12-28 21:02:44,498 - AuxRunner - INFO - registered aux handler for topic RM.RELIABLE_REQUEST\n", - "2024-12-28 21:02:44,498 - AuxRunner - INFO - registered aux handler for topic RM.RELIABLE_REPLY\n", - "2024-12-28 21:02:44,498 - ReliableMessage - INFO - enabled reliable message: max_request_workers=20 query_interval=2.0\n", - "2024-12-28 21:02:44,499 - DFStatistics - INFO - [identity=site-1, run=simulate_job]: load data for client site-1\n", - "2024-12-28 21:02:44,500 - ClientRunner - INFO - [identity=site-2, run=simulate_job]: synced to Server Runner in 0.5145268440246582 seconds\n", - "2024-12-28 21:02:44,500 - AuxRunner - INFO - registered aux handler for topic RM.RELIABLE_REQUEST\n", - "2024-12-28 21:02:44,500 - AuxRunner - INFO - registered aux handler for topic RM.RELIABLE_REPLY\n", - "2024-12-28 21:02:44,501 - ReliableMessage - INFO - enabled reliable message: max_request_workers=20 query_interval=2.0\n", - "2024-12-28 21:02:44,501 - DFStatistics - INFO - [identity=site-2, run=simulate_job]: load data for client site-2\n", - "2024-12-28 21:02:44,647 - DFStatistics - INFO - [identity=site-2, run=simulate_job]: load data done for client site-2\n", - "2024-12-28 21:02:44,648 - AuxRunner - INFO - registered aux handler for topic fed.event\n", - "2024-12-28 21:02:44,648 - ClientRunner - INFO - [identity=site-2, run=simulate_job]: client runner started\n", - "2024-12-28 21:02:44,648 - ClientTaskWorker - INFO - Initialize ClientRunner for client: site-2\n", - "2024-12-28 21:02:44,650 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-2, peer_run=simulate_job, task_name=fed_stats, task_id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2]: assigned task to client site-2: name=fed_stats, id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2\n", - "2024-12-28 21:02:44,650 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-2, peer_run=simulate_job, task_name=fed_stats, task_id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2]: sent task assignment to client. client_name:site-2 task_id:c2ddc6ac-11b3-447d-9758-a8b1e03566b2\n", - "2024-12-28 21:02:44,650 - GetTaskCommand - INFO - return task to client. client_name: site-2 task_name: fed_stats task_id: c2ddc6ac-11b3-447d-9758-a8b1e03566b2 sharable_header_task_id: c2ddc6ac-11b3-447d-9758-a8b1e03566b2\n", - "2024-12-28 21:02:44,651 - Communicator - INFO - Received from simulator_server server. getTask: fed_stats size: 1.9KB (1936 Bytes) time: 0.002622 seconds\n", - "2024-12-28 21:02:44,651 - FederatedClient - INFO - pull_task completed. Task name:fed_stats Status:True \n", - "2024-12-28 21:02:44,651 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job]: got task assignment: name=fed_stats, id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2\n", - "2024-12-28 21:02:44,651 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2]: invoking task executor StatisticsExecutor\n", - "2024-12-28 21:02:44,651 - StatisticsTaskHandler - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2]: Executing task 'fed_stats' for client: 'site-2'\n", - "2024-12-28 21:02:44,758 - DFStatistics - INFO - [identity=site-1, run=simulate_job]: load data done for client site-1\n", - "2024-12-28 21:02:44,759 - AuxRunner - INFO - registered aux handler for topic fed.event\n", - "2024-12-28 21:02:44,759 - ClientRunner - INFO - [identity=site-1, run=simulate_job]: client runner started\n", - "2024-12-28 21:02:44,759 - ClientTaskWorker - INFO - Initialize ClientRunner for client: site-1\n", - "2024-12-28 21:02:44,760 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-1, peer_run=simulate_job, task_name=fed_stats, task_id=a772155a-53e1-446d-a1d9-9955eaf50c1d]: assigned task to client site-1: name=fed_stats, id=a772155a-53e1-446d-a1d9-9955eaf50c1d\n", - "2024-12-28 21:02:44,760 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-1, peer_run=simulate_job, task_name=fed_stats, task_id=a772155a-53e1-446d-a1d9-9955eaf50c1d]: sent task assignment to client. client_name:site-1 task_id:a772155a-53e1-446d-a1d9-9955eaf50c1d\n", - "2024-12-28 21:02:44,760 - GetTaskCommand - INFO - return task to client. client_name: site-1 task_name: fed_stats task_id: a772155a-53e1-446d-a1d9-9955eaf50c1d sharable_header_task_id: a772155a-53e1-446d-a1d9-9955eaf50c1d\n", - "2024-12-28 21:02:44,761 - Communicator - INFO - Received from simulator_server server. getTask: fed_stats size: 1.9KB (1936 Bytes) time: 0.002067 seconds\n", - "2024-12-28 21:02:44,761 - FederatedClient - INFO - pull_task completed. Task name:fed_stats Status:True \n", - "2024-12-28 21:02:44,761 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job]: got task assignment: name=fed_stats, id=a772155a-53e1-446d-a1d9-9955eaf50c1d\n", - "2024-12-28 21:02:44,761 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=a772155a-53e1-446d-a1d9-9955eaf50c1d]: invoking task executor StatisticsExecutor\n", - "2024-12-28 21:02:44,761 - StatisticsTaskHandler - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=a772155a-53e1-446d-a1d9-9955eaf50c1d]: Executing task 'fed_stats' for client: 'site-1'\n", - "2024-12-28 21:02:45,352 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2]: finished processing task\n", - "2024-12-28 21:02:45,352 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2]: try #1: sending task result to server\n", - "2024-12-28 21:02:45,352 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2]: checking task ...\n", - "2024-12-28 21:02:45,354 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2]: start to send task result to server\n", - "2024-12-28 21:02:45,354 - FederatedClient - INFO - Starting to push execute result.\n", - "2024-12-28 21:02:45,355 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-2, peer_run=simulate_job]: got result from client site-2 for task: name=fed_stats, id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2\n", - "2024-12-28 21:02:45,355 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-2, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2]: Processing fed_stats result from client site-2\n", - "2024-12-28 21:02:45,355 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-2, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2]: Received result entries from client:site-2, for task fed_stats\n", - "2024-12-28 21:02:45,355 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-2, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2]: handle client site-2 results for statistics task: fed_stats_1st_statistics\n", - "2024-12-28 21:02:45,356 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-2, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2]: finished processing client result by fed_stats_controller\n", - "2024-12-28 21:02:45,356 - SubmitUpdateCommand - INFO - submit_update process. client_name:site-2 task_id:c2ddc6ac-11b3-447d-9758-a8b1e03566b2\n", - "2024-12-28 21:02:45,357 - Communicator - INFO - SubmitUpdate size: 55.4KB (55385 Bytes). time: 0.002790 seconds\n", - "2024-12-28 21:02:45,357 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=c2ddc6ac-11b3-447d-9758-a8b1e03566b2]: task result sent to server\n", - "2024-12-28 21:02:45,357 - ClientTaskWorker - INFO - Finished one task run for client: site-2 interval: 2 task_processed: True\n", - "2024-12-28 21:02:46,216 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=a772155a-53e1-446d-a1d9-9955eaf50c1d]: finished processing task\n", - "2024-12-28 21:02:46,216 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=a772155a-53e1-446d-a1d9-9955eaf50c1d]: try #1: sending task result to server\n", - "2024-12-28 21:02:46,216 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=a772155a-53e1-446d-a1d9-9955eaf50c1d]: checking task ...\n", - "2024-12-28 21:02:46,218 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=a772155a-53e1-446d-a1d9-9955eaf50c1d]: start to send task result to server\n", - "2024-12-28 21:02:46,218 - FederatedClient - INFO - Starting to push execute result.\n", - "2024-12-28 21:02:46,219 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-1, peer_run=simulate_job]: got result from client site-1 for task: name=fed_stats, id=a772155a-53e1-446d-a1d9-9955eaf50c1d\n", - "2024-12-28 21:02:46,219 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-1, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=a772155a-53e1-446d-a1d9-9955eaf50c1d]: Processing fed_stats result from client site-1\n", - "2024-12-28 21:02:46,219 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-1, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=a772155a-53e1-446d-a1d9-9955eaf50c1d]: Received result entries from client:site-1, for task fed_stats\n", - "2024-12-28 21:02:46,219 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-1, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=a772155a-53e1-446d-a1d9-9955eaf50c1d]: handle client site-1 results for statistics task: fed_stats_1st_statistics\n", - "2024-12-28 21:02:46,220 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-1, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=a772155a-53e1-446d-a1d9-9955eaf50c1d]: finished processing client result by fed_stats_controller\n", - "2024-12-28 21:02:46,220 - SubmitUpdateCommand - INFO - submit_update process. client_name:site-1 task_id:a772155a-53e1-446d-a1d9-9955eaf50c1d\n", - "2024-12-28 21:02:46,221 - Communicator - INFO - SubmitUpdate size: 62KB (62015 Bytes). time: 0.002926 seconds\n", - "2024-12-28 21:02:46,221 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=a772155a-53e1-446d-a1d9-9955eaf50c1d]: task result sent to server\n", - "2024-12-28 21:02:46,221 - ClientTaskWorker - INFO - Finished one task run for client: site-1 interval: 2 task_processed: True\n", - "2024-12-28 21:02:46,407 - WFCommServer - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: task fed_stats exit with status TaskCompletionStatus.OK\n", - "\n", - "\n", - " in get_global_stats: precision=2 \n", - "\n", - "\n", - "2024-12-28 21:02:46,693 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: task fed_stats statistics_flow for fed_stats_1st_statistics flow end.\n", - "2024-12-28 21:02:46,693 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: start prepare inputs for task fed_stats_2nd_statistics\n", - "2024-12-28 21:02:46,693 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: task: fed_stats statistics_flow for fed_stats_2nd_statistics started.\n", - "2024-12-28 21:02:46,693 - WFCommServer - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: scheduled task fed_stats\n", - "2024-12-28 21:02:47,368 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-2, peer_run=simulate_job, task_name=fed_stats, task_id=a89a7532-1345-4d37-9bdc-21134ffde03c]: assigned task to client site-2: name=fed_stats, id=a89a7532-1345-4d37-9bdc-21134ffde03c\n", - "2024-12-28 21:02:47,369 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-2, peer_run=simulate_job, task_name=fed_stats, task_id=a89a7532-1345-4d37-9bdc-21134ffde03c]: sent task assignment to client. client_name:site-2 task_id:a89a7532-1345-4d37-9bdc-21134ffde03c\n", - "2024-12-28 21:02:47,369 - GetTaskCommand - INFO - return task to client. client_name: site-2 task_name: fed_stats task_id: a89a7532-1345-4d37-9bdc-21134ffde03c sharable_header_task_id: a89a7532-1345-4d37-9bdc-21134ffde03c\n", - "2024-12-28 21:02:47,372 - Communicator - INFO - Received from simulator_server server. getTask: fed_stats size: 7.7KB (7672 Bytes) time: 0.009227 seconds\n", - "2024-12-28 21:02:47,373 - FederatedClient - INFO - pull_task completed. Task name:fed_stats Status:True \n", - "2024-12-28 21:02:47,373 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job]: got task assignment: name=fed_stats, id=a89a7532-1345-4d37-9bdc-21134ffde03c\n", - "2024-12-28 21:02:47,374 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=a89a7532-1345-4d37-9bdc-21134ffde03c]: invoking task executor StatisticsExecutor\n", - "2024-12-28 21:02:47,374 - StatisticsTaskHandler - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=a89a7532-1345-4d37-9bdc-21134ffde03c]: Executing task 'fed_stats' for client: 'site-2'\n", - "2024-12-28 21:02:47,388 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=a89a7532-1345-4d37-9bdc-21134ffde03c]: finished processing task\n", - "2024-12-28 21:02:47,389 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=a89a7532-1345-4d37-9bdc-21134ffde03c]: try #1: sending task result to server\n", - "2024-12-28 21:02:47,389 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=a89a7532-1345-4d37-9bdc-21134ffde03c]: checking task ...\n", - "2024-12-28 21:02:47,391 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=a89a7532-1345-4d37-9bdc-21134ffde03c]: start to send task result to server\n", - "2024-12-28 21:02:47,391 - FederatedClient - INFO - Starting to push execute result.\n", - "2024-12-28 21:02:47,392 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-2, peer_run=simulate_job]: got result from client site-2 for task: name=fed_stats, id=a89a7532-1345-4d37-9bdc-21134ffde03c\n", - "2024-12-28 21:02:47,392 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-2, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=a89a7532-1345-4d37-9bdc-21134ffde03c]: Processing fed_stats result from client site-2\n", - "2024-12-28 21:02:47,392 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-2, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=a89a7532-1345-4d37-9bdc-21134ffde03c]: Received result entries from client:site-2, for task fed_stats\n", - "2024-12-28 21:02:47,392 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-2, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=a89a7532-1345-4d37-9bdc-21134ffde03c]: handle client site-2 results for statistics task: fed_stats_2nd_statistics\n", - "2024-12-28 21:02:47,393 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-2, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=a89a7532-1345-4d37-9bdc-21134ffde03c]: finished processing client result by fed_stats_controller\n", - "2024-12-28 21:02:47,393 - SubmitUpdateCommand - INFO - submit_update process. client_name:site-2 task_id:a89a7532-1345-4d37-9bdc-21134ffde03c\n", - "2024-12-28 21:02:47,394 - Communicator - INFO - SubmitUpdate size: 133KB (132972 Bytes). time: 0.003344 seconds\n", - "2024-12-28 21:02:47,394 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=a89a7532-1345-4d37-9bdc-21134ffde03c]: task result sent to server\n", - "2024-12-28 21:02:47,394 - ClientTaskWorker - INFO - Finished one task run for client: site-2 interval: 2 task_processed: True\n", - "2024-12-28 21:02:48,232 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-1, peer_run=simulate_job, task_name=fed_stats, task_id=6a33aeef-9098-479f-8d2b-9a6acc20e299]: assigned task to client site-1: name=fed_stats, id=6a33aeef-9098-479f-8d2b-9a6acc20e299\n", - "2024-12-28 21:02:48,233 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-1, peer_run=simulate_job, task_name=fed_stats, task_id=6a33aeef-9098-479f-8d2b-9a6acc20e299]: sent task assignment to client. client_name:site-1 task_id:6a33aeef-9098-479f-8d2b-9a6acc20e299\n", - "2024-12-28 21:02:48,234 - GetTaskCommand - INFO - return task to client. client_name: site-1 task_name: fed_stats task_id: 6a33aeef-9098-479f-8d2b-9a6acc20e299 sharable_header_task_id: 6a33aeef-9098-479f-8d2b-9a6acc20e299\n", - "2024-12-28 21:02:48,237 - Communicator - INFO - Received from simulator_server server. getTask: fed_stats size: 7.7KB (7672 Bytes) time: 0.009818 seconds\n", - "2024-12-28 21:02:48,238 - FederatedClient - INFO - pull_task completed. Task name:fed_stats Status:True \n", - "2024-12-28 21:02:48,238 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job]: got task assignment: name=fed_stats, id=6a33aeef-9098-479f-8d2b-9a6acc20e299\n", - "2024-12-28 21:02:48,239 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=6a33aeef-9098-479f-8d2b-9a6acc20e299]: invoking task executor StatisticsExecutor\n", - "2024-12-28 21:02:48,239 - StatisticsTaskHandler - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=6a33aeef-9098-479f-8d2b-9a6acc20e299]: Executing task 'fed_stats' for client: 'site-1'\n", - "2024-12-28 21:02:48,262 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=6a33aeef-9098-479f-8d2b-9a6acc20e299]: finished processing task\n", - "2024-12-28 21:02:48,262 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=6a33aeef-9098-479f-8d2b-9a6acc20e299]: try #1: sending task result to server\n", - "2024-12-28 21:02:48,262 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=6a33aeef-9098-479f-8d2b-9a6acc20e299]: checking task ...\n", - "2024-12-28 21:02:48,264 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=6a33aeef-9098-479f-8d2b-9a6acc20e299]: start to send task result to server\n", - "2024-12-28 21:02:48,264 - FederatedClient - INFO - Starting to push execute result.\n", - "2024-12-28 21:02:48,265 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-1, peer_run=simulate_job]: got result from client site-1 for task: name=fed_stats, id=6a33aeef-9098-479f-8d2b-9a6acc20e299\n", - "2024-12-28 21:02:48,266 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-1, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=6a33aeef-9098-479f-8d2b-9a6acc20e299]: Processing fed_stats result from client site-1\n", - "2024-12-28 21:02:48,266 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-1, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=6a33aeef-9098-479f-8d2b-9a6acc20e299]: Received result entries from client:site-1, for task fed_stats\n", - "2024-12-28 21:02:48,266 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-1, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=6a33aeef-9098-479f-8d2b-9a6acc20e299]: handle client site-1 results for statistics task: fed_stats_2nd_statistics\n", - "2024-12-28 21:02:48,267 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-1, peer_run=simulate_job, peer_rc=OK, task_name=fed_stats, task_id=6a33aeef-9098-479f-8d2b-9a6acc20e299]: finished processing client result by fed_stats_controller\n", - "2024-12-28 21:02:48,267 - SubmitUpdateCommand - INFO - submit_update process. client_name:site-1 task_id:6a33aeef-9098-479f-8d2b-9a6acc20e299\n", - "2024-12-28 21:02:48,268 - Communicator - INFO - SubmitUpdate size: 133KB (133007 Bytes). time: 0.003306 seconds\n", - "2024-12-28 21:02:48,268 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job, task_name=fed_stats, task_id=6a33aeef-9098-479f-8d2b-9a6acc20e299]: task result sent to server\n", - "2024-12-28 21:02:48,268 - ClientTaskWorker - INFO - Finished one task run for client: site-1 interval: 2 task_processed: True\n", - "2024-12-28 21:02:48,450 - WFCommServer - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: task fed_stats exit with status TaskCompletionStatus.OK\n", - "\n", - "\n", - " in get_global_stats: precision=2 \n", - "\n", - "\n", - "2024-12-28 21:02:48,539 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: task fed_stats statistics_flow for fed_stats_2nd_statistics flow end.\n", - "2024-12-28 21:02:48,540 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: start post processing\n", - "2024-12-28 21:02:48,540 - StatisticsController - INFO - check if min_client result received for all features\n", - "2024-12-28 21:02:48,540 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: combine all clients' statistics\n", - "2024-12-28 21:02:48,548 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: save statistics result to persistence store\n", - "2024-12-28 21:02:48,548 - JsonStatsFileWriter - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: job dir = /tmp/nvflare/df/workdir/server/simulate_job\n", - "2024-12-28 21:02:48,551 - JsonStatsFileWriter - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: trying to save data to /tmp/nvflare/df/workdir/server/simulate_job/statistics/adults_stats.json\n", - "2024-12-28 21:02:48,552 - JsonStatsFileWriter - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: file /tmp/nvflare/df/workdir/server/simulate_job/statistics/adults_stats.json saved\n", - "2024-12-28 21:02:48,552 - StatisticsController - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: task fed_stats control flow end.\n", - "2024-12-28 21:02:48,552 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: Workflow: fed_stats_controller finalizing ...\n", - "2024-12-28 21:02:48,552 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: ABOUT_TO_END_RUN fired\n", - "2024-12-28 21:02:48,553 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: Firing CHECK_END_RUN_READINESS ...\n", - "2024-12-28 21:02:48,553 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: END_RUN fired\n", - "2024-12-28 21:02:48,553 - ReliableMessage - INFO - ReliableMessage is shutdown\n", - "2024-12-28 21:02:48,553 - SimulatorServer - ERROR - FL server execution exception: TypeError: shutdown() got an unexpected keyword argument 'cancel_futures'\n", - "2024-12-28 21:02:48,554 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job]: received request from Server to end current RUN\n", - "2024-12-28 21:02:48,554 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job]: received request from Server to end current RUN\n", - "2024-12-28 21:02:48,690 - SimulatorServer - INFO - Server app stopped.\n", - "\n", - "\n", - "2024-12-28 21:02:49,081 - hci - INFO - Admin Server localhost on Port 56066 shutdown!\n", - "2024-12-28 21:02:49,081 - SimulatorServer - INFO - shutting down server\n", - "2024-12-28 21:02:49,081 - SimulatorServer - INFO - canceling sync locks\n", - "2024-12-28 21:02:49,081 - SimulatorServer - INFO - server off\n", - "2024-12-28 21:02:49,404 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-2, peer_run=simulate_job]: server runner is finalizing - asked client to end the run\n", - "2024-12-28 21:02:49,405 - GetTaskCommand - INFO - return task to client. client_name: site-2 task_name: __end_run__ task_id: sharable_header_task_id: \n", - "2024-12-28 21:02:49,408 - FederatedClient - INFO - pull_task completed. Task name:__end_run__ Status:True \n", - "2024-12-28 21:02:49,408 - ClientRunner - INFO - [identity=site-2, run=simulate_job, peer=simulator_server, peer_run=simulate_job]: server asked to end the run\n", - "2024-12-28 21:02:49,409 - ClientRunner - INFO - [identity=site-2, run=simulate_job]: started end-run events sequence\n", - "2024-12-28 21:02:49,409 - ClientRunner - INFO - [identity=site-2, run=simulate_job]: ABOUT_TO_END_RUN fired\n", - "2024-12-28 21:02:49,409 - ClientRunner - INFO - [identity=site-2, run=simulate_job]: Firing CHECK_END_RUN_READINESS ...\n", - "2024-12-28 21:02:49,410 - ClientRunner - INFO - [identity=site-2, run=simulate_job]: END_RUN fired\n", - "2024-12-28 21:02:49,411 - ClientTaskWorker - INFO - End the Simulator run.\n", - "2024-12-28 21:02:49,412 - ClientTaskWorker - INFO - Clean up ClientRunner for : site-2 \n", - "2024-12-28 21:02:49,413 - conn_manager - INFO - Connection [CN00002 Not Connected] is closed PID: 36343\n", - "2024-12-28 21:02:49,414 - conn_manager - INFO - Connection [CN00006 Not Connected] is closed PID: 36336\n", - "2024-12-28 21:02:49,694 - ReliableMessage - INFO - shutdown reliable message monitor\n", - "2024-12-28 21:02:50,277 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller, peer=site-1, peer_run=simulate_job]: server runner is finalizing - asked client to end the run\n", - "2024-12-28 21:02:50,277 - GetTaskCommand - INFO - return task to client. client_name: site-1 task_name: __end_run__ task_id: sharable_header_task_id: \n", - "2024-12-28 21:02:50,280 - FederatedClient - INFO - pull_task completed. Task name:__end_run__ Status:True \n", - "2024-12-28 21:02:50,280 - ClientRunner - INFO - [identity=site-1, run=simulate_job, peer=simulator_server, peer_run=simulate_job]: server asked to end the run\n", - "2024-12-28 21:02:50,280 - ClientRunner - INFO - [identity=site-1, run=simulate_job]: started end-run events sequence\n", - "2024-12-28 21:02:50,280 - ClientRunner - INFO - [identity=site-1, run=simulate_job]: ABOUT_TO_END_RUN fired\n", - "2024-12-28 21:02:50,281 - ClientRunner - INFO - [identity=site-1, run=simulate_job]: Firing CHECK_END_RUN_READINESS ...\n", - "2024-12-28 21:02:50,281 - ClientRunner - INFO - [identity=site-1, run=simulate_job]: END_RUN fired\n", - "2024-12-28 21:02:50,281 - ClientTaskWorker - INFO - End the Simulator run.\n", - "2024-12-28 21:02:50,283 - FederatedClient - INFO - Shutting down client run: site-1\n", - "2024-12-28 21:02:50,283 - ClientTaskWorker - INFO - Clean up ClientRunner for : site-1 \n", - "2024-12-28 21:02:50,283 - FederatedClient - INFO - Shutting down client run: site-2\n", - "2024-12-28 21:02:50,284 - ServerRunner - INFO - [identity=simulator_server, run=simulate_job, wf=fed_stats_controller]: asked to abort - triggered abort_signal to stop the RUN\n", - "2024-12-28 21:02:50,286 - conn_manager - INFO - Connection [CN00005 Not Connected] is closed PID: 36336\n", - "2024-12-28 21:02:50,286 - conn_manager - INFO - Connection [CN00002 Not Connected] is closed PID: 36342\n", - "2024-12-28 21:02:54,031 - MPM - WARNING - #### MPM: still running thread Thread-9\n", - "2024-12-28 21:02:54,031 - MPM - INFO - MPM: Good Bye!\n" - ] - } - ], + "outputs": [], "source": [ "! nvflare simulator df_stats/jobs/df_stats -w /tmp/nvflare/df/workdir -n 2 -t 2" ] @@ -464,20 +204,12 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "112a7dd0-45d9-42ea-98b2-f72a3bbccf48", "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{\"Age\": {\"count\": {\"site-2\": {\"train\": 13025, \"test\": 3256}, \"site-1\": {\"train\": 26049, \"test\": 6512}, \"Global\": {\"train\": 39074, \"test\": 9768}}, \"mean\": {\"site-2\": {\"train\": 38.75, \"test\": 38.84}, \"site-1\": {\"train\": 38.55, \"test\": 38.69}, \"Global\": {\"train\": 38.62, \"test\": 38.74}}, \"sum\": {\"site-2\": {\"train\": 504707, \"test\": 126466}, \"site-1\": {\"train\": 1004296, \"test\": 251961}, \"Global\": {\"train\": 1509003, \"test\": 378427}}, \"percentile\": {\"site-2\": {\"train\": {\"25\": 27.68, \"50\": 37.17, \"75\": 47.84}, \"test\": {\"25\": 27.8, \"50\": 37.01, \"75\": 48.12}}, \"site-1\": {\"train\": {\"25\": 27.59, \"50\": 36.96, \"75\": 47.62}, \"test\": {\"25\": 27.71, \"50\": 37.31, \"75\": 47.69}}, \"Global\": {\"train\": {\"25\": 27.62, \"50\": 37.03, \"75\": 47.7}, \"test\": {\"25\": 27.74, \"50\": 37.22, \"75\": 47.84}}}, \"stddev\": {\"site-2\": {\"train\": 13.82, \"test\": 13.95}, \"site-1\": {\"train\": 13.66, \"test\": 13.56}, \"Global\": {\"train\": 13.71, \"test\": 13.69}}, \"histogram\": {\"site-2\": {\"train\": [[0.0, 12.0, 0], [12.0, 24.0, 1992], [24.0, 36.0, 3933], [36.0, 48.0, 3762], [48.0, 60.0, 2231], [60.0, 72.0, 893], [72.0, 84.0, 196], [84.0, 96.0, 18], [96.0, 108.0, 0], [108.0, 120.0, 0]], \"test\": [[0.0, 12.0, 0], [12.0, 24.0, 462], [24.0, 36.0, 1034], [36.0, 48.0, 914], [48.0, 60.0, 542], [60.0, 72.0, 236], [72.0, 84.0, 62], [84.0, 96.0, 6], [96.0, 108.0, 0], [108.0, 120.0, 0]]}, \"site-1\": {\"train\": [[0.0, 12.0, 0], [12.0, 24.0, 3849], [24.0, 36.0, 8151], [36.0, 48.0, 7510], [48.0, 60.0, 4423], [60.0, 72.0, 1734], [72.0, 84.0, 333], [84.0, 96.0, 49], [96.0, 108.0, 0], [108.0, 120.0, 0]], \"test\": [[0.0, 12.0, 0], [12.0, 24.0, 923], [24.0, 36.0, 2002], [36.0, 48.0, 1944], [48.0, 60.0, 1115], [60.0, 72.0, 442], [72.0, 84.0, 74], [84.0, 96.0, 12], [96.0, 108.0, 0], [108.0, 120.0, 0]]}, \"Global\": {\"train\": [[0.0, 12.0, 0], [12.0, 24.0, 5841], [24.0, 36.0, 12084], [36.0, 48.0, 11272], [48.0, 60.0, 6654], [60.0, 72.0, 2627], [72.0, 84.0, 529], [84.0, 96.0, 67], [96.0, 108.0, 0], [108.0, 120.0, 0]], \"test\": [[0.0, 12.0, 0], [12.0, 24.0, 1385], [24.0, 36.0, 3036], [36.0, 48.0, 2858], [48.0, 60.0, 1657], [60.0, 72.0, 678], [72.0, 84.0, 136], [84.0, 96.0, 18], [96.0, 108.0, 0], [108.0, 120.0, 0]]}}}, \"fnlwgt\": {\"count\": {\"site-2\": {\"train\": 13025, \"test\": 3256}, \"site-1\": {\"train\": 26049, \"test\": 6512}, \"Global\": {\"train\": 39074, \"test\": 9768}}, \"mean\": {\"site-2\": {\"train\": 188377.94, \"test\": 193666.96}, \"site-1\": {\"train\": 190260.75, \"test\": 187848.74}, \"Global\": {\"train\": 189633.13, \"test\": 189788.15}}, \"sum\": {\"site-2\": {\"train\": 2453622659, \"test\": 630579611}, \"site-1\": {\"train\": 4956102394, \"test\": 1223270998}, \"Global\": {\"train\": 7409725053, \"test\": 1853850609}}, \"percentile\": {\"site-2\": {\"train\": {\"25\": 115817.64, \"50\": 177284.07, \"75\": 236924.39}, \"test\": {\"25\": 121359.4, \"50\": 180376.8, \"75\": 244528.29}}, \"site-1\": {\"train\": {\"25\": 118213.41, \"50\": 178810.82, \"75\": 237461.26}, \"test\": {\"25\": 116579.68, \"50\": 176923.19, \"75\": 236064.23}}, \"Global\": {\"train\": {\"25\": 117478.97, \"50\": 178173.04, \"75\": 237265.49}, \"test\": {\"25\": 117771.79, \"50\": 178003.24, \"75\": 239156.57}}}, \"stddev\": {\"site-2\": {\"train\": 105717.8, \"test\": 105613.63}, \"site-1\": {\"train\": 105994.68, \"test\": 103737.63}, \"Global\": {\"train\": 105904.83, \"test\": 104397.34}}, \"histogram\": {\"site-2\": {\"train\": [[12285.0, 86190.75, 1841], [86190.75, 160096.5, 3570], [160096.5, 234002.25, 4248], [234002.25, 307908.0, 1772], [307908.0, 381813.75, 991], [381813.75, 455719.5, 380], [455719.5, 529625.25, 109], [529625.25, 603531.0, 55], [603531.0, 677436.75, 26], [677436.75, 751342.5, 11], [751342.5, 825248.25, 8], [825248.25, 899154.0, 6], [899154.0, 973059.75, 3], [973059.75, 1046965.5, 1], [1046965.5, 1120871.25, 2], [1120871.25, 1194777.0, 0], [1194777.0, 1268682.75, 1], [1268682.75, 1342588.5, 0], [1342588.5, 1416494.25, 0], [1416494.25, 1490400.0, 1]], \"test\": [[12285.0, 86190.75, 408], [86190.75, 160096.5, 894], [160096.5, 234002.25, 1054], [234002.25, 307908.0, 459], [307908.0, 381813.75, 256], [381813.75, 455719.5, 123], [455719.5, 529625.25, 35], [529625.25, 603531.0, 12], [603531.0, 677436.75, 6], [677436.75, 751342.5, 4], [751342.5, 825248.25, 4], [825248.25, 899154.0, 0], [899154.0, 973059.75, 1], [973059.75, 1046965.5, 0], [1046965.5, 1120871.25, 0], [1120871.25, 1194777.0, 0], [1194777.0, 1268682.75, 0], [1268682.75, 1342588.5, 0], [1342588.5, 1416494.25, 0], [1416494.25, 1490400.0, 0]]}, \"site-1\": {\"train\": [[12285.0, 86190.75, 3557], [86190.75, 160096.5, 6974], [160096.5, 234002.25, 8751], [234002.25, 307908.0, 3493], [307908.0, 381813.75, 2000], [381813.75, 455719.5, 791], [455719.5, 529625.25, 260], [529625.25, 603531.0, 108], [603531.0, 677436.75, 49], [677436.75, 751342.5, 33], [751342.5, 825248.25, 11], [825248.25, 899154.0, 4], [899154.0, 973059.75, 4], [973059.75, 1046965.5, 4], [1046965.5, 1120871.25, 2], [1120871.25, 1194777.0, 3], [1194777.0, 1268682.75, 2], [1268682.75, 1342588.5, 0], [1342588.5, 1416494.25, 1], [1416494.25, 1490400.0, 2]], \"test\": [[12285.0, 86190.75, 947], [86190.75, 160096.5, 1748], [160096.5, 234002.25, 2156], [234002.25, 307908.0, 857], [307908.0, 381813.75, 501], [381813.75, 455719.5, 183], [455719.5, 529625.25, 71], [529625.25, 603531.0, 23], [603531.0, 677436.75, 15], [677436.75, 751342.5, 7], [751342.5, 825248.25, 1], [825248.25, 899154.0, 1], [899154.0, 973059.75, 2], [973059.75, 1046965.5, 0], [1046965.5, 1120871.25, 0], [1120871.25, 1194777.0, 0], [1194777.0, 1268682.75, 0], [1268682.75, 1342588.5, 0], [1342588.5, 1416494.25, 0], [1416494.25, 1490400.0, 0]]}, \"Global\": {\"train\": [[12285.0, 86190.75, 5398], [86190.75, 160096.5, 10544], [160096.5, 234002.25, 12999], [234002.25, 307908.0, 5265], [307908.0, 381813.75, 2991], [381813.75, 455719.5, 1171], [455719.5, 529625.25, 369], [529625.25, 603531.0, 163], [603531.0, 677436.75, 75], [677436.75, 751342.5, 44], [751342.5, 825248.25, 19], [825248.25, 899154.0, 10], [899154.0, 973059.75, 7], [973059.75, 1046965.5, 5], [1046965.5, 1120871.25, 4], [1120871.25, 1194777.0, 3], [1194777.0, 1268682.75, 3], [1268682.75, 1342588.5, 0], [1342588.5, 1416494.25, 1], [1416494.25, 1490400.0, 3]], \"test\": [[12285.0, 86190.75, 1355], [86190.75, 160096.5, 2642], [160096.5, 234002.25, 3210], [234002.25, 307908.0, 1316], [307908.0, 381813.75, 757], [381813.75, 455719.5, 306], [455719.5, 529625.25, 106], [529625.25, 603531.0, 35], [603531.0, 677436.75, 21], [677436.75, 751342.5, 11], [751342.5, 825248.25, 5], [825248.25, 899154.0, 1], [899154.0, 973059.75, 3], [973059.75, 1046965.5, 0], [1046965.5, 1120871.25, 0], [1120871.25, 1194777.0, 0], [1194777.0, 1268682.75, 0], [1268682.75, 1342588.5, 0], [1342588.5, 1416494.25, 0], [1416494.25, 1490400.0, 0]]}}}, \"Education-Num\": {\"count\": {\"site-2\": {\"train\": 13025, \"test\": 3256}, \"site-1\": {\"train\": 26049, \"test\": 6512}, \"Global\": {\"train\": 39074, \"test\": 9768}}, \"mean\": {\"site-2\": {\"train\": 10.06, \"test\": 10.14}, \"site-1\": {\"train\": 10.08, \"test\": 10.09}, \"Global\": {\"train\": 10.07, \"test\": 10.1}}, \"sum\": {\"site-2\": {\"train\": 130985, \"test\": 33012}, \"site-1\": {\"train\": 262551, \"test\": 65686}, \"Global\": {\"train\": 393536, \"test\": 98698}}, \"percentile\": {\"site-2\": {\"train\": {\"25\": 8.73, \"50\": 9.74, \"75\": 12.12}, \"test\": {\"25\": 8.76, \"50\": 9.79, \"75\": 12.28}}, \"site-1\": {\"train\": {\"25\": 8.75, \"50\": 9.76, \"75\": 12.13}, \"test\": {\"25\": 8.74, \"50\": 9.76, \"75\": 12.19}}, \"Global\": {\"train\": {\"25\": 8.75, \"50\": 9.76, \"75\": 12.13}, \"test\": {\"25\": 8.75, \"50\": 9.77, \"75\": 12.22}}}, \"stddev\": {\"site-2\": {\"train\": 2.57, \"test\": 2.56}, \"site-1\": {\"train\": 2.57, \"test\": 2.6}, \"Global\": {\"train\": 2.57, \"test\": 2.59}}, \"histogram\": {\"site-2\": {\"train\": [[1.0, 1.75, 31], [1.75, 2.5, 63], [2.5, 3.25, 136], [3.25, 4.0, 0], [4.0, 4.75, 256], [4.75, 5.5, 195], [5.5, 6.25, 364], [6.25, 7.0, 0], [7.0, 7.75, 493], [7.75, 8.5, 191], [8.5, 9.25, 4248], [9.25, 10.0, 0], [10.0, 10.75, 2899], [10.75, 11.5, 538], [11.5, 12.25, 418], [12.25, 13.0, 0], [13.0, 13.75, 2104], [13.75, 14.5, 731], [14.5, 15.25, 212], [15.25, 16.0, 146]], \"test\": [[1.0, 1.75, 1], [1.75, 2.5, 16], [2.5, 3.25, 40], [3.25, 4.0, 0], [4.0, 4.75, 53], [4.75, 5.5, 47], [5.5, 6.25, 92], [6.25, 7.0, 0], [7.0, 7.75, 144], [7.75, 8.5, 33], [8.5, 9.25, 1035], [9.25, 10.0, 0], [10.0, 10.75, 688], [10.75, 11.5, 141], [11.5, 12.25, 116], [12.25, 13.0, 0], [13.0, 13.75, 566], [13.75, 14.5, 203], [14.5, 15.25, 46], [15.25, 16.0, 35]]}, \"site-1\": {\"train\": [[1.0, 1.75, 40], [1.75, 2.5, 138], [2.5, 3.25, 265], [3.25, 4.0, 0], [4.0, 4.75, 502], [4.75, 5.5, 410], [5.5, 6.25, 741], [6.25, 7.0, 0], [7.0, 7.75, 947], [7.75, 8.5, 364], [8.5, 9.25, 8375], [9.25, 10.0, 0], [10.0, 10.75, 5893], [10.75, 11.5, 1093], [11.5, 12.25, 862], [12.25, 13.0, 0], [13.0, 13.75, 4248], [13.75, 14.5, 1382], [14.5, 15.25, 473], [15.25, 16.0, 316]], \"test\": [[1.0, 1.75, 11], [1.75, 2.5, 30], [2.5, 3.25, 68], [3.25, 4.0, 0], [4.0, 4.75, 144], [4.75, 5.5, 104], [5.5, 6.25, 192], [6.25, 7.0, 0], [7.0, 7.75, 228], [7.75, 8.5, 69], [8.5, 9.25, 2126], [9.25, 10.0, 0], [10.0, 10.75, 1398], [10.75, 11.5, 289], [11.5, 12.25, 205], [12.25, 13.0, 0], [13.0, 13.75, 1107], [13.75, 14.5, 341], [14.5, 15.25, 103], [15.25, 16.0, 97]]}, \"Global\": {\"train\": [[1.0, 1.75, 71], [1.75, 2.5, 201], [2.5, 3.25, 401], [3.25, 4.0, 0], [4.0, 4.75, 758], [4.75, 5.5, 605], [5.5, 6.25, 1105], [6.25, 7.0, 0], [7.0, 7.75, 1440], [7.75, 8.5, 555], [8.5, 9.25, 12623], [9.25, 10.0, 0], [10.0, 10.75, 8792], [10.75, 11.5, 1631], [11.5, 12.25, 1280], [12.25, 13.0, 0], [13.0, 13.75, 6352], [13.75, 14.5, 2113], [14.5, 15.25, 685], [15.25, 16.0, 462]], \"test\": [[1.0, 1.75, 12], [1.75, 2.5, 46], [2.5, 3.25, 108], [3.25, 4.0, 0], [4.0, 4.75, 197], [4.75, 5.5, 151], [5.5, 6.25, 284], [6.25, 7.0, 0], [7.0, 7.75, 372], [7.75, 8.5, 102], [8.5, 9.25, 3161], [9.25, 10.0, 0], [10.0, 10.75, 2086], [10.75, 11.5, 430], [11.5, 12.25, 321], [12.25, 13.0, 0], [13.0, 13.75, 1673], [13.75, 14.5, 544], [14.5, 15.25, 149], [15.25, 16.0, 132]]}}}, \"Capital Gain\": {\"count\": {\"site-2\": {\"train\": 13025, \"test\": 3256}, \"site-1\": {\"train\": 26049, \"test\": 6512}, \"Global\": {\"train\": 39074, \"test\": 9768}}, \"mean\": {\"site-2\": {\"train\": 1082.28, \"test\": 1080.42}, \"site-1\": {\"train\": 1079.73, \"test\": 1069.34}, \"Global\": {\"train\": 1080.58, \"test\": 1073.03}}, \"sum\": {\"site-2\": {\"train\": 14096655, \"test\": 3517842}, \"site-1\": {\"train\": 28125799, \"test\": 6963525}, \"Global\": {\"train\": 42222454, \"test\": 10481367}}, \"percentile\": {\"site-2\": {\"train\": {\"25\": -52.0, \"50\": 9.98, \"75\": 71.97}, \"test\": {\"25\": -366.61, \"50\": 74.19, \"75\": 514.99}}, \"site-1\": {\"train\": {\"25\": -51.8, \"50\": 10.38, \"75\": 72.56}, \"test\": {\"25\": -51.87, \"50\": 10.24, \"75\": 72.36}}, \"Global\": {\"train\": {\"25\": -51.86, \"50\": 10.25, \"75\": 72.36}, \"test\": {\"25\": -51.83, \"50\": 10.32, \"75\": 72.47}}}, \"stddev\": {\"site-2\": {\"train\": 7629.93, \"test\": 7398.24}, \"site-1\": {\"train\": 7386.07, \"test\": 7382.73}, \"Global\": {\"train\": 7468.15, \"test\": 7387.53}}, \"histogram\": {\"site-2\": {\"train\": [[0.0, 4999.95, 12387], [4999.95, 9999.9, 348], [9999.9, 14999.85, 51], [14999.85, 19999.8, 137], [19999.8, 24999.75, 8], [24999.75, 29999.7, 23], [29999.7, 34999.65, 1], [34999.65, 39999.6, 0], [39999.6, 44999.55, 1], [44999.55, 49999.5, 0], [49999.5, 54999.45, 0], [54999.45, 59999.4, 0], [59999.4, 64999.35, 0], [64999.35, 69999.3, 0], [69999.3, 74999.25, 0], [74999.25, 79999.2, 0], [79999.2, 84999.15, 0], [84999.15, 89999.1, 0], [89999.1, 94999.05, 0], [94999.05, 99999.0, 69]], \"test\": [[0.0, 4999.95, 3091], [4999.95, 9999.9, 91], [9999.9, 14999.85, 12], [14999.85, 19999.8, 36], [19999.8, 24999.75, 4], [24999.75, 29999.7, 6], [29999.7, 34999.65, 0], [34999.65, 39999.6, 0], [39999.6, 44999.55, 0], [44999.55, 49999.5, 0], [49999.5, 54999.45, 0], [54999.45, 59999.4, 0], [59999.4, 64999.35, 0], [64999.35, 69999.3, 0], [69999.3, 74999.25, 0], [74999.25, 79999.2, 0], [79999.2, 84999.15, 0], [84999.15, 89999.1, 0], [89999.1, 94999.05, 0], [94999.05, 99999.0, 16]]}, \"site-1\": {\"train\": [[0.0, 4999.95, 24723], [4999.95, 9999.9, 712], [9999.9, 14999.85, 122], [14999.85, 19999.8, 287], [19999.8, 24999.75, 30], [24999.75, 29999.7, 41], [29999.7, 34999.65, 5], [34999.65, 39999.6, 0], [39999.6, 44999.55, 2], [44999.55, 49999.5, 0], [49999.5, 54999.45, 0], [54999.45, 59999.4, 0], [59999.4, 64999.35, 0], [64999.35, 69999.3, 0], [69999.3, 74999.25, 0], [74999.25, 79999.2, 0], [79999.2, 84999.15, 0], [84999.15, 89999.1, 0], [89999.1, 94999.05, 0], [94999.05, 99999.0, 127]], \"test\": [[0.0, 4999.95, 6190], [4999.95, 9999.9, 166], [9999.9, 14999.85, 35], [14999.85, 19999.8, 73], [19999.8, 24999.75, 8], [24999.75, 29999.7, 8], [29999.7, 34999.65, 0], [34999.65, 39999.6, 0], [39999.6, 44999.55, 0], [44999.55, 49999.5, 0], [49999.5, 54999.45, 0], [54999.45, 59999.4, 0], [59999.4, 64999.35, 0], [64999.35, 69999.3, 0], [69999.3, 74999.25, 0], [74999.25, 79999.2, 0], [79999.2, 84999.15, 0], [84999.15, 89999.1, 0], [89999.1, 94999.05, 0], [94999.05, 99999.0, 32]]}, \"Global\": {\"train\": [[0.0, 4999.95, 37110], [4999.95, 9999.9, 1060], [9999.9, 14999.85, 173], [14999.85, 19999.8, 424], [19999.8, 24999.75, 38], [24999.75, 29999.7, 64], [29999.7, 34999.65, 6], [34999.65, 39999.6, 0], [39999.6, 44999.55, 3], [44999.55, 49999.5, 0], [49999.5, 54999.45, 0], [54999.45, 59999.4, 0], [59999.4, 64999.35, 0], [64999.35, 69999.3, 0], [69999.3, 74999.25, 0], [74999.25, 79999.2, 0], [79999.2, 84999.15, 0], [84999.15, 89999.1, 0], [89999.1, 94999.05, 0], [94999.05, 99999.0, 196]], \"test\": [[0.0, 4999.95, 9281], [4999.95, 9999.9, 257], [9999.9, 14999.85, 47], [14999.85, 19999.8, 109], [19999.8, 24999.75, 12], [24999.75, 29999.7, 14], [29999.7, 34999.65, 0], [34999.65, 39999.6, 0], [39999.6, 44999.55, 0], [44999.55, 49999.5, 0], [49999.5, 54999.45, 0], [54999.45, 59999.4, 0], [59999.4, 64999.35, 0], [64999.35, 69999.3, 0], [69999.3, 74999.25, 0], [74999.25, 79999.2, 0], [79999.2, 84999.15, 0], [84999.15, 89999.1, 0], [89999.1, 94999.05, 0], [94999.05, 99999.0, 48]]}}}, \"Capital Loss\": {\"count\": {\"site-2\": {\"train\": 13025, \"test\": 3256}, \"site-1\": {\"train\": 26049, \"test\": 6512}, \"Global\": {\"train\": 39074, \"test\": 9768}}, \"mean\": {\"site-2\": {\"train\": 85.18, \"test\": 98.77}, \"site-1\": {\"train\": 86.65, \"test\": 89.94}, \"Global\": {\"train\": 86.16, \"test\": 92.88}}, \"sum\": {\"site-2\": {\"train\": 1109490, \"test\": 321598}, \"site-1\": {\"train\": 2257020, \"test\": 585680}, \"Global\": {\"train\": 3366510, \"test\": 907278}}, \"percentile\": {\"site-2\": {\"train\": {\"25\": -238.64, \"50\": 23.91, \"75\": 286.45}, \"test\": {\"25\": -295.19, \"50\": 34.42, \"75\": 364.03}}, \"site-1\": {\"train\": {\"25\": -157.67, \"50\": 16.06, \"75\": 189.79}, \"test\": {\"25\": -91.87, \"50\": 9.84, \"75\": 111.55}}, \"Global\": {\"train\": {\"25\": -198.13, \"50\": 20.07, \"75\": 238.26}, \"test\": {\"25\": -91.74, \"50\": 10.12, \"75\": 111.97}}}, \"stddev\": {\"site-2\": {\"train\": 397.06, \"test\": 426.34}, \"site-1\": {\"train\": 401.64, \"test\": 408.24}, \"Global\": {\"train\": 400.11, \"test\": 414.36}}, \"histogram\": {\"site-2\": {\"train\": [[0.0, 217.8, 12433], [217.8, 435.6, 2], [435.6, 653.4, 5], [653.4, 871.2, 0], [871.2, 1089.0, 0], [1089.0, 1306.8, 8], [1306.8, 1524.6, 45], [1524.6, 1742.4, 145], [1742.4, 1960.2, 184], [1960.2, 2178.0, 114], [2178.0, 2395.8, 47], [2395.8, 2613.6, 33], [2613.6, 2831.4, 3], [2831.4, 3049.2, 2], [3049.2, 3267.0, 2], [3267.0, 3484.8, 0], [3484.8, 3702.6, 0], [3702.6, 3920.4, 2], [3920.4, 4138.2, 0], [4138.2, 4356.0, 0]], \"test\": [[0.0, 217.8, 3086], [217.8, 435.6, 0], [435.6, 653.4, 1], [653.4, 871.2, 0], [871.2, 1089.0, 0], [1089.0, 1306.8, 0], [1306.8, 1524.6, 14], [1524.6, 1742.4, 41], [1742.4, 1960.2, 43], [1960.2, 2178.0, 49], [2178.0, 2395.8, 8], [2395.8, 2613.6, 12], [2613.6, 2831.4, 1], [2831.4, 3049.2, 1], [3049.2, 3267.0, 0], [3267.0, 3484.8, 0], [3484.8, 3702.6, 0], [3702.6, 3920.4, 0], [3920.4, 4138.2, 0], [4138.2, 4356.0, 0]]}, \"site-1\": {\"train\": [[0.0, 217.8, 24847], [217.8, 435.6, 6], [435.6, 653.4, 11], [653.4, 871.2, 2], [871.2, 1089.0, 6], [1089.0, 1306.8, 10], [1306.8, 1524.6, 89], [1524.6, 1742.4, 273], [1742.4, 1960.2, 374], [1960.2, 2178.0, 246], [2178.0, 2395.8, 94], [2395.8, 2613.6, 74], [2613.6, 2831.4, 8], [2831.4, 3049.2, 2], [3049.2, 3267.0, 0], [3267.0, 3484.8, 0], [3484.8, 3702.6, 1], [3702.6, 3920.4, 4], [3920.4, 4138.2, 0], [4138.2, 4356.0, 2]], \"test\": [[0.0, 217.8, 6200], [217.8, 435.6, 0], [435.6, 653.4, 4], [653.4, 871.2, 0], [871.2, 1089.0, 2], [1089.0, 1306.8, 3], [1306.8, 1524.6, 16], [1524.6, 1742.4, 83], [1742.4, 1960.2, 101], [1960.2, 2178.0, 58], [2178.0, 2395.8, 25], [2395.8, 2613.6, 14], [2613.6, 2831.4, 4], [2831.4, 3049.2, 0], [3049.2, 3267.0, 0], [3267.0, 3484.8, 0], [3484.8, 3702.6, 1], [3702.6, 3920.4, 0], [3920.4, 4138.2, 0], [4138.2, 4356.0, 1]]}, \"Global\": {\"train\": [[0.0, 217.8, 37280], [217.8, 435.6, 8], [435.6, 653.4, 16], [653.4, 871.2, 2], [871.2, 1089.0, 6], [1089.0, 1306.8, 18], [1306.8, 1524.6, 134], [1524.6, 1742.4, 418], [1742.4, 1960.2, 558], [1960.2, 2178.0, 360], [2178.0, 2395.8, 141], [2395.8, 2613.6, 107], [2613.6, 2831.4, 11], [2831.4, 3049.2, 4], [3049.2, 3267.0, 2], [3267.0, 3484.8, 0], [3484.8, 3702.6, 1], [3702.6, 3920.4, 6], [3920.4, 4138.2, 0], [4138.2, 4356.0, 2]], \"test\": [[0.0, 217.8, 9286], [217.8, 435.6, 0], [435.6, 653.4, 5], [653.4, 871.2, 0], [871.2, 1089.0, 2], [1089.0, 1306.8, 3], [1306.8, 1524.6, 30], [1524.6, 1742.4, 124], [1742.4, 1960.2, 144], [1960.2, 2178.0, 107], [2178.0, 2395.8, 33], [2395.8, 2613.6, 26], [2613.6, 2831.4, 5], [2831.4, 3049.2, 1], [3049.2, 3267.0, 0], [3267.0, 3484.8, 0], [3484.8, 3702.6, 1], [3702.6, 3920.4, 0], [3920.4, 4138.2, 0], [4138.2, 4356.0, 1]]}}}, \"Hours per week\": {\"count\": {\"site-2\": {\"train\": 13025, \"test\": 3256}, \"site-1\": {\"train\": 26049, \"test\": 6512}, \"Global\": {\"train\": 39074, \"test\": 9768}}, \"mean\": {\"site-2\": {\"train\": 40.41, \"test\": 40.31}, \"site-1\": {\"train\": 40.42, \"test\": 40.51}, \"Global\": {\"train\": 40.42, \"test\": 40.44}}, \"sum\": {\"site-2\": {\"train\": 526387, \"test\": 131239}, \"site-1\": {\"train\": 1052889, \"test\": 263795}, \"Global\": {\"train\": 1579276, \"test\": 395034}}, \"percentile\": {\"site-2\": {\"train\": {\"25\": 39.04, \"50\": 40.18, \"75\": 44.8}, \"test\": {\"25\": 39.04, \"50\": 40.14, \"75\": 45.15}}, \"site-1\": {\"train\": {\"25\": 39.05, \"50\": 40.12, \"75\": 44.9}, \"test\": {\"25\": 39.06, \"50\": 40.13, \"75\": 44.92}}, \"Global\": {\"train\": {\"25\": 39.05, \"50\": 40.17, \"75\": 44.87}, \"test\": {\"25\": 39.06, \"50\": 40.13, \"75\": 45.0}}}, \"stddev\": {\"site-2\": {\"train\": 12.42, \"test\": 12.73}, \"site-1\": {\"train\": 12.35, \"test\": 12.34}, \"Global\": {\"train\": 12.37, \"test\": 12.47}}, \"histogram\": {\"site-2\": {\"train\": [[1.0, 5.9, 80], [5.9, 10.8, 219], [10.8, 15.7, 268], [15.7, 20.6, 630], [20.6, 25.5, 357], [25.5, 30.4, 514], [30.4, 35.3, 689], [35.3, 40.2, 6487], [40.2, 45.1, 949], [45.1, 50.0, 254], [50.0, 54.9, 1222], [54.9, 59.8, 339], [59.8, 64.7, 586], [64.7, 69.6, 101], [69.6, 74.5, 144], [74.5, 79.4, 41], [79.4, 84.3, 75], [84.3, 89.2, 8], [89.2, 94.1, 13], [94.1, 99.0, 49]], \"test\": [[1.0, 5.9, 33], [5.9, 10.8, 57], [10.8, 15.7, 60], [15.7, 20.6, 178], [20.6, 25.5, 88], [25.5, 30.4, 122], [30.4, 35.3, 157], [35.3, 40.2, 1571], [40.2, 45.1, 260], [45.1, 50.0, 89], [50.0, 54.9, 314], [54.9, 59.8, 76], [59.8, 64.7, 136], [64.7, 69.6, 23], [69.6, 74.5, 42], [74.5, 79.4, 8], [79.4, 84.3, 29], [84.3, 89.2, 1], [89.2, 94.1, 2], [94.1, 99.0, 10]]}, \"site-1\": {\"train\": [[1.0, 5.9, 172], [5.9, 10.8, 427], [10.8, 15.7, 508], [15.7, 20.6, 1244], [20.6, 25.5, 800], [25.5, 30.4, 1063], [30.4, 35.3, 1315], [35.3, 40.2, 12863], [40.2, 45.1, 1946], [45.1, 50.0, 549], [50.0, 54.9, 2431], [54.9, 59.8, 682], [59.8, 64.7, 1193], [64.7, 69.6, 230], [69.6, 74.5, 283], [74.5, 79.4, 64], [79.4, 84.3, 156], [84.3, 89.2, 16], [89.2, 94.1, 24], [94.1, 99.0, 83]], \"test\": [[1.0, 5.9, 33], [5.9, 10.8, 104], [10.8, 15.7, 137], [15.7, 20.6, 303], [20.6, 25.5, 215], [25.5, 30.4, 239], [30.4, 35.3, 320], [35.3, 40.2, 3237], [40.2, 45.1, 496], [45.1, 50.0, 128], [50.0, 54.9, 605], [54.9, 59.8, 159], [59.8, 64.7, 326], [64.7, 69.6, 47], [69.6, 74.5, 82], [74.5, 79.4, 19], [79.4, 84.3, 26], [84.3, 89.2, 4], [89.2, 94.1, 10], [94.1, 99.0, 22]]}, \"Global\": {\"train\": [[1.0, 5.9, 252], [5.9, 10.8, 646], [10.8, 15.7, 776], [15.7, 20.6, 1874], [20.6, 25.5, 1157], [25.5, 30.4, 1577], [30.4, 35.3, 2004], [35.3, 40.2, 19350], [40.2, 45.1, 2895], [45.1, 50.0, 803], [50.0, 54.9, 3653], [54.9, 59.8, 1021], [59.8, 64.7, 1779], [64.7, 69.6, 331], [69.6, 74.5, 427], [74.5, 79.4, 105], [79.4, 84.3, 231], [84.3, 89.2, 24], [89.2, 94.1, 37], [94.1, 99.0, 132]], \"test\": [[1.0, 5.9, 66], [5.9, 10.8, 161], [10.8, 15.7, 197], [15.7, 20.6, 481], [20.6, 25.5, 303], [25.5, 30.4, 361], [30.4, 35.3, 477], [35.3, 40.2, 4808], [40.2, 45.1, 756], [45.1, 50.0, 217], [50.0, 54.9, 919], [54.9, 59.8, 235], [59.8, 64.7, 462], [64.7, 69.6, 70], [69.6, 74.5, 124], [74.5, 79.4, 27], [79.4, 84.3, 55], [84.3, 89.2, 5], [89.2, 94.1, 12], [94.1, 99.0, 32]]}}}}" - ] - } - ], + "outputs": [], "source": [ "cat /tmp/nvflare/df/workdir/server/simulate_job/statistics/adults_stats.json" ] @@ -495,7 +227,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "a3c89693-37b9-450c-85dd-8a2d78fee3fa", "metadata": { "tags": [] diff --git a/examples/advanced/federated-statistics/df_stats/demo/visualization.ipynb b/examples/advanced/federated-statistics/df_stats/demo/visualization.ipynb index da0c36083e..283f5279b2 100644 --- a/examples/advanced/federated-statistics/df_stats/demo/visualization.ipynb +++ b/examples/advanced/federated-statistics/df_stats/demo/visualization.ipynb @@ -37,7 +37,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "c44a0217", "metadata": { "tags": [] @@ -60,7 +60,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "44f6bed2", "metadata": { "tags": [] @@ -81,7 +81,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "93c62d5e", "metadata": { "tags": [] @@ -109,745 +109,12 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "ab771712", "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Age\n", - "\n" - ] - }, - { - "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", - "
countmeansumpercentilestddevhistogram
site-2-train1302538.75504707{'25': 27.68, '50': 37.17, '75': 47.84}13.82[[0.0, 12.0, 0], [12.0, 24.0, 1992], [24.0, 36...
site-2-test325638.84126466{'25': 27.8, '50': 37.01, '75': 48.12}13.95[[0.0, 12.0, 0], [12.0, 24.0, 462], [24.0, 36....
site-1-train2604938.551004296{'25': 27.59, '50': 36.96, '75': 47.62}13.66[[0.0, 12.0, 0], [12.0, 24.0, 3849], [24.0, 36...
site-1-test651238.69251961{'25': 27.71, '50': 37.31, '75': 47.69}13.56[[0.0, 12.0, 0], [12.0, 24.0, 923], [24.0, 36....
Global-train3907438.621509003{'25': 27.62, '50': 37.03, '75': 47.7}13.71[[0.0, 12.0, 0], [12.0, 24.0, 5841], [24.0, 36...
Global-test976838.74378427{'25': 27.74, '50': 37.22, '75': 47.84}13.69[[0.0, 12.0, 0], [12.0, 24.0, 1385], [24.0, 36...
\n", - "
" - ], - "text/plain": [ - " count mean sum percentile \\\n", - "site-2-train 13025 38.75 504707 {'25': 27.68, '50': 37.17, '75': 47.84} \n", - "site-2-test 3256 38.84 126466 {'25': 27.8, '50': 37.01, '75': 48.12} \n", - "site-1-train 26049 38.55 1004296 {'25': 27.59, '50': 36.96, '75': 47.62} \n", - "site-1-test 6512 38.69 251961 {'25': 27.71, '50': 37.31, '75': 47.69} \n", - "Global-train 39074 38.62 1509003 {'25': 27.62, '50': 37.03, '75': 47.7} \n", - "Global-test 9768 38.74 378427 {'25': 27.74, '50': 37.22, '75': 47.84} \n", - "\n", - " stddev histogram \n", - "site-2-train 13.82 [[0.0, 12.0, 0], [12.0, 24.0, 1992], [24.0, 36... \n", - "site-2-test 13.95 [[0.0, 12.0, 0], [12.0, 24.0, 462], [24.0, 36.... \n", - "site-1-train 13.66 [[0.0, 12.0, 0], [12.0, 24.0, 3849], [24.0, 36... \n", - "site-1-test 13.56 [[0.0, 12.0, 0], [12.0, 24.0, 923], [24.0, 36.... \n", - "Global-train 13.71 [[0.0, 12.0, 0], [12.0, 24.0, 5841], [24.0, 36... \n", - "Global-test 13.69 [[0.0, 12.0, 0], [12.0, 24.0, 1385], [24.0, 36... " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "fnlwgt\n", - "\n" - ] - }, - { - "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", - "
countmeansumpercentilestddevhistogram
site-2-train13025188377.942453622659{'25': 115817.64, '50': 177284.07, '75': 23692...105717.80[[12285.0, 86190.75, 1841], [86190.75, 160096....
site-2-test3256193666.96630579611{'25': 121359.4, '50': 180376.8, '75': 244528.29}105613.63[[12285.0, 86190.75, 408], [86190.75, 160096.5...
site-1-train26049190260.754956102394{'25': 118213.41, '50': 178810.82, '75': 23746...105994.68[[12285.0, 86190.75, 3557], [86190.75, 160096....
site-1-test6512187848.741223270998{'25': 116579.68, '50': 176923.19, '75': 23606...103737.63[[12285.0, 86190.75, 947], [86190.75, 160096.5...
Global-train39074189633.137409725053{'25': 117478.97, '50': 178173.04, '75': 23726...105904.83[[12285.0, 86190.75, 5398], [86190.75, 160096....
Global-test9768189788.151853850609{'25': 117771.79, '50': 178003.24, '75': 23915...104397.34[[12285.0, 86190.75, 1355], [86190.75, 160096....
\n", - "
" - ], - "text/plain": [ - " count mean sum \\\n", - "site-2-train 13025 188377.94 2453622659 \n", - "site-2-test 3256 193666.96 630579611 \n", - "site-1-train 26049 190260.75 4956102394 \n", - "site-1-test 6512 187848.74 1223270998 \n", - "Global-train 39074 189633.13 7409725053 \n", - "Global-test 9768 189788.15 1853850609 \n", - "\n", - " percentile stddev \\\n", - "site-2-train {'25': 115817.64, '50': 177284.07, '75': 23692... 105717.80 \n", - "site-2-test {'25': 121359.4, '50': 180376.8, '75': 244528.29} 105613.63 \n", - "site-1-train {'25': 118213.41, '50': 178810.82, '75': 23746... 105994.68 \n", - "site-1-test {'25': 116579.68, '50': 176923.19, '75': 23606... 103737.63 \n", - "Global-train {'25': 117478.97, '50': 178173.04, '75': 23726... 105904.83 \n", - "Global-test {'25': 117771.79, '50': 178003.24, '75': 23915... 104397.34 \n", - "\n", - " histogram \n", - "site-2-train [[12285.0, 86190.75, 1841], [86190.75, 160096.... \n", - "site-2-test [[12285.0, 86190.75, 408], [86190.75, 160096.5... \n", - "site-1-train [[12285.0, 86190.75, 3557], [86190.75, 160096.... \n", - "site-1-test [[12285.0, 86190.75, 947], [86190.75, 160096.5... \n", - "Global-train [[12285.0, 86190.75, 5398], [86190.75, 160096.... \n", - "Global-test [[12285.0, 86190.75, 1355], [86190.75, 160096.... " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Education-Num\n", - "\n" - ] - }, - { - "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", - "
countmeansumpercentilestddevhistogram
site-2-train1302510.06130985{'25': 8.73, '50': 9.74, '75': 12.12}2.57[[1.0, 1.75, 31], [1.75, 2.5, 63], [2.5, 3.25,...
site-2-test325610.1433012{'25': 8.76, '50': 9.79, '75': 12.28}2.56[[1.0, 1.75, 1], [1.75, 2.5, 16], [2.5, 3.25, ...
site-1-train2604910.08262551{'25': 8.75, '50': 9.76, '75': 12.13}2.57[[1.0, 1.75, 40], [1.75, 2.5, 138], [2.5, 3.25...
site-1-test651210.0965686{'25': 8.74, '50': 9.76, '75': 12.19}2.60[[1.0, 1.75, 11], [1.75, 2.5, 30], [2.5, 3.25,...
Global-train3907410.07393536{'25': 8.75, '50': 9.76, '75': 12.13}2.57[[1.0, 1.75, 71], [1.75, 2.5, 201], [2.5, 3.25...
Global-test976810.1098698{'25': 8.75, '50': 9.77, '75': 12.22}2.59[[1.0, 1.75, 12], [1.75, 2.5, 46], [2.5, 3.25,...
\n", - "
" - ], - "text/plain": [ - " count mean sum percentile \\\n", - "site-2-train 13025 10.06 130985 {'25': 8.73, '50': 9.74, '75': 12.12} \n", - "site-2-test 3256 10.14 33012 {'25': 8.76, '50': 9.79, '75': 12.28} \n", - "site-1-train 26049 10.08 262551 {'25': 8.75, '50': 9.76, '75': 12.13} \n", - "site-1-test 6512 10.09 65686 {'25': 8.74, '50': 9.76, '75': 12.19} \n", - "Global-train 39074 10.07 393536 {'25': 8.75, '50': 9.76, '75': 12.13} \n", - "Global-test 9768 10.10 98698 {'25': 8.75, '50': 9.77, '75': 12.22} \n", - "\n", - " stddev histogram \n", - "site-2-train 2.57 [[1.0, 1.75, 31], [1.75, 2.5, 63], [2.5, 3.25,... \n", - "site-2-test 2.56 [[1.0, 1.75, 1], [1.75, 2.5, 16], [2.5, 3.25, ... \n", - "site-1-train 2.57 [[1.0, 1.75, 40], [1.75, 2.5, 138], [2.5, 3.25... \n", - "site-1-test 2.60 [[1.0, 1.75, 11], [1.75, 2.5, 30], [2.5, 3.25,... \n", - "Global-train 2.57 [[1.0, 1.75, 71], [1.75, 2.5, 201], [2.5, 3.25... \n", - "Global-test 2.59 [[1.0, 1.75, 12], [1.75, 2.5, 46], [2.5, 3.25,... " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Capital Gain\n", - "\n" - ] - }, - { - "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", - "
countmeansumpercentilestddevhistogram
site-2-train130251082.2814096655{'25': -52.0, '50': 9.98, '75': 71.97}7629.93[[0.0, 4999.95, 12387], [4999.95, 9999.9, 348]...
site-2-test32561080.423517842{'25': -366.61, '50': 74.19, '75': 514.99}7398.24[[0.0, 4999.95, 3091], [4999.95, 9999.9, 91], ...
site-1-train260491079.7328125799{'25': -51.8, '50': 10.38, '75': 72.56}7386.07[[0.0, 4999.95, 24723], [4999.95, 9999.9, 712]...
site-1-test65121069.346963525{'25': -51.87, '50': 10.24, '75': 72.36}7382.73[[0.0, 4999.95, 6190], [4999.95, 9999.9, 166],...
Global-train390741080.5842222454{'25': -51.86, '50': 10.25, '75': 72.36}7468.15[[0.0, 4999.95, 37110], [4999.95, 9999.9, 1060...
Global-test97681073.0310481367{'25': -51.83, '50': 10.32, '75': 72.47}7387.53[[0.0, 4999.95, 9281], [4999.95, 9999.9, 257],...
\n", - "
" - ], - "text/plain": [ - " count mean sum \\\n", - "site-2-train 13025 1082.28 14096655 \n", - "site-2-test 3256 1080.42 3517842 \n", - "site-1-train 26049 1079.73 28125799 \n", - "site-1-test 6512 1069.34 6963525 \n", - "Global-train 39074 1080.58 42222454 \n", - "Global-test 9768 1073.03 10481367 \n", - "\n", - " percentile stddev \\\n", - "site-2-train {'25': -52.0, '50': 9.98, '75': 71.97} 7629.93 \n", - "site-2-test {'25': -366.61, '50': 74.19, '75': 514.99} 7398.24 \n", - "site-1-train {'25': -51.8, '50': 10.38, '75': 72.56} 7386.07 \n", - "site-1-test {'25': -51.87, '50': 10.24, '75': 72.36} 7382.73 \n", - "Global-train {'25': -51.86, '50': 10.25, '75': 72.36} 7468.15 \n", - "Global-test {'25': -51.83, '50': 10.32, '75': 72.47} 7387.53 \n", - "\n", - " histogram \n", - "site-2-train [[0.0, 4999.95, 12387], [4999.95, 9999.9, 348]... \n", - "site-2-test [[0.0, 4999.95, 3091], [4999.95, 9999.9, 91], ... \n", - "site-1-train [[0.0, 4999.95, 24723], [4999.95, 9999.9, 712]... \n", - "site-1-test [[0.0, 4999.95, 6190], [4999.95, 9999.9, 166],... \n", - "Global-train [[0.0, 4999.95, 37110], [4999.95, 9999.9, 1060... \n", - "Global-test [[0.0, 4999.95, 9281], [4999.95, 9999.9, 257],... " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Capital Loss\n", - "\n" - ] - }, - { - "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", - "
countmeansumpercentilestddevhistogram
site-2-train1302585.181109490{'25': -238.64, '50': 23.91, '75': 286.45}397.06[[0.0, 217.8, 12433], [217.8, 435.6, 2], [435....
site-2-test325698.77321598{'25': -295.19, '50': 34.42, '75': 364.03}426.34[[0.0, 217.8, 3086], [217.8, 435.6, 0], [435.6...
site-1-train2604986.652257020{'25': -157.67, '50': 16.06, '75': 189.79}401.64[[0.0, 217.8, 24847], [217.8, 435.6, 6], [435....
site-1-test651289.94585680{'25': -91.87, '50': 9.84, '75': 111.55}408.24[[0.0, 217.8, 6200], [217.8, 435.6, 0], [435.6...
Global-train3907486.163366510{'25': -198.13, '50': 20.07, '75': 238.26}400.11[[0.0, 217.8, 37280], [217.8, 435.6, 8], [435....
Global-test976892.88907278{'25': -91.74, '50': 10.12, '75': 111.97}414.36[[0.0, 217.8, 9286], [217.8, 435.6, 0], [435.6...
\n", - "
" - ], - "text/plain": [ - " count mean sum \\\n", - "site-2-train 13025 85.18 1109490 \n", - "site-2-test 3256 98.77 321598 \n", - "site-1-train 26049 86.65 2257020 \n", - "site-1-test 6512 89.94 585680 \n", - "Global-train 39074 86.16 3366510 \n", - "Global-test 9768 92.88 907278 \n", - "\n", - " percentile stddev \\\n", - "site-2-train {'25': -238.64, '50': 23.91, '75': 286.45} 397.06 \n", - "site-2-test {'25': -295.19, '50': 34.42, '75': 364.03} 426.34 \n", - "site-1-train {'25': -157.67, '50': 16.06, '75': 189.79} 401.64 \n", - "site-1-test {'25': -91.87, '50': 9.84, '75': 111.55} 408.24 \n", - "Global-train {'25': -198.13, '50': 20.07, '75': 238.26} 400.11 \n", - "Global-test {'25': -91.74, '50': 10.12, '75': 111.97} 414.36 \n", - "\n", - " histogram \n", - "site-2-train [[0.0, 217.8, 12433], [217.8, 435.6, 2], [435.... \n", - "site-2-test [[0.0, 217.8, 3086], [217.8, 435.6, 0], [435.6... \n", - "site-1-train [[0.0, 217.8, 24847], [217.8, 435.6, 6], [435.... \n", - "site-1-test [[0.0, 217.8, 6200], [217.8, 435.6, 0], [435.6... \n", - "Global-train [[0.0, 217.8, 37280], [217.8, 435.6, 8], [435.... \n", - "Global-test [[0.0, 217.8, 9286], [217.8, 435.6, 0], [435.6... " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Hours per week\n", - "\n" - ] - }, - { - "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", - "
countmeansumpercentilestddevhistogram
site-2-train1302540.41526387{'25': 39.04, '50': 40.18, '75': 44.8}12.42[[1.0, 5.9, 80], [5.9, 10.8, 219], [10.8, 15.7...
site-2-test325640.31131239{'25': 39.04, '50': 40.14, '75': 45.15}12.73[[1.0, 5.9, 33], [5.9, 10.8, 57], [10.8, 15.7,...
site-1-train2604940.421052889{'25': 39.05, '50': 40.12, '75': 44.9}12.35[[1.0, 5.9, 172], [5.9, 10.8, 427], [10.8, 15....
site-1-test651240.51263795{'25': 39.06, '50': 40.13, '75': 44.92}12.34[[1.0, 5.9, 33], [5.9, 10.8, 104], [10.8, 15.7...
Global-train3907440.421579276{'25': 39.05, '50': 40.17, '75': 44.87}12.37[[1.0, 5.9, 252], [5.9, 10.8, 646], [10.8, 15....
Global-test976840.44395034{'25': 39.06, '50': 40.13, '75': 45.0}12.47[[1.0, 5.9, 66], [5.9, 10.8, 161], [10.8, 15.7...
\n", - "
" - ], - "text/plain": [ - " count mean sum percentile \\\n", - "site-2-train 13025 40.41 526387 {'25': 39.04, '50': 40.18, '75': 44.8} \n", - "site-2-test 3256 40.31 131239 {'25': 39.04, '50': 40.14, '75': 45.15} \n", - "site-1-train 26049 40.42 1052889 {'25': 39.05, '50': 40.12, '75': 44.9} \n", - "site-1-test 6512 40.51 263795 {'25': 39.06, '50': 40.13, '75': 44.92} \n", - "Global-train 39074 40.42 1579276 {'25': 39.05, '50': 40.17, '75': 44.87} \n", - "Global-test 9768 40.44 395034 {'25': 39.06, '50': 40.13, '75': 45.0} \n", - "\n", - " stddev histogram \n", - "site-2-train 12.42 [[1.0, 5.9, 80], [5.9, 10.8, 219], [10.8, 15.7... \n", - "site-2-test 12.73 [[1.0, 5.9, 33], [5.9, 10.8, 57], [10.8, 15.7,... \n", - "site-1-train 12.35 [[1.0, 5.9, 172], [5.9, 10.8, 427], [10.8, 15.... \n", - "site-1-test 12.34 [[1.0, 5.9, 33], [5.9, 10.8, 104], [10.8, 15.7... \n", - "Global-train 12.37 [[1.0, 5.9, 252], [5.9, 10.8, 646], [10.8, 15.... \n", - "Global-test 12.47 [[1.0, 5.9, 66], [5.9, 10.8, 161], [10.8, 15.7... " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "\n", "vis.show_stats(data = data)"