Repository: HDI-Project/ATMSeer Branch: master Commit: 35e40b5245ca Files: 127 Total size: 1.5 MB Directory structure: gitextract_l1u8z3d0/ ├── .dockerignore ├── .editorconfig ├── .github/ │ └── ISSUE_TEMPLATE.md ├── .gitignore ├── .gitmodules ├── Dockerfile ├── README.md ├── Vagrantfile ├── cleanup.sh ├── docker-compose.yml ├── install-docker.sh ├── install.sh ├── kill.sh ├── log.txt ├── package.json ├── public/ │ ├── index.html │ ├── manifest.json │ ├── morley.csv │ └── viz/ │ ├── blood.csv │ ├── datarun1_gp.csv │ ├── datarun1_grid.csv │ ├── datarun2_gp.csv │ ├── datarun3_gp.csv │ ├── dataset_31_credit-g.csv │ ├── pollution_1.csv │ └── pollution_1_test.csv ├── scripts/ │ ├── build_with_docker.sh │ └── start_docker.sh ├── server/ │ ├── .gitignore │ ├── atm_server/ │ │ ├── __init__.py │ │ ├── api.py │ │ ├── atm_helper/ │ │ │ ├── __init__.py │ │ │ ├── btb_wireup.py │ │ │ ├── datarun_config.py │ │ │ ├── helpers.py │ │ │ └── worker.py │ │ ├── atmvis.py │ │ ├── cache.py │ │ ├── cli.py │ │ ├── config.py │ │ ├── db.py │ │ ├── error.py │ │ ├── recommender/ │ │ │ ├── OneHotEncoder.py │ │ │ ├── __init__.py │ │ │ ├── encoder.py │ │ │ ├── logging_.py │ │ │ ├── metafeature.py │ │ │ ├── metafeatures.py │ │ │ └── predict_dataset.py │ │ ├── server.py │ │ └── utils.py │ ├── config/ │ │ ├── run.1.yaml │ │ ├── run.yaml │ │ └── sql.yaml │ ├── recommender_dataset/ │ │ ├── data_meta_first.csv │ │ └── dataset_method_PMA.csv │ ├── requirements.txt │ └── setup.py ├── src/ │ ├── Const.tsx │ ├── assets/ │ │ ├── methodsDef.1.json │ │ └── methodsDef.json │ ├── components/ │ │ ├── App.css │ │ ├── App.test.tsx │ │ ├── App.tsx │ │ ├── DataRuns/ │ │ │ ├── AskModal.tsx │ │ │ ├── BarChart.tsx │ │ │ ├── DataRuns.tsx │ │ │ ├── Histogram.tsx │ │ │ ├── HyperPartitions.tsx │ │ │ ├── Methods.css │ │ │ ├── Methods.tsx │ │ │ ├── MethodsDotBarChart.css │ │ │ ├── MethodsDotBarChart.tsx │ │ │ ├── MethodsLineChart.css │ │ │ ├── MethodsLineChart.tsx │ │ │ ├── MethodsLineChart_backup.css │ │ │ ├── MethodsLineChart_backup.tsx │ │ │ ├── MethodsSearchSpace.css │ │ │ ├── MethodsSearchSpace.tsx │ │ │ ├── ThreeLevel/ │ │ │ │ ├── HyperParameters.tsx │ │ │ │ ├── HyperPartitions.css │ │ │ │ ├── HyperPartitions.tsx │ │ │ │ ├── Methods.css │ │ │ │ ├── Methods.tsx │ │ │ │ ├── ThreeLevel.css │ │ │ │ ├── ThreeLevel.tsx │ │ │ │ └── index.tsx │ │ │ ├── ThreeLevel_Horizontal/ │ │ │ │ ├── HyperParameters.tsx │ │ │ │ ├── HyperPartitions.css │ │ │ │ ├── HyperPartitions.tsx │ │ │ │ ├── Methods.css │ │ │ │ ├── Methods.tsx │ │ │ │ ├── ThreeLevel.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ ├── DataView.css │ │ ├── DataView.tsx │ │ ├── SidePanel/ │ │ │ ├── DataSelector.css │ │ │ ├── DataSelector.tsx │ │ │ ├── DataView.css │ │ │ ├── DataView.tsx │ │ │ ├── FeatureChart.tsx │ │ │ ├── LeaderBoard.css │ │ │ ├── LeaderBoard.tsx │ │ │ ├── LineChart.tsx │ │ │ ├── OverallHistogram.tsx │ │ │ ├── SettingsModal.tsx │ │ │ ├── SidePanel.tsx │ │ │ ├── index.css │ │ │ └── index.tsx │ │ ├── UploadModal.tsx │ │ └── Utils/ │ │ └── GenerateSvg.tsx │ ├── helper/ │ │ └── index.tsx │ ├── images.d.ts │ ├── index.css │ ├── index.tsx │ ├── registerServiceWorker.ts │ ├── service/ │ │ └── dataService.ts │ └── types/ │ └── index.ts ├── start.sh ├── startserver.sh ├── tsconfig.json ├── tsconfig.prod.json ├── tsconfig.test.json ├── tslint.json ├── vagrantProvision.sh └── vagrantStart.sh ================================================ FILE CONTENTS ================================================ ================================================ FILE: .dockerignore ================================================ node_modules/ # Environments .env .venv env/ venv/ ENV/ env.bak/ venv.bak/ .idea/ .vscode .atm_server_cache atm/ logs/ metrics/ models/ atm.db/ ================================================ FILE: .editorconfig ================================================ [*] indent_style = space indent_size = 4 trim_trailing_whitespace = true [{.travis.yml,*.json}] indent_style = space indent_size = 2 ================================================ FILE: .github/ISSUE_TEMPLATE.md ================================================ ## Description ## Expected Behavior ## Actual Behavior ## Steps to Reproduce the Problem 1. 1. 1. ## Specifications - ATMSeer Version: - Vagrant Version: - VirtualBox Version: - OS Version: ================================================ FILE: .gitignore ================================================ # See https://help.github.com/ignore-files/ for more about ignoring files. # dependencies /node_modules # data public/data/csvs/ atm/data/ # env /pyenv # testing /coverage # production /build # misc .DS_Store .env.local .env.development.local .env.test.local .env.production.local npm-debug.log* yarn-debug.log* yarn-error.log* yarn.lock # Editor configs .vscode/ .idea/ # Environments .env .venv env/ venv/ ENV/ env.bak/ venv.bak/ atm.db /atm/ logs *.log metrics/ models/ datasets/ .atm_server_cache/ .vagrant/* node.log ================================================ FILE: .gitmodules ================================================ [submodule "lib/atm"] path = lib/atm url = http://github.com/HDI-Project/ATM.git ================================================ FILE: Dockerfile ================================================ FROM ubuntu:16.04 # install utilities RUN apt-get update -yqq \ && apt-get install -yqq \ unzip \ curl \ git \ ssh \ gcc \ make \ build-essential \ libkrb5-dev \ sudo \ apt-utils RUN sudo apt-get install -y python3 python3-pip && \ pip3 install --upgrade pip RUN sudo apt-get install -y libmysqlclient-dev sqlite3 RUN curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - RUN sudo apt-get install -yq nodejs \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ADD . /code WORKDIR /code RUN pip3 install -r lib/atm/requirements.txt RUN pip3 install lib/atm/ RUN pip3 install -r server/requirements.txt RUN pip3 uninstall -y scikit_learn RUN pip3 install scikit_learn==0.19.2 RUN npm install --quiet RUN npm run build EXPOSE 5000 # ENTRYPOINT [ "python" ] ENV PYTHONPATH "${PYTHONPATH}:/code/server" ================================================ FILE: README.md ================================================

“DAI-Lab” An open source project from Data to AI Lab at MIT.

# ATMSeer ATMSeer is an interactive visualization tool for automated machine learning (AutoML). It supports users to monitor an ongoing AutoML process, analyze the searched models, and refine the search space in real-time through a multi-granularity visualization. In this instantiation, we build on top of the [ATM AutoML system](https://github.com/HDI-Project/ATM). Our paper, "ATMSeer: Increasing Transparency and Controllability in Automated Machine Learning", was presented at CHI 2019 ([pdf](https://arxiv.org/abs/1902.05009), [site](https://dai.lids.mit.edu/projects/atmseer/)). [![ATMSEER VIDEO](https://img.youtube.com/vi/7QwN3mmiCzY/0.jpg)](http://www.youtube.com/watch?v=7QwN3mmiCzY "Video Title") ## Installation ### Prerequisites Download and install or update [VirtualBox](https://www.virtualbox.org/wiki/Downloads) and [Vagrant](https://www.vagrantup.com/downloads.html). ### Download ATMSeer ``` git clone https://github.com/HDI-Project/ATMSeer.git ``` ### Install and launch Then go to ATMSeer project from the terminal and run ``` sh install.sh ``` This will install all the necessary packages in a virtual environment and launch the ATMSeer server. If you see these messages in terminal: ``` ... default: [INFO] [13:07:26:werkzeug] * Running on http://0.0.0.0:7777/ (Press CTRL+C to quit) default: [INFO] [13:07:26:werkzeug] * Restarting with stat default: [WARNING] [13:07:31:werkzeug] * Debugger is active! default: [INFO] [13:07:31:werkzeug] * Debugger PIN: 295-249-971 default: No valid rules have been specified for JavaScript files ``` then ATMSeer is up and running. Finally, navigate to `http://localhost:7779/` in your broswer (preferably Chrome) to see ATMSeer. ### Debugging In case you experience any issues, please try the following. 1. Open a terminal and navigate to ATMSeer project location. 2. Run `vagrant up` command (in case vagrant is not already running). 3. From the same terminal run `vagrant ssh`. 4. Run `cd /vagrant` and `sh start.sh`. Open a second terminal and navigate to the ATMSeer project directory. Run `vagrant ssh`, `cd /vagrant`, and `npm start`. If you are still experiencing issues, please [open an issue](https://github.com/HDI-Project/ATMSeer/issues/new) and include as much detail as you can on your problem. ### Deploy with Docker [alternative] If you have problem using [VirtualBox](https://www.virtualbox.org/wiki/Downloads) and [Vagrant](https://www.vagrantup.com/downloads.html) (especially in Windows), you can choose to use Docker instead. Download and Install [Docker](https://docs.docker.com/install/) and [Compose](https://docs.docker.com/compose/install/) ``` sh install-docker.sh ``` If you see the following message: ``` atmseer | * Serving Flask app "server" (lazy loading) atmseer | * Environment: production atmseer | WARNING: Do not use the development server in a production environment. atmseer | Use a production WSGI server instead. atmseer | * Debug mode: off atmseer | [INFO] [13:43:13:werkzeug] * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) ``` You can navigate to `http://localhost:5000/` in your broswer (preferably Chrome) to see ATMSeer. ## Using ATMSeer To see ATMSeer in action, you will first upload a dataset to use with the AutoML process, create a "datarun", and then monitor and control the ongoing AutoML process. ### Upload a dataset You first need to upload a dataset to use with the AutoML process. We have provided several example datasets in `public/viz`. For example, press "Upload" and navigate to your ATMSeer installation and upload `public/viz/blood.csv`. To use your own dataset, take care to provide it in the required data format (https://hdi-project.github.io/ATM/readme.html#data-format). ### Create a datarun A datarun is a single AutoML process, comprising a dataset, a configuration for the AutoML process, and associated state information. To create a new datarun, click the add icon, adjust methods, budget type, and budget, and press "Submit". You should not need to adjust advanced settings in most cases. If you do, please see https://hdi-project.github.io/ATM/database.html#dataruns for some details on the setting options. ### Start the AutoML process Now, select your datarun from the list and press "Run" to begin the AutoML process. You should see completed trials populate on the top panel and details of algorithms, hyperpartitions, and hyperparameters in the three-level visualization on the right. ## Reference If you use ATMSeer, please consider citing our paper: ``` bibtex @inproceedings{wang2019atmseer, author = {Wang, Qianwen and Ming, Yao and Jin, Zhihua and Shen, Qiaomu and Liu, Dongyu and Smith, Micah J. and Veeramachaneni, Kalyan and Qu, Huamin}, title = {ATMSeer: Increasing Transparency and Controllability in Automated Machine Learning}, booktitle = {Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems}, series = {CHI '19}, year = {2019}, location = {Glasgow, Scotland UK}, publisher = {ACM}, address = {New York, NY, USA}, url = {http://doi.acm.org/10.1145/3290605.3300911} } ``` ================================================ FILE: Vagrantfile ================================================ # -*- mode: ruby -*- # vi: set ft=ruby : # All Vagrant configuration is done below. The "2" in Vagrant.configure # configures the configuration version (we support older styles for # backwards compatibility). Please don't change it unless you know what # you're doing. Vagrant.configure("2") do |config| # The most common configuration options are documented and commented below. # For a complete reference, please see the online documentation at # https://docs.vagrantup.com. # Every Vagrant development environment requires a box. You can search for # boxes at https://vagrantcloud.com/search. # config.vm.box = "ubuntu/trusty64" config.vm.box = "ubuntu/xenial64" config.vm.network "forwarded_port", guest: 7777, host: 7777 config.vm.network "forwarded_port", guest: 7779, host: 7779 config.vm.provision "vagrantprovision", type: "shell", run: "never" do |s| s.path = "vagrantProvision.sh" end config.vm.provision "vagrantstart", type: "shell", run: "always" do |s| s.path = "vagrantStart.sh" end # Disable automatic box update checking. If you disable this, then # boxes will only be checked for updates when the user runs # `vagrant box outdated`. This is not recommended. # config.vm.box_check_update = false # Create a forwarded port mapping which allows access to a specific port # within the machine from a port on the host machine. In the example below, # accessing "localhost:8080" will access port 80 on the guest machine. # NOTE: This will enable public access to the opened port # config.vm.network "forwarded_port", guest: 80, host: 8080 # Create a forwarded port mapping which allows access to a specific port # within the machine from a port on the host machine and only allow access # via 127.0.0.1 to disable public access # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" # Create a private network, which allows host-only access to the machine # using a specific IP. # config.vm.network "private_network", ip: "192.168.33.10" # Create a public network, which generally matched to bridged network. # Bridged networks make the machine appear as another physical device on # your network. # config.vm.network "public_network" # Share an additional folder to the guest VM. The first argument is # the path on the host to the actual folder. The second argument is # the path on the guest to mount the folder. And the optional third # argument is a set of non-required options. # config.vm.synced_folder "../data", "/vagrant_data" # Provider-specific configuration so you can fine-tune various # backing providers for Vagrant. These expose provider-specific options. # Example for VirtualBox: # config.vm.provider "virtualbox" do |vb| # # Display the VirtualBox GUI when booting the machine # vb.gui = true # # # Customize the amount of memory on the VM: vb.memory = "4096" end # # View the documentation for the provider you are using for more # information on available options. # Enable provisioning with a shell script. Additional provisioners such as # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the # documentation for more information about their specific syntax and use. # config.vm.provision "shell" #, inline: <<-SHELL # sudo apt-get update # apt-get install -y apache2 # SHELL end ================================================ FILE: cleanup.sh ================================================ rm -rf models/* metrics/* logs/* atm.db ================================================ FILE: docker-compose.yml ================================================ version: "3" services: web: build: . container_name: atmseer ports: - "5000:5000" command: sudo python3 server/atm_server/server.py --port 5000 volumes: - ./logs:/code/logs - ./metrics:/code/models - ./models:/code/metrics ================================================ FILE: install-docker.sh ================================================ git submodule init git submodule update mkdir logs && chmod 0777 logs mkdir metrics && chmod 0777 metrics mkdir models && chmod 0777 models docker-compose up ================================================ FILE: install.sh ================================================ git submodule init git submodule update mkdir logs && chmod 0777 logs mkdir metrics && chmod 0777 metrics mkdir models && chmod 0777 models vagrant up --provision-with vagrantprovision vagrant reload ================================================ FILE: kill.sh ================================================ #!/bin/bash pkill -9 python ================================================ FILE: log.txt ================================================ * Serving Flask app "server" (lazy loading) * Environment: production WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. * Debug mode: on [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] [('criterion', 'entropy')] [('max_features', ), ('max_depth', ), ('min_samples_leaf', ), ('min_samples_leaf', )] [('n_estimators', 100), ('n_jobs', -1)] ================================================ FILE: package.json ================================================ { "name": "vis_atm", "version": "0.1.0", "author": "qianwen Wang", "private": true, "dependencies": { "@types/echarts": "0.0.13", "antd": "3.5.4", "axios": "^0.18.1", "d3": "^5.6.0", "echarts": "^4.1.0", "echarts-for-react": "^2.0.12-beta.0", "ml-pca": "^2.1.0", "react": "^16.3.2", "react-dom": "^16.3.2", "react-scripts-ts": "2.16.0" }, "scripts": { "start": "cross-env PORT=7779 react-scripts-ts start", "build": "react-scripts-ts build", "test": "react-scripts-ts test --env=jsdom", "eject": "react-scripts-ts eject" }, "devDependencies": { "@types/jest": "^22.2.3", "@types/node": "^10.1.2", "@types/react": "^16.3.14", "@types/react-dom": "^16.0.5", "cross-env": "^5.2.0", "typescript": "^2.8.3" } } ================================================ FILE: public/index.html ================================================ ATMSeer
================================================ FILE: public/manifest.json ================================================ { "short_name": "React App", "name": "Create React App Sample", "icons": [ { "src": "favicon.ico", "sizes": "64x64 32x32 24x24 16x16", "type": "image/x-icon" } ], "start_url": "./index.html", "display": "standalone", "theme_color": "#000000", "background_color": "#ffffff" } ================================================ FILE: public/morley.csv ================================================ Expt,Run,Speed 1,1,850 1,2,740 1,3,900 1,4,1070 1,5,930 1,6,850 1,7,950 1,8,980 1,9,980 1,10,880 1,11,1000 1,12,980 1,13,930 1,14,650 1,15,760 1,16,810 1,17,1000 1,18,1000 1,19,960 1,20,960 2,1,960 2,2,940 2,3,960 2,4,940 2,5,880 2,6,800 2,7,850 2,8,880 2,9,900 2,10,840 2,11,830 2,12,790 2,13,810 2,14,880 2,15,880 2,16,830 2,17,800 2,18,790 2,19,760 2,20,800 3,1,880 3,2,880 3,3,880 3,4,860 3,5,720 3,6,720 3,7,620 3,8,860 3,9,970 3,10,950 3,11,880 3,12,910 3,13,850 3,14,870 3,15,840 3,16,840 3,17,850 3,18,840 3,19,840 3,20,840 4,1,890 4,2,810 4,3,810 4,4,820 4,5,800 4,6,770 4,7,760 4,8,740 4,9,750 4,10,760 4,11,910 4,12,920 4,13,890 4,14,860 4,15,880 4,16,720 4,17,840 4,18,850 4,19,850 4,20,780 5,1,890 5,2,840 5,3,780 5,4,810 5,5,760 5,6,810 5,7,790 5,8,810 5,9,820 5,10,850 5,11,870 5,12,870 5,13,810 5,14,740 5,15,810 5,16,940 5,17,950 5,18,800 5,19,810 5,20,870 ================================================ FILE: public/viz/blood.csv ================================================ V1,V2,V3,V4,class 2,50,12500,98,2 0,13,3250,28,2 1,16,4000,35,2 2,20,5000,45,2 1,24,6000,77,1 4,4,1000,4,1 2,7,1750,14,2 1,12,3000,35,1 2,9,2250,22,2 5,46,11500,98,2 4,23,5750,58,1 0,3,750,4,1 2,10,2500,28,2 1,13,3250,47,1 2,6,1500,15,2 2,5,1250,11,2 2,14,3500,48,2 2,15,3750,49,2 2,6,1500,15,2 2,3,750,4,2 2,3,750,4,2 4,11,2750,28,1 2,6,1500,16,2 2,6,1500,16,2 9,9,2250,16,1 4,14,3500,40,1 4,6,1500,14,1 4,12,3000,34,2 4,5,1250,11,2 4,8,2000,21,1 1,14,3500,58,1 4,10,2500,28,2 4,10,2500,28,2 4,9,2250,26,2 2,16,4000,64,1 2,8,2000,28,2 2,12,3000,47,2 4,6,1500,16,2 2,14,3500,57,2 4,7,1750,22,2 2,13,3250,53,2 2,5,1250,16,1 2,5,1250,16,2 2,5,1250,16,1 4,20,5000,69,2 4,9,2250,28,2 2,9,2250,36,1 2,2,500,2,1 2,2,500,2,1 2,2,500,2,1 2,11,2750,46,1 2,11,2750,46,2 2,6,1500,22,1 2,12,3000,52,1 4,5,1250,14,2 4,19,4750,69,2 4,8,2000,26,2 2,7,1750,28,2 2,16,4000,81,1 3,6,1500,21,1 2,7,1750,29,1 2,8,2000,35,2 2,10,2500,49,1 4,5,1250,16,2 2,3,750,9,2 3,16,4000,74,1 2,4,1000,14,2 0,2,500,4,1 4,7,1750,25,1 1,9,2250,51,1 2,4,1000,16,1 2,4,1000,16,1 4,17,4250,71,2 2,2,500,4,1 2,2,500,4,2 2,2,500,4,2 2,4,1000,16,2 2,2,500,4,1 2,2,500,4,1 2,2,500,4,1 4,6,1500,23,2 2,4,1000,16,1 2,4,1000,16,1 2,4,1000,16,1 2,6,1500,28,2 2,6,1500,28,1 4,2,500,4,1 4,2,500,4,1 4,2,500,4,1 2,7,1750,35,2 4,2,500,4,2 4,2,500,4,1 4,2,500,4,1 4,2,500,4,1 12,11,2750,23,1 4,7,1750,28,1 3,17,4250,86,1 4,9,2250,38,2 4,4,1000,14,2 5,7,1750,26,2 4,8,2000,34,2 2,13,3250,76,2 4,9,2250,40,1 2,5,1250,26,1 2,5,1250,26,1 6,17,4250,70,1 0,8,2000,59,1 3,5,1250,26,1 2,3,750,14,1 2,10,2500,64,1 4,5,1250,23,2 4,9,2250,46,1 4,5,1250,23,1 4,8,2000,40,2 2,12,3000,82,1 11,24,6000,64,1 2,7,1750,46,2 4,11,2750,61,1 1,7,1750,57,1 2,11,2750,79,2 2,3,750,16,2 4,5,1250,26,2 2,6,1500,41,2 2,5,1250,33,2 2,4,1000,26,1 2,5,1250,34,1 4,8,2000,46,2 2,4,1000,26,1 4,8,2000,48,2 2,2,500,10,2 4,5,1250,28,1 2,12,3000,95,1 2,2,500,10,1 4,6,1500,35,1 2,11,2750,88,1 2,3,750,19,1 2,5,1250,37,1 2,12,3000,98,1 9,5,1250,19,1 2,2,500,11,1 2,9,2250,74,1 5,14,3500,86,1 4,3,750,16,1 4,3,750,16,1 4,2,500,9,2 4,3,750,16,2 6,3,750,14,1 2,2,500,11,1 2,2,500,11,2 2,2,500,11,1 2,7,1750,58,2 4,6,1500,39,1 4,11,2750,78,1 2,1,250,2,2 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,2 2,1,250,2,2 2,1,250,2,2 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 11,10,2500,35,1 11,4,1000,16,2 4,5,1250,33,2 4,6,1500,41,2 2,3,750,22,1 4,4,1000,26,2 10,4,1000,16,1 2,4,1000,35,1 4,12,3000,88,1 13,8,2000,26,1 11,9,2250,33,1 4,5,1250,34,1 4,4,1000,26,1 8,15,3750,77,1 4,5,1250,35,2 4,7,1750,52,1 4,7,1750,52,1 2,4,1000,35,1 11,11,2750,42,1 2,2,500,14,1 2,5,1250,47,2 9,8,2000,38,2 4,6,1500,47,1 11,7,1750,29,1 9,9,2250,45,1 4,6,1500,52,1 4,7,1750,58,1 6,2,500,11,2 4,7,1750,58,1 11,9,2250,38,1 11,6,1500,26,1 2,2,500,16,1 2,7,1750,76,1 11,6,1500,27,1 11,3,750,14,1 4,1,250,4,1 4,1,250,4,1 4,1,250,4,1 4,1,250,4,1 4,1,250,4,1 4,1,250,4,2 4,1,250,4,1 4,1,250,4,1 4,1,250,4,1 4,1,250,4,1 4,1,250,4,1 4,1,250,4,2 4,1,250,4,2 4,1,250,4,1 4,1,250,4,2 4,1,250,4,2 4,1,250,4,1 4,3,750,24,1 4,1,250,4,1 4,1,250,4,1 4,1,250,4,1 4,1,250,4,2 4,1,250,4,1 10,8,2000,39,1 14,7,1750,26,1 8,10,2500,63,1 11,3,750,15,1 4,2,500,14,1 2,4,1000,43,1 8,9,2250,58,1 8,8,2000,52,2 11,22,5500,98,1 4,3,750,25,2 11,17,4250,79,2 9,2,500,11,1 4,5,1250,46,1 11,12,3000,58,1 7,12,3000,86,1 11,2,500,11,1 11,2,500,11,1 11,2,500,11,1 2,6,1500,75,1 11,8,2000,41,2 11,3,750,16,2 12,13,3250,59,1 2,3,750,35,1 16,8,2000,28,1 11,7,1750,37,1 4,3,750,28,1 12,12,3000,58,1 4,4,1000,41,1 11,14,3500,73,2 2,2,500,23,1 2,3,750,38,2 4,5,1250,58,1 4,4,1000,43,2 3,2,500,23,1 11,8,2000,46,1 4,7,1750,82,1 13,4,1000,21,1 16,11,2750,40,1 16,7,1750,28,1 7,2,500,16,1 4,5,1250,58,1 4,5,1250,58,1 4,4,1000,46,1 14,13,3250,57,1 4,3,750,34,1 14,18,4500,78,1 11,8,2000,48,1 14,16,4000,70,1 14,4,1000,22,2 14,5,1250,26,1 8,2,500,16,1 11,5,1250,33,1 11,2,500,14,1 4,2,500,23,1 9,2,500,16,2 14,5,1250,28,2 14,3,750,19,2 14,4,1000,23,2 16,12,3000,50,1 11,4,1000,28,1 11,5,1250,35,1 11,5,1250,35,1 2,4,1000,70,1 14,5,1250,28,1 14,2,500,14,1 14,2,500,14,1 14,2,500,14,1 14,2,500,14,1 14,2,500,14,1 14,2,500,14,1 2,3,750,52,1 14,6,1500,34,1 11,5,1250,37,2 4,5,1250,74,1 11,3,750,23,1 16,4,1000,23,1 16,3,750,19,1 11,5,1250,38,1 11,2,500,16,1 12,9,2250,60,1 9,1,250,9,1 9,1,250,9,1 4,2,500,29,1 11,2,500,17,1 14,4,1000,26,1 11,9,2250,72,2 11,5,1250,41,1 15,16,4000,82,1 9,5,1250,51,2 11,4,1000,34,1 14,8,2000,50,2 16,7,1750,38,1 14,2,500,16,1 2,2,500,41,1 14,16,4000,98,1 14,4,1000,28,2 16,7,1750,39,1 14,7,1750,47,1 16,6,1500,35,1 16,6,1500,35,2 11,7,1750,62,2 16,2,500,16,1 16,3,750,21,2 11,3,750,28,1 11,7,1750,64,1 11,1,250,11,2 9,3,750,34,1 14,4,1000,30,1 23,38,9500,98,1 11,6,1500,58,1 11,1,250,11,1 11,1,250,11,1 11,1,250,11,1 11,1,250,11,1 11,1,250,11,1 11,1,250,11,1 11,1,250,11,1 11,1,250,11,1 11,2,500,21,1 11,5,1250,50,1 11,2,500,21,1 16,4,1000,28,1 4,2,500,41,1 16,6,1500,40,1 14,3,750,26,1 9,2,500,26,1 21,16,4000,64,1 14,6,1500,51,1 11,2,500,24,1 4,3,750,71,1 21,13,3250,57,1 11,6,1500,71,1 14,2,500,21,2 23,15,3750,57,1 14,4,1000,38,1 11,2,500,26,1 16,5,1250,40,2 4,2,500,51,2 14,3,750,31,1 4,2,500,52,1 9,4,1000,65,1 14,4,1000,40,1 11,3,750,40,2 14,5,1250,50,1 14,1,250,14,1 14,1,250,14,1 14,1,250,14,1 14,1,250,14,1 14,1,250,14,1 14,1,250,14,1 14,1,250,14,1 14,1,250,14,1 14,7,1750,72,1 14,1,250,14,1 14,1,250,14,1 9,3,750,52,1 14,7,1750,73,1 11,4,1000,58,1 11,4,1000,59,1 4,2,500,59,1 11,4,1000,61,1 16,4,1000,40,1 16,10,2500,89,1 21,2,500,21,2 21,3,750,26,1 16,8,2000,76,1 21,3,750,26,2 18,2,500,23,1 23,5,1250,33,1 23,8,2000,46,1 16,3,750,34,1 14,5,1250,64,1 14,3,750,41,1 16,1,250,16,1 16,1,250,16,1 16,1,250,16,1 16,1,250,16,1 16,1,250,16,1 16,1,250,16,1 16,1,250,16,1 16,4,1000,45,1 16,1,250,16,1 16,1,250,16,1 16,1,250,16,1 16,1,250,16,1 16,1,250,16,1 16,2,500,26,1 21,2,500,23,1 16,2,500,27,1 21,2,500,23,1 21,2,500,23,1 14,4,1000,57,1 16,5,1250,60,1 23,2,500,23,1 14,5,1250,74,1 23,3,750,28,1 16,3,750,40,1 9,2,500,52,1 9,2,500,52,1 16,7,1750,87,2 14,4,1000,64,1 14,2,500,35,1 16,7,1750,93,1 21,2,500,25,1 14,3,750,52,1 23,14,3500,93,1 18,8,2000,95,1 16,3,750,46,1 11,3,750,76,1 11,2,500,52,1 11,3,750,76,1 23,12,3000,86,1 21,3,750,35,1 23,2,500,26,1 23,2,500,26,1 23,8,2000,64,1 16,3,750,50,1 23,3,750,33,1 21,3,750,38,1 23,2,500,28,1 21,1,250,21,1 21,1,250,21,1 21,1,250,21,1 21,1,250,21,1 21,1,250,21,1 21,1,250,21,1 21,1,250,21,1 21,1,250,21,1 21,1,250,21,1 21,1,250,21,2 21,1,250,21,1 21,1,250,21,1 21,5,1250,60,1 23,4,1000,45,1 21,4,1000,52,1 22,1,250,22,2 11,2,500,70,1 23,5,1250,58,1 23,3,750,40,1 23,3,750,41,1 14,3,750,83,1 21,2,500,35,1 26,5,1250,49,2 23,6,1500,70,1 23,1,250,23,1 23,1,250,23,1 23,1,250,23,1 23,1,250,23,1 23,1,250,23,1 23,1,250,23,1 23,1,250,23,1 23,1,250,23,1 23,4,1000,53,1 21,6,1500,86,1 23,3,750,48,1 21,2,500,41,1 21,3,750,64,1 16,2,500,70,1 21,3,750,70,1 23,4,1000,87,1 23,3,750,89,1 23,2,500,87,1 35,3,750,64,1 38,1,250,38,1 38,1,250,38,1 40,1,250,40,1 74,1,250,74,1 2,43,10750,86,2 6,22,5500,28,2 2,34,8500,77,2 2,44,11000,98,1 0,26,6500,76,2 2,41,10250,98,2 3,21,5250,42,2 2,11,2750,23,1 2,21,5250,52,2 2,13,3250,32,2 4,4,1000,4,2 2,11,2750,26,1 2,11,2750,28,1 3,14,3500,35,1 4,16,4000,38,2 4,6,1500,14,1 3,5,1250,12,2 4,33,8250,98,2 3,10,2500,33,2 4,10,2500,28,2 2,11,2750,40,2 2,11,2750,41,2 4,13,3250,39,2 1,10,2500,43,2 4,9,2250,28,1 2,4,1000,11,1 2,5,1250,16,2 2,15,3750,64,1 5,24,6000,79,1 2,6,1500,22,2 4,5,1250,16,2 2,4,1000,14,2 4,8,2000,28,1 2,4,1000,14,1 2,6,1500,26,1 4,5,1250,16,2 2,7,1750,32,2 2,6,1500,26,2 2,8,2000,38,2 2,2,500,4,2 2,6,1500,28,2 2,10,2500,52,1 4,16,4000,70,2 4,2,500,4,2 1,14,3500,95,1 4,2,500,4,2 7,14,3500,48,1 2,3,750,11,1 2,12,3000,70,2 4,7,1750,32,2 4,4,1000,16,1 2,6,1500,35,2 4,6,1500,28,2 2,3,750,14,1 2,4,1000,23,1 4,4,1000,18,1 5,6,1500,28,1 4,6,1500,30,1 14,5,1250,14,1 3,8,2000,50,1 4,11,2750,64,2 4,9,2250,52,1 4,16,4000,98,2 7,10,2500,47,1 4,14,3500,86,1 2,9,2250,75,1 4,6,1500,35,1 4,9,2250,55,1 4,6,1500,35,2 2,6,1500,45,1 2,6,1500,47,1 4,2,500,9,1 2,2,500,11,2 2,2,500,11,1 2,2,500,11,2 4,6,1500,38,2 3,4,1000,29,2 9,9,2250,38,1 11,5,1250,18,1 2,3,750,21,1 2,1,250,2,1 2,1,250,2,2 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,2 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 2,1,250,2,1 11,11,2750,38,1 2,3,750,22,1 9,11,2750,49,2 5,11,2750,75,1 3,5,1250,38,1 3,1,250,3,2 4,6,1500,43,1 2,3,750,24,1 12,11,2750,39,1 2,2,500,14,1 4,6,1500,46,1 9,3,750,14,1 14,8,2000,26,1 4,2,500,13,1 4,11,2750,95,1 2,7,1750,77,1 2,7,1750,77,1 4,1,250,4,1 4,1,250,4,1 4,1,250,4,1 4,1,250,4,1 4,1,250,4,2 4,1,250,4,1 4,1,250,4,1 4,1,250,4,1 4,1,250,4,1 4,1,250,4,1 4,1,250,4,2 4,1,250,4,1 4,7,1750,62,1 4,1,250,4,1 4,4,1000,34,2 11,6,1500,28,1 13,3,750,14,2 7,5,1250,35,1 9,9,2250,54,1 11,2,500,11,1 2,5,1250,63,1 7,11,2750,89,1 8,9,2250,64,1 2,2,500,22,1 6,3,750,26,1 12,15,3750,71,1 13,3,750,16,1 11,16,4000,89,1 4,5,1250,58,1 14,7,1750,35,1 11,4,1000,27,1 7,9,2250,89,2 11,8,2000,52,2 7,5,1250,52,1 11,6,1500,41,1 10,5,1250,38,1 14,2,500,14,2 14,2,500,14,1 14,2,500,14,1 2,2,500,33,1 11,3,750,23,1 14,8,2000,46,1 9,1,250,9,1 16,5,1250,27,1 14,4,1000,26,1 4,2,500,30,1 14,3,750,21,1 16,16,4000,77,1 4,2,500,31,1 14,8,2000,50,1 11,3,750,26,1 14,7,1750,45,1 15,5,1250,33,1 16,2,500,16,1 16,3,750,21,1 11,8,2000,72,1 11,1,250,11,1 11,1,250,11,1 11,1,250,11,1 11,1,250,11,2 11,1,250,11,1 2,3,750,75,2 2,3,750,77,1 16,4,1000,28,1 16,15,3750,87,1 16,14,3500,83,1 16,10,2500,62,1 16,3,750,23,1 14,3,750,26,1 23,19,4750,62,1 11,7,1750,75,1 14,3,750,28,1 20,14,3500,69,2 4,2,500,46,1 11,2,500,25,1 11,3,750,37,1 16,4,1000,33,1 21,7,1750,38,1 13,7,1750,76,1 16,6,1500,50,1 14,3,750,33,1 14,1,250,14,1 14,1,250,14,1 14,1,250,14,1 14,1,250,14,1 14,1,250,14,1 14,1,250,14,1 17,7,1750,58,2 14,3,750,35,1 14,3,750,35,1 16,7,1750,64,1 21,2,500,21,1 16,3,750,35,1 16,1,250,16,1 16,1,250,16,1 16,1,250,16,1 16,1,250,16,1 16,1,250,16,1 14,2,500,29,1 11,4,1000,74,1 11,2,500,38,2 21,6,1500,48,1 23,2,500,23,1 23,6,1500,45,1 14,2,500,35,2 16,6,1500,81,1 16,4,1000,58,1 16,5,1250,71,1 21,2,500,26,1 21,3,750,35,1 21,3,750,35,1 23,8,2000,69,1 21,3,750,38,1 23,3,750,35,1 21,3,750,40,1 23,2,500,28,1 21,1,250,21,1 21,1,250,21,1 25,6,1500,50,1 21,1,250,21,1 21,1,250,21,1 23,3,750,39,1 21,2,500,33,1 14,3,750,79,1 23,1,250,23,2 23,1,250,23,1 23,1,250,23,1 23,1,250,23,1 23,1,250,23,1 23,1,250,23,1 23,1,250,23,1 23,4,1000,52,1 23,1,250,23,1 23,7,1750,88,1 16,3,750,86,1 23,2,500,38,1 21,2,500,52,1 23,3,750,62,1 39,1,250,39,1 72,1,250,72,1 ================================================ FILE: public/viz/datarun1_gp.csv ================================================ trail ID,method,parameters,metrics,performance 0,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 7; weights = distance,f1 and cv,0.686 +- 0.463 1,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 14; weights = distance,f1 and cv,0.857 +- 0.229 2,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 14; weights = distance,f1 and cv,0.816 +- 0.261 3,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 14; weights = distance,f1 and cv,0.661 +- 0.372 4,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 13; p = 3; weights = distance,f1 and cv,0.619 +- 0.687 5,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 13; p = 1; weights = distance,f1 and cv,0.719 +- 0.477 6,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 13; p = 1; weights = distance,f1 and cv,0.721 +- 0.257 7,mlp,_scale = True; activation = logistic; alpha = 0.00530026476357; batch_size = auto; hidden_layer_sizes[0] = 195; hidden_layer_sizes[1] = 205; learning_rate = adaptive; learning_rate_init = 0.424197908329; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.533 +- 0.533 8,mlp,_scale = True; activation = logistic; alpha = 0.00798119444472; batch_size = auto; hidden_layer_sizes[0] = 216; hidden_layer_sizes[1] = 12; learning_rate = adaptive; learning_rate_init = 0.398794294569; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.895 +- 0.132 9,mlp,_scale = True; activation = logistic; alpha = 0.00379155634861; batch_size = auto; hidden_layer_sizes[0] = 172; hidden_layer_sizes[1] = 99; learning_rate = adaptive; learning_rate_init = 0.598925397734; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.431 +- 0.704 10,mlp,_scale = True; activation = identity; alpha = 0.00137991259211; batch_size = auto; hidden_layer_sizes[0] = 203; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.597 +- 0.515 11,mlp,_scale = True; activation = identity; alpha = 0.000932548884706; batch_size = auto; hidden_layer_sizes[0] = 155; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.641 +- 0.339 12,knn,_scale = True; algorithm = ball_tree; leaf_size = 11; metric = minkowski; n_neighbors = 1; p = 2; weights = distance,f1 and cv,0.737 +- 0.143 13,knn,_scale = True; algorithm = ball_tree; leaf_size = 24; metric = minkowski; n_neighbors = 11; p = 2; weights = distance,f1 and cv,0.790 +- 0.305 14,knn,_scale = True; algorithm = ball_tree; leaf_size = 24; metric = minkowski; n_neighbors = 11; p = 3; weights = distance,f1 and cv,0.658 +- 0.285 15,mlp,_scale = True; activation = logistic; alpha = 0.00689815348979; batch_size = auto; hidden_layer_sizes[0] = 57; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.728 +- 0.174 16,mlp,_scale = True; activation = logistic; alpha = 0.0039549442717; batch_size = auto; hidden_layer_sizes[0] = 259; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.753 +- 0.189 17,mlp,_scale = True; activation = logistic; alpha = 0.00281476836221; batch_size = auto; hidden_layer_sizes[0] = 259; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.696 +- 0.524 18,mlp,_scale = True; activation = relu; alpha = 0.0034843610708; batch_size = auto; hidden_layer_sizes[0] = 285; hidden_layer_sizes[1] = 123; hidden_layer_sizes[2] = 251; learning_rate = adaptive; learning_rate_init = 0.224074210427; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.795 +- 0.154 19,mlp,_scale = True; activation = relu; alpha = 0.00542506698297; batch_size = auto; hidden_layer_sizes[0] = 176; hidden_layer_sizes[1] = 80; hidden_layer_sizes[2] = 106; learning_rate = adaptive; learning_rate_init = 0.0211862121565; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.714 +- 0.211 20,mlp,_scale = True; activation = relu; alpha = 0.00842941088502; batch_size = auto; hidden_layer_sizes[0] = 245; hidden_layer_sizes[1] = 215; hidden_layer_sizes[2] = 215; learning_rate = adaptive; learning_rate_init = 0.841552109636; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.629 +- 0.098 21,mlp,_scale = True; activation = tanh; alpha = 0.00597255742769; batch_size = auto; hidden_layer_sizes[0] = 233; hidden_layer_sizes[1] = 118; learning_rate = constant; learning_rate_init = 0.931582061106; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.748 +- 0.310 22,mlp,_scale = True; activation = tanh; alpha = 0.00758679628786; batch_size = auto; hidden_layer_sizes[0] = 212; hidden_layer_sizes[1] = 159; learning_rate = constant; learning_rate_init = 0.511327574962; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.764 +- 0.172 23,mlp,_scale = True; activation = tanh; alpha = 0.00293353681982; batch_size = auto; hidden_layer_sizes[0] = 207; hidden_layer_sizes[1] = 154; learning_rate = constant; learning_rate_init = 0.599525801536; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.743 +- 0.285 24,mlp,_scale = True; activation = identity; alpha = 0.00757508457799; batch_size = auto; hidden_layer_sizes[0] = 169; learning_rate = adaptive; learning_rate_init = 0.788346166024; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.789 +- 0.312 25,mlp,_scale = True; activation = identity; alpha = 0.00787731013044; batch_size = auto; hidden_layer_sizes[0] = 11; learning_rate = adaptive; learning_rate_init = 0.643536374804; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.809 +- 0.134 26,mlp,_scale = True; activation = identity; alpha = 0.00333255752017; batch_size = auto; hidden_layer_sizes[0] = 11; learning_rate = adaptive; learning_rate_init = 0.261893435241; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.765 +- 0.164 27,mlp,_scale = True; activation = identity; alpha = 0.00716646901959; batch_size = auto; hidden_layer_sizes[0] = 187; hidden_layer_sizes[1] = 224; hidden_layer_sizes[2] = 160; learning_rate = constant; learning_rate_init = 0.204547246006; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.625 +- 0.265 28,mlp,_scale = True; activation = identity; alpha = 0.000774703195752; batch_size = auto; hidden_layer_sizes[0] = 99; hidden_layer_sizes[1] = 200; hidden_layer_sizes[2] = 210; learning_rate = constant; learning_rate_init = 0.596451207957; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.450 +- 0.621 29,knn,_scale = True; algorithm = kd_tree; leaf_size = 38; metric = euclidean; n_neighbors = 1; weights = uniform,f1 and cv,0.820 +- 0.167 30,knn,_scale = True; algorithm = kd_tree; leaf_size = 1; metric = euclidean; n_neighbors = 13; weights = uniform,f1 and cv,0.626 +- 0.642 31,rf,criterion = gini; max_depth = 9; max_features = 0.367839067747; min_samples_leaf = 3; n_estimators = 100; n_jobs = -1,f1 and cv,0.785 +- 0.306 32,rf,criterion = gini; max_depth = 9; max_features = 0.402117977448; min_samples_leaf = 1; n_estimators = 100; n_jobs = -1,f1 and cv,0.860 +- 0.074 33,rf,criterion = gini; max_depth = 9; max_features = 0.382966272577; min_samples_leaf = 1; n_estimators = 100; n_jobs = -1,f1 and cv,0.752 +- 0.309 34,mlp,_scale = True; activation = logistic; alpha = 0.000791933609875; batch_size = auto; hidden_layer_sizes[0] = 100; learning_rate = invscaling; learning_rate_init = 0.630083279272; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.593 +- 0.665 35,mlp,_scale = True; activation = logistic; alpha = 0.00866503894322; batch_size = auto; hidden_layer_sizes[0] = 72; learning_rate = invscaling; learning_rate_init = 0.464195768863; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.612 +- 0.660 36,logreg,C = 0.0214259326819; _scale = True; class_weight = balanced; dual = True; fit_intercept = False; penalty = l2; tol = 0.000345805380725,f1 and cv,0.833 +- 0.230 37,logreg,C = 0.683408146675; _scale = True; class_weight = balanced; dual = True; fit_intercept = False; penalty = l2; tol = 1214.1761078,f1 and cv,0.752 +- 0.372 38,logreg,C = 0.017734143058; _scale = True; class_weight = balanced; dual = True; fit_intercept = False; penalty = l2; tol = 0.00123640541548,f1 and cv,0.683 +- 0.356 39,mlp,_scale = True; activation = logistic; alpha = 0.00888164070317; batch_size = auto; hidden_layer_sizes[0] = 102; learning_rate = constant; learning_rate_init = 0.00430280495011; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.750 +- 0.276 40,mlp,_scale = True; activation = logistic; alpha = 0.00476397875238; batch_size = auto; hidden_layer_sizes[0] = 16; learning_rate = constant; learning_rate_init = 0.883876615927; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.861 +- 0.268 41,mlp,_scale = True; activation = logistic; alpha = 0.00733166639002; batch_size = auto; hidden_layer_sizes[0] = 16; learning_rate = constant; learning_rate_init = 0.444678703048; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.711 +- 0.178 42,knn,_scale = True; algorithm = kd_tree; leaf_size = 29; metric = minkowski; n_neighbors = 9; p = 2; weights = uniform,f1 and cv,0.735 +- 0.230 43,knn,_scale = True; algorithm = kd_tree; leaf_size = 19; metric = minkowski; n_neighbors = 15; p = 3; weights = uniform,f1 and cv,0.617 +- 0.484 44,knn,_scale = True; algorithm = kd_tree; leaf_size = 32; metric = chebyshev; n_neighbors = 1; weights = uniform,f1 and cv,0.598 +- 0.286 45,knn,_scale = True; algorithm = kd_tree; leaf_size = 31; metric = chebyshev; n_neighbors = 4; weights = uniform,f1 and cv,0.626 +- 0.322 46,mlp,_scale = True; activation = relu; alpha = 0.00759969817544; batch_size = auto; beta_1 = 0.805257558344; beta_2 = 0.919639253787; hidden_layer_sizes[0] = 271; hidden_layer_sizes[1] = 156; hidden_layer_sizes[2] = 102; learning_rate_init = 0.538063857136; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.478 +- 0.556 47,mlp,_scale = True; activation = relu; alpha = 0.00183811745554; batch_size = auto; beta_1 = 0.917281907651; beta_2 = 0.909306026217; hidden_layer_sizes[0] = 94; hidden_layer_sizes[1] = 4; hidden_layer_sizes[2] = 41; learning_rate_init = 0.0100400664162; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.698 +- 0.344 48,mlp,_scale = True; activation = relu; alpha = 0.0047834096605; batch_size = auto; hidden_layer_sizes[0] = 238; hidden_layer_sizes[1] = 101; learning_rate = constant; learning_rate_init = 0.488408572136; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.705 +- 0.415 49,mlp,_scale = True; activation = relu; alpha = 0.00710954274516; batch_size = auto; hidden_layer_sizes[0] = 14; hidden_layer_sizes[1] = 230; learning_rate = constant; learning_rate_init = 0.786669723308; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.756 +- 0.196 50,rf,criterion = entropy; max_depth = 6; max_features = 0.232233143849; min_samples_leaf = 1; n_estimators = 100; n_jobs = -1,f1 and cv,0.731 +- 0.292 51,rf,criterion = entropy; max_depth = 5; max_features = 0.59182882637; min_samples_leaf = 2; n_estimators = 100; n_jobs = -1,f1 and cv,0.680 +- 0.412 52,mlp,_scale = True; activation = logistic; alpha = 0.00629100817992; batch_size = auto; beta_1 = 0.809151964451; beta_2 = 0.993608194363; hidden_layer_sizes[0] = 256; learning_rate_init = 0.612522328836; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.513 +- 0.515 53,mlp,_scale = True; activation = logistic; alpha = 0.00102623664838; batch_size = auto; beta_1 = 0.990889730404; beta_2 = 0.873016441774; hidden_layer_sizes[0] = 155; learning_rate_init = 0.468791139345; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.385 +- 0.639 54,mlp,_scale = True; activation = tanh; alpha = 0.0060745624063; batch_size = auto; beta_1 = 0.810455090006; beta_2 = 0.86233389184; hidden_layer_sizes[0] = 166; learning_rate_init = 0.506612828834; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.754 +- 0.015 55,mlp,_scale = True; activation = tanh; alpha = 0.00642222331207; batch_size = auto; beta_1 = 0.950661050707; beta_2 = 0.9228862104; hidden_layer_sizes[0] = 232; learning_rate_init = 0.737945109017; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.623 +- 0.382 56,mlp,_scale = True; activation = logistic; alpha = 0.00221486648488; batch_size = auto; hidden_layer_sizes[0] = 229; hidden_layer_sizes[1] = 24; learning_rate = invscaling; learning_rate_init = 0.725149199927; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.618 +- 0.634 57,mlp,_scale = True; activation = logistic; alpha = 0.00490142271385; batch_size = auto; hidden_layer_sizes[0] = 152; hidden_layer_sizes[1] = 258; learning_rate = invscaling; learning_rate_init = 0.450398857861; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.565 +- 0.566 58,gnb,_scale_minmax = True,f1 and cv,0.734 +- 0.174 59,mlp,_scale = True; activation = relu; alpha = 0.00732790324552; batch_size = auto; beta_1 = 0.913017407091; beta_2 = 0.873413950401; hidden_layer_sizes[0] = 198; hidden_layer_sizes[1] = 119; learning_rate_init = 0.299263258228; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.357 +- 0.588 60,mlp,_scale = True; activation = relu; alpha = 0.00437532628446; batch_size = auto; beta_1 = 0.856779201746; beta_2 = 0.905041477573; hidden_layer_sizes[0] = 254; hidden_layer_sizes[1] = 281; learning_rate_init = 0.317421025284; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.514 +- 0.520 61,mlp,_scale = True; activation = tanh; alpha = 0.00808218337356; batch_size = auto; beta_1 = 0.813646861773; beta_2 = 0.926051015685; hidden_layer_sizes[0] = 223; hidden_layer_sizes[1] = 79; learning_rate_init = 0.681626093158; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.645 +- 0.153 62,mlp,_scale = True; activation = tanh; alpha = 0.00275617054662; batch_size = auto; beta_1 = 0.977371192532; beta_2 = 0.950555116359; hidden_layer_sizes[0] = 246; hidden_layer_sizes[1] = 147; learning_rate_init = 0.41924593034; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.697 +- 0.307 63,mlp,_scale = True; activation = identity; alpha = 0.00197176250179; batch_size = auto; hidden_layer_sizes[0] = 120; learning_rate = invscaling; learning_rate_init = 0.785634918376; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.704 +- 0.399 64,mlp,_scale = True; activation = identity; alpha = 0.00180158765636; batch_size = auto; hidden_layer_sizes[0] = 145; learning_rate = invscaling; learning_rate_init = 0.552198889363; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.765 +- 0.300 65,logreg,C = 47093.7014376; _scale = True; class_weight = balanced; dual = True; fit_intercept = True; penalty = l2; tol = 15.325529229,f1 and cv,0.702 +- 0.278 66,logreg,C = 0.443155342509; _scale = True; class_weight = balanced; dual = True; fit_intercept = True; penalty = l2; tol = 0.000101144238412,f1 and cv,0.677 +- 0.489 67,mlp,_scale = True; activation = identity; alpha = 0.00367494681335; batch_size = auto; hidden_layer_sizes[0] = 142; hidden_layer_sizes[1] = 237; hidden_layer_sizes[2] = 158; learning_rate = adaptive; learning_rate_init = 0.311947801595; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.705 +- 0.211 68,mlp,_scale = True; activation = identity; alpha = 0.00010321608489; batch_size = auto; hidden_layer_sizes[0] = 159; hidden_layer_sizes[1] = 75; hidden_layer_sizes[2] = 73; learning_rate = adaptive; learning_rate_init = 0.704449459858; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.000 +- 0.000 69,mlp,_scale = True; activation = logistic; alpha = 0.00658761698968; batch_size = auto; hidden_layer_sizes[0] = 99; hidden_layer_sizes[1] = 152; hidden_layer_sizes[2] = 113; learning_rate = constant; learning_rate_init = 0.658043918401; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.243 +- 0.595 70,mlp,_scale = True; activation = logistic; alpha = 0.00712192156559; batch_size = auto; hidden_layer_sizes[0] = 277; hidden_layer_sizes[1] = 271; hidden_layer_sizes[2] = 158; learning_rate = constant; learning_rate_init = 0.128920390882; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.728 +- 0.043 71,mlp,_scale = True; activation = relu; alpha = 0.00140375540345; batch_size = auto; hidden_layer_sizes[0] = 78; hidden_layer_sizes[1] = 201; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.727 +- 0.364 72,mlp,_scale = True; activation = relu; alpha = 0.00649551585093; batch_size = auto; hidden_layer_sizes[0] = 247; hidden_layer_sizes[1] = 183; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.703 +- 0.339 73,logreg,C = 0.0013761076145; _scale = True; class_weight = balanced; dual = False; fit_intercept = True; penalty = l2; tol = 1.41262043531,f1 and cv,0.758 +- 0.188 74,logreg,C = 9303.15817441; _scale = True; class_weight = balanced; dual = False; fit_intercept = True; penalty = l2; tol = 0.000334662940477,f1 and cv,0.552 +- 0.386 75,mlp,_scale = True; activation = relu; alpha = 0.00311675023279; batch_size = auto; hidden_layer_sizes[0] = 202; learning_rate = adaptive; learning_rate_init = 0.504088851907; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.703 +- 0.321 76,mlp,_scale = True; activation = relu; alpha = 0.00494765202385; batch_size = auto; hidden_layer_sizes[0] = 212; learning_rate = adaptive; learning_rate_init = 0.140358550945; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.804 +- 0.225 77,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 18; weights = distance,f1 and cv,0.686 +- 0.187 78,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 3; weights = distance,f1 and cv,0.875 +- 0.255 79,mlp,_scale = True; activation = logistic; alpha = 0.00631435652909; batch_size = auto; hidden_layer_sizes[0] = 87; hidden_layer_sizes[1] = 262; hidden_layer_sizes[2] = 57; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.749 +- 0.203 80,mlp,_scale = True; activation = logistic; alpha = 0.00491522611475; batch_size = auto; hidden_layer_sizes[0] = 243; hidden_layer_sizes[1] = 84; hidden_layer_sizes[2] = 207; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.690 +- 0.318 81,dt,criterion = gini; max_depth = 5; max_features = 0.26928275228; min_samples_leaf = 2; min_samples_split = 3,f1 and cv,0.782 +- 0.341 82,dt,criterion = gini; max_depth = 4; max_features = 0.350580615226; min_samples_leaf = 2; min_samples_split = 3,f1 and cv,0.743 +- 0.086 83,mlp,_scale = True; activation = logistic; alpha = 0.00555540554099; batch_size = auto; hidden_layer_sizes[0] = 268; hidden_layer_sizes[1] = 88; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.845 +- 0.253 84,mlp,_scale = True; activation = logistic; alpha = 0.00830150899829; batch_size = auto; hidden_layer_sizes[0] = 106; hidden_layer_sizes[1] = 254; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.606 +- 0.358 85,knn,_scale = True; algorithm = ball_tree; leaf_size = 47; metric = chebyshev; n_neighbors = 5; weights = distance,f1 and cv,0.679 +- 0.269 86,knn,_scale = True; algorithm = ball_tree; leaf_size = 49; metric = chebyshev; n_neighbors = 8; weights = distance,f1 and cv,0.566 +- 0.376 87,mlp,_scale = True; activation = relu; alpha = 0.00134657693167; batch_size = auto; beta_1 = 0.901446054733; beta_2 = 0.880896299544; hidden_layer_sizes[0] = 191; learning_rate_init = 0.375569538389; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.632 +- 0.525 88,mlp,_scale = True; activation = relu; alpha = 0.000297485001862; batch_size = auto; beta_1 = 0.941478867427; beta_2 = 0.973162866089; hidden_layer_sizes[0] = 69; learning_rate_init = 0.533560098352; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.860 +- 0.217 89,mlp,_scale = True; activation = tanh; alpha = 0.005287015641; batch_size = auto; hidden_layer_sizes[0] = 182; learning_rate = constant; learning_rate_init = 0.163780650802; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.729 +- 0.065 90,mlp,_scale = True; activation = tanh; alpha = 0.00456308654567; batch_size = auto; hidden_layer_sizes[0] = 127; learning_rate = constant; learning_rate_init = 0.135323349646; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.826 +- 0.249 91,gp,kernel = exp_sine_squared; length_scale = 4.85831821276; periodicity = 0,f1 and cv,0.264 +- 0.657 92,gp,kernel = exp_sine_squared; length_scale = 0.135958947829; periodicity = 0,f1 and cv,0.509 +- 0.491 93,mlp,_scale = True; activation = identity; alpha = 0.00327852610934; batch_size = auto; hidden_layer_sizes[0] = 47; hidden_layer_sizes[1] = 186; learning_rate = adaptive; learning_rate_init = 0.572603383057; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.814 +- 0.184 94,mlp,_scale = True; activation = identity; alpha = 0.00459711119933; batch_size = auto; hidden_layer_sizes[0] = 57; hidden_layer_sizes[1] = 244; learning_rate = adaptive; learning_rate_init = 0.183884865397; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.717 +- 0.082 95,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 15; weights = uniform,f1 and cv,0.748 +- 0.302 96,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 14; weights = uniform,f1 and cv,0.781 +- 0.123 97,mlp,_scale = True; activation = identity; alpha = 0.0074516368895; batch_size = auto; hidden_layer_sizes[0] = 260; hidden_layer_sizes[1] = 272; learning_rate = constant; learning_rate_init = 0.814031098014; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.740 +- 0.568 98,mlp,_scale = True; activation = identity; alpha = 0.000714089726547; batch_size = auto; hidden_layer_sizes[0] = 213; hidden_layer_sizes[1] = 198; learning_rate = constant; learning_rate_init = 0.814268876798; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.705 +- 0.160 99,knn,_scale = True; algorithm = kd_tree; leaf_size = 34; metric = minkowski; n_neighbors = 20; p = 2; weights = distance,f1 and cv,0.636 +- 0.695 100,knn,_scale = True; algorithm = kd_tree; leaf_size = 2; metric = minkowski; n_neighbors = 3; p = 2; weights = distance,f1 and cv,0.695 +- 0.320 101,gp,kernel = exp_sine_squared; length_scale = 0.0418500347903; periodicity = 1,f1 and cv,0.518 +- 0.349 102,gp,kernel = exp_sine_squared; length_scale = 3.2608797321; periodicity = 1,f1 and cv,0.636 +- 0.138 103,knn,_scale = True; algorithm = ball_tree; leaf_size = 39; metric = manhattan; n_neighbors = 14; weights = distance,f1 and cv,0.734 +- 0.174 104,knn,_scale = True; algorithm = ball_tree; leaf_size = 12; metric = manhattan; n_neighbors = 8; weights = distance,f1 and cv,0.735 +- 0.329 105,gp,kernel = rbf,f1 and cv,0.000 +- 0.000 106,logreg,C = 8003.09009751; _scale = True; class_weight = balanced; dual = False; fit_intercept = False; penalty = l2; tol = 158.3290079,f1 and cv,0.000 +- 0.000 107,knn,_scale = True; algorithm = kd_tree; leaf_size = 39; metric = manhattan; n_neighbors = 5; weights = distance,f1 and cv,0.763 +- 0.174 108,knn,_scale = True; algorithm = kd_tree; leaf_size = 19; metric = manhattan; n_neighbors = 1; weights = distance,f1 and cv,0.750 +- 0.390 109,mlp,_scale = True; activation = tanh; alpha = 0.00825577378371; batch_size = auto; beta_1 = 0.985892130227; beta_2 = 0.828672288718; hidden_layer_sizes[0] = 30; hidden_layer_sizes[1] = 97; hidden_layer_sizes[2] = 21; learning_rate_init = 0.681012686376; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.786 +- 0.214 110,mlp,_scale = True; activation = tanh; alpha = 0.00649915984678; batch_size = auto; beta_1 = 0.982349328285; beta_2 = 0.873896270168; hidden_layer_sizes[0] = 180; hidden_layer_sizes[1] = 113; hidden_layer_sizes[2] = 273; learning_rate_init = 0.244111027344; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.647 +- 0.323 111,mlp,_scale = True; activation = tanh; alpha = 0.00629250795; batch_size = auto; hidden_layer_sizes[0] = 153; hidden_layer_sizes[1] = 56; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.906 +- 0.185 112,mlp,_scale = True; activation = tanh; alpha = 0.00814064893138; batch_size = auto; hidden_layer_sizes[0] = 296; hidden_layer_sizes[1] = 246; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.648 +- 0.198 113,mlp,_scale = True; activation = tanh; alpha = 0.0054920617902; batch_size = auto; hidden_layer_sizes[0] = 201; hidden_layer_sizes[1] = 184; learning_rate = adaptive; learning_rate_init = 0.266207557118; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.663 +- 0.331 114,mlp,_scale = True; activation = tanh; alpha = 0.000210532215542; batch_size = auto; hidden_layer_sizes[0] = 84; hidden_layer_sizes[1] = 27; learning_rate = adaptive; learning_rate_init = 0.133819357352; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.758 +- 0.196 115,mlp,_scale = True; activation = logistic; alpha = 0.00749068366409; batch_size = auto; hidden_layer_sizes[0] = 24; learning_rate = adaptive; learning_rate_init = 0.444646403945; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.567 +- 0.267 116,mlp,_scale = True; activation = logistic; alpha = 0.00845358643974; batch_size = auto; hidden_layer_sizes[0] = 142; learning_rate = adaptive; learning_rate_init = 0.925708350382; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.740 +- 0.223 117,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 15; weights = uniform,f1 and cv,0.728 +- 0.191 118,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 18; weights = uniform,f1 and cv,0.660 +- 0.282 119,mlp,_scale = True; activation = identity; alpha = 0.00234311244437; batch_size = auto; hidden_layer_sizes[0] = 145; learning_rate = constant; learning_rate_init = 0.141410353023; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.720 +- 0.160 120,mlp,_scale = True; activation = identity; alpha = 0.00665717297745; batch_size = auto; hidden_layer_sizes[0] = 45; learning_rate = constant; learning_rate_init = 0.25076141269; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.741 +- 0.181 121,mlp,_scale = True; activation = logistic; alpha = 0.00875211514426; batch_size = auto; beta_1 = 0.863778890054; beta_2 = 0.883855308382; hidden_layer_sizes[0] = 209; hidden_layer_sizes[1] = 195; learning_rate_init = 0.0853683569178; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.000 +- 0.000 122,mlp,_scale = True; activation = logistic; alpha = 0.00293197513824; batch_size = auto; hidden_layer_sizes[0] = 43; hidden_layer_sizes[1] = 208; hidden_layer_sizes[2] = 229; learning_rate = adaptive; learning_rate_init = 0.649397583034; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.400 +- 0.653 123,mlp,_scale = True; activation = logistic; alpha = 0.00681985969241; batch_size = auto; hidden_layer_sizes[0] = 14; hidden_layer_sizes[1] = 30; hidden_layer_sizes[2] = 174; learning_rate = adaptive; learning_rate_init = 0.10778253764; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.000 +- 0.000 124,svm,C = 8.16055297671; _scale = True; cache_size = 15000; class_weight = balanced; gamma = 147.068791847; kernel = rbf; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.747 +- 0.054 125,svm,C = 0.0089089646207; _scale = True; cache_size = 15000; class_weight = balanced; gamma = 253.344779981; kernel = rbf; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.646 +- 0.050 126,mnb,_scale_minmax = True; alpha = 0.902316081541; class_prior = None; fit_prior = 0,f1 and cv,0.659 +- 0.427 127,mnb,_scale_minmax = True; alpha = 0.710780560312; class_prior = None; fit_prior = 0,f1 and cv,0.694 +- 0.353 128,mlp,_scale = True; activation = tanh; alpha = 0.00480760064499; batch_size = auto; hidden_layer_sizes[0] = 67; learning_rate = adaptive; learning_rate_init = 0.333529348373; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.695 +- 0.480 129,mlp,_scale = True; activation = tanh; alpha = 0.0085398433589; batch_size = auto; hidden_layer_sizes[0] = 252; learning_rate = adaptive; learning_rate_init = 0.531057244459; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.575 +- 0.498 130,svm,C = 0.488485724028; _scale = True; cache_size = 15000; class_weight = balanced; coef0 = 808; gamma = 1.48944568797e-05; kernel = sigmoid; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.400 +- 0.653 131,svm,C = 12.6587418859; _scale = True; cache_size = 15000; class_weight = balanced; coef0 = -239; gamma = 663.160595527; kernel = sigmoid; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.694 +- 0.253 132,mlp,_scale = True; activation = identity; alpha = 0.00378946917625; batch_size = auto; hidden_layer_sizes[0] = 248; hidden_layer_sizes[1] = 219; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.718 +- 0.176 133,mlp,_scale = True; activation = identity; alpha = 0.00171384081042; batch_size = auto; hidden_layer_sizes[0] = 194; hidden_layer_sizes[1] = 244; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.677 +- 0.204 134,gp,kernel = matern; nu = 0.5,f1 and cv,0.417 +- 0.230 135,mlp,_scale = True; activation = tanh; alpha = 0.00396164402352; batch_size = auto; hidden_layer_sizes[0] = 253; hidden_layer_sizes[1] = 154; hidden_layer_sizes[2] = 216; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.763 +- 0.524 136,mlp,_scale = True; activation = tanh; alpha = 0.00726596359904; batch_size = auto; hidden_layer_sizes[0] = 200; hidden_layer_sizes[1] = 28; hidden_layer_sizes[2] = 205; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.725 +- 0.274 137,knn,_scale = True; algorithm = ball_tree; leaf_size = 7; metric = chebyshev; n_neighbors = 12; weights = uniform,f1 and cv,0.558 +- 0.281 138,knn,_scale = True; algorithm = ball_tree; leaf_size = 33; metric = chebyshev; n_neighbors = 15; weights = uniform,f1 and cv,0.706 +- 0.178 139,mlp,_scale = True; activation = relu; alpha = 0.00267022655552; batch_size = auto; hidden_layer_sizes[0] = 162; learning_rate = constant; learning_rate_init = 0.329554709582; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.741 +- 0.421 140,mlp,_scale = True; activation = relu; alpha = 0.000120285567481; batch_size = auto; hidden_layer_sizes[0] = 94; learning_rate = constant; learning_rate_init = 0.287889175922; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.773 +- 0.157 141,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 13; p = 1; weights = uniform,f1 and cv,0.789 +- 0.280 142,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 19; p = 2; weights = uniform,f1 and cv,0.708 +- 0.161 143,mlp,_scale = True; activation = tanh; alpha = 0.00364601841439; batch_size = auto; hidden_layer_sizes[0] = 172; hidden_layer_sizes[1] = 88; hidden_layer_sizes[2] = 134; learning_rate = constant; learning_rate_init = 0.930415677006; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.558 +- 0.645 144,mlp,_scale = True; activation = tanh; alpha = 0.000723907193495; batch_size = auto; hidden_layer_sizes[0] = 25; hidden_layer_sizes[1] = 248; hidden_layer_sizes[2] = 290; learning_rate = constant; learning_rate_init = 0.449709456131; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.781 +- 0.285 145,mlp,_scale = True; activation = tanh; alpha = 0.00615973608702; batch_size = auto; hidden_layer_sizes[0] = 229; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.707 +- 0.373 146,mlp,_scale = True; activation = tanh; alpha = 0.00342215452488; batch_size = auto; hidden_layer_sizes[0] = 291; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.788 +- 0.371 147,logreg,C = 33236.2651831; _scale = True; class_weight = balanced; fit_intercept = False; penalty = l1; tol = 45143.8756661,f1 and cv,0.000 +- 0.000 148,mlp,_scale = True; activation = relu; alpha = 0.00733763196925; batch_size = auto; hidden_layer_sizes[0] = 84; hidden_layer_sizes[1] = 193; hidden_layer_sizes[2] = 23; learning_rate = constant; learning_rate_init = 0.149237023614; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.689 +- 0.208 149,mlp,_scale = True; activation = relu; alpha = 0.00777580626777; batch_size = auto; hidden_layer_sizes[0] = 108; hidden_layer_sizes[1] = 205; hidden_layer_sizes[2] = 52; learning_rate = constant; learning_rate_init = 0.529978231905; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.728 +- 0.218 150,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 19; weights = distance,f1 and cv,0.619 +- 0.197 151,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 6; weights = distance,f1 and cv,0.532 +- 0.378 152,mlp,_scale = True; activation = logistic; alpha = 0.000567528746084; batch_size = auto; hidden_layer_sizes[0] = 150; hidden_layer_sizes[1] = 264; learning_rate = constant; learning_rate_init = 0.0846532674358; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.133 +- 0.533 153,mlp,_scale = True; activation = logistic; alpha = 0.00239891080963; batch_size = auto; hidden_layer_sizes[0] = 201; hidden_layer_sizes[1] = 46; learning_rate = constant; learning_rate_init = 0.426161179321; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.422 +- 0.690 154,mlp,_scale = True; activation = tanh; alpha = 0.00827701278597; batch_size = auto; hidden_layer_sizes[0] = 197; hidden_layer_sizes[1] = 97; learning_rate = invscaling; learning_rate_init = 0.977395089155; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.798 +- 0.217 155,mlp,_scale = True; activation = tanh; alpha = 0.00235795231137; batch_size = auto; hidden_layer_sizes[0] = 120; hidden_layer_sizes[1] = 166; learning_rate = invscaling; learning_rate_init = 0.194546202206; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.660 +- 0.338 156,mlp,_scale = True; activation = identity; alpha = 0.00781093580274; batch_size = auto; beta_1 = 0.893500772757; beta_2 = 0.847286576572; hidden_layer_sizes[0] = 14; hidden_layer_sizes[1] = 247; learning_rate_init = 0.758696518557; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.762 +- 0.097 157,mlp,_scale = True; activation = identity; alpha = 0.00567418712325; batch_size = auto; beta_1 = 0.96818040483; beta_2 = 0.97953775169; hidden_layer_sizes[0] = 126; hidden_layer_sizes[1] = 258; learning_rate_init = 0.341003076312; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.533 +- 0.573 158,mlp,_scale = True; activation = relu; alpha = 0.00162868600501; batch_size = auto; hidden_layer_sizes[0] = 144; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.754 +- 0.425 159,mlp,_scale = True; activation = relu; alpha = 0.00229409998765; batch_size = auto; hidden_layer_sizes[0] = 298; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.829 +- 0.264 160,mlp,_scale = True; activation = identity; alpha = 0.00864326826731; batch_size = auto; beta_1 = 0.942795630859; beta_2 = 0.947817974492; hidden_layer_sizes[0] = 237; hidden_layer_sizes[1] = 4; hidden_layer_sizes[2] = 135; learning_rate_init = 0.887629148002; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.733 +- 0.164 161,mlp,_scale = True; activation = identity; alpha = 0.00853544959721; batch_size = auto; beta_1 = 0.910177581959; beta_2 = 0.954639833114; hidden_layer_sizes[0] = 60; hidden_layer_sizes[1] = 167; hidden_layer_sizes[2] = 135; learning_rate_init = 0.248072259148; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.631 +- 0.711 162,mlp,_scale = True; activation = logistic; alpha = 0.000935512363926; batch_size = auto; hidden_layer_sizes[0] = 69; hidden_layer_sizes[1] = 257; hidden_layer_sizes[2] = 173; learning_rate = invscaling; learning_rate_init = 0.643384098013; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.562 +- 0.563 163,mlp,_scale = True; activation = logistic; alpha = 0.00613288968392; batch_size = auto; hidden_layer_sizes[0] = 50; hidden_layer_sizes[1] = 14; hidden_layer_sizes[2] = 259; learning_rate = invscaling; learning_rate_init = 0.886220190632; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.133 +- 0.533 164,mlp,_scale = True; activation = relu; alpha = 0.00458676425967; batch_size = auto; hidden_layer_sizes[0] = 29; hidden_layer_sizes[1] = 85; learning_rate = adaptive; learning_rate_init = 0.387754092947; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.771 +- 0.272 165,mlp,_scale = True; activation = relu; alpha = 0.00334926155067; batch_size = auto; hidden_layer_sizes[0] = 42; hidden_layer_sizes[1] = 200; learning_rate = adaptive; learning_rate_init = 0.540543347995; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.707 +- 0.299 166,knn,_scale = True; algorithm = ball_tree; leaf_size = 12; metric = euclidean; n_neighbors = 20; weights = uniform,f1 and cv,0.646 +- 0.371 167,knn,_scale = True; algorithm = ball_tree; leaf_size = 36; metric = euclidean; n_neighbors = 20; weights = uniform,f1 and cv,0.773 +- 0.170 168,mlp,_scale = True; activation = relu; alpha = 0.00719711014803; batch_size = auto; hidden_layer_sizes[0] = 8; hidden_layer_sizes[1] = 221; hidden_layer_sizes[2] = 194; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.692 +- 0.424 169,mlp,_scale = True; activation = relu; alpha = 0.00887638888759; batch_size = auto; hidden_layer_sizes[0] = 12; hidden_layer_sizes[1] = 299; hidden_layer_sizes[2] = 127; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.650 +- 0.380 170,mlp,_scale = True; activation = tanh; alpha = 0.00614178050714; batch_size = auto; hidden_layer_sizes[0] = 61; hidden_layer_sizes[1] = 225; hidden_layer_sizes[2] = 43; learning_rate = adaptive; learning_rate_init = 0.494382591683; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.714 +- 0.199 171,mlp,_scale = True; activation = tanh; alpha = 0.00738872825514; batch_size = auto; hidden_layer_sizes[0] = 11; hidden_layer_sizes[1] = 145; hidden_layer_sizes[2] = 65; learning_rate = adaptive; learning_rate_init = 0.313803037636; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.838 +- 0.191 172,mlp,_scale = True; activation = relu; alpha = 0.00167916081958; batch_size = auto; hidden_layer_sizes[0] = 120; hidden_layer_sizes[1] = 121; learning_rate = invscaling; learning_rate_init = 0.958818724407; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.667 +- 0.183 173,mlp,_scale = True; activation = relu; alpha = 0.0020100221907; batch_size = auto; hidden_layer_sizes[0] = 84; hidden_layer_sizes[1] = 297; learning_rate = invscaling; learning_rate_init = 0.952122922462; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.659 +- 0.327 174,gp,kernel = matern; nu = 2.5,f1 and cv,0.626 +- 0.144 175,knn,_scale = True; algorithm = kd_tree; leaf_size = 49; metric = manhattan; n_neighbors = 20; weights = uniform,f1 and cv,0.821 +- 0.158 176,knn,_scale = True; algorithm = kd_tree; leaf_size = 5; metric = manhattan; n_neighbors = 7; weights = uniform,f1 and cv,0.803 +- 0.179 177,mlp,_scale = True; activation = logistic; alpha = 0.000158711821583; batch_size = auto; beta_1 = 0.840424693096; beta_2 = 0.878668041576; hidden_layer_sizes[0] = 4; hidden_layer_sizes[1] = 50; hidden_layer_sizes[2] = 129; learning_rate_init = 0.00585355090471; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.533 +- 0.533 178,mlp,_scale = True; activation = logistic; alpha = 0.00201291230505; batch_size = auto; beta_1 = 0.822720823925; beta_2 = 0.994438957081; hidden_layer_sizes[0] = 106; hidden_layer_sizes[1] = 288; hidden_layer_sizes[2] = 154; learning_rate_init = 0.97642751098; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.276 +- 0.677 179,knn,_scale = True; algorithm = kd_tree; leaf_size = 13; metric = euclidean; n_neighbors = 6; weights = distance,f1 and cv,0.805 +- 0.236 180,knn,_scale = True; algorithm = kd_tree; leaf_size = 25; metric = euclidean; n_neighbors = 15; weights = distance,f1 and cv,0.603 +- 0.371 181,mlp,_scale = True; activation = relu; alpha = 0.00445180469685; batch_size = auto; hidden_layer_sizes[0] = 300; hidden_layer_sizes[1] = 202; hidden_layer_sizes[2] = 109; learning_rate = invscaling; learning_rate_init = 0.737533695192; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.831 +- 0.221 182,mlp,_scale = True; activation = relu; alpha = 0.00221169830469; batch_size = auto; hidden_layer_sizes[0] = 300; hidden_layer_sizes[1] = 82; hidden_layer_sizes[2] = 246; learning_rate = invscaling; learning_rate_init = 0.745125016274; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.691 +- 0.341 183,gp,alpha = 0.939043411847; kernel = rational_quadratic; length_scale = 0.215067015461,f1 and cv,0.607 +- 0.122 184,gp,alpha = 0.674130544672; kernel = rational_quadratic; length_scale = 0.0475666943118,f1 and cv,0.688 +- 0.187 185,mlp,_scale = True; activation = identity; alpha = 0.00644730586978; batch_size = auto; beta_1 = 0.882156870467; beta_2 = 0.802764529928; hidden_layer_sizes[0] = 14; learning_rate_init = 0.931185756048; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.789 +- 0.361 186,mlp,_scale = True; activation = identity; alpha = 0.00582384603658; batch_size = auto; beta_1 = 0.817626145533; beta_2 = 0.868733905202; hidden_layer_sizes[0] = 45; learning_rate_init = 0.424573756977; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.798 +- 0.260 187,knn,_scale = True; algorithm = ball_tree; leaf_size = 7; metric = euclidean; n_neighbors = 16; weights = distance,f1 and cv,0.735 +- 0.402 188,knn,_scale = True; algorithm = ball_tree; leaf_size = 22; metric = euclidean; n_neighbors = 8; weights = distance,f1 and cv,0.849 +- 0.132 189,svm,C = 0.0598810328026; _scale = True; cache_size = 15000; class_weight = balanced; kernel = linear; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.849 +- 0.188 190,svm,C = 0.144754612317; _scale = True; cache_size = 15000; class_weight = balanced; kernel = linear; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.764 +- 0.238 191,mlp,_scale = True; activation = logistic; alpha = 0.00558989678671; batch_size = auto; beta_1 = 0.819286301002; beta_2 = 0.909992491242; hidden_layer_sizes[0] = 240; hidden_layer_sizes[1] = 223; learning_rate_init = 0.330182353029; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.436 +- 0.717 192,dt,criterion = entropy; max_depth = 7; max_features = 0.163511255284; min_samples_leaf = 2; min_samples_split = 4,f1 and cv,0.567 +- 0.653 193,dt,criterion = entropy; max_depth = 6; max_features = 0.30231712356; min_samples_leaf = 1; min_samples_split = 4,f1 and cv,0.737 +- 0.374 194,knn,_scale = True; algorithm = ball_tree; leaf_size = 34; metric = manhattan; n_neighbors = 2; weights = uniform,f1 and cv,0.709 +- 0.313 195,knn,_scale = True; algorithm = ball_tree; leaf_size = 11; metric = manhattan; n_neighbors = 2; weights = uniform,f1 and cv,0.748 +- 0.149 196,mlp,_scale = True; activation = identity; alpha = 0.00121727411285; batch_size = auto; hidden_layer_sizes[0] = 12; hidden_layer_sizes[1] = 64; hidden_layer_sizes[2] = 209; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.790 +- 0.232 197,mlp,_scale = True; activation = identity; alpha = 0.00557906441868; batch_size = auto; hidden_layer_sizes[0] = 102; hidden_layer_sizes[1] = 297; hidden_layer_sizes[2] = 168; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.710 +- 0.247 198,knn,_scale = True; algorithm = kd_tree; leaf_size = 23; metric = chebyshev; n_neighbors = 8; weights = distance,f1 and cv,0.509 +- 0.833 199,knn,_scale = True; algorithm = kd_tree; leaf_size = 38; metric = chebyshev; n_neighbors = 14; weights = distance,f1 and cv,0.716 +- 0.129 ================================================ FILE: public/viz/datarun1_grid.csv ================================================ trail ID,method,parameters,metrics,performance 0,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 13; weights = distance,f1 and cv,0.749 +- 0.464 1,knn,_scale = True; algorithm = ball_tree; leaf_size = 38; metric = euclidean; n_neighbors = 10; weights = distance,f1 and cv,0.704 +- 0.265 2,knn,_scale = True; algorithm = ball_tree; leaf_size = 32; metric = minkowski; n_neighbors = 8; p = 3; weights = uniform,f1 and cv,0.817 +- 0.306 3,knn,_scale = True; algorithm = kd_tree; leaf_size = 4; metric = euclidean; n_neighbors = 5; weights = uniform,f1 and cv,0.791 +- 0.079 4,logreg,C = 0.000187053924899; _scale = True; class_weight = balanced; dual = False; fit_intercept = False; penalty = l2; tol = 0.0034814857662,f1 and cv,0.664 +- 0.442 5,logreg,C = 2335.37517726; _scale = True; class_weight = balanced; fit_intercept = True; penalty = l1; tol = 5208.03307363,f1 and cv,0.000 +- 0.000 6,logreg,C = 160.105625083; _scale = True; class_weight = balanced; dual = True; fit_intercept = True; penalty = l2; tol = 0.0819182525731,f1 and cv,0.745 +- 0.107 7,dt,criterion = entropy; max_depth = 5; max_features = 0.781478174182; min_samples_leaf = 1; min_samples_split = 2,f1 and cv,0.585 +- 0.451 8,knn,_scale = True; algorithm = kd_tree; leaf_size = 49; metric = euclidean; n_neighbors = 18; weights = distance,f1 and cv,0.531 +- 0.717 9,knn,_scale = True; algorithm = kd_tree; leaf_size = 17; metric = manhattan; n_neighbors = 12; weights = distance,f1 and cv,0.686 +- 0.187 10,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 15; weights = uniform,f1 and cv,0.786 +- 0.297 11,logreg,C = 3647.55069827; _scale = True; class_weight = balanced; dual = False; fit_intercept = True; penalty = l2; tol = 0.448237732321,f1 and cv,0.769 +- 0.217 12,dt,criterion = entropy; max_depth = 10; max_features = 0.913382063114; min_samples_leaf = 2; min_samples_split = 4,f1 and cv,0.649 +- 0.182 13,knn,_scale = True; algorithm = ball_tree; leaf_size = 37; metric = minkowski; n_neighbors = 3; p = 3; weights = distance,f1 and cv,0.740 +- 0.527 14,dt,criterion = entropy; max_depth = 5; max_features = 0.325846823079; min_samples_leaf = 1; min_samples_split = 2,f1 and cv,0.736 +- 0.283 15,knn,_scale = True; algorithm = kd_tree; leaf_size = 2; metric = chebyshev; n_neighbors = 3; weights = uniform,f1 and cv,0.691 +- 0.424 16,knn,_scale = True; algorithm = kd_tree; leaf_size = 27; metric = manhattan; n_neighbors = 8; weights = uniform,f1 and cv,0.730 +- 0.496 17,knn,_scale = True; algorithm = ball_tree; leaf_size = 35; metric = minkowski; n_neighbors = 12; p = 1; weights = uniform,f1 and cv,0.793 +- 0.184 18,logreg,C = 2.25465797942e-05; _scale = True; class_weight = balanced; fit_intercept = True; penalty = l1; tol = 98.8424586631,f1 and cv,0.000 +- 0.000 19,logreg,C = 2593.12551929; _scale = True; class_weight = balanced; fit_intercept = True; penalty = l1; tol = 10437.0432791,f1 and cv,0.000 +- 0.000 20,knn,_scale = True; algorithm = kd_tree; leaf_size = 23; metric = chebyshev; n_neighbors = 10; weights = distance,f1 and cv,0.604 +- 0.403 21,logreg,C = 1.35334969088e-05; _scale = True; class_weight = balanced; dual = True; fit_intercept = True; penalty = l2; tol = 0.000448639710882,f1 and cv,0.729 +- 0.201 22,knn,_scale = True; algorithm = ball_tree; leaf_size = 19; metric = manhattan; n_neighbors = 20; weights = distance,f1 and cv,0.648 +- 0.224 23,knn,_scale = True; algorithm = ball_tree; leaf_size = 1; metric = chebyshev; n_neighbors = 7; weights = distance,f1 and cv,0.671 +- 0.142 24,dt,criterion = entropy; max_depth = 10; max_features = 0.497398625415; min_samples_leaf = 2; min_samples_split = 2,f1 and cv,0.639 +- 0.317 25,logreg,C = 0.00183903257216; _scale = True; class_weight = balanced; dual = False; fit_intercept = True; penalty = l2; tol = 0.000134398031491,f1 and cv,0.647 +- 0.462 26,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 19; weights = distance,f1 and cv,0.816 +- 0.104 27,logreg,C = 0.017394914513; _scale = True; class_weight = balanced; dual = False; fit_intercept = False; penalty = l2; tol = 0.0703048129884,f1 and cv,0.698 +- 0.347 28,knn,_scale = True; algorithm = kd_tree; leaf_size = 27; metric = manhattan; n_neighbors = 12; weights = uniform,f1 and cv,0.567 +- 0.670 29,logreg,C = 720.35958696; _scale = True; class_weight = balanced; dual = False; fit_intercept = True; penalty = l2; tol = 860.875802944,f1 and cv,0.000 +- 0.000 30,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 7; weights = distance,f1 and cv,0.631 +- 0.330 31,knn,_scale = True; algorithm = ball_tree; leaf_size = 45; metric = chebyshev; n_neighbors = 3; weights = distance,f1 and cv,0.611 +- 0.420 32,knn,_scale = True; algorithm = ball_tree; leaf_size = 39; metric = manhattan; n_neighbors = 16; weights = distance,f1 and cv,0.700 +- 0.374 33,knn,_scale = True; algorithm = kd_tree; leaf_size = 27; metric = manhattan; n_neighbors = 5; weights = uniform,f1 and cv,0.770 +- 0.173 34,logreg,C = 2.03125993463; _scale = True; class_weight = balanced; dual = True; fit_intercept = True; penalty = l2; tol = 0.00113450587983,f1 and cv,0.641 +- 0.271 35,logreg,C = 3.04936416576; _scale = True; class_weight = balanced; fit_intercept = True; penalty = l1; tol = 11.3252664914,f1 and cv,0.000 +- 0.000 36,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 5; p = 3; weights = distance,f1 and cv,0.716 +- 0.235 37,knn,_scale = True; algorithm = kd_tree; leaf_size = 22; metric = euclidean; n_neighbors = 6; weights = uniform,f1 and cv,0.779 +- 0.313 38,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 20; weights = distance,f1 and cv,0.780 +- 0.134 39,knn,_scale = True; algorithm = kd_tree; leaf_size = 4; metric = euclidean; n_neighbors = 5; weights = uniform,f1 and cv,0.655 +- 0.374 40,dt,criterion = gini; max_depth = 3; max_features = 0.410278290867; min_samples_leaf = 3; min_samples_split = 2,f1 and cv,0.684 +- 0.190 41,dt,criterion = entropy; max_depth = 10; max_features = 0.379779506067; min_samples_leaf = 1; min_samples_split = 3,f1 and cv,0.694 +- 0.253 42,knn,_scale = True; algorithm = kd_tree; leaf_size = 9; metric = euclidean; n_neighbors = 7; weights = uniform,f1 and cv,0.709 +- 0.288 43,knn,_scale = True; algorithm = ball_tree; leaf_size = 26; metric = euclidean; n_neighbors = 8; weights = uniform,f1 and cv,0.731 +- 0.163 44,knn,_scale = True; algorithm = ball_tree; leaf_size = 7; metric = chebyshev; n_neighbors = 11; weights = distance,f1 and cv,0.768 +- 0.208 45,knn,_scale = True; algorithm = ball_tree; leaf_size = 13; metric = manhattan; n_neighbors = 5; weights = uniform,f1 and cv,0.698 +- 0.266 46,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 7; weights = distance,f1 and cv,0.727 +- 0.262 47,knn,_scale = True; algorithm = kd_tree; leaf_size = 16; metric = minkowski; n_neighbors = 15; p = 3; weights = distance,f1 and cv,0.621 +- 0.265 48,knn,_scale = True; algorithm = kd_tree; leaf_size = 46; metric = euclidean; n_neighbors = 7; weights = distance,f1 and cv,0.620 +- 0.742 49,knn,_scale = True; algorithm = kd_tree; leaf_size = 47; metric = manhattan; n_neighbors = 6; weights = distance,f1 and cv,0.748 +- 0.365 50,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 16; weights = distance,f1 and cv,0.646 +- 0.138 51,knn,_scale = True; algorithm = kd_tree; leaf_size = 31; metric = chebyshev; n_neighbors = 20; weights = uniform,f1 and cv,0.746 +- 0.254 52,knn,_scale = True; algorithm = ball_tree; leaf_size = 20; metric = chebyshev; n_neighbors = 3; weights = distance,f1 and cv,0.732 +- 0.280 53,knn,_scale = True; algorithm = ball_tree; leaf_size = 5; metric = minkowski; n_neighbors = 16; p = 2; weights = distance,f1 and cv,0.749 +- 0.235 54,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 10; weights = uniform,f1 and cv,0.678 +- 0.174 55,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 18; weights = distance,f1 and cv,0.815 +- 0.243 56,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 16; weights = uniform,f1 and cv,0.586 +- 0.347 57,knn,_scale = True; algorithm = ball_tree; leaf_size = 33; metric = manhattan; n_neighbors = 18; weights = distance,f1 and cv,0.636 +- 0.426 58,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 10; weights = uniform,f1 and cv,0.718 +- 0.317 59,knn,_scale = True; algorithm = kd_tree; leaf_size = 26; metric = minkowski; n_neighbors = 10; p = 2; weights = distance,f1 and cv,0.614 +- 0.635 60,knn,_scale = True; algorithm = ball_tree; leaf_size = 1; metric = minkowski; n_neighbors = 3; p = 1; weights = uniform,f1 and cv,0.756 +- 0.303 61,logreg,C = 3.41536388184e-05; _scale = True; class_weight = balanced; dual = True; fit_intercept = True; penalty = l2; tol = 0.000706626237088,f1 and cv,0.760 +- 0.261 62,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 18; p = 3; weights = uniform,f1 and cv,0.748 +- 0.302 63,knn,_scale = True; algorithm = ball_tree; leaf_size = 1; metric = manhattan; n_neighbors = 13; weights = distance,f1 and cv,0.758 +- 0.288 64,knn,_scale = True; algorithm = ball_tree; leaf_size = 32; metric = chebyshev; n_neighbors = 9; weights = uniform,f1 and cv,0.527 +- 0.560 65,logreg,C = 0.000881758281515; _scale = True; class_weight = balanced; dual = False; fit_intercept = False; penalty = l2; tol = 1.48094272547e-05,f1 and cv,0.513 +- 0.668 66,dt,criterion = gini; max_depth = 5; max_features = 0.522434815905; min_samples_leaf = 1; min_samples_split = 2,f1 and cv,0.584 +- 0.452 67,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 6; weights = uniform,f1 and cv,0.616 +- 0.444 68,logreg,C = 143.056895445; _scale = True; class_weight = balanced; fit_intercept = False; penalty = l1; tol = 0.00424864328362,f1 and cv,0.805 +- 0.123 69,knn,_scale = True; algorithm = ball_tree; leaf_size = 17; metric = minkowski; n_neighbors = 13; p = 1; weights = uniform,f1 and cv,0.749 +- 0.100 70,logreg,C = 0.0206281857645; _scale = True; class_weight = balanced; dual = True; fit_intercept = False; penalty = l2; tol = 5.35095733943e-05,f1 and cv,0.757 +- 0.240 71,knn,_scale = True; algorithm = ball_tree; leaf_size = 38; metric = euclidean; n_neighbors = 16; weights = uniform,f1 and cv,0.780 +- 0.321 72,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 8; p = 3; weights = distance,f1 and cv,0.668 +- 0.302 73,knn,_scale = True; algorithm = kd_tree; leaf_size = 40; metric = minkowski; n_neighbors = 3; p = 1; weights = distance,f1 and cv,0.642 +- 0.251 74,knn,_scale = True; algorithm = ball_tree; leaf_size = 31; metric = chebyshev; n_neighbors = 9; weights = uniform,f1 and cv,0.500 +- 0.587 75,knn,_scale = True; algorithm = ball_tree; leaf_size = 43; metric = manhattan; n_neighbors = 1; weights = distance,f1 and cv,0.755 +- 0.121 76,knn,_scale = True; algorithm = ball_tree; leaf_size = 31; metric = manhattan; n_neighbors = 18; weights = distance,f1 and cv,0.671 +- 0.704 77,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 12; weights = uniform,f1 and cv,0.632 +- 0.225 78,logreg,C = 0.000595902947969; _scale = True; class_weight = balanced; dual = True; fit_intercept = False; penalty = l2; tol = 1.04172722169e-05,f1 and cv,0.718 +- 0.336 79,knn,_scale = True; algorithm = kd_tree; leaf_size = 39; metric = minkowski; n_neighbors = 9; p = 1; weights = distance,f1 and cv,0.717 +- 0.082 80,knn,_scale = True; algorithm = ball_tree; leaf_size = 32; metric = euclidean; n_neighbors = 11; weights = distance,f1 and cv,0.760 +- 0.432 81,knn,_scale = True; algorithm = kd_tree; leaf_size = 12; metric = manhattan; n_neighbors = 14; weights = distance,f1 and cv,0.620 +- 0.482 82,logreg,C = 39737.1240377; _scale = True; class_weight = balanced; fit_intercept = True; penalty = l1; tol = 22796.4475141,f1 and cv,0.000 +- 0.000 83,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 9; weights = distance,f1 and cv,0.680 +- 0.259 84,knn,_scale = True; algorithm = kd_tree; leaf_size = 22; metric = manhattan; n_neighbors = 19; weights = distance,f1 and cv,0.791 +- 0.300 85,knn,_scale = True; algorithm = kd_tree; leaf_size = 25; metric = chebyshev; n_neighbors = 19; weights = uniform,f1 and cv,0.691 +- 0.157 86,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 17; p = 1; weights = uniform,f1 and cv,0.757 +- 0.180 87,knn,_scale = True; algorithm = ball_tree; leaf_size = 15; metric = chebyshev; n_neighbors = 13; weights = uniform,f1 and cv,0.711 +- 0.079 88,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 19; weights = distance,f1 and cv,0.732 +- 0.087 89,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 10; weights = distance,f1 and cv,0.701 +- 0.334 90,logreg,C = 810.212983363; _scale = True; class_weight = balanced; dual = True; fit_intercept = False; penalty = l2; tol = 0.0254460704707,f1 and cv,0.731 +- 0.194 91,knn,_scale = True; algorithm = kd_tree; leaf_size = 24; metric = minkowski; n_neighbors = 13; p = 3; weights = uniform,f1 and cv,0.541 +- 0.560 92,logreg,C = 4.98491618564; _scale = True; class_weight = balanced; fit_intercept = False; penalty = l1; tol = 2120.19924658,f1 and cv,0.000 +- 0.000 93,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 15; weights = uniform,f1 and cv,0.783 +- 0.080 94,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 15; weights = uniform,f1 and cv,0.576 +- 0.635 95,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 5; weights = distance,f1 and cv,0.713 +- 0.227 96,knn,_scale = True; algorithm = kd_tree; leaf_size = 20; metric = euclidean; n_neighbors = 19; weights = uniform,f1 and cv,0.748 +- 0.121 97,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 2; weights = distance,f1 and cv,0.731 +- 0.271 98,logreg,C = 0.0049368197232; _scale = True; class_weight = balanced; dual = True; fit_intercept = False; penalty = l2; tol = 0.413574153029,f1 and cv,0.784 +- 0.103 99,logreg,C = 65.2333401319; _scale = True; class_weight = balanced; dual = True; fit_intercept = False; penalty = l2; tol = 80.4831976789,f1 and cv,0.680 +- 0.412 ================================================ FILE: public/viz/datarun2_gp.csv ================================================ trail ID,method,parameters,metrics,performance 0,mlp,_scale = True; activation = logistic; alpha = 0.00799991890745; batch_size = auto; hidden_layer_sizes[0] = 56; hidden_layer_sizes[1] = 24; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.748 +- 0.164 1,mlp,_scale = True; activation = logistic; alpha = 0.00849143103282; batch_size = auto; hidden_layer_sizes[0] = 99; hidden_layer_sizes[1] = 62; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.735 +- 0.184 2,mlp,_scale = True; activation = logistic; alpha = 0.00177045733688; batch_size = auto; hidden_layer_sizes[0] = 55; hidden_layer_sizes[1] = 29; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.691 +- 0.157 3,mlp,_scale = True; activation = logistic; alpha = 0.00723514242738; batch_size = auto; hidden_layer_sizes[0] = 57; hidden_layer_sizes[1] = 21; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.760 +- 0.171 4,mlp,_scale = True; activation = identity; alpha = 0.00547161489348; batch_size = auto; hidden_layer_sizes[0] = 209; learning_rate = invscaling; learning_rate_init = 0.650260689975; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.682 +- 0.105 5,mlp,_scale = True; activation = identity; alpha = 0.00899195208914; batch_size = auto; hidden_layer_sizes[0] = 64; learning_rate = invscaling; learning_rate_init = 0.731561837323; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.609 +- 0.387 6,mlp,_scale = True; activation = identity; alpha = 0.00234238712992; batch_size = auto; hidden_layer_sizes[0] = 209; learning_rate = invscaling; learning_rate_init = 0.465202580375; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.736 +- 0.259 7,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 15; weights = distance,f1 and cv,0.780 +- 0.278 8,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 8; weights = distance,f1 and cv,0.674 +- 0.146 9,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 15; weights = distance,f1 and cv,0.589 +- 0.305 10,mlp,_scale = True; activation = tanh; alpha = 0.00224178522662; batch_size = auto; hidden_layer_sizes[0] = 239; hidden_layer_sizes[1] = 218; learning_rate = invscaling; learning_rate_init = 0.344309618261; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.791 +- 0.079 11,mlp,_scale = True; activation = tanh; alpha = 0.00427765774483; batch_size = auto; hidden_layer_sizes[0] = 246; hidden_layer_sizes[1] = 184; learning_rate = invscaling; learning_rate_init = 0.0273710171825; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.735 +- 0.498 12,mlp,_scale = True; activation = tanh; alpha = 0.00526485272616; batch_size = auto; hidden_layer_sizes[0] = 237; hidden_layer_sizes[1] = 218; learning_rate = invscaling; learning_rate_init = 0.879873731867; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.755 +- 0.121 13,mlp,_scale = True; activation = tanh; alpha = 0.000634821692555; batch_size = auto; hidden_layer_sizes[0] = 149; hidden_layer_sizes[1] = 6; learning_rate = adaptive; learning_rate_init = 0.277926847527; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.785 +- 0.423 14,mlp,_scale = True; activation = tanh; alpha = 0.00660553229005; batch_size = auto; hidden_layer_sizes[0] = 165; hidden_layer_sizes[1] = 112; learning_rate = adaptive; learning_rate_init = 0.867735422342; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.712 +- 0.130 15,mlp,_scale = True; activation = tanh; alpha = 0.00371911388751; batch_size = auto; hidden_layer_sizes[0] = 148; hidden_layer_sizes[1] = 4; learning_rate = adaptive; learning_rate_init = 0.122456112659; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.707 +- 0.166 16,mlp,_scale = True; activation = relu; alpha = 0.00392350082244; batch_size = auto; beta_1 = 0.914223423245; beta_2 = 0.858754257734; hidden_layer_sizes[0] = 237; hidden_layer_sizes[1] = 229; hidden_layer_sizes[2] = 67; learning_rate_init = 0.175696655355; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.594 +- 0.620 17,mlp,_scale = True; activation = relu; alpha = 0.000295211950158; batch_size = auto; beta_1 = 0.917406288989; beta_2 = 0.860898038173; hidden_layer_sizes[0] = 39; hidden_layer_sizes[1] = 287; hidden_layer_sizes[2] = 51; learning_rate_init = 0.559862026703; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.213 +- 0.549 18,gp,alpha = 0.041501904705; kernel = rational_quadratic; length_scale = 14.3432879364,f1 and cv,0.712 +- 0.348 19,gp,alpha = 0.773879362873; kernel = rational_quadratic; length_scale = 0.0330209564233,f1 and cv,0.614 +- 0.267 20,mlp,_scale = True; activation = identity; alpha = 0.00562597823112; batch_size = auto; hidden_layer_sizes[0] = 33; hidden_layer_sizes[1] = 195; hidden_layer_sizes[2] = 98; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.575 +- 0.348 21,mlp,_scale = True; activation = identity; alpha = 0.00806297352457; batch_size = auto; hidden_layer_sizes[0] = 170; hidden_layer_sizes[1] = 114; hidden_layer_sizes[2] = 63; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.673 +- 0.171 22,mlp,_scale = True; activation = logistic; alpha = 0.00160751379346; batch_size = auto; hidden_layer_sizes[0] = 218; hidden_layer_sizes[1] = 27; hidden_layer_sizes[2] = 67; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.694 +- 0.109 23,mlp,_scale = True; activation = logistic; alpha = 0.00837727401381; batch_size = auto; hidden_layer_sizes[0] = 22; hidden_layer_sizes[1] = 245; hidden_layer_sizes[2] = 194; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.797 +- 0.311 24,mlp,_scale = True; activation = logistic; alpha = 0.00879886663304; batch_size = auto; hidden_layer_sizes[0] = 243; hidden_layer_sizes[1] = 221; hidden_layer_sizes[2] = 250; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.766 +- 0.186 25,knn,_scale = True; algorithm = ball_tree; leaf_size = 42; metric = euclidean; n_neighbors = 17; weights = uniform,f1 and cv,0.807 +- 0.284 26,knn,_scale = True; algorithm = ball_tree; leaf_size = 4; metric = euclidean; n_neighbors = 13; weights = uniform,f1 and cv,0.682 +- 0.382 27,mnb,_scale_minmax = True; alpha = 0.822696871672; class_prior = None; fit_prior = 0,f1 and cv,0.780 +- 0.234 28,mnb,_scale_minmax = True; alpha = 0.955370128562; class_prior = None; fit_prior = 0,f1 and cv,0.664 +- 0.437 29,dt,criterion = gini; max_depth = 7; max_features = 0.676782742212; min_samples_leaf = 2; min_samples_split = 2,f1 and cv,0.745 +- 0.277 30,dt,criterion = gini; max_depth = 3; max_features = 0.979277036136; min_samples_leaf = 3; min_samples_split = 2,f1 and cv,0.760 +- 0.348 31,logreg,C = 0.00528614608449; _scale = True; class_weight = balanced; dual = True; fit_intercept = False; penalty = l2; tol = 7.63521491081,f1 and cv,0.708 +- 0.381 32,logreg,C = 1.87012501354; _scale = True; class_weight = balanced; dual = True; fit_intercept = False; penalty = l2; tol = 0.038350775541,f1 and cv,0.782 +- 0.149 33,mlp,_scale = True; activation = relu; alpha = 0.00376390194408; batch_size = auto; hidden_layer_sizes[0] = 94; learning_rate = invscaling; learning_rate_init = 0.380382485648; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.719 +- 0.155 34,mlp,_scale = True; activation = relu; alpha = 0.00206755077975; batch_size = auto; hidden_layer_sizes[0] = 70; learning_rate = invscaling; learning_rate_init = 0.4049758173; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.793 +- 0.158 35,mlp,_scale = True; activation = relu; alpha = 0.00664538442617; batch_size = auto; hidden_layer_sizes[0] = 274; hidden_layer_sizes[1] = 118; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.809 +- 0.112 36,mlp,_scale = True; activation = relu; alpha = 0.00718100709273; batch_size = auto; hidden_layer_sizes[0] = 41; hidden_layer_sizes[1] = 165; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.742 +- 0.260 37,mlp,_scale = True; activation = identity; alpha = 0.00871607173955; batch_size = auto; hidden_layer_sizes[0] = 6; hidden_layer_sizes[1] = 290; hidden_layer_sizes[2] = 293; learning_rate = adaptive; learning_rate_init = 0.942419045492; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.000 +- 0.000 38,mlp,_scale = True; activation = relu; alpha = 0.00833505964486; batch_size = auto; hidden_layer_sizes[0] = 9; hidden_layer_sizes[1] = 122; learning_rate = adaptive; learning_rate_init = 0.784859303991; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.638 +- 0.339 39,mlp,_scale = True; activation = relu; alpha = 0.006648665153; batch_size = auto; hidden_layer_sizes[0] = 180; hidden_layer_sizes[1] = 15; learning_rate = adaptive; learning_rate_init = 0.562082568671; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.658 +- 0.221 40,mlp,_scale = True; activation = identity; alpha = 0.00792512283525; batch_size = auto; hidden_layer_sizes[0] = 25; hidden_layer_sizes[1] = 292; hidden_layer_sizes[2] = 22; learning_rate = constant; learning_rate_init = 0.788690042474; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.367 +- 0.442 41,mlp,_scale = True; activation = identity; alpha = 0.00688422258512; batch_size = auto; hidden_layer_sizes[0] = 288; hidden_layer_sizes[1] = 260; hidden_layer_sizes[2] = 238; learning_rate = constant; learning_rate_init = 0.77218536964; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.360 +- 0.406 42,knn,_scale = True; algorithm = kd_tree; leaf_size = 27; metric = chebyshev; n_neighbors = 16; weights = uniform,f1 and cv,0.679 +- 0.154 43,knn,_scale = True; algorithm = kd_tree; leaf_size = 33; metric = chebyshev; n_neighbors = 18; weights = uniform,f1 and cv,0.705 +- 0.228 44,mlp,_scale = True; activation = relu; alpha = 0.00829106098594; batch_size = auto; hidden_layer_sizes[0] = 37; hidden_layer_sizes[1] = 118; learning_rate = constant; learning_rate_init = 0.455241704563; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.716 +- 0.415 45,mlp,_scale = True; activation = relu; alpha = 0.00233838412282; batch_size = auto; hidden_layer_sizes[0] = 12; hidden_layer_sizes[1] = 24; learning_rate = constant; learning_rate_init = 0.58136369656; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.655 +- 0.119 46,gp,kernel = exp_sine_squared; length_scale = 0.286115700759; periodicity = 1,f1 and cv,0.493 +- 0.441 47,gp,kernel = exp_sine_squared; length_scale = 0.0757682044306; periodicity = 1,f1 and cv,0.479 +- 0.506 48,mlp,_scale = True; activation = identity; alpha = 0.00811391645532; batch_size = auto; beta_1 = 0.970126220631; beta_2 = 0.995982659475; hidden_layer_sizes[0] = 277; learning_rate_init = 0.683438765367; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.847 +- 0.059 49,mlp,_scale = True; activation = identity; alpha = 0.00659411144259; batch_size = auto; beta_1 = 0.905504262224; beta_2 = 0.821045183661; hidden_layer_sizes[0] = 85; learning_rate_init = 0.504346221191; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.713 +- 0.466 50,logreg,C = 0.197368621397; _scale = True; class_weight = balanced; fit_intercept = True; penalty = l1; tol = 64.4595613216,f1 and cv,0.000 +- 0.000 51,mlp,_scale = True; activation = relu; alpha = 0.00153881672492; batch_size = auto; hidden_layer_sizes[0] = 115; hidden_layer_sizes[1] = 227; hidden_layer_sizes[2] = 104; learning_rate = invscaling; learning_rate_init = 0.0393098031832; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.806 +- 0.533 52,mlp,_scale = True; activation = relu; alpha = 0.00816849554577; batch_size = auto; hidden_layer_sizes[0] = 250; hidden_layer_sizes[1] = 85; hidden_layer_sizes[2] = 128; learning_rate = invscaling; learning_rate_init = 0.615046869676; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.674 +- 0.293 53,mlp,_scale = True; activation = tanh; alpha = 0.00360979808843; batch_size = auto; beta_1 = 0.855599296801; beta_2 = 0.856429648316; hidden_layer_sizes[0] = 179; hidden_layer_sizes[1] = 53; learning_rate_init = 0.929951980019; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.577 +- 0.292 54,mlp,_scale = True; activation = tanh; alpha = 0.0058900276749; batch_size = auto; beta_1 = 0.89139590446; beta_2 = 0.844801556636; hidden_layer_sizes[0] = 170; hidden_layer_sizes[1] = 150; learning_rate_init = 0.327819358042; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.569 +- 0.418 55,mlp,_scale = True; activation = logistic; alpha = 0.00408815617237; batch_size = auto; hidden_layer_sizes[0] = 149; hidden_layer_sizes[1] = 9; learning_rate = constant; learning_rate_init = 0.609590912397; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.831 +- 0.221 56,mlp,_scale = True; activation = logistic; alpha = 0.000300185642587; batch_size = auto; hidden_layer_sizes[0] = 91; hidden_layer_sizes[1] = 129; learning_rate = constant; learning_rate_init = 0.709215361944; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.379 +- 0.621 57,mlp,_scale = True; activation = relu; alpha = 0.0030438878624; batch_size = auto; hidden_layer_sizes[0] = 81; learning_rate = constant; learning_rate_init = 0.905282464084; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.673 +- 0.232 58,mlp,_scale = True; activation = relu; alpha = 0.00146693288878; batch_size = auto; hidden_layer_sizes[0] = 189; learning_rate = constant; learning_rate_init = 0.898892816545; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.841 +- 0.290 59,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 10; p = 1; weights = uniform,f1 and cv,0.650 +- 0.466 60,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 2; p = 2; weights = uniform,f1 and cv,0.826 +- 0.225 61,knn,_scale = True; algorithm = kd_tree; leaf_size = 10; metric = euclidean; n_neighbors = 6; weights = distance,f1 and cv,0.776 +- 0.187 62,knn,_scale = True; algorithm = kd_tree; leaf_size = 19; metric = euclidean; n_neighbors = 14; weights = distance,f1 and cv,0.733 +- 0.163 63,knn,_scale = True; algorithm = kd_tree; leaf_size = 33; metric = manhattan; n_neighbors = 2; weights = uniform,f1 and cv,0.543 +- 0.732 64,knn,_scale = True; algorithm = kd_tree; leaf_size = 9; metric = manhattan; n_neighbors = 3; weights = uniform,f1 and cv,0.662 +- 0.160 65,logreg,C = 1.44037909643e-05; _scale = True; class_weight = balanced; fit_intercept = False; penalty = l1; tol = 387.70744433,f1 and cv,0.000 +- 0.000 66,mlp,_scale = True; activation = identity; alpha = 0.00398238250451; batch_size = auto; hidden_layer_sizes[0] = 46; learning_rate = constant; learning_rate_init = 0.047364176926; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.730 +- 0.234 67,mlp,_scale = True; activation = identity; alpha = 0.00463099649498; batch_size = auto; hidden_layer_sizes[0] = 107; learning_rate = constant; learning_rate_init = 0.733119060066; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.778 +- 0.281 68,mlp,_scale = True; activation = tanh; alpha = 0.00562018390673; batch_size = auto; hidden_layer_sizes[0] = 87; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.793 +- 0.224 69,mlp,_scale = True; activation = tanh; alpha = 0.00696111712754; batch_size = auto; hidden_layer_sizes[0] = 279; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.594 +- 0.362 70,gp,kernel = constant,f1 and cv,0.707 +- 0.042 71,knn,_scale = True; algorithm = kd_tree; leaf_size = 34; metric = minkowski; n_neighbors = 16; p = 2; weights = distance,f1 and cv,0.715 +- 0.140 72,knn,_scale = True; algorithm = kd_tree; leaf_size = 50; metric = minkowski; n_neighbors = 19; p = 2; weights = distance,f1 and cv,0.688 +- 0.275 73,mlp,_scale = True; activation = relu; alpha = 0.000282349269762; batch_size = auto; beta_1 = 0.852197982746; beta_2 = 0.983418833054; hidden_layer_sizes[0] = 62; learning_rate_init = 0.588627297032; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.819 +- 0.097 74,mlp,_scale = True; activation = relu; alpha = 0.00515144712438; batch_size = auto; beta_1 = 0.994226324379; beta_2 = 0.815806660936; hidden_layer_sizes[0] = 199; learning_rate_init = 0.812129907734; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.661 +- 0.325 75,logreg,C = 2725.12959188; _scale = True; class_weight = balanced; fit_intercept = True; penalty = l1; tol = 5377.22663938,f1 and cv,0.000 +- 0.000 76,mlp,_scale = True; activation = identity; alpha = 0.0062318539897; batch_size = auto; hidden_layer_sizes[0] = 54; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.631 +- 0.319 77,mlp,_scale = True; activation = identity; alpha = 0.00872090939651; batch_size = auto; hidden_layer_sizes[0] = 219; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.623 +- 0.349 78,knn,_scale = True; algorithm = ball_tree; leaf_size = 39; metric = euclidean; n_neighbors = 17; weights = distance,f1 and cv,0.663 +- 0.380 79,knn,_scale = True; algorithm = ball_tree; leaf_size = 45; metric = euclidean; n_neighbors = 10; weights = distance,f1 and cv,0.744 +- 0.193 80,knn,_scale = True; algorithm = kd_tree; leaf_size = 34; metric = manhattan; n_neighbors = 1; weights = distance,f1 and cv,0.498 +- 0.526 81,knn,_scale = True; algorithm = kd_tree; leaf_size = 30; metric = manhattan; n_neighbors = 7; weights = distance,f1 and cv,0.704 +- 0.227 82,gp,kernel = matern; nu = 0.5,f1 and cv,0.514 +- 0.520 83,mlp,_scale = True; activation = tanh; alpha = 0.00883367578485; batch_size = auto; hidden_layer_sizes[0] = 36; hidden_layer_sizes[1] = 177; hidden_layer_sizes[2] = 36; learning_rate = adaptive; learning_rate_init = 0.558670955025; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.785 +- 0.126 84,mlp,_scale = True; activation = tanh; alpha = 0.00583093659719; batch_size = auto; hidden_layer_sizes[0] = 242; hidden_layer_sizes[1] = 206; hidden_layer_sizes[2] = 129; learning_rate = adaptive; learning_rate_init = 0.273588290809; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.595 +- 0.234 85,mlp,_scale = True; activation = identity; alpha = 0.00147185389566; batch_size = auto; hidden_layer_sizes[0] = 15; hidden_layer_sizes[1] = 162; learning_rate = invscaling; learning_rate_init = 0.00589667281794; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.634 +- 0.196 86,mlp,_scale = True; activation = identity; alpha = 0.00146904657447; batch_size = auto; hidden_layer_sizes[0] = 152; hidden_layer_sizes[1] = 39; learning_rate = invscaling; learning_rate_init = 0.501611525757; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.735 +- 0.218 87,knn,_scale = True; algorithm = ball_tree; leaf_size = 18; metric = manhattan; n_neighbors = 16; weights = distance,f1 and cv,0.833 +- 0.230 88,knn,_scale = True; algorithm = ball_tree; leaf_size = 38; metric = manhattan; n_neighbors = 3; weights = distance,f1 and cv,0.719 +- 0.361 89,mlp,_scale = True; activation = relu; alpha = 0.00321551107466; batch_size = auto; beta_1 = 0.806148066701; beta_2 = 0.907200674379; hidden_layer_sizes[0] = 45; hidden_layer_sizes[1] = 195; learning_rate_init = 0.489362033585; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.753 +- 0.316 90,mlp,_scale = True; activation = relu; alpha = 0.00200767805409; batch_size = auto; beta_1 = 0.878324882969; beta_2 = 0.985934115428; hidden_layer_sizes[0] = 266; hidden_layer_sizes[1] = 196; learning_rate_init = 0.109332747323; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.260 +- 0.644 91,mlp,_scale = True; activation = identity; alpha = 0.000627780706672; batch_size = auto; beta_1 = 0.859269935731; beta_2 = 0.857146993073; hidden_layer_sizes[0] = 235; hidden_layer_sizes[1] = 202; hidden_layer_sizes[2] = 173; learning_rate_init = 0.0132779420352; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.735 +- 0.387 92,mlp,_scale = True; activation = identity; alpha = 0.00664294783307; batch_size = auto; beta_1 = 0.895240629973; beta_2 = 0.96121714919; hidden_layer_sizes[0] = 199; hidden_layer_sizes[1] = 2; hidden_layer_sizes[2] = 166; learning_rate_init = 0.184764822357; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.742 +- 0.197 93,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 11; weights = distance,f1 and cv,0.811 +- 0.237 94,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 16; weights = distance,f1 and cv,0.821 +- 0.197 95,mlp,_scale = True; activation = tanh; alpha = 0.00447020989052; batch_size = auto; hidden_layer_sizes[0] = 53; learning_rate = invscaling; learning_rate_init = 0.83218879304; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.843 +- 0.238 96,mlp,_scale = True; activation = tanh; alpha = 0.00534383889414; batch_size = auto; hidden_layer_sizes[0] = 130; learning_rate = invscaling; learning_rate_init = 0.317531602371; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.783 +- 0.405 97,knn,_scale = True; algorithm = ball_tree; leaf_size = 13; metric = manhattan; n_neighbors = 11; weights = uniform,f1 and cv,0.765 +- 0.164 98,knn,_scale = True; algorithm = ball_tree; leaf_size = 13; metric = manhattan; n_neighbors = 17; weights = uniform,f1 and cv,0.713 +- 0.498 99,mlp,_scale = True; activation = logistic; alpha = 0.00647870532925; batch_size = auto; beta_1 = 0.899214542024; beta_2 = 0.953020327964; hidden_layer_sizes[0] = 150; hidden_layer_sizes[1] = 273; hidden_layer_sizes[2] = 24; learning_rate_init = 0.513705713727; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.133 +- 0.533 100,mlp,_scale = True; activation = logistic; alpha = 0.00504175802063; batch_size = auto; beta_1 = 0.965923313126; beta_2 = 0.870884989507; hidden_layer_sizes[0] = 169; hidden_layer_sizes[1] = 269; hidden_layer_sizes[2] = 164; learning_rate_init = 0.671616929214; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.565 +- 0.566 101,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 19; weights = uniform,f1 and cv,0.769 +- 0.298 102,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 4; weights = uniform,f1 and cv,0.641 +- 0.468 103,mlp,_scale = True; activation = logistic; alpha = 0.00535635609759; batch_size = auto; hidden_layer_sizes[0] = 214; learning_rate = constant; learning_rate_init = 0.476065873624; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.145 +- 0.582 104,mlp,_scale = True; activation = logistic; alpha = 0.00155844793069; batch_size = auto; hidden_layer_sizes[0] = 147; learning_rate = constant; learning_rate_init = 0.515921525931; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.506 +- 0.595 105,mlp,_scale = True; activation = tanh; alpha = 0.00657916092724; batch_size = auto; hidden_layer_sizes[0] = 172; hidden_layer_sizes[1] = 78; learning_rate = constant; learning_rate_init = 0.84120659402; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.713 +- 0.307 106,mlp,_scale = True; activation = tanh; alpha = 0.00631981104713; batch_size = auto; hidden_layer_sizes[0] = 278; hidden_layer_sizes[1] = 113; learning_rate = constant; learning_rate_init = 0.59761438975; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.732 +- 0.529 107,gp,kernel = exp_sine_squared; length_scale = 10.4281777388; periodicity = 0,f1 and cv,0.668 +- 0.239 108,gp,kernel = exp_sine_squared; length_scale = 0.0124348843377; periodicity = 0,f1 and cv,0.324 +- 0.367 109,mlp,_scale = True; activation = tanh; alpha = 0.0071096109221; batch_size = auto; hidden_layer_sizes[0] = 239; hidden_layer_sizes[1] = 179; hidden_layer_sizes[2] = 50; learning_rate = invscaling; learning_rate_init = 0.851048113402; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.722 +- 0.102 110,mlp,_scale = True; activation = tanh; alpha = 0.00624666516271; batch_size = auto; hidden_layer_sizes[0] = 84; hidden_layer_sizes[1] = 289; hidden_layer_sizes[2] = 188; learning_rate = invscaling; learning_rate_init = 0.22508895672; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.707 +- 0.331 111,mlp,_scale = True; activation = logistic; alpha = 0.00545160793444; batch_size = auto; beta_1 = 0.921522650053; beta_2 = 0.885952281926; hidden_layer_sizes[0] = 97; hidden_layer_sizes[1] = 293; learning_rate_init = 0.699397950919; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.410 +- 0.670 112,mlp,_scale = True; activation = logistic; alpha = 0.00773926142465; batch_size = auto; beta_1 = 0.962469816726; beta_2 = 0.857047078236; hidden_layer_sizes[0] = 128; hidden_layer_sizes[1] = 16; learning_rate_init = 0.48692840029; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.417 +- 0.683 113,svm,C = 3.41895813938e-05; _scale = True; cache_size = 15000; class_weight = balanced; kernel = linear; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.000 +- 0.000 114,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 15; weights = uniform,f1 and cv,0.737 +- 0.252 115,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 3; weights = uniform,f1 and cv,0.740 +- 0.163 116,mlp,_scale = True; activation = logistic; alpha = 0.00634399261369; batch_size = auto; hidden_layer_sizes[0] = 154; hidden_layer_sizes[1] = 222; hidden_layer_sizes[2] = 251; learning_rate = adaptive; learning_rate_init = 0.650390099442; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.440 +- 0.719 117,mlp,_scale = True; activation = logistic; alpha = 0.0076146680887; batch_size = auto; hidden_layer_sizes[0] = 149; hidden_layer_sizes[1] = 12; hidden_layer_sizes[2] = 255; learning_rate = adaptive; learning_rate_init = 0.404560346859; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.267 +- 0.653 118,svm,C = 0.000620649616089; _scale = True; cache_size = 15000; class_weight = balanced; gamma = 31.6556705129; kernel = rbf; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.400 +- 0.653 119,svm,C = 0.0022628323725; _scale = True; cache_size = 15000; class_weight = balanced; gamma = 0.105226970249; kernel = rbf; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.133 +- 0.533 120,mlp,_scale = True; activation = relu; alpha = 0.00569511782952; batch_size = auto; hidden_layer_sizes[0] = 4; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.701 +- 0.148 121,mlp,_scale = True; activation = relu; alpha = 0.00341068824745; batch_size = auto; hidden_layer_sizes[0] = 68; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.715 +- 0.249 122,mlp,_scale = True; activation = logistic; alpha = 0.00109553986077; batch_size = auto; hidden_layer_sizes[0] = 18; learning_rate = invscaling; learning_rate_init = 0.16996237031; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.648 +- 0.076 123,mlp,_scale = True; activation = logistic; alpha = 0.00410451928098; batch_size = auto; hidden_layer_sizes[0] = 267; learning_rate = invscaling; learning_rate_init = 0.497287105842; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.787 +- 0.167 124,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 15; weights = distance,f1 and cv,0.702 +- 0.269 125,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 14; weights = distance,f1 and cv,0.682 +- 0.139 126,logreg,C = 0.000214886983356; _scale = True; class_weight = balanced; dual = True; fit_intercept = True; penalty = l2; tol = 0.0606697682009,f1 and cv,0.743 +- 0.086 127,logreg,C = 0.0149215712074; _scale = True; class_weight = balanced; dual = True; fit_intercept = True; penalty = l2; tol = 0.013252790367,f1 and cv,0.772 +- 0.200 128,mlp,_scale = True; activation = logistic; alpha = 0.00674379437133; batch_size = auto; hidden_layer_sizes[0] = 234; learning_rate = adaptive; learning_rate_init = 0.315733576239; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.256 +- 0.629 129,mlp,_scale = True; activation = logistic; alpha = 0.00225251596382; batch_size = auto; hidden_layer_sizes[0] = 296; learning_rate = adaptive; learning_rate_init = 0.117927780645; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.400 +- 0.653 130,mlp,_scale = True; activation = tanh; alpha = 0.00250989500273; batch_size = auto; hidden_layer_sizes[0] = 261; hidden_layer_sizes[1] = 29; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.765 +- 0.164 131,mlp,_scale = True; activation = tanh; alpha = 0.00717527438859; batch_size = auto; hidden_layer_sizes[0] = 281; hidden_layer_sizes[1] = 21; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.626 +- 0.161 132,mlp,_scale = True; activation = relu; alpha = 0.00627663522928; batch_size = auto; hidden_layer_sizes[0] = 7; hidden_layer_sizes[1] = 57; hidden_layer_sizes[2] = 287; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.737 +- 0.290 133,mlp,_scale = True; activation = relu; alpha = 0.00877694108375; batch_size = auto; hidden_layer_sizes[0] = 188; hidden_layer_sizes[1] = 285; hidden_layer_sizes[2] = 287; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.719 +- 0.477 134,mlp,_scale = True; activation = logistic; alpha = 0.00573644572307; batch_size = auto; hidden_layer_sizes[0] = 263; hidden_layer_sizes[1] = 108; learning_rate = invscaling; learning_rate_init = 0.409766285581; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.240 +- 0.640 135,mlp,_scale = True; activation = logistic; alpha = 0.000438855779034; batch_size = auto; hidden_layer_sizes[0] = 120; hidden_layer_sizes[1] = 262; learning_rate = invscaling; learning_rate_init = 0.595116141461; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.246 +- 0.603 136,mlp,_scale = True; activation = identity; alpha = 0.00498270430181; batch_size = auto; hidden_layer_sizes[0] = 41; hidden_layer_sizes[1] = 145; learning_rate = adaptive; learning_rate_init = 0.258447206553; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.722 +- 0.491 137,mlp,_scale = True; activation = identity; alpha = 0.00843062651055; batch_size = auto; hidden_layer_sizes[0] = 285; hidden_layer_sizes[1] = 250; learning_rate = adaptive; learning_rate_init = 0.200867030817; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.665 +- 0.248 138,mlp,_scale = True; activation = tanh; alpha = 0.00388333311812; batch_size = auto; beta_1 = 0.871947033336; beta_2 = 0.897936169998; hidden_layer_sizes[0] = 78; hidden_layer_sizes[1] = 184; hidden_layer_sizes[2] = 241; learning_rate_init = 0.339093791529; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.394 +- 0.370 139,mlp,_scale = True; activation = tanh; alpha = 0.00254041083504; batch_size = auto; beta_1 = 0.890001067675; beta_2 = 0.995239587889; hidden_layer_sizes[0] = 134; hidden_layer_sizes[1] = 138; hidden_layer_sizes[2] = 298; learning_rate_init = 0.6329508392; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.720 +- 0.249 140,logreg,C = 0.000169227404116; _scale = True; class_weight = balanced; dual = False; fit_intercept = True; penalty = l2; tol = 4.40641336764e-05,f1 and cv,0.679 +- 0.189 141,logreg,C = 8145.17905037; _scale = True; class_weight = balanced; dual = False; fit_intercept = True; penalty = l2; tol = 1.09895176679,f1 and cv,0.805 +- 0.245 142,mlp,_scale = True; activation = tanh; alpha = 0.00254330722049; batch_size = auto; hidden_layer_sizes[0] = 136; learning_rate = constant; learning_rate_init = 0.917409557426; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.894 +- 0.194 143,mlp,_scale = True; activation = tanh; alpha = 0.00258248944698; batch_size = auto; hidden_layer_sizes[0] = 277; learning_rate = constant; learning_rate_init = 0.0852553336674; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.776 +- 0.231 144,knn,_scale = True; algorithm = kd_tree; leaf_size = 38; metric = chebyshev; n_neighbors = 6; weights = distance,f1 and cv,0.741 +- 0.123 145,knn,_scale = True; algorithm = kd_tree; leaf_size = 7; metric = chebyshev; n_neighbors = 12; weights = distance,f1 and cv,0.715 +- 0.189 146,logreg,C = 5936.16635027; _scale = True; class_weight = balanced; dual = False; fit_intercept = False; penalty = l2; tol = 0.000765762014002,f1 and cv,0.714 +- 0.486 147,logreg,C = 106.176591673; _scale = True; class_weight = balanced; dual = False; fit_intercept = False; penalty = l2; tol = 634.086502893,f1 and cv,0.000 +- 0.000 148,knn,_scale = True; algorithm = ball_tree; leaf_size = 36; metric = minkowski; n_neighbors = 19; p = 2; weights = distance,f1 and cv,0.736 +- 0.138 149,knn,_scale = True; algorithm = ball_tree; leaf_size = 27; metric = minkowski; n_neighbors = 17; p = 2; weights = distance,f1 and cv,0.785 +- 0.149 150,mlp,_scale = True; activation = tanh; alpha = 0.00128966913907; batch_size = auto; hidden_layer_sizes[0] = 156; learning_rate = adaptive; learning_rate_init = 0.393032014951; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.838 +- 0.191 151,mlp,_scale = True; activation = tanh; alpha = 0.00846265747264; batch_size = auto; hidden_layer_sizes[0] = 137; learning_rate = adaptive; learning_rate_init = 0.937994496757; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.648 +- 0.198 152,knn,_scale = True; algorithm = kd_tree; leaf_size = 48; metric = euclidean; n_neighbors = 3; weights = uniform,f1 and cv,0.761 +- 0.347 153,knn,_scale = True; algorithm = kd_tree; leaf_size = 11; metric = euclidean; n_neighbors = 4; weights = uniform,f1 and cv,0.646 +- 0.487 154,svm,C = 0.00967371320032; _scale = True; cache_size = 15000; class_weight = balanced; kernel = linear; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.699 +- 0.361 155,knn,_scale = True; algorithm = ball_tree; leaf_size = 3; metric = minkowski; n_neighbors = 3; p = 2; weights = uniform,f1 and cv,0.620 +- 0.388 156,knn,_scale = True; algorithm = ball_tree; leaf_size = 3; metric = minkowski; n_neighbors = 10; p = 2; weights = uniform,f1 and cv,0.693 +- 0.136 157,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 20; p = 3; weights = distance,f1 and cv,0.749 +- 0.297 158,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 10; p = 1; weights = distance,f1 and cv,0.686 +- 0.187 159,svm,C = 3.08767056789e-05; _scale = True; cache_size = 15000; class_weight = balanced; coef0 = -500; gamma = 0.000157995812159; kernel = sigmoid; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.000 +- 0.000 160,gp,kernel = rbf,f1 and cv,0.160 +- 0.392 161,mlp,_scale = True; activation = identity; alpha = 0.00409914752862; batch_size = auto; hidden_layer_sizes[0] = 10; hidden_layer_sizes[1] = 124; hidden_layer_sizes[2] = 198; learning_rate = adaptive; learning_rate_init = 0.803910784878; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.000 +- 0.000 162,mlp,_scale = True; activation = relu; alpha = 0.000722975852489; batch_size = auto; hidden_layer_sizes[0] = 18; learning_rate = adaptive; learning_rate_init = 0.0589195024231; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.881 +- 0.162 163,mlp,_scale = True; activation = relu; alpha = 0.00276069690004; batch_size = auto; hidden_layer_sizes[0] = 98; learning_rate = adaptive; learning_rate_init = 0.582401488601; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.682 +- 0.486 164,mlp,_scale = True; activation = identity; alpha = 0.00290322408132; batch_size = auto; hidden_layer_sizes[0] = 145; hidden_layer_sizes[1] = 56; learning_rate = constant; learning_rate_init = 0.630712740026; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.634 +- 0.678 165,mlp,_scale = True; activation = identity; alpha = 0.0059401822615; batch_size = auto; hidden_layer_sizes[0] = 242; hidden_layer_sizes[1] = 69; learning_rate = constant; learning_rate_init = 0.783875604546; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.414 +- 0.524 166,mlp,_scale = True; activation = logistic; alpha = 0.00734691511846; batch_size = auto; beta_1 = 0.979837055634; beta_2 = 0.855015251651; hidden_layer_sizes[0] = 167; learning_rate_init = 0.0168683883515; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.747 +- 0.236 167,mlp,_scale = True; activation = logistic; alpha = 0.00183632302307; batch_size = auto; beta_1 = 0.906403478475; beta_2 = 0.829474115993; hidden_layer_sizes[0] = 53; learning_rate_init = 0.345052614046; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.571 +- 0.628 168,rf,criterion = gini; max_depth = 9; max_features = 0.804958345337; min_samples_leaf = 3; n_estimators = 100; n_jobs = -1,f1 and cv,0.813 +- 0.389 169,rf,criterion = gini; max_depth = 8; max_features = 0.307667280453; min_samples_leaf = 3; n_estimators = 100; n_jobs = -1,f1 and cv,0.848 +- 0.111 170,mlp,_scale = True; activation = relu; alpha = 0.0076573246351; batch_size = auto; hidden_layer_sizes[0] = 73; hidden_layer_sizes[1] = 151; hidden_layer_sizes[2] = 64; learning_rate = constant; learning_rate_init = 0.0473321470211; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.681 +- 0.295 171,mlp,_scale = True; activation = relu; alpha = 0.000685877164814; batch_size = auto; hidden_layer_sizes[0] = 200; hidden_layer_sizes[1] = 273; hidden_layer_sizes[2] = 93; learning_rate = constant; learning_rate_init = 0.779631789596; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.709 +- 0.213 172,svm,C = 227.602880751; _scale = True; cache_size = 15000; class_weight = balanced; coef0 = 334; degree = 5; gamma = 0.000267654535605; kernel = poly; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.567 +- 0.383 173,svm,C = 7.42631608244; _scale = True; cache_size = 15000; class_weight = balanced; coef0 = 953; degree = 3; gamma = 114.230318384; kernel = poly; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.831 +- 0.336 174,mlp,_scale = True; activation = logistic; alpha = 0.00456440558355; batch_size = auto; hidden_layer_sizes[0] = 56; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.754 +- 0.107 175,mlp,_scale = True; activation = logistic; alpha = 0.00349695731538; batch_size = auto; hidden_layer_sizes[0] = 299; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.718 +- 0.289 176,mlp,_scale = True; activation = identity; alpha = 0.00645683821149; batch_size = auto; hidden_layer_sizes[0] = 179; learning_rate = adaptive; learning_rate_init = 0.21123025271; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.648 +- 0.479 177,mlp,_scale = True; activation = identity; alpha = 0.00219027581371; batch_size = auto; hidden_layer_sizes[0] = 127; learning_rate = adaptive; learning_rate_init = 0.811623805271; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.642 +- 0.248 178,mlp,_scale = True; activation = logistic; alpha = 0.000441180339435; batch_size = auto; hidden_layer_sizes[0] = 281; hidden_layer_sizes[1] = 294; hidden_layer_sizes[2] = 147; learning_rate = constant; learning_rate_init = 0.937291815316; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.533 +- 0.533 179,mlp,_scale = True; activation = logistic; alpha = 0.000843572763542; batch_size = auto; hidden_layer_sizes[0] = 296; hidden_layer_sizes[1] = 169; hidden_layer_sizes[2] = 6; learning_rate = constant; learning_rate_init = 0.596167630544; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.390 +- 0.505 180,mlp,_scale = True; activation = relu; alpha = 0.00198848567947; batch_size = auto; hidden_layer_sizes[0] = 249; hidden_layer_sizes[1] = 238; hidden_layer_sizes[2] = 194; learning_rate = adaptive; learning_rate_init = 0.905428347836; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.835 +- 0.144 181,mlp,_scale = True; activation = relu; alpha = 0.00633666049544; batch_size = auto; hidden_layer_sizes[0] = 264; hidden_layer_sizes[1] = 85; hidden_layer_sizes[2] = 254; learning_rate = adaptive; learning_rate_init = 0.645189174426; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.753 +- 0.305 182,mlp,_scale = True; activation = tanh; alpha = 0.00264250357265; batch_size = auto; beta_1 = 0.888232994177; beta_2 = 0.93918716222; hidden_layer_sizes[0] = 252; learning_rate_init = 0.633018848284; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.766 +- 0.186 183,mlp,_scale = True; activation = tanh; alpha = 0.00352913577746; batch_size = auto; beta_1 = 0.963429454334; beta_2 = 0.815363692365; hidden_layer_sizes[0] = 264; learning_rate_init = 0.7703991828; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.755 +- 0.329 184,mlp,_scale = True; activation = logistic; alpha = 0.00559135751197; batch_size = auto; hidden_layer_sizes[0] = 64; hidden_layer_sizes[1] = 200; learning_rate = adaptive; learning_rate_init = 0.984715966475; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.279 +- 0.684 185,mlp,_scale = True; activation = logistic; alpha = 0.00602061069601; batch_size = auto; hidden_layer_sizes[0] = 74; hidden_layer_sizes[1] = 52; learning_rate = adaptive; learning_rate_init = 0.438185966665; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.267 +- 0.653 186,mlp,_scale = True; activation = tanh; alpha = 0.00473516959304; batch_size = auto; hidden_layer_sizes[0] = 185; hidden_layer_sizes[1] = 23; hidden_layer_sizes[2] = 298; learning_rate = constant; learning_rate_init = 0.345744308056; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.770 +- 0.200 187,mlp,_scale = True; activation = tanh; alpha = 0.00449996604742; batch_size = auto; hidden_layer_sizes[0] = 49; hidden_layer_sizes[1] = 160; hidden_layer_sizes[2] = 255; learning_rate = constant; learning_rate_init = 0.546664881572; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.669 +- 0.398 188,gp,kernel = matern; nu = 1.5,f1 and cv,0.474 +- 0.350 189,dt,criterion = entropy; max_depth = 2; max_features = 0.816003602121; min_samples_leaf = 2; min_samples_split = 2,f1 and cv,0.702 +- 0.228 190,dt,criterion = entropy; max_depth = 4; max_features = 0.175003521757; min_samples_leaf = 2; min_samples_split = 3,f1 and cv,0.631 +- 0.393 191,knn,_scale = True; algorithm = kd_tree; leaf_size = 29; metric = minkowski; n_neighbors = 6; p = 3; weights = uniform,f1 and cv,0.755 +- 0.286 192,knn,_scale = True; algorithm = kd_tree; leaf_size = 20; metric = minkowski; n_neighbors = 14; p = 3; weights = uniform,f1 and cv,0.775 +- 0.227 193,mlp,_scale = True; activation = identity; alpha = 0.00784529159537; batch_size = auto; hidden_layer_sizes[0] = 252; hidden_layer_sizes[1] = 130; hidden_layer_sizes[2] = 46; learning_rate = invscaling; learning_rate_init = 0.629852682622; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.663 +- 0.271 194,mlp,_scale = True; activation = identity; alpha = 0.000435166593065; batch_size = auto; hidden_layer_sizes[0] = 27; hidden_layer_sizes[1] = 213; hidden_layer_sizes[2] = 294; learning_rate = invscaling; learning_rate_init = 0.374984887497; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.652 +- 0.386 195,mlp,_scale = True; activation = logistic; alpha = 0.00876333613234; batch_size = auto; hidden_layer_sizes[0] = 114; hidden_layer_sizes[1] = 250; hidden_layer_sizes[2] = 35; learning_rate = invscaling; learning_rate_init = 0.383422487694; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.728 +- 0.043 196,mlp,_scale = True; activation = logistic; alpha = 0.000302510140249; batch_size = auto; hidden_layer_sizes[0] = 287; hidden_layer_sizes[1] = 109; hidden_layer_sizes[2] = 107; learning_rate = invscaling; learning_rate_init = 0.297023534052; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.686 +- 0.047 197,mlp,_scale = True; activation = identity; alpha = 0.00096205457469; batch_size = auto; hidden_layer_sizes[0] = 91; hidden_layer_sizes[1] = 139; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.826 +- 0.148 198,mlp,_scale = True; activation = identity; alpha = 0.000503623924711; batch_size = auto; hidden_layer_sizes[0] = 104; hidden_layer_sizes[1] = 173; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.761 +- 0.178 199,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 6; weights = uniform,f1 and cv,0.720 +- 0.156 ================================================ FILE: public/viz/datarun3_gp.csv ================================================ trail ID,method,parameters,metrics,performance 0,mlp,_scale = True; activation = tanh; alpha = 0.00781487257724; batch_size = auto; hidden_layer_sizes[0] = 272; hidden_layer_sizes[1] = 8; learning_rate = constant; learning_rate_init = 0.0689462938739; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.679 +- 0.214 1,mlp,_scale = True; activation = tanh; alpha = 0.00543619316979; batch_size = auto; hidden_layer_sizes[0] = 259; hidden_layer_sizes[1] = 270; learning_rate = constant; learning_rate_init = 0.687239967578; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.695 +- 0.480 2,mlp,_scale = True; activation = tanh; alpha = 0.00720261760942; batch_size = auto; hidden_layer_sizes[0] = 261; hidden_layer_sizes[1] = 264; learning_rate = constant; learning_rate_init = 0.63223458188; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.808 +- 0.364 3,mlp,_scale = True; activation = tanh; alpha = 0.000188613090589; batch_size = auto; hidden_layer_sizes[0] = 124; hidden_layer_sizes[1] = 62; learning_rate = constant; learning_rate_init = 0.47053941583; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.699 +- 0.418 4,mlp,_scale = True; activation = logistic; alpha = 0.0013054020274; batch_size = auto; hidden_layer_sizes[0] = 282; hidden_layer_sizes[1] = 274; hidden_layer_sizes[2] = 31; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.781 +- 0.378 5,mlp,_scale = True; activation = logistic; alpha = 0.00620897960824; batch_size = auto; hidden_layer_sizes[0] = 129; hidden_layer_sizes[1] = 259; hidden_layer_sizes[2] = 81; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.751 +- 0.414 6,mlp,_scale = True; activation = logistic; alpha = 0.00763163758209; batch_size = auto; hidden_layer_sizes[0] = 152; hidden_layer_sizes[1] = 54; hidden_layer_sizes[2] = 88; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.707 +- 0.480 7,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 1; weights = uniform,f1 and cv,0.616 +- 0.362 8,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 11; weights = uniform,f1 and cv,0.737 +- 0.128 9,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 11; weights = uniform,f1 and cv,0.703 +- 0.453 10,mlp,_scale = True; activation = relu; alpha = 0.00646205227618; batch_size = auto; hidden_layer_sizes[0] = 126; learning_rate = constant; learning_rate_init = 0.885586585832; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.806 +- 0.183 11,mlp,_scale = True; activation = relu; alpha = 0.00131287408101; batch_size = auto; hidden_layer_sizes[0] = 255; learning_rate = constant; learning_rate_init = 0.251704996158; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.655 +- 0.201 12,mlp,_scale = True; activation = relu; alpha = 0.00325404130072; batch_size = auto; hidden_layer_sizes[0] = 126; learning_rate = constant; learning_rate_init = 0.644087243875; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.748 +- 0.318 13,svm,C = 6.75579369313e-05; _scale = True; cache_size = 15000; class_weight = balanced; gamma = 1.39351729562; kernel = rbf; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.646 +- 0.050 14,svm,C = 3043.0257582; _scale = True; cache_size = 15000; class_weight = balanced; gamma = 54298.6093465; kernel = rbf; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.000 +- 0.000 15,gp,kernel = matern; nu = 2.5,f1 and cv,0.584 +- 0.164 16,mlp,_scale = True; activation = relu; alpha = 0.00159248380823; batch_size = auto; hidden_layer_sizes[0] = 291; learning_rate = invscaling; learning_rate_init = 0.829468493812; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.785 +- 0.306 17,mlp,_scale = True; activation = relu; alpha = 0.000701749141837; batch_size = auto; hidden_layer_sizes[0] = 26; learning_rate = invscaling; learning_rate_init = 0.322870349042; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.817 +- 0.287 18,mlp,_scale = True; activation = relu; alpha = 0.00588022555101; batch_size = auto; hidden_layer_sizes[0] = 26; learning_rate = invscaling; learning_rate_init = 0.298954761221; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.681 +- 0.210 19,knn,_scale = True; algorithm = ball_tree; leaf_size = 12; metric = chebyshev; n_neighbors = 18; weights = uniform,f1 and cv,0.713 +- 0.350 20,knn,_scale = True; algorithm = ball_tree; leaf_size = 49; metric = chebyshev; n_neighbors = 18; weights = uniform,f1 and cv,0.684 +- 0.338 21,mlp,_scale = True; activation = identity; alpha = 0.000748664694229; batch_size = auto; hidden_layer_sizes[0] = 105; hidden_layer_sizes[1] = 195; hidden_layer_sizes[2] = 136; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.647 +- 0.196 22,mlp,_scale = True; activation = identity; alpha = 0.000452395637246; batch_size = auto; hidden_layer_sizes[0] = 68; hidden_layer_sizes[1] = 23; hidden_layer_sizes[2] = 281; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.728 +- 0.174 23,mlp,_scale = True; activation = identity; alpha = 0.00161792293576; batch_size = auto; hidden_layer_sizes[0] = 195; learning_rate = constant; learning_rate_init = 0.365688011884; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.639 +- 0.167 24,mlp,_scale = True; activation = identity; alpha = 0.00349736877457; batch_size = auto; hidden_layer_sizes[0] = 12; learning_rate = constant; learning_rate_init = 0.770069409043; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.716 +- 0.285 25,svm,C = 0.0144774687611; _scale = True; cache_size = 15000; class_weight = balanced; coef0 = -897; degree = 5; gamma = 9.63953019022e-05; kernel = poly; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.654 +- 0.328 26,svm,C = 68361.5583244; _scale = True; cache_size = 15000; class_weight = balanced; coef0 = -681; degree = 2; gamma = 6976.80395927; kernel = poly; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.699 +- 0.243 27,mlp,_scale = True; activation = logistic; alpha = 0.00521335944684; batch_size = auto; beta_1 = 0.939521502808; beta_2 = 0.879544826331; hidden_layer_sizes[0] = 37; hidden_layer_sizes[1] = 145; learning_rate_init = 0.824208604962; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.646 +- 0.050 28,mlp,_scale = True; activation = logistic; alpha = 0.00227190507883; batch_size = auto; beta_1 = 0.898338191366; beta_2 = 0.910334662878; hidden_layer_sizes[0] = 154; hidden_layer_sizes[1] = 98; learning_rate_init = 0.0333173604139; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.482 +- 0.802 29,rf,criterion = gini; max_depth = 3; max_features = 0.872569897951; min_samples_leaf = 1; n_estimators = 100; n_jobs = -1,f1 and cv,0.698 +- 0.248 30,rf,criterion = gini; max_depth = 3; max_features = 0.412701118037; min_samples_leaf = 3; n_estimators = 100; n_jobs = -1,f1 and cv,0.802 +- 0.247 31,logreg,C = 5.5359579201; _scale = True; class_weight = balanced; fit_intercept = False; penalty = l1; tol = 1.95315997637e-05,f1 and cv,0.700 +- 0.448 32,logreg,C = 0.0392440215315; _scale = True; class_weight = balanced; fit_intercept = False; penalty = l1; tol = 16758.1398184,f1 and cv,0.000 +- 0.000 33,gnb,_scale_minmax = True,f1 and cv,0.746 +- 0.162 34,mlp,_scale = True; activation = relu; alpha = 0.00105918357866; batch_size = auto; hidden_layer_sizes[0] = 137; hidden_layer_sizes[1] = 271; learning_rate = constant; learning_rate_init = 0.603980751833; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.758 +- 0.169 35,mlp,_scale = True; activation = relu; alpha = 0.00893820258848; batch_size = auto; hidden_layer_sizes[0] = 4; hidden_layer_sizes[1] = 285; learning_rate = constant; learning_rate_init = 0.622789740096; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.574 +- 0.396 36,knn,_scale = True; algorithm = ball_tree; leaf_size = 22; metric = minkowski; n_neighbors = 11; p = 1; weights = distance,f1 and cv,0.661 +- 0.558 37,knn,_scale = True; algorithm = ball_tree; leaf_size = 10; metric = minkowski; n_neighbors = 10; p = 1; weights = distance,f1 and cv,0.787 +- 0.198 38,logreg,C = 1672.72436359; _scale = True; class_weight = balanced; dual = True; fit_intercept = False; penalty = l2; tol = 27100.381445,f1 and cv,0.850 +- 0.400 39,logreg,C = 0.00630214753888; _scale = True; class_weight = balanced; dual = True; fit_intercept = False; penalty = l2; tol = 72.2322909218,f1 and cv,0.690 +- 0.399 40,mlp,_scale = True; activation = relu; alpha = 0.00671090557438; batch_size = auto; hidden_layer_sizes[0] = 169; hidden_layer_sizes[1] = 245; learning_rate = invscaling; learning_rate_init = 0.320680427153; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.712 +- 0.428 41,mlp,_scale = True; activation = relu; alpha = 0.00166052683936; batch_size = auto; hidden_layer_sizes[0] = 57; hidden_layer_sizes[1] = 21; learning_rate = invscaling; learning_rate_init = 0.3787697594; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.715 +- 0.249 42,mlp,_scale = True; activation = identity; alpha = 0.00127587777598; batch_size = auto; hidden_layer_sizes[0] = 55; hidden_layer_sizes[1] = 261; hidden_layer_sizes[2] = 15; learning_rate = invscaling; learning_rate_init = 0.979302563433; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.379 +- 0.414 43,mlp,_scale = True; activation = identity; alpha = 0.00836452785254; batch_size = auto; hidden_layer_sizes[0] = 10; hidden_layer_sizes[1] = 294; hidden_layer_sizes[2] = 24; learning_rate = invscaling; learning_rate_init = 0.0867527859754; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.683 +- 0.395 44,mlp,_scale = True; activation = tanh; alpha = 0.00566483744806; batch_size = auto; beta_1 = 0.941060527496; beta_2 = 0.886333999219; hidden_layer_sizes[0] = 179; hidden_layer_sizes[1] = 163; learning_rate_init = 0.104313563407; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.737 +- 0.128 45,mlp,_scale = True; activation = tanh; alpha = 0.0014836698397; batch_size = auto; beta_1 = 0.866515711814; beta_2 = 0.963674603878; hidden_layer_sizes[0] = 162; hidden_layer_sizes[1] = 229; learning_rate_init = 0.239838223712; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.548 +- 0.255 46,logreg,C = 99.9229727841; _scale = True; class_weight = balanced; dual = False; fit_intercept = False; penalty = l2; tol = 244.185565265,f1 and cv,0.000 +- 0.000 47,mlp,_scale = True; activation = tanh; alpha = 0.00393734628798; batch_size = auto; hidden_layer_sizes[0] = 218; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.597 +- 0.255 48,mlp,_scale = True; activation = tanh; alpha = 0.00466952886902; batch_size = auto; hidden_layer_sizes[0] = 119; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.740 +- 0.502 49,mlp,_scale = True; activation = relu; alpha = 0.00369484939849; batch_size = auto; hidden_layer_sizes[0] = 172; hidden_layer_sizes[1] = 5; hidden_layer_sizes[2] = 117; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.760 +- 0.292 50,mlp,_scale = True; activation = relu; alpha = 0.00148965686068; batch_size = auto; hidden_layer_sizes[0] = 228; hidden_layer_sizes[1] = 258; hidden_layer_sizes[2] = 128; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.718 +- 0.239 51,mlp,_scale = True; activation = tanh; alpha = 0.00463285433881; batch_size = auto; hidden_layer_sizes[0] = 17; hidden_layer_sizes[1] = 60; learning_rate = invscaling; learning_rate_init = 0.677560559236; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.713 +- 0.142 52,mlp,_scale = True; activation = tanh; alpha = 0.00798742244388; batch_size = auto; hidden_layer_sizes[0] = 200; hidden_layer_sizes[1] = 130; learning_rate = invscaling; learning_rate_init = 0.980172261286; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.796 +- 0.289 53,mlp,_scale = True; activation = identity; alpha = 0.00561226799357; batch_size = auto; hidden_layer_sizes[0] = 36; hidden_layer_sizes[1] = 113; hidden_layer_sizes[2] = 51; learning_rate = constant; learning_rate_init = 0.359050106477; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.704 +- 0.227 54,mlp,_scale = True; activation = identity; alpha = 0.00522574484514; batch_size = auto; hidden_layer_sizes[0] = 32; hidden_layer_sizes[1] = 232; hidden_layer_sizes[2] = 184; learning_rate = constant; learning_rate_init = 0.390107009433; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.371 +- 0.732 55,knn,_scale = True; algorithm = kd_tree; leaf_size = 42; metric = minkowski; n_neighbors = 9; p = 2; weights = distance,f1 and cv,0.601 +- 0.126 56,knn,_scale = True; algorithm = kd_tree; leaf_size = 49; metric = minkowski; n_neighbors = 10; p = 2; weights = distance,f1 and cv,0.755 +- 0.339 57,mlp,_scale = True; activation = logistic; alpha = 0.00493108097032; batch_size = auto; hidden_layer_sizes[0] = 67; hidden_layer_sizes[1] = 135; learning_rate = invscaling; learning_rate_init = 0.0413872867992; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.707 +- 0.042 58,mlp,_scale = True; activation = logistic; alpha = 0.00749174273334; batch_size = auto; hidden_layer_sizes[0] = 244; hidden_layer_sizes[1] = 44; learning_rate = invscaling; learning_rate_init = 0.0678221650796; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.400 +- 0.653 59,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 4; weights = distance,f1 and cv,0.728 +- 0.421 60,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 10; weights = distance,f1 and cv,0.630 +- 0.485 61,svm,C = 108.321856002; _scale = True; cache_size = 15000; class_weight = balanced; kernel = linear; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.676 +- 0.306 62,svm,C = 0.22058306113; _scale = True; cache_size = 15000; class_weight = balanced; kernel = linear; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.522 +- 0.548 63,logreg,C = 402.075650797; _scale = True; class_weight = balanced; dual = False; fit_intercept = False; penalty = l2; tol = 422.081243442,f1 and cv,0.000 +- 0.000 64,mlp,_scale = True; activation = relu; alpha = 0.00447154493894; batch_size = auto; hidden_layer_sizes[0] = 133; hidden_layer_sizes[1] = 227; hidden_layer_sizes[2] = 48; learning_rate = adaptive; learning_rate_init = 0.435971730209; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.665 +- 0.459 65,mlp,_scale = True; activation = relu; alpha = 0.00877916277485; batch_size = auto; hidden_layer_sizes[0] = 150; hidden_layer_sizes[1] = 37; hidden_layer_sizes[2] = 274; learning_rate = adaptive; learning_rate_init = 0.0572993617058; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.672 +- 0.466 66,rf,criterion = entropy; max_depth = 5; max_features = 0.556456563127; min_samples_leaf = 2; n_estimators = 100; n_jobs = -1,f1 and cv,0.669 +- 0.443 67,rf,criterion = entropy; max_depth = 2; max_features = 0.98545646594; min_samples_leaf = 2; n_estimators = 100; n_jobs = -1,f1 and cv,0.726 +- 0.415 68,dt,criterion = entropy; max_depth = 5; max_features = 0.900550608963; min_samples_leaf = 1; min_samples_split = 3,f1 and cv,0.640 +- 0.491 69,dt,criterion = entropy; max_depth = 10; max_features = 0.910163275881; min_samples_leaf = 1; min_samples_split = 2,f1 and cv,0.632 +- 0.387 70,mlp,_scale = True; activation = identity; alpha = 0.00682078560952; batch_size = auto; beta_1 = 0.969193004536; beta_2 = 0.958225007994; hidden_layer_sizes[0] = 93; learning_rate_init = 0.913931202199; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.868 +- 0.177 71,mlp,_scale = True; activation = identity; alpha = 0.00645779541489; batch_size = auto; beta_1 = 0.913476793807; beta_2 = 0.949688737801; hidden_layer_sizes[0] = 102; learning_rate_init = 0.133057916229; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.680 +- 0.422 72,gp,kernel = rbf,f1 and cv,0.000 +- 0.000 73,mlp,_scale = True; activation = logistic; alpha = 0.00446415534919; batch_size = auto; hidden_layer_sizes[0] = 270; learning_rate = adaptive; learning_rate_init = 0.595166464296; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.565 +- 0.566 74,mlp,_scale = True; activation = logistic; alpha = 0.00047361483565; batch_size = auto; hidden_layer_sizes[0] = 199; learning_rate = adaptive; learning_rate_init = 0.115392078419; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.742 +- 0.323 75,mlp,_scale = True; activation = identity; alpha = 0.00334901377344; batch_size = auto; hidden_layer_sizes[0] = 191; hidden_layer_sizes[1] = 196; learning_rate = invscaling; learning_rate_init = 0.385631095821; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.695 +- 0.422 76,mlp,_scale = True; activation = identity; alpha = 0.000729809390053; batch_size = auto; hidden_layer_sizes[0] = 191; hidden_layer_sizes[1] = 9; learning_rate = invscaling; learning_rate_init = 0.376426628893; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.771 +- 0.272 77,mlp,_scale = True; activation = relu; alpha = 0.00677952040327; batch_size = auto; hidden_layer_sizes[0] = 78; hidden_layer_sizes[1] = 203; learning_rate = adaptive; learning_rate_init = 0.552285906706; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.705 +- 0.236 78,mlp,_scale = True; activation = relu; alpha = 0.00484606282802; batch_size = auto; hidden_layer_sizes[0] = 121; hidden_layer_sizes[1] = 32; learning_rate = adaptive; learning_rate_init = 0.525993295773; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.669 +- 0.394 79,knn,_scale = True; algorithm = kd_tree; leaf_size = 38; metric = minkowski; n_neighbors = 1; p = 2; weights = uniform,f1 and cv,0.624 +- 0.254 80,knn,_scale = True; algorithm = kd_tree; leaf_size = 36; metric = minkowski; n_neighbors = 6; p = 3; weights = uniform,f1 and cv,0.736 +- 0.408 81,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 9; weights = distance,f1 and cv,0.710 +- 0.346 82,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 20; weights = distance,f1 and cv,0.875 +- 0.077 83,mlp,_scale = True; activation = logistic; alpha = 0.00455678708933; batch_size = auto; hidden_layer_sizes[0] = 226; hidden_layer_sizes[1] = 289; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.557 +- 0.301 84,mlp,_scale = True; activation = logistic; alpha = 0.00770313808357; batch_size = auto; hidden_layer_sizes[0] = 114; hidden_layer_sizes[1] = 131; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.703 +- 0.434 85,gp,kernel = exp_sine_squared; length_scale = 88.5811912348; periodicity = 1,f1 and cv,0.000 +- 0.000 86,mlp,_scale = True; activation = identity; alpha = 0.00563614677265; batch_size = auto; hidden_layer_sizes[0] = 225; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.638 +- 0.284 87,mlp,_scale = True; activation = identity; alpha = 0.00530367936218; batch_size = auto; hidden_layer_sizes[0] = 239; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.772 +- 0.212 88,mlp,_scale = True; activation = logistic; alpha = 0.00135750262202; batch_size = auto; hidden_layer_sizes[0] = 201; hidden_layer_sizes[1] = 173; learning_rate = adaptive; learning_rate_init = 0.704545467478; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.267 +- 0.653 89,mlp,_scale = True; activation = logistic; alpha = 0.00781371196677; batch_size = auto; hidden_layer_sizes[0] = 226; hidden_layer_sizes[1] = 129; learning_rate = adaptive; learning_rate_init = 0.38252192812; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.543 +- 0.544 90,mlp,_scale = True; activation = tanh; alpha = 0.000225589838368; batch_size = auto; hidden_layer_sizes[0] = 70; learning_rate = invscaling; learning_rate_init = 0.24047934953; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.796 +- 0.169 91,mlp,_scale = True; activation = tanh; alpha = 0.0014621770276; batch_size = auto; hidden_layer_sizes[0] = 278; learning_rate = invscaling; learning_rate_init = 0.526678709592; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.849 +- 0.222 92,mlp,_scale = True; activation = logistic; alpha = 0.000395881669625; batch_size = auto; beta_1 = 0.977413026071; beta_2 = 0.824084664119; hidden_layer_sizes[0] = 160; hidden_layer_sizes[1] = 153; hidden_layer_sizes[2] = 63; learning_rate_init = 0.908710334663; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.543 +- 0.544 93,mlp,_scale = True; activation = logistic; alpha = 0.000926257945602; batch_size = auto; beta_1 = 0.909017076342; beta_2 = 0.904584995376; hidden_layer_sizes[0] = 208; hidden_layer_sizes[1] = 36; hidden_layer_sizes[2] = 2; learning_rate_init = 0.894332904907; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.279 +- 0.684 94,mlp,_scale = True; activation = tanh; alpha = 0.00752796608981; batch_size = auto; beta_1 = 0.843095206821; beta_2 = 0.954782682046; hidden_layer_sizes[0] = 43; hidden_layer_sizes[1] = 38; hidden_layer_sizes[2] = 272; learning_rate_init = 0.678536955782; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.654 +- 0.538 95,mlp,_scale = True; activation = tanh; alpha = 0.00104497384797; batch_size = auto; beta_1 = 0.946565507377; beta_2 = 0.809265708154; hidden_layer_sizes[0] = 39; hidden_layer_sizes[1] = 238; hidden_layer_sizes[2] = 134; learning_rate_init = 0.176380045981; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.759 +- 0.276 96,knn,_scale = True; algorithm = kd_tree; leaf_size = 35; metric = manhattan; n_neighbors = 7; weights = distance,f1 and cv,0.633 +- 0.311 97,knn,_scale = True; algorithm = kd_tree; leaf_size = 39; metric = manhattan; n_neighbors = 18; weights = distance,f1 and cv,0.895 +- 0.256 98,knn,_scale = True; algorithm = kd_tree; leaf_size = 4; metric = euclidean; n_neighbors = 19; weights = distance,f1 and cv,0.635 +- 0.676 99,knn,_scale = True; algorithm = kd_tree; leaf_size = 18; metric = euclidean; n_neighbors = 5; weights = distance,f1 and cv,0.599 +- 0.519 100,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 6; weights = uniform,f1 and cv,0.653 +- 0.272 101,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 5; weights = uniform,f1 and cv,0.763 +- 0.198 102,logreg,C = 4.97088705431e-05; _scale = True; class_weight = balanced; dual = True; fit_intercept = True; penalty = l2; tol = 222.17699589,f1 and cv,0.744 +- 0.266 103,logreg,C = 0.330721375771; _scale = True; class_weight = balanced; dual = True; fit_intercept = True; penalty = l2; tol = 0.0847406446969,f1 and cv,0.756 +- 0.218 104,mlp,_scale = True; activation = identity; alpha = 0.00388200759279; batch_size = auto; beta_1 = 0.803310010916; beta_2 = 0.847518868014; hidden_layer_sizes[0] = 3; hidden_layer_sizes[1] = 253; hidden_layer_sizes[2] = 240; learning_rate_init = 0.779752504983; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.665 +- 0.304 105,mlp,_scale = True; activation = identity; alpha = 0.00405917657162; batch_size = auto; beta_1 = 0.948791716906; beta_2 = 0.877991922699; hidden_layer_sizes[0] = 211; hidden_layer_sizes[1] = 268; hidden_layer_sizes[2] = 148; learning_rate_init = 0.206409734509; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.621 +- 0.646 106,mlp,_scale = True; activation = logistic; alpha = 0.00107775400387; batch_size = auto; hidden_layer_sizes[0] = 38; hidden_layer_sizes[1] = 260; hidden_layer_sizes[2] = 117; learning_rate = invscaling; learning_rate_init = 0.879719962022; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.585 +- 0.586 107,mlp,_scale = True; activation = logistic; alpha = 0.00746351178429; batch_size = auto; hidden_layer_sizes[0] = 235; hidden_layer_sizes[1] = 209; hidden_layer_sizes[2] = 139; learning_rate = invscaling; learning_rate_init = 0.739358703115; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.565 +- 0.566 108,mlp,_scale = True; activation = relu; alpha = 0.00755618547266; batch_size = auto; beta_1 = 0.818251038404; beta_2 = 0.804836838455; hidden_layer_sizes[0] = 156; hidden_layer_sizes[1] = 292; hidden_layer_sizes[2] = 229; learning_rate_init = 0.231899738619; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.499 +- 0.551 109,mlp,_scale = True; activation = relu; alpha = 0.000890173654937; batch_size = auto; beta_1 = 0.888752607999; beta_2 = 0.905503364471; hidden_layer_sizes[0] = 115; hidden_layer_sizes[1] = 116; hidden_layer_sizes[2] = 74; learning_rate_init = 0.496824150454; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.463 +- 0.593 110,mlp,_scale = True; activation = tanh; alpha = 0.00430648251732; batch_size = auto; hidden_layer_sizes[0] = 57; hidden_layer_sizes[1] = 200; hidden_layer_sizes[2] = 224; learning_rate = invscaling; learning_rate_init = 0.263792190615; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.683 +- 0.377 111,mlp,_scale = True; activation = tanh; alpha = 0.00792514853509; batch_size = auto; hidden_layer_sizes[0] = 58; hidden_layer_sizes[1] = 298; hidden_layer_sizes[2] = 209; learning_rate = invscaling; learning_rate_init = 0.504780015822; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.798 +- 0.417 112,mlp,_scale = True; activation = identity; alpha = 0.000574869927736; batch_size = auto; hidden_layer_sizes[0] = 58; hidden_layer_sizes[1] = 200; learning_rate = constant; learning_rate_init = 0.0847381122613; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.734 +- 0.139 113,mlp,_scale = True; activation = identity; alpha = 0.00748872282397; batch_size = auto; hidden_layer_sizes[0] = 243; hidden_layer_sizes[1] = 215; learning_rate = constant; learning_rate_init = 0.864295574622; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.567 +- 0.265 114,gp,kernel = exp_sine_squared; length_scale = 1.23258725702; periodicity = 1,f1 and cv,0.534 +- 0.554 115,mlp,_scale = True; activation = identity; alpha = 0.00146328031265; batch_size = auto; hidden_layer_sizes[0] = 273; hidden_layer_sizes[1] = 261; hidden_layer_sizes[2] = 17; learning_rate = adaptive; learning_rate_init = 0.662340589203; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.000 +- 0.000 116,mlp,_scale = True; activation = logistic; alpha = 0.00168729100821; batch_size = auto; beta_1 = 0.862405862008; beta_2 = 0.863444265573; hidden_layer_sizes[0] = 90; learning_rate_init = 0.921266595151; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.640 +- 0.676 117,mlp,_scale = True; activation = logistic; alpha = 0.00216221770935; batch_size = auto; beta_1 = 0.854074335995; beta_2 = 0.915921532413; hidden_layer_sizes[0] = 20; learning_rate_init = 0.734002657964; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.718 +- 0.209 118,mlp,_scale = True; activation = identity; alpha = 0.00520025456826; batch_size = auto; hidden_layer_sizes[0] = 165; hidden_layer_sizes[1] = 154; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.716 +- 0.441 119,mlp,_scale = True; activation = identity; alpha = 0.00547849454578; batch_size = auto; hidden_layer_sizes[0] = 162; hidden_layer_sizes[1] = 291; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.758 +- 0.409 120,mlp,_scale = True; activation = relu; alpha = 0.00468474485894; batch_size = auto; hidden_layer_sizes[0] = 160; hidden_layer_sizes[1] = 208; hidden_layer_sizes[2] = 237; learning_rate = constant; learning_rate_init = 0.124026768608; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.775 +- 0.306 121,mlp,_scale = True; activation = relu; alpha = 0.00585513262572; batch_size = auto; hidden_layer_sizes[0] = 216; hidden_layer_sizes[1] = 191; hidden_layer_sizes[2] = 225; learning_rate = constant; learning_rate_init = 0.316155619041; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.742 +- 0.244 122,knn,_scale = True; algorithm = ball_tree; leaf_size = 39; metric = euclidean; n_neighbors = 13; weights = distance,f1 and cv,0.782 +- 0.323 123,knn,_scale = True; algorithm = ball_tree; leaf_size = 29; metric = euclidean; n_neighbors = 20; weights = distance,f1 and cv,0.741 +- 0.164 124,svm,C = 4418.48406248; _scale = True; cache_size = 15000; class_weight = balanced; coef0 = -410; gamma = 0.0128200591314; kernel = sigmoid; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.000 +- 0.000 125,knn,_scale = True; algorithm = ball_tree; leaf_size = 16; metric = chebyshev; n_neighbors = 15; weights = distance,f1 and cv,0.660 +- 0.393 126,knn,_scale = True; algorithm = ball_tree; leaf_size = 14; metric = chebyshev; n_neighbors = 20; weights = distance,f1 and cv,0.585 +- 0.366 127,knn,_scale = True; algorithm = ball_tree; leaf_size = 35; metric = minkowski; n_neighbors = 7; p = 3; weights = uniform,f1 and cv,0.667 +- 0.146 128,knn,_scale = True; algorithm = ball_tree; leaf_size = 1; metric = minkowski; n_neighbors = 19; p = 3; weights = uniform,f1 and cv,0.623 +- 0.441 129,gp,kernel = matern; nu = 0.5,f1 and cv,0.451 +- 0.198 130,mlp,_scale = True; activation = logistic; alpha = 0.000492057617733; batch_size = auto; hidden_layer_sizes[0] = 183; hidden_layer_sizes[1] = 44; hidden_layer_sizes[2] = 22; learning_rate = adaptive; learning_rate_init = 0.0803546188134; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.747 +- 0.054 131,mlp,_scale = True; activation = logistic; alpha = 0.0061092024869; batch_size = auto; hidden_layer_sizes[0] = 245; hidden_layer_sizes[1] = 225; hidden_layer_sizes[2] = 115; learning_rate = adaptive; learning_rate_init = 0.261554783012; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.246 +- 0.603 132,dt,criterion = gini; max_depth = 9; max_features = 0.20530013294; min_samples_leaf = 3; min_samples_split = 4,f1 and cv,0.722 +- 0.431 133,dt,criterion = gini; max_depth = 5; max_features = 0.895429193079; min_samples_leaf = 2; min_samples_split = 4,f1 and cv,0.671 +- 0.226 134,mlp,_scale = True; activation = logistic; alpha = 0.00493337414245; batch_size = auto; hidden_layer_sizes[0] = 225; hidden_layer_sizes[1] = 249; learning_rate = constant; learning_rate_init = 0.388841600493; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.143 +- 0.571 135,mlp,_scale = True; activation = logistic; alpha = 0.00107313907428; batch_size = auto; hidden_layer_sizes[0] = 125; hidden_layer_sizes[1] = 79; learning_rate = constant; learning_rate_init = 0.913790170325; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.747 +- 0.054 136,svm,C = 0.000699346092196; _scale = True; cache_size = 15000; class_weight = balanced; coef0 = -356; gamma = 2904.70602162; kernel = sigmoid; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.646 +- 0.050 137,mlp,_scale = True; activation = identity; alpha = 0.00734266673854; batch_size = auto; beta_1 = 0.961171981627; beta_2 = 0.888975972278; hidden_layer_sizes[0] = 257; hidden_layer_sizes[1] = 298; learning_rate_init = 0.414234249407; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.714 +- 0.328 138,mlp,_scale = True; activation = identity; alpha = 0.00161530133551; batch_size = auto; beta_1 = 0.936825982064; beta_2 = 0.95893046097; hidden_layer_sizes[0] = 164; hidden_layer_sizes[1] = 125; learning_rate_init = 0.453433432399; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.659 +- 0.427 139,mlp,_scale = True; activation = relu; alpha = 0.00163845695715; batch_size = auto; hidden_layer_sizes[0] = 284; learning_rate = adaptive; learning_rate_init = 0.429799911569; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.768 +- 0.312 140,mlp,_scale = True; activation = relu; alpha = 0.00657294944483; batch_size = auto; hidden_layer_sizes[0] = 203; learning_rate = adaptive; learning_rate_init = 0.451312921609; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.827 +- 0.195 141,knn,_scale = True; algorithm = ball_tree; leaf_size = 28; metric = manhattan; n_neighbors = 4; weights = uniform,f1 and cv,0.758 +- 0.155 142,knn,_scale = True; algorithm = ball_tree; leaf_size = 46; metric = manhattan; n_neighbors = 12; weights = uniform,f1 and cv,0.562 +- 0.382 143,mlp,_scale = True; activation = tanh; alpha = 0.00476005930825; batch_size = auto; beta_1 = 0.837603101953; beta_2 = 0.955572625664; hidden_layer_sizes[0] = 62; learning_rate_init = 0.836221756772; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.749 +- 0.283 144,mlp,_scale = True; activation = tanh; alpha = 0.00686387329794; batch_size = auto; beta_1 = 0.893992260512; beta_2 = 0.831867746086; hidden_layer_sizes[0] = 206; learning_rate_init = 0.453787250521; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.677 +- 0.361 145,mlp,_scale = True; activation = tanh; alpha = 0.00288630618482; batch_size = auto; hidden_layer_sizes[0] = 291; hidden_layer_sizes[1] = 85; learning_rate = adaptive; learning_rate_init = 0.456429072586; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.549 +- 0.559 146,mlp,_scale = True; activation = tanh; alpha = 0.00213734631388; batch_size = auto; hidden_layer_sizes[0] = 264; hidden_layer_sizes[1] = 39; learning_rate = adaptive; learning_rate_init = 0.137660603614; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.819 +- 0.282 147,mlp,_scale = True; activation = relu; alpha = 0.000527020841096; batch_size = auto; hidden_layer_sizes[0] = 270; hidden_layer_sizes[1] = 119; hidden_layer_sizes[2] = 191; learning_rate = invscaling; learning_rate_init = 0.132056020654; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.704 +- 0.265 148,mlp,_scale = True; activation = relu; alpha = 0.000167336640832; batch_size = auto; hidden_layer_sizes[0] = 119; hidden_layer_sizes[1] = 138; hidden_layer_sizes[2] = 79; learning_rate = invscaling; learning_rate_init = 0.579541176656; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.783 +- 0.389 149,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 2; p = 2; weights = distance,f1 and cv,0.577 +- 0.397 150,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 5; p = 1; weights = distance,f1 and cv,0.758 +- 0.297 151,mlp,_scale = True; activation = tanh; alpha = 0.00830371973064; batch_size = auto; hidden_layer_sizes[0] = 215; learning_rate = adaptive; learning_rate_init = 0.217830033624; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.735 +- 0.218 152,mlp,_scale = True; activation = tanh; alpha = 0.00593473166394; batch_size = auto; hidden_layer_sizes[0] = 156; learning_rate = adaptive; learning_rate_init = 0.0917559046633; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.592 +- 0.701 153,knn,_scale = True; algorithm = kd_tree; leaf_size = 22; metric = manhattan; n_neighbors = 17; weights = uniform,f1 and cv,0.617 +- 0.663 154,knn,_scale = True; algorithm = kd_tree; leaf_size = 31; metric = manhattan; n_neighbors = 20; weights = uniform,f1 and cv,0.656 +- 0.478 155,logreg,C = 0.00306769302685; _scale = True; class_weight = balanced; dual = False; fit_intercept = True; penalty = l2; tol = 0.012801448798,f1 and cv,0.788 +- 0.379 156,logreg,C = 177.566822646; _scale = True; class_weight = balanced; dual = False; fit_intercept = True; penalty = l2; tol = 36300.246269,f1 and cv,0.000 +- 0.000 157,mlp,_scale = True; activation = logistic; alpha = 0.00292235765101; batch_size = auto; hidden_layer_sizes[0] = 219; hidden_layer_sizes[1] = 215; hidden_layer_sizes[2] = 261; learning_rate = constant; learning_rate_init = 0.463754226406; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.562 +- 0.563 158,mlp,_scale = True; activation = logistic; alpha = 0.00336265552639; batch_size = auto; hidden_layer_sizes[0] = 134; hidden_layer_sizes[1] = 288; hidden_layer_sizes[2] = 113; learning_rate = constant; learning_rate_init = 0.106379752839; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.000 +- 0.000 159,knn,_scale = True; algorithm = kd_tree; leaf_size = 20; metric = chebyshev; n_neighbors = 3; weights = distance,f1 and cv,0.660 +- 0.350 160,knn,_scale = True; algorithm = kd_tree; leaf_size = 15; metric = chebyshev; n_neighbors = 11; weights = distance,f1 and cv,0.651 +- 0.217 161,mlp,_scale = True; activation = identity; alpha = 0.000333265318374; batch_size = auto; hidden_layer_sizes[0] = 13; hidden_layer_sizes[1] = 227; learning_rate = adaptive; learning_rate_init = 0.121745354886; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.770 +- 0.286 162,mlp,_scale = True; activation = identity; alpha = 0.00294752057394; batch_size = auto; hidden_layer_sizes[0] = 128; hidden_layer_sizes[1] = 205; learning_rate = adaptive; learning_rate_init = 0.598308980669; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.617 +- 0.347 163,mlp,_scale = True; activation = identity; alpha = 0.00516176907568; batch_size = auto; hidden_layer_sizes[0] = 194; hidden_layer_sizes[1] = 79; hidden_layer_sizes[2] = 153; learning_rate = adaptive; learning_rate_init = 0.353882854198; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.584 +- 0.372 164,knn,_scale = True; algorithm = ball_tree; leaf_size = 38; metric = manhattan; n_neighbors = 9; weights = distance,f1 and cv,0.739 +- 0.230 165,knn,_scale = True; algorithm = ball_tree; leaf_size = 39; metric = manhattan; n_neighbors = 8; weights = distance,f1 and cv,0.686 +- 0.401 166,mlp,_scale = True; activation = tanh; alpha = 0.00335381389702; batch_size = auto; hidden_layer_sizes[0] = 221; learning_rate = constant; learning_rate_init = 0.0543684388061; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.729 +- 0.266 167,mlp,_scale = True; activation = tanh; alpha = 0.000718678014138; batch_size = auto; hidden_layer_sizes[0] = 194; learning_rate = constant; learning_rate_init = 0.817123258156; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.699 +- 0.285 168,mlp,_scale = True; activation = identity; alpha = 0.00742865324697; batch_size = auto; hidden_layer_sizes[0] = 7; learning_rate = adaptive; learning_rate_init = 0.104806834524; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.691 +- 0.059 169,mlp,_scale = True; activation = identity; alpha = 0.00842933174699; batch_size = auto; hidden_layer_sizes[0] = 145; learning_rate = adaptive; learning_rate_init = 0.47682224929; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.675 +- 0.272 170,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 10; weights = distance,f1 and cv,0.760 +- 0.113 171,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 4; weights = distance,f1 and cv,0.636 +- 0.180 172,gp,kernel = exp_sine_squared; length_scale = 6.13840945438; periodicity = 0,f1 and cv,0.574 +- 0.574 173,gp,kernel = exp_sine_squared; length_scale = 27.2598804204; periodicity = 0,f1 and cv,0.000 +- 0.000 174,mlp,_scale = True; activation = tanh; alpha = 0.00389901170727; batch_size = auto; hidden_layer_sizes[0] = 31; hidden_layer_sizes[1] = 12; hidden_layer_sizes[2] = 292; learning_rate = constant; learning_rate_init = 0.352909877432; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.681 +- 0.343 175,mlp,_scale = True; activation = tanh; alpha = 0.00861460532622; batch_size = auto; hidden_layer_sizes[0] = 2; hidden_layer_sizes[1] = 251; hidden_layer_sizes[2] = 239; learning_rate = constant; learning_rate_init = 0.802964762108; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.715 +- 0.249 176,mlp,_scale = True; activation = tanh; alpha = 0.00796704569567; batch_size = auto; hidden_layer_sizes[0] = 179; hidden_layer_sizes[1] = 7; hidden_layer_sizes[2] = 157; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.752 +- 0.207 177,mlp,_scale = True; activation = tanh; alpha = 0.00108419022247; batch_size = auto; hidden_layer_sizes[0] = 283; hidden_layer_sizes[1] = 73; hidden_layer_sizes[2] = 51; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.641 +- 0.121 178,knn,_scale = True; algorithm = ball_tree; leaf_size = 21; metric = euclidean; n_neighbors = 7; weights = uniform,f1 and cv,0.695 +- 0.235 179,knn,_scale = True; algorithm = ball_tree; leaf_size = 42; metric = euclidean; n_neighbors = 13; weights = uniform,f1 and cv,0.705 +- 0.435 180,mlp,_scale = True; activation = tanh; alpha = 0.00354606375968; batch_size = auto; hidden_layer_sizes[0] = 10; hidden_layer_sizes[1] = 27; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.775 +- 0.128 181,mlp,_scale = True; activation = tanh; alpha = 0.00774998611852; batch_size = auto; hidden_layer_sizes[0] = 206; hidden_layer_sizes[1] = 140; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.756 +- 0.242 182,gp,kernel = constant,f1 and cv,0.728 +- 0.043 183,logreg,C = 1250.42827557; _scale = True; class_weight = balanced; fit_intercept = True; penalty = l1; tol = 0.00118418554271,f1 and cv,0.703 +- 0.157 184,logreg,C = 0.000256996185277; _scale = True; class_weight = balanced; fit_intercept = True; penalty = l1; tol = 10261.6124623,f1 and cv,0.000 +- 0.000 185,mlp,_scale = True; activation = logistic; alpha = 0.00014692611716; batch_size = auto; hidden_layer_sizes[0] = 42; learning_rate = constant; learning_rate_init = 0.974463794961; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.527 +- 0.560 186,mlp,_scale = True; activation = logistic; alpha = 0.0044263395726; batch_size = auto; hidden_layer_sizes[0] = 173; learning_rate = constant; learning_rate_init = 0.696057688579; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.475 +- 0.478 187,mlp,_scale = True; activation = tanh; alpha = 0.00241873404932; batch_size = auto; hidden_layer_sizes[0] = 219; hidden_layer_sizes[1] = 187; hidden_layer_sizes[2] = 300; learning_rate = adaptive; learning_rate_init = 0.687763327145; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.566 +- 0.376 188,mlp,_scale = True; activation = tanh; alpha = 0.0038955923106; batch_size = auto; hidden_layer_sizes[0] = 244; hidden_layer_sizes[1] = 124; hidden_layer_sizes[2] = 211; learning_rate = adaptive; learning_rate_init = 0.881892229762; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.693 +- 0.136 189,gp,kernel = matern; nu = 1.5,f1 and cv,0.643 +- 0.403 190,knn,_scale = True; algorithm = kd_tree; leaf_size = 1; metric = euclidean; n_neighbors = 17; weights = uniform,f1 and cv,0.667 +- 0.183 191,knn,_scale = True; algorithm = kd_tree; leaf_size = 29; metric = euclidean; n_neighbors = 16; weights = uniform,f1 and cv,0.706 +- 0.264 192,mnb,_scale_minmax = True; alpha = 0.876309586449; class_prior = None; fit_prior = 1,f1 and cv,0.788 +- 0.051 193,mnb,_scale_minmax = True; alpha = 0.688666400872; class_prior = None; fit_prior = 0,f1 and cv,0.737 +- 0.120 194,knn,_scale = True; algorithm = kd_tree; leaf_size = 38; metric = chebyshev; n_neighbors = 14; weights = uniform,f1 and cv,0.777 +- 0.225 195,knn,_scale = True; algorithm = kd_tree; leaf_size = 27; metric = chebyshev; n_neighbors = 19; weights = uniform,f1 and cv,0.742 +- 0.112 196,mlp,_scale = True; activation = relu; alpha = 0.00118456803489; batch_size = auto; hidden_layer_sizes[0] = 29; hidden_layer_sizes[1] = 97; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.655 +- 0.337 197,mlp,_scale = True; activation = relu; alpha = 0.00716166598187; batch_size = auto; hidden_layer_sizes[0] = 5; hidden_layer_sizes[1] = 171; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.683 +- 0.427 198,mlp,_scale = True; activation = relu; alpha = 0.00498911153908; batch_size = auto; beta_1 = 0.896843350434; beta_2 = 0.9872568151; hidden_layer_sizes[0] = 57; hidden_layer_sizes[1] = 104; learning_rate_init = 0.647266236782; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.100 +- 0.400 199,mlp,_scale = True; activation = relu; alpha = 0.0086748781932; batch_size = auto; beta_1 = 0.808846389859; beta_2 = 0.918761804441; hidden_layer_sizes[0] = 5; hidden_layer_sizes[1] = 116; learning_rate_init = 0.839328146746; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.516 +- 0.581 200,mlp,_scale = True; activation = logistic; alpha = 0.00791651056937; batch_size = auto; hidden_layer_sizes[0] = 96; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.702 +- 0.363 201,mlp,_scale = True; activation = logistic; alpha = 0.00761269673425; batch_size = auto; hidden_layer_sizes[0] = 195; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.741 +- 0.281 202,mlp,_scale = True; activation = logistic; alpha = 0.00599579013339; batch_size = auto; hidden_layer_sizes[0] = 132; learning_rate = invscaling; learning_rate_init = 0.878033337806; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.739 +- 0.178 203,mlp,_scale = True; activation = logistic; alpha = 0.00819682558214; batch_size = auto; hidden_layer_sizes[0] = 243; learning_rate = invscaling; learning_rate_init = 0.807274141581; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.567 +- 0.653 204,mlp,_scale = True; activation = relu; alpha = 0.0014727938631; batch_size = auto; hidden_layer_sizes[0] = 237; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.800 +- 0.116 205,mlp,_scale = True; activation = relu; alpha = 0.00554646313568; batch_size = auto; hidden_layer_sizes[0] = 124; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.743 +- 0.264 206,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 20; weights = uniform,f1 and cv,0.619 +- 0.687 207,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 9; weights = uniform,f1 and cv,0.732 +- 0.216 208,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 6; p = 1; weights = uniform,f1 and cv,0.819 +- 0.152 209,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 14; p = 3; weights = uniform,f1 and cv,0.664 +- 0.262 210,gp,alpha = 0.441179556454; kernel = rational_quadratic; length_scale = 0.0590781492897,f1 and cv,0.577 +- 0.378 211,gp,alpha = 0.394747125512; kernel = rational_quadratic; length_scale = 0.454814209874,f1 and cv,0.620 +- 0.131 212,mlp,_scale = True; activation = relu; alpha = 0.00384623541841; batch_size = auto; beta_1 = 0.937909544848; beta_2 = 0.889828852962; hidden_layer_sizes[0] = 260; learning_rate_init = 0.981211355904; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.682 +- 0.311 213,mlp,_scale = True; activation = relu; alpha = 0.00365876945699; batch_size = auto; beta_1 = 0.894011255549; beta_2 = 0.802233668538; hidden_layer_sizes[0] = 27; learning_rate_init = 0.406507847967; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.745 +- 0.274 214,mlp,_scale = True; activation = identity; alpha = 0.00845645787211; batch_size = auto; hidden_layer_sizes[0] = 273; learning_rate = invscaling; learning_rate_init = 0.445585302825; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.767 +- 0.149 215,mlp,_scale = True; activation = identity; alpha = 0.00108570440386; batch_size = auto; hidden_layer_sizes[0] = 121; learning_rate = invscaling; learning_rate_init = 0.895340433661; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.864 +- 0.219 216,mlp,_scale = True; activation = tanh; alpha = 0.000728993751142; batch_size = auto; hidden_layer_sizes[0] = 278; learning_rate = invscaling; learning_rate_init = 0.670393489284; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.657 +- 0.276 217,mlp,_scale = True; activation = identity; alpha = 0.00590165715418; batch_size = auto; hidden_layer_sizes[0] = 121; learning_rate = invscaling; learning_rate_init = 0.86357115334; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.777 +- 0.245 218,mlp,_scale = True; activation = relu; alpha = 0.00458576632242; batch_size = auto; hidden_layer_sizes[0] = 203; learning_rate = adaptive; learning_rate_init = 0.303130900389; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.622 +- 0.207 219,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 20; weights = distance,f1 and cv,0.754 +- 0.393 220,mlp,_scale = True; activation = identity; alpha = 0.0061414985785; batch_size = auto; beta_1 = 0.850813944282; beta_2 = 0.819958129268; hidden_layer_sizes[0] = 93; learning_rate_init = 0.743269273633; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.761 +- 0.209 221,mlp,_scale = True; activation = relu; alpha = 0.00301544594515; batch_size = auto; hidden_layer_sizes[0] = 237; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.734 +- 0.086 222,logreg,C = 316.540829698; _scale = True; class_weight = balanced; dual = True; fit_intercept = False; penalty = l2; tol = 113.651538457,f1 and cv,0.749 +- 0.297 223,mlp,_scale = True; activation = tanh; alpha = 0.00748704668471; batch_size = auto; hidden_layer_sizes[0] = 10; hidden_layer_sizes[1] = 20; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.602 +- 0.637 224,knn,_scale = True; algorithm = kd_tree; leaf_size = 38; metric = manhattan; n_neighbors = 18; weights = distance,f1 and cv,0.672 +- 0.463 225,mnb,_scale_minmax = True; alpha = 0.998765544364; class_prior = None; fit_prior = 1,f1 and cv,0.670 +- 0.229 226,knn,_scale = True; algorithm = ball_tree; leaf_size = 39; metric = euclidean; n_neighbors = 13; weights = distance,f1 and cv,0.703 +- 0.324 227,knn,_scale = True; algorithm = kd_tree; leaf_size = 38; metric = chebyshev; n_neighbors = 14; weights = uniform,f1 and cv,0.762 +- 0.128 228,mlp,_scale = True; activation = relu; alpha = 0.000284386971655; batch_size = auto; hidden_layer_sizes[0] = 151; hidden_layer_sizes[1] = 3; hidden_layer_sizes[2] = 103; learning_rate = constant; learning_rate_init = 0.695437589557; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.696 +- 0.192 229,mlp,_scale = True; activation = tanh; alpha = 0.00280894987658; batch_size = auto; hidden_layer_sizes[0] = 198; hidden_layer_sizes[1] = 135; learning_rate = invscaling; learning_rate_init = 0.317156548818; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.865 +- 0.253 230,logreg,C = 0.379743154494; _scale = True; class_weight = balanced; dual = True; fit_intercept = True; penalty = l2; tol = 0.069387906243,f1 and cv,0.784 +- 0.242 231,rf,criterion = gini; max_depth = 3; max_features = 0.414843892414; min_samples_leaf = 3; n_estimators = 100; n_jobs = -1,f1 and cv,0.802 +- 0.307 232,mlp,_scale = True; activation = relu; alpha = 0.00546833979991; batch_size = auto; hidden_layer_sizes[0] = 108; hidden_layer_sizes[1] = 193; hidden_layer_sizes[2] = 34; learning_rate = invscaling; learning_rate_init = 0.189587204661; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.781 +- 0.163 233,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 6; p = 1; weights = uniform,f1 and cv,0.812 +- 0.379 234,mlp,_scale = True; activation = tanh; alpha = 0.00823992812488; batch_size = auto; hidden_layer_sizes[0] = 295; hidden_layer_sizes[1] = 294; hidden_layer_sizes[2] = 44; learning_rate = invscaling; learning_rate_init = 0.481404118046; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.794 +- 0.209 235,mlp,_scale = True; activation = relu; alpha = 0.00399410990265; batch_size = auto; hidden_layer_sizes[0] = 233; hidden_layer_sizes[1] = 17; hidden_layer_sizes[2] = 9; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.783 +- 0.259 236,mlp,_scale = True; activation = identity; alpha = 0.00630579760633; batch_size = auto; hidden_layer_sizes[0] = 162; hidden_layer_sizes[1] = 289; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.715 +- 0.157 237,mlp,_scale = True; activation = identity; alpha = 0.00612355292055; batch_size = auto; hidden_layer_sizes[0] = 189; hidden_layer_sizes[1] = 10; learning_rate = invscaling; learning_rate_init = 0.316571358391; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.714 +- 0.404 238,knn,_scale = True; algorithm = ball_tree; leaf_size = 10; metric = minkowski; n_neighbors = 10; p = 1; weights = distance,f1 and cv,0.673 +- 0.232 239,mlp,_scale = True; activation = logistic; alpha = 0.00242931276589; batch_size = auto; hidden_layer_sizes[0] = 195; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.707 +- 0.291 240,mlp,_scale = True; activation = tanh; alpha = 0.00266562382463; batch_size = auto; hidden_layer_sizes[0] = 221; learning_rate = constant; learning_rate_init = 0.0228795034676; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.776 +- 0.187 241,mlp,_scale = True; activation = relu; alpha = 0.00205598323924; batch_size = auto; hidden_layer_sizes[0] = 55; hidden_layer_sizes[1] = 20; learning_rate = invscaling; learning_rate_init = 0.925931788017; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.734 +- 0.255 242,mlp,_scale = True; activation = relu; alpha = 0.000649033900464; batch_size = auto; beta_1 = 0.876033262692; beta_2 = 0.895049586659; hidden_layer_sizes[0] = 27; learning_rate_init = 0.143105264242; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.780 +- 0.375 243,knn,_scale = True; algorithm = ball_tree; leaf_size = 38; metric = manhattan; n_neighbors = 9; weights = distance,f1 and cv,0.751 +- 0.171 244,mlp,_scale = True; activation = tanh; alpha = 0.0013265392979; batch_size = auto; beta_1 = 0.943844591381; beta_2 = 0.947204916232; hidden_layer_sizes[0] = 62; learning_rate_init = 0.437697852476; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.718 +- 0.176 245,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 4; weights = uniform,f1 and cv,0.645 +- 0.318 246,mlp,_scale = True; activation = tanh; alpha = 0.00614748743749; batch_size = auto; beta_1 = 0.809114945577; beta_2 = 0.990605182173; hidden_layer_sizes[0] = 218; hidden_layer_sizes[1] = 50; hidden_layer_sizes[2] = 214; learning_rate_init = 0.158953806756; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.611 +- 0.631 247,mlp,_scale = True; activation = identity; alpha = 0.00467152728732; batch_size = auto; hidden_layer_sizes[0] = 239; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.693 +- 0.136 248,knn,_scale = True; algorithm = ball_tree; leaf_size = 42; metric = euclidean; n_neighbors = 13; weights = uniform,f1 and cv,0.599 +- 0.405 249,knn,_scale = True; algorithm = ball_tree; leaf_size = 12; metric = chebyshev; n_neighbors = 18; weights = uniform,f1 and cv,0.783 +- 0.234 250,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 10; weights = distance,f1 and cv,0.791 +- 0.242 251,mlp,_scale = True; activation = tanh; alpha = 0.00818619325238; batch_size = auto; hidden_layer_sizes[0] = 64; hidden_layer_sizes[1] = 247; hidden_layer_sizes[2] = 181; learning_rate = constant; learning_rate_init = 0.937549184535; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.551 +- 0.388 252,rf,criterion = entropy; max_depth = 2; max_features = 0.908161834155; min_samples_leaf = 2; n_estimators = 100; n_jobs = -1,f1 and cv,0.771 +- 0.324 253,dt,criterion = gini; max_depth = 9; max_features = 0.206621728603; min_samples_leaf = 3; min_samples_split = 4,f1 and cv,0.609 +- 0.414 254,mlp,_scale = True; activation = tanh; alpha = 0.00439204791263; batch_size = auto; hidden_layer_sizes[0] = 152; hidden_layer_sizes[1] = 140; hidden_layer_sizes[2] = 137; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.426 +- 0.496 255,mlp,_scale = True; activation = identity; alpha = 0.00499907212969; batch_size = auto; hidden_layer_sizes[0] = 13; hidden_layer_sizes[1] = 225; learning_rate = adaptive; learning_rate_init = 0.95876802125; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.563 +- 0.731 256,mlp,_scale = True; activation = identity; alpha = 0.00834453755326; batch_size = auto; hidden_layer_sizes[0] = 124; hidden_layer_sizes[1] = 116; hidden_layer_sizes[2] = 242; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.770 +- 0.257 257,mlp,_scale = True; activation = relu; alpha = 0.00659089491028; batch_size = auto; hidden_layer_sizes[0] = 78; hidden_layer_sizes[1] = 205; learning_rate = adaptive; learning_rate_init = 0.200996550946; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.725 +- 0.274 258,knn,_scale = True; algorithm = kd_tree; leaf_size = 29; metric = euclidean; n_neighbors = 16; weights = uniform,f1 and cv,0.757 +- 0.379 259,mlp,_scale = True; activation = identity; alpha = 0.000532662580324; batch_size = auto; beta_1 = 0.883000256325; beta_2 = 0.985679904944; hidden_layer_sizes[0] = 264; hidden_layer_sizes[1] = 299; learning_rate_init = 0.788356525758; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.709 +- 0.299 260,mlp,_scale = True; activation = tanh; alpha = 0.00181218575585; batch_size = auto; hidden_layer_sizes[0] = 262; hidden_layer_sizes[1] = 37; learning_rate = adaptive; learning_rate_init = 0.513613365916; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.650 +- 0.452 261,mlp,_scale = True; activation = identity; alpha = 0.00425512975095; batch_size = auto; hidden_layer_sizes[0] = 7; learning_rate = adaptive; learning_rate_init = 0.0618833847181; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.752 +- 0.272 262,knn,_scale = True; algorithm = kd_tree; leaf_size = 36; metric = minkowski; n_neighbors = 6; p = 2; weights = uniform,f1 and cv,0.733 +- 0.323 263,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 4; weights = distance,f1 and cv,0.710 +- 0.186 264,mlp,_scale = True; activation = logistic; alpha = 0.00354360494334; batch_size = auto; beta_1 = 0.82693224625; beta_2 = 0.817798909972; hidden_layer_sizes[0] = 20; learning_rate_init = 0.452164272742; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.816 +- 0.496 265,knn,_scale = True; algorithm = kd_tree; leaf_size = 48; metric = minkowski; n_neighbors = 10; p = 2; weights = distance,f1 and cv,0.626 +- 0.642 266,mlp,_scale = True; activation = identity; alpha = 0.00543802988332; batch_size = auto; hidden_layer_sizes[0] = 12; learning_rate = constant; learning_rate_init = 0.877546109; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.709 +- 0.405 267,svm,C = 1.62680590415e-05; _scale = True; cache_size = 15000; class_weight = balanced; coef0 = 692; degree = 5; gamma = 0.412453389278; kernel = poly; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.661 +- 0.228 268,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 9; weights = uniform,f1 and cv,0.774 +- 0.233 269,mlp,_scale = True; activation = relu; alpha = 0.00101355958991; batch_size = auto; hidden_layer_sizes[0] = 2; hidden_layer_sizes[1] = 167; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.734 +- 0.304 270,mlp,_scale = True; activation = relu; alpha = 0.00262922227938; batch_size = auto; hidden_layer_sizes[0] = 26; hidden_layer_sizes[1] = 40; hidden_layer_sizes[2] = 113; learning_rate = adaptive; learning_rate_init = 0.299887409962; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.777 +- 0.245 271,mlp,_scale = True; activation = tanh; alpha = 0.00271773637471; batch_size = auto; hidden_layer_sizes[0] = 119; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.749 +- 0.345 272,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 5; p = 1; weights = distance,f1 and cv,0.743 +- 0.445 273,mlp,_scale = True; activation = relu; alpha = 0.000626343626388; batch_size = auto; hidden_layer_sizes[0] = 145; hidden_layer_sizes[1] = 271; learning_rate = constant; learning_rate_init = 0.738766298476; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.771 +- 0.146 274,mlp,_scale = True; activation = tanh; alpha = 0.00385332691371; batch_size = auto; hidden_layer_sizes[0] = 215; learning_rate = adaptive; learning_rate_init = 0.483603069058; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.648 +- 0.076 275,knn,_scale = True; algorithm = ball_tree; leaf_size = 28; metric = manhattan; n_neighbors = 4; weights = uniform,f1 and cv,0.760 +- 0.271 276,knn,_scale = True; algorithm = kd_tree; leaf_size = 20; metric = chebyshev; n_neighbors = 3; weights = distance,f1 and cv,0.655 +- 0.280 277,mlp,_scale = True; activation = logistic; alpha = 0.000848257026879; batch_size = auto; hidden_layer_sizes[0] = 199; learning_rate = adaptive; learning_rate_init = 0.653372020353; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.703 +- 0.104 278,mlp,_scale = True; activation = logistic; alpha = 0.00419892412904; batch_size = auto; hidden_layer_sizes[0] = 132; learning_rate = invscaling; learning_rate_init = 0.675419025257; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.808 +- 0.160 279,mlp,_scale = True; activation = identity; alpha = 0.00338450371429; batch_size = auto; hidden_layer_sizes[0] = 61; hidden_layer_sizes[1] = 198; learning_rate = constant; learning_rate_init = 0.633056212575; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.688 +- 0.708 280,knn,_scale = True; algorithm = ball_tree; leaf_size = 35; metric = minkowski; n_neighbors = 7; p = 3; weights = uniform,f1 and cv,0.712 +- 0.205 281,mlp,_scale = True; activation = identity; alpha = 0.000989861481974; batch_size = auto; beta_1 = 0.826792157264; beta_2 = 0.929603696055; hidden_layer_sizes[0] = 258; hidden_layer_sizes[1] = 233; hidden_layer_sizes[2] = 101; learning_rate_init = 0.36232540548; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.689 +- 0.493 282,mlp,_scale = True; activation = tanh; alpha = 0.00620264986437; batch_size = auto; beta_1 = 0.851090764705; beta_2 = 0.895041241823; hidden_layer_sizes[0] = 180; hidden_layer_sizes[1] = 163; learning_rate_init = 0.480899000813; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.798 +- 0.278 283,knn,_scale = True; algorithm = kd_tree; leaf_size = 30; metric = manhattan; n_neighbors = 20; weights = uniform,f1 and cv,0.868 +- 0.069 284,dt,criterion = entropy; max_depth = 5; max_features = 0.849892428315; min_samples_leaf = 1; min_samples_split = 3,f1 and cv,0.699 +- 0.329 285,mlp,_scale = True; activation = logistic; alpha = 0.00292615838825; batch_size = auto; hidden_layer_sizes[0] = 111; hidden_layer_sizes[1] = 133; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.741 +- 0.297 286,mlp,_scale = True; activation = tanh; alpha = 0.00192212524063; batch_size = auto; hidden_layer_sizes[0] = 175; hidden_layer_sizes[1] = 173; hidden_layer_sizes[2] = 62; learning_rate = adaptive; learning_rate_init = 0.928033125073; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.591 +- 0.614 287,knn,_scale = True; algorithm = ball_tree; leaf_size = 16; metric = chebyshev; n_neighbors = 15; weights = distance,f1 and cv,0.680 +- 0.196 288,knn,_scale = True; algorithm = kd_tree; leaf_size = 4; metric = euclidean; n_neighbors = 19; weights = distance,f1 and cv,0.643 +- 0.651 289,svm,C = 106.323374676; _scale = True; cache_size = 15000; class_weight = balanced; kernel = linear; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.821 +- 0.158 290,gp,alpha = 0.340932352507; kernel = rational_quadratic; length_scale = 1.23158862963,f1 and cv,0.623 +- 0.402 291,mlp,_scale = True; activation = logistic; alpha = 0.000565210040334; batch_size = auto; hidden_layer_sizes[0] = 201; hidden_layer_sizes[1] = 125; hidden_layer_sizes[2] = 51; learning_rate = invscaling; learning_rate_init = 0.233137263443; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.267 +- 0.653 292,mlp,_scale = True; activation = logistic; alpha = 0.00017320409652; batch_size = auto; beta_1 = 0.846859613319; beta_2 = 0.94537029331; hidden_layer_sizes[0] = 119; hidden_layer_sizes[1] = 56; learning_rate_init = 0.977563567719; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.386 +- 0.649 293,mlp,_scale = True; activation = logistic; alpha = 0.00259394948016; batch_size = auto; hidden_layer_sizes[0] = 66; hidden_layer_sizes[1] = 129; learning_rate = invscaling; learning_rate_init = 0.680402756435; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.283 +- 0.696 294,mlp,_scale = True; activation = identity; alpha = 0.00222570647724; batch_size = auto; hidden_layer_sizes[0] = 245; hidden_layer_sizes[1] = 285; hidden_layer_sizes[2] = 81; learning_rate = constant; learning_rate_init = 0.792386667536; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.439 +- 0.371 295,mlp,_scale = True; activation = identity; alpha = 0.00597399649341; batch_size = auto; hidden_layer_sizes[0] = 102; hidden_layer_sizes[1] = 126; hidden_layer_sizes[2] = 4; learning_rate = invscaling; learning_rate_init = 0.237457763006; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.716 +- 0.285 296,mlp,_scale = True; activation = logistic; alpha = 0.00104876965561; batch_size = auto; hidden_layer_sizes[0] = 42; learning_rate = constant; learning_rate_init = 0.564448785575; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.143 +- 0.571 297,mlp,_scale = True; activation = logistic; alpha = 0.00762424225727; batch_size = auto; hidden_layer_sizes[0] = 170; hidden_layer_sizes[1] = 66; hidden_layer_sizes[2] = 108; learning_rate = adaptive; learning_rate_init = 0.501482073517; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.667 +- 0.000 298,mlp,_scale = True; activation = relu; alpha = 0.00624514371129; batch_size = auto; beta_1 = 0.911687585984; beta_2 = 0.894605581229; hidden_layer_sizes[0] = 14; hidden_layer_sizes[1] = 73; hidden_layer_sizes[2] = 171; learning_rate_init = 0.945435557976; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.539 +- 0.546 299,mlp,_scale = True; activation = logistic; alpha = 0.00514509929195; batch_size = auto; hidden_layer_sizes[0] = 121; hidden_layer_sizes[1] = 85; learning_rate = constant; learning_rate_init = 0.509323405659; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.279 +- 0.684 300,mlp,_scale = True; activation = logistic; alpha = 0.00824536634614; batch_size = auto; beta_1 = 0.954249309354; beta_2 = 0.97068214188; hidden_layer_sizes[0] = 287; hidden_layer_sizes[1] = 9; hidden_layer_sizes[2] = 72; learning_rate_init = 0.987691072877; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.256 +- 0.629 301,mlp,_scale = True; activation = logistic; alpha = 0.00205265569295; batch_size = auto; hidden_layer_sizes[0] = 228; hidden_layer_sizes[1] = 128; learning_rate = adaptive; learning_rate_init = 0.184262424594; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.636 +- 0.671 302,logreg,C = 0.00137935604644; _scale = True; class_weight = balanced; dual = False; fit_intercept = True; penalty = l2; tol = 0.0145842190972,f1 and cv,0.818 +- 0.166 303,mlp,_scale = True; activation = identity; alpha = 0.00642725880585; batch_size = auto; hidden_layer_sizes[0] = 120; learning_rate = invscaling; learning_rate_init = 0.910605189017; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.751 +- 0.315 304,mlp,_scale = True; activation = tanh; alpha = 0.00259324962854; batch_size = auto; hidden_layer_sizes[0] = 204; hidden_layer_sizes[1] = 128; learning_rate = invscaling; learning_rate_init = 0.23371434887; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.675 +- 0.220 305,logreg,C = 85728.663831; _scale = True; class_weight = balanced; fit_intercept = True; penalty = l1; tol = 0.00014382891317,f1 and cv,0.765 +- 0.126 306,logreg,C = 5.50467027847; _scale = True; class_weight = balanced; fit_intercept = False; penalty = l1; tol = 0.000126567166882,f1 and cv,0.784 +- 0.179 307,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 20; weights = distance,f1 and cv,0.860 +- 0.217 308,mlp,_scale = True; activation = identity; alpha = 0.00833430314328; batch_size = auto; beta_1 = 0.89867303735; beta_2 = 0.970351592919; hidden_layer_sizes[0] = 91; learning_rate_init = 0.67307423449; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.750 +- 0.258 309,rf,criterion = gini; max_depth = 3; max_features = 0.114447064015; min_samples_leaf = 3; n_estimators = 100; n_jobs = -1,f1 and cv,0.843 +- 0.238 310,mlp,_scale = True; activation = tanh; alpha = 0.00160710817081; batch_size = auto; hidden_layer_sizes[0] = 279; learning_rate = invscaling; learning_rate_init = 0.046382134631; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.781 +- 0.085 311,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 6; p = 1; weights = uniform,f1 and cv,0.736 +- 0.309 312,logreg,C = 10407.6211163; _scale = True; class_weight = balanced; dual = True; fit_intercept = False; penalty = l2; tol = 0.00210492783993,f1 and cv,0.617 +- 0.213 313,svm,C = 0.195192060829; _scale = True; cache_size = 15000; class_weight = balanced; coef0 = 320; gamma = 4.6071140382e-05; kernel = sigmoid; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.667 +- 0.000 314,svm,C = 0.0166982107271; _scale = True; cache_size = 15000; class_weight = balanced; gamma = 1.47623031275; kernel = rbf; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.246 +- 0.603 315,logreg,C = 1.46926593721; _scale = True; class_weight = balanced; dual = True; fit_intercept = True; penalty = l2; tol = 0.125761057813,f1 and cv,0.817 +- 0.236 316,mlp,_scale = True; activation = relu; alpha = 0.00256735204536; batch_size = auto; hidden_layer_sizes[0] = 26; learning_rate = invscaling; learning_rate_init = 0.859947803826; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.571 +- 0.339 317,knn,_scale = True; algorithm = kd_tree; leaf_size = 38; metric = chebyshev; n_neighbors = 14; weights = uniform,f1 and cv,0.655 +- 0.399 318,mlp,_scale = True; activation = relu; alpha = 0.000412743466647; batch_size = auto; hidden_layer_sizes[0] = 238; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.692 +- 0.135 319,mlp,_scale = True; activation = tanh; alpha = 0.00423020019596; batch_size = auto; hidden_layer_sizes[0] = 92; hidden_layer_sizes[1] = 273; hidden_layer_sizes[2] = 282; learning_rate = invscaling; learning_rate_init = 0.127087855813; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.677 +- 0.204 320,mlp,_scale = True; activation = relu; alpha = 0.0059523843558; batch_size = auto; hidden_layer_sizes[0] = 292; hidden_layer_sizes[1] = 58; hidden_layer_sizes[2] = 54; learning_rate = invscaling; learning_rate_init = 0.0861197808327; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.717 +- 0.258 321,mlp,_scale = True; activation = relu; alpha = 0.00837571236372; batch_size = auto; hidden_layer_sizes[0] = 234; hidden_layer_sizes[1] = 12; hidden_layer_sizes[2] = 9; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.622 +- 0.207 322,mlp,_scale = True; activation = relu; alpha = 0.00257777214607; batch_size = auto; beta_1 = 0.979336840211; beta_2 = 0.938477937719; hidden_layer_sizes[0] = 8; hidden_layer_sizes[1] = 118; learning_rate_init = 0.0163379670585; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.777 +- 0.373 323,mlp,_scale = True; activation = logistic; alpha = 0.00872884761682; batch_size = auto; hidden_layer_sizes[0] = 243; hidden_layer_sizes[1] = 181; hidden_layer_sizes[2] = 97; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.710 +- 0.196 324,knn,_scale = True; algorithm = ball_tree; leaf_size = 39; metric = euclidean; n_neighbors = 13; weights = distance,f1 and cv,0.767 +- 0.125 325,mlp,_scale = True; activation = relu; alpha = 0.00514834770096; batch_size = auto; hidden_layer_sizes[0] = 203; learning_rate = adaptive; learning_rate_init = 0.951744817527; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.746 +- 0.207 326,mlp,_scale = True; activation = relu; alpha = 0.00114783074356; batch_size = auto; hidden_layer_sizes[0] = 60; hidden_layer_sizes[1] = 143; hidden_layer_sizes[2] = 27; learning_rate = constant; learning_rate_init = 0.0201929038252; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.725 +- 0.266 327,mlp,_scale = True; activation = relu; alpha = 0.00221737610381; batch_size = auto; hidden_layer_sizes[0] = 126; learning_rate = constant; learning_rate_init = 0.896896646571; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.735 +- 0.174 328,mlp,_scale = True; activation = relu; alpha = 0.00797102730764; batch_size = auto; beta_1 = 0.869408487589; beta_2 = 0.919347184791; hidden_layer_sizes[0] = 27; learning_rate_init = 0.20497604802; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.845 +- 0.198 329,mlp,_scale = True; activation = tanh; alpha = 0.00628102451734; batch_size = auto; hidden_layer_sizes[0] = 221; learning_rate = constant; learning_rate_init = 0.0288070613664; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.799 +- 0.122 330,knn,_scale = True; algorithm = kd_tree; leaf_size = 39; metric = manhattan; n_neighbors = 18; weights = distance,f1 and cv,0.628 +- 0.263 331,mlp,_scale = True; activation = identity; alpha = 0.00131711859293; batch_size = auto; hidden_layer_sizes[0] = 7; hidden_layer_sizes[1] = 19; hidden_layer_sizes[2] = 17; learning_rate = adaptive; learning_rate_init = 0.937999844403; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.000 +- 0.000 332,mnb,_scale_minmax = True; alpha = 0.00160241408131; class_prior = None; fit_prior = 1,f1 and cv,0.723 +- 0.337 333,mlp,_scale = True; activation = identity; alpha = 0.000755742071334; batch_size = auto; hidden_layer_sizes[0] = 165; hidden_layer_sizes[1] = 294; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.622 +- 0.207 334,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 10; weights = distance,f1 and cv,0.630 +- 0.485 335,gp,kernel = exp_sine_squared; length_scale = 6.15507927795; periodicity = 0,f1 and cv,0.688 +- 0.054 336,mlp,_scale = True; activation = identity; alpha = 0.00818602661631; batch_size = auto; hidden_layer_sizes[0] = 196; hidden_layer_sizes[1] = 12; learning_rate = invscaling; learning_rate_init = 0.746776772047; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.500 +- 0.516 337,knn,_scale = True; algorithm = ball_tree; leaf_size = 12; metric = chebyshev; n_neighbors = 18; weights = uniform,f1 and cv,0.722 +- 0.486 338,knn,_scale = True; algorithm = ball_tree; leaf_size = 38; metric = manhattan; n_neighbors = 9; weights = distance,f1 and cv,0.633 +- 0.309 339,mlp,_scale = True; activation = logistic; alpha = 0.00733017994509; batch_size = auto; beta_1 = 0.815657177898; beta_2 = 0.862696069458; hidden_layer_sizes[0] = 20; learning_rate_init = 0.126781354604; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.785 +- 0.278 340,mlp,_scale = True; activation = logistic; alpha = 0.000100818697748; batch_size = auto; hidden_layer_sizes[0] = 260; hidden_layer_sizes[1] = 11; hidden_layer_sizes[2] = 219; learning_rate = constant; learning_rate_init = 0.696671319052; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.410 +- 0.670 341,rf,criterion = entropy; max_depth = 2; max_features = 0.152026451055; min_samples_leaf = 2; n_estimators = 100; n_jobs = -1,f1 and cv,0.886 +- 0.138 342,mlp,_scale = True; activation = relu; alpha = 0.00230093814755; batch_size = auto; hidden_layer_sizes[0] = 54; hidden_layer_sizes[1] = 17; learning_rate = invscaling; learning_rate_init = 0.69866885062; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.716 +- 0.352 343,mlp,_scale = True; activation = logistic; alpha = 0.00886844727295; batch_size = auto; hidden_layer_sizes[0] = 194; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.853 +- 0.259 344,mlp,_scale = True; activation = identity; alpha = 0.00869794386659; batch_size = auto; hidden_layer_sizes[0] = 281; hidden_layer_sizes[1] = 278; hidden_layer_sizes[2] = 126; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.731 +- 0.194 345,mlp,_scale = True; activation = tanh; alpha = 0.00469977201754; batch_size = auto; beta_1 = 0.837768716794; beta_2 = 0.822176639536; hidden_layer_sizes[0] = 63; learning_rate_init = 0.888794414192; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.787 +- 0.289 346,knn,_scale = True; algorithm = kd_tree; leaf_size = 29; metric = manhattan; n_neighbors = 20; weights = uniform,f1 and cv,0.788 +- 0.254 347,mlp,_scale = True; activation = tanh; alpha = 0.00569633321217; batch_size = auto; hidden_layer_sizes[0] = 205; hidden_layer_sizes[1] = 134; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.698 +- 0.248 348,gp,kernel = exp_sine_squared; length_scale = 1.23127103237; periodicity = 1,f1 and cv,0.317 +- 0.527 349,knn,_scale = True; algorithm = kd_tree; leaf_size = 29; metric = euclidean; n_neighbors = 15; weights = uniform,f1 and cv,0.772 +- 0.124 350,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 9; weights = uniform,f1 and cv,0.698 +- 0.175 351,knn,_scale = True; algorithm = ball_tree; leaf_size = 10; metric = minkowski; n_neighbors = 10; p = 1; weights = distance,f1 and cv,0.838 +- 0.370 352,mlp,_scale = True; activation = identity; alpha = 0.00303723211783; batch_size = auto; hidden_layer_sizes[0] = 9; learning_rate = adaptive; learning_rate_init = 0.00851605918986; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.810 +- 0.191 353,mlp,_scale = True; activation = logistic; alpha = 0.00104428031269; batch_size = auto; hidden_layer_sizes[0] = 133; learning_rate = invscaling; learning_rate_init = 0.197305734958; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.524 +- 0.532 354,mlp,_scale = True; activation = relu; alpha = 0.00819604091558; batch_size = auto; hidden_layer_sizes[0] = 99; hidden_layer_sizes[1] = 64; hidden_layer_sizes[2] = 64; learning_rate = adaptive; learning_rate_init = 0.724897106283; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.643 +- 0.418 355,mlp,_scale = True; activation = relu; alpha = 0.00523273904536; batch_size = auto; hidden_layer_sizes[0] = 136; hidden_layer_sizes[1] = 272; learning_rate = constant; learning_rate_init = 0.194974768793; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.771 +- 0.272 356,mlp,_scale = True; activation = identity; alpha = 0.00859128532404; batch_size = auto; hidden_layer_sizes[0] = 238; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.818 +- 0.166 357,mlp,_scale = True; activation = relu; alpha = 0.00868522115008; batch_size = auto; hidden_layer_sizes[0] = 83; hidden_layer_sizes[1] = 209; learning_rate = adaptive; learning_rate_init = 0.0036031028349; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.734 +- 0.369 358,knn,_scale = True; algorithm = kd_tree; leaf_size = 35; metric = minkowski; n_neighbors = 7; p = 2; weights = uniform,f1 and cv,0.668 +- 0.439 359,mlp,_scale = True; activation = tanh; alpha = 0.00175019297081; batch_size = auto; hidden_layer_sizes[0] = 119; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.750 +- 0.333 360,mlp,_scale = True; activation = tanh; alpha = 0.00149016087289; batch_size = auto; beta_1 = 0.833563941202; beta_2 = 0.887136020847; hidden_layer_sizes[0] = 184; hidden_layer_sizes[1] = 159; learning_rate_init = 0.777270209309; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.700 +- 0.253 361,mlp,_scale = True; activation = identity; alpha = 0.00182936352472; batch_size = auto; beta_1 = 0.804827503638; beta_2 = 0.897454230843; hidden_layer_sizes[0] = 259; hidden_layer_sizes[1] = 297; learning_rate_init = 0.33999375309; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.803 +- 0.138 362,knn,_scale = True; algorithm = ball_tree; leaf_size = 28; metric = manhattan; n_neighbors = 4; weights = uniform,f1 and cv,0.715 +- 0.266 363,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 5; p = 1; weights = distance,f1 and cv,0.776 +- 0.146 364,mlp,_scale = True; activation = relu; alpha = 0.00145397343698; batch_size = auto; hidden_layer_sizes[0] = 2; hidden_layer_sizes[1] = 161; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.723 +- 0.172 365,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 4; weights = distance,f1 and cv,0.629 +- 0.093 366,mlp,_scale = True; activation = identity; alpha = 0.00473660648641; batch_size = auto; hidden_layer_sizes[0] = 12; learning_rate = constant; learning_rate_init = 0.441573946607; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.666 +- 0.421 367,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 5; weights = uniform,f1 and cv,0.690 +- 0.299 368,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 11; weights = uniform,f1 and cv,0.721 +- 0.183 369,mlp,_scale = True; activation = tanh; alpha = 0.00548795501913; batch_size = auto; beta_1 = 0.944574268838; beta_2 = 0.961187513145; hidden_layer_sizes[0] = 117; hidden_layer_sizes[1] = 203; hidden_layer_sizes[2] = 180; learning_rate_init = 0.8196348598; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.664 +- 0.256 370,svm,C = 45236.8060056; _scale = True; cache_size = 15000; class_weight = balanced; kernel = linear; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.724 +- 0.362 371,mlp,_scale = True; activation = tanh; alpha = 0.00863031991079; batch_size = auto; hidden_layer_sizes[0] = 70; hidden_layer_sizes[1] = 121; learning_rate = adaptive; learning_rate_init = 0.21930917353; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.748 +- 0.285 372,svm,C = 3330.46315463; _scale = True; cache_size = 15000; class_weight = balanced; coef0 = 402; degree = 5; gamma = 495.798025791; kernel = poly; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.663 +- 0.139 373,mlp,_scale = True; activation = logistic; alpha = 0.00560162739189; batch_size = auto; hidden_layer_sizes[0] = 199; learning_rate = adaptive; learning_rate_init = 0.216126073855; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.604 +- 0.126 374,dt,criterion = gini; max_depth = 9; max_features = 0.108945887204; min_samples_leaf = 3; min_samples_split = 4,f1 and cv,0.750 +- 0.227 375,knn,_scale = True; algorithm = ball_tree; leaf_size = 35; metric = minkowski; n_neighbors = 7; p = 3; weights = uniform,f1 and cv,0.750 +- 0.227 376,mlp,_scale = True; activation = logistic; alpha = 0.00842652778583; batch_size = auto; hidden_layer_sizes[0] = 114; hidden_layer_sizes[1] = 133; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.797 +- 0.311 377,knn,_scale = True; algorithm = ball_tree; leaf_size = 21; metric = euclidean; n_neighbors = 6; weights = uniform,f1 and cv,0.651 +- 0.513 378,mlp,_scale = True; activation = identity; alpha = 0.00401452209263; batch_size = auto; hidden_layer_sizes[0] = 61; hidden_layer_sizes[1] = 197; learning_rate = constant; learning_rate_init = 0.617695514235; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.615 +- 0.496 379,knn,_scale = True; algorithm = kd_tree; leaf_size = 49; metric = minkowski; n_neighbors = 10; p = 3; weights = distance,f1 and cv,0.670 +- 0.095 380,mlp,_scale = True; activation = tanh; alpha = 0.0073362195518; batch_size = auto; hidden_layer_sizes[0] = 215; learning_rate = adaptive; learning_rate_init = 0.0390695367536; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.861 +- 0.268 381,mlp,_scale = True; activation = identity; alpha = 0.00485582735763; batch_size = auto; beta_1 = 0.917131038685; beta_2 = 0.935884839678; hidden_layer_sizes[0] = 281; hidden_layer_sizes[1] = 265; hidden_layer_sizes[2] = 126; learning_rate_init = 0.221448368641; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.617 +- 0.548 382,dt,criterion = entropy; max_depth = 5; max_features = 0.166993450906; min_samples_leaf = 1; min_samples_split = 3,f1 and cv,0.429 +- 0.591 383,knn,_scale = True; algorithm = kd_tree; leaf_size = 20; metric = chebyshev; n_neighbors = 3; weights = distance,f1 and cv,0.672 +- 0.412 384,mlp,_scale = True; activation = identity; alpha = 0.00464886411401; batch_size = auto; hidden_layer_sizes[0] = 13; hidden_layer_sizes[1] = 232; learning_rate = adaptive; learning_rate_init = 0.0632747534908; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.816 +- 0.257 385,mlp,_scale = True; activation = tanh; alpha = 0.00401985656003; batch_size = auto; hidden_layer_sizes[0] = 52; hidden_layer_sizes[1] = 156; hidden_layer_sizes[2] = 213; learning_rate = constant; learning_rate_init = 0.332540258775; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.733 +- 0.415 386,knn,_scale = True; algorithm = ball_tree; leaf_size = 17; metric = chebyshev; n_neighbors = 15; weights = distance,f1 and cv,0.632 +- 0.277 387,knn,_scale = True; algorithm = kd_tree; leaf_size = 3; metric = euclidean; n_neighbors = 19; weights = distance,f1 and cv,0.773 +- 0.223 388,mlp,_scale = True; activation = tanh; alpha = 0.00305833390841; batch_size = auto; hidden_layer_sizes[0] = 34; hidden_layer_sizes[1] = 142; hidden_layer_sizes[2] = 145; learning_rate = adaptive; learning_rate_init = 0.112840364065; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.771 +- 0.272 389,gp,alpha = 0.182090203556; kernel = rational_quadratic; length_scale = 0.855181474309,f1 and cv,0.640 +- 0.371 390,mlp,_scale = True; activation = tanh; alpha = 0.00869573862285; batch_size = auto; hidden_layer_sizes[0] = 286; hidden_layer_sizes[1] = 69; hidden_layer_sizes[2] = 55; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.687 +- 0.262 391,mlp,_scale = True; activation = identity; alpha = 0.00845461272476; batch_size = auto; hidden_layer_sizes[0] = 226; hidden_layer_sizes[1] = 72; hidden_layer_sizes[2] = 276; learning_rate = invscaling; learning_rate_init = 0.93455425833; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.741 +- 0.356 392,mlp,_scale = True; activation = logistic; alpha = 0.00561501028415; batch_size = auto; hidden_layer_sizes[0] = 163; hidden_layer_sizes[1] = 68; hidden_layer_sizes[2] = 107; learning_rate = adaptive; learning_rate_init = 0.200200463088; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.747 +- 0.054 393,logreg,C = 1.60164244522e-05; _scale = True; class_weight = balanced; dual = False; fit_intercept = True; penalty = l2; tol = 1.01690187877,f1 and cv,0.859 +- 0.170 394,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 20; weights = distance,f1 and cv,0.625 +- 0.387 395,mlp,_scale = True; activation = identity; alpha = 0.00119263797158; batch_size = auto; hidden_layer_sizes[0] = 122; learning_rate = invscaling; learning_rate_init = 0.934435482261; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.652 +- 0.485 396,rf,criterion = gini; max_depth = 3; max_features = 0.150862533492; min_samples_leaf = 3; n_estimators = 100; n_jobs = -1,f1 and cv,0.761 +- 0.398 397,logreg,C = 0.967685528007; _scale = True; class_weight = balanced; dual = True; fit_intercept = True; penalty = l2; tol = 1.83932774191e-05,f1 and cv,0.709 +- 0.472 398,mlp,_scale = True; activation = identity; alpha = 0.00746032482678; batch_size = auto; hidden_layer_sizes[0] = 192; hidden_layer_sizes[1] = 126; hidden_layer_sizes[2] = 287; learning_rate = constant; learning_rate_init = 0.82811770041; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.296 +- 0.350 399,mlp,_scale = True; activation = logistic; alpha = 0.00359218773566; batch_size = auto; beta_1 = 0.90583908353; beta_2 = 0.900979473187; hidden_layer_sizes[0] = 32; hidden_layer_sizes[1] = 144; learning_rate_init = 0.28498347755; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.276 +- 0.677 400,mlp,_scale = True; activation = tanh; alpha = 0.00845076814561; batch_size = auto; hidden_layer_sizes[0] = 277; learning_rate = invscaling; learning_rate_init = 0.159481059923; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.622 +- 0.207 401,mlp,_scale = True; activation = relu; alpha = 0.000195331257204; batch_size = auto; beta_1 = 0.920194042804; beta_2 = 0.975423056122; hidden_layer_sizes[0] = 190; hidden_layer_sizes[1] = 59; hidden_layer_sizes[2] = 253; learning_rate_init = 0.169574009451; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.400 +- 0.653 402,mlp,_scale = True; activation = identity; alpha = 0.00329927031433; batch_size = auto; beta_1 = 0.941757958353; beta_2 = 0.984237582581; hidden_layer_sizes[0] = 93; learning_rate_init = 0.901945226902; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.701 +- 0.255 403,rf,criterion = entropy; max_depth = 2; max_features = 0.41285462442; min_samples_leaf = 2; n_estimators = 100; n_jobs = -1,f1 and cv,0.632 +- 0.368 404,mlp,_scale = True; activation = relu; alpha = 0.000428898465953; batch_size = auto; beta_1 = 0.959339229263; beta_2 = 0.994065423552; hidden_layer_sizes[0] = 27; learning_rate_init = 0.795784105474; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.850 +- 0.274 405,logreg,C = 4.5460426167; _scale = True; class_weight = balanced; fit_intercept = False; penalty = l1; tol = 1.40360408069e-05,f1 and cv,0.681 +- 0.304 406,mlp,_scale = True; activation = tanh; alpha = 0.0028229308381; batch_size = auto; hidden_layer_sizes[0] = 197; hidden_layer_sizes[1] = 135; learning_rate = invscaling; learning_rate_init = 0.168697613502; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.703 +- 0.225 407,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 6; p = 1; weights = uniform,f1 and cv,0.705 +- 0.435 408,logreg,C = 1252.28657932; _scale = True; class_weight = balanced; fit_intercept = True; penalty = l1; tol = 0.0136986779605,f1 and cv,0.807 +- 0.237 409,mlp,_scale = True; activation = logistic; alpha = 0.00741827562275; batch_size = auto; hidden_layer_sizes[0] = 194; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.590 +- 0.151 410,mlp,_scale = True; activation = tanh; alpha = 0.00622598644367; batch_size = auto; hidden_layer_sizes[0] = 270; learning_rate = constant; learning_rate_init = 0.354688363605; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.726 +- 0.206 411,mlp,_scale = True; activation = logistic; alpha = 0.00788566657083; batch_size = auto; hidden_layer_sizes[0] = 229; hidden_layer_sizes[1] = 126; learning_rate = adaptive; learning_rate_init = 0.950873013335; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.133 +- 0.533 412,knn,_scale = True; algorithm = ball_tree; leaf_size = 39; metric = euclidean; n_neighbors = 14; weights = distance,f1 and cv,0.826 +- 0.138 413,mlp,_scale = True; activation = relu; alpha = 0.00537555401414; batch_size = auto; hidden_layer_sizes[0] = 113; hidden_layer_sizes[1] = 197; hidden_layer_sizes[2] = 73; learning_rate = invscaling; learning_rate_init = 0.0267762886009; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.745 +- 0.274 414,mlp,_scale = True; activation = relu; alpha = 0.000745945658486; batch_size = auto; hidden_layer_sizes[0] = 236; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.695 +- 0.163 415,mlp,_scale = True; activation = relu; alpha = 0.000283001198362; batch_size = auto; hidden_layer_sizes[0] = 203; learning_rate = adaptive; learning_rate_init = 0.706117587961; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.749 +- 0.250 416,mlp,_scale = True; activation = logistic; alpha = 0.00730978534392; batch_size = auto; hidden_layer_sizes[0] = 230; hidden_layer_sizes[1] = 206; hidden_layer_sizes[2] = 134; learning_rate = invscaling; learning_rate_init = 0.440721884626; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.533 +- 0.533 417,knn,_scale = True; algorithm = ball_tree; leaf_size = 11; metric = minkowski; n_neighbors = 9; p = 1; weights = distance,f1 and cv,0.669 +- 0.364 418,mlp,_scale = True; activation = logistic; alpha = 0.000171271671167; batch_size = auto; beta_1 = 0.913623948599; beta_2 = 0.802750244192; hidden_layer_sizes[0] = 21; learning_rate_init = 0.339338004717; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.700 +- 0.082 419,mlp,_scale = True; activation = tanh; alpha = 0.00146966504813; batch_size = auto; hidden_layer_sizes[0] = 64; hidden_layer_sizes[1] = 284; hidden_layer_sizes[2] = 271; learning_rate = invscaling; learning_rate_init = 0.67622687065; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.676 +- 0.221 420,mlp,_scale = True; activation = logistic; alpha = 0.00284583323507; batch_size = auto; hidden_layer_sizes[0] = 284; hidden_layer_sizes[1] = 278; hidden_layer_sizes[2] = 29; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.615 +- 0.327 421,mlp,_scale = True; activation = relu; alpha = 0.00246551206649; batch_size = auto; hidden_layer_sizes[0] = 126; learning_rate = constant; learning_rate_init = 0.786268327469; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.757 +- 0.278 422,mlp,_scale = True; activation = relu; alpha = 0.0029147398737; batch_size = auto; hidden_layer_sizes[0] = 250; hidden_layer_sizes[1] = 65; hidden_layer_sizes[2] = 295; learning_rate = constant; learning_rate_init = 0.803964441675; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.699 +- 0.157 423,knn,_scale = True; algorithm = kd_tree; leaf_size = 27; metric = chebyshev; n_neighbors = 19; weights = uniform,f1 and cv,0.750 +- 0.059 424,mlp,_scale = True; activation = relu; alpha = 0.0081261216967; batch_size = auto; beta_1 = 0.908411404654; beta_2 = 0.847630903201; hidden_layer_sizes[0] = 12; hidden_layer_sizes[1] = 121; learning_rate_init = 0.143989380824; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.769 +- 0.428 425,mlp,_scale = True; activation = tanh; alpha = 0.00100939898622; batch_size = auto; beta_1 = 0.844457073643; beta_2 = 0.838067121764; hidden_layer_sizes[0] = 63; learning_rate_init = 0.717866049935; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.750 +- 0.170 426,mlp,_scale = True; activation = logistic; alpha = 0.00288914414818; batch_size = auto; hidden_layer_sizes[0] = 67; hidden_layer_sizes[1] = 142; learning_rate = invscaling; learning_rate_init = 0.352955841168; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.702 +- 0.490 427,knn,_scale = True; algorithm = kd_tree; leaf_size = 30; metric = manhattan; n_neighbors = 20; weights = uniform,f1 and cv,0.832 +- 0.124 428,mlp,_scale = True; activation = identity; alpha = 0.00140816205686; batch_size = auto; hidden_layer_sizes[0] = 10; learning_rate = adaptive; learning_rate_init = 0.0944175784958; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.750 +- 0.170 429,mlp,_scale = True; activation = identity; alpha = 0.00783662044065; batch_size = auto; hidden_layer_sizes[0] = 239; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.707 +- 0.294 430,mnb,_scale_minmax = True; alpha = 0.492055291906; class_prior = None; fit_prior = 1,f1 and cv,0.712 +- 0.456 431,logreg,C = 0.000278916797761; _scale = True; class_weight = balanced; dual = True; fit_intercept = False; penalty = l2; tol = 0.0206323536789,f1 and cv,0.663 +- 0.380 432,knn,_scale = True; algorithm = kd_tree; leaf_size = 29; metric = euclidean; n_neighbors = 15; weights = uniform,f1 and cv,0.794 +- 0.262 433,knn,_scale = True; algorithm = ball_tree; leaf_size = 12; metric = chebyshev; n_neighbors = 18; weights = uniform,f1 and cv,0.793 +- 0.068 434,mlp,_scale = True; activation = identity; alpha = 0.00208091410978; batch_size = auto; beta_1 = 0.816252078499; beta_2 = 0.870129705441; hidden_layer_sizes[0] = 34; hidden_layer_sizes[1] = 113; learning_rate_init = 0.389325580924; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.699 +- 0.337 435,logreg,C = 0.0296010907802; _scale = True; class_weight = balanced; dual = False; fit_intercept = False; penalty = l2; tol = 0.0158808734364,f1 and cv,0.830 +- 0.288 436,mlp,_scale = True; activation = relu; alpha = 0.000511133897707; batch_size = auto; hidden_layer_sizes[0] = 121; hidden_layer_sizes[1] = 30; hidden_layer_sizes[2] = 275; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.729 +- 0.307 437,mlp,_scale = True; activation = tanh; alpha = 0.00227938787745; batch_size = auto; hidden_layer_sizes[0] = 269; hidden_layer_sizes[1] = 262; learning_rate = constant; learning_rate_init = 0.140202485062; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.788 +- 0.240 438,mlp,_scale = True; activation = relu; alpha = 0.00593079281063; batch_size = auto; hidden_layer_sizes[0] = 52; hidden_layer_sizes[1] = 231; learning_rate = invscaling; learning_rate_init = 0.240954688484; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.881 +- 0.132 439,mlp,_scale = True; activation = identity; alpha = 0.00636815513417; batch_size = auto; hidden_layer_sizes[0] = 300; hidden_layer_sizes[1] = 136; hidden_layer_sizes[2] = 47; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.691 +- 0.238 440,mlp,_scale = True; activation = relu; alpha = 0.00162899152143; batch_size = auto; hidden_layer_sizes[0] = 143; hidden_layer_sizes[1] = 274; learning_rate = constant; learning_rate_init = 0.937026101117; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.500 +- 0.566 441,knn,_scale = True; algorithm = brute; metric = minkowski; n_neighbors = 5; p = 1; weights = distance,f1 and cv,0.753 +- 0.098 442,mlp,_scale = True; activation = relu; alpha = 0.00218070458954; batch_size = auto; hidden_layer_sizes[0] = 25; learning_rate = invscaling; learning_rate_init = 0.662341323068; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.583 +- 0.676 443,mlp,_scale = True; activation = tanh; alpha = 0.00062661613995; batch_size = auto; hidden_layer_sizes[0] = 214; learning_rate = adaptive; learning_rate_init = 0.945407980255; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.775 +- 0.128 444,mlp,_scale = True; activation = tanh; alpha = 0.00563969847861; batch_size = auto; hidden_layer_sizes[0] = 119; len(hidden_layer_sizes) = 1; solver = lbfgs,f1 and cv,0.803 +- 0.295 445,mlp,_scale = True; activation = relu; alpha = 0.000307091673804; batch_size = auto; hidden_layer_sizes[0] = 86; hidden_layer_sizes[1] = 212; learning_rate = adaptive; learning_rate_init = 0.908847725115; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.727 +- 0.338 446,mlp,_scale = True; activation = tanh; alpha = 0.00732152637602; batch_size = auto; hidden_layer_sizes[0] = 205; hidden_layer_sizes[1] = 139; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.791 +- 0.290 447,svm,C = 0.0368614581556; _scale = True; cache_size = 15000; class_weight = balanced; coef0 = 318; gamma = 0.000384642071511; kernel = sigmoid; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.246 +- 0.603 448,knn,_scale = True; algorithm = kd_tree; leaf_size = 40; metric = manhattan; n_neighbors = 17; weights = distance,f1 and cv,0.902 +- 0.182 449,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 9; weights = uniform,f1 and cv,0.727 +- 0.193 450,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 10; weights = distance,f1 and cv,0.761 +- 0.398 451,mlp,_scale = True; activation = identity; alpha = 0.000426457511073; batch_size = auto; hidden_layer_sizes[0] = 161; hidden_layer_sizes[1] = 292; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.872 +- 0.175 452,knn,_scale = True; algorithm = ball_tree; leaf_size = 37; metric = manhattan; n_neighbors = 9; weights = distance,f1 and cv,0.638 +- 0.284 453,mlp,_scale = True; activation = logistic; alpha = 0.00540399487598; batch_size = auto; hidden_layer_sizes[0] = 115; hidden_layer_sizes[1] = 136; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.661 +- 0.700 454,mlp,_scale = True; activation = relu; alpha = 0.00771470852914; batch_size = auto; hidden_layer_sizes[0] = 5; hidden_layer_sizes[1] = 165; len(hidden_layer_sizes) = 2; solver = lbfgs,f1 and cv,0.842 +- 0.250 455,knn,_scale = True; algorithm = ball_tree; leaf_size = 28; metric = manhattan; n_neighbors = 4; weights = uniform,f1 and cv,0.681 +- 0.132 456,mlp,_scale = True; activation = tanh; alpha = 0.00253079358354; batch_size = auto; beta_1 = 0.823794545233; beta_2 = 0.948546494758; hidden_layer_sizes[0] = 295; hidden_layer_sizes[1] = 82; learning_rate_init = 0.667021938282; len(hidden_layer_sizes) = 2; solver = adam,f1 and cv,0.742 +- 0.308 457,knn,_scale = True; algorithm = brute; metric = euclidean; n_neighbors = 11; weights = uniform,f1 and cv,0.753 +- 0.249 458,mlp,_scale = True; activation = identity; alpha = 0.00685358608646; batch_size = auto; hidden_layer_sizes[0] = 11; hidden_layer_sizes[1] = 229; learning_rate = adaptive; learning_rate_init = 0.452907530524; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.676 +- 0.469 459,gp,kernel = exp_sine_squared; length_scale = 7.11795937741; periodicity = 0,f1 and cv,0.283 +- 0.696 460,mlp,_scale = True; activation = tanh; alpha = 0.0063995280768; batch_size = auto; hidden_layer_sizes[0] = 70; hidden_layer_sizes[1] = 123; learning_rate = adaptive; learning_rate_init = 0.58052736282; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.731 +- 0.163 461,knn,_scale = True; algorithm = kd_tree; leaf_size = 37; metric = minkowski; n_neighbors = 6; p = 3; weights = uniform,f1 and cv,0.729 +- 0.201 462,mlp,_scale = True; activation = relu; alpha = 0.00331037145362; batch_size = auto; hidden_layer_sizes[0] = 80; hidden_layer_sizes[1] = 270; hidden_layer_sizes[2] = 286; learning_rate = adaptive; learning_rate_init = 0.313104479189; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.700 +- 0.380 463,dt,criterion = gini; max_depth = 9; max_features = 0.138857531509; min_samples_leaf = 3; min_samples_split = 4,f1 and cv,0.644 +- 0.225 464,knn,_scale = True; algorithm = ball_tree; leaf_size = 34; metric = minkowski; n_neighbors = 7; p = 3; weights = uniform,f1 and cv,0.648 +- 0.436 465,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 5; weights = uniform,f1 and cv,0.682 +- 0.431 466,svm,C = 102.258926361; _scale = True; cache_size = 15000; class_weight = balanced; kernel = linear; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.677 +- 0.325 467,mlp,_scale = True; activation = identity; alpha = 0.00184403295863; batch_size = auto; hidden_layer_sizes[0] = 12; learning_rate = constant; learning_rate_init = 0.752839342155; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.791 +- 0.127 468,knn,_scale = True; algorithm = brute; metric = chebyshev; n_neighbors = 4; weights = distance,f1 and cv,0.709 +- 0.138 469,mlp,_scale = True; activation = tanh; alpha = 0.00137294889179; batch_size = auto; beta_1 = 0.959866560165; beta_2 = 0.821066085136; hidden_layer_sizes[0] = 284; hidden_layer_sizes[1] = 201; hidden_layer_sizes[2] = 255; learning_rate_init = 0.736644894148; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.569 +- 0.673 470,mlp,_scale = True; activation = identity; alpha = 0.000486219422539; batch_size = auto; hidden_layer_sizes[0] = 185; hidden_layer_sizes[1] = 9; learning_rate = invscaling; learning_rate_init = 0.641659882016; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.819 +- 0.154 471,mlp,_scale = True; activation = tanh; alpha = 0.00747570700742; batch_size = auto; hidden_layer_sizes[0] = 47; hidden_layer_sizes[1] = 208; hidden_layer_sizes[2] = 292; learning_rate = constant; learning_rate_init = 0.21112595927; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.798 +- 0.146 472,svm,C = 1.31126672447e-05; _scale = True; cache_size = 15000; class_weight = balanced; coef0 = -290; degree = 2; gamma = 0.00208706079903; kernel = poly; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.000 +- 0.000 473,knn,_scale = True; algorithm = kd_tree; leaf_size = 49; metric = minkowski; n_neighbors = 9; p = 2; weights = distance,f1 and cv,0.737 +- 0.280 474,knn,_scale = True; algorithm = ball_tree; leaf_size = 21; metric = euclidean; n_neighbors = 7; weights = uniform,f1 and cv,0.715 +- 0.189 475,knn,_scale = True; algorithm = kd_tree; leaf_size = 3; metric = euclidean; n_neighbors = 19; weights = distance,f1 and cv,0.741 +- 0.123 476,mlp,_scale = True; activation = logistic; alpha = 0.00396031698603; batch_size = auto; hidden_layer_sizes[0] = 124; hidden_layer_sizes[1] = 79; learning_rate = constant; learning_rate_init = 0.564636871594; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.552 +- 0.554 477,knn,_scale = True; algorithm = kd_tree; leaf_size = 20; metric = chebyshev; n_neighbors = 4; weights = distance,f1 and cv,0.667 +- 0.266 478,mlp,_scale = True; activation = logistic; alpha = 0.00556180166425; batch_size = auto; hidden_layer_sizes[0] = 131; learning_rate = invscaling; learning_rate_init = 0.160243869884; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.779 +- 0.237 479,mlp,_scale = True; activation = tanh; alpha = 0.00120699276098; batch_size = auto; hidden_layer_sizes[0] = 38; hidden_layer_sizes[1] = 145; hidden_layer_sizes[2] = 143; learning_rate = adaptive; learning_rate_init = 0.747669498487; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.770 +- 0.320 480,mlp,_scale = True; activation = logistic; alpha = 0.00444853705037; batch_size = auto; hidden_layer_sizes[0] = 199; learning_rate = adaptive; learning_rate_init = 0.0274133674446; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.743 +- 0.360 481,mlp,_scale = True; activation = logistic; alpha = 0.001720610868; batch_size = auto; hidden_layer_sizes[0] = 173; learning_rate = constant; learning_rate_init = 0.444987370156; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.623 +- 0.046 482,mlp,_scale = True; activation = identity; alpha = 0.000891053940475; batch_size = auto; hidden_layer_sizes[0] = 268; hidden_layer_sizes[1] = 65; learning_rate = constant; learning_rate_init = 0.739013351708; len(hidden_layer_sizes) = 2; solver = sgd,f1 and cv,0.407 +- 0.502 483,mlp,_scale = True; activation = identity; alpha = 0.00665577663657; batch_size = auto; beta_1 = 0.83627310194; beta_2 = 0.841887465659; hidden_layer_sizes[0] = 146; hidden_layer_sizes[1] = 239; hidden_layer_sizes[2] = 158; learning_rate_init = 0.383080936147; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.670 +- 0.315 484,knn,_scale = True; algorithm = ball_tree; leaf_size = 16; metric = chebyshev; n_neighbors = 15; weights = distance,f1 and cv,0.571 +- 0.369 485,mlp,_scale = True; activation = logistic; alpha = 0.00627313306934; batch_size = auto; beta_1 = 0.929895349149; beta_2 = 0.883694176744; hidden_layer_sizes[0] = 128; hidden_layer_sizes[1] = 71; hidden_layer_sizes[2] = 189; learning_rate_init = 0.208134673461; len(hidden_layer_sizes) = 3; solver = adam,f1 and cv,0.369 +- 0.603 486,mlp,_scale = True; activation = identity; alpha = 0.00453565697523; batch_size = auto; hidden_layer_sizes[0] = 294; hidden_layer_sizes[1] = 36; hidden_layer_sizes[2] = 107; learning_rate = invscaling; learning_rate_init = 0.151870545818; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.789 +- 0.087 487,mlp,_scale = True; activation = tanh; alpha = 0.0043695975583; batch_size = auto; hidden_layer_sizes[0] = 84; hidden_layer_sizes[1] = 84; hidden_layer_sizes[2] = 296; len(hidden_layer_sizes) = 3; solver = lbfgs,f1 and cv,0.743 +- 0.212 488,logreg,C = 1.52099093805e-05; _scale = True; class_weight = balanced; dual = False; fit_intercept = True; penalty = l2; tol = 0.493534653924,f1 and cv,0.793 +- 0.158 489,gp,alpha = 0.00587756090147; kernel = rational_quadratic; length_scale = 0.778148394697,f1 and cv,0.468 +- 0.592 490,mlp,_scale = True; activation = logistic; alpha = 0.00078367842815; batch_size = auto; hidden_layer_sizes[0] = 169; hidden_layer_sizes[1] = 67; hidden_layer_sizes[2] = 109; learning_rate = adaptive; learning_rate_init = 0.275981871226; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.133 +- 0.533 491,dt,criterion = entropy; max_depth = 5; max_features = 0.667360237316; min_samples_leaf = 1; min_samples_split = 3,f1 and cv,0.601 +- 0.208 492,mlp,_scale = True; activation = logistic; alpha = 0.00691480278598; batch_size = auto; hidden_layer_sizes[0] = 217; hidden_layer_sizes[1] = 264; hidden_layer_sizes[2] = 30; learning_rate = constant; learning_rate_init = 0.16514303414; len(hidden_layer_sizes) = 3; solver = sgd,f1 and cv,0.000 +- 0.000 493,rf,criterion = gini; max_depth = 3; max_features = 0.10933184867; min_samples_leaf = 3; n_estimators = 100; n_jobs = -1,f1 and cv,0.676 +- 0.456 494,mlp,_scale = True; activation = relu; alpha = 0.00769076251375; batch_size = auto; beta_1 = 0.852683579836; beta_2 = 0.985173521755; hidden_layer_sizes[0] = 26; learning_rate_init = 0.578940068582; len(hidden_layer_sizes) = 1; solver = adam,f1 and cv,0.712 +- 0.205 495,knn,_scale = True; algorithm = brute; metric = manhattan; n_neighbors = 20; weights = distance,f1 and cv,0.769 +- 0.203 496,knn,_scale = True; algorithm = ball_tree; leaf_size = 38; metric = euclidean; n_neighbors = 14; weights = distance,f1 and cv,0.767 +- 0.149 497,mlp,_scale = True; activation = identity; alpha = 0.00652788140446; batch_size = auto; hidden_layer_sizes[0] = 121; learning_rate = invscaling; learning_rate_init = 0.904858902526; len(hidden_layer_sizes) = 1; solver = sgd,f1 and cv,0.829 +- 0.355 498,logreg,C = 2.61823955419; _scale = True; class_weight = balanced; dual = True; fit_intercept = True; penalty = l2; tol = 0.405019619021,f1 and cv,0.743 +- 0.086 499,svm,C = 4.98940364301e-05; _scale = True; cache_size = 15000; class_weight = balanced; gamma = 0.445917007271; kernel = rbf; max_iter = 50000; probability = True; shrinking = True,f1 and cv,0.286 +- 0.700 ================================================ FILE: public/viz/dataset_31_credit-g.csv ================================================ checking_status,duration,credit_history,purpose,credit_amount,savings_status,employment,installment_commitment,personal_status,other_parties,residence_since,property_magnitude,age,other_payment_plans,housing,existing_credits,job,num_dependents,own_telephone,foreign_worker,class '<0',6,'critical/other existing credit',radio/tv,1169,'no known savings','>=7',4,'male single',none,4,'real estate',67,none,own,2,skilled,1,yes,yes,good '0<=X<200',48,'existing paid',radio/tv,5951,'<100','1<=X<4',2,'female div/dep/mar',none,2,'real estate',22,none,own,1,skilled,1,none,yes,bad 'no checking',12,'critical/other existing credit',education,2096,'<100','4<=X<7',2,'male single',none,3,'real estate',49,none,own,1,'unskilled resident',2,none,yes,good '<0',42,'existing paid',furniture/equipment,7882,'<100','4<=X<7',2,'male single',guarantor,4,'life insurance',45,none,'for free',1,skilled,2,none,yes,good '<0',24,'delayed previously','new car',4870,'<100','1<=X<4',3,'male single',none,4,'no known property',53,none,'for free',2,skilled,2,none,yes,bad 'no checking',36,'existing paid',education,9055,'no known savings','1<=X<4',2,'male single',none,4,'no known property',35,none,'for free',1,'unskilled resident',2,yes,yes,good 'no checking',24,'existing paid',furniture/equipment,2835,'500<=X<1000','>=7',3,'male single',none,4,'life insurance',53,none,own,1,skilled,1,none,yes,good '0<=X<200',36,'existing paid','used car',6948,'<100','1<=X<4',2,'male single',none,2,car,35,none,rent,1,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',12,'existing paid',radio/tv,3059,'>=1000','4<=X<7',2,'male div/sep',none,4,'real estate',61,none,own,1,'unskilled resident',1,none,yes,good '0<=X<200',30,'critical/other existing credit','new car',5234,'<100',unemployed,4,'male mar/wid',none,2,car,28,none,own,2,'high qualif/self emp/mgmt',1,none,yes,bad '0<=X<200',12,'existing paid','new car',1295,'<100','<1',3,'female div/dep/mar',none,1,car,25,none,rent,1,skilled,1,none,yes,bad '<0',48,'existing paid',business,4308,'<100','<1',3,'female div/dep/mar',none,4,'life insurance',24,none,rent,1,skilled,1,none,yes,bad '0<=X<200',12,'existing paid',radio/tv,1567,'<100','1<=X<4',1,'female div/dep/mar',none,1,car,22,none,own,1,skilled,1,yes,yes,good '<0',24,'critical/other existing credit','new car',1199,'<100','>=7',4,'male single',none,4,car,60,none,own,2,'unskilled resident',1,none,yes,bad '<0',15,'existing paid','new car',1403,'<100','1<=X<4',2,'female div/dep/mar',none,4,car,28,none,rent,1,skilled,1,none,yes,good '<0',24,'existing paid',radio/tv,1282,'100<=X<500','1<=X<4',4,'female div/dep/mar',none,2,car,32,none,own,1,'unskilled resident',1,none,yes,bad 'no checking',24,'critical/other existing credit',radio/tv,2424,'no known savings','>=7',4,'male single',none,4,'life insurance',53,none,own,2,skilled,1,none,yes,good '<0',30,'no credits/all paid',business,8072,'no known savings','<1',2,'male single',none,3,car,25,bank,own,3,skilled,1,none,yes,good '0<=X<200',24,'existing paid','used car',12579,'<100','>=7',4,'female div/dep/mar',none,2,'no known property',44,none,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',24,'existing paid',radio/tv,3430,'500<=X<1000','>=7',3,'male single',none,2,car,31,none,own,1,skilled,2,yes,yes,good 'no checking',9,'critical/other existing credit','new car',2134,'<100','1<=X<4',4,'male single',none,4,car,48,none,own,3,skilled,1,yes,yes,good '<0',6,'existing paid',radio/tv,2647,'500<=X<1000','1<=X<4',2,'male single',none,3,'real estate',44,none,rent,1,skilled,2,none,yes,good '<0',10,'critical/other existing credit','new car',2241,'<100','<1',1,'male single',none,3,'real estate',48,none,rent,2,'unskilled resident',2,none,no,good '0<=X<200',12,'critical/other existing credit','used car',1804,'100<=X<500','<1',3,'male single',none,4,'life insurance',44,none,own,1,skilled,1,none,yes,good 'no checking',10,'critical/other existing credit',furniture/equipment,2069,'no known savings','1<=X<4',2,'male mar/wid',none,1,car,26,none,own,2,skilled,1,none,no,good '<0',6,'existing paid',furniture/equipment,1374,'<100','1<=X<4',1,'male single',none,2,'real estate',36,bank,own,1,'unskilled resident',1,yes,yes,good 'no checking',6,'no credits/all paid',radio/tv,426,'<100','>=7',4,'male mar/wid',none,4,car,39,none,own,1,'unskilled resident',1,none,yes,good '>=200',12,'all paid',radio/tv,409,'>=1000','1<=X<4',3,'female div/dep/mar',none,3,'real estate',42,none,rent,2,skilled,1,none,yes,good '0<=X<200',7,'existing paid',radio/tv,2415,'<100','1<=X<4',3,'male single',guarantor,2,'real estate',34,none,own,1,skilled,1,none,yes,good '<0',60,'delayed previously',business,6836,'<100','>=7',3,'male single',none,4,'no known property',63,none,own,2,skilled,1,yes,yes,bad '0<=X<200',18,'existing paid',business,1913,'>=1000','<1',3,'male mar/wid',none,3,'real estate',36,bank,own,1,skilled,1,yes,yes,good '<0',24,'existing paid',furniture/equipment,4020,'<100','1<=X<4',2,'male single',none,2,car,27,stores,own,1,skilled,1,none,yes,good '0<=X<200',18,'existing paid','new car',5866,'100<=X<500','1<=X<4',2,'male single',none,2,car,30,none,own,2,skilled,1,yes,yes,good 'no checking',12,'critical/other existing credit',business,1264,'no known savings','>=7',4,'male single',none,4,'no known property',57,none,rent,1,'unskilled resident',1,none,yes,good '>=200',12,'existing paid',furniture/equipment,1474,'<100','<1',4,'female div/dep/mar',none,1,'life insurance',33,bank,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',45,'critical/other existing credit',radio/tv,4746,'<100','<1',4,'male single',none,2,'life insurance',25,none,own,2,'unskilled resident',1,none,yes,bad 'no checking',48,'critical/other existing credit',education,6110,'<100','1<=X<4',1,'male single',none,3,'no known property',31,bank,'for free',1,skilled,1,yes,yes,good '>=200',18,'existing paid',radio/tv,2100,'<100','1<=X<4',4,'male single','co applicant',2,'real estate',37,stores,own,1,skilled,1,none,yes,bad '>=200',10,'existing paid','domestic appliance',1225,'<100','1<=X<4',2,'male single',none,2,car,37,none,own,1,skilled,1,yes,yes,good '0<=X<200',9,'existing paid',radio/tv,458,'<100','1<=X<4',4,'male single',none,3,'real estate',24,none,own,1,skilled,1,none,yes,good 'no checking',30,'existing paid',radio/tv,2333,'500<=X<1000','>=7',4,'male single',none,2,car,30,bank,own,1,'high qualif/self emp/mgmt',1,none,yes,good '0<=X<200',12,'existing paid',radio/tv,1158,'500<=X<1000','1<=X<4',3,'male div/sep',none,1,car,26,none,own,1,skilled,1,yes,yes,good '0<=X<200',18,'delayed previously',repairs,6204,'<100','1<=X<4',2,'male single',none,4,'real estate',44,none,own,1,'unskilled resident',2,yes,yes,good '<0',30,'critical/other existing credit','used car',6187,'100<=X<500','4<=X<7',1,'male mar/wid',none,4,car,24,none,rent,2,skilled,1,none,yes,good '<0',48,'critical/other existing credit','used car',6143,'<100','>=7',4,'female div/dep/mar',none,4,'no known property',58,stores,'for free',2,'unskilled resident',1,none,yes,bad 'no checking',11,'critical/other existing credit','new car',1393,'<100','<1',4,'female div/dep/mar',none,4,car,35,none,own,2,'high qualif/self emp/mgmt',1,none,yes,good 'no checking',36,'existing paid',radio/tv,2299,'500<=X<1000','>=7',4,'male single',none,4,car,39,none,own,1,skilled,1,none,yes,good '<0',6,'existing paid','used car',1352,'500<=X<1000',unemployed,1,'female div/dep/mar',none,2,'life insurance',23,none,rent,1,'unemp/unskilled non res',1,yes,yes,good 'no checking',11,'critical/other existing credit','new car',7228,'<100','1<=X<4',1,'male single',none,4,'life insurance',39,none,own,2,'unskilled resident',1,none,yes,good 'no checking',12,'existing paid',radio/tv,2073,'100<=X<500','1<=X<4',4,'female div/dep/mar','co applicant',2,'real estate',28,none,own,1,skilled,1,none,yes,good '0<=X<200',24,'delayed previously',furniture/equipment,2333,'no known savings','<1',4,'male single',none,2,'life insurance',29,bank,own,1,'unskilled resident',1,none,yes,good '0<=X<200',27,'delayed previously','used car',5965,'<100','>=7',1,'male single',none,2,car,30,none,own,2,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',12,'existing paid',radio/tv,1262,'<100','1<=X<4',3,'male single',none,2,car,25,none,own,1,skilled,1,none,yes,good 'no checking',18,'existing paid','used car',3378,'no known savings','1<=X<4',2,'male single',none,1,'life insurance',31,none,own,1,skilled,1,yes,yes,good '0<=X<200',36,'delayed previously','new car',2225,'<100','>=7',4,'male single',none,4,'no known property',57,bank,'for free',2,skilled,1,yes,yes,bad 'no checking',6,'all paid','new car',783,'no known savings','1<=X<4',1,'male single',guarantor,2,'real estate',26,stores,own,1,'unskilled resident',2,none,yes,good '0<=X<200',12,'existing paid',radio/tv,6468,'no known savings',unemployed,2,'male single',none,1,'no known property',52,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',36,'critical/other existing credit',radio/tv,9566,'<100','1<=X<4',2,'female div/dep/mar',none,2,car,31,stores,own,2,skilled,1,none,yes,good '>=200',18,'existing paid','new car',1961,'<100','>=7',3,'female div/dep/mar',none,2,car,23,none,own,1,'high qualif/self emp/mgmt',1,none,yes,good '<0',36,'critical/other existing credit',furniture/equipment,6229,'<100','<1',4,'female div/dep/mar','co applicant',4,'no known property',23,none,rent,2,'unskilled resident',1,yes,yes,bad '0<=X<200',9,'existing paid',business,1391,'<100','1<=X<4',2,'male mar/wid',none,1,'real estate',27,bank,own,1,skilled,1,yes,yes,good '0<=X<200',15,'critical/other existing credit',radio/tv,1537,'no known savings','>=7',4,'male single',guarantor,4,'real estate',50,none,own,2,skilled,1,yes,yes,good '0<=X<200',36,'no credits/all paid',business,1953,'<100','>=7',4,'male single',none,4,'no known property',61,none,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,bad '0<=X<200',48,'no credits/all paid',business,14421,'<100','1<=X<4',2,'male single',none,2,car,25,none,own,1,skilled,1,yes,yes,bad 'no checking',24,'existing paid',radio/tv,3181,'<100','<1',4,'female div/dep/mar',none,4,'life insurance',26,none,own,1,skilled,1,yes,yes,good 'no checking',27,'existing paid',repairs,5190,'no known savings','>=7',4,'male single',none,4,'life insurance',48,none,own,4,skilled,2,yes,yes,good 'no checking',12,'existing paid',radio/tv,2171,'<100','<1',2,'female div/dep/mar',none,2,car,29,bank,own,1,skilled,1,none,yes,good '0<=X<200',12,'existing paid','new car',1007,'>=1000','1<=X<4',4,'male mar/wid',none,1,'real estate',22,none,own,1,skilled,1,none,yes,good 'no checking',36,'existing paid',education,1819,'<100','1<=X<4',4,'male single',none,4,'no known property',37,stores,'for free',1,skilled,1,yes,yes,bad 'no checking',36,'existing paid',radio/tv,2394,'no known savings','1<=X<4',4,'female div/dep/mar',none,4,car,25,none,own,1,skilled,1,none,yes,good 'no checking',36,'existing paid','used car',8133,'<100','1<=X<4',1,'female div/dep/mar',none,2,'life insurance',30,bank,own,1,skilled,1,none,yes,good 'no checking',7,'critical/other existing credit',radio/tv,730,'no known savings','>=7',4,'male single',none,2,'life insurance',46,none,rent,2,'unskilled resident',1,yes,yes,good '<0',8,'critical/other existing credit',other,1164,'<100','>=7',3,'male single',none,4,'no known property',51,bank,'for free',2,'high qualif/self emp/mgmt',2,yes,yes,good '0<=X<200',42,'critical/other existing credit',business,5954,'<100','4<=X<7',2,'female div/dep/mar',none,1,'real estate',41,bank,own,2,'unskilled resident',1,none,yes,good '<0',36,'existing paid',education,1977,'no known savings','>=7',4,'male single',none,4,'no known property',40,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,bad '<0',12,'critical/other existing credit','used car',1526,'<100','>=7',4,'male single',none,4,'no known property',66,none,'for free',2,'high qualif/self emp/mgmt',1,none,yes,good '<0',42,'existing paid',radio/tv,3965,'<100','<1',4,'male single',none,3,car,34,none,own,1,skilled,1,none,yes,bad '0<=X<200',11,'delayed previously',radio/tv,4771,'<100','4<=X<7',2,'male single',none,4,'life insurance',51,none,own,1,skilled,1,none,yes,good 'no checking',54,'no credits/all paid','used car',9436,'no known savings','1<=X<4',2,'male single',none,2,'life insurance',39,none,own,1,'unskilled resident',2,none,yes,good '0<=X<200',30,'existing paid',furniture/equipment,3832,'<100','<1',2,'male mar/wid',none,1,'life insurance',22,none,own,1,skilled,1,none,yes,good 'no checking',24,'existing paid',radio/tv,5943,'no known savings','<1',1,'female div/dep/mar',none,1,car,44,none,own,2,skilled,1,yes,yes,bad 'no checking',15,'existing paid',radio/tv,1213,'500<=X<1000','>=7',4,'male single',none,3,'life insurance',47,stores,own,1,skilled,1,yes,yes,good 'no checking',18,'existing paid',business,1568,'100<=X<500','1<=X<4',3,'female div/dep/mar',none,4,'life insurance',24,none,rent,1,'unskilled resident',1,none,yes,good '<0',24,'existing paid',other,1755,'<100','>=7',4,'female div/dep/mar',guarantor,4,'real estate',58,none,own,1,'unskilled resident',1,yes,yes,good '<0',10,'existing paid',radio/tv,2315,'<100','>=7',3,'male single',none,4,'real estate',52,none,own,1,'unskilled resident',1,none,yes,good 'no checking',12,'critical/other existing credit',business,1412,'<100','1<=X<4',4,'female div/dep/mar',guarantor,2,'real estate',29,none,own,2,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',18,'critical/other existing credit',furniture/equipment,1295,'<100','<1',4,'female div/dep/mar',none,1,'life insurance',27,none,own,2,skilled,1,none,yes,good '0<=X<200',36,'existing paid',education,12612,'100<=X<500','1<=X<4',1,'male single',none,4,'no known property',47,none,'for free',1,skilled,2,yes,yes,bad '<0',18,'existing paid','new car',2249,'100<=X<500','4<=X<7',4,'male single',none,3,car,30,none,own,1,'high qualif/self emp/mgmt',2,yes,yes,good '<0',12,'no credits/all paid',repairs,1108,'<100','4<=X<7',4,'male single',none,3,'real estate',28,none,own,2,skilled,1,none,yes,bad 'no checking',12,'critical/other existing credit',radio/tv,618,'<100','>=7',4,'male single',none,4,'real estate',56,none,own,1,skilled,1,none,yes,good '<0',12,'critical/other existing credit','used car',1409,'<100','>=7',4,'male single',none,3,'real estate',54,none,own,1,skilled,1,none,yes,good 'no checking',12,'critical/other existing credit',radio/tv,797,'no known savings','>=7',4,'female div/dep/mar',none,3,'life insurance',33,bank,own,1,'unskilled resident',2,none,yes,bad '>=200',24,'critical/other existing credit',furniture/equipment,3617,'no known savings','>=7',4,'male single','co applicant',4,'no known property',20,none,rent,2,skilled,1,none,yes,good '0<=X<200',12,'existing paid','new car',1318,'>=1000','>=7',4,'male single',none,4,'real estate',54,none,own,1,skilled,1,yes,yes,good '0<=X<200',54,'no credits/all paid',business,15945,'<100','<1',3,'male single',none,4,'no known property',58,none,rent,1,skilled,1,yes,yes,bad 'no checking',12,'critical/other existing credit',education,2012,'no known savings','4<=X<7',4,'female div/dep/mar',none,2,car,61,none,own,1,skilled,1,none,yes,good '0<=X<200',18,'existing paid',business,2622,'100<=X<500','1<=X<4',4,'male single',none,4,car,34,none,own,1,skilled,1,none,yes,good '0<=X<200',36,'critical/other existing credit',radio/tv,2337,'<100','>=7',4,'male single',none,4,'real estate',36,none,own,1,skilled,1,none,yes,good '0<=X<200',20,'delayed previously','used car',7057,'no known savings','4<=X<7',3,'male single',none,4,'life insurance',36,bank,rent,2,'high qualif/self emp/mgmt',2,yes,yes,good 'no checking',24,'existing paid','new car',1469,'100<=X<500','>=7',4,'male mar/wid',none,4,'real estate',41,none,rent,1,'unskilled resident',1,none,yes,good '0<=X<200',36,'existing paid',radio/tv,2323,'<100','4<=X<7',4,'male single',none,4,car,24,none,rent,1,skilled,1,none,yes,good 'no checking',6,'delayed previously',radio/tv,932,'<100','1<=X<4',3,'female div/dep/mar',none,2,'real estate',24,none,own,1,skilled,1,none,yes,good '0<=X<200',9,'critical/other existing credit',furniture/equipment,1919,'<100','4<=X<7',4,'male single',none,3,car,35,none,rent,1,skilled,1,yes,yes,good 'no checking',12,'existing paid','used car',2445,'no known savings','<1',2,'male mar/wid',none,4,car,26,none,rent,1,skilled,1,yes,yes,good '0<=X<200',24,'critical/other existing credit',other,11938,'<100','1<=X<4',2,'male single','co applicant',3,car,39,none,own,2,'high qualif/self emp/mgmt',2,yes,yes,bad 'no checking',18,'all paid','new car',6458,'<100','>=7',2,'male single',none,4,'no known property',39,bank,own,2,'high qualif/self emp/mgmt',2,yes,yes,bad '0<=X<200',12,'existing paid','new car',6078,'<100','4<=X<7',2,'male single',none,2,car,32,none,own,1,skilled,1,none,yes,good '<0',24,'existing paid',furniture/equipment,7721,'no known savings','<1',1,'female div/dep/mar',none,2,'life insurance',30,none,own,1,skilled,1,yes,no,good '0<=X<200',14,'existing paid',business,1410,'500<=X<1000','>=7',1,'male mar/wid',none,2,'real estate',35,none,own,1,skilled,1,yes,yes,good '0<=X<200',6,'delayed previously',business,1449,'100<=X<500','>=7',1,'male div/sep',none,2,car,31,bank,own,2,skilled,2,none,yes,good '>=200',15,'existing paid',education,392,'<100','<1',4,'female div/dep/mar',none,4,'life insurance',23,none,rent,1,skilled,1,yes,yes,good '0<=X<200',18,'existing paid','new car',6260,'<100','4<=X<7',3,'male single',none,3,'real estate',28,none,rent,1,'unskilled resident',1,none,yes,good 'no checking',36,'critical/other existing credit','new car',7855,'<100','1<=X<4',4,'female div/dep/mar',none,2,'real estate',25,stores,own,2,skilled,1,yes,yes,bad '<0',12,'existing paid',radio/tv,1680,'500<=X<1000','>=7',3,'male mar/wid',none,1,'real estate',35,none,own,1,skilled,1,none,yes,good 'no checking',48,'critical/other existing credit',radio/tv,3578,'no known savings','>=7',4,'male single',none,1,'real estate',47,none,own,1,skilled,1,yes,yes,good '<0',42,'existing paid',radio/tv,7174,'no known savings','4<=X<7',4,'female div/dep/mar',none,3,car,30,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,bad '<0',10,'critical/other existing credit',furniture/equipment,2132,'no known savings','<1',2,'female div/dep/mar','co applicant',3,'real estate',27,none,rent,2,skilled,1,none,no,good '<0',33,'critical/other existing credit',furniture/equipment,4281,'500<=X<1000','1<=X<4',1,'female div/dep/mar',none,4,car,23,none,own,2,skilled,1,none,yes,bad '0<=X<200',12,'critical/other existing credit','new car',2366,'500<=X<1000','4<=X<7',3,'male div/sep',none,3,car,36,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '<0',21,'existing paid',radio/tv,1835,'<100','1<=X<4',3,'female div/dep/mar',none,2,'real estate',25,none,own,2,skilled,1,yes,yes,bad 'no checking',24,'critical/other existing credit','used car',3868,'<100','>=7',4,'female div/dep/mar',none,2,car,41,none,rent,2,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',12,'existing paid',furniture/equipment,1768,'<100','1<=X<4',3,'male single',none,2,'real estate',24,none,rent,1,'unskilled resident',1,none,yes,good '>=200',10,'critical/other existing credit','new car',781,'<100','>=7',4,'male single',none,4,'no known property',63,none,'for free',2,skilled,1,yes,yes,good '0<=X<200',18,'existing paid',furniture/equipment,1924,'no known savings','<1',4,'female div/dep/mar',none,3,'real estate',27,none,rent,1,skilled,1,none,yes,bad '<0',12,'critical/other existing credit','new car',2121,'<100','1<=X<4',4,'male single',none,2,'life insurance',30,none,own,2,skilled,1,none,yes,good '<0',12,'existing paid',radio/tv,701,'<100','1<=X<4',4,'male mar/wid',none,2,'real estate',40,none,own,1,'unskilled resident',1,none,yes,good '0<=X<200',12,'existing paid',repairs,639,'<100','1<=X<4',4,'male single',none,2,car,30,none,own,1,skilled,1,none,yes,bad '0<=X<200',12,'critical/other existing credit','used car',1860,'<100',unemployed,4,'male single',none,2,car,34,none,own,2,'high qualif/self emp/mgmt',1,yes,yes,good '<0',12,'critical/other existing credit','new car',3499,'<100','1<=X<4',3,'female div/dep/mar','co applicant',2,'real estate',29,none,own,2,skilled,1,none,yes,bad '0<=X<200',48,'existing paid','new car',8487,'no known savings','4<=X<7',1,'female div/dep/mar',none,2,car,24,none,own,1,skilled,1,none,yes,good '<0',36,'delayed previously',education,6887,'<100','1<=X<4',4,'male single',none,3,'life insurance',29,stores,own,1,skilled,1,yes,yes,bad 'no checking',15,'existing paid',furniture/equipment,2708,'<100','<1',2,'male single',none,3,'life insurance',27,bank,own,2,'unskilled resident',1,none,yes,good 'no checking',18,'existing paid',furniture/equipment,1984,'<100','1<=X<4',4,'male single',none,4,'no known property',47,bank,'for free',2,skilled,1,none,yes,good 'no checking',60,'existing paid',radio/tv,10144,'100<=X<500','4<=X<7',2,'female div/dep/mar',none,4,'real estate',21,none,own,1,skilled,1,yes,yes,good 'no checking',12,'critical/other existing credit',radio/tv,1240,'no known savings','>=7',4,'female div/dep/mar',none,2,'real estate',38,none,own,2,skilled,1,yes,yes,good 'no checking',27,'delayed previously','used car',8613,'>=1000','1<=X<4',2,'male single',none,2,car,27,none,own,2,skilled,1,none,yes,good '0<=X<200',12,'existing paid',radio/tv,766,'500<=X<1000','1<=X<4',4,'male single',none,3,'real estate',66,none,own,1,'unskilled resident',1,none,yes,bad '0<=X<200',15,'critical/other existing credit',radio/tv,2728,'no known savings','4<=X<7',4,'male single',guarantor,2,'real estate',35,bank,own,3,skilled,1,yes,yes,good '>=200',12,'existing paid',radio/tv,1881,'<100','1<=X<4',2,'female div/dep/mar',none,2,car,44,none,rent,1,'unskilled resident',1,yes,yes,good '>=200',6,'existing paid','new car',709,'>=1000','<1',2,'male mar/wid',none,2,'real estate',27,none,own,1,'unemp/unskilled non res',1,none,no,good '0<=X<200',36,'existing paid',radio/tv,4795,'<100','<1',4,'female div/dep/mar',none,1,'no known property',30,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '<0',27,'existing paid',radio/tv,3416,'<100','1<=X<4',3,'male single',none,2,car,27,none,own,1,'high qualif/self emp/mgmt',1,none,yes,good '<0',18,'existing paid',furniture/equipment,2462,'<100','1<=X<4',2,'male single',none,2,car,22,none,own,1,skilled,1,none,yes,bad 'no checking',21,'critical/other existing credit',furniture/equipment,2288,'<100','<1',4,'female div/dep/mar',none,4,'life insurance',23,none,own,1,skilled,1,yes,yes,good '0<=X<200',48,'all paid',business,3566,'100<=X<500','4<=X<7',4,'male single',none,2,car,30,none,own,1,skilled,1,none,yes,good '<0',6,'critical/other existing credit','new car',860,'<100','>=7',1,'female div/dep/mar',none,4,'no known property',39,none,own,2,skilled,1,yes,yes,good 'no checking',12,'critical/other existing credit','new car',682,'100<=X<500','4<=X<7',4,'female div/dep/mar',none,3,car,51,none,own,2,skilled,1,yes,yes,good '<0',36,'critical/other existing credit',furniture/equipment,5371,'<100','1<=X<4',3,'male single',guarantor,2,'life insurance',28,none,own,2,skilled,1,none,yes,good 'no checking',18,'critical/other existing credit',radio/tv,1582,'>=1000','>=7',4,'male single',none,4,car,46,none,own,2,skilled,1,none,yes,good 'no checking',6,'existing paid',radio/tv,1346,'100<=X<500','>=7',2,'male single',none,4,'no known property',42,bank,'for free',1,skilled,2,yes,yes,good 'no checking',10,'existing paid',radio/tv,1924,'<100','1<=X<4',1,'male single',none,4,'life insurance',38,none,own,1,skilled,1,yes,no,good '>=200',36,'existing paid',radio/tv,5848,'<100','1<=X<4',4,'male single',none,1,car,24,none,own,1,skilled,1,none,yes,good '0<=X<200',24,'critical/other existing credit','used car',7758,'>=1000','>=7',2,'female div/dep/mar',none,4,'no known property',29,none,rent,1,skilled,1,none,yes,good '0<=X<200',24,'delayed previously',business,6967,'100<=X<500','4<=X<7',4,'male single',none,4,car,36,none,rent,1,'high qualif/self emp/mgmt',1,yes,yes,good '<0',12,'existing paid',furniture/equipment,1282,'<100','1<=X<4',2,'female div/dep/mar',none,4,car,20,none,rent,1,skilled,1,none,yes,bad '<0',9,'critical/other existing credit',repairs,1288,'100<=X<500','>=7',3,'male single',guarantor,4,'real estate',48,none,own,2,skilled,2,none,no,good '<0',12,'all paid',retraining,339,'<100','>=7',4,'male mar/wid',none,1,car,45,bank,own,1,'unskilled resident',1,none,yes,good '0<=X<200',24,'existing paid','new car',3512,'100<=X<500','4<=X<7',2,'male single',none,3,car,38,bank,own,2,skilled,1,yes,yes,good 'no checking',6,'critical/other existing credit',radio/tv,1898,'no known savings','1<=X<4',1,'male single',none,2,'real estate',34,none,own,2,'unskilled resident',2,none,yes,good 'no checking',24,'critical/other existing credit',radio/tv,2872,'100<=X<500','>=7',3,'male single',none,4,'real estate',36,none,own,1,skilled,2,yes,yes,good 'no checking',18,'critical/other existing credit','new car',1055,'<100','<1',4,'female div/dep/mar',none,1,'life insurance',30,none,own,2,skilled,1,none,yes,good 'no checking',15,'existing paid','domestic appliance',1262,'500<=X<1000','4<=X<7',4,'male single',none,3,'life insurance',36,none,own,2,skilled,1,yes,yes,good '0<=X<200',10,'existing paid','new car',7308,'<100',unemployed,2,'male single',none,4,'no known property',70,bank,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',36,'existing paid','new car',909,'500<=X<1000','>=7',4,'male single',none,4,'life insurance',36,none,own,1,skilled,1,none,yes,good 'no checking',6,'existing paid',furniture/equipment,2978,'500<=X<1000','1<=X<4',1,'male single',none,2,car,32,none,own,1,skilled,1,yes,yes,good '<0',18,'existing paid',furniture/equipment,1131,'<100',unemployed,4,'female div/dep/mar',none,2,car,33,none,own,1,skilled,1,none,yes,bad '0<=X<200',11,'existing paid',furniture/equipment,1577,'>=1000','<1',4,'female div/dep/mar',none,1,'real estate',20,none,own,1,skilled,1,none,yes,good 'no checking',24,'existing paid',furniture/equipment,3972,'<100','4<=X<7',2,'female div/dep/mar',none,4,'life insurance',25,none,rent,1,skilled,1,yes,yes,good '0<=X<200',24,'critical/other existing credit',business,1935,'<100','>=7',4,'male div/sep',none,4,'real estate',31,none,own,2,skilled,1,yes,yes,bad '<0',15,'no credits/all paid','new car',950,'<100','>=7',4,'male single',none,3,car,33,none,rent,2,skilled,2,none,yes,bad 'no checking',12,'existing paid',furniture/equipment,763,'<100','1<=X<4',4,'female div/dep/mar',none,1,'real estate',26,none,own,1,skilled,1,yes,yes,good '0<=X<200',24,'delayed previously',furniture/equipment,2064,'<100',unemployed,3,'female div/dep/mar',none,2,'life insurance',34,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,bad '0<=X<200',8,'existing paid',radio/tv,1414,'<100','1<=X<4',4,'male single',guarantor,2,'real estate',33,none,own,1,skilled,1,none,no,good '<0',21,'delayed previously',education,3414,'<100','<1',2,'male single',none,1,'life insurance',26,none,own,2,skilled,1,none,yes,bad 'no checking',30,'all paid','used car',7485,'no known savings',unemployed,4,'female div/dep/mar',none,1,'real estate',53,bank,own,1,'high qualif/self emp/mgmt',1,yes,yes,bad '<0',12,'existing paid',furniture/equipment,2577,'<100','1<=X<4',2,'male div/sep',none,1,car,42,none,own,1,skilled,1,none,yes,good '<0',6,'critical/other existing credit',radio/tv,338,'500<=X<1000','>=7',4,'male single',none,4,car,52,none,own,2,skilled,1,none,yes,good 'no checking',12,'existing paid',radio/tv,1963,'<100','4<=X<7',4,'male single',none,2,car,31,none,rent,2,'high qualif/self emp/mgmt',2,yes,yes,good '<0',21,'critical/other existing credit','new car',571,'<100','>=7',4,'male single',none,4,'real estate',65,none,own,2,skilled,1,none,yes,good 'no checking',36,'delayed previously',business,9572,'<100','<1',1,'male div/sep',none,1,car,28,none,own,2,skilled,1,none,yes,bad '0<=X<200',36,'delayed previously',business,4455,'<100','1<=X<4',2,'male div/sep',none,2,'real estate',30,stores,own,2,'high qualif/self emp/mgmt',1,yes,yes,bad '<0',21,'all paid','new car',1647,'no known savings','1<=X<4',4,'male single',none,2,'life insurance',40,none,own,2,'unskilled resident',2,none,yes,bad 'no checking',24,'critical/other existing credit',furniture/equipment,3777,'>=1000','1<=X<4',4,'male single',none,4,'real estate',50,none,own,1,skilled,1,yes,yes,good '0<=X<200',18,'critical/other existing credit','new car',884,'<100','>=7',4,'male single',none,4,car,36,bank,own,1,skilled,2,yes,yes,bad 'no checking',15,'critical/other existing credit',radio/tv,1360,'<100','1<=X<4',4,'male single',none,2,'life insurance',31,none,own,2,skilled,1,none,yes,good '0<=X<200',9,'all paid','used car',5129,'<100','>=7',2,'female div/dep/mar',none,4,'no known property',74,bank,'for free',1,'high qualif/self emp/mgmt',2,yes,yes,bad '0<=X<200',16,'critical/other existing credit','new car',1175,'<100',unemployed,2,'male single',none,3,car,68,none,'for free',3,'unemp/unskilled non res',1,yes,yes,good '<0',12,'existing paid',radio/tv,674,'100<=X<500','4<=X<7',4,'male mar/wid',none,1,'life insurance',20,none,own,1,skilled,1,none,yes,bad '0<=X<200',18,'no credits/all paid',furniture/equipment,3244,'<100','1<=X<4',1,'female div/dep/mar',none,4,car,33,bank,own,2,skilled,1,yes,yes,good 'no checking',24,'existing paid',business,4591,'>=1000','1<=X<4',2,'male single',none,3,'life insurance',54,none,own,3,'high qualif/self emp/mgmt',1,yes,yes,bad '0<=X<200',48,'no credits/all paid',business,3844,'100<=X<500','4<=X<7',4,'male single',none,4,'no known property',34,none,'for free',1,'unskilled resident',2,none,yes,bad '0<=X<200',27,'existing paid',business,3915,'<100','1<=X<4',4,'male single',none,2,car,36,none,own,1,skilled,2,yes,yes,bad 'no checking',6,'existing paid',radio/tv,2108,'<100','4<=X<7',2,'male mar/wid',none,2,'real estate',29,none,rent,1,skilled,1,none,yes,good '0<=X<200',45,'existing paid',radio/tv,3031,'100<=X<500','1<=X<4',4,'male single',guarantor,4,'life insurance',21,none,rent,1,skilled,1,none,yes,bad '0<=X<200',9,'critical/other existing credit',education,1501,'<100','>=7',2,'female div/dep/mar',none,3,car,34,none,own,2,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',6,'critical/other existing credit',radio/tv,1382,'<100','1<=X<4',1,'female div/dep/mar',none,1,car,28,none,own,2,skilled,1,yes,yes,good '0<=X<200',12,'existing paid',furniture/equipment,951,'100<=X<500','<1',4,'female div/dep/mar',none,4,car,27,bank,rent,4,skilled,1,none,yes,bad '0<=X<200',24,'existing paid','used car',2760,'no known savings','>=7',4,'male single',none,4,'no known property',36,bank,'for free',1,skilled,1,yes,yes,good '0<=X<200',18,'delayed previously',furniture/equipment,4297,'<100','>=7',4,'male div/sep',none,3,'no known property',40,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',9,'critical/other existing credit',education,936,'500<=X<1000','>=7',4,'male single',none,2,car,52,none,own,2,skilled,1,yes,yes,good '<0',12,'existing paid','new car',1168,'<100','1<=X<4',4,'male mar/wid',none,3,'real estate',27,none,own,1,'unskilled resident',1,none,yes,good 'no checking',27,'delayed previously',business,5117,'<100','4<=X<7',3,'male single',none,4,car,26,none,own,2,skilled,1,none,yes,good '<0',12,'existing paid',retraining,902,'<100','4<=X<7',4,'male mar/wid',none,4,'life insurance',21,none,rent,1,skilled,1,none,yes,bad 'no checking',12,'critical/other existing credit','new car',1495,'<100','>=7',4,'male single',none,1,'real estate',38,none,own,2,'unskilled resident',2,none,yes,good '<0',30,'critical/other existing credit','used car',10623,'<100','>=7',3,'male single',none,4,'no known property',38,none,'for free',3,'high qualif/self emp/mgmt',2,yes,yes,good 'no checking',12,'critical/other existing credit',furniture/equipment,1935,'<100','>=7',4,'male single',none,4,'real estate',43,none,own,3,skilled,1,yes,yes,good '0<=X<200',12,'critical/other existing credit','domestic appliance',1424,'<100','4<=X<7',4,'male single',none,3,'life insurance',26,none,own,1,skilled,1,none,yes,good '<0',24,'existing paid',business,6568,'<100','1<=X<4',2,'male mar/wid',none,2,car,21,stores,own,1,'unskilled resident',1,none,yes,good 'no checking',12,'existing paid','used car',1413,'>=1000','4<=X<7',3,'male single',none,2,'life insurance',55,none,own,1,skilled,1,none,no,good 'no checking',9,'critical/other existing credit',radio/tv,3074,'no known savings','1<=X<4',1,'male single',none,2,'real estate',33,none,own,2,skilled,2,none,yes,good 'no checking',36,'existing paid',radio/tv,3835,'no known savings','>=7',2,'female div/dep/mar',none,4,'real estate',45,none,own,1,'unskilled resident',1,yes,yes,good '<0',27,'no credits/all paid',business,5293,'<100',unemployed,2,'male single',none,4,'life insurance',50,stores,own,2,skilled,1,yes,yes,bad '>=200',30,'delayed previously',business,1908,'<100','>=7',4,'male single',none,4,'real estate',66,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',36,'critical/other existing credit',radio/tv,3342,'no known savings','>=7',4,'male single',none,2,car,51,none,own,1,skilled,1,yes,yes,good '0<=X<200',6,'critical/other existing credit',retraining,932,'no known savings','4<=X<7',1,'female div/dep/mar',none,3,'life insurance',39,none,own,2,'unskilled resident',1,none,yes,good '<0',18,'no credits/all paid',business,3104,'<100','4<=X<7',3,'male single',none,1,'life insurance',31,bank,own,1,skilled,1,yes,yes,good '>=200',36,'existing paid',radio/tv,3913,'<100','1<=X<4',2,'male single',none,2,'real estate',23,none,own,1,skilled,1,yes,yes,good '<0',24,'existing paid',furniture/equipment,3021,'<100','1<=X<4',2,'male div/sep',none,2,'real estate',24,none,rent,1,'unskilled resident',1,none,yes,good 'no checking',10,'existing paid','new car',1364,'<100','1<=X<4',2,'female div/dep/mar',none,4,car,64,none,own,1,skilled,1,yes,yes,good '0<=X<200',12,'existing paid',radio/tv,625,'<100','<1',4,'male mar/wid',guarantor,1,'real estate',26,bank,own,1,'unskilled resident',1,none,yes,good '<0',12,'existing paid',education,1200,'no known savings','1<=X<4',4,'female div/dep/mar',none,4,'life insurance',23,bank,rent,1,skilled,1,yes,yes,good 'no checking',12,'existing paid',radio/tv,707,'<100','1<=X<4',4,'male single',none,2,'real estate',30,bank,own,2,skilled,1,none,yes,good 'no checking',24,'delayed previously',business,2978,'no known savings','1<=X<4',4,'male single',none,4,'real estate',32,none,own,2,skilled,2,yes,yes,good 'no checking',15,'existing paid','used car',4657,'<100','1<=X<4',3,'male single',none,2,car,30,none,own,1,skilled,1,yes,yes,good 'no checking',36,'no credits/all paid',repairs,2613,'<100','1<=X<4',4,'male single',none,2,car,27,none,own,2,skilled,1,none,yes,good '0<=X<200',48,'existing paid',radio/tv,10961,'>=1000','4<=X<7',1,'male single','co applicant',2,'no known property',27,bank,own,2,skilled,1,yes,yes,bad '<0',12,'existing paid',furniture/equipment,7865,'<100','>=7',4,'male single',none,4,'no known property',53,none,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',9,'existing paid',radio/tv,1478,'<100','4<=X<7',4,'male single',none,2,car,22,none,own,1,skilled,1,none,yes,bad '<0',24,'existing paid',furniture/equipment,3149,'<100','<1',4,'male single',none,1,'no known property',22,bank,'for free',1,skilled,1,none,yes,good '>=200',36,'existing paid',radio/tv,4210,'<100','1<=X<4',4,'male single',none,2,car,26,none,own,1,skilled,1,none,yes,bad 'no checking',9,'existing paid','new car',2507,'500<=X<1000','>=7',2,'male single',none,4,'no known property',51,none,'for free',1,'unskilled resident',1,none,yes,good 'no checking',12,'existing paid',radio/tv,2141,'100<=X<500','4<=X<7',3,'male single',none,1,'no known property',35,none,own,1,skilled,1,none,yes,good '0<=X<200',18,'existing paid',radio/tv,866,'<100','1<=X<4',4,'male mar/wid',guarantor,2,'real estate',25,none,own,1,'unskilled resident',1,none,yes,good 'no checking',4,'critical/other existing credit',radio/tv,1544,'<100','4<=X<7',2,'male single',none,1,'real estate',42,none,own,3,'unskilled resident',2,none,yes,good '<0',24,'existing paid',radio/tv,1823,'<100',unemployed,4,'male single',none,2,car,30,stores,own,1,'high qualif/self emp/mgmt',2,none,yes,bad '0<=X<200',6,'existing paid','new car',14555,'no known savings',unemployed,1,'male single',none,2,'life insurance',23,none,own,1,'unemp/unskilled non res',1,yes,yes,bad '0<=X<200',21,'existing paid',business,2767,'100<=X<500','>=7',4,'male div/sep',none,2,car,61,bank,rent,2,'unskilled resident',1,none,yes,bad 'no checking',12,'critical/other existing credit',radio/tv,1291,'<100','1<=X<4',4,'female div/dep/mar',none,2,'life insurance',35,none,own,2,skilled,1,none,yes,good '<0',30,'existing paid',radio/tv,2522,'<100','>=7',1,'male single',guarantor,3,'life insurance',39,none,own,1,skilled,2,none,yes,good '<0',24,'existing paid','new car',915,'no known savings','>=7',4,'female div/dep/mar',none,2,car,29,bank,own,1,skilled,1,none,yes,bad 'no checking',6,'existing paid',radio/tv,1595,'<100','4<=X<7',3,'male single',none,2,'life insurance',51,none,own,1,skilled,2,none,yes,good '<0',48,'no credits/all paid','used car',4605,'<100','>=7',3,'male single',none,4,'no known property',24,none,'for free',2,skilled,2,none,yes,bad 'no checking',12,'critical/other existing credit',business,1185,'<100','1<=X<4',3,'female div/dep/mar',none,2,'real estate',27,none,own,2,skilled,1,none,yes,good 'no checking',12,'all paid',retraining,3447,'500<=X<1000','1<=X<4',4,'female div/dep/mar',none,3,'real estate',35,none,own,1,'unskilled resident',2,none,yes,good 'no checking',24,'existing paid',business,1258,'<100','4<=X<7',4,'male single',none,1,'real estate',25,none,own,1,skilled,1,yes,yes,good 'no checking',12,'critical/other existing credit',radio/tv,717,'<100','>=7',4,'male single',none,4,'real estate',52,none,own,3,skilled,1,none,yes,good 'no checking',6,'no credits/all paid','new car',1204,'100<=X<500','1<=X<4',4,'male single',none,1,'no known property',35,bank,rent,1,skilled,1,none,no,good '>=200',24,'existing paid',furniture/equipment,1925,'<100','1<=X<4',2,'male single',none,2,'real estate',26,none,own,1,skilled,1,none,yes,good 'no checking',18,'existing paid',radio/tv,433,'<100',unemployed,3,'female div/dep/mar','co applicant',4,'real estate',22,none,rent,1,skilled,1,none,yes,bad '<0',6,'critical/other existing credit','new car',666,'>=1000','4<=X<7',3,'female div/dep/mar',none,4,'real estate',39,none,own,2,'unskilled resident',1,yes,yes,good '>=200',12,'existing paid',furniture/equipment,2251,'<100','1<=X<4',1,'female div/dep/mar',none,2,car,46,none,own,1,'unskilled resident',1,none,yes,good '0<=X<200',30,'existing paid','new car',2150,'<100','1<=X<4',4,'female div/dep/mar',guarantor,2,'no known property',24,bank,own,1,skilled,1,none,yes,bad 'no checking',24,'delayed previously',furniture/equipment,4151,'100<=X<500','1<=X<4',2,'male single',none,3,'life insurance',35,none,own,2,skilled,1,none,yes,good '0<=X<200',9,'existing paid',furniture/equipment,2030,'no known savings','4<=X<7',2,'male single',none,1,car,24,none,own,1,skilled,1,yes,yes,good '0<=X<200',60,'delayed previously',radio/tv,7418,'no known savings','1<=X<4',1,'male single',none,1,'real estate',27,none,own,1,'unskilled resident',1,none,yes,good 'no checking',24,'critical/other existing credit',radio/tv,2684,'<100','1<=X<4',4,'male single',none,2,'real estate',35,none,own,2,'unskilled resident',1,none,yes,good '<0',12,'all paid',radio/tv,2149,'<100','1<=X<4',4,'male div/sep',none,1,'no known property',29,none,'for free',1,skilled,1,none,yes,bad 'no checking',15,'existing paid','used car',3812,'100<=X<500','<1',1,'female div/dep/mar',none,4,car,23,none,own,1,skilled,1,yes,yes,good 'no checking',11,'critical/other existing credit',radio/tv,1154,'100<=X<500',unemployed,4,'female div/dep/mar',none,4,'real estate',57,none,own,3,'unskilled resident',1,none,yes,good '<0',12,'existing paid',furniture/equipment,1657,'<100','1<=X<4',2,'male single',none,2,'real estate',27,none,own,1,skilled,1,none,yes,good '<0',24,'existing paid',radio/tv,1603,'<100','>=7',4,'female div/dep/mar',none,4,car,55,none,own,1,skilled,1,none,yes,good '<0',18,'critical/other existing credit','new car',5302,'<100','>=7',2,'male single',none,4,'no known property',36,none,'for free',3,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',12,'critical/other existing credit',education,2748,'<100','>=7',2,'female div/dep/mar',none,4,'no known property',57,bank,'for free',3,'unskilled resident',1,none,yes,good 'no checking',10,'critical/other existing credit','new car',1231,'<100','>=7',3,'male single',none,4,'real estate',32,none,own,2,'unskilled resident',2,none,no,good '0<=X<200',15,'existing paid',radio/tv,802,'<100','>=7',4,'male single',none,3,car,37,none,own,1,skilled,2,none,yes,bad 'no checking',36,'critical/other existing credit',business,6304,'no known savings','>=7',4,'male single',none,4,'real estate',36,none,own,2,skilled,1,none,yes,good 'no checking',24,'existing paid',radio/tv,1533,'<100','<1',4,'female div/dep/mar',none,3,car,38,stores,own,1,skilled,1,yes,yes,good '<0',14,'existing paid','new car',8978,'<100','>=7',1,'male div/sep',none,4,'life insurance',45,none,own,1,'high qualif/self emp/mgmt',1,yes,no,bad 'no checking',24,'existing paid',radio/tv,999,'no known savings','>=7',4,'male single',none,2,car,25,none,own,2,skilled,1,none,yes,good 'no checking',18,'existing paid','new car',2662,'no known savings','4<=X<7',4,'male single',none,3,'life insurance',32,none,own,1,skilled,1,none,no,good 'no checking',12,'critical/other existing credit',furniture/equipment,1402,'500<=X<1000','4<=X<7',3,'female div/dep/mar',none,4,car,37,none,rent,1,skilled,1,yes,yes,good '0<=X<200',48,'all paid','new car',12169,'no known savings',unemployed,4,'male single','co applicant',4,'no known property',36,none,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',48,'existing paid',radio/tv,3060,'<100','4<=X<7',4,'male single',none,4,'real estate',28,none,own,2,skilled,1,none,yes,bad '<0',30,'existing paid',repairs,11998,'<100','<1',1,'male div/sep',none,1,'no known property',34,none,own,1,'unskilled resident',1,yes,yes,bad 'no checking',9,'existing paid',radio/tv,2697,'<100','1<=X<4',1,'male single',none,2,'real estate',32,none,own,1,skilled,2,none,yes,good 'no checking',18,'critical/other existing credit',radio/tv,2404,'<100','1<=X<4',2,'female div/dep/mar',none,2,car,26,none,own,2,skilled,1,none,yes,good '<0',12,'existing paid',furniture/equipment,1262,'no known savings','>=7',2,'male div/sep',none,4,'life insurance',49,none,own,1,'unskilled resident',1,yes,yes,good 'no checking',6,'existing paid',furniture/equipment,4611,'<100','<1',1,'female div/dep/mar',none,4,'life insurance',32,none,own,1,skilled,1,none,yes,bad 'no checking',24,'existing paid',radio/tv,1901,'100<=X<500','1<=X<4',4,'male single',none,4,car,29,none,rent,1,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',15,'critical/other existing credit','used car',3368,'>=1000','>=7',3,'male single',none,4,'no known property',23,none,rent,2,skilled,1,yes,yes,good 'no checking',12,'existing paid',furniture/equipment,1574,'<100','1<=X<4',4,'male single',none,2,'real estate',50,none,own,1,skilled,1,none,yes,good '>=200',18,'all paid',radio/tv,1445,'no known savings','4<=X<7',4,'male single',none,4,car,49,bank,own,1,'unskilled resident',1,none,yes,good 'no checking',15,'critical/other existing credit',furniture/equipment,1520,'no known savings','>=7',4,'male single',none,4,'life insurance',63,none,own,1,skilled,1,none,yes,good '0<=X<200',24,'critical/other existing credit','new car',3878,'100<=X<500','<1',4,'male div/sep',none,2,car,37,none,own,1,skilled,1,yes,yes,good '<0',47,'existing paid','new car',10722,'<100','<1',1,'female div/dep/mar',none,1,'real estate',35,none,own,1,'unskilled resident',1,yes,yes,good '<0',48,'existing paid','used car',4788,'<100','4<=X<7',4,'male single',none,3,'life insurance',26,none,own,1,skilled,2,none,yes,good '0<=X<200',48,'delayed previously',other,7582,'100<=X<500',unemployed,2,'male single',none,4,'no known property',31,none,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',12,'existing paid',radio/tv,1092,'<100','1<=X<4',4,'female div/dep/mar',guarantor,4,'real estate',49,none,own,2,skilled,1,yes,yes,good '<0',24,'delayed previously',radio/tv,1024,'<100','<1',4,'male mar/wid',none,4,'real estate',48,stores,own,1,skilled,1,none,yes,bad 'no checking',12,'existing paid',business,1076,'<100','1<=X<4',2,'male mar/wid',none,2,'real estate',26,none,own,1,skilled,1,yes,no,good '0<=X<200',36,'existing paid','used car',9398,'<100','<1',1,'male mar/wid',none,4,car,28,none,rent,1,'high qualif/self emp/mgmt',1,yes,yes,bad '<0',24,'critical/other existing credit','used car',6419,'<100','>=7',2,'female div/dep/mar',none,4,'no known property',44,none,'for free',2,'high qualif/self emp/mgmt',2,yes,yes,good '>=200',42,'critical/other existing credit','used car',4796,'<100','>=7',4,'male single',none,4,'no known property',56,none,'for free',1,skilled,1,none,yes,good 'no checking',48,'critical/other existing credit',business,7629,'no known savings','>=7',4,'male div/sep',none,2,car,46,bank,own,2,'high qualif/self emp/mgmt',2,none,yes,good '0<=X<200',48,'existing paid',furniture/equipment,9960,'<100','<1',1,'female div/dep/mar',none,2,car,26,none,own,1,skilled,1,yes,yes,bad 'no checking',12,'existing paid','used car',4675,'no known savings','<1',1,'female div/dep/mar',none,4,car,20,none,rent,1,skilled,1,none,yes,good 'no checking',10,'existing paid','new car',1287,'no known savings','>=7',4,'male single','co applicant',2,'life insurance',45,none,own,1,'unskilled resident',1,none,no,good 'no checking',18,'existing paid',furniture/equipment,2515,'<100','1<=X<4',3,'male single',none,4,'real estate',43,none,own,1,skilled,1,yes,yes,good '0<=X<200',21,'critical/other existing credit',furniture/equipment,2745,'>=1000','4<=X<7',3,'male single',none,2,car,32,none,own,2,skilled,1,yes,yes,good 'no checking',6,'existing paid','new car',672,'<100',unemployed,1,'female div/dep/mar',none,4,'real estate',54,none,own,1,'unemp/unskilled non res',1,yes,yes,good '0<=X<200',36,'no credits/all paid',radio/tv,3804,'<100','1<=X<4',4,'female div/dep/mar',none,1,car,42,none,own,1,skilled,1,yes,yes,bad '>=200',24,'critical/other existing credit','new car',1344,'no known savings','4<=X<7',4,'male single',none,2,'real estate',37,bank,own,2,'unskilled resident',2,none,yes,bad '<0',10,'critical/other existing credit','new car',1038,'<100','4<=X<7',4,'male single','co applicant',3,'life insurance',49,none,own,2,skilled,1,yes,yes,good 'no checking',48,'critical/other existing credit','new car',10127,'500<=X<1000','1<=X<4',2,'male single',none,2,'no known property',44,bank,'for free',1,skilled,1,none,yes,bad 'no checking',6,'existing paid',furniture/equipment,1543,'>=1000','1<=X<4',4,'male div/sep',none,2,'real estate',33,none,own,1,skilled,1,none,yes,good 'no checking',30,'existing paid','used car',4811,'no known savings','4<=X<7',2,'female div/dep/mar',none,4,'life insurance',24,stores,rent,1,'unskilled resident',1,none,yes,good '<0',12,'existing paid',radio/tv,727,'100<=X<500','<1',4,'male mar/wid',none,3,'no known property',33,none,own,1,'unskilled resident',1,yes,yes,bad '0<=X<200',8,'existing paid',furniture/equipment,1237,'<100','1<=X<4',3,'female div/dep/mar',none,4,'real estate',24,none,own,1,skilled,1,none,yes,bad '0<=X<200',9,'existing paid','new car',276,'<100','1<=X<4',4,'male mar/wid',none,4,'real estate',22,none,rent,1,'unskilled resident',1,none,yes,good '0<=X<200',48,'existing paid',other,5381,'no known savings',unemployed,3,'male single',none,4,'no known property',40,bank,'for free',1,'unemp/unskilled non res',1,yes,yes,good 'no checking',24,'existing paid',furniture/equipment,5511,'100<=X<500','1<=X<4',4,'male single',none,1,car,25,stores,own,1,skilled,1,none,yes,good '>=200',24,'existing paid',furniture/equipment,3749,'<100','<1',2,'female div/dep/mar',none,4,car,26,none,own,1,skilled,1,none,yes,good '0<=X<200',12,'existing paid','new car',685,'<100','4<=X<7',2,'male mar/wid',none,3,car,25,bank,own,1,'unskilled resident',1,none,yes,bad '>=200',4,'existing paid','new car',1494,'no known savings','<1',1,'male single',none,2,'real estate',29,none,own,1,'unskilled resident',2,none,no,good '<0',36,'all paid',furniture/equipment,2746,'<100','>=7',4,'male single',none,4,car,31,bank,own,1,skilled,1,none,yes,bad '<0',12,'existing paid',furniture/equipment,708,'<100','1<=X<4',2,'male single',guarantor,3,'life insurance',38,none,own,1,'unskilled resident',2,none,yes,good '0<=X<200',24,'existing paid',furniture/equipment,4351,'no known savings','1<=X<4',1,'female div/dep/mar',none,4,'life insurance',48,none,own,1,'unskilled resident',1,yes,yes,good 'no checking',12,'critical/other existing credit',education,701,'<100','1<=X<4',4,'male single',none,2,car,32,none,own,2,skilled,1,none,yes,good '<0',15,'delayed previously',furniture/equipment,3643,'<100','>=7',1,'female div/dep/mar',none,4,'life insurance',27,none,own,2,'unskilled resident',1,none,yes,good '0<=X<200',30,'critical/other existing credit','new car',4249,'<100',unemployed,4,'male mar/wid',none,2,car,28,none,own,2,'high qualif/self emp/mgmt',1,none,yes,bad '<0',24,'existing paid',radio/tv,1938,'<100','<1',4,'male div/sep',none,3,'life insurance',32,none,own,1,skilled,1,none,yes,bad '<0',24,'existing paid','used car',2910,'<100','4<=X<7',2,'male single',none,1,'no known property',34,none,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,good '<0',18,'existing paid',furniture/equipment,2659,'>=1000','1<=X<4',4,'male single',none,2,car,28,none,own,1,skilled,1,none,yes,good 'no checking',18,'critical/other existing credit','new car',1028,'<100','1<=X<4',4,'female div/dep/mar',none,3,'real estate',36,none,own,2,skilled,1,none,yes,good '<0',8,'critical/other existing credit','new car',3398,'<100','4<=X<7',1,'male single',none,4,'real estate',39,none,own,2,'unskilled resident',1,none,no,good 'no checking',12,'critical/other existing credit',furniture/equipment,5801,'no known savings','>=7',2,'male single',none,4,'life insurance',49,none,rent,1,skilled,1,yes,yes,good 'no checking',24,'existing paid','new car',1525,'>=1000','4<=X<7',4,'female div/dep/mar',none,3,car,34,none,own,1,skilled,2,yes,yes,good '>=200',36,'existing paid',radio/tv,4473,'<100','>=7',4,'male single',none,2,car,31,none,own,1,skilled,1,none,yes,good '0<=X<200',6,'existing paid',radio/tv,1068,'<100','>=7',4,'male single',none,4,car,28,none,own,1,skilled,2,none,yes,good '<0',24,'critical/other existing credit','used car',6615,'<100',unemployed,2,'male single',none,4,'no known property',75,none,'for free',2,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',18,'critical/other existing credit',education,1864,'100<=X<500','1<=X<4',4,'female div/dep/mar',none,2,'real estate',30,none,own,2,skilled,1,none,yes,bad '0<=X<200',60,'existing paid','new car',7408,'100<=X<500','<1',4,'female div/dep/mar',none,2,'life insurance',24,none,own,1,'high qualif/self emp/mgmt',1,none,yes,bad 'no checking',48,'critical/other existing credit','used car',11590,'100<=X<500','1<=X<4',2,'female div/dep/mar',none,4,car,24,bank,rent,2,'unskilled resident',1,none,yes,bad '<0',24,'no credits/all paid',furniture/equipment,4110,'<100','>=7',3,'male single',none,4,'no known property',23,bank,rent,2,skilled,2,none,yes,bad '<0',6,'critical/other existing credit',furniture/equipment,3384,'<100','1<=X<4',1,'male div/sep',none,4,'real estate',44,none,rent,1,'high qualif/self emp/mgmt',1,yes,yes,bad '0<=X<200',13,'existing paid',radio/tv,2101,'<100','<1',2,'female div/dep/mar',guarantor,4,'life insurance',23,none,own,1,'unskilled resident',1,none,yes,good '<0',15,'existing paid','domestic appliance',1275,'no known savings','1<=X<4',4,'female div/dep/mar',none,2,car,24,none,rent,1,skilled,1,none,yes,bad '<0',24,'existing paid',furniture/equipment,4169,'<100','1<=X<4',4,'male single',none,4,'life insurance',28,none,own,1,skilled,1,none,yes,good '0<=X<200',10,'existing paid',furniture/equipment,1521,'<100','1<=X<4',4,'male div/sep',none,2,car,31,none,own,1,'unskilled resident',1,none,yes,good '0<=X<200',24,'critical/other existing credit',education,5743,'<100','<1',2,'female div/dep/mar',none,4,'no known property',24,none,'for free',2,skilled,1,yes,yes,good '<0',21,'existing paid',furniture/equipment,3599,'<100','4<=X<7',1,'female div/dep/mar',none,4,car,26,none,rent,1,'unskilled resident',1,none,yes,good '0<=X<200',18,'existing paid',radio/tv,3213,'500<=X<1000','<1',1,'male mar/wid',none,3,'real estate',25,none,rent,1,skilled,1,none,yes,good '0<=X<200',18,'existing paid',business,4439,'<100','>=7',1,'male single','co applicant',1,'real estate',33,bank,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '>=200',10,'existing paid','new car',3949,'<100','<1',1,'male single',guarantor,1,'life insurance',37,none,own,1,'unskilled resident',2,none,yes,good 'no checking',15,'critical/other existing credit',radio/tv,1459,'<100','1<=X<4',4,'female div/dep/mar',none,2,car,43,none,own,1,'unskilled resident',1,none,yes,good '0<=X<200',13,'critical/other existing credit',radio/tv,882,'<100','<1',4,'male single',guarantor,4,'real estate',23,none,own,2,skilled,1,none,yes,good '0<=X<200',24,'existing paid',radio/tv,3758,'500<=X<1000',unemployed,1,'female div/dep/mar',none,4,'no known property',23,none,rent,1,'unemp/unskilled non res',1,none,yes,good 'no checking',6,'delayed previously',business,1743,'100<=X<500','1<=X<4',1,'male single',none,2,'real estate',34,none,own,2,'unskilled resident',1,none,yes,good '0<=X<200',9,'critical/other existing credit',education,1136,'>=1000','>=7',4,'male single',none,3,'no known property',32,none,'for free',2,skilled,2,none,yes,bad 'no checking',9,'existing paid','domestic appliance',1236,'<100','<1',1,'female div/dep/mar',none,4,'real estate',23,none,rent,1,skilled,1,yes,yes,good '0<=X<200',9,'existing paid',furniture/equipment,959,'<100','1<=X<4',1,'female div/dep/mar',none,2,car,29,none,own,1,skilled,1,none,no,bad 'no checking',18,'critical/other existing credit','used car',3229,'no known savings',unemployed,2,'male single',none,4,'no known property',38,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '<0',12,'no credits/all paid',radio/tv,6199,'<100','1<=X<4',4,'male single',none,2,'life insurance',28,none,rent,2,skilled,1,yes,yes,bad 'no checking',10,'existing paid',education,727,'500<=X<1000','>=7',4,'male single',none,4,'no known property',46,none,'for free',1,skilled,1,yes,yes,good '0<=X<200',24,'existing paid','new car',1246,'<100','<1',4,'male single',none,2,'real estate',23,stores,own,1,'unskilled resident',1,none,yes,bad 'no checking',12,'critical/other existing credit',radio/tv,2331,'no known savings','>=7',1,'male single','co applicant',4,'real estate',49,none,own,1,skilled,1,yes,yes,good 'no checking',36,'delayed previously',radio/tv,4463,'<100','1<=X<4',4,'male single',none,2,car,26,none,own,2,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',12,'existing paid',radio/tv,776,'<100','1<=X<4',4,'male mar/wid',none,2,'real estate',28,none,own,1,skilled,1,none,yes,good '<0',30,'existing paid',furniture/equipment,2406,'<100','4<=X<7',4,'female div/dep/mar',none,4,'real estate',23,none,rent,1,skilled,1,none,yes,bad '0<=X<200',18,'existing paid',education,1239,'no known savings','1<=X<4',4,'male single',none,4,'no known property',61,none,'for free',1,skilled,1,none,yes,good '>=200',12,'existing paid',radio/tv,3399,'no known savings','>=7',2,'male single',none,3,car,37,none,own,1,'high qualif/self emp/mgmt',1,none,yes,good '>=200',12,'delayed previously','new car',2247,'<100','1<=X<4',2,'female div/dep/mar',none,2,car,36,stores,own,2,skilled,1,yes,yes,good 'no checking',6,'existing paid',furniture/equipment,1766,'<100','1<=X<4',1,'male mar/wid',none,2,'life insurance',21,none,rent,1,skilled,1,none,yes,good '<0',18,'existing paid',furniture/equipment,2473,'<100',unemployed,4,'male single',none,1,car,25,none,own,1,'unemp/unskilled non res',1,none,yes,bad 'no checking',12,'existing paid',business,1542,'<100','4<=X<7',2,'male single',none,4,car,36,none,own,1,skilled,1,yes,yes,good 'no checking',18,'critical/other existing credit','used car',3850,'<100','4<=X<7',3,'male single',none,1,car,27,none,own,2,skilled,1,none,yes,good '<0',18,'existing paid',furniture/equipment,3650,'<100','<1',1,'female div/dep/mar',none,4,car,22,none,rent,1,skilled,1,none,yes,good '<0',36,'existing paid',furniture/equipment,3446,'<100','>=7',4,'male single',none,2,car,42,none,own,1,skilled,2,none,yes,bad '0<=X<200',18,'existing paid',furniture/equipment,3001,'<100','4<=X<7',2,'female div/dep/mar',none,4,'real estate',40,none,rent,1,skilled,1,none,yes,good 'no checking',36,'existing paid','new car',3079,'no known savings','1<=X<4',4,'male single',none,4,'real estate',36,none,own,1,skilled,1,none,yes,good 'no checking',18,'critical/other existing credit',radio/tv,6070,'<100','>=7',3,'male single',none,4,car,33,none,own,2,skilled,1,yes,yes,good 'no checking',10,'critical/other existing credit',furniture/equipment,2146,'<100','<1',1,'female div/dep/mar',none,3,'real estate',23,none,rent,2,skilled,1,none,yes,good 'no checking',60,'critical/other existing credit','new car',13756,'no known savings','>=7',2,'male single',none,4,'no known property',63,bank,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',60,'all paid',other,14782,'100<=X<500','>=7',3,'female div/dep/mar',none,4,'no known property',60,bank,'for free',2,'high qualif/self emp/mgmt',1,yes,yes,bad '<0',48,'all paid',business,7685,'<100','4<=X<7',2,'female div/dep/mar',guarantor,4,car,37,none,rent,1,skilled,1,none,yes,bad 'no checking',18,'delayed previously',radio/tv,2320,'<100',unemployed,2,'male mar/wid',none,3,'real estate',34,none,own,2,skilled,1,none,yes,good 'no checking',7,'delayed previously',radio/tv,846,'no known savings','>=7',3,'male single',none,4,'no known property',36,none,'for free',1,skilled,1,none,yes,good '0<=X<200',36,'existing paid','new car',14318,'<100','>=7',4,'male single',none,2,'no known property',57,none,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',6,'critical/other existing credit','new car',362,'100<=X<500','1<=X<4',4,'female div/dep/mar',none,4,car,52,none,own,2,'unskilled resident',1,none,yes,good '<0',20,'existing paid',furniture/equipment,2212,'no known savings','4<=X<7',4,'male single',none,4,car,39,none,own,1,skilled,1,yes,yes,good '0<=X<200',18,'existing paid','used car',12976,'<100',unemployed,3,'female div/dep/mar',none,4,'no known property',38,none,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',22,'existing paid','new car',1283,'no known savings','4<=X<7',4,'female div/dep/mar',none,4,'life insurance',25,none,rent,1,skilled,1,none,yes,good '>=200',12,'existing paid','new car',1330,'<100','<1',4,'male single',none,1,'real estate',26,none,own,1,skilled,1,none,yes,good 'no checking',30,'delayed previously',business,4272,'100<=X<500','1<=X<4',2,'male single',none,2,'life insurance',26,none,own,2,'unskilled resident',1,none,yes,good 'no checking',18,'critical/other existing credit',radio/tv,2238,'<100','1<=X<4',2,'female div/dep/mar',none,1,car,25,none,own,2,skilled,1,none,yes,good 'no checking',18,'existing paid',radio/tv,1126,'no known savings','<1',4,'female div/dep/mar',none,2,'real estate',21,none,rent,1,skilled,1,yes,yes,good '0<=X<200',18,'critical/other existing credit',furniture/equipment,7374,'<100',unemployed,4,'male single',none,4,'life insurance',40,stores,own,2,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',15,'critical/other existing credit',business,2326,'500<=X<1000','1<=X<4',2,'male single',none,4,car,27,bank,own,1,skilled,1,none,yes,good 'no checking',9,'existing paid',business,1449,'<100','4<=X<7',3,'female div/dep/mar',none,2,car,27,none,own,2,skilled,1,none,yes,good 'no checking',18,'existing paid','new car',1820,'<100','1<=X<4',2,'male mar/wid',none,2,'life insurance',30,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',12,'existing paid',furniture/equipment,983,'>=1000','<1',1,'female div/dep/mar',none,4,'real estate',19,none,rent,1,'unskilled resident',1,none,yes,good '<0',36,'existing paid','new car',3249,'<100','4<=X<7',2,'male single',none,4,'no known property',39,bank,'for free',1,'high qualif/self emp/mgmt',2,yes,yes,good '<0',6,'critical/other existing credit',radio/tv,1957,'<100','4<=X<7',1,'female div/dep/mar',none,4,car,31,none,own,1,skilled,1,none,yes,good 'no checking',9,'critical/other existing credit',furniture/equipment,2406,'<100',unemployed,2,'male single',none,3,car,31,none,own,1,'high qualif/self emp/mgmt',1,none,yes,good '0<=X<200',39,'delayed previously',education,11760,'100<=X<500','4<=X<7',2,'male single',none,3,'no known property',32,none,rent,1,skilled,1,yes,yes,good '<0',12,'existing paid',furniture/equipment,2578,'<100',unemployed,3,'female div/dep/mar',none,4,'no known property',55,none,'for free',1,'high qualif/self emp/mgmt',1,none,yes,good '<0',36,'critical/other existing credit',furniture/equipment,2348,'<100','1<=X<4',3,'male mar/wid',none,2,'life insurance',46,none,own,2,skilled,1,yes,yes,good '0<=X<200',12,'existing paid','new car',1223,'<100','>=7',1,'male div/sep',none,1,'real estate',46,none,rent,2,skilled,1,none,yes,bad 'no checking',24,'critical/other existing credit',radio/tv,1516,'>=1000','1<=X<4',4,'female div/dep/mar',none,1,'real estate',43,none,own,2,'unskilled resident',1,none,yes,good 'no checking',18,'existing paid',radio/tv,1473,'<100','<1',3,'male mar/wid',none,4,'real estate',39,none,own,1,skilled,1,yes,yes,good '0<=X<200',18,'critical/other existing credit',business,1887,'no known savings','1<=X<4',4,'male mar/wid',none,4,'real estate',28,bank,own,2,skilled,1,none,yes,good 'no checking',24,'delayed previously',business,8648,'<100','<1',2,'male single',none,2,car,27,bank,own,2,skilled,1,yes,yes,bad 'no checking',14,'delayed previously','new car',802,'<100','1<=X<4',4,'male single',none,2,car,27,none,own,2,'unskilled resident',1,none,yes,good '0<=X<200',18,'delayed previously','new car',2899,'no known savings','>=7',4,'male single',none,4,car,43,none,own,1,skilled,2,none,yes,good '0<=X<200',24,'existing paid',radio/tv,2039,'<100','<1',1,'male mar/wid',none,1,'life insurance',22,none,own,1,skilled,1,yes,yes,bad 'no checking',24,'critical/other existing credit','used car',2197,'no known savings','4<=X<7',4,'male single',none,4,car,43,none,own,2,skilled,2,yes,yes,good '<0',15,'existing paid',radio/tv,1053,'<100','<1',4,'male mar/wid',none,2,'real estate',27,none,own,1,skilled,1,none,no,good 'no checking',24,'existing paid',radio/tv,3235,'500<=X<1000','>=7',3,'male div/sep',none,2,car,26,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '>=200',12,'critical/other existing credit','new car',939,'500<=X<1000','4<=X<7',4,'male mar/wid',none,2,'real estate',28,none,own,3,skilled,1,yes,yes,bad '0<=X<200',24,'existing paid',radio/tv,1967,'<100','>=7',4,'female div/dep/mar',none,4,car,20,none,own,1,skilled,1,yes,yes,good 'no checking',33,'critical/other existing credit','used car',7253,'<100','4<=X<7',3,'male single',none,2,car,35,none,own,2,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',12,'critical/other existing credit',business,2292,'<100',unemployed,4,'male single',none,2,car,42,stores,own,2,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',10,'existing paid','new car',1597,'500<=X<1000','1<=X<4',3,'male single',none,2,'no known property',40,none,rent,1,'unskilled resident',2,none,no,good '<0',24,'existing paid','new car',1381,'no known savings','1<=X<4',4,'female div/dep/mar',none,2,'life insurance',35,none,own,1,skilled,1,none,yes,bad 'no checking',36,'critical/other existing credit','used car',5842,'<100','>=7',2,'male single',none,2,'life insurance',35,none,own,2,skilled,2,yes,yes,good '<0',12,'existing paid','new car',2579,'<100','<1',4,'male single',none,1,'real estate',33,none,own,1,'unskilled resident',2,none,yes,bad '<0',18,'delayed previously',education,8471,'no known savings','1<=X<4',1,'female div/dep/mar',none,2,car,23,none,rent,2,skilled,1,yes,yes,good 'no checking',21,'existing paid','new car',2782,'500<=X<1000','4<=X<7',1,'female div/dep/mar',none,2,car,31,bank,own,1,'high qualif/self emp/mgmt',1,none,yes,good '0<=X<200',18,'existing paid','new car',1042,'no known savings','1<=X<4',4,'female div/dep/mar',none,2,'life insurance',33,none,own,1,skilled,1,none,yes,bad 'no checking',15,'existing paid','new car',3186,'>=1000','4<=X<7',2,'female div/dep/mar',none,3,car,20,none,rent,1,skilled,1,none,yes,good '0<=X<200',12,'existing paid','used car',2028,'no known savings','1<=X<4',4,'male single',none,2,car,30,none,own,1,skilled,1,none,yes,good '0<=X<200',12,'critical/other existing credit','new car',958,'<100','4<=X<7',2,'male single',none,3,'real estate',47,none,own,2,'unskilled resident',2,none,yes,good 'no checking',21,'delayed previously',furniture/equipment,1591,'100<=X<500','4<=X<7',4,'male single',none,3,'real estate',34,none,own,2,'high qualif/self emp/mgmt',1,none,yes,good '0<=X<200',12,'existing paid',furniture/equipment,2762,'no known savings','>=7',1,'female div/dep/mar',none,2,'life insurance',25,bank,own,1,skilled,1,yes,yes,bad '0<=X<200',18,'existing paid','used car',2779,'<100','1<=X<4',1,'male mar/wid',none,3,car,21,none,rent,1,skilled,1,yes,yes,good 'no checking',28,'critical/other existing credit',radio/tv,2743,'<100','>=7',4,'male single',none,2,car,29,none,own,2,skilled,1,none,yes,good 'no checking',18,'critical/other existing credit',radio/tv,1149,'>=1000','1<=X<4',4,'male single',none,3,'real estate',46,none,own,2,skilled,1,none,yes,good 'no checking',9,'existing paid',furniture/equipment,1313,'<100','>=7',1,'male single',none,4,car,20,none,own,1,skilled,1,none,yes,good '<0',18,'critical/other existing credit',repairs,1190,'<100',unemployed,2,'female div/dep/mar',none,4,'no known property',55,none,'for free',3,'unemp/unskilled non res',2,none,yes,bad 'no checking',5,'existing paid',business,3448,'<100','4<=X<7',1,'male single',none,4,'real estate',74,none,own,1,'unskilled resident',1,none,yes,good '0<=X<200',24,'existing paid',other,11328,'<100','1<=X<4',2,'male single','co applicant',3,car,29,bank,own,2,'high qualif/self emp/mgmt',1,yes,yes,bad '<0',6,'critical/other existing credit',furniture/equipment,1872,'<100',unemployed,4,'male single',none,4,'no known property',36,none,'for free',3,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',24,'critical/other existing credit',repairs,2058,'<100','1<=X<4',4,'male div/sep',none,2,'real estate',33,none,own,2,skilled,1,yes,yes,good '<0',9,'existing paid',furniture/equipment,2136,'<100','1<=X<4',3,'male single',none,2,'real estate',25,none,own,1,skilled,1,none,yes,good '0<=X<200',12,'existing paid',radio/tv,1484,'no known savings','1<=X<4',2,'male mar/wid',none,1,'real estate',25,none,own,1,skilled,1,yes,yes,bad 'no checking',6,'existing paid',repairs,660,'500<=X<1000','4<=X<7',2,'male mar/wid',none,4,'real estate',23,none,rent,1,'unskilled resident',1,none,yes,good 'no checking',24,'critical/other existing credit','new car',1287,'>=1000','>=7',4,'female div/dep/mar',none,4,'real estate',37,none,own,2,skilled,1,yes,yes,good '<0',42,'critical/other existing credit',repairs,3394,'<100',unemployed,4,'male single','co applicant',4,car,65,none,own,2,'unemp/unskilled non res',1,none,yes,good '>=200',12,'all paid',business,609,'<100','<1',4,'female div/dep/mar',none,1,'real estate',26,none,own,1,'unemp/unskilled non res',1,none,yes,bad 'no checking',12,'existing paid','new car',1884,'<100','>=7',4,'male single',none,4,car,39,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '<0',12,'existing paid',furniture/equipment,1620,'<100','1<=X<4',2,'female div/dep/mar','co applicant',3,'life insurance',30,none,own,1,skilled,1,none,yes,good '0<=X<200',20,'delayed previously',other,2629,'<100','1<=X<4',2,'male single',none,3,car,29,bank,own,2,skilled,1,yes,yes,good 'no checking',12,'existing paid',education,719,'<100','>=7',4,'male single',none,4,car,41,bank,own,1,'unskilled resident',2,none,yes,bad '0<=X<200',48,'critical/other existing credit',furniture/equipment,5096,'<100','1<=X<4',2,'female div/dep/mar',none,3,car,30,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',9,'critical/other existing credit',education,1244,'no known savings','>=7',4,'female div/dep/mar',none,4,'life insurance',41,none,rent,2,'unskilled resident',1,none,yes,good '<0',36,'existing paid','new car',1842,'<100','<1',4,'female div/dep/mar',none,4,car,34,none,own,1,skilled,1,yes,yes,bad '0<=X<200',7,'existing paid',radio/tv,2576,'<100','1<=X<4',2,'male single',guarantor,2,'real estate',35,none,own,1,skilled,1,none,yes,good '>=200',12,'existing paid',furniture/equipment,1424,'no known savings','>=7',3,'female div/dep/mar',none,4,'real estate',55,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',15,'delayed previously',repairs,1512,'>=1000','1<=X<4',3,'male mar/wid',none,3,'life insurance',61,stores,own,2,skilled,1,none,yes,bad 'no checking',36,'critical/other existing credit','used car',11054,'no known savings','1<=X<4',4,'male single',none,2,car,30,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',6,'existing paid',radio/tv,518,'<100','1<=X<4',3,'female div/dep/mar',none,1,'real estate',29,none,own,1,skilled,1,none,yes,good 'no checking',12,'no credits/all paid',furniture/equipment,2759,'<100','>=7',2,'male single',none,4,'life insurance',34,none,own,2,skilled,1,none,yes,good 'no checking',24,'existing paid','used car',2670,'<100','>=7',4,'male single',none,4,car,35,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '<0',24,'existing paid','new car',4817,'<100','4<=X<7',2,'male single','co applicant',3,'life insurance',31,none,own,1,skilled,1,yes,yes,bad 'no checking',24,'existing paid','used car',2679,'<100','<1',4,'female div/dep/mar',none,1,'no known property',29,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '<0',11,'critical/other existing credit','new car',3905,'<100','1<=X<4',2,'male single',none,2,'real estate',36,none,rent,2,skilled,2,none,yes,good '<0',12,'existing paid','used car',3386,'<100','>=7',3,'male single',none,4,'no known property',35,none,'for free',1,skilled,1,yes,yes,bad '<0',6,'existing paid','domestic appliance',343,'<100','<1',4,'female div/dep/mar',none,1,'real estate',27,none,own,1,skilled,1,none,yes,good 'no checking',18,'existing paid',radio/tv,4594,'<100','<1',3,'male single',none,2,car,32,none,own,1,skilled,1,yes,yes,good '<0',36,'existing paid',furniture/equipment,3620,'<100','1<=X<4',1,'male single',guarantor,2,'life insurance',37,none,own,1,skilled,2,none,yes,good '<0',15,'existing paid','new car',1721,'<100','<1',2,'male single',none,3,'real estate',36,none,own,1,skilled,1,none,yes,good '0<=X<200',12,'existing paid',furniture/equipment,3017,'<100','<1',3,'female div/dep/mar',none,1,'real estate',34,none,rent,1,'high qualif/self emp/mgmt',1,none,yes,good '0<=X<200',12,'existing paid',retraining,754,'no known savings','>=7',4,'male single',none,4,'life insurance',38,none,own,2,skilled,1,none,yes,good 'no checking',18,'existing paid',business,1950,'<100','4<=X<7',4,'male single',none,1,car,34,stores,own,2,skilled,1,yes,yes,good '<0',24,'existing paid','used car',2924,'<100','1<=X<4',3,'male single',guarantor,4,'no known property',63,bank,own,1,skilled,2,yes,yes,good '<0',24,'delayed previously',radio/tv,1659,'<100','<1',4,'female div/dep/mar',none,2,car,29,none,rent,1,'unskilled resident',1,yes,yes,bad 'no checking',48,'delayed previously',radio/tv,7238,'no known savings','>=7',3,'male single',none,3,car,32,bank,own,2,skilled,2,none,yes,good 'no checking',33,'delayed previously',business,2764,'<100','1<=X<4',2,'female div/dep/mar',none,2,car,26,none,own,2,skilled,1,yes,yes,good 'no checking',24,'delayed previously','used car',4679,'<100','4<=X<7',3,'male single',none,3,car,35,none,own,2,'unskilled resident',1,yes,yes,good '0<=X<200',24,'existing paid',radio/tv,3092,'100<=X<500','<1',3,'male mar/wid',none,2,car,22,none,rent,1,skilled,1,yes,yes,bad '<0',6,'existing paid',education,448,'<100','<1',4,'female div/dep/mar',none,4,'life insurance',23,none,own,1,skilled,1,none,yes,bad '<0',9,'existing paid','new car',654,'<100','1<=X<4',4,'male single',none,3,car,28,none,own,1,'unskilled resident',1,none,yes,bad 'no checking',6,'existing paid',retraining,1238,'no known savings',unemployed,4,'male single',none,4,'life insurance',36,none,own,1,'high qualif/self emp/mgmt',2,yes,yes,good '0<=X<200',18,'critical/other existing credit',radio/tv,1245,'<100','1<=X<4',4,'male mar/wid',none,2,car,33,none,own,1,skilled,1,none,yes,bad '<0',18,'no credits/all paid',furniture/equipment,3114,'<100','<1',1,'female div/dep/mar',none,4,'life insurance',26,none,rent,1,skilled,1,none,yes,bad 'no checking',39,'existing paid','used car',2569,'500<=X<1000','1<=X<4',4,'male single',none,4,car,24,none,own,1,skilled,1,none,yes,good '>=200',24,'existing paid',radio/tv,5152,'<100','4<=X<7',4,'male single',none,2,car,25,bank,own,1,skilled,1,none,yes,good '0<=X<200',12,'existing paid',business,1037,'100<=X<500','4<=X<7',3,'male single',none,4,'real estate',39,none,own,1,'unskilled resident',1,none,yes,good '<0',15,'critical/other existing credit',furniture/equipment,1478,'<100','>=7',4,'male single',none,4,car,44,none,own,2,skilled,2,yes,yes,good '0<=X<200',12,'critical/other existing credit',radio/tv,3573,'<100','1<=X<4',1,'female div/dep/mar',none,1,'real estate',23,none,own,1,'unskilled resident',1,none,yes,good '0<=X<200',24,'existing paid','new car',1201,'<100','<1',4,'male single',none,1,'life insurance',26,none,own,1,skilled,1,none,yes,good '<0',30,'existing paid',furniture/equipment,3622,'>=1000','>=7',4,'female div/dep/mar',none,4,'life insurance',57,none,rent,2,skilled,1,yes,yes,good 'no checking',15,'delayed previously',furniture/equipment,960,'>=1000','4<=X<7',3,'female div/dep/mar',none,2,'life insurance',30,none,own,2,skilled,1,none,yes,good 'no checking',12,'critical/other existing credit','new car',1163,'500<=X<1000','1<=X<4',4,'male single',none,4,'real estate',44,none,own,1,skilled,1,yes,yes,good '0<=X<200',6,'delayed previously','new car',1209,'<100',unemployed,4,'male single',none,4,'life insurance',47,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',12,'existing paid',radio/tv,3077,'<100','1<=X<4',2,'male single',none,4,car,52,none,own,1,skilled,1,yes,yes,good 'no checking',24,'existing paid','new car',3757,'<100','>=7',4,'female div/dep/mar','co applicant',4,'no known property',62,none,'for free',1,skilled,1,yes,yes,good 'no checking',10,'existing paid','new car',1418,'100<=X<500','1<=X<4',3,'male single',none,2,'real estate',35,none,rent,1,'unskilled resident',1,none,no,good 'no checking',6,'existing paid','new car',3518,'<100','1<=X<4',2,'male single',guarantor,3,'life insurance',26,none,rent,1,skilled,1,none,yes,good 'no checking',12,'critical/other existing credit',radio/tv,1934,'<100','>=7',2,'male single',none,2,'no known property',26,none,own,2,skilled,1,none,yes,good '0<=X<200',27,'no credits/all paid',business,8318,'<100','>=7',2,'female div/dep/mar',none,4,'no known property',42,none,'for free',2,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',6,'critical/other existing credit',radio/tv,1237,'100<=X<500','1<=X<4',1,'female div/dep/mar',none,1,'life insurance',27,none,own,2,skilled,1,none,yes,good '0<=X<200',6,'existing paid',radio/tv,368,'no known savings','>=7',4,'male single',none,4,'life insurance',38,none,own,1,skilled,1,none,yes,good '<0',12,'critical/other existing credit','new car',2122,'<100','1<=X<4',3,'male single',none,2,'real estate',39,none,rent,2,'unskilled resident',2,none,no,good '<0',24,'existing paid',furniture/equipment,2996,'no known savings','1<=X<4',2,'male mar/wid',none,4,car,20,none,own,1,skilled,1,none,yes,bad '0<=X<200',36,'existing paid',furniture/equipment,9034,'100<=X<500','<1',4,'male single','co applicant',1,'no known property',29,none,rent,1,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',24,'critical/other existing credit',furniture/equipment,1585,'<100','4<=X<7',4,'male single',none,3,'life insurance',40,none,own,2,skilled,1,none,yes,good '0<=X<200',18,'existing paid',radio/tv,1301,'<100','>=7',4,'male mar/wid',guarantor,2,'real estate',32,none,own,1,'unskilled resident',1,none,yes,good '>=200',6,'critical/other existing credit','new car',1323,'100<=X<500','>=7',2,'male div/sep',none,4,car,28,none,own,2,skilled,2,yes,yes,good '<0',24,'existing paid','new car',3123,'<100','<1',4,'female div/dep/mar',none,1,'life insurance',27,none,own,1,skilled,1,none,yes,bad '<0',36,'existing paid','used car',5493,'<100','>=7',2,'male single',none,4,'no known property',42,none,'for free',1,skilled,2,none,yes,good '>=200',9,'existing paid',radio/tv,1126,'100<=X<500','>=7',2,'male div/sep',none,4,'real estate',49,none,own,1,skilled,1,none,yes,good '0<=X<200',24,'critical/other existing credit',radio/tv,1216,'100<=X<500','<1',4,'male single',none,4,'no known property',38,bank,own,2,skilled,2,none,yes,bad '<0',24,'existing paid','new car',1207,'<100','<1',4,'female div/dep/mar',none,4,'life insurance',24,none,rent,1,skilled,1,none,yes,bad 'no checking',10,'existing paid','new car',1309,'no known savings','1<=X<4',4,'male single',guarantor,4,'life insurance',27,none,own,1,'unskilled resident',1,none,yes,bad '>=200',15,'critical/other existing credit','used car',2360,'500<=X<1000','1<=X<4',2,'male single',none,2,car,36,none,own,1,skilled,1,yes,yes,good '0<=X<200',15,'all paid','new car',6850,'100<=X<500',unemployed,1,'male single',none,2,'life insurance',34,none,own,1,'high qualif/self emp/mgmt',2,yes,yes,bad 'no checking',24,'existing paid',radio/tv,1413,'<100','1<=X<4',4,'male mar/wid',none,2,'life insurance',28,none,own,1,skilled,1,none,yes,good 'no checking',39,'existing paid','used car',8588,'100<=X<500','>=7',4,'male single',none,2,car,45,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '<0',12,'existing paid','new car',759,'<100','4<=X<7',4,'male single',none,2,'real estate',26,none,own,1,skilled,1,none,yes,bad 'no checking',36,'existing paid','used car',4686,'<100','1<=X<4',2,'male single',none,2,'no known property',32,none,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,good '>=200',15,'existing paid',business,2687,'<100','4<=X<7',2,'male single',none,4,'life insurance',26,none,rent,1,skilled,1,yes,yes,good '0<=X<200',12,'delayed previously',radio/tv,585,'<100','1<=X<4',4,'male mar/wid','co applicant',4,'real estate',20,none,rent,2,skilled,1,none,yes,good 'no checking',24,'existing paid','new car',2255,'no known savings','<1',4,'male single',none,1,'life insurance',54,none,own,1,skilled,1,none,yes,good '<0',6,'critical/other existing credit','new car',609,'<100','4<=X<7',4,'female div/dep/mar',none,3,'life insurance',37,none,own,2,skilled,1,none,no,good '<0',6,'critical/other existing credit','new car',1361,'<100','<1',2,'male single',none,4,'real estate',40,none,own,1,'unskilled resident',2,none,no,good 'no checking',36,'critical/other existing credit',furniture/equipment,7127,'<100','<1',2,'female div/dep/mar',none,4,'life insurance',23,none,rent,2,skilled,1,yes,yes,bad '<0',6,'existing paid','new car',1203,'100<=X<500','>=7',3,'male single',none,2,'life insurance',43,none,own,1,skilled,1,yes,yes,good 'no checking',6,'critical/other existing credit',radio/tv,700,'no known savings','>=7',4,'male single',none,4,'no known property',36,none,'for free',2,skilled,1,none,yes,good 'no checking',24,'critical/other existing credit',repairs,5507,'<100','>=7',3,'male single',none,4,'no known property',44,none,'for free',2,skilled,1,none,yes,good '<0',18,'existing paid',radio/tv,3190,'<100','1<=X<4',2,'female div/dep/mar',none,2,'real estate',24,none,own,1,skilled,1,none,yes,bad '<0',48,'no credits/all paid',furniture/equipment,7119,'<100','1<=X<4',3,'male single',none,4,'no known property',53,none,'for free',2,skilled,2,none,yes,bad 'no checking',24,'existing paid','used car',3488,'100<=X<500','4<=X<7',3,'female div/dep/mar',none,4,car,23,none,own,1,skilled,1,none,yes,good '0<=X<200',18,'existing paid',radio/tv,1113,'<100','1<=X<4',4,'female div/dep/mar',guarantor,4,'real estate',26,none,own,1,'unskilled resident',2,none,yes,good '0<=X<200',26,'existing paid','used car',7966,'<100','<1',2,'male single',none,3,car,30,none,own,2,skilled,1,none,yes,good 'no checking',15,'critical/other existing credit',education,1532,'100<=X<500','1<=X<4',4,'female div/dep/mar',none,3,car,31,none,own,1,skilled,1,none,yes,good 'no checking',4,'critical/other existing credit',radio/tv,1503,'<100','4<=X<7',2,'male single',none,1,'real estate',42,none,own,2,'unskilled resident',2,none,yes,good '<0',36,'existing paid',radio/tv,2302,'<100','1<=X<4',4,'male div/sep',none,4,car,31,none,rent,1,skilled,1,none,yes,bad '<0',6,'existing paid','new car',662,'<100','<1',3,'male single',none,4,'real estate',41,none,own,1,'unskilled resident',2,yes,yes,good '0<=X<200',36,'existing paid',education,2273,'<100','4<=X<7',3,'male single',none,1,car,32,none,own,2,skilled,2,none,yes,good '0<=X<200',15,'existing paid','new car',2631,'100<=X<500','1<=X<4',2,'female div/dep/mar',none,4,car,28,none,rent,2,skilled,1,yes,yes,bad 'no checking',12,'delayed previously','used car',1503,'<100','1<=X<4',4,'male mar/wid',none,4,'real estate',41,none,rent,1,skilled,1,none,yes,good 'no checking',24,'existing paid',radio/tv,1311,'100<=X<500','4<=X<7',4,'male mar/wid',none,3,'life insurance',26,none,own,1,skilled,1,yes,yes,good 'no checking',24,'existing paid',radio/tv,3105,'no known savings','<1',4,'male single',none,2,car,25,none,own,2,skilled,1,none,yes,good '>=200',21,'critical/other existing credit',education,2319,'<100','<1',2,'male div/sep',none,1,car,33,none,rent,1,skilled,1,none,yes,bad '<0',6,'existing paid','new car',1374,'no known savings',unemployed,4,'female div/dep/mar',none,3,'life insurance',75,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',18,'critical/other existing credit',furniture/equipment,3612,'<100','>=7',3,'female div/dep/mar',none,4,'life insurance',37,none,own,1,skilled,1,yes,yes,good '<0',48,'existing paid','new car',7763,'<100','>=7',4,'male single',none,4,'no known property',42,bank,'for free',1,'high qualif/self emp/mgmt',1,none,yes,bad '>=200',18,'existing paid',furniture/equipment,3049,'<100','<1',1,'female div/dep/mar',none,1,'life insurance',45,stores,own,1,'unskilled resident',1,none,yes,good '0<=X<200',12,'existing paid',radio/tv,1534,'<100','<1',1,'male mar/wid',none,1,'real estate',23,none,rent,1,skilled,1,none,yes,bad 'no checking',24,'delayed previously','new car',2032,'<100','>=7',4,'male single',none,4,'no known property',60,none,'for free',2,skilled,1,yes,yes,good '<0',30,'existing paid',furniture/equipment,6350,'no known savings','>=7',4,'male single',none,4,'life insurance',31,none,own,1,skilled,1,none,yes,bad '>=200',18,'existing paid',furniture/equipment,2864,'<100','1<=X<4',2,'male single',none,1,'real estate',34,none,own,1,'unskilled resident',2,none,yes,bad 'no checking',12,'critical/other existing credit','new car',1255,'<100','>=7',4,'male single',none,4,'real estate',61,none,own,2,'unskilled resident',1,none,yes,good '<0',24,'delayed previously','new car',1333,'<100',unemployed,4,'male single',none,2,'real estate',43,none,'for free',2,skilled,2,none,yes,bad 'no checking',24,'critical/other existing credit','new car',2022,'<100','1<=X<4',4,'female div/dep/mar',none,4,car,37,none,own,1,skilled,1,yes,yes,good 'no checking',24,'existing paid',radio/tv,1552,'<100','4<=X<7',3,'male single',none,1,car,32,bank,own,1,skilled,2,none,yes,good '<0',12,'all paid',radio/tv,626,'<100','1<=X<4',4,'female div/dep/mar',none,4,'real estate',24,bank,own,1,'unskilled resident',1,none,yes,bad 'no checking',48,'critical/other existing credit','used car',8858,'no known savings','4<=X<7',2,'male single',none,1,'no known property',35,none,'for free',2,skilled,1,yes,yes,good 'no checking',12,'critical/other existing credit',repairs,996,'no known savings','4<=X<7',4,'female div/dep/mar',none,4,'real estate',23,none,own,2,skilled,1,none,yes,good 'no checking',6,'all paid',radio/tv,1750,'500<=X<1000','>=7',2,'male single',none,4,'life insurance',45,bank,own,1,'unskilled resident',2,none,yes,good '<0',48,'existing paid',radio/tv,6999,'<100','4<=X<7',1,'male mar/wid',guarantor,1,'real estate',34,none,own,2,skilled,1,yes,yes,bad '0<=X<200',12,'critical/other existing credit','new car',1995,'100<=X<500','<1',4,'male single',none,1,car,27,none,own,1,skilled,1,none,yes,good '0<=X<200',9,'existing paid',education,1199,'<100','4<=X<7',4,'female div/dep/mar',none,4,'life insurance',67,none,own,2,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',12,'existing paid',radio/tv,1331,'<100','<1',2,'male single',none,1,car,22,stores,own,1,skilled,1,none,yes,bad '0<=X<200',18,'no credits/all paid','new car',2278,'100<=X<500','<1',3,'female div/dep/mar',none,3,car,28,none,own,2,skilled,1,none,yes,bad 'no checking',21,'no credits/all paid','new car',5003,'no known savings','1<=X<4',1,'female div/dep/mar',none,4,'life insurance',29,bank,own,2,skilled,1,yes,yes,bad '<0',24,'all paid',furniture/equipment,3552,'<100','4<=X<7',3,'male single',none,4,car,27,bank,own,1,skilled,1,none,yes,bad '0<=X<200',18,'critical/other existing credit',furniture/equipment,1928,'<100','<1',2,'male single',none,2,'real estate',31,none,own,2,'unskilled resident',1,none,yes,bad '<0',24,'existing paid','used car',2964,'no known savings','>=7',4,'male single',none,4,'no known property',49,bank,'for free',1,skilled,2,yes,yes,good '<0',24,'all paid',radio/tv,1546,'<100','4<=X<7',4,'male single',guarantor,4,car,24,bank,rent,1,'unskilled resident',1,none,yes,bad '>=200',6,'delayed previously',radio/tv,683,'<100','<1',2,'female div/dep/mar',none,1,'life insurance',29,bank,own,1,skilled,1,none,yes,good '0<=X<200',36,'existing paid','new car',12389,'no known savings','1<=X<4',1,'male single',none,4,'no known property',37,none,'for free',1,skilled,1,yes,yes,bad '0<=X<200',24,'delayed previously',business,4712,'no known savings','1<=X<4',4,'male single',none,2,'life insurance',37,bank,own,2,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',24,'delayed previously',radio/tv,1553,'100<=X<500','4<=X<7',3,'female div/dep/mar',none,2,'life insurance',23,none,rent,2,skilled,1,yes,yes,good '<0',12,'existing paid','new car',1372,'<100','4<=X<7',2,'male div/sep',none,3,car,36,none,own,1,skilled,1,none,yes,bad 'no checking',24,'critical/other existing credit',radio/tv,2578,'>=1000','>=7',2,'male single',none,2,car,34,none,own,1,skilled,1,none,yes,good '0<=X<200',48,'existing paid',radio/tv,3979,'no known savings','4<=X<7',4,'male single',none,1,car,41,none,own,2,skilled,2,yes,yes,good '<0',48,'existing paid',radio/tv,6758,'<100','1<=X<4',3,'female div/dep/mar',none,2,car,31,none,own,1,skilled,1,yes,yes,bad '<0',24,'existing paid',furniture/equipment,3234,'<100','<1',4,'female div/dep/mar',none,4,'real estate',23,none,rent,1,'unskilled resident',1,yes,yes,bad 'no checking',30,'critical/other existing credit',radio/tv,5954,'<100','4<=X<7',3,'male single','co applicant',2,car,38,none,own,1,skilled,1,none,yes,good 'no checking',24,'existing paid','used car',5433,'no known savings',unemployed,2,'female div/dep/mar',none,4,'life insurance',26,none,rent,1,'high qualif/self emp/mgmt',1,yes,yes,good '<0',15,'existing paid',business,806,'<100','1<=X<4',4,'female div/dep/mar',none,4,'life insurance',22,none,own,1,'unskilled resident',1,none,yes,good '0<=X<200',9,'existing paid',radio/tv,1082,'<100','>=7',4,'male single',none,4,car,27,none,own,2,'unskilled resident',1,none,yes,good 'no checking',15,'critical/other existing credit',furniture/equipment,2788,'<100','4<=X<7',2,'female div/dep/mar','co applicant',3,car,24,bank,own,2,skilled,1,none,yes,good '0<=X<200',12,'existing paid',radio/tv,2930,'<100','4<=X<7',2,'female div/dep/mar',none,1,'real estate',27,none,own,1,skilled,1,none,yes,good 'no checking',24,'critical/other existing credit',education,1927,'no known savings','1<=X<4',3,'female div/dep/mar',none,2,car,33,none,own,2,skilled,1,yes,yes,good '0<=X<200',36,'critical/other existing credit','new car',2820,'<100','<1',4,'male div/sep',none,4,car,27,none,own,2,skilled,1,none,yes,bad 'no checking',24,'existing paid',retraining,937,'<100','<1',4,'male mar/wid',none,3,car,27,none,own,2,'unskilled resident',1,none,yes,good '0<=X<200',18,'critical/other existing credit','new car',1056,'<100','>=7',3,'male single',guarantor,3,'real estate',30,bank,own,2,skilled,1,none,yes,bad '0<=X<200',12,'critical/other existing credit','new car',3124,'<100','<1',1,'male single',none,3,'real estate',49,bank,own,2,'unskilled resident',2,none,yes,good 'no checking',9,'existing paid',furniture/equipment,1388,'<100','1<=X<4',4,'female div/dep/mar',none,2,'real estate',26,none,rent,1,skilled,1,none,yes,good '0<=X<200',36,'existing paid',repairs,2384,'<100','<1',4,'male single',none,1,'no known property',33,none,rent,1,'unskilled resident',1,none,yes,bad 'no checking',12,'existing paid','new car',2133,'no known savings','>=7',4,'female div/dep/mar',none,4,'no known property',52,none,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,good '<0',18,'existing paid',furniture/equipment,2039,'<100','1<=X<4',1,'female div/dep/mar',none,4,'real estate',20,bank,rent,1,skilled,1,none,yes,bad '<0',9,'critical/other existing credit','new car',2799,'<100','1<=X<4',2,'male single',none,2,'real estate',36,none,rent,2,skilled,2,none,yes,good '<0',12,'existing paid',furniture/equipment,1289,'<100','1<=X<4',4,'male single',guarantor,1,'life insurance',21,none,own,1,'unskilled resident',1,none,yes,good '<0',18,'existing paid','domestic appliance',1217,'<100','1<=X<4',4,'male mar/wid',none,3,'real estate',47,none,own,1,'unskilled resident',1,yes,yes,bad '<0',12,'critical/other existing credit',furniture/equipment,2246,'<100','>=7',3,'male single',none,3,'life insurance',60,none,own,2,skilled,1,none,yes,bad '<0',12,'critical/other existing credit',radio/tv,385,'<100','4<=X<7',4,'female div/dep/mar',none,3,'real estate',58,none,own,4,'unskilled resident',1,yes,yes,good '0<=X<200',24,'delayed previously','new car',1965,'no known savings','1<=X<4',4,'female div/dep/mar',none,4,car,42,none,rent,2,skilled,1,yes,yes,good 'no checking',21,'existing paid',business,1572,'>=1000','>=7',4,'female div/dep/mar',none,4,'real estate',36,bank,own,1,'unskilled resident',1,none,yes,good '0<=X<200',24,'existing paid','new car',2718,'<100','1<=X<4',3,'female div/dep/mar',none,4,'life insurance',20,none,rent,1,'unskilled resident',1,yes,yes,bad '<0',24,'all paid',other,1358,'no known savings','>=7',4,'male single',none,3,car,40,stores,own,1,'high qualif/self emp/mgmt',1,yes,yes,bad '0<=X<200',6,'all paid','new car',931,'100<=X<500','<1',1,'female div/dep/mar',none,1,'life insurance',32,stores,own,1,'unskilled resident',1,none,yes,bad '<0',24,'existing paid','new car',1442,'<100','4<=X<7',4,'female div/dep/mar',none,4,car,23,none,rent,2,skilled,1,none,yes,bad '0<=X<200',24,'no credits/all paid',business,4241,'<100','1<=X<4',1,'male single',none,4,'real estate',36,none,own,3,'unskilled resident',1,yes,yes,bad 'no checking',18,'critical/other existing credit','new car',2775,'<100','4<=X<7',2,'male single',none,2,'life insurance',31,bank,own,2,skilled,1,none,yes,bad 'no checking',24,'delayed previously',business,3863,'<100','1<=X<4',1,'male single',none,2,'no known property',32,none,'for free',1,skilled,1,none,yes,good '0<=X<200',7,'existing paid',radio/tv,2329,'<100','<1',1,'female div/dep/mar',guarantor,1,'real estate',45,none,own,1,skilled,1,none,yes,good '0<=X<200',9,'existing paid',furniture/equipment,918,'<100','1<=X<4',4,'female div/dep/mar',none,1,'life insurance',30,none,own,1,skilled,1,none,yes,bad '0<=X<200',24,'all paid',education,1837,'<100','4<=X<7',4,'female div/dep/mar',none,4,'no known property',34,bank,'for free',1,'unskilled resident',1,none,yes,bad 'no checking',36,'existing paid',furniture/equipment,3349,'<100','1<=X<4',4,'female div/dep/mar',none,2,car,28,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,bad '>=200',10,'existing paid',furniture/equipment,1275,'<100','<1',4,'female div/dep/mar',none,2,'life insurance',23,none,own,1,skilled,1,none,yes,good '<0',24,'all paid',furniture/equipment,2828,'500<=X<1000','1<=X<4',4,'male single',none,4,'real estate',22,stores,own,1,skilled,1,yes,yes,good 'no checking',24,'critical/other existing credit',business,4526,'<100','1<=X<4',3,'male single',none,2,'real estate',74,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',36,'existing paid',radio/tv,2671,'100<=X<500','1<=X<4',4,'female div/dep/mar','co applicant',4,'no known property',50,none,'for free',1,skilled,1,none,yes,bad 'no checking',18,'existing paid',radio/tv,2051,'<100','<1',4,'male single',none,1,'real estate',33,none,own,1,skilled,1,none,yes,good 'no checking',15,'existing paid','used car',1300,'no known savings','>=7',4,'male single',none,4,'no known property',45,bank,'for free',1,skilled,2,none,yes,good '<0',12,'existing paid','domestic appliance',741,'100<=X<500',unemployed,4,'female div/dep/mar',none,3,'life insurance',22,none,own,1,skilled,1,none,yes,bad '>=200',10,'existing paid','new car',1240,'100<=X<500','>=7',1,'female div/dep/mar',none,4,'no known property',48,none,'for free',1,'unskilled resident',2,none,yes,bad '<0',21,'existing paid',radio/tv,3357,'>=1000','<1',4,'female div/dep/mar',none,2,car,29,bank,own,1,skilled,1,none,yes,good '<0',24,'all paid','used car',3632,'<100','1<=X<4',1,'female div/dep/mar',guarantor,4,car,22,bank,rent,1,skilled,1,none,no,good 'no checking',18,'delayed previously',furniture/equipment,1808,'<100','4<=X<7',4,'female div/dep/mar',none,1,'real estate',22,none,own,1,skilled,1,none,yes,bad '0<=X<200',48,'no credits/all paid',business,12204,'no known savings','1<=X<4',2,'male single',none,2,car,48,bank,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',60,'delayed previously',radio/tv,9157,'no known savings','1<=X<4',2,'male single',none,2,'no known property',27,none,'for free',1,'high qualif/self emp/mgmt',1,none,yes,good '<0',6,'critical/other existing credit','new car',3676,'<100','1<=X<4',1,'male single',none,3,'real estate',37,none,rent,3,skilled,2,none,yes,good '0<=X<200',30,'existing paid',furniture/equipment,3441,'100<=X<500','1<=X<4',2,'female div/dep/mar','co applicant',4,car,21,none,rent,1,skilled,1,none,yes,bad 'no checking',12,'existing paid','new car',640,'<100','1<=X<4',4,'male div/sep',none,2,'real estate',49,none,own,1,'unskilled resident',1,none,yes,good '0<=X<200',21,'critical/other existing credit',business,3652,'<100','4<=X<7',2,'male single',none,3,'life insurance',27,none,own,2,skilled,1,none,yes,good 'no checking',18,'critical/other existing credit','new car',1530,'<100','1<=X<4',3,'male single',none,2,'life insurance',32,bank,own,2,skilled,1,none,yes,bad 'no checking',48,'existing paid',business,3914,'no known savings','1<=X<4',4,'male div/sep',none,2,'real estate',38,bank,own,1,skilled,1,none,yes,bad '<0',12,'existing paid',furniture/equipment,1858,'<100','<1',4,'female div/dep/mar',none,1,car,22,none,rent,1,skilled,1,none,yes,good '<0',18,'existing paid',radio/tv,2600,'<100','1<=X<4',4,'male single',none,4,'no known property',65,none,'for free',2,skilled,1,none,yes,bad 'no checking',15,'existing paid',radio/tv,1979,'no known savings','>=7',4,'male single',none,2,car,35,none,own,1,skilled,1,none,yes,good '>=200',6,'existing paid',furniture/equipment,2116,'<100','1<=X<4',2,'male single',none,2,'real estate',41,none,own,1,skilled,1,yes,yes,good '0<=X<200',9,'all paid','new car',1437,'100<=X<500','4<=X<7',2,'male single',none,3,'no known property',29,none,own,1,skilled,1,none,yes,bad 'no checking',42,'critical/other existing credit',furniture/equipment,4042,'500<=X<1000','1<=X<4',4,'male single',none,4,'real estate',36,none,own,2,skilled,1,yes,yes,good 'no checking',9,'existing paid',education,3832,'no known savings','>=7',1,'male single',none,4,'real estate',64,none,own,1,'unskilled resident',1,none,yes,good '<0',24,'existing paid',radio/tv,3660,'<100','1<=X<4',2,'female div/dep/mar',none,4,car,28,none,own,1,skilled,1,none,yes,good '<0',18,'all paid',furniture/equipment,1553,'<100','1<=X<4',4,'male single',none,3,car,44,bank,own,1,skilled,1,none,yes,bad '0<=X<200',15,'existing paid',radio/tv,1444,'no known savings','<1',4,'male single',none,1,'life insurance',23,none,own,1,skilled,1,none,yes,good 'no checking',9,'existing paid',furniture/equipment,1980,'<100','<1',2,'female div/dep/mar','co applicant',2,car,19,none,rent,2,skilled,1,none,yes,bad '0<=X<200',24,'existing paid','new car',1355,'<100','<1',3,'female div/dep/mar',none,4,car,25,none,own,1,'unskilled resident',1,yes,yes,bad 'no checking',12,'existing paid',education,1393,'<100','>=7',4,'male single',none,4,'life insurance',47,bank,own,3,skilled,2,yes,yes,good 'no checking',24,'existing paid',radio/tv,1376,'500<=X<1000','4<=X<7',4,'female div/dep/mar',none,1,car,28,none,own,1,skilled,1,none,yes,good 'no checking',60,'delayed previously',radio/tv,15653,'<100','4<=X<7',2,'male single',none,4,car,21,none,own,2,skilled,1,yes,yes,good 'no checking',12,'existing paid',radio/tv,1493,'<100','<1',4,'female div/dep/mar',none,3,car,34,none,own,1,skilled,2,none,yes,good '<0',42,'delayed previously',radio/tv,4370,'<100','4<=X<7',3,'male single',none,2,'life insurance',26,bank,own,2,skilled,2,yes,yes,bad '<0',18,'existing paid',education,750,'<100',unemployed,4,'female div/dep/mar',none,1,'real estate',27,none,own,1,'unemp/unskilled non res',1,none,yes,bad '0<=X<200',15,'existing paid',repairs,1308,'<100','>=7',4,'male single',none,4,car,38,none,own,2,'unskilled resident',1,none,yes,good 'no checking',15,'existing paid',education,4623,'100<=X<500','1<=X<4',3,'male single',none,2,'life insurance',40,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',24,'critical/other existing credit',radio/tv,1851,'<100','4<=X<7',4,'male mar/wid',guarantor,2,car,33,none,own,2,skilled,1,yes,yes,good '<0',18,'critical/other existing credit',radio/tv,1880,'<100','4<=X<7',4,'male mar/wid',none,1,'life insurance',32,none,own,2,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',36,'delayed previously',business,7980,'no known savings','<1',4,'male single',none,4,car,27,none,rent,2,skilled,1,yes,yes,bad '<0',30,'no credits/all paid',furniture/equipment,4583,'<100','1<=X<4',2,'male div/sep',guarantor,2,'real estate',32,none,own,2,skilled,1,none,yes,good 'no checking',12,'existing paid','new car',1386,'500<=X<1000','1<=X<4',2,'female div/dep/mar',none,2,'life insurance',26,none,own,1,skilled,1,none,yes,bad '>=200',24,'existing paid','new car',947,'<100','4<=X<7',4,'male single',none,3,'no known property',38,bank,'for free',1,skilled,2,none,yes,bad '<0',12,'existing paid',education,684,'<100','1<=X<4',4,'male single',none,4,car,40,none,rent,1,'unskilled resident',2,none,yes,bad '<0',48,'existing paid',education,7476,'<100','4<=X<7',4,'male single',none,1,'no known property',50,none,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',12,'existing paid',furniture/equipment,1922,'<100','1<=X<4',4,'male single',none,2,'life insurance',37,none,own,1,'unskilled resident',1,none,yes,bad '<0',24,'existing paid','new car',2303,'<100','>=7',4,'male single','co applicant',1,'real estate',45,none,own,1,skilled,1,none,yes,bad '0<=X<200',36,'delayed previously','new car',8086,'100<=X<500','>=7',2,'male single',none,4,car,42,none,own,4,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',24,'critical/other existing credit','used car',2346,'<100','4<=X<7',4,'male single',none,3,car,35,none,own,2,skilled,1,yes,yes,good '<0',14,'existing paid','new car',3973,'<100',unemployed,1,'male single',none,4,'no known property',22,none,'for free',1,skilled,1,none,yes,good '0<=X<200',12,'existing paid','new car',888,'<100','>=7',4,'male single',none,4,car,41,bank,own,1,'unskilled resident',2,none,yes,bad 'no checking',48,'existing paid',radio/tv,10222,'no known savings','4<=X<7',4,'male single',none,3,car,37,stores,own,1,skilled,1,yes,yes,good '0<=X<200',30,'no credits/all paid',business,4221,'<100','1<=X<4',2,'female div/dep/mar',none,1,car,28,none,own,2,skilled,1,none,yes,good '0<=X<200',18,'critical/other existing credit',furniture/equipment,6361,'<100','>=7',2,'male single',none,1,'no known property',41,none,own,1,skilled,1,yes,yes,good '>=200',12,'existing paid',radio/tv,1297,'<100','1<=X<4',3,'male mar/wid',none,4,'real estate',23,none,rent,1,skilled,1,none,yes,good '<0',12,'existing paid','new car',900,'no known savings','1<=X<4',4,'male mar/wid',none,2,car,23,none,own,1,skilled,1,none,yes,bad 'no checking',21,'existing paid',furniture/equipment,2241,'<100','>=7',4,'male single',none,2,'real estate',50,none,own,2,skilled,1,none,yes,good '0<=X<200',6,'delayed previously',furniture/equipment,1050,'<100',unemployed,4,'male single',none,1,'life insurance',35,stores,own,2,'high qualif/self emp/mgmt',1,yes,yes,good '>=200',6,'critical/other existing credit',education,1047,'<100','1<=X<4',2,'female div/dep/mar',none,4,'life insurance',50,none,own,1,'unskilled resident',1,none,yes,good 'no checking',24,'critical/other existing credit',other,6314,'<100',unemployed,4,'male single','co applicant',2,'no known property',27,bank,own,2,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',30,'all paid',furniture/equipment,3496,'>=1000','1<=X<4',4,'male single',none,2,car,34,stores,own,1,skilled,2,yes,yes,good 'no checking',48,'all paid',business,3609,'<100','1<=X<4',1,'female div/dep/mar',none,1,'real estate',27,stores,own,1,skilled,1,none,yes,good '<0',12,'critical/other existing credit','new car',4843,'<100','>=7',3,'male single','co applicant',4,'life insurance',43,none,rent,2,skilled,1,yes,yes,bad '>=200',30,'critical/other existing credit',radio/tv,3017,'<100','>=7',4,'male single',none,4,'life insurance',47,none,own,1,skilled,1,none,yes,good 'no checking',24,'critical/other existing credit',business,4139,'100<=X<500','1<=X<4',3,'male single',none,3,'life insurance',27,none,own,2,'unskilled resident',1,yes,yes,good 'no checking',36,'existing paid',business,5742,'100<=X<500','4<=X<7',2,'male single',none,2,car,31,none,own,2,skilled,1,yes,yes,good 'no checking',60,'existing paid','new car',10366,'<100','>=7',2,'male single',none,4,'life insurance',42,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',6,'critical/other existing credit','new car',2080,'500<=X<1000','1<=X<4',1,'male mar/wid',none,2,car,24,none,own,1,skilled,1,none,yes,good 'no checking',21,'delayed previously',business,2580,'500<=X<1000','<1',4,'male single',none,2,'real estate',41,bank,own,1,'unskilled resident',2,none,yes,bad 'no checking',30,'critical/other existing credit',radio/tv,4530,'<100','4<=X<7',4,'female div/dep/mar',none,4,car,26,none,rent,1,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',24,'critical/other existing credit',furniture/equipment,5150,'<100','>=7',4,'male single',none,4,car,33,none,own,1,skilled,1,yes,yes,good '0<=X<200',72,'existing paid',radio/tv,5595,'100<=X<500','1<=X<4',2,'male mar/wid',none,2,car,24,none,own,1,skilled,1,none,yes,bad '<0',24,'existing paid',radio/tv,2384,'<100','>=7',4,'male single',none,4,'real estate',64,bank,rent,1,'unskilled resident',1,none,yes,good 'no checking',18,'existing paid',radio/tv,1453,'<100','<1',3,'female div/dep/mar',none,1,'real estate',26,none,own,1,skilled,1,none,yes,good 'no checking',6,'existing paid',education,1538,'<100','<1',1,'female div/dep/mar',none,2,'no known property',56,none,own,1,skilled,1,none,yes,good 'no checking',12,'existing paid',radio/tv,2279,'no known savings','1<=X<4',4,'male single',none,4,'no known property',37,none,'for free',1,skilled,1,yes,yes,good 'no checking',15,'delayed previously',radio/tv,1478,'<100','1<=X<4',4,'male mar/wid',none,3,'real estate',33,bank,own,2,skilled,1,none,yes,good 'no checking',24,'critical/other existing credit',radio/tv,5103,'<100','<1',3,'male mar/wid',none,3,'no known property',47,none,'for free',3,skilled,1,yes,yes,good '0<=X<200',36,'delayed previously',business,9857,'100<=X<500','4<=X<7',1,'male single',none,3,'life insurance',31,none,own,2,'unskilled resident',2,yes,yes,good 'no checking',60,'existing paid','new car',6527,'no known savings','1<=X<4',4,'male single',none,4,'no known property',34,none,'for free',1,skilled,2,yes,yes,good '>=200',10,'critical/other existing credit',radio/tv,1347,'no known savings','4<=X<7',4,'male single',none,2,'life insurance',27,none,own,2,skilled,1,yes,yes,good '0<=X<200',36,'delayed previously','new car',2862,'100<=X<500','>=7',4,'male single',none,3,'no known property',30,none,'for free',1,skilled,1,none,yes,good 'no checking',9,'existing paid',radio/tv,2753,'100<=X<500','>=7',3,'male single','co applicant',4,car,35,none,own,1,skilled,1,yes,yes,good '<0',12,'existing paid','new car',3651,'>=1000','1<=X<4',1,'male single',none,3,'life insurance',31,none,own,1,skilled,2,none,yes,good '<0',15,'critical/other existing credit',furniture/equipment,975,'<100','1<=X<4',2,'male div/sep',none,3,'life insurance',25,none,own,2,skilled,1,none,yes,good '0<=X<200',15,'existing paid',repairs,2631,'100<=X<500','1<=X<4',3,'female div/dep/mar',none,2,'real estate',25,none,own,1,'unskilled resident',1,none,yes,good '0<=X<200',24,'existing paid',radio/tv,2896,'100<=X<500','<1',2,'male single',none,1,car,29,none,own,1,skilled,1,none,yes,good '<0',6,'critical/other existing credit','new car',4716,'no known savings','<1',1,'male single',none,3,'real estate',44,none,own,2,'unskilled resident',2,none,yes,good 'no checking',24,'existing paid',radio/tv,2284,'<100','4<=X<7',4,'male single',none,2,car,28,none,own,1,skilled,1,yes,yes,good 'no checking',6,'existing paid','used car',1236,'500<=X<1000','1<=X<4',2,'male single',none,4,'life insurance',50,none,rent,1,skilled,1,none,yes,good '0<=X<200',12,'existing paid',radio/tv,1103,'<100','4<=X<7',4,'male single',guarantor,3,'real estate',29,none,own,2,skilled,1,none,no,good 'no checking',12,'critical/other existing credit','new car',926,'<100',unemployed,1,'female div/dep/mar',none,2,'life insurance',38,none,own,1,'unemp/unskilled non res',1,none,yes,good 'no checking',18,'critical/other existing credit',radio/tv,1800,'<100','1<=X<4',4,'male single',none,2,car,24,none,own,2,skilled,1,none,yes,good '>=200',15,'existing paid',education,1905,'<100','>=7',4,'male single',none,4,car,40,none,rent,1,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',12,'existing paid',furniture/equipment,1123,'500<=X<1000','1<=X<4',4,'female div/dep/mar',none,4,car,29,none,rent,1,'unskilled resident',1,none,yes,bad '<0',48,'critical/other existing credit','used car',6331,'<100','>=7',4,'male single',none,4,'no known property',46,none,'for free',2,skilled,1,yes,yes,bad '>=200',24,'existing paid',radio/tv,1377,'100<=X<500','>=7',4,'female div/dep/mar',none,2,'no known property',47,none,'for free',1,skilled,1,yes,yes,good '0<=X<200',30,'delayed previously',business,2503,'100<=X<500','>=7',4,'male single',none,2,'life insurance',41,stores,own,2,skilled,1,none,yes,good '0<=X<200',27,'existing paid',business,2528,'<100','<1',4,'female div/dep/mar',none,1,'life insurance',32,none,own,1,skilled,2,yes,yes,good 'no checking',15,'existing paid','new car',5324,'500<=X<1000','>=7',1,'female div/dep/mar',none,4,'no known property',35,none,'for free',1,skilled,1,none,yes,good '0<=X<200',48,'existing paid','new car',6560,'100<=X<500','4<=X<7',3,'male single',none,2,'life insurance',24,none,own,1,skilled,1,none,yes,bad '0<=X<200',12,'no credits/all paid',furniture/equipment,2969,'<100','<1',4,'female div/dep/mar',none,3,'life insurance',25,none,rent,2,skilled,1,none,yes,bad '0<=X<200',9,'existing paid',radio/tv,1206,'<100','>=7',4,'female div/dep/mar',none,4,'real estate',25,none,own,1,skilled,1,none,yes,good '0<=X<200',9,'existing paid',radio/tv,2118,'<100','1<=X<4',2,'male single',none,2,'real estate',37,none,own,1,'unskilled resident',2,none,yes,good 'no checking',18,'critical/other existing credit',radio/tv,629,'500<=X<1000','>=7',4,'male single',none,3,'life insurance',32,bank,own,2,'high qualif/self emp/mgmt',1,yes,yes,good '<0',6,'all paid',education,1198,'<100','>=7',4,'female div/dep/mar',none,4,'no known property',35,none,'for free',1,skilled,1,none,yes,bad 'no checking',21,'existing paid','used car',2476,'no known savings','>=7',4,'male single',none,4,'real estate',46,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '<0',9,'critical/other existing credit',radio/tv,1138,'<100','1<=X<4',4,'male single',none,4,'real estate',25,none,own,2,'unskilled resident',1,none,yes,good '0<=X<200',60,'existing paid','new car',14027,'<100','4<=X<7',4,'male single',none,2,'no known property',27,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',30,'critical/other existing credit','used car',7596,'no known savings','>=7',1,'male single',none,4,car,63,none,own,2,skilled,1,none,yes,good 'no checking',30,'critical/other existing credit',radio/tv,3077,'no known savings','>=7',3,'male single',none,2,car,40,none,own,2,skilled,2,yes,yes,good 'no checking',18,'existing paid',radio/tv,1505,'<100','1<=X<4',4,'male single',none,2,'no known property',32,none,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,good '>=200',24,'critical/other existing credit',radio/tv,3148,'no known savings','1<=X<4',3,'male single',none,2,car,31,none,own,2,skilled,1,yes,yes,good '0<=X<200',20,'no credits/all paid','used car',6148,'100<=X<500','>=7',3,'male mar/wid',none,4,car,31,bank,own,2,skilled,1,yes,yes,good '>=200',9,'no credits/all paid',radio/tv,1337,'<100','<1',4,'male single',none,2,car,34,none,own,2,'high qualif/self emp/mgmt',1,yes,yes,bad '0<=X<200',6,'all paid',education,433,'>=1000','<1',4,'female div/dep/mar',none,2,'life insurance',24,bank,rent,1,skilled,2,none,yes,bad '<0',12,'existing paid','new car',1228,'<100','1<=X<4',4,'female div/dep/mar',none,2,'real estate',24,none,own,1,'unskilled resident',1,none,yes,bad '0<=X<200',9,'existing paid',radio/tv,790,'500<=X<1000','1<=X<4',4,'female div/dep/mar',none,3,'real estate',66,none,own,1,'unskilled resident',1,none,yes,good 'no checking',27,'existing paid','new car',2570,'<100','1<=X<4',3,'female div/dep/mar',none,3,'real estate',21,none,rent,1,skilled,1,none,yes,bad 'no checking',6,'critical/other existing credit','new car',250,'>=1000','1<=X<4',2,'female div/dep/mar',none,2,'real estate',41,bank,own,2,'unskilled resident',1,none,yes,good 'no checking',15,'critical/other existing credit',radio/tv,1316,'500<=X<1000','1<=X<4',2,'male mar/wid',none,2,'life insurance',47,none,own,2,'unskilled resident',1,none,yes,good '<0',18,'existing paid',radio/tv,1882,'<100','1<=X<4',4,'female div/dep/mar',none,4,car,25,bank,rent,2,skilled,1,none,yes,bad '0<=X<200',48,'all paid',business,6416,'<100','>=7',4,'female div/dep/mar',none,3,'no known property',59,none,rent,1,skilled,1,none,yes,bad '>=200',24,'critical/other existing credit',business,1275,'>=1000','1<=X<4',2,'male div/sep',none,4,'real estate',36,none,own,2,skilled,1,yes,yes,good '0<=X<200',24,'delayed previously',radio/tv,6403,'<100','<1',1,'male single',none,2,car,33,none,own,1,skilled,1,none,yes,good '<0',24,'existing paid',radio/tv,1987,'<100','1<=X<4',2,'male single',none,4,'real estate',21,none,rent,1,'unskilled resident',2,none,yes,bad '0<=X<200',8,'existing paid',radio/tv,760,'<100','4<=X<7',4,'female div/dep/mar',guarantor,2,'real estate',44,none,own,1,'unskilled resident',1,none,yes,good 'no checking',24,'existing paid','used car',2603,'>=1000','1<=X<4',2,'female div/dep/mar',none,4,car,28,none,rent,1,skilled,1,yes,yes,good 'no checking',4,'critical/other existing credit','new car',3380,'<100','4<=X<7',1,'female div/dep/mar',none,1,'real estate',37,none,own,1,skilled,2,none,yes,good '0<=X<200',36,'all paid','domestic appliance',3990,'no known savings','<1',3,'female div/dep/mar',none,2,'no known property',29,bank,own,1,'unemp/unskilled non res',1,none,yes,good '0<=X<200',24,'existing paid','used car',11560,'<100','1<=X<4',1,'female div/dep/mar',none,4,car,23,none,rent,2,'high qualif/self emp/mgmt',1,none,yes,bad '<0',18,'existing paid','new car',4380,'100<=X<500','1<=X<4',3,'male single',none,4,car,35,none,own,1,'unskilled resident',2,yes,yes,good 'no checking',6,'critical/other existing credit','new car',6761,'<100','4<=X<7',1,'male single',none,3,'no known property',45,none,own,2,'high qualif/self emp/mgmt',2,yes,yes,good '0<=X<200',30,'no credits/all paid',business,4280,'100<=X<500','1<=X<4',4,'female div/dep/mar',none,4,car,26,none,rent,2,'unskilled resident',1,none,yes,bad '<0',24,'all paid','new car',2325,'100<=X<500','4<=X<7',2,'male single',none,3,car,32,bank,own,1,skilled,1,none,yes,good '0<=X<200',10,'all paid',radio/tv,1048,'<100','1<=X<4',4,'male single',none,4,'real estate',23,stores,own,1,'unskilled resident',1,none,yes,good 'no checking',21,'existing paid',radio/tv,3160,'no known savings','>=7',4,'male single',none,3,'life insurance',41,none,own,1,skilled,1,yes,yes,good '<0',24,'all paid',furniture/equipment,2483,'500<=X<1000','1<=X<4',4,'male single',none,4,'real estate',22,stores,own,1,skilled,1,yes,yes,good '<0',39,'critical/other existing credit',furniture/equipment,14179,'no known savings','4<=X<7',4,'male single',none,4,'life insurance',30,none,own,2,'high qualif/self emp/mgmt',1,yes,yes,good '<0',13,'critical/other existing credit',business,1797,'<100','<1',3,'male single',none,1,'life insurance',28,bank,own,2,'unskilled resident',1,none,yes,good '<0',15,'existing paid','new car',2511,'<100',unemployed,1,'female div/dep/mar',none,4,car,23,none,rent,1,skilled,1,none,yes,good '<0',12,'existing paid','new car',1274,'<100','<1',3,'female div/dep/mar',none,1,'real estate',37,none,own,1,'unskilled resident',1,none,yes,bad 'no checking',21,'existing paid','used car',5248,'no known savings','1<=X<4',1,'male single',none,3,car,26,none,own,1,skilled,1,none,yes,good 'no checking',15,'existing paid','used car',3029,'<100','4<=X<7',2,'male single',none,2,car,33,none,own,1,skilled,1,none,yes,good '<0',6,'existing paid',furniture/equipment,428,'<100','>=7',2,'female div/dep/mar',none,1,'life insurance',49,bank,own,1,skilled,1,yes,yes,good '<0',18,'existing paid','new car',976,'<100','<1',1,'female div/dep/mar',none,2,car,23,none,own,1,'unskilled resident',1,none,yes,bad '0<=X<200',12,'existing paid',business,841,'100<=X<500','4<=X<7',2,'female div/dep/mar',none,4,'real estate',23,none,rent,1,'unskilled resident',1,none,yes,good 'no checking',30,'critical/other existing credit',radio/tv,5771,'<100','4<=X<7',4,'female div/dep/mar',none,2,car,25,none,own,2,skilled,1,none,yes,good 'no checking',12,'delayed previously',repairs,1555,'>=1000','>=7',4,'male single',none,4,'no known property',55,none,'for free',2,skilled,2,none,yes,bad '<0',24,'existing paid','new car',1285,'no known savings','4<=X<7',4,'female div/dep/mar',none,4,'no known property',32,none,rent,1,skilled,1,none,yes,bad '>=200',6,'critical/other existing credit','new car',1299,'<100','1<=X<4',1,'male single',none,1,'real estate',74,none,own,3,'unemp/unskilled non res',2,none,no,good '>=200',15,'critical/other existing credit',radio/tv,1271,'no known savings','1<=X<4',3,'male single',none,4,'no known property',39,none,'for free',2,skilled,1,yes,yes,bad 'no checking',24,'existing paid','new car',1393,'<100','1<=X<4',2,'male single',guarantor,2,'real estate',31,none,own,1,skilled,1,yes,yes,good '<0',12,'critical/other existing credit','new car',691,'<100','>=7',4,'male single',none,3,'life insurance',35,none,own,2,skilled,1,none,yes,bad 'no checking',15,'critical/other existing credit','new car',5045,'no known savings','>=7',1,'female div/dep/mar',none,4,car,59,none,own,1,skilled,1,yes,yes,good '<0',18,'critical/other existing credit',furniture/equipment,2124,'<100','1<=X<4',4,'female div/dep/mar',none,4,'real estate',24,none,rent,2,skilled,1,none,yes,bad '<0',12,'existing paid',radio/tv,2214,'<100','1<=X<4',4,'male single',none,3,'life insurance',24,none,own,1,'unskilled resident',1,none,yes,good 'no checking',21,'critical/other existing credit','new car',12680,'no known savings','>=7',4,'male single',none,4,'no known property',30,none,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',24,'critical/other existing credit','new car',2463,'100<=X<500','4<=X<7',4,'male mar/wid',none,3,'life insurance',27,none,own,2,skilled,1,yes,yes,good '0<=X<200',12,'existing paid',radio/tv,1155,'<100','>=7',3,'male mar/wid',guarantor,3,'real estate',40,bank,own,2,'unskilled resident',1,none,yes,good '<0',30,'existing paid',furniture/equipment,3108,'<100','<1',2,'male div/sep',none,4,'life insurance',31,none,own,1,'unskilled resident',1,none,yes,bad 'no checking',10,'existing paid','used car',2901,'no known savings','<1',1,'female div/dep/mar',none,4,'real estate',31,none,rent,1,skilled,1,none,yes,good '0<=X<200',12,'critical/other existing credit',furniture/equipment,3617,'<100','>=7',1,'male single',none,4,car,28,none,rent,3,skilled,1,yes,yes,good 'no checking',12,'critical/other existing credit',radio/tv,1655,'<100','>=7',2,'male single',none,4,'real estate',63,none,own,2,'unskilled resident',1,yes,yes,good '<0',24,'existing paid','used car',2812,'no known savings','>=7',2,'female div/dep/mar',none,4,'real estate',26,none,rent,1,skilled,1,none,yes,good '<0',36,'critical/other existing credit',education,8065,'<100','1<=X<4',3,'female div/dep/mar',none,2,'no known property',25,none,own,2,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',21,'critical/other existing credit','used car',3275,'<100','>=7',1,'male single',none,4,car,36,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',24,'critical/other existing credit',radio/tv,2223,'100<=X<500','>=7',4,'male single',none,4,'life insurance',52,bank,own,2,skilled,1,none,yes,good '>=200',12,'critical/other existing credit','new car',1480,'500<=X<1000',unemployed,2,'male single',none,4,'no known property',66,bank,'for free',3,'unemp/unskilled non res',1,none,yes,good '<0',24,'existing paid','new car',1371,'no known savings','1<=X<4',4,'female div/dep/mar',none,4,'real estate',25,none,rent,1,skilled,1,none,yes,bad 'no checking',36,'critical/other existing credit','new car',3535,'<100','4<=X<7',4,'male single',none,4,car,37,none,own,2,skilled,1,yes,yes,good '<0',18,'existing paid',radio/tv,3509,'<100','4<=X<7',4,'female div/dep/mar',guarantor,1,'real estate',25,none,own,1,skilled,1,none,yes,good 'no checking',36,'critical/other existing credit','used car',5711,'>=1000','>=7',4,'male single',none,2,car,38,none,own,2,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',18,'existing paid',repairs,3872,'<100',unemployed,2,'female div/dep/mar',none,4,car,67,none,own,1,skilled,1,yes,yes,good '0<=X<200',39,'critical/other existing credit',radio/tv,4933,'<100','4<=X<7',2,'male single',guarantor,2,'real estate',25,none,own,2,skilled,1,none,yes,bad 'no checking',24,'critical/other existing credit','new car',1940,'>=1000','>=7',4,'male single',none,4,'real estate',60,none,own,1,skilled,1,yes,yes,good '0<=X<200',12,'no credits/all paid',retraining,1410,'<100','1<=X<4',2,'male single',none,2,'real estate',31,none,own,1,'unskilled resident',1,yes,yes,good '0<=X<200',12,'existing paid','new car',836,'100<=X<500','<1',4,'female div/dep/mar',none,2,'life insurance',23,bank,own,1,'unskilled resident',1,none,yes,bad '0<=X<200',20,'existing paid','used car',6468,'no known savings',unemployed,1,'male div/sep',none,4,'real estate',60,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',18,'existing paid',business,1941,'>=1000','1<=X<4',4,'male single',none,2,'life insurance',35,none,own,1,'unskilled resident',1,yes,yes,good 'no checking',22,'existing paid',radio/tv,2675,'500<=X<1000','>=7',3,'male single',none,4,car,40,none,own,1,skilled,1,none,yes,good 'no checking',48,'critical/other existing credit','used car',2751,'no known savings','>=7',4,'male single',none,3,car,38,none,own,2,skilled,2,yes,yes,good '0<=X<200',48,'delayed previously',education,6224,'<100','>=7',4,'male single',none,4,'no known property',50,none,'for free',1,skilled,1,none,yes,bad '<0',40,'critical/other existing credit',education,5998,'<100','1<=X<4',4,'male single',none,3,'no known property',27,bank,own,1,skilled,1,yes,yes,bad '0<=X<200',21,'existing paid',business,1188,'<100','>=7',2,'female div/dep/mar',none,4,'life insurance',39,none,own,1,skilled,2,none,yes,bad 'no checking',24,'existing paid','used car',6313,'no known savings','>=7',3,'male single',none,4,car,41,none,own,1,'high qualif/self emp/mgmt',2,yes,yes,good 'no checking',6,'critical/other existing credit',furniture/equipment,1221,'no known savings','1<=X<4',1,'male mar/wid',none,2,'life insurance',27,none,own,2,skilled,1,none,yes,good '>=200',24,'existing paid',furniture/equipment,2892,'<100','>=7',3,'male div/sep',none,4,'no known property',51,none,'for free',1,skilled,1,none,yes,good 'no checking',24,'existing paid',furniture/equipment,3062,'500<=X<1000','>=7',4,'male single',none,3,'no known property',32,none,rent,1,skilled,1,yes,yes,good 'no checking',9,'existing paid',furniture/equipment,2301,'100<=X<500','<1',2,'female div/dep/mar',none,4,'life insurance',22,none,rent,1,skilled,1,none,yes,good '<0',18,'existing paid','used car',7511,'no known savings','>=7',1,'male single',none,4,'life insurance',51,none,'for free',1,skilled,2,yes,yes,bad 'no checking',12,'critical/other existing credit',furniture/equipment,1258,'<100','<1',2,'female div/dep/mar',none,4,'life insurance',22,none,rent,2,'unskilled resident',1,none,yes,good 'no checking',24,'delayed previously','new car',717,'no known savings','>=7',4,'male mar/wid',none,4,car,54,none,own,2,skilled,1,yes,yes,good '0<=X<200',9,'existing paid','new car',1549,'no known savings','<1',4,'male single',none,2,'real estate',35,none,own,1,'unemp/unskilled non res',1,none,yes,good 'no checking',24,'critical/other existing credit',education,1597,'<100','>=7',4,'male single',none,4,'no known property',54,none,'for free',2,skilled,2,none,yes,good '0<=X<200',18,'critical/other existing credit',radio/tv,1795,'<100','>=7',3,'female div/dep/mar',guarantor,4,'real estate',48,bank,rent,2,'unskilled resident',1,yes,yes,good '<0',20,'critical/other existing credit',furniture/equipment,4272,'<100','>=7',1,'female div/dep/mar',none,4,'life insurance',24,none,own,2,skilled,1,none,yes,good 'no checking',12,'critical/other existing credit',radio/tv,976,'no known savings','>=7',4,'male single',none,4,car,35,none,own,2,skilled,1,none,yes,good '0<=X<200',12,'existing paid','new car',7472,'no known savings',unemployed,1,'female div/dep/mar',none,2,'real estate',24,none,rent,1,'unemp/unskilled non res',1,none,yes,good '<0',36,'existing paid','new car',9271,'<100','4<=X<7',2,'male single',none,1,car,24,none,own,1,skilled,1,yes,yes,bad '0<=X<200',6,'existing paid',radio/tv,590,'<100','<1',3,'male mar/wid',none,3,'real estate',26,none,own,1,'unskilled resident',1,none,no,good 'no checking',12,'critical/other existing credit',radio/tv,930,'no known savings','>=7',4,'male single',none,4,'real estate',65,none,own,4,skilled,1,none,yes,good '0<=X<200',42,'all paid','used car',9283,'<100',unemployed,1,'male single',none,2,'no known property',55,bank,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',15,'no credits/all paid','new car',1778,'<100','<1',2,'female div/dep/mar',none,1,'real estate',26,none,rent,2,'unemp/unskilled non res',1,none,yes,bad '0<=X<200',8,'existing paid',business,907,'<100','<1',3,'male mar/wid',none,2,'real estate',26,none,own,1,skilled,1,yes,yes,good '0<=X<200',6,'existing paid',radio/tv,484,'<100','4<=X<7',3,'male mar/wid',guarantor,3,'real estate',28,bank,own,1,'unskilled resident',1,none,yes,good '<0',36,'critical/other existing credit','used car',9629,'<100','4<=X<7',4,'male single',none,4,car,24,none,own,2,skilled,1,yes,yes,bad '<0',48,'existing paid','domestic appliance',3051,'<100','1<=X<4',3,'male single',none,4,car,54,none,own,1,skilled,1,none,yes,bad '<0',48,'existing paid','new car',3931,'<100','4<=X<7',4,'male single',none,4,'no known property',46,none,'for free',1,skilled,2,none,yes,bad '0<=X<200',36,'delayed previously','new car',7432,'<100','1<=X<4',2,'female div/dep/mar',none,2,'life insurance',54,none,rent,1,skilled,1,none,yes,good 'no checking',6,'existing paid','domestic appliance',1338,'500<=X<1000','1<=X<4',1,'male div/sep',none,4,'real estate',62,none,own,1,skilled,1,none,yes,good 'no checking',6,'critical/other existing credit',radio/tv,1554,'<100','4<=X<7',1,'female div/dep/mar',none,2,car,24,none,rent,2,skilled,1,yes,yes,good '<0',36,'existing paid',other,15857,'<100',unemployed,2,'male div/sep','co applicant',3,car,43,none,own,1,'high qualif/self emp/mgmt',1,none,yes,good '<0',18,'existing paid',radio/tv,1345,'<100','1<=X<4',4,'male mar/wid',none,3,'real estate',26,bank,own,1,skilled,1,none,yes,bad 'no checking',12,'existing paid','new car',1101,'<100','1<=X<4',3,'male mar/wid',none,2,'real estate',27,none,own,2,skilled,1,yes,yes,good '>=200',12,'existing paid',radio/tv,3016,'<100','1<=X<4',3,'male mar/wid',none,1,car,24,none,own,1,skilled,1,none,yes,good '<0',36,'existing paid',furniture/equipment,2712,'<100','>=7',2,'male single',none,2,'life insurance',41,bank,own,1,skilled,2,none,yes,bad '<0',8,'critical/other existing credit','new car',731,'<100','>=7',4,'male single',none,4,'real estate',47,none,own,2,'unskilled resident',1,none,yes,good 'no checking',18,'critical/other existing credit',furniture/equipment,3780,'<100','<1',3,'male div/sep',none,2,car,35,none,own,2,'high qualif/self emp/mgmt',1,yes,yes,good '<0',21,'critical/other existing credit','new car',1602,'<100','>=7',4,'male mar/wid',none,3,car,30,none,own,2,skilled,1,yes,yes,good '<0',18,'critical/other existing credit','new car',3966,'<100','>=7',1,'female div/dep/mar',none,4,'real estate',33,bank,rent,3,skilled,1,yes,yes,bad 'no checking',18,'no credits/all paid',business,4165,'<100','1<=X<4',2,'male single',none,2,car,36,stores,own,2,skilled,2,none,yes,bad '<0',36,'existing paid','used car',8335,'no known savings','>=7',3,'male single',none,4,'no known property',47,none,'for free',1,skilled,1,none,yes,bad '0<=X<200',48,'delayed previously',business,6681,'no known savings','1<=X<4',4,'male single',none,4,'no known property',38,none,'for free',1,skilled,2,yes,yes,good 'no checking',24,'delayed previously',business,2375,'500<=X<1000','1<=X<4',4,'male single',none,2,car,44,none,own,2,skilled,2,yes,yes,good '<0',18,'existing paid','new car',1216,'<100','<1',4,'female div/dep/mar',none,3,car,23,none,rent,1,skilled,1,yes,yes,bad '<0',45,'no credits/all paid',business,11816,'<100','>=7',2,'male single',none,4,car,29,none,rent,2,skilled,1,none,yes,bad '0<=X<200',24,'existing paid',radio/tv,5084,'no known savings','>=7',2,'female div/dep/mar',none,4,car,42,none,own,1,skilled,1,yes,yes,good '>=200',15,'existing paid',radio/tv,2327,'<100','<1',2,'female div/dep/mar',none,3,'real estate',25,none,own,1,'unskilled resident',1,none,yes,bad '<0',12,'no credits/all paid','new car',1082,'<100','1<=X<4',4,'male single',none,4,car,48,bank,own,2,skilled,1,none,yes,bad 'no checking',12,'existing paid',radio/tv,886,'no known savings','1<=X<4',4,'female div/dep/mar',none,2,car,21,none,own,1,skilled,1,none,yes,good 'no checking',4,'existing paid',furniture/equipment,601,'<100','<1',1,'female div/dep/mar',none,3,'real estate',23,none,rent,1,'unskilled resident',2,none,yes,good '<0',24,'critical/other existing credit','used car',2957,'<100','>=7',4,'male single',none,4,'life insurance',63,none,own,2,skilled,1,yes,yes,good 'no checking',24,'critical/other existing credit',radio/tv,2611,'<100','>=7',4,'male mar/wid','co applicant',3,'real estate',46,none,own,2,skilled,1,none,yes,good '<0',36,'existing paid',furniture/equipment,5179,'<100','4<=X<7',4,'male single',none,2,'life insurance',29,none,own,1,skilled,1,none,yes,bad 'no checking',21,'delayed previously','used car',2993,'<100','1<=X<4',3,'male single',none,2,'real estate',28,stores,own,2,'unskilled resident',1,none,yes,good 'no checking',18,'existing paid',repairs,1943,'<100','<1',4,'female div/dep/mar',none,4,'real estate',23,none,own,1,skilled,1,none,yes,bad 'no checking',24,'all paid',business,1559,'<100','4<=X<7',4,'male single',none,4,car,50,bank,own,1,skilled,1,yes,yes,good 'no checking',18,'existing paid',furniture/equipment,3422,'<100','>=7',4,'male single',none,4,'life insurance',47,bank,own,3,skilled,2,yes,yes,good '0<=X<200',21,'existing paid',furniture/equipment,3976,'no known savings','4<=X<7',2,'male single',none,3,car,35,none,own,1,skilled,1,yes,yes,good 'no checking',18,'existing paid','new car',6761,'no known savings','1<=X<4',2,'male single',none,4,car,68,none,rent,2,skilled,1,none,yes,bad 'no checking',24,'existing paid','new car',1249,'<100','<1',4,'male mar/wid',none,2,'real estate',28,none,own,1,skilled,1,none,yes,good '<0',9,'existing paid',radio/tv,1364,'<100','4<=X<7',3,'male single',none,4,'real estate',59,none,own,1,skilled,1,none,yes,good '<0',12,'existing paid',radio/tv,709,'<100','>=7',4,'male single',none,4,'real estate',57,stores,own,1,'unskilled resident',1,none,yes,bad '<0',20,'critical/other existing credit','new car',2235,'<100','1<=X<4',4,'male mar/wid',guarantor,2,'life insurance',33,bank,rent,2,skilled,1,none,no,bad 'no checking',24,'critical/other existing credit','used car',4042,'no known savings','4<=X<7',3,'male single',none,4,'life insurance',43,none,own,2,skilled,1,yes,yes,good 'no checking',15,'critical/other existing credit',radio/tv,1471,'<100','1<=X<4',4,'male single',none,4,'no known property',35,none,'for free',2,skilled,1,yes,yes,good '<0',18,'all paid','new car',1442,'<100','4<=X<7',4,'male single',none,4,'no known property',32,none,'for free',2,'unskilled resident',2,none,yes,bad 'no checking',36,'delayed previously','new car',10875,'<100','>=7',2,'male single',none,2,car,45,none,own,2,skilled,2,yes,yes,good 'no checking',24,'existing paid','new car',1474,'100<=X<500','<1',4,'male mar/wid',none,3,'real estate',33,none,own,1,skilled,1,yes,yes,good 'no checking',10,'existing paid',retraining,894,'no known savings','4<=X<7',4,'female div/dep/mar',none,3,'life insurance',40,none,own,1,skilled,1,yes,yes,good 'no checking',15,'critical/other existing credit',furniture/equipment,3343,'<100','1<=X<4',4,'male single',none,2,'no known property',28,none,'for free',1,skilled,1,yes,yes,good '<0',15,'existing paid','new car',3959,'<100','1<=X<4',3,'female div/dep/mar',none,2,'life insurance',29,none,own,1,skilled,1,yes,yes,bad 'no checking',9,'existing paid','new car',3577,'100<=X<500','1<=X<4',1,'male single',guarantor,2,'real estate',26,none,rent,1,skilled,2,none,no,good 'no checking',24,'critical/other existing credit','used car',5804,'>=1000','1<=X<4',4,'male single',none,2,'real estate',27,none,own,2,skilled,1,none,yes,good 'no checking',18,'delayed previously',business,2169,'<100','1<=X<4',4,'male mar/wid',none,2,car,28,none,own,1,skilled,1,yes,yes,bad '<0',24,'existing paid',radio/tv,2439,'<100','<1',4,'female div/dep/mar',none,4,'real estate',35,none,own,1,skilled,1,yes,yes,bad 'no checking',27,'critical/other existing credit',furniture/equipment,4526,'>=1000','<1',4,'male single',none,2,'real estate',32,stores,own,2,'unskilled resident',2,yes,yes,good 'no checking',10,'existing paid',furniture/equipment,2210,'<100','1<=X<4',2,'male single',none,2,'real estate',25,bank,rent,1,'unskilled resident',1,none,yes,bad 'no checking',15,'existing paid',furniture/equipment,2221,'500<=X<1000','1<=X<4',2,'female div/dep/mar',none,4,car,20,none,rent,1,skilled,1,none,yes,good '<0',18,'existing paid',radio/tv,2389,'<100','<1',4,'female div/dep/mar',none,1,car,27,stores,own,1,skilled,1,none,yes,good 'no checking',12,'critical/other existing credit',furniture/equipment,3331,'<100','>=7',2,'male single',none,4,'life insurance',42,stores,own,1,skilled,1,none,yes,good 'no checking',36,'existing paid',business,7409,'no known savings','>=7',3,'male single',none,2,'life insurance',37,none,own,2,skilled,1,none,yes,good '<0',12,'existing paid',furniture/equipment,652,'<100','>=7',4,'female div/dep/mar',none,4,'life insurance',24,none,rent,1,skilled,1,none,yes,good 'no checking',36,'delayed previously',furniture/equipment,7678,'500<=X<1000','4<=X<7',2,'female div/dep/mar',none,4,car,40,none,own,2,skilled,1,yes,yes,good '>=200',6,'critical/other existing credit','new car',1343,'<100','>=7',1,'male single',none,4,'real estate',46,none,own,2,skilled,2,none,no,good '<0',24,'critical/other existing credit',business,1382,'100<=X<500','4<=X<7',4,'male single',none,1,'real estate',26,none,own,2,skilled,1,yes,yes,good 'no checking',15,'existing paid','domestic appliance',874,'no known savings','<1',4,'female div/dep/mar',none,1,'real estate',24,none,own,1,skilled,1,none,yes,good '<0',12,'existing paid',furniture/equipment,3590,'<100','1<=X<4',2,'male single','co applicant',2,'life insurance',29,none,own,1,'unskilled resident',2,none,yes,good '0<=X<200',11,'critical/other existing credit','new car',1322,'>=1000','1<=X<4',4,'female div/dep/mar',none,4,car,40,none,own,2,skilled,1,none,yes,good '<0',18,'all paid',radio/tv,1940,'<100','<1',3,'male single','co applicant',4,'no known property',36,bank,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',36,'existing paid',radio/tv,3595,'<100','>=7',4,'male single',none,2,car,28,none,own,1,skilled,1,none,yes,good '<0',9,'existing paid','new car',1422,'<100','<1',3,'male single',none,2,'no known property',27,none,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',30,'critical/other existing credit',radio/tv,6742,'no known savings','4<=X<7',2,'male single',none,3,'life insurance',36,none,own,2,skilled,1,none,yes,good 'no checking',24,'existing paid','used car',7814,'<100','4<=X<7',3,'male single',none,3,car,38,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',24,'existing paid','used car',9277,'no known savings','1<=X<4',2,'male div/sep',none,4,'no known property',48,none,'for free',1,skilled,1,yes,yes,good '0<=X<200',30,'critical/other existing credit','new car',2181,'no known savings','>=7',4,'male single',none,4,'real estate',36,none,own,2,skilled,1,none,yes,good 'no checking',18,'critical/other existing credit',radio/tv,1098,'<100',unemployed,4,'female div/dep/mar',none,4,car,65,none,own,2,'unemp/unskilled non res',1,none,yes,good '0<=X<200',24,'existing paid',furniture/equipment,4057,'<100','4<=X<7',3,'male div/sep',none,3,car,43,none,own,1,skilled,1,yes,yes,bad '<0',12,'existing paid',education,795,'<100','<1',4,'female div/dep/mar',none,4,'life insurance',53,none,own,1,skilled,1,none,yes,bad '0<=X<200',24,'critical/other existing credit',business,2825,'no known savings','4<=X<7',4,'male single',none,3,'no known property',34,none,own,2,skilled,2,yes,yes,good '0<=X<200',48,'existing paid',business,15672,'<100','1<=X<4',2,'male single',none,2,car,23,none,own,1,skilled,1,yes,yes,bad 'no checking',36,'critical/other existing credit','new car',6614,'<100','>=7',4,'male single',none,4,car,34,none,own,2,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',28,'all paid','used car',7824,'no known savings','<1',3,'male single',guarantor,4,'real estate',40,bank,rent,2,skilled,2,yes,yes,good '<0',27,'critical/other existing credit',business,2442,'<100','>=7',4,'male single',none,4,car,43,stores,own,4,'high qualif/self emp/mgmt',2,yes,yes,good 'no checking',15,'critical/other existing credit',radio/tv,1829,'<100','>=7',4,'male single',none,4,car,46,none,own,2,skilled,1,yes,yes,good '<0',12,'critical/other existing credit','new car',2171,'<100','1<=X<4',4,'male single',none,4,'life insurance',38,bank,own,2,'unskilled resident',1,none,no,good '0<=X<200',36,'critical/other existing credit','used car',5800,'<100','1<=X<4',3,'male single',none,4,car,34,none,own,2,skilled,1,yes,yes,good 'no checking',18,'critical/other existing credit',radio/tv,1169,'no known savings','1<=X<4',4,'male single',none,3,'life insurance',29,none,own,2,skilled,1,yes,yes,good 'no checking',36,'delayed previously','used car',8947,'no known savings','4<=X<7',3,'male single',none,2,car,31,stores,own,1,'high qualif/self emp/mgmt',2,yes,yes,good '<0',21,'existing paid',radio/tv,2606,'<100','<1',4,'female div/dep/mar',none,4,'life insurance',28,none,rent,1,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',12,'critical/other existing credit',furniture/equipment,1592,'>=1000','4<=X<7',3,'female div/dep/mar',none,2,'life insurance',35,none,own,1,skilled,1,none,no,good 'no checking',15,'existing paid',furniture/equipment,2186,'no known savings','4<=X<7',1,'female div/dep/mar',none,4,'real estate',33,bank,rent,1,'unskilled resident',1,none,yes,good '<0',18,'existing paid',furniture/equipment,4153,'<100','1<=X<4',2,'male single','co applicant',3,car,42,none,own,1,skilled,1,none,yes,bad '<0',16,'critical/other existing credit','new car',2625,'<100','>=7',2,'male single',guarantor,4,'life insurance',43,bank,rent,1,skilled,1,yes,yes,bad 'no checking',20,'critical/other existing credit','new car',3485,'no known savings','<1',2,'male div/sep',none,4,'real estate',44,none,own,2,skilled,1,yes,yes,good 'no checking',36,'critical/other existing credit','used car',10477,'no known savings','>=7',2,'male single',none,4,'no known property',42,none,'for free',2,skilled,1,none,yes,good 'no checking',15,'existing paid',radio/tv,1386,'no known savings','1<=X<4',4,'male mar/wid',none,2,'real estate',40,none,rent,1,skilled,1,yes,yes,good 'no checking',24,'existing paid',radio/tv,1278,'<100','>=7',4,'male single',none,1,'real estate',36,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '<0',12,'existing paid',radio/tv,1107,'<100','1<=X<4',2,'male single',none,2,'real estate',20,none,rent,1,'high qualif/self emp/mgmt',2,yes,yes,good '<0',21,'existing paid','new car',3763,'no known savings','4<=X<7',2,'male single','co applicant',2,'real estate',24,none,own,1,'unskilled resident',1,none,no,good '0<=X<200',36,'existing paid',education,3711,'no known savings','1<=X<4',2,'male mar/wid',none,2,car,27,none,own,1,skilled,1,none,yes,good 'no checking',15,'delayed previously','used car',3594,'<100','<1',1,'female div/dep/mar',none,2,'life insurance',46,none,own,2,'unskilled resident',1,none,yes,good '0<=X<200',9,'existing paid','new car',3195,'no known savings','1<=X<4',1,'female div/dep/mar',none,2,'real estate',33,none,own,1,'unskilled resident',1,none,yes,good 'no checking',36,'delayed previously',radio/tv,4454,'<100','1<=X<4',4,'female div/dep/mar',none,4,'real estate',34,none,own,2,skilled,1,none,yes,good '0<=X<200',24,'critical/other existing credit',furniture/equipment,4736,'<100','<1',2,'female div/dep/mar',none,4,car,25,bank,own,1,'unskilled resident',1,none,yes,bad '0<=X<200',30,'existing paid',radio/tv,2991,'no known savings','>=7',2,'female div/dep/mar',none,4,car,25,none,own,1,skilled,1,none,yes,good 'no checking',11,'existing paid',business,2142,'>=1000','>=7',1,'male div/sep',none,2,'real estate',28,none,own,1,skilled,1,yes,yes,good '<0',24,'all paid',business,3161,'<100','1<=X<4',4,'male single',none,2,'life insurance',31,none,rent,1,skilled,1,yes,yes,bad '0<=X<200',48,'no credits/all paid',other,18424,'<100','1<=X<4',1,'female div/dep/mar',none,2,'life insurance',32,bank,own,1,'high qualif/self emp/mgmt',1,yes,no,bad 'no checking',10,'existing paid','used car',2848,'100<=X<500','1<=X<4',1,'male single','co applicant',2,'real estate',32,none,own,1,skilled,2,none,yes,good '<0',6,'existing paid','new car',14896,'<100','>=7',1,'male single',none,4,'no known property',68,bank,own,1,'high qualif/self emp/mgmt',1,yes,yes,bad '<0',24,'existing paid',furniture/equipment,2359,'100<=X<500',unemployed,1,'male div/sep',none,1,'life insurance',33,none,own,1,skilled,1,none,yes,bad '<0',24,'existing paid',furniture/equipment,3345,'<100','>=7',4,'male single',none,2,'life insurance',39,none,rent,1,'high qualif/self emp/mgmt',1,yes,yes,bad 'no checking',18,'critical/other existing credit',furniture/equipment,1817,'<100','1<=X<4',4,'female div/dep/mar',none,2,'no known property',28,none,own,2,skilled,1,none,yes,good 'no checking',48,'delayed previously',radio/tv,12749,'500<=X<1000','4<=X<7',4,'male single',none,1,car,37,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '<0',9,'existing paid',radio/tv,1366,'<100','<1',3,'female div/dep/mar',none,4,'life insurance',22,none,rent,1,skilled,1,none,yes,bad '0<=X<200',12,'existing paid','new car',2002,'<100','4<=X<7',3,'male single',none,4,'life insurance',30,none,rent,1,skilled,2,yes,yes,good '<0',24,'all paid',furniture/equipment,6872,'<100','<1',2,'male div/sep',none,1,'life insurance',55,bank,own,1,skilled,1,yes,yes,bad '<0',12,'all paid','new car',697,'<100','<1',4,'male single',none,2,car,46,bank,own,2,skilled,1,yes,yes,bad '<0',18,'critical/other existing credit',furniture/equipment,1049,'<100','<1',4,'female div/dep/mar',none,4,'life insurance',21,none,rent,1,skilled,1,none,yes,good '<0',48,'existing paid','used car',10297,'<100','4<=X<7',4,'male single',none,4,'no known property',39,stores,'for free',3,skilled,2,yes,yes,bad 'no checking',30,'existing paid',radio/tv,1867,'no known savings','>=7',4,'male single',none,4,car,58,none,own,1,skilled,1,yes,yes,good '<0',12,'delayed previously','new car',1344,'<100','1<=X<4',4,'male single',none,2,'real estate',43,none,own,2,'unskilled resident',2,none,yes,good '<0',24,'existing paid',furniture/equipment,1747,'<100','<1',4,'male single','co applicant',1,'life insurance',24,none,own,1,'unskilled resident',1,none,no,good '0<=X<200',9,'existing paid',radio/tv,1670,'<100','<1',4,'female div/dep/mar',none,2,car,22,none,own,1,skilled,1,yes,yes,bad 'no checking',9,'critical/other existing credit','new car',1224,'<100','1<=X<4',3,'male single',none,1,'real estate',30,none,own,2,skilled,1,none,yes,good 'no checking',12,'critical/other existing credit',radio/tv,522,'500<=X<1000','>=7',4,'male single',none,4,'life insurance',42,none,own,2,skilled,2,yes,yes,good '<0',12,'existing paid',radio/tv,1498,'<100','1<=X<4',4,'female div/dep/mar',none,1,car,23,bank,own,1,skilled,1,none,yes,good '0<=X<200',30,'delayed previously',radio/tv,1919,'100<=X<500','<1',4,'male single',none,3,'no known property',30,stores,own,2,'high qualif/self emp/mgmt',1,none,yes,bad '>=200',9,'existing paid',radio/tv,745,'<100','1<=X<4',3,'female div/dep/mar',none,2,'real estate',28,none,own,1,'unskilled resident',1,none,yes,bad '0<=X<200',6,'existing paid',radio/tv,2063,'<100','<1',4,'male mar/wid',none,3,car,30,none,rent,1,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',60,'existing paid',education,6288,'<100','1<=X<4',4,'male single',none,4,'no known property',42,none,'for free',1,skilled,1,none,yes,bad 'no checking',24,'critical/other existing credit','used car',6842,'no known savings','1<=X<4',2,'male single',none,4,'life insurance',46,none,own,2,'high qualif/self emp/mgmt',2,yes,yes,good 'no checking',12,'existing paid','new car',3527,'no known savings','<1',2,'male single',none,3,'life insurance',45,none,own,1,'high qualif/self emp/mgmt',2,yes,yes,good 'no checking',10,'existing paid','new car',1546,'<100','1<=X<4',3,'male single',none,2,'real estate',31,none,own,1,'unskilled resident',2,none,no,good 'no checking',24,'existing paid',furniture/equipment,929,'no known savings','4<=X<7',4,'male single',none,2,car,31,stores,own,1,skilled,1,yes,yes,good 'no checking',4,'critical/other existing credit','new car',1455,'<100','4<=X<7',2,'male single',none,1,'real estate',42,none,own,3,'unskilled resident',2,none,yes,good '<0',15,'existing paid',furniture/equipment,1845,'<100','<1',4,'female div/dep/mar',guarantor,1,'life insurance',46,none,rent,1,skilled,1,none,yes,good '0<=X<200',48,'no credits/all paid','new car',8358,'500<=X<1000','<1',1,'female div/dep/mar',none,1,car,30,none,own,2,skilled,1,none,yes,good '<0',24,'all paid',furniture/equipment,3349,'500<=X<1000','<1',4,'male single',none,4,'no known property',30,none,'for free',1,skilled,2,yes,yes,bad 'no checking',12,'existing paid','new car',2859,'no known savings',unemployed,4,'male single',none,4,'no known property',38,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',18,'existing paid',furniture/equipment,1533,'<100','<1',4,'male mar/wid','co applicant',1,'life insurance',43,none,own,1,'unskilled resident',2,none,yes,bad 'no checking',24,'existing paid',radio/tv,3621,'100<=X<500','>=7',2,'male single',none,4,car,31,none,own,2,skilled,1,none,yes,bad '0<=X<200',18,'critical/other existing credit',business,3590,'<100',unemployed,3,'male mar/wid',none,3,car,40,none,own,3,'unemp/unskilled non res',2,yes,yes,good '<0',36,'delayed previously',business,2145,'<100','4<=X<7',2,'male single',none,1,car,24,none,own,2,skilled,1,yes,yes,bad '0<=X<200',24,'existing paid','used car',4113,'500<=X<1000','<1',3,'female div/dep/mar',none,4,car,28,none,rent,1,skilled,1,none,yes,bad 'no checking',36,'existing paid',furniture/equipment,10974,'<100',unemployed,4,'female div/dep/mar',none,2,car,26,none,own,2,'high qualif/self emp/mgmt',1,yes,yes,bad '<0',12,'existing paid','new car',1893,'<100','1<=X<4',4,'female div/dep/mar',guarantor,4,'life insurance',29,none,own,1,skilled,1,yes,yes,good '<0',24,'critical/other existing credit',radio/tv,1231,'>=1000','>=7',4,'female div/dep/mar',none,4,'life insurance',57,none,rent,2,'high qualif/self emp/mgmt',1,yes,yes,good '>=200',30,'critical/other existing credit',radio/tv,3656,'no known savings','>=7',4,'male single',none,4,'life insurance',49,stores,own,2,'unskilled resident',1,none,yes,good '0<=X<200',9,'critical/other existing credit',radio/tv,1154,'<100','>=7',2,'male single',none,4,'real estate',37,none,own,3,'unskilled resident',1,none,yes,good '<0',28,'existing paid','new car',4006,'<100','1<=X<4',3,'male single',none,2,car,45,none,own,1,'unskilled resident',1,none,yes,bad '0<=X<200',24,'existing paid',furniture/equipment,3069,'100<=X<500','>=7',4,'male single',none,4,'no known property',30,none,'for free',1,skilled,1,none,yes,good 'no checking',6,'critical/other existing credit',radio/tv,1740,'<100','>=7',2,'male mar/wid',none,2,'real estate',30,none,rent,2,skilled,1,none,yes,good '0<=X<200',21,'delayed previously','new car',2353,'<100','1<=X<4',1,'male div/sep',none,4,'life insurance',47,none,own,2,skilled,1,none,yes,good 'no checking',15,'existing paid','new car',3556,'no known savings','1<=X<4',3,'male single',none,2,'no known property',29,none,own,1,skilled,1,none,yes,good 'no checking',24,'existing paid',radio/tv,2397,'500<=X<1000','>=7',3,'male single',none,2,car,35,bank,own,2,skilled,1,yes,yes,bad '0<=X<200',6,'existing paid',repairs,454,'<100','<1',3,'male mar/wid',none,1,'life insurance',22,none,own,1,'unskilled resident',1,none,yes,good '0<=X<200',30,'existing paid',radio/tv,1715,'no known savings','1<=X<4',4,'female div/dep/mar',none,1,car,26,none,own,1,skilled,1,none,yes,good '0<=X<200',27,'critical/other existing credit',radio/tv,2520,'500<=X<1000','1<=X<4',4,'male single',none,2,'life insurance',23,none,own,2,'unskilled resident',1,none,yes,bad 'no checking',15,'existing paid',radio/tv,3568,'<100','>=7',4,'female div/dep/mar',none,2,car,54,bank,rent,1,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',42,'existing paid',radio/tv,7166,'no known savings','4<=X<7',2,'male mar/wid',none,4,'life insurance',29,none,rent,1,skilled,1,yes,yes,good '<0',11,'critical/other existing credit','new car',3939,'<100','1<=X<4',1,'male single',none,2,'real estate',40,none,own,2,'unskilled resident',2,none,yes,good '0<=X<200',15,'existing paid',repairs,1514,'100<=X<500','1<=X<4',4,'male single',guarantor,2,'real estate',22,none,own,1,skilled,1,none,yes,good 'no checking',24,'existing paid','new car',7393,'<100','1<=X<4',1,'male single',none,4,'life insurance',43,none,own,1,'unskilled resident',2,none,yes,good '<0',24,'all paid','new car',1193,'<100',unemployed,1,'female div/dep/mar','co applicant',4,'no known property',29,none,rent,2,'unemp/unskilled non res',1,none,yes,bad '<0',60,'existing paid',business,7297,'<100','>=7',4,'male single','co applicant',4,'no known property',36,none,rent,1,skilled,1,none,yes,bad 'no checking',30,'critical/other existing credit',radio/tv,2831,'<100','1<=X<4',4,'female div/dep/mar',none,2,car,33,none,own,1,skilled,1,yes,yes,good '>=200',24,'existing paid',radio/tv,1258,'500<=X<1000','1<=X<4',3,'female div/dep/mar',none,3,car,57,none,own,1,'unskilled resident',1,none,yes,good '0<=X<200',6,'existing paid',radio/tv,753,'<100','1<=X<4',2,'female div/dep/mar',guarantor,3,'real estate',64,none,own,1,skilled,1,none,yes,good '0<=X<200',18,'delayed previously',business,2427,'no known savings','>=7',4,'male single',none,2,'life insurance',42,none,own,2,skilled,1,none,yes,good 'no checking',24,'delayed previously','new car',2538,'<100','>=7',4,'male single',none,4,car,47,none,own,2,'unskilled resident',2,none,yes,bad '0<=X<200',15,'all paid','new car',1264,'100<=X<500','1<=X<4',2,'male mar/wid',none,2,'life insurance',25,none,rent,1,skilled,1,none,yes,bad '0<=X<200',30,'critical/other existing credit',furniture/equipment,8386,'<100','4<=X<7',2,'male single',none,2,'life insurance',49,none,own,1,skilled,1,none,yes,bad 'no checking',48,'existing paid',business,4844,'<100',unemployed,3,'male single',none,2,car,33,bank,rent,1,'high qualif/self emp/mgmt',1,yes,yes,bad '>=200',21,'existing paid','new car',2923,'100<=X<500','1<=X<4',1,'female div/dep/mar',none,1,car,28,bank,own,1,'high qualif/self emp/mgmt',1,yes,yes,good '<0',36,'existing paid','used car',8229,'<100','1<=X<4',2,'male single',none,2,'life insurance',26,none,own,1,skilled,2,none,yes,bad 'no checking',24,'critical/other existing credit',furniture/equipment,2028,'<100','4<=X<7',2,'male single',none,2,'life insurance',30,none,own,2,'unskilled resident',1,none,yes,good '<0',15,'critical/other existing credit',furniture/equipment,1433,'<100','1<=X<4',4,'female div/dep/mar',none,3,'life insurance',25,none,rent,2,skilled,1,none,yes,good '>=200',42,'no credits/all paid',business,6289,'<100','<1',2,'male div/sep',none,1,'life insurance',33,none,own,2,skilled,1,none,yes,good 'no checking',13,'existing paid',radio/tv,1409,'100<=X<500',unemployed,2,'female div/dep/mar',none,4,'real estate',64,none,own,1,skilled,1,none,yes,good '<0',24,'existing paid','used car',6579,'<100',unemployed,4,'male single',none,2,'no known property',29,none,'for free',1,'high qualif/self emp/mgmt',1,yes,yes,good '0<=X<200',24,'critical/other existing credit',radio/tv,1743,'<100','>=7',4,'male single',none,2,'life insurance',48,none,own,2,'unskilled resident',1,none,yes,good 'no checking',12,'critical/other existing credit',education,3565,'no known savings','<1',2,'male single',none,1,'life insurance',37,none,own,2,'unskilled resident',2,none,yes,good 'no checking',15,'all paid',radio/tv,1569,'100<=X<500','>=7',4,'male single',none,4,car,34,bank,own,1,'unskilled resident',2,none,yes,good '<0',18,'existing paid',radio/tv,1936,'no known savings','4<=X<7',2,'male mar/wid',none,4,car,23,none,rent,2,'unskilled resident',1,none,yes,good '<0',36,'existing paid',furniture/equipment,3959,'<100',unemployed,4,'male single',none,3,'life insurance',30,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',12,'existing paid','new car',2390,'no known savings','>=7',4,'male single',none,3,car,50,none,own,1,skilled,1,yes,yes,good 'no checking',12,'existing paid',furniture/equipment,1736,'<100','4<=X<7',3,'female div/dep/mar',none,4,'real estate',31,none,own,1,'unskilled resident',1,none,yes,good '<0',30,'existing paid','used car',3857,'<100','1<=X<4',4,'male div/sep',none,4,'life insurance',40,none,own,1,'high qualif/self emp/mgmt',1,yes,yes,good 'no checking',12,'existing paid',radio/tv,804,'<100','>=7',4,'male single',none,4,car,38,none,own,1,skilled,1,none,yes,good '<0',45,'existing paid',radio/tv,1845,'<100','1<=X<4',4,'male single',none,4,'no known property',23,none,'for free',1,skilled,1,yes,yes,bad '0<=X<200',45,'critical/other existing credit','used car',4576,'100<=X<500',unemployed,3,'male single',none,4,car,27,none,own,1,skilled,1,none,yes,good ================================================ FILE: public/viz/pollution_1.csv ================================================ ,PREC,JANT,JULT,OVR65,POPN,EDUC,HOUS,DENS,NONW,WWDRK,POOR,HC,NOX,SO@,HUMID,class 0,36.0,27.0,71.0,8.1,3.34,11.4,81.5,3243.0,8.8,42.6,11.7,21.0,15.0,59.0,59.0,0 1,35.0,23.0,72.0,11.1,3.14,11.0,78.8,4281.0,3.5,50.7,14.4,8.0,10.0,39.0,57.0,1 2,44.0,29.0,74.0,10.4,3.21,9.8,81.6,4260.0,0.8,39.4,12.4,6.0,6.0,33.0,54.0,1 3,47.0,45.0,79.0,6.5,3.41,11.1,77.5,3125.0,27.1,50.2,20.6,18.0,8.0,24.0,56.0,1 4,43.0,35.0,77.0,7.6,3.44,9.6,84.6,6441.0,24.4,43.7,14.3,43.0,38.0,206.0,55.0,1 5,53.0,45.0,80.0,7.7,3.45,10.2,66.8,3325.0,38.5,43.1,25.5,30.0,32.0,72.0,54.0,1 6,43.0,30.0,74.0,10.9,3.23,12.1,83.9,4679.0,3.5,49.2,11.3,21.0,32.0,62.0,56.0,0 7,45.0,30.0,73.0,9.3,3.29,10.6,86.0,2140.0,5.3,40.4,10.5,6.0,4.0,4.0,56.0,0 8,36.0,24.0,70.0,9.0,3.31,10.5,83.2,6582.0,8.1,42.5,12.6,18.0,12.0,37.0,61.0,1 9,36.0,27.0,72.0,9.5,3.36,10.7,79.3,4213.0,6.7,41.0,13.2,12.0,7.0,20.0,59.0,0 10,52.0,42.0,79.0,7.7,3.39,9.6,69.2,2302.0,22.2,41.3,24.2,18.0,8.0,27.0,56.0,1 11,33.0,26.0,76.0,8.6,3.2,10.9,83.4,6122.0,16.3,44.9,10.7,88.0,63.0,278.0,58.0,1 12,40.0,34.0,77.0,9.2,3.21,10.2,77.0,4101.0,13.0,45.7,15.1,26.0,26.0,146.0,57.0,1 13,35.0,28.0,71.0,8.8,3.29,11.1,86.3,3042.0,14.7,44.6,11.4,31.0,21.0,64.0,60.0,1 14,37.0,31.0,75.0,8.0,3.26,11.9,78.4,4259.0,13.1,49.6,13.9,23.0,9.0,15.0,58.0,1 15,35.0,46.0,85.0,7.1,3.22,11.8,79.9,1441.0,14.8,51.2,16.1,1.0,1.0,1.0,54.0,0 16,36.0,30.0,75.0,7.5,3.35,11.4,81.9,4029.0,12.4,44.0,12.0,6.0,4.0,16.0,58.0,0 17,15.0,30.0,73.0,8.2,3.15,12.2,84.2,4824.0,4.7,53.1,12.7,17.0,8.0,28.0,38.0,0 18,31.0,27.0,74.0,7.2,3.44,10.8,87.0,4834.0,15.8,43.5,13.6,52.0,35.0,124.0,59.0,1 19,30.0,24.0,72.0,6.5,3.53,10.8,79.5,3694.0,13.1,33.8,12.4,11.0,4.0,11.0,61.0,1 20,31.0,45.0,85.0,7.3,3.22,11.4,80.7,1844.0,11.5,48.1,18.5,1.0,1.0,1.0,53.0,0 21,31.0,24.0,72.0,9.0,3.37,10.9,82.8,3226.0,5.1,45.2,12.3,5.0,3.0,10.0,61.0,0 22,42.0,40.0,77.0,6.1,3.45,10.4,71.8,2269.0,22.7,41.4,19.5,8.0,3.0,5.0,53.0,1 23,43.0,27.0,72.0,9.0,3.25,11.5,87.1,2909.0,7.2,51.6,9.5,7.0,3.0,10.0,56.0,0 24,46.0,55.0,84.0,5.6,3.35,11.4,79.7,2647.0,21.0,46.9,17.9,6.0,5.0,1.0,59.0,1 25,39.0,29.0,75.0,8.7,3.23,11.4,78.6,4412.0,15.6,46.6,13.2,13.0,7.0,33.0,60.0,1 26,35.0,31.0,81.0,9.2,3.1,12.0,78.3,3262.0,12.6,48.6,13.9,7.0,4.0,4.0,55.0,0 27,43.0,32.0,74.0,10.1,3.38,9.5,79.2,3214.0,2.9,43.7,12.0,11.0,7.0,32.0,54.0,0 28,11.0,53.0,68.0,9.2,2.99,12.1,90.6,4700.0,7.8,48.9,12.3,648.0,319.0,130.0,47.0,0 29,30.0,35.0,71.0,8.3,3.37,9.9,77.4,4474.0,13.1,42.6,17.7,38.0,37.0,193.0,57.0,1 30,50.0,42.0,82.0,7.3,3.49,10.4,72.5,3497.0,36.7,43.3,26.4,15.0,18.0,34.0,59.0,1 31,60.0,67.0,82.0,10.0,2.98,11.5,88.6,4657.0,13.5,47.3,22.4,3.0,1.0,1.0,60.0,0 32,30.0,20.0,69.0,8.8,3.26,11.1,85.4,2934.0,5.8,44.0,9.4,33.0,23.0,125.0,64.0,0 33,25.0,12.0,73.0,9.2,3.28,12.1,83.1,2095.0,2.0,51.9,9.8,20.0,11.0,26.0,58.0,0 34,45.0,40.0,80.0,8.3,3.32,10.1,70.3,2682.0,21.0,46.1,24.1,17.0,14.0,78.0,56.0,1 35,46.0,30.0,72.0,10.2,3.16,11.3,83.2,3327.0,8.8,45.3,12.2,4.0,3.0,8.0,58.0,0 36,54.0,54.0,81.0,7.4,3.36,9.7,72.8,3172.0,31.4,45.5,24.2,20.0,17.0,1.0,62.0,1 37,42.0,33.0,77.0,9.7,3.03,10.7,83.5,7462.0,11.3,48.7,12.4,41.0,26.0,108.0,58.0,1 38,42.0,32.0,76.0,9.1,3.32,10.5,87.5,6092.0,17.5,45.3,13.2,29.0,32.0,161.0,54.0,1 39,36.0,29.0,72.0,9.5,3.32,10.6,77.6,3437.0,8.1,45.5,13.8,45.0,59.0,263.0,56.0,1 40,37.0,38.0,67.0,11.3,2.99,12.0,81.5,3387.0,3.6,50.3,13.5,56.0,21.0,44.0,73.0,0 41,42.0,29.0,72.0,10.7,3.19,10.1,79.5,3508.0,2.2,38.8,15.7,6.0,4.0,18.0,56.0,0 42,41.0,33.0,77.0,11.2,3.08,9.6,79.9,4843.0,2.7,38.6,14.1,11.0,11.0,89.0,54.0,1 43,44.0,39.0,78.0,8.2,3.32,11.0,79.9,3768.0,28.6,49.5,17.5,12.0,9.0,48.0,53.0,1 44,32.0,25.0,72.0,10.9,3.21,11.1,82.5,4355.0,5.0,46.4,10.8,7.0,4.0,18.0,60.0,0 45,34.0,32.0,79.0,9.3,3.23,9.7,76.8,5160.0,17.2,45.1,15.3,31.0,15.0,68.0,57.0,1 46,10.0,55.0,70.0,7.3,3.11,12.1,88.9,3033.0,5.9,51.0,14.0,144.0,66.0,20.0,61.0,0 47,18.0,48.0,63.0,9.2,2.92,12.2,87.7,4253.0,13.7,51.2,12.0,311.0,171.0,86.0,71.0,0 48,13.0,49.0,68.0,7.0,3.36,12.2,90.7,2702.0,3.0,51.9,9.7,105.0,32.0,3.0,71.0,0 49,35.0,40.0,64.0,9.6,3.02,12.2,82.5,3626.0,5.7,54.3,10.1,20.0,7.0,20.0,72.0,0 50,45.0,28.0,74.0,10.6,3.21,11.1,82.6,1883.0,3.4,41.9,12.3,5.0,4.0,20.0,56.0,0 51,38.0,24.0,72.0,9.8,3.34,11.4,78.0,4923.0,3.8,50.5,11.1,8.0,5.0,25.0,61.0,1 52,31.0,26.0,73.0,9.3,3.22,10.7,81.3,3249.0,9.5,43.9,13.6,11.0,7.0,25.0,59.0,1 53,40.0,23.0,71.0,11.3,3.28,10.3,73.8,1671.0,2.5,47.4,13.5,5.0,2.0,11.0,60.0,0 54,41.0,37.0,78.0,6.2,3.25,12.3,89.5,5308.0,25.9,59.7,10.3,65.0,28.0,102.0,52.0,1 55,28.0,32.0,81.0,7.0,3.27,12.1,81.0,3665.0,7.5,51.6,13.2,4.0,2.0,1.0,54.0,0 56,45.0,33.0,76.0,7.7,3.39,11.3,82.2,3152.0,12.1,47.3,10.9,14.0,11.0,42.0,56.0,1 57,45.0,24.0,70.0,11.8,3.25,11.1,79.8,3678.0,1.0,44.8,14.0,7.0,3.0,8.0,56.0,0 58,42.0,33.0,76.0,9.7,3.22,9.0,76.2,9699.0,4.8,42.2,14.5,8.0,8.0,49.0,54.0,0 59,38.0,28.0,72.0,8.9,3.48,10.7,79.8,3451.0,11.7,37.5,13.0,14.0,13.0,39.0,58.0,1 ================================================ FILE: public/viz/pollution_1_test.csv ================================================ ,PREC,JANT,JULT,OVR65,POPN,EDUC,HOUS,DENS,NONW,WWDRK,POOR,HC,NOX,SO@,HUMID,purpose,class 0,36,27,71,8.1,3.34,11.4,81.5,3243,8.8,42.6,11.7,21,15,59,59,radio/tv,0 1,35,23,72,11.1,3.14,11,78.8,4281,3.5,50.7,14.4,8,10,39,57,radio/tv,1 2,44,29,74,10.4,3.21,9.8,81.6,4260,0.8,39.4,12.4,6,6,33,54,education,1 3,47,45,79,6.5,3.41,11.1,77.5,3125,27.1,50.2,20.6,18,8,24,56,furniture/equipment,1 4,43,35,77,7.6,3.44,9.6,84.6,6441,24.4,43.7,14.3,43,38,206,55,'new car',1 5,53,45,80,7.7,3.45,10.2,66.8,3325,38.5,43.1,25.5,30,32,72,54,education,1 6,43,30,74,10.9,3.23,12.1,83.9,4679,3.5,49.2,11.3,21,32,62,56,furniture/equipment,0 7,45,30,73,9.3,3.29,10.6,86,2140,5.3,40.4,10.5,6,4,4,56,'used car',0 8,36,24,70,9,3.31,10.5,83.2,6582,8.1,42.5,12.6,18,12,37,61,radio/tv,1 9,36,27,72,9.5,3.36,10.7,79.3,4213,6.7,41,13.2,12,7,20,59,'new car',0 10,52,42,79,7.7,3.39,9.6,69.2,2302,22.2,41.3,24.2,18,8,27,56,'new car',1 11,33,26,76,8.6,3.2,10.9,83.4,6122,16.3,44.9,10.7,88,63,278,58,business,1 12,40,34,77,9.2,3.21,10.2,77,4101,13,45.7,15.1,26,26,146,57,radio/tv,1 13,35,28,71,8.8,3.29,11.1,86.3,3042,14.7,44.6,11.4,31,21,64,60,'new car',1 14,37,31,75,8,3.26,11.9,78.4,4259,13.1,49.6,13.9,23,9,15,58,'new car',1 15,35,46,85,7.1,3.22,11.8,79.9,1441,14.8,51.2,16.1,1,1,1,54,radio/tv,0 16,36,30,75,7.5,3.35,11.4,81.9,4029,12.4,44,12,6,4,16,58,radio/tv,0 17,15,30,73,8.2,3.15,12.2,84.2,4824,4.7,53.1,12.7,17,8,28,38,business,0 18,31,27,74,7.2,3.44,10.8,87,4834,15.8,43.5,13.6,52,35,124,59,'used car',1 19,30,24,72,6.5,3.53,10.8,79.5,3694,13.1,33.8,12.4,11,4,11,61,radio/tv,1 20,31,45,85,7.3,3.22,11.4,80.7,1844,11.5,48.1,18.5,1,1,1,53,'new car',0 21,31,24,72,9,3.37,10.9,82.8,3226,5.1,45.2,12.3,5,3,10,61,radio/tv,0 22,42,40,77,6.1,3.45,10.4,71.8,2269,22.7,41.4,19.5,8,3,5,53,'new car',1 23,43,27,72,9,3.25,11.5,87.1,2909,7.2,51.6,9.5,7,3,10,56,'used car',0 24,46,55,84,5.6,3.35,11.4,79.7,2647,21,46.9,17.9,6,5,1,59,furniture/equipment,1 25,39,29,75,8.7,3.23,11.4,78.6,4412,15.6,46.6,13.2,13,7,33,60,furniture/equipment,1 26,35,31,81,9.2,3.1,12,78.3,3262,12.6,48.6,13.9,7,4,4,55,radio/tv,0 27,43,32,74,10.1,3.38,9.5,79.2,3214,2.9,43.7,12,11,7,32,54,radio/tv,0 28,11,53,68,9.2,2.99,12.1,90.6,4700,7.8,48.9,12.3,648,319,130,47,radio/tv,0 29,30,35,71,8.3,3.37,9.9,77.4,4474,13.1,42.6,17.7,38,37,193,57,business,1 30,50,42,82,7.3,3.49,10.4,72.5,3497,36.7,43.3,26.4,15,18,34,59,business,1 31,60,67,82,10,2.98,11.5,88.6,4657,13.5,47.3,22.4,3,1,1,60,furniture/equipment,0 32,30,20,69,8.8,3.26,11.1,85.4,2934,5.8,44,9.4,33,23,125,64,'new car',0 33,25,12,73,9.2,3.28,12.1,83.1,2095,2,51.9,9.8,20,11,26,58,business,0 34,45,40,80,8.3,3.32,10.1,70.3,2682,21,46.1,24.1,17,14,78,56,furniture/equipment,1 35,46,30,72,10.2,3.16,11.3,83.2,3327,8.8,45.3,12.2,4,3,8,58,radio/tv,0 36,54,54,81,7.4,3.36,9.7,72.8,3172,31.4,45.5,24.2,20,17,1,62,education,1 37,42,33,77,9.7,3.03,10.7,83.5,7462,11.3,48.7,12.4,41,26,108,58,radio/tv,1 38,42,32,76,9.1,3.32,10.5,87.5,6092,17.5,45.3,13.2,29,32,161,54,'domestic appliance',1 39,36,29,72,9.5,3.32,10.6,77.6,3437,8.1,45.5,13.8,45,59,263,56,radio/tv,1 40,37,38,67,11.3,2.99,12,81.5,3387,3.6,50.3,13.5,56,21,44,73,radio/tv,0 41,42,29,72,10.7,3.19,10.1,79.5,3508,2.2,38.8,15.7,6,4,18,56,radio/tv,0 42,41,33,77,11.2,3.08,9.6,79.9,4843,2.7,38.6,14.1,11,11,89,54,repairs,1 43,44,39,78,8.2,3.32,11,79.9,3768,28.6,49.5,17.5,12,9,48,53,'used car',1 44,32,25,72,10.9,3.21,11.1,82.5,4355,5,46.4,10.8,7,4,18,60,'used car',0 45,34,32,79,9.3,3.23,9.7,76.8,5160,17.2,45.1,15.3,31,15,68,57,'new car',1 46,10,55,70,7.3,3.11,12.1,88.9,3033,5.9,51,14,144,66,20,61,radio/tv,0 47,18,48,63,9.2,2.92,12.2,87.7,4253,13.7,51.2,12,311,171,86,71,'used car',0 48,13,49,68,7,3.36,12.2,90.7,2702,3,51.9,9.7,105,32,3,71,'new car',0 49,35,40,64,9.6,3.02,12.2,82.5,3626,5.7,54.3,10.1,20,7,20,72,radio/tv,0 50,45,28,74,10.6,3.21,11.1,82.6,1883,3.4,41.9,12.3,5,4,20,56,furniture/equipment,0 51,38,24,72,9.8,3.34,11.4,78,4923,3.8,50.5,11.1,8,5,25,61,'used car',1 52,31,26,73,9.3,3.22,10.7,81.3,3249,9.5,43.9,13.6,11,7,25,59,radio/tv,1 53,40,23,71,11.3,3.28,10.3,73.8,1671,2.5,47.4,13.5,5,2,11,60,'used car',0 54,41,37,78,6.2,3.25,12.3,89.5,5308,25.9,59.7,10.3,65,28,102,52,'new car',1 55,28,32,81,7,3.27,12.1,81,3665,7.5,51.6,13.2,4,2,1,54,'new car',0 56,45,33,76,7.7,3.39,11.3,82.2,3152,12.1,47.3,10.9,14,11,42,56,radio/tv,1 57,45,24,70,11.8,3.25,11.1,79.8,3678,1,44.8,14,7,3,8,56,radio/tv,0 58,42,33,76,9.7,3.22,9,76.2,9699,4.8,42.2,14.5,8,8,49,54,'new car',0 59,38,28,72,8.9,3.48,10.7,79.8,3451,11.7,37.5,13,14,13,39,58,furniture/equipment,1 ================================================ FILE: scripts/build_with_docker.sh ================================================ #!/usr/bin/env bash npm run build docker build . -t atm-vis ================================================ FILE: scripts/start_docker.sh ================================================ #!/usr/bin/env bash docker run -p 5000:5000 -v ~/workspace/atm/ATM-VIS/atm.db:/code/atm.db \ -v ~/workspace/atm/ATM-VIS/atm:/code/atm -v ~/workspace/atm/ATM-VIS/logs:/code/logs \ -v ~/workspace/atm/ATM-VIS/models:/code/models -v ~/workspace/atm/ATM-VIS/metrics:/code/metrics \ atm-vis ================================================ FILE: server/.gitignore ================================================ # ignore log files and saved models/metrics models/ metrics/ logs/ .atm_server_cache/ # ignore virtualenv and other binary files *.pem .DS_Store .idea/ *.pickle *.tsv *.db # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class # C extensions *.so # Distribution / packaging .Python build/ develop-eggs/ dist/ downloads/ eggs/ .eggs/ lib/ lib64/ parts/ sdist/ var/ wheels/ *.egg-info/ .installed.cfg *.egg MANIFEST # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .coverage .coverage.* .cache nosetests.xml coverage.xml *.cover .hypothesis/ .pytest_cache/ # Translations *.mo *.pot # Django stuff: *.log local_settings.py db.sqlite3 # Flask stuff: instance/ .webassets-cache # Scrapy stuff: .scrapy # Sphinx documentation docs/_build/ # PyBuilder target/ # Jupyter Notebook .ipynb_checkpoints # pyenv .python-version # celery beat schedule file celerybeat-schedule # SageMath parsed files *.sage.py # Environments .env .venv env/ venv/ ENV/ env.bak/ venv.bak/ # Spyder project settings .spyderproject .spyproject # Rope project settings .ropeproject # mkdocs documentation /site # mypy .mypy_cache/ ================================================ FILE: server/atm_server/__init__.py ================================================ import os SERVER_ROOT = os.path.dirname(os.path.abspath(os.path.join(__file__, '..'))) from atm_server.cli import cli ================================================ FILE: server/atm_server/api.py ================================================ import os import copy import logging import yaml import json from multiprocessing import Process from flask import request, jsonify, Blueprint, current_app, Response from werkzeug.utils import secure_filename from sqlalchemy.exc import InvalidRequestError from atm.enter_data import enter_data, create_dataset from atm.constants import ClassifierStatus, RunStatus, PartitionStatus from atm.config import load_config from .utils import flaskJSONEnCoder from .error import ApiError from .db import fetch_entity, summarize_classifiers, fetch_dataset_path, get_db, summarize_datarun, \ fetch_classifiers, fetch_hyperpartitions from atm_server.atm_helper import start_worker, stop_worker, work, get_datarun_steps_info, new_datarun, \ maybe_create_datarun_configs, update_datarun_method_config, load_datarun_method_config, datarun_config, load_datarun_config,\ load_datarun_config_dict from recommender.predict_dataset import Recommender api = Blueprint('api', __name__) logger = logging.getLogger('atm_vis') def allowed_file(filename): """ Checks if filename ends with an allowed file extension. See: http://flask.pocoo.org/docs/0.12/patterns/fileuploads/ """ return '.' in filename and \ filename.rsplit('.', 1)[1].lower() in current_app.config['ALLOWED_EXTENSIONS'] @api.errorhandler(ApiError) def handle_invalid_usage(error): # response = jsonify(error.to_dict()) # response.status_code = error.status_code logging.exception(error) response = jsonify({"error":str(error)}) response.status_code = 500 return response @api.errorhandler(InvalidRequestError) def handle_db_request_error(error): logging.exception(error) print(error) response = jsonify({"error":str(error)}) response.status_code = 500 return response # inject a more powerful jsonEncoder api.json_encoder = flaskJSONEnCoder # Wrap the return as a json response def fetch_entity_as_json(*args, **kwargs): return jsonify(fetch_entity(*args, **kwargs)) # def read_file_in_chunks(file_path, chunk_size): ###################### # API Starts here ###################### @api.route('/datasets', methods=['GET']) def get_datasets(): """Fetch the info of all datasets""" return fetch_entity_as_json('Dataset') @api.route('/datasets/', methods=['GET']) def get_dataset(dataset_id): """Fetch the info of a dataset by id""" return fetch_entity_as_json('Dataset', {'id': dataset_id}, True) @api.route('/dataset_file/', methods=['GET']) def get_dataset_file(dataset_id): """Fetch the dataset file by id""" train = request.args.get('train', True, type=bool) dataset_path = fetch_dataset_path(dataset_id, train) def read_in_chunks(chunk_size=1024): f = open(dataset_path, 'r') while True: data = f.read(chunk_size) if not data: break yield data f.close() return Response(read_in_chunks(), mimetype='text/csv') @api.route('/dataruns', methods=['GET']) def get_dataruns(): """ Fetch the info of dataruns. A query parameter of dataset_id is supported. E.g.: /api/dataruns?dataset_id=1 """ dataset_id = request.args.get('dataset_id', None, type=int) return fetch_entity_as_json('Datarun', {'dataset_id': dataset_id}) @api.route('/dataruns/', methods=['GET']) def get_datarun(datarun_id): """Fetch the summary of a datarun by id""" return fetch_entity_as_json('Datarun', {'id': datarun_id}, True) @api.route('/datarun_summary/', methods=['GET']) def get_datarun_summary(datarun_id): """Fetch the summary of a datarun by id""" classifier_start = request.args.get('classifier_start', None, type=int) classifier_end = request.args.get('classifier_end', None, type=int) return jsonify(summarize_datarun(datarun_id, classifier_start, classifier_end)) @api.route('/hyperpartitions', methods=['GET']) def get_hyperpartitions(): """ Fetch the info of hyperpartitions. E.g.: /api/hyperpartitions?dataset_id=1&datarun_id=1 """ dataset_id = request.args.get('dataset_id', None, type=int) datarun_id = request.args.get('datarun_id', None, type=int) nice = request.args.get('nice', True, type=bool) return jsonify(fetch_hyperpartitions(dataset_id=dataset_id, datarun_id=datarun_id, nice=nice)) @api.route('/hyperpartitions/', methods=['GET']) def get_hyperpartition(hyperpartition_id): """Fetch the info of a hyperpartition by id""" nice = request.args.get('nice', True, type=bool) return jsonify(fetch_hyperpartitions(hyperpartition_id, nice=nice)[0]) @api.route('/classifiers', methods=['GET']) def get_classifiers(): """ Fetch the info of classifiers. E.g.: /api/classifiers?datarun_id=1&hyperpartition_id=1 """ datarun_id = request.args.get('datarun_id', None, type=int) hyperpartition_id = request.args.get('hyperpartition_id', None, type=int) status = request.args.get('status', ClassifierStatus.COMPLETE, type=str) # sort_by_score = request.args.get('sort_by_score', False, type=bool) nice = request.args.get('nice', True, type=bool) return jsonify(fetch_classifiers(datarun_id=datarun_id, hyperpartition_id=hyperpartition_id, status=status, nice=nice)) # return fetch_entity_as_json('Classifier', {'datarun_id': datarun_id, # 'hyperpartition_id': hyperpartition_id}) @api.route('/classifiers/', methods=['GET']) def get_classifier(classifier_id): """Fetch the info of a classifier by id""" nice = request.args.get('nice', True, type=bool) return jsonify(fetch_classifiers(classifier_id, nice=nice)[0]) # return fetch_entity_as_json('Classifier', {'id': classifier_id}, True) @api.route('/classifier_summary', methods=['GET']) def get_classifier_summary(): """ Summarize the classifiers as a csv. For the fields in the csv, see `atm_server.db:summarize_classifiers` for details. E.g.: /api/classifier_summary?datarun_id=1 """ dataset_id = request.args.get('datarset_id', None, type=int) datarun_id = request.args.get('datarun_id', None, type=int) hyperpartition_id = request.args.get('hyperpartition_id', None, type=int) method = request.args.get('method', None, type=str) csv_data = summarize_classifiers(dataset_id, datarun_id, hyperpartition_id=hyperpartition_id, method=method) def generate(): for row in csv_data: yield ','.join(row) + '\n' return Response(generate(), mimetype='text/csv') @api.route('/datarun_steps_scores/', methods=['GET']) def get_datarun_steps_scores(datarun_id): """ Get the scores of the hyperpartitions/method in each step. Query arameters: classifier_start: only return the scores of and after the `classifier_start` th classifier classifier_end: only return the scores before the `classifier_end` th classifier, Note that :classifier_start and :classifier_end are not ids, they starts from 1. (This is because the caller may not know the classifier ids of the datarun) nice: A flag for return nice format result :param datarun_id: the id of the datarun :return: if nice is False, [ {"1": 0.2, "2": 0.3, ...}, ... ] if nice is True, [ { "knn": [0.2, 0.3], "logreg": [0.1], ... }, ... ] """ classifier_start = request.args.get('classifier_start', None, type=int) classifier_end = request.args.get('classifier_end', None, type=int) nice = request.args.get('nice', 0, type=int) scores_of_steps = get_datarun_steps_info(datarun_id, classifier_start, classifier_end, nice) return jsonify(scores_of_steps) # route to post a new CSV file and create a datarun with enter_data @api.route('/enter_data', methods=['POST']) def post_enter_data(): """ Deprecated. Use post_new_dataset and post_new_datarun Receives and saves a CSV file, after which it executes the enter_data function. See: http://flask.pocoo.org/docs/0.12/patterns/fileuploads/ """ if 'file' not in request.files: raise ApiError('No file part', status_code=400) file = request.files['file'] # if user does not select file, browser also submits an empty part without filename if file.filename == '': raise ApiError('Empty file part', status_code=400) if file and allowed_file(file.filename): filename = secure_filename(file.filename) rel_filepath = os.path.join(current_app.config['UPLOAD_FOLDER'], filename) abs_filepath = os.path.abspath(rel_filepath) if not os.path.exists(current_app.config['UPLOAD_FOLDER']): os.makedirs(current_app.config['UPLOAD_FOLDER']) if os.path.exists(abs_filepath): file_name, file_extension = os.path.splitext(abs_filepath) path_temp = file_name + '_%d' + file_extension count = 2 while os.path.exists(abs_filepath): abs_filepath = path_temp % count count += 1 # Ugly hack to prevent dead loop if count > 100: raise ValueError('The saved data file renamed to over 100, please rename the file and upload.') logger.warning('Filename %s already exists, renamed and saved to %s' % (rel_filepath, abs_filepath)) file.save(abs_filepath) run_conf = current_app.config['RUN_CONF'] sql_conf = current_app.config['SQL_CONF'] aws_conf = current_app.config['AWS_CONF'] run_per_partition = current_app.config['RUN_PER_PARTITION'] # we need to set a customized train_path but without modifying the # global run_conf object, so we deepcopy the run_conf object upload_run_conf = copy.deepcopy(run_conf) upload_run_conf.train_path = abs_filepath datarun_id = enter_data(sql_conf, upload_run_conf, aws_conf, run_per_partition) return jsonify({'success': True, 'filename': os.path.split(abs_filepath)[1], 'id': datarun_id}) # route to post a new CSV file and create a datarun with enter_data @api.route('/new_dataset', methods=['POST']) def post_new_dataset(): """ Receives and saves a CSV file, and create a dataset entry in the db """ if 'file' not in request.files: raise ApiError('No file part', status_code=400) file = request.files['file'] # if user does not select file, browser also submits an empty part without filename if file.filename == '': raise ApiError('Empty file part', status_code=400) if file and allowed_file(file.filename): filename = secure_filename(file.filename) rel_filepath = os.path.join(current_app.config['UPLOAD_FOLDER'], filename) abs_filepath = os.path.abspath(rel_filepath) if not os.path.exists(current_app.config['UPLOAD_FOLDER']): os.makedirs(current_app.config['UPLOAD_FOLDER']) if os.path.exists(abs_filepath): file_name, file_extension = os.path.splitext(abs_filepath) path_temp = file_name + '_%d' + file_extension count = 2 while os.path.exists(abs_filepath): abs_filepath = path_temp % count count += 1 # Ugly hack to prevent dead loop if count > 100: raise ValueError('The saved data file renamed to over 100, please rename the file and upload.') logger.warning('Filename %s already exists, renamed and saved to %s' % (rel_filepath, abs_filepath)) file.save(abs_filepath) run_conf = current_app.config['RUN_CONF'] aws_conf = current_app.config['AWS_CONF'] # we need to set a customized train_path but without modifying the # global run_conf object, so we deepcopy the run_conf object upload_run_conf = copy.deepcopy(run_conf) upload_run_conf.train_path = abs_filepath dataset = create_dataset(get_db(), upload_run_conf, aws_conf) return jsonify({'success': True, 'filename': os.path.split(abs_filepath)[1], 'id': dataset.id}) # route to post a new CSV file and create a datarun with enter_data @api.route('/new_datarun/', methods=['POST']) def post_new_datarun(dataset_id): """ For a dataset (specified by the dataset_id), create a datarun with the given configuration. """ if 'configs' not in request.form: raise ApiError('No configs in the post form!', status_code=400) configs = request.form['configs'] # print(configs) configs = json.loads(configs) run_conf = current_app.config['RUN_CONF'] run_per_partition = current_app.config['RUN_PER_PARTITION'] # we need to set a customized train_path but without modifying the # global run_conf object, so we deepcopy the run_conf object upload_run_conf = copy.deepcopy(run_conf) for key, val in configs.items(): setattr(upload_run_conf, key, val) upload_run_conf.dataset_id = dataset_id db = get_db() datarun_id = new_datarun(db, upload_run_conf, run_per_partition) maybe_create_datarun_configs(datarun_id) return jsonify({'success': True, 'id': datarun_id}) @api.route('/simple_worker', methods=['GET', 'POST']) def dispatch_simple_worker(): """ Executes the worker.py script inside a virtualenv and returns stdout and stderr as response. Note: It currently only works if rest_api_server.py file is in the same directory as the worker.py script. """ # parent_end, child_end = Pipe() p = Process(target=work) p.start() return jsonify({'submitted': True}) # if block: # received = parent_end.recv() # p.join() # # return jsonify(received) # route to activate a single worker @api.route('/start_worker/', methods=['GET', 'POST']) def dispatch_single_worker(datarun_id): """ Dispatch a worker for a datarun (if the datarun is not complete or already running) Return the current status of the datarun """ start_worker(datarun_id) # db = get_db() # datarun = db.get_datarun(datarun_id) return jsonify({'status': RunStatus.RUNNING}) # route to activate a single worker @api.route('/stop_worker/', methods=['GET', 'POST']) def stop_single_worker(datarun_id): """ Stop a worker by the given datarun_id (or do nothing if no worker found for the datarun) Return the status of the datarun """ db = get_db() stop = stop_worker(datarun_id) datarun = db.get_datarun(datarun_id) return jsonify({'status': datarun.status, 'success': stop}) @api.route('/configs', methods=['GET','POST']) def configs_info(): """Fetch or set the info of run configs""" datarun_id = request.args.get('datarun_id', None, type=int) result = {'success': False} # with datarun_config(datarun_id): # run_path = current_app.config['run_config'] if request.method == 'GET': try: config = load_datarun_config_dict(datarun_id) except FileNotFoundError as e: raise ApiError(e, 404) return jsonify(config) # with open(run_path) as f: # run_args = yaml.load(f) # result.update(run_args) # result.update({'success':True}) elif request.method == 'POST': run_path = current_app.config['RUN_CONFIG'] # Get local set configs run_args = {} with open(run_path) as f: run_args = yaml.load(f) # Update Local set configs And Save in the default file. configs = json.loads(request.form['configs']) run_args.update(configs) with open(run_path,'w') as f: yaml.dump(run_args,f) # Load Config Again. And Update Current APP Configs. config = {'run_config':run_path} # Load ATM confs _, run_conf, _, _ = load_config(**config) current_app.config.update({'RUN_CONF': run_conf}) result['success']=True return jsonify(result) @api.route('/hyperparameters/', methods=['GET', 'POST']) def update_hyperparameters(datarun_id): result = {'success': False} method = request.args.get('method', None, type=str) if request.method == 'GET': return jsonify(load_datarun_method_config(datarun_id, method)) else: hp_updates = request.get_json() if hp_updates is None: raise ApiError('Empty or invalid json data!', 400) if method is not None: try: update_datarun_method_config(datarun_id, method, hp_updates) except ValueError as e: raise ApiError(e, 400) else: for method, update in hp_updates.items(): try: update_datarun_method_config(datarun_id, method, update) except ValueError as e: raise ApiError(e, 400) result['success'] = True return jsonify(result) @api.route('/disable_hyperpartition', methods=['POST']) def post_disable_hyperpartition(): db = get_db() hyperpartition_ids = request.get_json() # print(hyperpartition_ids) if hyperpartition_ids is None: raise ApiError('Empty or invalid json data!', 400) for _id in hyperpartition_ids: db.mark_hyperpartition_errored(_id) return jsonify({'success': True}) @api.route('/enable_hyperpartition', methods=['POST']) def post_enable_hyperpartition(): db = get_db() hyperpartition_ids = request.get_json() # print(hyperpartition_ids) if hyperpartition_ids is None: raise ApiError('Empty or invalid json data!', 400) for _id in hyperpartition_ids: hyperpartition = db.get_hyperpartition(_id) hyperpartition.status = PartitionStatus.INCOMPLETE db.session.commit() return jsonify({'success': True}) @api.route('/update_datarun_config/', methods=['POST']) def post_update_datarun_config(datarun_id): """ Update the configuration of a datarun_id Payload is a json similar to the following (all fields are optional): { configs: { # Something similar to the run.yaml, fields inside configs are optional methods: ['ada', ...], # A list of method strings representing the valid methods ... }, hyperpartitions: [102, 103, ...], # A list of the ids of that are active hyperpartitions method_configs: { 'ada': { # name of the method that you want to update config "n_estimators": { # name of the hyperparameter that you want to change range or value "type": "int", # the type should be included to avoid invalid input "range": [25, 500] }, ... }, ... } } """ update_json = request.get_json() with datarun_config(datarun_id) as run_config: if 'configs' in update_json: configs = update_json['configs'] run_config.update_run_config(configs) if 'hyperpartitions' in update_json: hyperpartition_ids = update_json['hyperpartitions'] db = get_db() try: query = db.session.query(db.Hyperpartition) query = query.filter(db.Hyperpartition.id.in_(hyperpartition_ids)) query = query.filter(db.Hyperpartition.status != PartitionStatus.GRIDDING_DONE) query.update({db.Hyperpartition.status: PartitionStatus.INCOMPLETE}, synchronize_session=False) query = db.session.query(db.Hyperpartition) query = query.filter(db.Hyperpartition.id.notin_(hyperpartition_ids)) query = query.filter(db.Hyperpartition.status != PartitionStatus.GRIDDING_DONE) query.update({db.Hyperpartition.status: PartitionStatus.ERRORED}, synchronize_session=False) db.session.commit() except: db.session.rollback() raise if 'method_configs' in update_json: method_configs = update_json['method_configs'] for method, hp_update in method_configs.items(): try: update_datarun_method_config(datarun_id, method, hp_update) except ValueError as e: raise ApiError(e, 400) return jsonify({'success': True}) @api.route('/postClickEvent', methods=['POST']) def post_click_event(): """ A click event is a json file. includes name: clickevent: [{ type description time }] ip """ filename = './atm/clickevent.json' if not os.path.exists(filename): with open(filename, 'w') as f: json.dump([], f) configs = [] with open(filename, 'r') as f: configs = json.load(f) click_event_json = request.get_json() click_event_json["ip"]=request.remote_addr configs.append(click_event_json) with open(filename, 'w') as f: json.dump(configs, f) return jsonify({'success': True}) @api.route('/getRecommendation/', methods=['GET']) def getRecommendation(dataset_id): """Get Recommendation""" train = request.args.get('train', True, type=bool) dataset_path = fetch_dataset_path(dataset_id, train) rec = Recommender(current_app.config['DATASET_META_DIR']) result = rec.predict_dataset(dataset_path,dataset_id) if len(result)>=3: result = result[0:3] return jsonify({'result':result}) ================================================ FILE: server/atm_server/atm_helper/__init__.py ================================================ from .datarun_config import * from .worker import * from .helpers import * ================================================ FILE: server/atm_server/atm_helper/btb_wireup.py ================================================ """ Helper functions that wire up the atm package """ from btb.selection import UCB1, Uniform, RecentKReward, BestKReward, PureBestKVelocity, HierarchicalByAlgorithm import numpy as np K_MIN = 2 def _selector_scores2rewards(selector, choice_scores): reward_func = selector.compute_rewards if isinstance(selector, BestKReward) or isinstance(selector, RecentKReward): min_num_scores = min([len(s) for s in choice_scores.values()]) if min_num_scores < K_MIN: reward_func = super(BestKReward, selector).compute_rewards elif isinstance(selector, PureBestKVelocity): min_num_scores = min([len(s) for s in choice_scores.values()]) if min_num_scores < K_MIN: reward_func = super(BestKReward, selector).compute_rewards else: reward_func = lambda s: [1] if len(s) == min_num_scores else [0] elif isinstance(selector, HierarchicalByAlgorithm): raise NotImplementedError('No support for HierarchicalByAlgorithm currently') # convert the raw scores list for each choice to a "rewards" list choice_rewards = {} for choice, scores in choice_scores.items(): # only consider choices that this object was initialized with if choice not in selector.choices: continue choice_rewards[choice] = reward_func(scores) return choice_rewards def ucb_bandit_scores(choice_rewards): total_pulls = max(sum(len(r) for r in choice_rewards.values()), 1) scores = {} for choice, rewards in choice_rewards.items(): # count the number of pulls for this choice, with a floor of 1 choice_pulls = max(len(rewards), 1) # compute the 2-stdev error for the estimate of this choice error = np.sqrt(2.0 * np.log(total_pulls) / choice_pulls) # compute the average reward, or default to 0 avg_reward = np.mean(rewards) if len(rewards) else 0 # this choice's score is the upper bound of what we think is possible scores[choice] = avg_reward + error return scores def selector_bandit_scores(selector, choice_scores): n_choices = len(choice_scores) if isinstance(selector, Uniform): return {choice: 1 / n_choices for choice in choice_scores.keys()} elif isinstance(selector, UCB1): choice_rewards = _selector_scores2rewards(selector, choice_scores) return ucb_bandit_scores(choice_rewards) else: raise NotImplementedError("No implementation for class %s" % str(type(selector))) ================================================ FILE: server/atm_server/atm_helper/datarun_config.py ================================================ import os import shutil import json import yaml import copy import warnings from flask import current_app from sqlalchemy.exc import IntegrityError import atm from atm.method import Method, HYPERPARAMETER_TYPES, List from atm.utilities import object_to_base_64 from atm.constants import METHODS_MAP, PartitionStatus from atm.config import RunConfig from atm_server.db import get_db from atm_server.error import ApiError # DATARUN_METHOD_CONFIG_DIR = 'atm/run_config' DEFAULT_METHOD_PATH = atm.constants.METHOD_PATH class NewMethod(Method): def __init__(self, method, method_path): if method in METHODS_MAP: # if the configured method is a code, look up the path to its json config_path = os.path.join(method_path, METHODS_MAP[method]) else: # otherwise, it must be a path to a file config_path = method with open(config_path) as f: config = json.load(f) self.name = config['name'] self.root_params = config['root_hyperparameters'] self.conditions = config['conditional_hyperparameters'] self.class_path = config['class'] # create hyperparameters from the parameter config self.parameters = {} for k, v in list(config['hyperparameters'].items()): param_type = HYPERPARAMETER_TYPES[v['type']] self.parameters[k] = param_type(name=k, **v) # List hyperparameters are special. These are replaced in the # CPT with a size hyperparameter and sets of element hyperparameters # conditioned on the size. for name, param in list(self.parameters.items()): if type(param) == List: elements, conditions = param.get_elements() for e in elements: self.parameters[e] = param.element # add the size parameter, remove the list parameter self.parameters[param.length.name] = param.length del self.parameters[param.name] # if this is a root param, replace its name with the new size # name in the root params list if param.name in self.root_params: self.root_params.append(param.length.name) self.root_params.remove(param.name) # if this is a conditional param, replace it there instead for var, cond in list(self.conditions.items()): for val, deps in list(cond.items()): if param.name in deps: deps.append(param.length.name) deps.remove(param.name) self.conditions[var][val] = deps # finally, add all the potential sets of list elements as # conditions of the list's size self.conditions[param.length.name] = conditions def get_datarun_config_path(datarun_id, method=None): config_path = os.path.join(current_app.config['DATARUN_CONFIG_DIR'], str(datarun_id)) if method is None: return config_path if method in METHODS_MAP: config_path = os.path.join(config_path, METHODS_MAP[method]) return config_path raise ValueError('Unknown method ', method) def maybe_create_datarun_configs(datarun_id): config_path = get_datarun_config_path(datarun_id) if not os.path.exists(config_path): # Copy default configuration shutil.copytree(DEFAULT_METHOD_PATH, config_path) # Copy default run configuration shutil.copy(current_app.config['RUN_CONFIG'], config_path) def load_datarun_config_dict(datarun_id=None): """ Load the run config (i.e., run.yaml) of a datarun. If datarun_id is None, load the default run config (i.e., config/run.yaml) Return a dict """ if datarun_id is None: config_path = current_app.config['RUN_CONFIG'] else: config_path = get_datarun_config_path(datarun_id) config_path = os.path.join(config_path, 'run.yaml') run_args = {} with open(config_path) as f: run_args = yaml.load(f) return run_args def load_datarun_config(datarun_id=None): """ Load the run config (i.e., run.yaml) of a datarun. If datarun_id is None, load the default run config (i.e., config/run.yaml) Return a RunConfig Object """ run_args = load_datarun_config_dict(datarun_id) if datarun_id is not None: # The values in db might be different db = get_db() datarun = db.get_datarun(datarun_id) run_args.update({key: getattr(datarun, key) for key in RunConfig.DEFAULTS if hasattr(datarun, key)}) run_conf = RunConfig(**run_args) return run_conf def update_datarun_config(datarun_id, config): """ Update the "run_config" of a datarun. Note: new methods will not be added (If they are not exist in the config when the datarun is created) :param datarun_id: :param config: """ # Now update the fields in db so that configs really changes db = get_db() try: # First update the dataruns table datarun = db.get_datarun(datarun_id) # describe the datarun by its tuner and selector myconfig = copy.deepcopy(config) tuner = myconfig.get("tuner", datarun.tuner) selector = myconfig.get("selector", datarun.selector) myconfig["description"] = '__'.join([tuner, selector]) if "score_target" in myconfig: myconfig["score_target"] = myconfig["score_target"] + '_judgment_metric' for key, val in myconfig.items(): if val is None: continue if hasattr(datarun, key): setattr(datarun, key, val) db.session.commit() except IntegrityError as e: db.session.rollback() raise ApiError(e, 400) except: db.session.rollback() raise if 'methods' in config: try: # Then update the hyperpartitions methods = set(config['methods']) query = db.session.query(db.Hyperpartition) query = query.filter(db.Hyperpartition.datarun_id == datarun_id) query = query.filter(db.Hyperpartition.status != PartitionStatus.GRIDDING_DONE) query = query.filter(db.Hyperpartition.method.notin_(methods)) query.update({db.Hyperpartition.status: PartitionStatus.ERRORED}, synchronize_session=False) query = db.session.query(db.Hyperpartition) query = query.filter(db.Hyperpartition.datarun_id == datarun_id) query = query.filter(db.Hyperpartition.status != PartitionStatus.GRIDDING_DONE) query = query.filter(db.Hyperpartition.method.in_(methods)) query.update({db.Hyperpartition.status: PartitionStatus.INCOMPLETE}, synchronize_session=False) db.session.commit() except IntegrityError as e: db.session.rollback() raise ApiError(e, 400) except: db.session.rollback() raise # Update the config file as well config_path = get_datarun_config_path(datarun_id) config_path = os.path.join(config_path, 'run.yaml') with open(config_path, 'r') as f: run_args = yaml.load(f) run_args.update(config) print(run_args) with open(config_path, 'w') as f: yaml.dump(run_args, f) return True def load_datarun_method_config(datarun_id, method=None): """ Load the method configs (e.g., adaboost.json) of a datarun. If method is None, a dict of {method: config} will be returned :param datarun_id: :param method: method string (the keys of atm.constants.METHODS_MAP) :return: """ with datarun_config(datarun_id): config_path = get_datarun_config_path(datarun_id, method) if method is not None: with open(config_path) as f: return json.load(f) ret = {} for method in METHODS_MAP: ret[method] = load_datarun_method_config(datarun_id, method) return ret def save_datarun_method_config(datarun_id, method, config): """Save the config of a method of a datarun""" config_path = get_datarun_config_path(datarun_id, method) with open(config_path, 'w') as f: json.dump(config, f) def update_datarun_method_config(datarun_id, method, hyperparameter_configs): """ Update the config of a method of a datarun by only providing the hyperparameters. This method would also do some simple legality check on the provided hyperparameters. The argument hyperparameter_configs is a dict like: {hp: {'type': ..., 'range': ...}}) """ assert isinstance(hyperparameter_configs, dict) config = load_datarun_method_config(datarun_id, method) hyperparmeters = config['hyperparameters'] for hp, val in hyperparameter_configs.items(): if hp not in hyperparmeters: warnings.warn('Trying to update unknown parameter %s for method %s' % (hp, method)) if val['type'] != hyperparmeters[hp]['type']: raise ValueError('Hyperparameter type mismatch! Trying to update %s with type %s as type %s!' % ( hp, hyperparmeters[hp]['type'], val['type'])) hyperparmeters[hp] = val save_datarun_method_config(datarun_id, method, config) _method = NewMethod(method, get_datarun_config_path(datarun_id)) parts = _method.get_hyperpartitions() db = get_db() for part in parts: # if necessary, create a new datarun for each hyperpartition. # This setting is useful for debugging. # create a new hyperpartition in the database query = db.session.query(db.Hyperpartition).filter(db.Hyperpartition.datarun_id == datarun_id) query = query.filter(db.Hyperpartition.method == method) # We assume that the categorical and constants are fixed query = query.filter(db.Hyperpartition.categorical_hyperparameters_64 == object_to_base_64(part.categoricals)) query = query.filter(db.Hyperpartition.constant_hyperparameters_64 == object_to_base_64(part.constants)) # query = query.filter(db.Hyperpartition.tunable_hyperparameters_64 != object_to_base_64(part.tunables)) hps = list(query.all()) if len(hps) == 1: hp = hps[0] hp.tunables = part.tunables elif len(hps) > 1: raise ValueError('Multiple hyperpartitions found!') db.session.commit() class datarun_config: def __init__(self, datarun_id): self.datarun_id = datarun_id self.config_path = None self.default_path = DEFAULT_METHOD_PATH self._run_config = None self._method_config = None def __enter__(self): self.config_path = get_datarun_config_path(self.datarun_id) # if not os.path.exists(self.config_path): maybe_create_datarun_configs(self.datarun_id) # Temporarily change the path atm.constants.METHOD_PATH = self.config_path return self @property def run_config(self): if self._run_config is None: # Lazy loading self._run_config = load_datarun_config(self.datarun_id) return self._run_config def update_run_config(self, config): update_datarun_config(self.datarun_id, config) # Reset the _run_config to None self._run_config = None def load_method_config(self, method=None): return load_datarun_method_config(self.datarun_id, method) def update_method_config(self, method, hyperparameters): update_datarun_method_config(self.datarun_id, method, hyperparameters) def __exit__(self, type, error, traceback): atm.constants.METHOD_PATH = self.default_path ================================================ FILE: server/atm_server/atm_helper/helpers.py ================================================ from collections import defaultdict import logging import numpy as np from atm.worker import Worker from atm.constants import ClassifierStatus, PartitionStatus from atm.utilities import get_public_ip from atm.enter_data import create_dataset, create_datarun from atm.method import Method from atm_server.db import get_db from .btb_wireup import selector_bandit_scores logger = logging.getLogger('atm-vis') def get_datarun_steps_info(datarun_id, classifier_start=None, classifier_end=None, nice=False): """ Get the scores of the hyperpartitions/method in each step. :param datarun_id: the id of the datarun :param classifier_start: only return the scores of and after the `classifier_start` th classifier :param classifier_end: only return the scores before the `classifier_end` th classifier, Note that :classifier_start and :classifier_end are not ids, they starts from 1. (This is because the caller may not know the classifier ids of the datarun) :param nice: A flag for return nice format result :return: if nice is False, [ {"1": 0.2, "2": 0.3, ...}, ... ] if nice is True, [ { "knn": [0.2, 0.3], "logreg": [0.1], ... }, ... ] """ if classifier_start is None: classifier_start = -np.inf if classifier_end is None: classifier_end = np.inf db = get_db() datarun = db.get_datarun(datarun_id=datarun_id) hyperpartitions = db.get_hyperpartitions(datarun_id=datarun_id) # load classifiers and build scores lists # make sure all hyperpartitions are present in the dict, even ones that # don't have any classifiers. That way the selector can choose hyperpartitions # that haven't been scored yet. hyperpartition_scores = {fs.id: [] for fs in hyperpartitions} classifiers = db.get_classifiers(datarun_id=datarun_id, status=ClassifierStatus.COMPLETE) selected_classifiers = [c for c in classifiers if c.hyperpartition_id in hyperpartition_scores] # Create a temporary worker worker = Worker(db, datarun, public_ip=get_public_ip()) bandit_scores_of_steps = [] for i, c in enumerate(selected_classifiers): if i >= classifier_end: break # the cast to float is necessary because the score is a Decimal; # doing Decimal-float arithmetic throws errors later on. score = float(getattr(c, datarun.score_target) or 0) hyperpartition_scores[c.hyperpartition_id].append(score) bandit_scores = selector_bandit_scores(worker.selector, hyperpartition_scores) bandit_scores = {key: float("%.5f" % val) for key, val in bandit_scores.items()} if i < classifier_start: continue bandit_scores_of_steps.append(bandit_scores) # For a nicer formatted output if nice: results = [] hp_id2method = {fs.id: fs.method for fs in hyperpartitions} for bandit_scores in bandit_scores_of_steps: res = defaultdict(list) for hp_id, score in bandit_scores.items(): res[hp_id2method[hp_id]].append(score) results.append(res) return results return bandit_scores_of_steps def new_datarun(db, run_config, run_per_partition=False): """ A modification of the atm.enter_data.enter_data Generate a datarun, including a dataset if necessary. db: an instance of atm.Database. run_config: all attributes necessary to initialize a Datarun, including Dataset info if the dataset has not already been created. Returns: ID of the generated datarun """ # connect to the database # if the user has provided a dataset id, use that. Otherwise, create a new # dataset based on the arguments we were passed. # if run_config.dataset_id is None: # raise ValueError('') # # dataset = create_dataset(db, run_config, aws_config=aws_config) # # run_config.dataset_id = dataset.id # else: dataset = db.get_dataset(run_config.dataset_id) method_parts = {} for m in run_config.methods: # enumerate all combinations of categorical variables for this method method = Method(m) method_parts[m] = method.get_hyperpartitions() logger.info('method %s has %d hyperpartitions' % (m, len(method_parts[m]))) # create hyperpartitions and datarun(s) run_ids = [] if not run_per_partition: logger.debug('saving datarun...') datarun = create_datarun(db, dataset, run_config) logger.debug('saving hyperpartions...') for method, parts in list(method_parts.items()): for part in parts: # if necessary, create a new datarun for each hyperpartition. # This setting is useful for debugging. if run_per_partition: datarun = create_datarun(db, dataset, run_config) run_ids.append(datarun.id) # create a new hyperpartition in the database db.create_hyperpartition(datarun_id=datarun.id, method=method, tunables=part.tunables, constants=part.constants, categoricals=part.categoricals, status=PartitionStatus.INCOMPLETE) logger.info('Data entry complete. Summary:') logger.info('\tDataset ID: %d' % dataset.id) logger.info('\tTraining data: %s' % dataset.train_path) logger.info('\tTest data: %s' % (dataset.test_path or 'None')) if run_per_partition: logger.info('\tDatarun IDs: %s' % ', '.join(map(str, run_ids))) else: logger.info('\tDatarun ID: %d' % datarun.id) logger.info('\tHyperpartition selection strategy: %s' % datarun.selector) logger.info('\tParameter tuning strategy: %s' % datarun.tuner) logger.info('\tBudget: %d (%s)' % (datarun.budget, datarun.budget_type)) return run_ids or datarun.id ================================================ FILE: server/atm_server/atm_helper/worker.py ================================================ import os import sys import time import atexit from datetime import datetime import argparse import logging from io import StringIO from multiprocessing import Process import atm from atm.worker import work as atm_work from atm.database import Database from atm.config import (add_arguments_aws_s3, add_arguments_sql, add_arguments_logging, load_config, initialize_logging) from atm.constants import RunStatus from atm_server.error import ApiError from atm_server.db import get_db from atm_server.cache import get_cache from .datarun_config import datarun_config logger = logging.getLogger('atm_server') logger.setLevel(logging.INFO) def return_stdout_stderr(f): """ A decorator that stores the stdout and stderr during a function run. :param f: a function :return: a tuple of (stdout_str, stderr_str, return_of_f) """ def inner(*args, **kwargs): stdout_p = StringIO() stderr_p = StringIO() sys.stdout = stdout_p sys.stderr = stderr_p try: ret = f(*args, **kwargs) except: ret = None sys.stdout = sys.__stdout__ sys.stderr = sys.__stderr__ stdout = stdout_p.getvalue() stderr = stderr_p.getvalue() stdout_p.close() stderr_p.close() return stdout, stderr, ret return inner # @return_stdout_stderr def work(datarun_id, args=None): """ A copy of the code in atm/scripts/worker.py A call to this function will start and run a simple worker """ _logger = logging.getLogger('atm_server.worker:work') _logger.setLevel(logging.DEBUG) fh = logging.FileHandler('logs/works.log') fmt = '%(asctime)-12s %(name)s - %(levelname)s %(message)s' fh.setFormatter(logging.Formatter(fmt)) _logger.addHandler(fh) parser = argparse.ArgumentParser(description='Add more classifiers to database') add_arguments_sql(parser) add_arguments_aws_s3(parser) add_arguments_logging(parser) # add worker-specific arguments parser.add_argument('--cloud-mode', action='store_true', default=False, help='Whether to run this worker in cloud mode') parser.add_argument('--time', help='Number of seconds to run worker', type=int) parser.add_argument('--choose-randomly', action='store_true', help='Choose dataruns to work on randomly (default = sequential order)') parser.add_argument('--no-save', dest='save_files', default=True, action='store_const', const=False, help="don't save models and metrics at all") # parse arguments and load configuration if args is None: args = [] _args = parser.parse_args(args) # default logging config is different if initialized from the command line if _args.log_config is None: _args.log_config = os.path.join(atm.PROJECT_ROOT, 'config/templates/log-script.yaml') sql_config, _, aws_config, log_config = load_config(**vars(_args)) initialize_logging(log_config) # let's go _logger.warning('Worker started!') with datarun_config(datarun_id) as config: _logger.warning('Using configs from ' + config.config_path) db = Database(**vars(sql_config)) try: atm_work(db=db, datarun_ids=[datarun_id], choose_randomly=_args.choose_randomly, save_files=_args.save_files, cloud_mode=_args.cloud_mode, aws_config=aws_config, log_config=log_config, total_time=_args.time, wait=False) except Exception as e: _logger.error(e) mark_running_datarun_pending(db, datarun_id) raise e _logger.warning('Worker exited.') def dispatch_worker(datarun_id): """ dispatch a worker process for a single datarun by calling the work function :param datarun_id: the id of the datarun :return: Return a handle of the process """ # args = ['--dataruns', str(datarun_id)] p = Process(target=work, args=(datarun_id, )) p.start() def kill_it(): if p is not None and p.is_alive(): p.terminate() atexit.register(kill_it) return p # Do nothing if the db is already running or complete def monitor_dispatch_worker(datarun_id): # The function is a wrapper of the dispatch worker, which tries to terminate the worker process if needed # It create another process that checks the cache and determine if we should terminate the worker process p_inner = dispatch_worker(datarun_id) logger.warning("Worker process (PID: %d) started" % p_inner.pid) if p_inner is None: logger.error("Cannot create worker process!") return register_worker_process(p_inner, datarun_id) # key = datarun_id2key(datarun_id) # cache = get_cache() while True: # Check start if not p_inner.is_alive(): # Clean the cache logger.warning("Process (PID: %d) exited." % p_inner.pid) clean_worker_cache(datarun_id) # db = get_db() # datarun = db.get_datarun(datarun_id) # if datarun.status == RunStatus.RUNNING: # # The datarun is still running # mark_datarun_pending(db, datarun_id) return if should_worker_stop(datarun_id): while True: p_inner.terminate() # terminate() only sends the signal, wait a while to check time.sleep(0.01) if p_inner.is_alive(): logger.warning("Failed to terminate process (PID: %d) after 0.01s" % p_inner.pid) logger.warning("Retrying after 1s...") time.sleep(1) else: break # Since we have break the run, we need to update the datarun status # Note that the run may or may not be complete, due to the delay in terminating # db = get_db() # datarun = db.get_datarun(datarun_id) # if datarun.status == RunStatus.RUNNING: # # The datarun is still running # mark_datarun_pending(db,datarun_id) logger.warning("Process (PID: %d) terminated (exitcode: %d)" % (p_inner.pid, p_inner.exitcode)) clean_worker_cache(datarun_id) return # Sleep for a while time.sleep(0.001) def start_worker(datarun_id): """ A function similar to dispatch worker, but provides more comprehensive controls of the worker :param datarun_id: the id of the datarun :return: Return a handle of the process """ os.setpgrp() db = get_db() datarun = db.get_datarun(datarun_id) if datarun is None: raise ApiError("No datarun found with the given id: %d" % datarun_id, 404) if datarun.status != RunStatus.PENDING: # Do nothing if the datarun is already running or complete return None # Create and start the process p = Process(target=monitor_dispatch_worker, args=(datarun_id,)) p.start() def kill_it(): if p is not None and p.is_alive(): p.terminate() cache = get_cache() key = datarun_id2key(datarun_id) if cache.has(key): cache.delete(key) atexit.register(kill_it) # Sleep a while time.sleep(0.1) return def stop_worker(datarun_id): # TODO: maybe there is a better way to solve the problem # where the cache has been set stop, then the real pid will be lost. # How can I find whether the real pid is alive? # if pid == 'stop': # logger.warning("This worker of datarun %d has already stopped." % datarun_id) # cache.delete(key) # return True # # if pid is not None and pid != 'stop': # logger.warning("Terminating the worker process (PID: %d) of datarun %d" % (pid, datarun_id)) # # Then we delete the datarun process_id cache (as a signal of terminating) # cache.set(key, 'stop') # while True: # time.sleep(0.1) # if cache.has(key): # time.sleep(0.9) # else: # return True # cache.delete(key) # return True # logger.warning("Cannot find corresponding process for datarun %d" % datarun_id) start_time = time.time() key = datarun_id2key(datarun_id) flag = False while True: signal_worker_stop(datarun_id) if time.time() - start_time > 2: flag = False # raise ValueError('Cannot stop the process after 2s!') time.sleep(0.1) if get_cache().has(key): time.sleep(0.4) else: break db = get_db() mark_running_datarun_pending(db, datarun_id) return flag def mark_running_datarun_pending(db, datarun_id): datarun = db.get_datarun(datarun_id) if datarun is None: # WARNING: Raise ERROR raise ApiError("No datarun found with the given id: %d" % datarun_id, 404) if datarun.status == RunStatus.RUNNING: datarun.status = RunStatus.PENDING datarun.end_time = datetime.now() db.session.commit() def datarun_id2key(datarun_id): return "worker:%d" % datarun_id def register_worker_process(process, datarun_id): key = datarun_id2key(datarun_id) cache = get_cache() if not should_worker_stop(datarun_id): raise ApiError("There should be only one live working process for one datarun!", 500) cache.set(key, process.pid) cache.set(key + '(should_stop)', False) logger.warning("Worker process (PID: %d) for datarun %d registered" % (process.pid, datarun_id)) def should_worker_stop(datarun_id): key = datarun_id2key(datarun_id) cache = get_cache() if cache.has(key) and not cache.get(key + '(should_stop)'): return False return True def signal_worker_stop(datarun_id): key = datarun_id2key(datarun_id) cache = get_cache() if cache.has(key): pid = cache.get(key) if cache.get(key + '(should_stop)'): logger.warning("Stopped signal of worker process (PID: %d) already sent!" % pid) else: logger.warning("Terminating the worker process (PID: %d) of datarun %d" % (pid, datarun_id)) cache.set(key + '(should_stop)', True) return True else: logger.warning("Worker process for datarun %d already removed!" % datarun_id) return False def clean_worker_cache(datarun_id): key = datarun_id2key(datarun_id) cache = get_cache() cache.delete(key) cache.delete(key + '(should_stop)') ================================================ FILE: server/atm_server/atmvis.py ================================================ from flask import Blueprint, send_from_directory, safe_join, current_app vis = Blueprint('vis', __name__) @vis.route('/static/js/') def send_js(path): return send_from_directory(safe_join(current_app.config['STATIC_FOLDER'], 'js'), path) @vis.route('/static/css/') def send_css(path): return send_from_directory(safe_join(current_app.config['STATIC_FOLDER'], 'css'), path) @vis.route('/static/media/') def send_media(path): return send_from_directory(safe_join(current_app.config['STATIC_FOLDER'], 'media'), path) @vis.route('/') def index(): return send_from_directory(current_app.config['FRONT_ROOT'], 'index.html') @vis.route('/', methods=['GET']) def send_index(model): if model == 'service-worker.js': return send_from_directory(current_app.config['FRONT_ROOT'], 'service-worker.js') if model == 'favicon.ico': return send_from_directory(current_app.config['FRONT_ROOT'], 'favicon.ico') if model == 'index.html': return send_from_directory(current_app.config['FRONT_ROOT'], 'index.html') if model == 'manifest.json': return send_from_directory(current_app.config['FRONT_ROOT'], 'manifest.json') ================================================ FILE: server/atm_server/cache.py ================================================ """ A Cache Interface TODO: Add support for redis """ import os from cachelib import SimpleCache, FileSystemCache from . import SERVER_ROOT class Cache: def __init__(self): self._cache = {} def set(self, key, value): self._cache[key] = value def get(self, key): return self._cache.get(key, None) def has(self, key): return key in self._cache def delete(self, *keys): count = 0 for key in keys: if key in self.has(key): del self._cache[key] count += 1 return count # The simpleCache uses pickle to dump and loads object. Thus we cannot store a process object in the cache # TODO: Find a better way to manage the processes # __cache = SimpleCache(default_timeout=0) # __cache = Cache() # This might be slow, but the cache system is safe __cache = FileSystemCache(default_timeout=0, cache_dir=os.path.join(SERVER_ROOT, '../.atm_server_cache')) def get_cache(): return __cache ================================================ FILE: server/atm_server/cli.py ================================================ import click from flask import Flask from flask.cli import FlaskGroup from atm_server.server import create_app @click.group(cls=FlaskGroup, create_app=create_app) def cli(): """Management script for the Wiki application.""" if __name__ == '__main__': cli() ================================================ FILE: server/atm_server/config.py ================================================ import os from atm_server import SERVER_ROOT class Config(object): UPLOAD_FOLDER = 'atm/data' DATARUN_CONFIG_DIR = 'atm/run_config' DATASET_META_DIR = 'atm/dataset_meta' ALLOWED_EXTENSIONS = set(['csv']) RUN_CONFIG = os.path.join(SERVER_ROOT, './config/run.yaml') SQL_CONFIG = os.path.join(SERVER_ROOT, './config/sql.yaml') FRONT_ROOT = os.path.join(SERVER_ROOT, '../build') STATIC_FOLDER = os.path.join(SERVER_ROOT, '../build/static') class ProductionConfig(Config): pass class DevelopmentConfig(Config): pass class TestingConfig(Config): pass ================================================ FILE: server/atm_server/db.py ================================================ from collections import defaultdict import numpy as np from flask import current_app, g from sqlalchemy import inspect from atm.database import Database, db_session from atm.constants import ClassifierStatus from .error import ApiError def check_db_mappers(db): mapper = inspect(db.Dataset) if not mapper.has_property('dataruns'): raise ApiError('DB %s has no property dataruns' % str(mapper), 500) mapper = inspect(db.Datarun) if not mapper.has_property('hyperpartitions'): raise ApiError('DB %s has no property hyperpartitions' % str(mapper), 500) if not mapper.has_property('classifiers'): raise ApiError('DB %s has no property classifiers' % str(mapper), 500) mapper = inspect(db.Hyperpartition) if not mapper.has_property('classifiers'): raise ApiError('DB %s has no property classifiers' % str(mapper), 500) if not mapper.has_property('datarun'): raise ApiError('DB %s has no property datarun' % str(mapper), 500) mapper = inspect(db.Classifier) if not mapper.has_property('hyperpartition'): raise ApiError('DB %s has no property hyperpartition' % str(mapper), 500) if not mapper.has_property('datarun'): raise ApiError('DB %s has no property datarun' % str(mapper), 500) def get_db(): """Connect to the application's configured database. The connection is unique for each request and will be reused if this is called again. """ if 'db' not in g: sql_conf = current_app.config['SQL_CONF'] db = Database(sql_conf.dialect, sql_conf.database, sql_conf.username, sql_conf.password, sql_conf.host, sql_conf.port, sql_conf.query) check_db_mappers(db) db.session = db.get_session() g.db = db return g.db def teardown_db(e=None): db = g.pop('db', None) # Close db connection if db is not None and db.session is not None: db.session.close() db.session = None def init_app(app): app.teardown_appcontext(teardown_db) # Querying & Post-processing Methods def object_as_dict(obj): return {c.key: getattr(obj, c.key) for c in inspect(obj).mapper.column_attrs} def fetch_entity(entity_name, filters=None, one=False): """ Fetch an entity (table) form the database. :param entity_name: the name of the entity, should be a table in the database. :param filters: a dict specifying the filters :param one: a boolean, if True, then only one result is returned or an exception will be raised. :return: A dict representing the entity or a list of dicts. """ db = get_db() entity = getattr(db, entity_name, None) if entity is None: raise ApiError('No entity named %s in the database' % entity_name, status_code=404) if filters is None: filters = {} else: # Remove None valued keys filters = {key: val for key, val in filters.items() if val is not None} try: # with db_session(db): if one: result = db.session.query(entity).filter_by(**filters).one() return object_as_dict(result) else: result = db.session.query(entity).filter_by(**filters).all() return [object_as_dict(item) for item in result] except Exception: teardown_db() raise ApiError('Not found', status_code=404) def table_fetcher(table): """ Creates a generic controller function to view the full contents of a table. """ def inner(): result = get_db().engine.execute(''.join(['SELECT * FROM ', table])) return [dict(row) for row in result] return inner def metric_string(model, target): """ Stringify the metric of a model, Copied from atm/database.py """ if 'cv' in target or 'mu_sigma' in target: return '%.3f +- %.3f' % (model.cv_judgment_metric, 2 * model.cv_judgment_metric_stdev) else: return '%.3f' % model.test_judgment_metric def params_string(params): return '; '.join(['%s = %s' % (k, params[k]) for k in sorted(params.keys())]) def hyperpartition_string(hp): cats = [hp.method] for cat_key, cat_value in hp.categoricals: if type(cat_value) is str: cats.append(cat_value) elif type(cat_value) is bool: cats.append(cat_key) elif cat_key == 'len(hidden_layer_sizes)' and type(cat_value) is int: cats.append('%d_hidden_layer' % cat_value) return '-'.join(cats) def summarize_classifiers(dataset_id=None, datarun_id=None, hyperpartition_id=None, method=None): """ Get the summarized information about classifiers, filtered by the passed-in arguments. The header of the csv: trail ID, method, parameters, metrics, score target, performance , hyperpartitionID """ db = get_db() # with db_session(db): query = db.session.query( db.Classifier, db.Hyperpartition.method, db.Datarun.metric, db.Datarun.score_target)\ .select_from(db.Classifier)\ .join(db.Classifier.hyperpartition)\ .join(db.Classifier.datarun)\ .filter(db.Classifier.status == ClassifierStatus.COMPLETE) # query = db.session.query( # db.Classifier, # db.Hyperpartition.method, # db.Datarun.metric, # db.Datarun.score_target)\ # .filter(db.Classifier.hyperpartition_id == db.Hyperpartition.id)\ # .filter(db.Classifier.datarun_id == db.Datarun.id)\ # .filter(db.Classifier.status == ClassifierStatus.COMPLETE) if dataset_id is not None: query = query.filter(db.Datarun.dataset_id == dataset_id) if datarun_id is not None: query = query.filter(db.Classifier.datarun_id == datarun_id) if method is not None: query = query.filter(db.Hyperpartition.method == method) if hyperpartition_id is not None: query = query.filter(db.Classifier.hyperpartition_id == hyperpartition_id) return [['trail ID', 'method', 'parameters', 'metrics', 'score target', 'performance', 'hyperpartitionID']] + [ [ str(classifier.id), method, params_string(classifier.hyperparameter_values), metric, score_target[:-len('_judgment_metric')], metric_string(classifier, score_target), str(classifier.hyperpartition_id) ] for classifier, method, metric, score_target in query.all()] def fetch_dataset_path(dataset_id, train=True): db = get_db() try: # with db_session(db): dataset = db.get_dataset(dataset_id) return dataset.train_path if train else dataset.test_path except Exception: raise ApiError('Not found', status_code=404) def summarize_datarun(datarun_id, classifier_start=None, classifier_end=None): db = get_db() datarun = db.get_datarun(datarun_id) # with db_session(db): query = db.session.query( db.Classifier, db.Hyperpartition.method)\ .filter(db.Classifier.hyperpartition_id == db.Hyperpartition.id)\ .filter(db.Classifier.status == ClassifierStatus.COMPLETE)\ .filter(db.Classifier.datarun_id == datarun_id) classifiers, methods = zip(*query.all()) classifiers = classifiers[classifier_start:classifier_end] methods = methods[classifier_start:classifier_end] if 'cv' in datarun.score_target or 'mu_sigma' in datarun.score_target: scores = [c.cv_judgment_metric for c in classifiers] else: scores = [c.test_judgment_metric for c in classifiers] best_idx = int(np.argmax(scores)) best_classifier = classifiers[best_idx] best_score = scores[best_idx] method_tries = defaultdict(int) for method in methods: method_tries[method] += 1 return { 'n_classifiers': len(scores), 'best_score': best_score, 'best_method': methods[best_idx], 'best_classifier_id': best_classifier.id, 'method_tries': method_tries # 'best_classifier': best_classifier. # 'best_idx': } def fetch_classifiers(classifier_id=None, dataset_id=None, datarun_id=None, hyperpartition_id=None, method=None, status=None, nice=True): db = get_db() if classifier_id is not None: classifiers = [db.get_classifier(classifier_id)] else: classifiers = db.get_classifiers(dataset_id, datarun_id, method, hyperpartition_id, status) if nice is False: return [object_as_dict(item) for item in classifiers] hyperpartitions = db.get_hyperpartitions(dataset_id, datarun_id, method, ignore_gridding_done=False, ignore_errored=False) hp_id2method = {hp.id: hp.method for hp in hyperpartitions} return [ { 'id': c.id, 'datarun_id': c.datarun_id, 'hyperpartition_id': c.hyperpartition_id, 'method': hp_id2method[c.hyperpartition_id], 'cv_metric': float(c.cv_judgment_metric), 'cv_metric_std': float(c.cv_judgment_metric_stdev), 'test_metric': float(c.test_judgment_metric), 'hyperparameters': c.hyperparameter_values, 'status': c.status, 'start_time': c.start_time, 'end_time': c.end_time } for c in classifiers ] def fetch_hyperpartitions(hyperpartition_id=None, dataset_id=None, datarun_id=None, method=None, nice=True): db = get_db() if hyperpartition_id is not None: hyperpartitions = [db.get_hyperpartition(hyperpartition_id)] else: hyperpartitions = db.get_hyperpartitions(dataset_id, datarun_id, method, ignore_gridding_done=False, ignore_errored=False) if nice is False: return [object_as_dict(item) for item in hyperpartitions] # print(hyperpartitions[0].categoricals) # print(hyperpartitions[0].tunables) # print(hyperpartitions[0].constants) return [ { 'id': hp.id, 'datarun_id': hp.datarun_id, 'method': hp.method, 'hyperpartition_string': hyperpartition_string(hp), 'categoricals': {cat_key: cat_value for cat_key, cat_value in hp.categoricals}, 'tunables': {key: value for key, value in hp.tunables}, 'constant': {key: value for key, value in hp.constants}, 'status': hp.status, } for hp in hyperpartitions ] ================================================ FILE: server/atm_server/error.py ================================================ class ApiError(Exception): """ API error handler Exception See: http://flask.pocoo.org/docs/0.12/patterns/apierrors/ """ status_code = 400 def __init__(self, message, status_code=None, payload=None): Exception.__init__(self) self.message = message if status_code is not None: self.status_code = status_code self.payload = payload def to_dict(self): rv = dict(self.payload or ()) rv['message'] = self.message return rv ================================================ FILE: server/atm_server/recommender/OneHotEncoder.py ================================================ import numpy as np from scipy import sparse from sklearn.base import BaseEstimator, TransformerMixin from sklearn.utils import check_array def _transform_selected(X, transform, selected="all", copy=True): """Apply a transform function to portion of selected features Parameters ---------- X : array-like or sparse matrix, shape=(n_samples, n_features) Dense array or sparse matrix. transform : callable A callable transform(X) -> X_transformed copy : boolean, optional Copy X even if it could be avoided. selected: "all" or array of indices or mask Specify which features to apply the transform to. Returns ------- X : array or sparse matrix, shape=(n_samples, n_features_new) """ X = check_array(X, accept_sparse='csc', force_all_finite=False, copy=copy) if selected == "all": return transform(X) if len(selected) == 0: return X n_features = X.shape[1] ind = np.arange(n_features) sel = np.zeros(n_features, dtype=bool) sel[np.asarray(selected)] = True not_sel = np.logical_not(sel) n_selected = np.sum(sel) if n_selected == 0: # No features selected. return X elif n_selected == n_features: # All features selected. return transform(X) else: X_sel = transform(X[:, ind[sel]]) X_not_sel = X[:, ind[not_sel]] if sparse.issparse(X_sel) or sparse.issparse(X_not_sel): # This is pretty memory-intense, making the memory usage for OpenML # task 146810 go over 3GB return sparse.hstack((X_sel, X_not_sel), format='csr') else: return np.hstack((X_sel, X_not_sel)) class OneHotEncoder(BaseEstimator, TransformerMixin): """Encode categorical integer features using a one-hot aka one-of-K scheme. The input to this transformer should be a matrix of integers, denoting the values taken on by categorical (discrete) features. The output will be a sparse matrix were each column corresponds to one possible value of one feature. It is assumed that input features take on values in the range [0, n_values). This encoding is needed for feeding categorical data to many scikit-learn estimators, notably linear models and SVMs with the standard kernels. Parameters ---------- categorical_features: "all" or array of indices or mask Specify what features are treated as categorical. - 'all' (default): All features are treated as categorical. - array of indices: Array of categorical feature indices. - mask: Array of length n_features and with dtype=bool. Non-categorical features are always stacked to the right of the matrix. dtype : number type, default=np.float Desired dtype of output. sparse : boolean, default=True Will return sparse matrix if set True else will return an array. Attributes ---------- `active_features_` : array Indices for active features, meaning values that actually occur in the training set. Only available when n_values is ``'auto'``. `feature_indices_` : array of shape (n_features,) Indices to feature ranges. Feature ``i`` in the original data is mapped to features from ``feature_indices_[i]`` to ``feature_indices_[i+1]`` (and then potentially masked by `active_features_` afterwards) `n_values_` : array of shape (n_features,) Maximum number of values per feature. Examples -------- Given a dataset with three features and two samples, we let the encoder find the maximum value per feature and transform the data to a binary one-hot encoding. >>> from sklearn.preprocessing import OneHotEncoder >>> enc = OneHotEncoder() >>> enc.fit([[0, 0, 3], [1, 1, 0], [0, 2, 1], \ [1, 0, 2]]) # doctest: +ELLIPSIS OneHotEncoder(categorical_features='all', dtype=<... 'float'>, sparse=True, minimum_fraction=None) >>> enc.n_values_ array([2, 3, 4]) >>> enc.feature_indices_ array([0, 2, 5, 9]) >>> enc.transform([[0, 1, 1]]).toarray() array([[ 1., 0., 0., 1., 0., 0., 1., 0., 0.]]) See also -------- sklearn.feature_extraction.DictVectorizer : performs a one-hot encoding of dictionary items (also handles string-valued features). sklearn.feature_extraction.FeatureHasher : performs an approximate one-hot encoding of dictionary items or strings. """ def __init__(self, categorical_features="all", dtype=np.float, sparse=True, minimum_fraction=None): self.categorical_features = categorical_features self.dtype = dtype self.sparse = sparse self.minimum_fraction = minimum_fraction def fit(self, X, y=None): """Fit OneHotEncoder to X. Parameters ---------- X : array-like, shape=(n_samples, n_feature) Input array of type int. Returns ------- self """ self.fit_transform(X) return self def _fit_transform(self, X): """Assumes X contains only categorical features.""" # First increment everything by three to account for the fact that # np.NaN will get an index of two, and 'other' values will get index of # one, index of zero is not assigned to also work with sparse data if sparse.issparse(X): X.data += 3 X.data[~np.isfinite(X.data)] = 2 else: X += 3 X[~np.isfinite(X)] = 2 X = check_array(X, accept_sparse='csc', force_all_finite=False, dtype=np.int32) if X.min() < 0: raise ValueError("X needs to contain only non-negative integers.") n_samples, n_features = X.shape # Remember which values should not be replaced by the value 'other' if self.minimum_fraction is not None: do_not_replace_by_other = list() for column in range(X.shape[1]): do_not_replace_by_other.append(set()) if sparse.issparse(X): indptr_start = X.indptr[column] indptr_end = X.indptr[column + 1] unique, counts = np.unique( X.data[indptr_start:indptr_end], return_counts=True, ) colsize = indptr_end - indptr_start else: unique, counts = np.unique( X[:, column], return_counts=True, ) colsize = X.shape[0] for unique_value, count in zip(unique, counts): fraction = float(count) / colsize if fraction >= self.minimum_fraction: do_not_replace_by_other[-1].add(unique_value) for unique_value in unique: if unique_value not in do_not_replace_by_other[-1]: if sparse.issparse(X): indptr_start = X.indptr[column] indptr_end = X.indptr[column + 1] X.data[indptr_start:indptr_end][ X.data[indptr_start:indptr_end] == unique_value] = 1 else: X[:, column][X[:, column] == unique_value] = 1 self.do_not_replace_by_other_ = do_not_replace_by_other if sparse.issparse(X): n_values = X.max(axis=0).toarray().flatten() + 2 else: n_values = np.max(X, axis=0) + 2 self.n_values_ = n_values n_values = np.hstack([[0], n_values]) indices = np.cumsum(n_values) self.feature_indices_ = indices if sparse.issparse(X): row_indices = X.indices column_indices = [] for i in range(len(X.indptr) - 1): nbr = X.indptr[i+1] - X.indptr[i] column_indices_ = [indices[i]] * nbr column_indices_ += X.data[X.indptr[i]:X.indptr[i+1]] column_indices.extend(column_indices_) data = np.ones(X.data.size) else: column_indices = (X + indices[:-1]).ravel().astype(np.int32) row_indices = np.repeat(np.arange(n_samples, dtype=np.int32), n_features) data = np.ones(n_samples * n_features, dtype=np.int32) out = sparse.coo_matrix((data, (row_indices, column_indices)), shape=(n_samples, indices[-1]), dtype=np.int32).tocsc() mask = np.array(out.sum(axis=0)).ravel() != 0 active_features = np.where(mask)[0] out = out[:, active_features] self.active_features_ = active_features return out.tocsr() if self.sparse else out.toarray() def fit_transform(self, X, y=None): """Fit OneHotEncoder to X, then transform X. Equivalent to self.fit(X).transform(X), but more convenient and more efficient. See fit for the parameters, transform for the return value. """ return _transform_selected(X, self._fit_transform, self.categorical_features, copy=True) def _transform(self, X): """Asssumes X contains only categorical features.""" # First increment everything by three to account for the fact that # np.NaN will get an index of two, and 'other' values will get index of # one, index of zero is not assigned to also work with sparse data if sparse.issparse(X): X.data += 3 X.data[~np.isfinite(X.data)] = 2 else: X += 3 X[~np.isfinite(X)] = 2 X = check_array(X, accept_sparse='csc', force_all_finite=False, dtype=np.int32) if X.min() < 0: raise ValueError("X needs to contain only non-negative integers.") n_samples, n_features = X.shape indices = self.feature_indices_ if n_features != indices.shape[0] - 1: raise ValueError("X has different shape than during fitting." " Expected %d, got %d." % (indices.shape[0] - 1, n_features)) # Replace all indicators which were below `minimum_fraction` in the # training set by 'other' if self.minimum_fraction is not None: for column in range(X.shape[1]): if sparse.issparse(X): indptr_start = X.indptr[column] indptr_end = X.indptr[column + 1] unique = np.unique(X.data[indptr_start:indptr_end]) else: unique = np.unique(X[:, column]) for unique_value in unique: if unique_value not in self.do_not_replace_by_other_[ column]: if sparse.issparse(X): indptr_start = X.indptr[column] indptr_end = X.indptr[column + 1] X.data[indptr_start:indptr_end][ X.data[indptr_start:indptr_end] == unique_value] = 1 else: X[:, column][X[:, column] == unique_value] = 1 if sparse.issparse(X): n_values_check = X.max(axis=0).toarray().flatten() + 1 else: n_values_check = np.max(X, axis=0) + 1 # Replace all indicators which are out of bounds by 'other' (index 0) if (n_values_check > self.n_values_).any(): # raise ValueError("Feature out of bounds. Try setting n_values.") for i, n_value_check in enumerate(n_values_check): if (n_value_check - 1) >= self.n_values_[i]: if sparse.issparse(X): indptr_start = X.indptr[i] indptr_end = X.indptr[i+1] X.data[indptr_start:indptr_end][X.data [indptr_start:indptr_end] >= self.n_values_[i]] = 0 else: X[:, i][X[:, i] >= self.n_values_[i]] = 0 if sparse.issparse(X): row_indices = X.indices column_indices = [] for i in range(len(X.indptr) - 1): nbr = X.indptr[i + 1] - X.indptr[i] column_indices_ = [indices[i]] * nbr column_indices_ += X.data[X.indptr[i]:X.indptr[i + 1]] column_indices.extend(column_indices_) data = np.ones(X.data.size) else: column_indices = (X + indices[:-1]).ravel().astype(np.int32) row_indices = np.repeat(np.arange(n_samples, dtype=np.int32), n_features) data = np.ones(n_samples * n_features, dtype=np.int32) out = sparse.coo_matrix((data, (row_indices, column_indices)), shape=(n_samples, indices[-1]), dtype=np.int32).tocsc() out = out[:, self.active_features_] return out.tocsr() if self.sparse else out.toarray() def transform(self, X): """Transform X using one-hot encoding. Parameters ---------- X : array-like, shape=(n_samples, n_features) Input array of type int. Returns ------- X_out : sparse matrix if sparse=True else a 2-d array, dtype=int Transformed input. """ return _transform_selected(X, self._transform, self.categorical_features, copy=True) ================================================ FILE: server/atm_server/recommender/__init__.py ================================================ ================================================ FILE: server/atm_server/recommender/encoder.py ================================================ from __future__ import division, unicode_literals from builtins import object import numpy as np import pandas as pd from past.utils import old_div from sklearn.preprocessing import LabelEncoder, OneHotEncoder class MetaData(object): def __init__(self, class_column, train_path, test_path=None): """ Compute a bunch of metadata about the dataset. class_column: name of dataframe column containing labels data_paths: paths to csvs with the same columns """ data = pd.read_csv(train_path) if test_path is not None: data = data.append(pd.read_csv(test_path)) # compute the portion of labels that are the most common value counts = data[class_column].value_counts() total_features = data.shape[1] - 1 for c in data.columns: if data[c].dtype == 'object': total_features += len(np.unique(data[c])) - 1 majority_percentage = old_div(float(max(counts)), float(sum(counts))) self.n_examples = data.shape[0] self.d_features = total_features self.k_classes = len(np.unique(data[class_column])) self.majority = majority_percentage self.size = np.array(data).nbytes class DataEncoder(object): def __init__(self, class_column='class', feature_columns=None): self.class_column = class_column self.feature_columns = feature_columns # these will be trained with fit_encoders() self.column_encoders = {} self.feature_encoder = None self.label_encoder = None def fit(self, data): """ Fit one-hot encoders for categorical features and an integer encoder for the label. These can be used later to transform raw data into a form that ATM can work with. data: pd.DataFrame of unprocessed data """ if self.class_column not in data.columns: raise KeyError('Class column "%s" not found in dataset!' % self.class_column) cat_cols = [] if self.feature_columns is None: features = data.drop([self.class_column], axis=1) self.feature_columns = features.columns else: features = data[self.feature_columns] # encode categorical columns, leave ordinal values alone for column in features.columns: if features[column].dtype == 'object': # save the indices of categorical columns for one-hot encoding cat_cols.append(features.columns.get_loc(column)) # encode each feature as an integer in range(unique_vals) le = LabelEncoder() features[column] = le.fit_transform(features[column]) self.column_encoders[column] = le # One-hot encode the whole feature matrix. # Set sparse to False so that we can test for NaNs in the output self.feature_encoder = OneHotEncoder(categorical_features=cat_cols, sparse=False) self.feature_encoder.fit(features) # Train an encoder for the label as well labels = np.array(data[[self.class_column]]) self.label_encoder = LabelEncoder() self.label_encoder.fit(labels) def transform(self, data): """ Convert a DataFrame of labeled data to a feature matrix in the form that ATM can use. """ if self.class_column in data: # pull labels into a separate series and transform them to integers labels = np.array(data[[self.class_column]]) y = self.label_encoder.transform(labels) # drop the label column and transform the remaining features else: y = None features = data[self.feature_columns] # encode each categorical feature as an integer for column, encoder in list(self.column_encoders.items()): features[column] = encoder.transform(features[column]) # one-hot encode the categorical features X = self.feature_encoder.transform(features) return X, y def fit_transform(self, data): """ Process data into a form that ATM can use. """ self.fit(data) return self.transform(data) ================================================ FILE: server/atm_server/recommender/logging_.py ================================================ # -*- encoding: utf-8 -*- import logging import logging.config import os import sys import yaml def setup_logger(output_file=None): with open(os.path.join(os.path.dirname(__file__), 'logging.yaml'), 'r') as fh: config = yaml.load(fh) if output_file is not None: config['handlers']['file_handler']['filename'] = output_file logging.config.dictConfig(config) def _create_logger(name): logging.basicConfig(format='[%(levelname)s] [%(asctime)s:%(name)s] %(' 'message)s', datefmt='%H:%M:%S') return logging.getLogger(name) def get_logger(name): logger = PickableLoggerAdapter(name) return logger class PickableLoggerAdapter(object): def __init__(self, name): self.name = name self.logger = _create_logger(name) def __getstate__(self): """ Method is called when pickle dumps an object. Returns ------- Dictionary, representing the object state to be pickled. Ignores the self.logger field and only returns the logger name. """ return { 'name': self.name } def __setstate__(self, state): """ Method is called when pickle loads an object. Retrieves the name and creates a logger. Parameters ---------- state - dictionary, containing the logger name. """ self.name = state['name'] self.logger = _create_logger(self.name) def debug(self, msg, *args, **kwargs): self.logger.debug(msg, *args, **kwargs) def info(self, msg, *args, **kwargs): self.logger.info(msg, *args, **kwargs) def warning(self, msg, *args, **kwargs): self.logger.warning(msg, *args, **kwargs) def error(self, msg, *args, **kwargs): self.logger.error(msg, *args, **kwargs) def exception(self, msg, *args, **kwargs): self.logger.exception(msg, *args, **kwargs) def critical(self, msg, *args, **kwargs): self.logger.critical(msg, *args, **kwargs) def log(self, level, msg, *args, **kwargs): self.logger.log(level, msg, *args, **kwargs) def isEnabledFor(self, level): return self.logger.isEnabledFor(level) ================================================ FILE: server/atm_server/recommender/metafeature.py ================================================ from abc import ABCMeta, abstractmethod from six import StringIO import time import types from scipy.io import arff import scipy.sparse import six from atm_server.recommender.logging_ import get_logger class AbstractMetaFeature(object): __metaclass__ = ABCMeta @abstractmethod def __init__(self): self.logger = get_logger(__name__) @abstractmethod def _calculate(cls, X, y, categorical): pass def __call__(self, X, y, categorical=None): if categorical is None: categorical = [False for i in range(X.shape[1])] starttime = time.time() try: if scipy.sparse.issparse(X) and hasattr(self, "_calculate_sparse"): value = self._calculate_sparse(X, y, categorical) else: value = self._calculate(X, y, categorical) comment = "" except MemoryError as e: value = None comment = "Memory Error" endtime = time.time() return MetaFeatureValue(self.__class__.__name__, self.type_, 0, 0, value, endtime-starttime, comment=comment) class MetaFeature(AbstractMetaFeature): def __init__(self): super(MetaFeature, self).__init__() self.type_ = "METAFEATURE" class HelperFunction(AbstractMetaFeature): def __init__(self): super(HelperFunction, self).__init__() self.type_ = "HELPERFUNCTION" class MetaFeatureValue(object): def __init__(self, name, type_, fold, repeat, value, time, comment=""): self.name = name self.type_ = type_ self.fold = fold self.repeat = repeat self.value = value self.time = time self.comment = comment def to_arff_row(self): if self.type_ == "METAFEATURE": value = self.value else: value = "?" return [self.name, self.type_, self.fold, self.repeat, value, self.time, self.comment] def __repr__(self): repr = "%s (type: %s, fold: %d, repeat: %d, value: %s, time: %3.3f, " \ "comment: %s)" repr = repr % tuple(self.to_arff_row()[:4] + [str(self.to_arff_row()[4])] + self.to_arff_row()[5:]) return repr class DatasetMetafeatures(object): def __init__(self, dataset_name, metafeature_values): self.dataset_name = dataset_name self.metafeature_values = metafeature_values def _get_arff(self): output = dict() output['relation'] = "metafeatures_%s" % (self.dataset_name) output['description'] = "" output['attributes'] = [('name', 'STRING'), ('type', 'STRING'), ('fold', 'NUMERIC'), ('repeat', 'NUMERIC'), ('value', 'NUMERIC'), ('time', 'NUMERIC'), ('comment', 'STRING')] output['data'] = [] for key in sorted(self.metafeature_values): output['data'].append(self.metafeature_values[key].to_arff_row()) return output def dumps(self): return self._get_arff() def dump(self, path_or_filehandle): output = self._get_arff() if isinstance(path_or_filehandle, six.string_types): with open(path_or_filehandle, "w") as fh: arff.dump(output, fh) else: arff.dump(output, path_or_filehandle) @classmethod def load(cls, path_or_filehandle): if isinstance(path_or_filehandle, six.string_types): with open(path_or_filehandle) as fh: input = arff.load(fh) else: input = arff.load(path_or_filehandle) dataset_name = input['relation'].replace('metafeatures_', '') metafeature_values = [] for item in input['data']: mf = MetaFeatureValue(*item) metafeature_values.append(mf) return cls(dataset_name, metafeature_values) def __repr__(self, verbosity=0): repr = StringIO() repr.write("Metafeatures for dataset %s\n" % self.dataset_name) for name in self.metafeature_values: if verbosity == 0 and self.metafeature_values[name].type_ != "METAFEATURE": continue if verbosity == 0: repr.write(" %s: %s\n" % (str(name), str(self.metafeature_values[name].value))) elif verbosity >= 1: repr.write(" %s: %10s (%10fs)\n" % (str(name), str(self.metafeature_values[ name].value)[:10], self.metafeature_values[name].time)) # Add the reason for a crash if one happened! if verbosity > 1 and self.metafeature_values[name].comment: repr.write(" %s\n" % self.metafeature_values[name].comment) return repr.getvalue() def keys(self): return self.metafeature_values.keys() def __getitem__(self, item): return self.metafeature_values[item] ================================================ FILE: server/atm_server/recommender/metafeatures.py ================================================ from collections import defaultdict, OrderedDict, deque import copy import sys import numpy as np import scipy.stats from scipy.linalg import LinAlgError import scipy.sparse import sklearn # TODO use balanced accuracy! import sklearn.metrics import sklearn.model_selection from sklearn.utils import check_array from sklearn.multiclass import OneVsRestClassifier from sklearn.preprocessing import Imputer from atm_server.recommender.OneHotEncoder import OneHotEncoder from sklearn.preprocessing import StandardScaler from atm_server.recommender.logging_ import get_logger from atm_server.recommender.metafeature import MetaFeature, HelperFunction, DatasetMetafeatures, \ MetaFeatureValue # TODO Allow multiple dependencies for a metafeature # TODO Add HelperFunction as an object class HelperFunctions(object): def __init__(self): self.functions = OrderedDict() self.values = OrderedDict() def clear(self): self.values = OrderedDict() self.computation_time = OrderedDict() def __iter__(self): return self.functions.__iter__() def __getitem__(self, item): return self.functions.__getitem__(item) def __setitem__(self, key, value): return self.functions.__setitem__(key, value) def __delitem__(self, key): return self.functions.__delitem__(key) def __contains__(self, item): return self.functions.__contains__(item) def is_calculated(self, key): """Return if a helper function has already been executed. Necessary as get_value() can return None if the helper function hasn't been executed or if it returned None.""" return key in self.values def get_value(self, key): return self.values.get(key).value def set_value(self, key, item): self.values[key] = item def define(self, name): """Decorator for adding helper functions to a "dictionary". This behaves like a function decorating a function, not a class decorating a function""" def wrapper(metafeature_class): instance = metafeature_class() self.__setitem__(name, instance) return instance return wrapper class MetafeatureFunctions(object): def __init__(self): self.functions = OrderedDict() self.dependencies = OrderedDict() self.values = OrderedDict() def clear(self): self.values = OrderedDict() def __iter__(self): return self.functions.__iter__() def __getitem__(self, item): return self.functions.__getitem__(item) def __setitem__(self, key, value): return self.functions.__setitem__(key, value) def __delitem__(self, key): return self.functions.__delitem__(key) def __contains__(self, item): return self.functions.__contains__(item) def get_value(self, key): return self.values[key].value def set_value(self, key, item): self.values[key] = item def is_calculated(self, key): """Return if a helper function has already been executed. Necessary as get_value() can return None if the helper function hasn't been executed or if it returned None.""" return key in self.values def get_dependency(self, name): """Return the dependency of metafeature "name". """ return self.dependencies.get(name) def define(self, name, dependency=None): """Decorator for adding metafeature functions to a "dictionary" of metafeatures. This behaves like a function decorating a function, not a class decorating a function""" def wrapper(metafeature_class): instance = metafeature_class() self.__setitem__(name, instance) self.dependencies[name] = dependency return instance return wrapper metafeatures = MetafeatureFunctions() helper_functions = HelperFunctions() ################################################################################ ### Simple features @metafeatures.define("NumberOfInstances") class NumberOfInstances(MetaFeature): def _calculate(self, X, y, categorical): return float(X.shape[0]) @metafeatures.define("LogNumberOfInstances", dependency="NumberOfInstances") class LogNumberOfInstances(MetaFeature): def _calculate(self, X, y, categorical): return np.log(metafeatures.get_value("NumberOfInstances")) @metafeatures.define("NumberOfClasses") class NumberOfClasses(MetaFeature): """ Calculate the number of classes. Calls np.unique on the targets. If the dataset is a multilabel dataset, does this for each label seperately and returns the mean. """ def _calculate(self, X, y, categorical): if len(y.shape) == 2: return np.mean([len(np.unique(y[:,i])) for i in range(y.shape[1])]) else: return float(len(np.unique(y))) @metafeatures.define("NumberOfFeatures") class NumberOfFeatures(MetaFeature): def _calculate(self, X, y, categorical): return float(X.shape[1]) @metafeatures.define("LogNumberOfFeatures", dependency="NumberOfFeatures") class LogNumberOfFeatures(MetaFeature): def _calculate(self, X, y, categorical): return np.log(metafeatures.get_value("NumberOfFeatures")) @helper_functions.define("MissingValues") class MissingValues(HelperFunction): def _calculate(self, X, y, categorical): missing = ~np.isfinite(X) return missing def _calculate_sparse(self, X, y, categorical): data = [True if not np.isfinite(x) else False for x in X.data] missing = X.__class__((data, X.indices, X.indptr), shape=X.shape, dtype=np.bool) return missing @metafeatures.define("NumberOfInstancesWithMissingValues", dependency="MissingValues") class NumberOfInstancesWithMissingValues(MetaFeature): def _calculate(self, X, y, categorical): missing = helper_functions.get_value("MissingValues") num_missing = missing.sum(axis=1) return float(np.sum([1 if num > 0 else 0 for num in num_missing])) def _calculate_sparse(self, X, y, categorical): missing = helper_functions.get_value("MissingValues") new_missing = missing.tocsr() num_missing = [ np.sum(new_missing.data[new_missing.indptr[i]:new_missing.indptr[i + 1]]) for i in range(new_missing.shape[0])] return float(np.sum([1 if num > 0 else 0 for num in num_missing])) @metafeatures.define("PercentageOfInstancesWithMissingValues", dependency="NumberOfInstancesWithMissingValues") class PercentageOfInstancesWithMissingValues(MetaFeature): def _calculate(self, X, y, categorical): return float(metafeatures.get_value("NumberOfInstancesWithMissingValues") / float(metafeatures["NumberOfInstances"](X, y).value)) @metafeatures.define("NumberOfFeaturesWithMissingValues", dependency="MissingValues") class NumberOfFeaturesWithMissingValues(MetaFeature): def _calculate(self, X, y, categorical): missing = helper_functions.get_value("MissingValues") num_missing = missing.sum(axis=0) return float(np.sum([1 if num > 0 else 0 for num in num_missing])) def _calculate_sparse(self, X, y, categorical): missing = helper_functions.get_value("MissingValues") new_missing = missing.tocsc() num_missing = [np.sum( new_missing.data[new_missing.indptr[i]:new_missing.indptr[i+1]]) for i in range(missing.shape[1])] return float(np.sum([1 if num > 0 else 0 for num in num_missing])) @metafeatures.define("PercentageOfFeaturesWithMissingValues", dependency="NumberOfFeaturesWithMissingValues") class PercentageOfFeaturesWithMissingValues(MetaFeature): def _calculate(self, X, y, categorical): return float(metafeatures.get_value("NumberOfFeaturesWithMissingValues")\ / float(metafeatures["NumberOfFeatures"](X, y).value)) @metafeatures.define("NumberOfMissingValues", dependency="MissingValues") class NumberOfMissingValues(MetaFeature): def _calculate(self, X, y, categorical): return float(helper_functions.get_value("MissingValues").sum()) @metafeatures.define("PercentageOfMissingValues", dependency="NumberOfMissingValues") class PercentageOfMissingValues(MetaFeature): def _calculate(self, X, y, categorical): return float(metafeatures.get_value("NumberOfMissingValues")) / \ float(X.shape[0]*X.shape[1]) # TODO: generalize this! @metafeatures.define("NumberOfNumericFeatures") class NumberOfNumericFeatures(MetaFeature): def _calculate(self, X, y, categorical): return len(categorical) - np.sum(categorical) @metafeatures.define("NumberOfCategoricalFeatures") class NumberOfCategoricalFeatures(MetaFeature): def _calculate(self, X, y, categorical): return np.sum(categorical) @metafeatures.define("RatioNumericalToNominal") class RatioNumericalToNominal(MetaFeature): def _calculate(self, X, y, categorical): num_categorical = float(metafeatures[ "NumberOfCategoricalFeatures"](X, y, categorical).value) num_numerical = float(metafeatures[ "NumberOfNumericFeatures"](X, y, categorical).value) if num_categorical == 0.0: return 0. return num_numerical / num_categorical @metafeatures.define("RatioNominalToNumerical") class RatioNominalToNumerical(MetaFeature): def _calculate(self, X, y, categorical): num_categorical = float(metafeatures[ "NumberOfCategoricalFeatures"](X, y, categorical).value) num_numerical = float(metafeatures[ "NumberOfNumericFeatures"](X, y, categorical).value) if num_numerical == 0.0: return 0. else: return num_categorical / num_numerical # Number of attributes divided by number of samples @metafeatures.define("DatasetRatio") class DatasetRatio(MetaFeature): def _calculate(self, X, y, categorical): return float(metafeatures["NumberOfFeatures"](X, y).value) /\ float(metafeatures["NumberOfInstances"](X, y).value) @metafeatures.define("LogDatasetRatio", dependency="DatasetRatio") class LogDatasetRatio(MetaFeature): def _calculate(self, X, y, categorical): return np.log(metafeatures.get_value("DatasetRatio")) @metafeatures.define("InverseDatasetRatio") class InverseDatasetRatio(MetaFeature): def _calculate(self, X, y, categorical): return float(metafeatures["NumberOfInstances"](X, y).value) /\ float(metafeatures["NumberOfFeatures"](X, y).value) @metafeatures.define("LogInverseDatasetRatio", dependency="InverseDatasetRatio") class LogInverseDatasetRatio(MetaFeature): def _calculate(self, X, y, categorical): return np.log(metafeatures.get_value("InverseDatasetRatio")) @helper_functions.define("ClassOccurences") class ClassOccurences(HelperFunction): def _calculate(self, X, y, categorical): if len(y.shape) == 2: occurences = [] for i in range(y.shape[1]): occurences.append(self._calculate(X, y[:, i], categorical)) return occurences else: occurence_dict = defaultdict(float) for value in y: occurence_dict[value] += 1 return occurence_dict @metafeatures.define("ClassProbabilityMin", dependency="ClassOccurences") class ClassProbabilityMin(MetaFeature): def _calculate(self, X, y, categorical): occurences = helper_functions.get_value("ClassOccurences") min_value = np.iinfo(np.int64).max if len(y.shape) == 2: for i in range(y.shape[1]): for num_occurences in occurences[i].values(): if num_occurences < min_value: min_value = num_occurences else: for num_occurences in occurences.values(): if num_occurences < min_value: min_value = num_occurences return float(min_value) / float(y.shape[0]) # aka default accuracy @metafeatures.define("ClassProbabilityMax", dependency="ClassOccurences") class ClassProbabilityMax(MetaFeature): def _calculate(self, X, y, categorical): occurences = helper_functions.get_value("ClassOccurences") max_value = -1 if len(y.shape) == 2: for i in range(y.shape[1]): for num_occurences in occurences[i].values(): if num_occurences > max_value: max_value = num_occurences else: for num_occurences in occurences.values(): if num_occurences > max_value: max_value = num_occurences return float(max_value) / float(y.shape[0]) @metafeatures.define("ClassProbabilityMean", dependency="ClassOccurences") class ClassProbabilityMean(MetaFeature): def _calculate(self, X, y, categorical): occurence_dict = helper_functions.get_value("ClassOccurences") if len(y.shape) == 2: occurences = [] for i in range(y.shape[1]): occurences.extend( [occurrence for occurrence in occurence_dict[ i].values()]) occurences = np.array(occurences) else: occurences = np.array([occurrence for occurrence in occurence_dict.values()], dtype=np.float64) return (occurences / y.shape[0]).mean() @metafeatures.define("ClassProbabilitySTD", dependency="ClassOccurences") class ClassProbabilitySTD(MetaFeature): def _calculate(self, X, y, categorical): occurence_dict = helper_functions.get_value("ClassOccurences") if len(y.shape) == 2: stds = [] for i in range(y.shape[1]): std = np.array( [occurrence for occurrence in occurence_dict[ i].values()], dtype=np.float64) std = (std / y.shape[0]).std() stds.append(std) return np.mean(stds) else: occurences = np.array([occurrence for occurrence in occurence_dict.values()], dtype=np.float64) return (occurences / y.shape[0]).std() ################################################################################ # Reif, A Comprehensive Dataset for Evaluating Approaches of various Meta-Learning Tasks # defines these five metafeatures as simple metafeatures, but they could also # be the counterpart for the skewness and kurtosis of the numerical features @helper_functions.define("NumSymbols") class NumSymbols(HelperFunction): def _calculate(self, X, y, categorical): symbols_per_column = [] for i, column in enumerate(X.T): if categorical[i]: unique_values = np.unique(column) num_unique = np.sum(np.isfinite(unique_values)) symbols_per_column.append(num_unique) return symbols_per_column def _calculate_sparse(self, X, y, categorical): symbols_per_column = [] new_X = X.tocsc() for i in range(new_X.shape[1]): if categorical[i]: unique_values = np.unique(new_X.getcol(i).data) num_unique = np.sum(np.isfinite(unique_values)) symbols_per_column.append(num_unique) return symbols_per_column @metafeatures.define("SymbolsMin", dependency="NumSymbols") class SymbolsMin(MetaFeature): def _calculate(self, X, y, categorical): # The minimum can only be zero if there are no nominal features, # otherwise it is at least one # TODO: shouldn't this rather be two? minimum = None for unique in helper_functions.get_value("NumSymbols"): if unique > 0 and (minimum is None or unique < minimum): minimum = unique return minimum if minimum is not None else 0 @metafeatures.define("SymbolsMax", dependency="NumSymbols") class SymbolsMax(MetaFeature): def _calculate(self, X, y, categorical): values = helper_functions.get_value("NumSymbols") if len(values) == 0: return 0 return max(max(values), 0) @metafeatures.define("SymbolsMean", dependency="NumSymbols") class SymbolsMean(MetaFeature): def _calculate(self, X, y, categorical): # TODO: categorical attributes without a symbol don't count towards this # measure values = [val for val in helper_functions.get_value("NumSymbols") if val > 0] mean = np.nanmean(values) return mean if np.isfinite(mean) else 0 @metafeatures.define("SymbolsSTD", dependency="NumSymbols") class SymbolsSTD(MetaFeature): def _calculate(self, X, y, categorical): values = [val for val in helper_functions.get_value("NumSymbols") if val > 0] std = np.nanstd(values) return std if np.isfinite(std) else 0 @metafeatures.define("SymbolsSum", dependency="NumSymbols") class SymbolsSum(MetaFeature): def _calculate(self, X, y, categorical): sum = np.nansum(helper_functions.get_value("NumSymbols")) return sum if np.isfinite(sum) else 0 ################################################################################ # Statistical meta features # Only use third and fourth statistical moment because it is common to # standardize for the other two # see Engels & Theusinger, 1998 - Using a Data Metric for Preprocessing Advice for Data Mining Applications. @helper_functions.define("Kurtosisses") class Kurtosisses(HelperFunction): def _calculate(self, X, y, categorical): kurts = [] for i in range(X.shape[1]): if not categorical[i]: kurts.append(scipy.stats.kurtosis(X[:, i])) return kurts def _calculate_sparse(self, X, y, categorical): kurts = [] X_new = X.tocsc() for i in range(X_new.shape[1]): if not categorical[i]: start = X_new.indptr[i] stop = X_new.indptr[i+1] kurts.append(scipy.stats.kurtosis(X_new.data[start:stop])) return kurts @metafeatures.define("KurtosisMin", dependency="Kurtosisses") class KurtosisMin(MetaFeature): def _calculate(self, X, y, categorical): kurts = helper_functions.get_value("Kurtosisses") minimum = np.nanmin(kurts) if len(kurts) > 0 else 0 return minimum if np.isfinite(minimum) else 0 @metafeatures.define("KurtosisMax", dependency="Kurtosisses") class KurtosisMax(MetaFeature): def _calculate(self, X, y, categorical): kurts = helper_functions.get_value("Kurtosisses") maximum = np.nanmax(kurts) if len(kurts) > 0 else 0 return maximum if np.isfinite(maximum) else 0 @metafeatures.define("KurtosisMean", dependency="Kurtosisses") class KurtosisMean(MetaFeature): def _calculate(self, X, y, categorical): kurts = helper_functions.get_value("Kurtosisses") mean = np.nanmean(kurts) if len(kurts) > 0 else 0 return mean if np.isfinite(mean) else 0 @metafeatures.define("KurtosisSTD", dependency="Kurtosisses") class KurtosisSTD(MetaFeature): def _calculate(self, X, y, categorical): kurts = helper_functions.get_value("Kurtosisses") std = np.nanstd(kurts) if len(kurts) > 0 else 0 return std if np.isfinite(std) else 0 @helper_functions.define("Skewnesses") class Skewnesses(HelperFunction): def _calculate(self, X, y, categorical): skews = [] for i in range(X.shape[1]): if not categorical[i]: skews.append(scipy.stats.skew(X[:, i])) return skews def _calculate_sparse(self, X, y, categorical): skews = [] X_new = X.tocsc() for i in range(X_new.shape[1]): if not categorical[i]: start = X_new.indptr[i] stop = X_new.indptr[i + 1] skews.append(scipy.stats.skew(X_new.data[start:stop])) return skews @metafeatures.define("SkewnessMin", dependency="Skewnesses") class SkewnessMin(MetaFeature): def _calculate(self, X, y, categorical): skews = helper_functions.get_value("Skewnesses") minimum = np.nanmin(skews) if len(skews) > 0 else 0 return minimum if np.isfinite(minimum) else 0 @metafeatures.define("SkewnessMax", dependency="Skewnesses") class SkewnessMax(MetaFeature): def _calculate(self, X, y, categorical): skews = helper_functions.get_value("Skewnesses") maximum = np.nanmax(skews) if len(skews) > 0 else 0 return maximum if np.isfinite(maximum) else 0 @metafeatures.define("SkewnessMean", dependency="Skewnesses") class SkewnessMean(MetaFeature): def _calculate(self, X, y, categorical): skews = helper_functions.get_value("Skewnesses") mean = np.nanmean(skews) if len(skews) > 0 else 0 return mean if np.isfinite(mean) else 0 @metafeatures.define("SkewnessSTD", dependency="Skewnesses") class SkewnessSTD(MetaFeature): def _calculate(self, X, y, categorical): skews = helper_functions.get_value("Skewnesses") std = np.nanstd(skews) if len(skews) > 0 else 0 return std if np.isfinite(std) else 0 #@metafeatures.define("cancor1") #def cancor1(X, y): # pass #@metafeatures.define("cancor2") #def cancor2(X, y): # pass ################################################################################ # Information-theoretic metafeatures @metafeatures.define("ClassEntropy") class ClassEntropy(MetaFeature): def _calculate(self, X, y, categorical): labels = 1 if len(y.shape) == 1 else y.shape[1] if labels == 1: y = y.reshape((-1, 1)) entropies = [] for i in range(labels): occurence_dict = defaultdict(float) for value in y[:, i]: occurence_dict[value] += 1 entropies.append(scipy.stats.entropy([occurence_dict[key] for key in occurence_dict], base=2)) return np.mean(entropies) #@metafeatures.define("normalized_class_entropy") #@metafeatures.define("attribute_entropy") #@metafeatures.define("normalized_attribute_entropy") #@metafeatures.define("joint_entropy") #@metafeatures.define("mutual_information") #@metafeatures.define("noise-signal-ratio") #@metafeatures.define("signal-noise-ratio") #@metafeatures.define("equivalent_number_of_attributes") #@metafeatures.define("conditional_entropy") #@metafeatures.define("average_attribute_entropy") ################################################################################ # Landmarking features, computed with cross validation # These should be invoked with the same transformations of X and y with which # sklearn will be called later on # from Pfahringer 2000 # Linear discriminant learner @metafeatures.define("LandmarkLDA") class LandmarkLDA(MetaFeature): def _calculate(self, X, y, categorical): import sklearn.discriminant_analysis if len(y.shape) == 1 or y.shape[1] == 1: kf = sklearn.model_selection.StratifiedKFold(n_splits=10) else: kf = sklearn.model_selection.KFold(n_splits=10) accuracy = 0. try: for train, test in kf.split(X, y): lda = sklearn.discriminant_analysis.LinearDiscriminantAnalysis() if len(y.shape) == 1 or y.shape[1] == 1: lda.fit(X[train], y[train]) else: lda = OneVsRestClassifier(lda) lda.fit(X[train], y[train]) predictions = lda.predict(X[test]) accuracy += sklearn.metrics.accuracy_score(predictions, y[test]) return accuracy / 10 except scipy.linalg.LinAlgError as e: self.logger.warning("LDA failed: %s Returned 0 instead!" % e) return np.NaN except ValueError as e: self.logger.warning("LDA failed: %s Returned 0 instead!" % e) return np.NaN def _calculate_sparse(self, X, y, categorical): return np.NaN # Naive Bayes @metafeatures.define("LandmarkNaiveBayes") class LandmarkNaiveBayes(MetaFeature): def _calculate(self, X, y, categorical): import sklearn.naive_bayes if len(y.shape) == 1 or y.shape[1] == 1: kf = sklearn.model_selection.StratifiedKFold(n_splits=10) else: kf = sklearn.model_selection.KFold(n_splits=10) accuracy = 0. for train, test in kf.split(X, y): nb = sklearn.naive_bayes.GaussianNB() if len(y.shape) == 1 or y.shape[1] == 1: nb.fit(X[train], y[train]) else: nb = OneVsRestClassifier(nb) nb.fit(X[train], y[train]) predictions = nb.predict(X[test]) accuracy += sklearn.metrics.accuracy_score(predictions, y[test]) return accuracy / 10 def _calculate_sparse(self, X, y, categorical): return np.NaN # Cart learner instead of C5.0 @metafeatures.define("LandmarkDecisionTree") class LandmarkDecisionTree(MetaFeature): def _calculate(self, X, y, categorical): import sklearn.tree if len(y.shape) == 1 or y.shape[1] == 1: kf = sklearn.model_selection.StratifiedKFold(n_splits=10) else: kf = sklearn.model_selection.KFold(n_splits=10) accuracy = 0. for train, test in kf.split(X, y): random_state = sklearn.utils.check_random_state(42) tree = sklearn.tree.DecisionTreeClassifier(random_state=random_state) if len(y.shape) == 1 or y.shape[1] == 1: tree.fit(X[train], y[train]) else: tree = OneVsRestClassifier(tree) tree.fit(X[train], y[train]) predictions = tree.predict(X[test]) accuracy += sklearn.metrics.accuracy_score(predictions, y[test]) return accuracy / 10 def _calculate_sparse(self, X, y, categorical): return np.NaN """If there is a dataset which has OneHotEncoded features it can happend that a node learner splits at one of the attribute encodings. This should be fine as the dataset is later on used encoded.""" # TODO: use the same tree, this has then to be computed only once and hence # saves a lot of time... @metafeatures.define("LandmarkDecisionNodeLearner") class LandmarkDecisionNodeLearner(MetaFeature): def _calculate(self, X, y, categorical): import sklearn.tree if len(y.shape) == 1 or y.shape[1] == 1: kf = sklearn.model_selection.StratifiedKFold(n_splits=10) else: kf = sklearn.model_selection.KFold(n_splits=10) accuracy = 0. for train, test in kf.split(X, y): random_state = sklearn.utils.check_random_state(42) node = sklearn.tree.DecisionTreeClassifier( criterion="entropy", max_depth=1, random_state=random_state, min_samples_split=2, min_samples_leaf=1, max_features=None) if len(y.shape) == 1 or y.shape[1] == 1: node.fit(X[train], y[train]) else: node = OneVsRestClassifier(node) node.fit(X[train], y[train]) predictions = node.predict(X[test]) accuracy += sklearn.metrics.accuracy_score(predictions, y[test]) return accuracy / 10 def _calculate_sparse(self, X, y, categorical): return np.NaN @metafeatures.define("LandmarkRandomNodeLearner") class LandmarkRandomNodeLearner(MetaFeature): def _calculate(self, X, y, categorical): import sklearn.tree if len(y.shape) == 1 or y.shape[1] == 1: kf = sklearn.model_selection.StratifiedKFold(n_splits=10) else: kf = sklearn.model_selection.KFold(n_splits=10) accuracy = 0. for train, test in kf.split(X, y): random_state = sklearn.utils.check_random_state(42) node = sklearn.tree.DecisionTreeClassifier( criterion="entropy", max_depth=1, random_state=random_state, min_samples_split=2, min_samples_leaf=1, max_features=1) node.fit(X[train], y[train]) predictions = node.predict(X[test]) accuracy += sklearn.metrics.accuracy_score(predictions, y[test]) return accuracy / 10 def _calculate_sparse(self, X, y, categorical): return np.NaN """ This is wrong... @metafeatures.define("landmark_worst_node_learner") def landmark_worst_node_learner(X, y): # TODO: this takes more than 10 minutes on some datasets (eg mfeat-pixels) # which has 240*6 = 1440 discrete attributes... # TODO: calculate information gain instead of using the worst test result import sklearn.tree performances = [] for attribute_idx in range(X.shape[1]): kf = sklearn.model_selection.StratifiedKFold(y, n_folds=10) accuracy = 0. for train, test in kf: node = sklearn.tree.DecisionTreeClassifier(criterion="entropy", max_features=None, max_depth=1, min_samples_split=1, min_samples_leaf=1) node.fit(X[train][:,attribute_idx].reshape((-1, 1)), y[train], check_input=False) predictions = node.predict(X[test][:,attribute_idx].reshape((-1, 1))) accuracy += sklearn.metrics.accuracy_score(predictions, y[test]) performances.append(1 - (accuracy / 10)) return max(performances) """ # Replace the Elite 1NN with a normal 1NN, this slightly changes the # intuition behind this landmark, but Elite 1NN is used nowhere else... @metafeatures.define("Landmark1NN") class Landmark1NN(MetaFeature): def _calculate(self, X, y, categorical): import sklearn.neighbors if len(y.shape) == 1 or y.shape[1] == 1: kf = sklearn.model_selection.StratifiedKFold(n_splits=10) else: kf = sklearn.model_selection.KFold(n_splits=10) accuracy = 0. for train, test in kf.split(X, y): kNN = sklearn.neighbors.KNeighborsClassifier(n_neighbors=1) if len(y.shape) == 1 or y.shape[1] == 1: kNN.fit(X[train], y[train]) else: kNN = OneVsRestClassifier(kNN) kNN.fit(X[train], y[train]) predictions = kNN.predict(X[test]) accuracy += sklearn.metrics.accuracy_score(predictions, y[test]) return accuracy / 10 ################################################################################ # Bardenet 2013 - Collaborative Hyperparameter Tuning # K number of classes ("number_of_classes") # log(d), log(number of attributes) # log(n/d), log(number of training instances/number of attributes) # p, how many principal components to keep in order to retain 95% of the # dataset variance # skewness of a dataset projected onto one principal component... # kurtosis of a dataset projected onto one principal component @helper_functions.define("PCA") class PCA(HelperFunction): def _calculate(self, X, y, categorical): import sklearn.decomposition pca = sklearn.decomposition.PCA(copy=True) rs = np.random.RandomState(42) indices = np.arange(X.shape[0]) for i in range(10): try: rs.shuffle(indices) pca.fit(X[indices]) return pca except LinAlgError as e: pass self.logger.warning("Failed to compute a Principle Component Analysis") return None def _calculate_sparse(self, X, y, categorical): import sklearn.decomposition rs = np.random.RandomState(42) indices = np.arange(X.shape[0]) # This is expensive, but necessary with scikit-learn 0.15 Xt = X.astype(np.float64) for i in range(10): try: rs.shuffle(indices) truncated_svd = sklearn.decomposition.TruncatedSVD( n_components=X.shape[1]-1, random_state=i, algorithm="randomized") truncated_svd.fit(Xt[indices]) return truncated_svd except LinAlgError as e: pass self.logger.warning("Failed to compute a Truncated SVD") return None # Maybe define some more... @metafeatures.define("PCAFractionOfComponentsFor95PercentVariance", dependency="PCA") class PCAFractionOfComponentsFor95PercentVariance(MetaFeature): def _calculate(self, X, y, categorical): pca_ = helper_functions.get_value("PCA") if pca_ is None: return np.NaN sum_ = 0. idx = 0 while sum_ < 0.95 and idx < len(pca_.explained_variance_ratio_): sum_ += pca_.explained_variance_ratio_[idx] idx += 1 return float(idx)/float(X.shape[1]) # Kurtosis of first PC @metafeatures.define("PCAKurtosisFirstPC", dependency="PCA") class PCAKurtosisFirstPC(MetaFeature): def _calculate(self, X, y, categorical): pca_ = helper_functions.get_value("PCA") if pca_ is None: return np.NaN components = pca_.components_ pca_.components_ = components[:1] transformed = pca_.transform(X) pca_.components_ = components kurtosis = scipy.stats.kurtosis(transformed) return kurtosis[0] # Skewness of first PC @metafeatures.define("PCASkewnessFirstPC", dependency="PCA") class PCASkewnessFirstPC(MetaFeature): def _calculate(self, X, y, categorical): pca_ = helper_functions.get_value("PCA") if pca_ is None: return np.NaN components = pca_.components_ pca_.components_ = components[:1] transformed = pca_.transform(X) pca_.components_ = components skewness = scipy.stats.skew(transformed) return skewness[0] def calculate_all_metafeatures_encoded_labels(X, y, categorical, dataset_name, calculate=None, dont_calculate=None): """Calculate only metafeatures for which a 1HotEncoded feature matrix is necessery.""" calculate = set() calculate.update(npy_metafeatures) return calculate_all_metafeatures(X, y, categorical, dataset_name, calculate=calculate, dont_calculate=dont_calculate) def calculate_all_metafeatures_with_labels(X, y, categorical, dataset_name, calculate=None, dont_calculate=None): if dont_calculate is None: dont_calculate = set() else: dont_calculate = copy.deepcopy(dont_calculate) dont_calculate.update(npy_metafeatures) return calculate_all_metafeatures(X, y, categorical, dataset_name, calculate=calculate, dont_calculate=dont_calculate) def calculate_all_metafeatures(X, y, categorical, dataset_name, calculate=None, dont_calculate=None, densify_threshold=1000): logger = get_logger(__name__) """Calculate all metafeatures.""" helper_functions.clear() metafeatures.clear() mf_ = dict() visited = set() to_visit = deque() to_visit.extend(metafeatures) print("X") print(X) print("y") print(y) print("categoricals") print(categorical) X_transformed = None y_transformed = None # TODO calculate the numpy metafeatures after all others to consume less # memory while len(to_visit) > 0: name = to_visit.pop() if calculate is not None and name not in calculate: continue if dont_calculate is not None and name in dont_calculate: continue if name in npy_metafeatures: if X_transformed is None: # TODO make sure this is done as efficient as possible (no copy for # sparse matrices because of wrong sparse format) sparse = scipy.sparse.issparse(X) if any(categorical): ohe = OneHotEncoder(categorical_features=categorical, sparse=True) X_transformed = ohe.fit_transform(X) else: X_transformed = X imputer = Imputer(strategy='mean', copy=False) X_transformed = imputer.fit_transform(X_transformed) center = not scipy.sparse.isspmatrix(X_transformed) standard_scaler = StandardScaler(copy=False, with_mean=center) X_transformed = standard_scaler.fit_transform(X_transformed) categorical_transformed = [False] * X_transformed.shape[1] # Densify the transformed matrix if not sparse and scipy.sparse.issparse(X_transformed): bytes_per_float = X_transformed.dtype.itemsize num_elements = X_transformed.shape[0] * X_transformed.shape[1] megabytes_required = num_elements * bytes_per_float / 1000 / 1000 if megabytes_required < densify_threshold: X_transformed = X_transformed.todense() # This is not only important for datasets which are somehow # sorted in a strange way, but also prevents lda from failing in # some cases. # Because this is advanced indexing, a copy of the data is returned!!! X_transformed = check_array(X_transformed, force_all_finite=True, accept_sparse='csr') rs = np.random.RandomState(42) indices = np.arange(X_transformed.shape[0]) rs.shuffle(indices) # TODO Shuffle inplace X_transformed = X_transformed[indices] y_transformed = y[indices] X_ = X_transformed y_ = y_transformed categorical_ = categorical_transformed else: X_ = X y_ = y categorical_ = categorical dependency = metafeatures.get_dependency(name) if dependency is not None: is_metafeature = dependency in metafeatures is_helper_function = dependency in helper_functions if is_metafeature and is_helper_function: raise ValueError(dependency) elif not is_metafeature and not is_helper_function: raise NotImplementedError() elif is_metafeature and not metafeatures.is_calculated(dependency): to_visit.appendleft(name) continue elif is_helper_function and not helper_functions.is_calculated( dependency): logger.info("%s: Going to calculate: %s", dataset_name, dependency) value = helper_functions[dependency](X_, y_, categorical_) helper_functions.set_value(dependency, value) mf_[dependency] = value logger.info("%s: Going to calculate: %s", dataset_name, name) value = metafeatures[name](X_, y_, categorical_) metafeatures.set_value(name, value) mf_[name] = value visited.add(name) mf_ = DatasetMetafeatures(dataset_name, mf_) return mf_ npy_metafeatures = set(["LandmarkLDA", "LandmarkNaiveBayes", "LandmarkDecisionTree", "LandmarkDecisionNodeLearner", "LandmarkRandomNodeLearner", "LandmarkWorstNodeLearner", "Landmark1NN", "PCAFractionOfComponentsFor95PercentVariance", "PCAKurtosisFirstPC", "PCASkewnessFirstPC", "Skewnesses", "SkewnessMin", "SkewnessMax", "SkewnessMean", "SkewnessSTD", "Kurtosisses", "KurtosisMin", "KurtosisMax", "KurtosisMean", "KurtosisSTD"]) subsets = dict() # All implemented metafeatures subsets["all"] = set(metafeatures.functions.keys()) # Metafeatures used by Pfahringer et al. (2000) in the first experiment subsets["pfahringer_2000_experiment1"] = set(["number_of_features", "number_of_numeric_features", "number_of_categorical_features", "number_of_classes", "class_probability_max", "landmark_lda", "landmark_naive_bayes", "landmark_decision_tree"]) # Metafeatures used by Pfahringer et al. (2000) in the second experiment # worst node learner not implemented yet """ pfahringer_2000_experiment2 = set(["landmark_decision_node_learner", "landmark_random_node_learner", "landmark_worst_node_learner", "landmark_1NN"]) """ # Metafeatures used by Yogatama and Mann (2014) subsets["yogotama_2014"] = set(["log_number_of_features", "log_number_of_instances", "number_of_classes"]) # Metafeatures used by Bardenet et al. (2013) for the AdaBoost.MH experiment subsets["bardenet_2013_boost"] = set(["number_of_classes", "log_number_of_features", "log_inverse_dataset_ratio", "pca_95percent"]) # Metafeatures used by Bardenet et al. (2013) for the Neural Net experiment subsets["bardenet_2013_nn"] = set(["number_of_classes", "log_number_of_features", "log_inverse_dataset_ratio", "pca_kurtosis_first_pc", "pca_skewness_first_pc"]) ================================================ FILE: server/atm_server/recommender/predict_dataset.py ================================================ import atm_server.recommender.metafeatures as metafeatures import atm_server.recommender.encoder as encoder import pandas as pd import math import numpy as np import os class Recommender: # Read Datasets. def __init__(self,saved_meta_path): self.feature_list = ['NumberOfInstancesWithMissingValues', 'ClassProbabilitySTD', 'NumberOfInstances', 'LogNumberOfFeatures', 'RatioNumericalToNominal', 'NumberOfMissingValues', 'DatasetRatio', 'LogDatasetRatio', 'NumberOfNumericFeatures', 'NumberOfFeaturesWithMissingValues', 'LogNumberOfInstances', 'SymbolsSum', 'KurtosisMax', 'ClassProbabilityMin', 'KurtosisMin', 'KurtosisSTD', 'NumberOfFeatures', 'SkewnessSTD', 'PercentageOfInstancesWithMissingValues', 'SkewnessMean', 'SymbolsMin', 'ClassProbabilityMean', 'SkewnessMax', 'PercentageOfFeaturesWithMissingValues', 'NumberOfCategoricalFeatures', 'PercentageOfMissingValues', 'RatioNominalToNumerical', 'ClassEntropy', 'InverseDatasetRatio', 'SymbolsSTD', 'ClassProbabilityMax', 'SymbolsMax', 'KurtosisMean', 'SkewnessMin', 'NumberOfClasses', 'SymbolsMean'] self.features = set(self.feature_list) self.column_title = ["dataset_name"] + self.feature_list self.pre_meta_path = './server/recommender_dataset/data_meta_first.csv' self.pre_PMA_path = './server/recommender_dataset/dataset_method_PMA.csv' self.saved_meta_path = saved_meta_path if not os.path.exists(self.saved_meta_path): os.makedirs(self.saved_meta_path) def getSavedDataMetaPath(self,dataset_name): return self.saved_meta_path + "/data_meta_"+str(dataset_name)+".csv" def getSavedResultPath(self,dataset_name): return self.saved_meta_path + "/data_result_"+str(dataset_name)+".csv" def calculate_dataset(self,path_to_dataset,dataset_name): ''' calculate the train dataset meta information. ''' # Read Train Dataset dataset_train_path = path_to_dataset dataset = pd.read_csv(dataset_train_path) num_col = dataset.shape[1] # Dataset Feature Title #dataset_feature = dataset.columns.values #dataset_feature = dataset_feature.tolist() #dataset_feature.remove('class') encode = encoder.DataEncoder() X,y = encode.fit_transform(dataset) #X = dataset[dataset_feature] #y = dataset[['class']] #X = X.values #y = y.values #categoricals = [type(X[0,j]) is str for j in range(num_col-1)] categoricals = [False] * (X.shape[1]) result = metafeatures.calculate_all_metafeatures(X,y,categoricals,dataset_name,self.features) result_array = [] result_array.append(dataset_name) for name in self.feature_list: data = str(result.metafeature_values[name].value) result_array.append(data) df2 = pd.DataFrame([result_array], columns=self.column_title) df2.to_csv(self.getSavedDataMetaPath(dataset_name)) def calculate_l1_dataset(self,dataset_name): ''' According to the meta information, predict the result of methods ranking. ''' # l1 - distance def L1(v1,v2): if len(v1)!=len(v2): print("l1 distance calculated error") return -1 return sum([abs(v1[i]-v2[i]) for i in range(len(v1))]) # Read Pre computed meta information df3 = pd.read_csv(self.pre_meta_path) df4 = pd.read_csv(self.getSavedDataMetaPath(dataset_name)) num = df3.shape[0] this_feature = df4.loc[0,self.feature_list].tolist() min_value = 0 min_index = -1 value_index = [] # Calculate L1 distance for i in range(num): index = i row_feature = df3.loc[i,self.feature_list].tolist() value = L1(this_feature,row_feature) value_index+=[{"index":index,"value":value}] if min_index == -1 or min_value>value: min_value = value min_index = i value_index.sort(key = lambda a: a["value"]) # Use Knn methods k = 10 index_list = [value_index[i]["index"] for i in range(k)] # Fetch the corresponding datasets result_name = df3.loc[index_list,"dataset_name"] df5 = pd.read_csv(self.pre_PMA_path) title = ['method','name','PMA'] title2 = ['value'] df6 = pd.DataFrame([],columns=title+title2) # name column is replaced by the l1 distance base_value = value_index[0]["value"] # Construct the PMA datasets for i in range(k): cor_name = result_name.at[index_list[i]] cor_value = base_value / value_index[i]["value"] result = df5.loc[df5['name'] == cor_name] result = result.sort_values(by=['PMA'],ascending=False) result = result[title] length = len(result) df7 = pd.DataFrame([cor_value]*length,columns=title2) df7.index = result.index df8 = result.join(df7) df6 = pd.concat([df6,df8]) # Calculate Weighted Average # df6.to_csv("./data_result_"+dataset_name+".csv") result2 = df6.groupby(df6.method).apply(lambda x: np.average(x.PMA, weights=x.value)) result2 = result2.sort_values(ascending=False) # print(df6) result2.to_csv(self.getSavedResultPath(dataset_name)) def predict_dataset(self,predict_dataset_path,datasetID): result_path = self.getSavedResultPath(str(datasetID)) computed = os.path.exists(result_path) if not computed: self.calculate_dataset(predict_dataset_path,datasetID) self.calculate_l1_dataset(datasetID) computed = os.path.exists(result_path) if not computed: raise ValueError("Fail to compute predict dataset") df9 = pd.Series.from_csv(result_path) #print(df9) result3 = df9.index.tolist() result3 = [str1[len('classify_'):len(str1)] for str1 in result3] result3 = [str1 for str1 in result3 if not str1 == 'dbn'] return result3 ================================================ FILE: server/atm_server/server.py ================================================ import os import sys sys.path.append(os.path.dirname(os.path.dirname(__file__))) import argparse try: import simplejson as json except ImportError: import json from flask import Flask from flask_cors import CORS from atm.config import (add_arguments_aws_s3, add_arguments_sql, add_arguments_datarun, add_arguments_logging, load_config, initialize_logging) from atm_server import SERVER_ROOT, db from atm_server.config import Config, ProductionConfig, DevelopmentConfig from atm_server.api import api from atm_server.atmvis import vis def create_app(config=None): """Create and configure an instance of the Flask application.""" app = Flask(__name__) CORS(app) # Update configs if app.config['ENV'] == 'production': app.config.from_object(ProductionConfig) elif app.config['ENV'] == 'development': app.config.from_object(DevelopmentConfig) else: app.config.from_object(Config) if config is None: config = {} config = {key: val for key, val in config.items() if val is not None} if config.get('run_config', None) is not None: config['RUN_CONFIG'] = config['run_config'] if config.get('sql_config', None) is not None: config['SQL_CONFIG'] = config['sql_config'] # print(config) app.config.update(config) # Load ATM confs sql_conf, run_conf, aws_conf, log_conf = load_config(**config) # print(run_conf.selector) # print(sql_conf) app.config.update({'SQL_CONF': sql_conf, 'RUN_CONF': run_conf, 'AWS_CONF': aws_conf, 'LOG_CONF': log_conf}) app.config.update({'RUN_PER_PARTITION': config['run_per_partition']}) @app.route('/hello') def hello(): return 'Hello, World!' db.init_app(app) app.register_blueprint(api, url_prefix='/api') app.register_blueprint(vis, url_prefix='/') return app def add_arguments_server(parser): parser.add_argument('--run-per-partition', default=False, action='store_true', help='if set, generate a new datarun for each hyperpartition') # API flags parser.add_argument('--host', default='0.0.0.0', help='Port in which to run the API') parser.add_argument('--port', default=7777, help='Port in which to run the API') parser.add_argument('--debug', action="store_const", default=False, const=True, help='If true, run Flask in debug mode') def start_server(): # ATM flags parser = argparse.ArgumentParser() add_arguments_aws_s3(parser) add_arguments_sql(parser) add_arguments_datarun(parser) add_arguments_logging(parser) add_arguments_server(parser) _args = parser.parse_args() if _args.debug: os.environ['FLASK_ENV'] = 'development' app = create_app(vars(_args)) app.run( debug=_args.debug, host=_args.host, port=int(_args.port) ) if __name__ == '__main__': start_server() ================================================ FILE: server/atm_server/utils.py ================================================ import uuid import decimal import datetime try: import simplejson as json except ImportError: import json import flask from btb.hyper_parameter import HyperParameter def nice_json_encoder(base_encoder): class JSONEncoder(base_encoder): """ JSONEncoder subclass that knows how to encode date/time, decimal types, and UUIDs. See: https://stackoverflow.com/questions/11875770/how-to-overcome-datetime-datetime-not-json-serializable """ def default(self, o): # See "Date Time String Format" in the ECMA-262 specification. if isinstance(o, datetime.datetime): r = o.isoformat() if o.microsecond: r = r[:23] + r[26:] if r.endswith('+00:00'): r = r[:-6] + 'Z' return r elif isinstance(o, datetime.date): return o.isoformat() elif isinstance(o, datetime.time): if o.utcoffset() is not None: raise ValueError("JSON can't represent timezone-aware times.") r = o.isoformat() if o.microsecond: r = r[:12] return r elif isinstance(o, (decimal.Decimal, uuid.UUID)): return str(o) elif isinstance(o, bytes): return str(o, encoding='utf-8') elif isinstance(o, HyperParameter): return {'type': o.type, 'range': o.range} return super(JSONEncoder, self).default(o) return JSONEncoder sysJSONEncoder = nice_json_encoder(json.JSONEncoder) flaskJSONEnCoder = nice_json_encoder(flask.json.JSONEncoder) ================================================ FILE: server/config/run.1.yaml ================================================ ## Dataset arguments train_path: atm/data/test/pollution_1.csv # if test_path is not supplied, train_path is assumed to point to train/test data test_path: data_description: "Example dataset description" class_column: class ## Datarun arguments dataset_id: methods: - rf - logreg - dt # priority (higher number is more important) priority: 1 # Should there be a classifier or walltime budget? budget_type: classifier # If budget_type is classifier, how many classifiers to try? budget: 100 # How should ATM sample hyperparameters from a given frozen set? tuner: gp # r_minimum is the number of random runs performed in each hyperpartition before # allowing bayesian opt to select parameters. r_minimum: 2 # gridding determines whether or not sample selection will happen on a grid. gridding: 0 # How should ATM select a particular hyperpartition (frozen set) from the # set of all hyperpartitions? selector: bestk # k is number that xxx_k methods use. It is similar to r_minimum, except it # determines how much "history" ATM considers for certain hyperpartition # selection logic. k_window: 5 # Which field to use for judgment of performance # options: f1, roc_auc, accuracy metric: f1 # Which data to use for computing judgment score # cv = Cross_Validated performance on training data # test = Performance on test data score_target: cv ================================================ FILE: server/config/run.yaml ================================================ budget: 1000 budget_type: classifier class_column: class data_description: Example dataset description dataset_id: null gridding: 0 k_window: 5 methods: [rf, knn, svm, dt, pa, logreg, bnb, mlp, ada, mnb, gp, gnb, sgd, et] metric: f1 priority: 1 r_minimum: 2 score_target: cv selector: bestk test_path: null train_path: atm/data/test/pollution_1.csv tuner: gp ================================================ FILE: server/config/sql.yaml ================================================ # SQL dialect dialect: sqlite # Name of the database database: atm.db # Username to gain access to the database username: # Password to gain access to the database password: # Host name of the device hosting the database host: # Port on host listening for database connections port: # Optional field for specifying login details query: ================================================ FILE: server/recommender_dataset/data_meta_first.csv ================================================ ,dataset_name,NumberOfInstancesWithMissingValues,ClassProbabilitySTD,NumberOfInstances,LogNumberOfFeatures,RatioNumericalToNominal,NumberOfMissingValues,DatasetRatio,LogDatasetRatio,NumberOfNumericFeatures,NumberOfFeaturesWithMissingValues,LogNumberOfInstances,SymbolsSum,KurtosisMax,ClassProbabilityMin,KurtosisMin,KurtosisSTD,NumberOfFeatures,SkewnessSTD,PercentageOfInstancesWithMissingValues,SkewnessMean,SymbolsMin,ClassProbabilityMean,SkewnessMax,PercentageOfFeaturesWithMissingValues,NumberOfCategoricalFeatures,PercentageOfMissingValues,RatioNominalToNumerical,ClassEntropy,InverseDatasetRatio,SymbolsSTD,ClassProbabilityMax,SymbolsMax,KurtosisMean,SkewnessMin,NumberOfClasses,SymbolsMean 0,2dplanes_1,0.0,0.0010337456635245434,28537.0,2.302585092994046,0.0,0.0,0.00035042225882188035,-7.956371676884557,10,0.0,10.258956769878603,0.0,-1.4908971222541552,0.49896625433647546,-1.9994747139170819,0.14931849461627333,10.0,0.010497885377016626,0.0,-0.005936204634653333,0,0.5,0.011442587567135874,0.0,0,0.0,0.0,0.9999969165831208,2853.7,0,0.5010337456635245,0,-1.5518856197501467,-0.022919120465625893,2.0,0 1,AP_Endometrium_Prostate_1,0.0,0.038461538461538436,91.0,9.299723933110869,0.0,0.0,120.16483516483517,4.788864426594018,10935,0.0,4.51085950651685,0.0,85.93335225584003,0.46153846153846156,-1.7062917036196577,12.65089680531472,10935.0,1.5756217581956777,0.0,1.8644958515293815,0,0.5,9.375164021447208,0.0,0,0.0,0.0,0.9957274520849256,0.008321902149062643,0,0.5384615384615384,0,7.226009248747241,-1.0288514888039386,2.0,0 2,Amazon_employee_access_1,0.0,0.44166884645566307,22938.0,2.1972245773362196,0.0,0.0,0.0003923620193565263,-7.843325625588248,9,0.0,10.040550202924468,0.0,3.4763586382077145,0.058331153544336906,-1.817412408528041,1.934500194072665,9.0,0.6863239984367495,0.0,0.8932258734509249,0,0.5,1.9800630589849089,0.0,0,0.0,0.0,0.3207842883754384,2548.6666666666665,0,0.9416688464556631,0,0.5225269986651679,0.018510898540463474,2.0,0 3,Australian_1,0.0,0.059006211180124196,483.0,2.6390573296152584,0.0,0.0,0.028985507246376812,-3.5409593240373143,14,0.0,6.180016653652572,0.0,178.5981141690388,0.4409937888198758,-1.9892548911735373,46.64624181497319,14.0,3.508895764673048,0.0,1.6789858146057135,0,0.5,12.319774538669648,0.0,0,0.0,0.0,0.9899303926829204,34.5,0,0.5590062111801242,0,19.28647438946926,-2.198043136248542,2.0,0 4,BNG(breast-w)_1,0.0,0.15473943968645665,27556.0,2.1972245773362196,0.0,0.0,0.00032660763536072,-8.026750999376867,9,0.0,10.223975576713087,0.0,12.063564721908211,0.34526056031354335,-0.7299412408726429,3.7832021136567264,9.0,0.7706993150946566,0.0,1.4652810383612593,0,0.5,3.4812107352367434,0.0,0,0.0,0.0,0.9297639613390066,3061.777777777778,0,0.6547394396864566,0,1.5953348078679497,0.6003477981539309,2.0,0 5,BNG(cmc)_1,0.0,0.08301500568193039,38707.0,2.1972245773362196,0.0,0.0,0.0002325160823623634,-8.366551163878071,9,0.0,10.563775741214291,0.0,7.952278680328373,0.22525641356860515,-1.3021416376140769,2.718417507181044,9.0,1.4285253429004698,0.0,-0.1409209992454264,0,0.3333333333333333,3.154723233554471,0.0,0,0.0,0.0,1.538510932160457,4300.777777777777,0,0.4270803730591366,0,0.7406433491701117,-1.9301091638101726,3.0,0 6,"BNG(cmc,nominal,55296)_1",0.0,0.08307181673198961,38707.0,2.1972245773362196,0.0,0.0,0.0002325160823623634,-8.366551163878071,9,0.0,10.563775741214291,0.0,7.593209391762633,0.22636732373989202,-1.3083394411412705,2.905858584319702,9.0,1.5783418938180367,0.0,-0.027931589989352437,0,0.3333333333333333,3.097290653419959,0.0,0,0.0,0.0,1.538642521389121,4300.777777777777,0,0.4288888314775105,0,1.0993172229276695,-1.9301091638101726,3.0,0 7,BNG(tic-tac-toe)_1,0.0,0.15444912178835823,27556.0,2.1972245773362196,0.0,0.0,0.00032660763536072,-8.026750999376867,9,0.0,10.223975576713087,0.0,-0.9882968418117666,0.34555087821164177,-1.4164913041167206,0.13248406425163145,9.0,0.11688831233308468,0.0,-0.3502159319683038,0,0.5,-0.22334828779099034,0.0,0,0.0,0.0,0.9300317241657566,3061.777777777778,0,0.6544491217883582,0,-1.2773428141179128,-0.5717081628785968,2.0,0 8,BNG(vote)_1,0.0,0.11518256130790192,91750.0,2.772588722239781,0.0,0.0,0.00017438692098092643,-8.654234043677036,16,0.0,11.426822765916818,0.0,1.8358712456430268,0.3848174386920981,-1.9981173987138547,0.9035291968804419,16.0,0.5845867541728698,0.0,-0.16186283363412923,0,0.5,0.6552607835529388,0.0,0,0.0,0.0,0.9613734874991069,5734.375,0,0.6151825613079019,0,-1.6320587499335588,-1.9585380378340944,2.0,0 9,CastMetal1_1,0.0,0.3728070175438597,228.0,3.6109179126442243,0.0,0.0,0.16228070175438597,-1.8184277163102163,37,0.0,5.429345628954441,0.0,77.78939900921483,0.12719298245614036,-1.1580207643647122,17.344227663825055,37.0,1.8035875123161964,0.0,3.6359267632296666,0,0.5,8.20224089310795,0.0,0,0.0,0.0,0.549689363520506,6.162162162162162,0,0.8728070175438597,0,21.006138116937475,-0.289029496018001,2.0,0 10,Click_prediction_small_1,0.0,0.33406644494510607,27963.0,2.1972245773362196,0.0,0.0,0.000321853878339234,-8.041412909393047,9,0.0,10.238637486729267,0.0,26926.780531255077,0.16593355505489396,-1.0402857597470903,8458.326566615851,9.0,50.52275992586306,0.0,19.970743115522723,0,0.5,162.71009805005986,0.0,0,0.0,0.0,0.648317394549588,3107.0,0,0.8340664449451061,0,3003.0636870899853,-0.878782488816644,2.0,0 11,CostaMadre1_1,0.0,0.38405797101449274,207.0,3.6109179126442243,0.0,0.0,0.178743961352657,-1.7218008806211447,37,0.0,5.332718793265369,0.0,37.53924963714146,0.11594202898550725,-1.1031187591497742,6.534350263122915,37.0,0.9612087384979368,0.0,2.2243229520195555,0,0.5,5.430376545618313,0.0,0,0.0,0.0,0.5175827525559072,5.594594594594595,0,0.8840579710144928,0,7.176602209120703,-0.5246674051981624,2.0,0 12,CreditCardSubset_1,0.0,0.49819422150882825,9968.0,3.4011973816621555,0.0,0.0,0.003009630818619583,-5.805937859365079,30,0.0,9.207135241027235,0.0,508.5040191363674,0.0018057784911717496,-1.287787607306059,104.60701653471723,30.0,3.510553220122857,0.0,-0.18364801894853666,0,0.5,12.038706957974995,0.0,0,0.0,0.0,0.01905918842791648,332.26666666666665,0,0.9981942215088283,0,61.714975380832946,-8.205717563733007,2.0,0 13,Engine1_1,0.0,0.18283582089552236,268.0,1.6094379124341003,0.0,0.0,0.018656716417910446,-3.9815490680767565,5,0.0,5.5909869805108565,0.0,3.013956676328303,0.31716417910447764,-1.1636337239814043,1.4698351821859015,5.0,0.6213030772607545,0.0,0.007807469411523571,0,0.5,0.9080652564159668,0.0,0,0.0,0.0,0.9012709069589501,53.6,0,0.6828358208955224,0,0.556880162993947,-0.9182972342642554,2.0,0 14,MagicTelescope_1,0.0,0.14728856842421512,13314.0,2.302585092994046,0.0,0.0,0.0007510890791647889,-7.193986299166603,10,0.0,9.496571392160648,0.0,15.636314944636197,0.3527114315757849,-0.5415554552384401,5.0643705723125425,10.0,1.2640250100046921,0.0,0.6373080826462872,0,0.5,3.3092536885547084,0.0,0,0.0,0.0,0.9364663103246508,1331.4,0,0.6472885684242151,0,4.1247712738988795,-1.195759182080569,2.0,0 15,MegaWatt1_1,0.0,0.3813559322033898,177.0,3.6109179126442243,0.0,0.0,0.20903954802259886,-1.5652318199296047,37,0.0,5.176149732573829,0.0,66.26603833698925,0.11864406779661017,-0.16292635105398245,14.287147215973441,37.0,1.6415781638844553,0.0,2.1109745109543048,0,0.5,8.115670356841138,0.0,0,0.0,0.0,0.5254506799086206,4.783783783783784,0,0.8813559322033898,0,7.965151721583984,-0.9883714950392125,2.0,0 16,PhishingWebsites_1,0.0,0.05544068234685964,7738.0,3.4011973816621555,0.0,0.0,0.003876970793486689,-5.552701153598303,30,0.0,8.953898535260459,0.0,17.540710255329586,0.44455931765314033,-1.9896026563874722,3.600501560291705,30.0,1.6808421043414834,0.0,0.536377920839097,0,0.5,4.420487558553874,0.0,0,0.0,0.0,0.9911130022009889,257.93333333333334,0,0.5554406823468596,0,1.310826643700264,-2.2242871508804,2.0,0 17,PieChart1_1,0.0,0.4148073022312373,493.0,3.6109179126442243,0.0,0.0,0.07505070993914807,-2.5895912613984655,37,0.0,6.20050917404269,0.0,205.32061752880617,0.08519269776876268,-1.242857891569231,47.37115781340255,37.0,3.0050177461326997,0.0,5.38759814388225,0,0.5,13.47494637890337,0.0,0,0.0,0.0,0.4202167656986322,13.324324324324325,0,0.9148073022312373,0,52.576442222292805,-0.05872431251944871,2.0,0 18,PieChart2_1,0.0,0.4750479846449136,521.0,3.58351893845611,0.0,0.0,0.0690978886756238,-2.672231103297257,36,0.0,6.255750041753367,0.0,337.2816678475144,0.02495201535508637,-1.020367748138551,101.3389324633092,36.0,5.2293592303800756,0.0,8.054709889105464,0,0.5,16.96265173909478,0.0,0,0.0,0.0,0.1684072451650832,14.472222222222221,0,0.9750479846449136,0,116.73801656886326,-2.605115828513248,2.0,0 19,PieChart3_1,0.0,0.36852589641434264,753.0,3.6109179126442243,0.0,0.0,0.049136786188579015,-3.013147315155669,37,0.0,6.6240652277998935,0.0,505.6720266628422,0.13147410358565736,-1.1393355691082712,149.46664296149692,37.0,6.365708001677705,0.0,8.859154105107878,0,0.5,21.38144234077916,0.0,0,0.0,0.0,0.5614671047866329,20.35135135135135,0,0.8685258964143426,0,151.84994601408908,0.058404241365646606,2.0,0 20,PieChart4_1,0.0,0.38431372549019605,1020.0,3.6109179126442243,0.0,0.0,0.03627450980392157,-3.3166399936340922,37,0.0,6.927557906278317,0.0,745.0578480646034,0.11568627450980393,-1.5039896523089125,143.3517752701543,37.0,5.163267050123807,0.0,6.4713926789091065,0,0.5,25.681489524064915,0.0,0,0.0,0.0,0.5168327427401808,27.56756756756757,0,0.884313725490196,0,98.55948104946758,-0.43368233736055384,2.0,0 21,PizzaCutter1_1,0.0,0.4285714285714286,462.0,3.6109179126442243,0.0,0.0,0.08008658008658008,-2.5246469784375143,37,0.0,6.135564891081739,0.0,224.58262172198002,0.07142857142857142,-1.1898154524888032,54.10056025583821,37.0,3.3616676103603367,0.0,5.64324651147868,0,0.5,14.041775325585295,0.0,0,0.0,0.0,0.3712323266408757,12.486486486486486,0,0.9285714285714286,0,57.360922629613164,-0.07914822688051203,2.0,0 22,PizzaCutter3_1,0.0,0.38082191780821917,730.0,3.6109179126442243,0.0,0.0,0.050684931506849315,-2.9821266214982125,37,0.0,6.593044534142437,0.0,663.851283781747,0.11917808219178082,-1.170083488704756,187.16878462262397,37.0,7.359675483014349,0.0,9.599540094345127,0,0.5,25.357027847615818,0.0,0,0.0,0.0,0.526993664163668,19.72972972972973,0,0.8808219178082192,0,178.90950832102206,0.05296641174487213,2.0,0 23,PopularKids_1,0.0,0.13642389686392667,334.0,2.302585092994046,0.0,0.0,0.029940119760479042,-3.508555899982655,10,0.0,5.811140992976701,0.0,7.930569430569431,0.20059880239520958,-1.9856058152506386,2.747926648960977,10.0,1.0086246312968137,0.0,-0.3560472923881394,0,0.3333333333333333,0.48637807522779763,0.0,0,0.0,0.0,1.4686087431584942,33.4,0,0.5209580838323353,0,-0.18289499259117709,-3.1512806016871013,3.0,0 24,SPECTF_1,0.0,0.22540983606557374,244.0,3.784189633918261,0.0,0.0,0.18032786885245902,-1.7129785913749407,44,0.0,5.497168225293202,0.0,26.606884259117958,0.27459016393442626,1.109709195001975,5.083545248511864,44.0,0.717109777043096,0.0,-1.9290850449978516,0,0.5,-0.7223831019874147,0.0,0,0.0,0.0,0.8479743944261597,5.545454545454546,0,0.7254098360655737,0,6.288464520733967,-4.0330103607467995,2.0,0 25,SPECT_1,0.0,0.27419354838709675,186.0,3.091042453358316,0.0,0.0,0.11827956989247312,-2.134704220354885,22,0.0,5.225746673713202,0.0,2.5952795031055915,0.22580645161290322,-2.0,1.1401686991964253,22.0,0.521251925722757,0.0,0.837222476236191,0,0.5,2.1436603049703544,0.0,0,0.0,0.0,0.7706290693639406,8.454545454545455,0,0.7741935483870968,0,-1.0273549552152579,0.0,2.0,0 26,abalone_1,0.0,0.0076975709887102395,2923.0,2.0794415416798357,0.0,0.0,0.0027369141293191925,-5.90092422343141,8,0.0,7.980365765111246,0.0,97.80012074568742,0.4923024290112898,-1.562193024886999,32.38454943412699,8.0,1.3801166493165773,0.0,0.6614046255017282,0,0.5,4.061121859759742,0.0,0,0.0,0.0,0.999829026384034,365.375,0,0.5076975709887103,0,12.13268272815918,-0.6307731559930342,2.0,0 27,abalone_2,0.0,0.009206766058587933,2923.0,2.0794415416798357,0.0,0.0,0.0027369141293191925,-5.90092422343141,8,0.0,7.980365765111246,0.0,98.39960829011423,0.3232979815258296,-1.523119264515024,32.5723378784128,8.0,1.4477554455143096,0.0,0.6492936227817654,0,0.3333333333333333,4.239280933354468,0.0,0,0.0,0.0,1.5844138169689583,365.375,0,0.34553540882654804,0,12.235573366885488,-0.6550123381224172,3.0,0 28,acute-inflammations_1,0.0,0.01190476190476189,84.0,1.791759469228055,0.0,0.0,0.07142857142857142,-2.639057329615259,6,0.0,4.430816798843313,0.0,-0.6666666666666661,0.4880952380952381,-1.97948717948718,0.44171440730312356,6.0,0.5909818335260703,0.0,0.12438370921907216,0,0.5,1.1547005383792517,0.0,0,0.0,0.0,0.999591034189098,14.0,0,0.5119047619047619,0,-1.553976658027545,-0.7071067811865476,2.0,0 29,acute-inflammations_2,0.0,0.10714285714285712,84.0,1.791759469228055,0.0,0.0,0.07142857142857142,-2.639057329615259,6,0.0,4.430816798843313,0.0,-0.4875000000000016,0.39285714285714285,-1.9977311401020983,0.4984723464070346,6.0,0.608886855320249,0.0,0.1350729132270969,0,0.5,1.2298373876248836,0.0,0,0.0,0.0,0.9666186325481027,14.0,0,0.6071428571428571,0,-1.5306897137193314,-0.6510180115869745,2.0,0 30,ada_agnostic_1,0.0,0.25133103664265577,3193.0,3.871201010907891,0.0,0.0,0.015032884434700909,-4.197515181806891,48,0.0,8.068716192714781,0.0,3188.0003132832094,0.2486689633573442,-3.0,501.8120724523541,48.0,9.669532287872734,0.0,5.390717553346715,0,0.5,56.48008775916698,0.0,0,0.0,0.0,0.8091616573028033,66.52083333333333,0,0.7513310366426558,0,120.93093344611346,-1.984514083121559,2.0,0 31,aids_1,0.0,0.042857142857142844,35.0,1.3862943611198906,0.0,0.0,0.11428571428571428,-2.169053700369523,4,0.0,3.5553480614894135,0.0,13.164102738750863,0.45714285714285713,-1.2878913894161323,5.872031527089072,4.0,1.3990358333662642,0.0,1.4741940837268226,0,0.5,3.454576744690682,0.0,0,0.0,0.0,0.9946937953613058,8.75,0,0.5428571428571428,0,3.4983540663571038,0.10113088251478443,2.0,0 32,ailerons_1,0.0,0.07631168831168833,9625.0,3.6888794541139363,0.0,0.0,0.004155844155844156,-5.483239705042049,40,0.0,9.172119159155985,0.0,9620.000103906901,0.42368831168831167,-0.5900663061210825,2428.2846028223776,40.0,26.808924787138285,0.0,-10.246734877023552,0,0.5,2.3286733892193223,0.0,0,0.0,0.0,0.9831311564829096,240.625,0,0.5763116883116883,0,1021.3093613661491,-98.09179427407219,2.0,0 33,analcatdata_apnea1_1,0.0,0.3855421686746988,332.0,1.0986122886681098,0.0,0.0,0.009036144578313253,-4.706522680248379,3,0.0,5.805134968916488,0.0,-1.1617511371523326,0.1144578313253012,-1.31193952385788,0.06227446404262105,3.0,0.04829557191031216,0.0,-0.01362612433170659,0,0.5,0.053659286017177094,0.0,0,0.0,0.0,0.5132173985374447,110.66666666666667,0,0.8855421686746988,0,-1.229141966902329,-0.05742749894918825,2.0,0 34,analcatdata_apnea2_1,0.0,0.35843373493975905,332.0,1.0986122886681098,0.0,0.0,0.009036144578313253,-4.706522680248379,3,0.0,5.805134968916488,0.0,-1.1037855943951738,0.14156626506024098,-1.3512388849378711,0.11211484855449783,3.0,0.01519103113403813,0.0,0.006033299889971019,0,0.5,0.020351097641566413,0.0,0,0.0,0.0,0.5883260665616881,110.66666666666667,0,0.858433734939759,0,-1.2618940475959823,-0.014996490847249326,2.0,0 35,analcatdata_apnea3_1,0.0,0.38571428571428573,315.0,1.0986122886681098,0.0,0.0,0.009523809523809525,-4.653960350157523,3,0.0,5.752572638825633,0.0,-1.2318868379474437,0.11428571428571428,-1.3217440633906963,0.03707406779198607,3.0,0.06212211085693732,0.0,0.015069790335320089,0,0.5,0.060909286912062745,0.0,0,0.0,0.0,0.5127091420308771,105.0,0,0.8857142857142857,0,-1.2806079657921903,-0.07275597001029839,2.0,0 36,analcatdata_asbestos_1,0.0,0.19523319254555208,58.0,1.0986122886681098,0.0,0.0,0.05172413793103448,-2.9618307218783095,3,0.0,4.060443010546419,0.0,-1.335046566770297,0.06896551724137931,-1.9224242424242426,0.266924391306875,3.0,0.26121863828862907,0.0,-0.001276140741095222,0,0.3333333333333333,0.2785242495291164,0.0,0,0.0,0.0,1.2782911570016338,19.333333333333332,0,0.5344827586206896,0,-1.711640596528899,-0.3500700210070024,3.0,0 37,analcatdata_authorship_1,0.0,0.12697716716430832,588.0,4.248495242049359,0.0,0.0,0.11904761904761904,-2.128231705849268,70,0.0,6.376726947898627,0.0,20.60871383600733,0.05952380952380952,-0.8378278461298385,3.118799961067859,70.0,0.6596934927991669,0.0,1.0785569698732385,0,0.25,3.9891726008454693,0.0,0,0.0,0.0,1.7766155920929458,8.4,0,0.37755102040816324,0,2.063936068343988,0.04566046783265818,4.0,0 38,analcatdata_authorship_2,0.0,0.12585034013605442,588.0,4.248495242049359,0.0,0.0,0.11904761904761904,-2.128231705849268,70,0.0,6.376726947898627,0.0,22.79770827988384,0.3741496598639456,-0.7931683993834535,3.7739588232276713,70.0,0.6831873293375453,0.0,1.1066594516299941,0,0.5,3.7611510293209958,0.0,0,0.0,0.0,0.9538051053730892,8.4,0,0.6258503401360545,0,2.2753306196808976,-0.07812082014738145,2.0,0 39,analcatdata_bankruptcy_1,0.0,0.014285714285714263,35.0,1.6094379124341003,0.0,0.0,0.14285714285714285,-1.9459101490553135,5,0.0,3.5553480614894135,0.0,3.9974477248435507,0.4857142857142857,0.8974346049502056,1.139562519877355,5.0,1.5990106573615999,0.0,-0.365609109495455,0,0.5,2.044236146549259,0.0,0,0.0,0.0,0.9994110647387552,7.0,0,0.5142857142857142,0,2.9280232592395308,-1.9285148845776328,2.0,0 40,analcatdata_boxing1_1,0.0,0.1785714285714286,84.0,1.0986122886681098,0.0,0.0,0.03571428571428571,-3.332204510175204,3,0.0,4.430816798843313,0.0,-1.1000000000000005,0.32142857142857145,-1.2795784554899972,0.07976086279729427,3.0,0.45067818301569973,0.0,0.31134446805503274,0,0.5,0.9486832980505133,0.0,0,0.0,0.0,0.9059282160429994,28.0,0,0.6785714285714286,0,-1.2120047435857353,-0.011280803928594272,2.0,0 41,analcatdata_boxing2_1,0.0,0.021739130434782594,92.0,1.0986122886681098,0.0,0.0,0.03260869565217391,-3.4231762883809305,3,0.0,4.5217885770490405,0.0,-1.1718483367803656,0.4782608695652174,-1.2767857142857146,0.048429212786544155,3.0,0.4231577861289121,0.0,0.25212960079048957,0,0.5,0.8504200642707611,0.0,0,0.0,0.0,0.9986359641585719,30.666666666666668,0,0.5217391304347826,0,-1.2083470570790793,-0.05842435233745699,2.0,0 42,analcatdata_challenger_1,0.0,0.0625,16.0,1.3862943611198906,0.0,0.0,0.25,-1.3862943611198906,4,0.0,2.772588722239781,0.0,0.7750472589792068,0.4375,-3.0,1.4035401480553924,4.0,0.8040147242419795,0.0,0.03647074324984523,0,0.5,1.3598766134157052,0.0,0,0.0,0.0,0.9886994082884974,4.0,0,0.5625,0,-1.0024304357147884,-0.6566178059087813,2.0,0 43,analcatdata_challenger_2,0.0,0.4375,96.0,0.6931471805599453,0.0,0.0,0.020833333333333332,-3.871201010907891,2,0.0,4.564348191467836,0.0,-0.2112863031706098,0.0625,-0.9604479468797993,0.37458082185459474,2.0,0.18703618164969826,0.0,-0.7519137335055516,0,0.5,-0.5648775518558533,0.0,0,0.0,0.0,0.3372900666170139,48.0,0,0.9375,0,-0.5858671250252045,-0.9389499151552498,2.0,0 44,analcatdata_chlamydia_1,0.0,0.3142857142857143,70.0,1.0986122886681098,0.0,0.0,0.04285714285714286,-3.1498829533812494,3,0.0,4.248495242049359,0.0,-1.1996838247390427,0.18571428571428572,-1.970394736842105,0.3579520678647009,3.0,0.08393443294365671,0.0,0.053639351543582604,0,0.5,0.17206180040292135,0.0,0,0.0,0.0,0.692419486327474,23.333333333333332,0,0.8142857142857143,0,-1.4643527766786952,-0.012612913645646678,2.0,0 45,analcatdata_creditscore_1,0.0,0.27142857142857146,70.0,1.791759469228055,0.0,0.0,0.08571428571428572,-2.456735772821304,6,0.0,4.248495242049359,0.0,18.37810945273632,0.22857142857142856,-1.5615942028985506,6.905915515522566,6.0,1.4052403503398878,0.0,2.2913863174479507,0,0.5,4.514211941495031,0.0,0,0.0,0.0,0.775512658133148,11.666666666666666,0,0.7714285714285715,0,6.904748217999149,0.5710162870331648,2.0,0 46,analcatdata_cyyoung8092_1,0.0,0.21641791044776118,67.0,2.302585092994046,0.0,0.0,0.14925373134328357,-1.9021075263969205,10,0.0,4.204692619390966,0.0,0.4903210642653595,0.2835820895522388,-1.9919642857142856,0.820645844332051,10.0,0.42422992736196435,0.0,0.015587794346149726,0,0.5,0.7644056490566267,0.0,0,0.0,0.0,0.8602858652332408,6.7,0,0.7164179104477612,0,-1.1155146293582026,-0.9399508557041442,2.0,0 47,analcatdata_cyyoung9302_1,0.0,0.296875,64.0,2.1972245773362196,0.0,0.0,0.140625,-1.9616585060234524,9,0.0,4.1588830833596715,0.0,0.7858840761687556,0.203125,-1.984313725490196,0.9043517139423927,9.0,0.42311216000633184,0.0,-0.1324989240149346,0,0.5,0.6674596132052022,0.0,0,0.0,0.0,0.7281342378690551,7.111111111111111,0,0.796875,0,-1.1703941061617238,-0.9925563120077051,2.0,0 48,analcatdata_dmft_1,0.0,0.30789946140035906,557.0,1.3862943611198906,0.0,0.0,0.00718132854578097,-4.9362708788073935,4,0.0,6.322565239927284,0.0,-0.5481090185315702,0.19210053859964094,-1.9996776522770645,0.5425752495173175,4.0,0.4476033351092757,0.0,0.07305415655045741,0,0.5,0.6723369285198535,0.0,0,0.0,0.0,0.7058450010158138,139.25,0,0.8078994614003591,0,-1.152449129913942,-0.5714682779159492,2.0,0 49,analcatdata_election2000_1,0.0,0.26086956521739135,46.0,2.6390573296152584,0.0,0.0,0.30434782608695654,-1.1895840668738362,14,0.0,3.828641396489095,0.0,41.01027528040912,0.2391304347826087,1.6650279046768368,13.95451720622189,14.0,1.7251085009679052,0.0,3.4226915313095363,0,0.5,6.557739689550151,0.0,0,0.0,0.0,0.7935912300117064,3.2857142857142856,0,0.7608695652173914,0,14.4783706195538,1.5930866952569953,2.0,0 50,analcatdata_germangss_1,0.0,0.275,280.0,1.6094379124341003,0.0,0.0,0.017857142857142856,-4.02535169073515,5,0.0,5.634789603169249,0.0,-1.2836685495651143,0.225,-2.0,0.33787747640001425,5.0,0.03514986002869715,0.0,-0.014910404203365406,0,0.5,0.02857434446964215,0.0,0,0.0,0.0,0.7691928290130138,56.0,0,0.775,0,-1.5864653654958696,-0.07795605088944123,2.0,0 51,analcatdata_germangss_2,0.0,0.037845566896712785,280.0,1.6094379124341003,0.0,0.0,0.017857142857142856,-4.02535169073515,5,0.0,5.634789603169249,0.0,-1.3090280734984456,0.0035714285714285713,-1.9981624215200857,0.3264803326034097,5.0,0.033341971838698505,0.0,-0.04217796270806061,0,0.016949152542372878,0.019990138482214335,0.0,0,0.0,0.0,4.387929346602815,56.0,0,0.25,0,-1.5976232159540718,-0.0714741689891865,59.0,0 52,analcatdata_gviolence_1,0.0,0.009803921568627444,51.0,2.0794415416798357,0.0,0.0,0.1568627450980392,-1.8523840910444898,8,0.0,3.9318256327243257,0.0,4.080780029296875,0.49019607843137253,-0.9443888893928181,1.5508049019584955,8.0,0.9226835307747792,0.0,0.5571216889075169,0,0.5,2.1800157306698544,0.0,0,0.0,0.0,0.9997226475394071,6.375,0,0.5098039215686274,0,0.35683552881578,-1.3451528492543439,2.0,0 53,analcatdata_japansolvent_1,0.0,0.0,36.0,2.0794415416798357,0.0,0.0,0.2222222222222222,-1.5040773967762742,8,0.0,3.58351893845611,0.0,13.29156710188121,0.027777777777777776,-2.0,5.477551097993075,8.0,1.8101279310711287,0.0,-1.3549827163377253,0,0.027777777777777776,1.3198361687018099,0.0,0,0.0,0.0,5.169925001442313,4.5,0,0.027777777777777776,0,5.445070767018398,-3.3442489718233257,36.0,0 54,analcatdata_lawsuit_1,0.0,0.42934782608695654,184.0,1.3862943611198906,0.0,0.0,0.021739130434782608,-3.828641396489095,4,0.0,5.214935757608986,0.0,1.3830696798802506,0.07065217391304347,-1.558703922340286,1.0868989226092856,4.0,0.7425365265366469,0.0,0.0881581042241156,0,0.5,0.8651198304813753,0.0,0,0.0,0.0,0.36835273659330237,46.0,0,0.9293478260869565,0,-0.16185481514224714,-1.0093368567454408,2.0,0 55,analcatdata_michiganacc_1,0.0,0.033333333333333326,75.0,1.0986122886681098,0.0,0.0,0.04,-3.2188758248682006,3,0.0,4.31748811353631,0.0,-0.7301657818231222,0.4666666666666667,-1.317154516397066,0.2432783629595193,3.0,0.20699830930543783,0.0,0.10493630252295742,0,0.5,0.36644058300096294,0.0,0,0.0,0.0,0.9967916319816367,25.0,0,0.5333333333333333,0,-1.0533114514829267,-0.1397635606056452,2.0,0 56,analcatdata_neavote_1,0.0,0.41428571428571426,70.0,0.6931471805599453,0.0,0.0,0.02857142857142857,-3.5553480614894135,2,0.0,4.248495242049359,0.0,-1.8849346245693988,0.08571428571428572,-1.9846849217776856,0.04987514860414344,2.0,0.0017824820900996935,0.0,-0.026789621581686723,0,0.5,-0.02500713949158703,0.0,0,0.0,0.0,0.42200051688315315,35.0,0,0.9142857142857143,0,-1.934809773173542,-0.028572103671786416,2.0,0 57,analcatdata_olympic2000_1,0.0,0.0,46.0,2.3978952727983707,0.0,0.0,0.2391304347826087,-1.4307461236907244,11,0.0,3.828641396489095,0.0,33.00185687713007,0.5,-0.954348763062336,9.474740717131624,11.0,1.6095698046274822,0.0,2.0780763121846415,0,0.5,5.659909696936502,0.0,0,0.0,0.0,1.0,4.181818181818182,0,0.5,0,6.701943388615737,0.07369131769322022,2.0,0 58,analcatdata_seropositive_1,0.0,0.15217391304347827,92.0,1.0986122886681098,0.0,0.0,0.03260869565217391,-3.4231762883809305,3,0.0,4.5217885770490405,0.0,1.60831612421629,0.34782608695652173,-1.4912715847225897,1.3831214184479794,3.0,0.7303691232830489,0.0,0.510766072136637,0,0.5,1.5435320470125238,0.0,0,0.0,0.0,0.9321115676166747,30.666666666666668,0,0.6521739130434783,0,-0.3363094648368345,-0.019914300442261515,2.0,0 59,analcatdata_supreme_1,0.0,0.2651622002820875,2836.0,1.9459101490553132,0.0,0.0,0.002468265162200282,-6.004239738596705,7,0.0,7.950149887652018,0.0,85.18748533651065,0.23483779971791255,-1.9956007298924827,30.31979570341984,7.0,3.044231093923752,0.0,2.7777142970111464,0,0.5,8.214884317624026,0.0,0,0.0,0.0,0.7863498099124508,405.14285714285717,0,0.7651622002820875,0,17.924261214805394,-0.17814738663603594,2.0,0 60,analcatdata_vehicle_1,0.0,0.07575757575757577,33.0,1.3862943611198906,0.0,0.0,0.12121212121212122,-2.1102132003465894,4,0.0,3.4965075614664802,0.0,-1.118066384495434,0.42424242424242425,-1.9963235294117645,0.3802964992763667,4.0,0.12772964907796738,0.0,0.013110841019577851,0,0.5,0.23434508285556055,0.0,0,0.0,0.0,0.9833761901392238,8.25,0,0.5757575757575758,0,-1.7767592431826817,-0.06063390625908306,2.0,0 61,analcatdata_vineyard_1,0.0,0.04434250764525993,327.0,1.0986122886681098,0.0,0.0,0.009174311926605505,-4.6913478822291435,3,0.0,5.7899601708972535,0.0,-1.1347212961721787,0.45565749235474007,-1.256684241332325,0.05461310302423749,3.0,0.01716860167127212,0.0,-0.010431202357011692,0,0.5,0.001974187641558913,0.0,0,0.0,0.0,0.9943191182782634,109.0,0,0.5443425076452599,0,-1.1798372239578476,-0.0347093240250574,2.0,0 62,analcatdata_wildcat_1,0.0,0.26315789473684215,114.0,1.6094379124341003,0.0,0.0,0.043859649122807015,-3.126760535960395,5,0.0,4.736198448394496,0.0,9.130484993967553,0.23684210526315788,-1.9689826302729525,4.119664041724658,5.0,1.2915227908309306,0.0,0.5893198246094087,0,0.5,2.8406521543613548,0.0,0,0.0,0.0,0.7897492536625224,22.8,0,0.7631578947368421,0,1.2074213606882673,-0.48355411261924897,2.0,0 63,ar1_1,0.0,0.4285714285714286,84.0,3.367295829986474,0.0,0.0,0.34523809523809523,-1.0635209688568397,29,0.0,4.430816798843313,0.0,30.236453918160024,0.07142857142857142,-1.047979697332302,7.720451076218934,29.0,1.1682209908941523,0.0,1.9743430528678134,0,0.5,5.260411255693442,0.0,0,0.0,0.0,0.3712323266408757,2.896551724137931,0,0.9285714285714286,0,6.2920666036729935,-0.041875518843220876,2.0,0 64,ar3_1,0.0,0.34090909090909094,44.0,3.367295829986474,0.0,0.0,0.6590909090909091,-0.41689380393178715,29,0.0,3.784189633918261,0.0,22.285794485999897,0.1590909090909091,-0.5486844502159656,4.993073374717711,29.0,0.88803098042984,0.0,2.311334869181334,0,0.5,4.454846240962392,0.0,0,0.0,0.0,0.6321302781219706,1.5172413793103448,0,0.8409090909090909,0,6.546890792664743,-0.14411754487115144,2.0,0 65,ar4_1,0.0,0.33783783783783783,74.0,3.367295829986474,0.0,0.0,0.3918918918918919,-0.9367692632176957,29,0.0,4.30406509320417,0.0,58.226243655862305,0.16216216216216217,0.021929523870140688,12.447333642305638,29.0,1.6966634390858726,0.0,3.0767809763407366,0,0.5,7.537086320947946,0.0,0,0.0,0.0,0.6394571324851642,2.5517241379310347,0,0.8378378378378378,0,14.355301022908483,-0.5853823207099865,2.0,0 66,ar5_1,0.0,0.26,25.0,3.367295829986474,0.0,0.0,1.16,0.14842000511827322,29,0.0,3.2188758248682006,0.0,11.614020344613571,0.24,-1.1529489556045185,3.434120866258704,29.0,0.8929179210494644,0.0,1.899347378366137,0,0.5,3.40321634371263,0.0,0,0.0,0.0,0.7950402793845223,0.8620689655172413,0,0.76,0,4.532692575071946,-0.21835071229877914,2.0,0 67,ar6_1,0.0,0.38571428571428573,70.0,3.367295829986474,0.0,0.0,0.4142857142857143,-0.8811994120628849,29,0.0,4.248495242049359,0.0,30.571059188055543,0.11428571428571428,-0.2402680691004191,10.937966932686827,29.0,1.6640701327404868,0.0,2.612348218309336,0,0.5,5.694832170968973,0.0,0,0.0,0.0,0.5127091420308771,2.413793103448276,0,0.8857142857142857,0,9.325825240069808,0.043885311642289544,2.0,0 68,arcene_1,0.0,0.07142857142857142,140.0,9.210340371976184,0.0,0.0,71.42857142857143,4.268697949366879,10000,0.0,4.941642422609304,0.0,135.00719424460473,0.42857142857142855,-3.0,22.151288357641555,10000.0,2.2691817790700903,0.0,2.2192514368047433,0,0.5,11.705007229583623,0.0,0,0.0,0.0,0.9852281360342515,0.014,0,0.5714285714285714,0,10.54649396330028,-1.9883833323941287,2.0,0 69,arsenic-female-bladder_1,0.0,0.3670076726342711,391.0,1.3862943611198906,0.0,0.0,0.010230179028132993,-4.582413198865475,4,0.0,5.968707559985366,0.0,82.05723999774953,0.1329923273657289,-1.2522840082963163,36.06184334358501,4.0,3.6689303804838493,0.0,2.2389279137738303,0,0.5,8.58869257445163,0.0,0,0.0,0.0,0.5655879140680751,97.75,0,0.8670076726342711,0,19.596304999900156,-0.03390445372938339,2.0,0 70,arsenic-female-lung_1,0.0,0.4718670076726343,391.0,1.3862943611198906,0.0,0.0,0.010230179028132993,-4.582413198865475,4,0.0,5.968707559985366,0.0,81.33606610761288,0.028132992327365727,-1.2108765282978216,35.711191994288164,4.0,3.6452099493114765,0.0,2.2674206857637085,0,0.5,8.571854030713888,0.0,0,0.0,0.0,0.1849407078680417,97.75,0,0.9718670076726342,0,19.48261811190661,-0.026831158718278795,2.0,0 71,arsenic-male-bladder_1,0.0,0.4616368286445013,391.0,1.3862943611198906,0.0,0.0,0.010230179028132993,-4.582413198865475,4,0.0,5.968707559985366,0.0,110.01170716904598,0.03836317135549872,-1.190323952481511,48.120332896304326,4.0,4.2755450707439655,0.0,2.618420231247708,0,0.5,10.01546464656388,0.0,0,0.0,0.0,0.23473639023594714,97.75,0,0.9616368286445013,0,26.66492101179846,-0.05257239256483474,2.0,0 72,arsenic-male-lung_1,0.0,0.46930946291560105,391.0,1.3862943611198906,0.0,0.0,0.010230179028132993,-4.582413198865475,4,0.0,5.968707559985366,0.0,79.82439795253939,0.030690537084398978,-1.227268971828163,35.07828132334703,4.0,3.612706271785095,0.0,2.208030542327921,0,0.5,8.458891143954801,0.0,0,0.0,0.0,0.19784313368715373,97.75,0,0.969309462915601,0,19.067093994211227,-0.039452051937391604,2.0,0 73,autoPrice_1,0.0,0.13963963963963966,111.0,2.70805020110221,0.0,0.0,0.13513513513513514,-2.001480000210124,15,0.0,4.709530201312334,0.0,8.695143471670002,0.36036036036036034,-0.8434610576566381,2.218472264080105,15.0,0.9009112016746775,0.0,0.5642398588172154,0,0.5,3.209212604430618,0.0,0,0.0,0.0,0.9429819088696832,7.4,0,0.6396396396396397,0,0.8545971626848626,-1.1068554037370197,2.0,0 74,autoUniv-au1-1000_1,0.0,0.2557142857142857,700.0,2.995732273553991,0.0,0.0,0.02857142857142857,-3.5553480614894135,20,0.0,6.551080335043404,0.0,-0.199467298017165,0.24428571428571427,-1.9998693834900727,0.48523976420954995,20.0,0.49432579736559173,0.0,0.154072642600677,0,0.5,1.3418392981213634,0.0,0,0.0,0.0,0.8020949267554601,35.0,0,0.7557142857142857,0,-1.731903626860916,-0.8654642612837827,2.0,0 75,autoUniv-au4-2500_1,0.0,0.1775787775107775,1750.0,4.605170185988092,0.0,0.0,0.05714285714285714,-2.8622008809294686,100,0.0,7.4673710669175595,0.0,0.3686844721127125,0.08228571428571428,-1.9999947755033798,0.4772285892493878,100.0,0.3051241015754084,0.0,0.04438408051840358,0,0.3333333333333333,1.2871284960337983,0.0,0,0.0,0.0,1.3277938986694366,17.5,0,0.4645714285714286,0,-1.2823505184032284,-0.6698873308503766,3.0,0 76,autoUniv-au7-700_1,0.0,0.015482730172436789,490.0,2.4849066497880004,0.0,0.0,0.024489795918367346,-3.709498741316672,12,0.0,6.194405391104672,0.0,0.15641025641025497,0.3122448979591837,-1.9997334266340108,0.5803097826142344,12.0,0.5994035028282648,0.0,0.240713487063663,0,0.3333333333333333,1.4684720822713162,0.0,0,0.0,0.0,1.5833937235310325,40.833333333333336,0,0.3489795918367347,0,-1.1535737234003114,-0.38455705606363016,3.0,0 77,auto_price_1,0.0,0.13063063063063063,111.0,2.70805020110221,0.0,0.0,0.13513513513513514,-2.001480000210124,15,0.0,4.709530201312334,0.0,5.964299134399724,0.36936936936936937,-0.7254990358978626,1.5821096815041902,15.0,0.839675103984416,0.0,0.6105932132738652,0,0.5,2.7736091883433125,0.0,0,0.0,0.0,0.9501866467511052,7.4,0,0.6306306306306306,0,0.7504201694510201,-1.3170674552653534,2.0,0 78,backache_1,0.0,0.3492063492063492,126.0,3.4339872044851463,0.0,0.0,0.24603174603174602,-1.4022947024663317,31,0.0,4.836281906951478,0.0,121.00800000000007,0.15079365079365079,-1.5486296949654108,30.901811428178107,31.0,2.9149313524602687,0.0,2.7739405984966683,0,0.5,11.09089716839897,0.0,0,0.0,0.0,0.6118228576241161,4.064516129032258,0,0.8492063492063492,0,14.676857668180327,-0.773087710182249,2.0,0 79,badges2_1,0.0,0.23170731707317072,205.0,2.302585092994046,0.0,0.0,0.04878048780487805,-3.0204248861443626,10,0.0,5.3230099791384085,0.0,5.891624221844937,0.2682926829268293,-1.9884497899961815,2.1401657792781745,10.0,1.0340781746124026,0.0,0.9434915306572285,0,0.5,2.809203485304142,0.0,0,0.0,0.0,0.8390040613676978,20.5,0,0.7317073170731707,0,1.2395251410052548,-1.045915576870042,2.0,0 80,balance-scale_1,0.0,0.18411535207203622,437.0,1.3862943611198906,0.0,0.0,0.009153318077803204,-4.693638833975699,4,0.0,6.07993319509559,0.0,-1.3067765998672385,0.07322654462242563,-1.3362142587217942,0.010822799715646652,4.0,0.032420926276728344,0.0,-0.006512474969530935,0,0.3333333333333333,0.028230554924493393,0.0,0,0.0,0.0,1.3042940210380745,109.25,0,0.47368421052631576,0,-1.3215705556965678,-0.04533215478516216,3.0,0 81,balance-scale_2,0.0,0.03775743707093823,437.0,1.3862943611198906,0.0,0.0,0.009153318077803204,-4.693638833975699,4,0.0,6.07993319509559,0.0,-1.2587736093105049,0.4622425629290618,-1.370068973824317,0.04232725049806363,4.0,0.03125594773962898,0.0,-0.014535479301173073,0,0.5,0.031712708453355436,0.0,0,0.0,0.0,0.9958826000300322,109.25,0,0.5377574370709383,0,-1.32133234744742,-0.044130724720592644,2.0,0 82,balloon_1,0.0,0.26,1400.0,0.0,0.0,0.0,0.0007142857142857143,-7.24422751560335,1,0.0,7.24422751560335,0.0,18.523283621980045,0.24,18.523283621980045,0.0,1.0,0.0,0.0,-3.068663605564721,0,0.5,-3.068663605564721,0.0,0,0.0,0.0,0.7950402793845223,1400.0,0,0.76,0,18.523283621980045,-3.068663605564721,2.0,0 83,banana_1,0.0,0.05417789757412397,3710.0,0.6931471805599453,0.0,0.0,0.0005390835579514825,-7.5256399750415355,2,0.0,8.21878715560148,0.0,-0.6061826686409,0.445822102425876,-1.0725779563276079,0.23319764384335395,2.0,0.08451118752878096,0.0,0.09569469639926352,0,0.5,0.18020588392804449,0.0,0,0.0,0.0,0.991514023030564,1855.0,0,0.554177897574124,0,-0.8393803124842539,0.011183508870482549,2.0,0 84,bank-marketing_1,0.0,0.38495575221238937,3164.0,2.772588722239781,0.0,0.0,0.0050568900126422255,-5.2870036066477635,16,0.0,8.059592328887545,0.0,107.40098854806638,0.11504424778761062,-1.9254418525899009,29.079683356815952,16.0,2.7591319355935333,0.0,1.9535607299902542,0,0.5,7.606764315904754,0.0,0,0.0,0.0,0.5149459065452171,197.75,0,0.8849557522123894,0,15.691183006180879,-1.9469456854469394,2.0,0 85,bank-marketing_2,0.0,0.3807469902360413,31647.0,2.772588722239781,0.0,0.0,0.0005055771479129143,-7.589809914110138,16,0.0,10.36239863634992,0.0,5034.351110202719,0.11925300976395867,-1.9535968791017988,1215.2965627988688,16.0,11.505040511749408,0.0,4.6731114070143045,0,0.5,48.01714626625748,0.0,0,0.0,0.0,0.5272098464424503,1977.9375,0,0.8807469902360413,0,328.9921764535719,-1.9861920312229644,2.0,0 86,bank32nh_1,0.0,0.19584931984652945,5734.0,3.4657359027997265,0.0,0.0,0.0055807464248343215,-5.188432743643588,32,0.0,8.654168646443315,0.0,9.564595871551308,0.3041506801534705,-1.30985933529072,3.424146455564268,32.0,0.8975624875312203,0.0,0.6171478380082351,0,0.5,2.2887175704278357,0.0,0,0.0,0.0,0.8863056352574936,179.1875,0,0.6958493198465294,0,0.9631615992860807,-0.05127837789874927,2.0,0 87,bank8FM_1,0.0,0.09330310429019884,5734.0,2.0794415416798357,0.0,0.0,0.0013951866062085804,-6.574727104763479,8,0.0,8.654168646443315,0.0,6.217545746093959,0.40669689570980116,-1.3801234897563368,2.984101669393241,8.0,0.8991104308295103,0.0,0.45459815997218556,0,0.5,2.058064054747668,0.0,0,0.0,0.0,0.9747334761588367,716.75,0,0.5933031042901988,0,0.5656837969539185,-0.3839549992106498,2.0,0 88,banknote-authentication_1,0.0,0.06458333333333333,960.0,1.3862943611198906,0.0,0.0,0.004166666666666667,-5.480638923341991,4,0.0,6.866933284461882,0.0,1.2842958481786724,0.4354166666666667,-0.7336389903126683,0.7915336589198619,4.0,0.7601326749517497,0.0,-0.11900464866027602,0,0.5,1.0890172375870963,0.0,0,0.0,0.0,0.9879313272505941,240.0,0,0.5645833333333333,0,0.12431762428847193,-0.9939789294043929,2.0,0 89,baskball_1,0.0,0.007462686567164201,67.0,1.3862943611198906,0.0,0.0,0.05970149253731343,-2.8183982582710754,4,0.0,4.204692619390966,0.0,3.534230202476504,0.4925373134328358,-1.377088063577521,1.8397287579716208,4.0,0.776275211216421,0.0,-0.05288383912977815,0,0.5,0.5438345207982964,0.0,0,0.0,0.0,0.9998393017810485,16.75,0,0.5074626865671642,0,0.5096896163056875,-1.3521585621611576,2.0,0 90,blogger_1,0.0,0.14285714285714288,70.0,1.6094379124341003,0.0,0.0,0.07142857142857142,-2.639057329615259,5,0.0,4.248495242049359,0.0,2.925318761384333,0.35714285714285715,-1.8183195189432186,1.7747569753158492,5.0,0.9506852988632274,0.0,-0.5189574224833432,0,0.5,0.3235228191272518,0.0,0,0.0,0.0,0.940285958670631,14.0,0,0.6428571428571429,0,-0.5569738687408959,-2.219305918836863,2.0,0 91,blood-transfusion-service-center_1,0.0,0.2590822179732314,523.0,1.3862943611198906,0.0,0.0,0.0076481835564053535,-4.873287102945032,4,0.0,6.259581464064923,0.0,13.77656078972539,0.24091778202676864,-0.34609212497513253,5.829756904681626,4.0,0.9653694409426473,0.0,2.2414982235113143,0,0.5,3.0787913398736735,0.0,0,0.0,0.0,0.7965631904979094,130.75,0,0.7590822179732314,0,9.567176906203393,0.7246782205607518,2.0,0 92,bodyfat_1,0.0,0.03409090909090909,176.0,2.6390573296152584,0.0,0.0,0.07954545454545454,-2.531426665422893,14,0.0,5.170483995038151,0.0,54.39563733558356,0.4659090909090909,-0.749210727103192,14.198458798282939,14.0,1.6499145844284537,0.0,-0.06938913421927544,0,0.5,2.4148373760639283,0.0,0,0.0,0.0,0.9966440252487702,12.571428571428571,0,0.5340909090909091,0,4.671639843390887,-5.620813199033517,2.0,0 93,bolts_1,0.0,0.1785714285714286,28.0,1.9459101490553132,0.0,0.0,0.25,-1.3862943611198906,7,0.0,3.332204510175204,0.0,0.20380252541668398,0.32142857142857145,-1.727272727272727,0.8078826993999869,7.0,0.6418447763057834,0.0,0.07201284344334143,0,0.5,1.3432042830006266,0.0,0,0.0,0.0,0.9059282160429994,4.0,0,0.6785714285714286,0,-1.1137366879056527,-1.0271892319279081,2.0,0 94,boston_1,0.0,0.096045197740113,354.0,2.5649493574615367,0.0,0.0,0.03672316384180791,-3.3043475556722375,13,0.0,5.869296913133774,0.0,38.173733310064634,0.403954802259887,-1.3642619113522008,10.285586480357152,13.0,1.9280545827695843,0.0,0.7869120349426242,0,0.5,5.368308307519576,0.0,0,0.0,0.0,0.97321704732445,27.23076923076923,0,0.596045197740113,0,4.237390994222576,-2.78253483075655,2.0,0 95,boston_corrected_1,0.0,0.06779661016949154,354.0,2.995732273553991,0.0,0.0,0.05649717514124294,-2.8735646395797834,20,0.0,5.869296913133774,0.0,32.36463920642464,0.4322033898305085,-1.3330703115319507,7.4642945877546945,20.0,1.5806647436834067,0.0,0.591700524900283,0,0.5,5.078735197616076,0.0,0,0.0,0.0,0.9866967086735613,17.7,0,0.5677966101694916,0,2.5646518099983995,-2.6691492358233515,2.0,0 96,breast-tissue_1,0.0,0.14818724459095478,74.0,2.1972245773362196,0.0,0.0,0.12162162162162163,-2.10684051586795,9,0.0,4.30406509320417,0.0,-1.0425316564139957,0.12162162162162163,-1.3018970660403404,0.0733903459139545,9.0,0.09565278925123963,0.0,0.0369570685815275,0,0.25,0.25550351467910076,0.0,0,0.0,0.0,1.7729851284680602,8.222222222222221,0,0.5,0,-1.15506193068805,-0.07582538588314557,4.0,0 97,cal_housing_1,0.0,0.09440753045404207,14448.0,2.0794415416798357,0.0,0.0,0.0005537098560354374,-7.498869733976931,8,0.0,9.578311275656766,0.0,43.340721867564255,0.4055924695459579,-1.3194187130944228,16.203038438846207,8.0,1.7503043456030671,0.0,2.1180137181256278,0,0.5,4.163538762786948,0.0,0,0.0,0.0,0.9741281203359621,1806.0,0,0.594407530454042,0,15.231276635281437,-0.3112878712340937,2.0,0 98,car_1,0.0,0.27064996841383515,1209.0,1.791759469228055,0.0,0.0,0.004962779156327543,-5.305789381386738,6,0.0,7.097548850614793,0.0,-1.3394784260511554,0.034739454094292806,-1.5110837438423643,0.07478963260350564,6.0,0.024400532399319743,0.0,0.012638252422491702,0,0.24999999999999997,0.04542010245172763,0.0,0,0.0,0.0,1.2050915969934577,201.5,0,0.7005789909015715,0,-1.4254348453064705,-0.025249066853449523,4.0,0 99,car_2,0.0,0.19313482216708022,1209.0,1.791759469228055,0.0,0.0,0.004962779156327543,-5.305789381386738,6,0.0,7.097548850614793,0.0,-1.350345549556015,0.3068651778329198,-1.5198233656351754,0.0762965783213237,6.0,0.02647177423406024,0.0,-0.0053000342130274415,0,0.5,0.04214711855223684,0.0,0,0.0,0.0,0.8895216424283009,201.5,0,0.6931348221670802,0,-1.434724549050072,-0.045593049690846287,2.0,0 100,cardiotocography_1,0.0,0.3148581871521311,1488.0,3.5553480614894135,0.0,0.0,0.023521505376344086,-3.7498401539036235,35,0.0,7.305188215393037,0.0,292.60337154416715,0.0846774193548387,-1.3525001215600023,50.897615823313856,35.0,3.372324906424809,0.0,2.344959733254342,0,0.3333333333333333,17.164013852947313,0.0,0,0.0,0.0,0.9778261335025397,42.51428571428571,0,0.7775537634408602,0,16.935886353830835,-0.9071943071100114,3.0,0 101,chatfield_4_1,0.0,0.09146341463414634,164.0,2.4849066497880004,0.0,0.0,0.07317073170731707,-2.6149597780361984,12,0.0,5.099866427824199,0.0,2.121036990668471,0.40853658536585363,-1.13798138904853,0.786656187326829,12.0,0.3245201147808631,0.0,0.9473264914188532,0,0.5,1.3637081130534867,0.0,0,0.0,0.0,0.9757256542959977,13.666666666666666,0,0.5914634146341463,0,0.5656503087802806,-0.02416101087228221,2.0,0 102,chscase_adopt_1,0.0,0.24074074074074073,27.0,0.6931471805599453,0.0,0.0,0.07407407407407407,-2.6026896854443837,2,0.0,3.295836866004329,0.0,20.01933959469918,0.25925925925925924,8.738289201608694,5.6405251965452425,2.0,0.7394343967890458,0.0,3.859399537549026,0,0.5,4.598833934338072,0.0,0,0.0,0.0,0.8256265261578954,13.5,0,0.7407407407407407,0,14.378814398153937,3.11996514075998,2.0,0 103,chscase_census2_1,0.0,0.0035714285714285587,280.0,1.9459101490553132,0.0,0.0,0.025,-3.6888794541139363,7,0.0,5.634789603169249,0.0,13.31780341231189,0.49642857142857144,0.38027921145458743,4.718353872049483,7.0,0.8317326024301734,0.0,1.2523457801007631,0,0.5,2.705172302596283,0.0,0,0.0,0.0,0.9999631962421186,40.0,0,0.5035714285714286,0,4.4168505108347444,0.3975037758496161,2.0,0 104,chscase_census3_1,0.0,0.0464285714285714,280.0,1.9459101490553132,0.0,0.0,0.025,-3.6888794541139363,7,0.0,5.634789603169249,0.0,1.3351419847197041,0.45357142857142857,-0.2884847006457196,0.4842807023251912,7.0,0.1926255505319475,0.0,-0.06635536554185345,0,0.5,0.18674301541620517,0.0,0,0.0,0.0,0.9937712485448208,40.0,0,0.5464285714285714,0,0.23673837063440262,-0.44733371912641834,2.0,0 105,chscase_census4_1,0.0,0.014285714285714263,280.0,1.9459101490553132,0.0,0.0,0.025,-3.6888794541139363,7,0.0,5.634789603169249,0.0,2.01332638354208,0.4857142857142857,-0.22055442614637144,0.6550490389518615,7.0,0.27763468263067587,0.0,0.6422558958779648,0,0.5,1.2013559990472453,0.0,0,0.0,0.0,0.9994110647387552,40.0,0,0.5142857142857142,0,0.5380344522615222,0.289806462574684,2.0,0 106,chscase_census5_1,0.0,0.017857142857142877,280.0,1.9459101490553132,0.0,0.0,0.025,-3.6888794541139363,7,0.0,5.634789603169249,0.0,8.677089427728685,0.48214285714285715,-0.4359110871386962,3.0546722610719077,7.0,0.6414266953283833,0.0,-0.15159029233503937,0,0.5,0.41597607065722253,0.0,0,0.0,0.0,0.9990797181805819,40.0,0,0.5178571428571429,0,1.2130007848179543,-1.6789838492354665,2.0,0 107,chscase_census6_1,0.0,0.09285714285714286,280.0,1.791759469228055,0.0,0.0,0.02142857142857143,-3.8430301339411947,6,0.0,5.634789603169249,0.0,45.00281429627726,0.40714285714285714,2.871178769347294,15.553953748012688,6.0,1.4929376927167795,0.0,3.6729093521120215,0,0.5,5.798436322791513,0.0,0,0.0,0.0,0.9749758483079306,46.666666666666664,0,0.5928571428571429,0,21.734224193474986,1.6356093561367329,2.0,0 108,chscase_funds_1,0.0,0.003875968992248069,129.0,0.6931471805599453,0.0,0.0,0.015503875968992248,-4.1666652238017265,2,0.0,4.859812404361672,0.0,0.8002064120328374,0.49612403100775193,-1.234861934292453,1.017534173162645,2.0,0.4519299067142525,0.0,0.248273881299495,0,0.5,0.7002037880137475,0.0,0,0.0,0.0,0.9999566519593042,64.5,0,0.5038759689922481,0,-0.21732776112980778,-0.20365602541475752,2.0,0 109,chscase_geyser1_1,0.0,0.12580645161290324,155.0,0.6931471805599453,0.0,0.0,0.012903225806451613,-4.350277936359301,2,0.0,5.043425116919247,0.0,-1.159136069641384,0.3741935483870968,-1.6528382064813907,0.24685106842000337,2.0,0.3111700701841685,0.0,-0.31209566154783547,0,0.5,-0.0009255913636669372,0.0,0,0.0,0.0,0.9538376735997177,77.5,0,0.6258064516129033,0,-1.4059871380613873,-0.623265731732004,2.0,0 110,chscase_health_1,0.0,0.07142857142857142,35.0,1.0986122886681098,0.0,0.0,0.08571428571428572,-2.456735772821304,3,0.0,3.5553480614894135,0.0,0.36216869012743036,0.42857142857142855,-1.39013652240058,0.7364104607564301,3.0,0.13418825681857305,0.0,-0.06193826469735519,0,0.5,0.053938299513361584,0.0,0,0.0,0.0,0.9852281360342515,11.666666666666666,0,0.5714285714285714,0,-0.6375519279142159,-0.2500272241042578,2.0,0 111,chscase_vine1_1,0.0,0.02777777777777779,36.0,2.1972245773362196,0.0,0.0,0.25,-1.3862943611198906,9,0.0,3.58351893845611,0.0,0.3072131662194386,0.4722222222222222,-1.2911110213968942,0.5144598896412155,9.0,0.40550421697568345,0.0,0.044013024726863845,0,0.5,0.6585983304547002,0.0,0,0.0,0.0,0.997772472089982,4.0,0,0.5277777777777778,0,-0.6136050542207132,-0.7399766080815269,2.0,0 112,chscase_vine2_1,0.0,0.06269113149847094,327.0,0.6931471805599453,0.0,0.0,0.0061162079510703364,-5.096812990337308,2,0.0,5.7899601708972535,0.0,-1.148811972157225,0.43730886850152906,-1.2549331665528456,0.05306059719781031,2.0,0.020000166375214314,0.0,-0.05145457480390103,0,0.5,-0.03145440842868672,0.0,0,0.0,0.0,0.9886300026424248,163.5,0,0.5626911314984709,0,-1.2018725693550354,-0.07145474117911535,2.0,0 113,climate-model-simulation-crashes_1,0.0,0.417989417989418,378.0,2.995732273553991,0.0,0.0,0.05291005291005291,-2.9391619220655967,20,0.0,5.934894195619588,0.0,-1.1223145418455691,0.082010582010582,-1.5337503190939261,0.08190194052489919,20.0,0.0479888515806842,0.0,0.010158324684134783,0,0.5,0.09848035444742205,0.0,0,0.0,0.0,0.4092242801294069,18.9,0,0.917989417989418,0,-1.2096593881138367,-0.07258148631015722,2.0,0 114,cloud_1,0.0,0.20666666666666667,75.0,1.9459101490553132,0.0,0.0,0.09333333333333334,-2.371577964480997,7,0.0,4.31748811353631,0.0,1.4245299591264633,0.29333333333333333,-1.9992887624466569,1.027340819237458,7.0,0.37910485750896644,0.0,0.602571534834282,0,0.5,1.0397722486849597,0.0,0,0.0,0.0,0.8729882944709463,10.714285714285714,0,0.7066666666666667,0,-0.18182178860842615,0.02666903735313304,2.0,0 115,cm1_req_1,0.0,0.3225806451612903,62.0,2.0794415416798357,0.0,0.0,0.12903225806451613,-2.0476928433652555,8,0.0,4.127134385045092,0.0,3.984415584415588,0.1774193548387097,-3.0,2.4907499414157446,8.0,0.8305801273510537,0.0,1.5324936737113986,0,0.5,2.446306518900603,0.0,0,0.0,0.0,0.6743988870714471,7.75,0,0.8225806451612904,0,1.5704716981512927,0.0,2.0,0 116,cmc_1,0.0,0.08049982003825934,1031.0,2.1972245773362196,0.0,0.0,0.008729388942774006,-4.74105990668074,9,0.0,6.93828448401696,0.0,8.299795517528992,0.2318137730358875,-1.3073937040155343,2.8241427741007112,9.0,1.4662575864695553,0.0,-0.1287686239561071,0,0.3333333333333333,3.2093294498273295,0.0,0,0.0,0.0,1.5418519078630386,114.55555555555556,0,0.42870999030067897,0,0.9557186195119106,-1.9148410323316747,3.0,0 117,cmc_2,0.0,0.07225994180407369,1031.0,2.1972245773362196,0.0,0.0,0.008729388942774006,-4.74105990668074,9,0.0,6.93828448401696,0.0,8.645370625516671,0.4277400581959263,-1.2880091640607487,2.9301447725132777,9.0,1.4490583099690488,0.0,-0.12718930679282245,0,0.5,3.262724417648029,0.0,0,0.0,0.0,0.9848810499598671,114.55555555555556,0,0.5722599418040737,0,0.8302135088216566,-1.9251757230228006,2.0,0 118,collins_1,0.0,0.33999999999999997,350.0,3.091042453358316,0.0,0.0,0.06285714285714286,-2.7668907011251433,22,0.0,5.857933154483459,0.0,35.196898236943255,0.16,-3.0,7.520233812661067,22.0,1.0747672246133992,0.0,0.994713456934977,0,0.5,4.870632441412998,0.0,0,0.0,0.0,0.6343095546405662,15.909090909090908,0,0.84,0,2.7013536906891926,-0.03583059057097137,2.0,0 119,confidence_1,0.0,0.36,50.0,1.0986122886681098,0.0,0.0,0.06,-2.8134107167600364,3,0.0,3.912023005428146,0.0,-0.5798589104351137,0.14,-1.9285249158812845,0.5536953414187102,3.0,0.27722638780752523,0.0,0.325126543536375,0,0.5,0.7027442532296428,0.0,0,0.0,0.0,0.584238811642856,16.666666666666668,0,0.86,0,-1.2127882172618156,0.0450195280307184,2.0,0 120,cpu_1,0.0,0.29452054794520544,146.0,1.9459101490553132,0.0,0.0,0.04794520547945205,-3.0376964726530233,7,0.0,4.983606621708336,0.0,32.54533191083227,0.2054794520547945,-0.7468057890118636,10.253969838118774,7.0,1.5305727551341584,0.0,2.96594204415447,0,0.5,4.864560377324958,0.0,0,0.0,0.0,0.7327525499549905,20.857142857142858,0,0.7945205479452054,0,13.803328720236479,-0.2465667471996444,2.0,0 121,cpu_act_1,0.0,0.20317404952912455,5734.0,3.044522437723423,0.0,0.0,0.0036623648412975234,-5.609646208719893,21,0.0,8.654168646443315,0.0,516.6141938522732,0.29682595047087545,1.033229871956042,134.43453231956224,21.0,4.86582747263611,0.0,5.247376448994201,0,0.5,19.710375896869355,0.0,0,0.0,0.0,0.8773762888112995,273.04761904761904,0,0.7031740495291245,0,76.14027002003667,-0.7809078112441841,2.0,0 122,cpu_small_1,0.0,0.19131496337635157,5734.0,2.4849066497880004,0.0,0.0,0.0020927799093128706,-6.169261996655315,12,0.0,8.654168646443315,0.0,175.9596893935877,0.30868503662364843,0.810944044344664,61.24103962831677,12.0,3.495087227146296,0.0,4.475634351603603,0,0.5,11.815114572083806,0.0,0,0.0,0.0,0.8916497233450273,477.8333333333333,0,0.6913149633763516,0,52.79399681191547,-0.7774001810441488,2.0,0 123,credit-g_1,0.0,0.19428571428571428,700.0,2.995732273553991,0.0,0.0,0.02857142857142857,-3.5553480614894135,20,0.0,6.551080335043404,0.0,17.626982978928577,0.3057142857142857,-1.9097131790710873,4.380620474136882,20.0,1.3619998132243571,0.0,0.6981126013935002,0,0.5,4.430235092963868,0.0,0,0.0,0.0,0.8881642377719646,35.0,0,0.6942857142857143,0,1.3869083023848732,-1.6996177417194842,2.0,0 124,datatrieve_1,0.0,0.44505494505494503,91.0,2.0794415416798357,0.0,0.0,0.08791208791208792,-2.431417964837014,8,0.0,4.51085950651685,0.0,6.51810543776816,0.054945054945054944,-1.916666666666667,2.7093617058252444,8.0,0.5384870362892304,0.0,1.5038265447939714,0,0.5,2.017525151963091,0.0,0,0.0,0.0,0.3070428887831223,11.375,0,0.945054945054945,0,3.160172405453472,0.2886751345948127,2.0,0 125,dbworld-bodies_1,0.0,0.0,44.0,8.455743229100015,0.0,0.0,106.86363636363636,4.671553595181754,4702,0.0,3.784189633918261,0.0,39.02325581395349,0.5,-3.0,17.690821029679384,4702.0,2.4891218463885547,0.0,4.41490578402536,0,0.5,6.404939953969398,0.0,0,0.0,0.0,1.0,0.009357720119098255,0,0.5,0,23.526763353221153,-2.846049894151541,2.0,0 126,dbworld-subjects-stemmed_1,0.0,0.04545454545454544,44.0,5.43372200355424,0.0,0.0,5.204545454545454,1.6495323696359785,229,0.0,3.784189633918261,0.0,39.02325581395349,0.45454545454545453,-3.0,18.695626500695294,229.0,2.7565426675101485,0.0,4.074154337915662,0,0.5,6.404939953969398,0.0,0,0.0,0.0,0.9940302114769566,0.19213973799126638,0,0.5454545454545454,0,21.922151876655278,0.0,2.0,0 127,dbworld-subjects_1,0.0,0.04545454545454544,44.0,5.488937726156687,0.0,0.0,5.5,1.7047480922384253,242,0.0,3.784189633918261,0.0,39.02325581395349,0.45454545454545453,-3.0,18.595919995817834,242.0,2.734153258108569,0.0,4.338017985190121,0,0.5,6.404939953969398,0.0,0,0.0,0.0,0.9940302114769566,0.18181818181818182,0,0.5454545454545454,0,24.041927962956166,0.0,2.0,0 128,delta_ailerons_1,0.0,0.038276553106212446,4990.0,1.6094379124341003,0.0,0.0,0.001002004008016032,-6.905753276311464,5,0.0,8.515191188745565,0.0,1.283971045075167,0.4617234468937876,-1.0966942873822785,0.9308651278465313,5.0,0.30973846270864025,0.0,0.07741954845342522,0,0.5,0.6098843829654939,0.0,0,0.0,0.0,0.9957684921033407,998.0,0,0.5382765531062125,0,0.4657234161062993,-0.23291432259826142,2.0,0 129,delta_elevators_1,0.0,0.0006755742381023833,6661.0,1.791759469228055,0.0,0.0,0.0009007656508031827,-7.012265433185124,6,0.0,8.804024902413179,0.0,3.966164819570703,0.4993244257618976,-0.532894996748225,1.541961737344833,6.0,0.13714182023206092,0.0,-0.024666185746975416,0,0.5,0.16454024226056502,0.0,0,0.0,0.0,0.9999986831059757,1110.1666666666667,0,0.5006755742381024,0,0.5972677251712234,-0.2227056791737276,2.0,0 130,desharnais_1,0.0,0.1689889234116475,56.0,2.3978952727983707,0.0,0.0,0.19642857142857142,-1.6274564179367788,11,0.0,4.02535169073515,0.0,2.3868914338272775,0.14285714285714285,-0.959915654481859,1.228283727482484,11.0,0.7641940067204299,0.0,0.6214303947082035,0,0.3333333333333333,1.6162219965870561,0.0,0,0.0,0.0,1.3954450305710164,5.090909090909091,0,0.5535714285714286,0,0.5274378653016836,-0.49241842961129745,3.0,0 131,diabetes_1,0.0,0.14432029795158285,537.0,2.0794415416798357,0.0,0.0,0.0148975791433892,-4.206556552829029,8,0.0,6.285998094508865,0.0,7.6380188618029745,0.35567970204841715,-0.26034324825088806,2.8896794560162538,8.0,1.269654413322346,0.0,0.5387483970301968,0,0.5,2.318976797222772,0.0,0,0.0,0.0,0.9390384773948453,67.125,0,0.6443202979515829,0,2.8854337470123697,-1.9404486851629412,2.0,0 132,diabetes_numeric_1,0.0,0.09999999999999998,30.0,0.6931471805599453,0.0,0.0,0.06666666666666667,-2.70805020110221,2,0.0,3.4011973816621555,0.0,-0.12347991070279907,0.4,-0.13109967443365678,0.0038098818654288547,2.0,0.06747044262296731,0.0,-0.8197664016686398,0,0.5,-0.7522959590456725,0.0,0,0.0,0.0,0.9709505944546688,15.0,0,0.6,0,-0.12728979256822792,-0.8872368442916071,2.0,0 133,diggle_table_a1_1,0.0,0.015151515151515138,33.0,1.3862943611198906,0.0,0.0,0.12121212121212122,-2.1102132003465894,4,0.0,3.4965075614664802,0.0,0.9981828259025352,0.48484848484848486,-1.1841077356006966,0.8485932570842515,4.0,0.3667310946259819,0.0,-0.21275945069118798,0,0.5,0.13941899184818116,0.0,0,0.0,0.0,0.9993375041688846,8.25,0,0.5151515151515151,0,-0.4354189323706676,-0.787364420748687,2.0,0 134,diggle_table_a2_1,0.0,0.04838709677419353,217.0,2.0794415416798357,0.0,0.0,0.03686635944700461,-3.3004558118606235,8,0.0,5.37989735354046,0.0,0.6389375046245531,0.45161290322580644,-1.3835370141126035,0.618436428773639,8.0,0.31346326138235714,0.0,-0.02504709720656323,0,0.5,0.7024735600666515,0.0,0,0.0,0.0,0.9932338197397066,27.125,0,0.5483870967741935,0,-0.9088791577311752,-0.4007320390449831,2.0,0 135,disclosure_x_bias_1,0.0,0.0010799136069114257,463.0,1.0986122886681098,0.0,0.0,0.0064794816414686825,-5.039114765418124,3,0.0,6.137727054086234,0.0,0.1763814504426655,0.49892008639308855,-0.009361730497206011,0.07838448117943289,3.0,0.3752670502447578,0.0,0.1571096033946905,0,0.5,0.43881717811173354,0.0,0,0.0,0.0,0.9999966350168109,154.33333333333334,0,0.5010799136069114,0,0.0975462177414892,-0.37325499287596325,2.0,0 136,disclosure_x_noise_1,0.0,0.0032397408207343326,463.0,1.0986122886681098,0.0,0.0,0.0064794816414686825,-5.039114765418124,3,0.0,6.137727054086234,0.0,0.2157633505716552,0.49676025917926564,-0.14093536096959447,0.16067856447228915,3.0,0.2545953921551847,0.0,-0.0010555217908911618,0,0.5,0.1955438338579064,0.0,0,0.0,0.0,0.9999697149629285,154.33333333333334,0,0.5032397408207343,0,-0.010606517890653292,-0.3605825729490136,2.0,0 137,disclosure_x_tampered_1,0.0,0.0075593952483801186,463.0,1.0986122886681098,0.0,0.0,0.0064794816414686825,-5.039114765418124,3,0.0,6.137727054086234,0.0,-0.0664341858462989,0.4924406047516199,-0.29602348679516055,0.09605306444559575,3.0,0.12515763159214227,0.0,0.0700134187332691,0,0.5,0.16903155207111983,0.0,0,0.0,0.0,0.9998351096698779,154.33333333333334,0,0.5075593952483801,0,-0.16637987444301006,-0.10655156504047798,2.0,0 138,disclosure_z_1,0.0,0.03779697624190062,463.0,1.0986122886681098,0.0,0.0,0.0064794816414686825,-5.039114765418124,3,0.0,6.137727054086234,0.0,0.27297514723892924,0.46220302375809935,-0.12897228027736318,0.17047124392596388,3.0,0.3618026011494252,0.0,0.14074543836507336,0,0.5,0.43415310354975034,0.0,0,0.0,0.0,0.9958739638762244,154.33333333333334,0,0.5377969762419006,0,0.039340376717123725,-0.3689813133465577,2.0,0 139,dresses-sales_1,0.0,0.060000000000000026,350.0,2.4849066497880004,0.0,0.0,0.03428571428571429,-3.373026504695459,12,0.0,5.857933154483459,0.0,4.766628425773518,0.44,-1.4982732027160819,1.7558104274657091,12.0,1.046154170124348,0.0,0.1922524556804109,0,0.5,2.3973890369636286,0.0,0,0.0,0.0,0.9895875212220555,29.166666666666668,0,0.56,0,-0.1746049215381328,-1.2324169822308881,2.0,0 140,ecoli_1,0.0,0.07021276595744683,235.0,1.9459101490553132,0.0,0.0,0.029787234042553193,-3.5136753650888455,7,0.0,5.459585514144159,0.0,230.00427350427344,0.4297872340425532,-1.0182297341233606,79.63305468547159,7.0,5.227081546438852,0.0,3.1136199730268523,0,0.5,15.231686495732287,0.0,0,0.0,0.0,0.9857283879297964,33.57142857142857,0,0.5702127659574469,0,36.07895809012989,-0.09406759839825735,2.0,0 141,eeg-eye-state_1,0.0,0.05121113866107188,10486.0,2.6390573296152584,0.0,0.0,0.0013351134846461949,-6.618738983517219,14,0.0,9.257796313132479,0.0,10480.76710307334,0.4487888613389281,41.57100201268008,3729.2108995167264,14.0,46.55598667988161,0.0,36.57544203734283,0,0.5,102.38481619066837,0.0,0,0.0,0.0,0.9924195454230477,749.0,0,0.5512111386610719,0,4259.112289763916,-45.72405095805483,2.0,0 142,electricity_1,0.0,0.0753830632448452,31718.0,2.0794415416798357,0.0,0.0,0.0002522227126552746,-8.285198080378711,8,0.0,10.364639622058545,0.0,7518.262589947748,0.42461693675515483,-1.314661543503337,2479.428992438434,8.0,26.92368944644668,0.0,11.510509081804956,0,0.5,82.30054852710225,0.0,0,0.0,0.0,0.983540775906757,3964.75,0,0.5753830632448452,0,959.8591629776118,-0.17172040094241914,2.0,0 143,elevators_1,0.0,0.19067906016008263,11619.0,2.8903717578961645,0.0,0.0,0.001549186676994578,-6.470025210286697,18,0.0,9.360396968182862,0.0,11614.000086073329,0.3093209398399174,-0.5560945813597429,3126.7674663960406,18.0,30.96383887753151,0.0,10.274058038291633,0,0.5,107.77754908176993,0.0,0,0.0,0.0,0.8923880444245715,645.5,0,0.6906790601600826,0,1086.6078651542364,-1.7340391919424774,2.0,0 144,elusage_1,0.0,0.07894736842105265,38.0,0.6931471805599453,0.0,0.0,0.05263157894736842,-2.9444389791664407,2,0.0,3.6375861597263857,0.0,-1.2009368775219442,0.42105263157894735,-1.4023525383780817,0.10070783042806875,2.0,0.0009106373982701952,0.0,-0.028306673788668586,0,0.5,-0.02739603639039839,0.0,0,0.0,0.0,0.9819407868640977,19.0,0,0.5789473684210527,0,-1.3016447079500129,-0.02921731118693878,2.0,0 145,eye_movements_1,0.0,0.05312685370491274,7655.0,3.295836866004329,0.0,0.0,0.003527106466361855,-5.647277442087455,27,0.0,8.943114308091785,0.0,99.49830946625053,0.26244284781188765,-1.8496464066547291,29.777871217262916,27.0,2.642325489716896,0.0,2.7177300452261384,0,0.3333333333333333,9.283977355806709,0.0,0,0.0,0.0,1.5661489009272556,283.51851851851853,0,0.39033311561071193,0,20.6048216131528,-1.512301253562623,3.0,0 146,fertility_1,0.0,0.4,70.0,2.1972245773362196,0.0,0.0,0.12857142857142856,-2.05127066471314,9,0.0,4.248495242049359,0.0,5.111111111111109,0.1,-2.0,2.0771428251724733,9.0,1.0293467047400138,0.0,-0.1392636437809697,0,0.5,0.7616332075660487,0.0,0,0.0,0.0,0.46899559358928117,7.777777777777778,0,0.9,0,-0.09791952107467601,-2.6666666666666647,2.0,0 147,fl2000_1,0.0,0.06521739130434781,46.0,2.70805020110221,0.0,0.0,0.32608695652173914,-1.120591195386885,15,0.0,3.828641396489095,0.0,37.62797285433069,0.43478260869565216,-0.5038961038961061,10.086228871910219,15.0,1.3281101237633317,0.0,3.1027319520669985,0,0.5,6.178120009029945,0.0,0,0.0,0.0,0.9876925088958033,3.066666666666667,0,0.5652173913043478,0,11.304234243049732,1.2231532594503,2.0,0 148,flags_1,0.0,0.15925925925925924,135.0,3.332204510175204,0.0,0.0,0.2074074074074074,-1.5730702682632256,28,0.0,4.90527477843843,0.0,64.34307358515669,0.34074074074074073,-1.99802371541502,16.384625774188684,28.0,2.1006871975870416,0.0,1.6729259840654944,0,0.5,7.41908781875053,0.0,0,0.0,0.0,0.9255257797572608,4.821428571428571,0,0.6592592592592592,0,6.681831854096532,-1.2856576654593335,2.0,0 149,fri_c0_1000_10_1,0.0,0.021428571428571436,700.0,2.302585092994046,0.0,0.0,0.014285714285714285,-4.248495242049359,10,0.0,6.551080335043404,0.0,-1.1127858729508298,0.4785714285714286,-1.2720670291437337,0.042911536472800355,10.0,0.052352542456162214,0.0,-0.056167846854188054,0,0.5,0.029895121654359005,0.0,0,0.0,0.0,0.998674670095595,70.0,0,0.5214285714285715,0,-1.195603659037294,-0.1759372077425791,2.0,0 150,fri_c0_1000_25_1,0.0,0.0014285714285714457,700.0,3.2188758248682006,0.0,0.0,0.03571428571428571,-3.332204510175204,25,0.0,6.551080335043404,0.0,-1.101524646970124,0.49857142857142855,-1.2479169939230752,0.041656443901964255,25.0,0.05036495279044171,0.0,-0.007644372656691555,0,0.5,0.10270252807063557,0.0,0,0.0,0.0,0.9999941114408012,28.0,0,0.5014285714285714,0,-1.1998367411426234,-0.12209348316787906,2.0,0 151,fri_c0_1000_50_1,0.0,0.020000000000000018,700.0,3.912023005428146,0.0,0.0,0.07142857142857142,-2.639057329615259,50,0.0,6.551080335043404,0.0,-1.1064279547456801,0.48,-1.2903853531218854,0.042633065430479976,50.0,0.05301575836093203,0.0,-0.01240867252450504,0,0.5,0.15770331439945778,0.0,0,0.0,0.0,0.9988455359952018,14.0,0,0.52,0,-1.2001372150887095,-0.11969315489797003,2.0,0 152,fri_c0_1000_5_1,0.0,0.008571428571428563,700.0,1.6094379124341003,0.0,0.0,0.007142857142857143,-4.941642422609305,5,0.0,6.551080335043404,0.0,-1.166989454500946,0.49142857142857144,-1.221970767512595,0.017601132480307206,5.0,0.048232089630971586,0.0,0.042350035122439164,0,0.5,0.10085487281498824,0.0,0,0.0,0.0,0.9997880017729585,140.0,0,0.5085714285714286,0,-1.1933502646254355,-0.046236897931477165,2.0,0 153,fri_c0_100_10_1,0.0,0.07142857142857142,70.0,2.302585092994046,0.0,0.0,0.14285714285714285,-1.9459101490553135,10,0.0,4.248495242049359,0.0,-0.9034569381756987,0.42857142857142855,-1.3596396708402718,0.14048647637974968,10.0,0.1836285653629677,0.0,-0.0806706576326995,0,0.5,0.19027183250491705,0.0,0,0.0,0.0,0.9852281360342515,7.0,0,0.5714285714285714,0,-1.177344238761389,-0.3834332573992652,2.0,0 154,fri_c0_100_25_1,0.0,0.014285714285714263,70.0,3.2188758248682006,0.0,0.0,0.35714285714285715,-1.0296194171811581,25,0.0,4.248495242049359,0.0,-0.7093731201733426,0.4857142857142857,-1.3343265696428874,0.13654748413748885,25.0,0.16004260214081578,0.0,-0.018699963309589937,0,0.5,0.27376528927396554,0.0,0,0.0,0.0,0.9994110647387552,2.8,0,0.5142857142857142,0,-1.144304479165979,-0.31526285140681,2.0,0 155,fri_c0_100_50_1,0.0,0.014285714285714263,70.0,3.912023005428146,0.0,0.0,0.7142857142857143,-0.3364722366212129,50,0.0,4.248495242049359,0.0,-0.7327588741581543,0.4857142857142857,-1.4633700753517613,0.14117653159187196,50.0,0.1633611175103125,0.0,0.010841989567447982,0,0.5,0.4046455556014225,0.0,0,0.0,0.0,0.9994110647387552,1.4,0,0.5142857142857142,0,-1.1664187468297906,-0.40370374551871235,2.0,0 156,fri_c0_100_5_1,0.0,0.014285714285714263,70.0,1.6094379124341003,0.0,0.0,0.07142857142857142,-2.639057329615259,5,0.0,4.248495242049359,0.0,-0.7198575651909205,0.4857142857142857,-1.3540240046487688,0.21847649185002857,5.0,0.17412822068081743,0.0,0.059521518067945436,0,0.5,0.3706694728789516,0.0,0,0.0,0.0,0.9994110647387552,14.0,0,0.5142857142857142,0,-1.0236868090981488,-0.16630074147468166,2.0,0 157,fri_c0_250_10_1,0.0,0.014285714285714263,175.0,2.302585092994046,0.0,0.0,0.05714285714285714,-2.8622008809294686,10,0.0,5.1647859739235145,0.0,-1.0350555765303875,0.4857142857142857,-1.2257602905367815,0.05332006619067617,10.0,0.10509712900055364,0.0,-0.018702887898860165,0,0.5,0.2274744258513126,0.0,0,0.0,0.0,0.9994110647387552,17.5,0,0.5142857142857142,0,-1.1271878021920925,-0.18038702551392008,2.0,0 158,fri_c0_250_25_1,0.0,0.008571428571428563,175.0,3.2188758248682006,0.0,0.0,0.14285714285714285,-1.9459101490553135,25,0.0,5.1647859739235145,0.0,-1.0231504561593339,0.49142857142857144,-1.3930097827035601,0.10230852523088485,25.0,0.1373467066323846,0.0,-0.022598899924027173,0,0.5,0.3251821328200972,0.0,0,0.0,0.0,0.9997880017729585,7.0,0,0.5085714285714286,0,-1.1909589100066298,-0.23702608962087363,2.0,0 159,fri_c0_250_50_1,0.0,0.031428571428571445,175.0,3.912023005428146,0.0,0.0,0.2857142857142857,-1.252762968495368,50,0.0,5.1647859739235145,0.0,-0.9440318566177588,0.4685714285714286,-1.3777252400772588,0.09410489441998203,50.0,0.09363457404420057,0.0,0.003126902972774034,0,0.5,0.16332249332590376,0.0,0,0.0,0.0,0.9971480614795872,3.5,0,0.5314285714285715,0,-1.1815948482739704,-0.2433319733129668,2.0,0 160,fri_c0_250_5_1,0.0,0.020000000000000018,175.0,1.6094379124341003,0.0,0.0,0.02857142857142857,-3.5553480614894135,5,0.0,5.1647859739235145,0.0,-1.1073124390807045,0.48,-1.2043194730136098,0.03709544405934347,5.0,0.024980008982091993,0.0,-0.08819909415838072,0,0.5,-0.04361537384639427,0.0,0,0.0,0.0,0.9988455359952018,35.0,0,0.52,0,-1.1624569364055666,-0.11588816857388007,2.0,0 161,fri_c0_500_10_1,0.0,0.0057142857142856995,350.0,2.302585092994046,0.0,0.0,0.02857142857142857,-3.5553480614894135,10,0.0,5.857933154483459,0.0,-1.0874254726755095,0.4942857142857143,-1.2737987458197442,0.048094898156998765,10.0,0.06006085981393204,0.0,-0.01327903987667767,0,0.5,0.089167167846035,0.0,0,0.0,0.0,0.9999057811299177,35.0,0,0.5057142857142857,0,-1.1851653373880087,-0.0991075996847258,2.0,0 162,fri_c0_500_25_1,0.0,0.008571428571428563,350.0,3.2188758248682006,0.0,0.0,0.07142857142857142,-2.639057329615259,25,0.0,5.857933154483459,0.0,-1.0204221059555405,0.49142857142857144,-1.2873664041219264,0.060815914761296705,25.0,0.0738843132481244,0.0,0.022905490357892,0,0.5,0.1824705843094611,0.0,0,0.0,0.0,0.9997880017729585,14.0,0,0.5085714285714286,0,-1.179597699307755,-0.18893296335934687,2.0,0 163,fri_c0_500_50_1,0.0,0.020000000000000018,350.0,3.912023005428146,0.0,0.0,0.14285714285714285,-1.9459101490553135,50,0.0,5.857933154483459,0.0,-1.002518901933153,0.48,-1.3325483690593711,0.0724590034474614,50.0,0.07785950412058273,0.0,0.011584491250114936,0,0.5,0.21842056488753414,0.0,0,0.0,0.0,0.9988455359952018,7.0,0,0.52,0,-1.187928617752452,-0.19414239235963326,2.0,0 164,fri_c0_500_5_1,0.0,0.0028571428571428636,350.0,1.6094379124341003,0.0,0.0,0.014285714285714285,-4.248495242049359,5,0.0,5.857933154483459,0.0,-1.1373617287056903,0.49714285714285716,-1.2606974174768428,0.04512854878479401,5.0,0.05561319043228135,0.0,0.02899082489863507,0,0.5,0.13640184057264704,0.0,0,0.0,0.0,0.999976445667063,70.0,0,0.5028571428571429,0,-1.2061433103216899,-0.020812810566664633,2.0,0 165,fri_c1_1000_10_1,0.0,0.05428571428571427,700.0,2.302585092994046,0.0,0.0,0.014285714285714285,-4.248495242049359,10,0.0,6.551080335043404,0.0,-0.7190278208702447,0.44571428571428573,-1.2727799213659117,0.1509295454736741,10.0,0.05255637079292321,0.0,-0.007993815246649584,0,0.5,0.07985211975028983,0.0,0,0.0,0.0,0.9914801474700047,70.0,0,0.5542857142857143,0,-1.151503336281517,-0.07286130216862666,2.0,0 166,fri_c1_1000_25_1,0.0,0.042857142857142844,700.0,3.2188758248682006,0.0,0.0,0.03571428571428571,-3.332204510175204,25,0.0,6.551080335043404,0.0,-0.7828617452305751,0.45714285714285713,-1.2582101088633844,0.08732119384069105,25.0,0.051069178795404596,0.0,0.0020603224962902063,0,0.5,0.09528260884208635,0.0,0,0.0,0.0,0.9946937953613058,28.0,0,0.5428571428571428,0,-1.180951860610745,-0.13363246923741642,2.0,0 167,fri_c1_1000_50_1,0.0,0.04000000000000001,700.0,3.912023005428146,0.0,0.0,0.07142857142857142,-2.639057329615259,50,0.0,6.551080335043404,0.0,-0.780782495337669,0.46,-1.2770772817013754,0.07619380143484131,50.0,0.05679057531161003,0.0,0.007135628678532569,0,0.5,0.12378889406804493,0.0,0,0.0,0.0,0.9953784388202258,14.0,0,0.54,0,-1.1818237739876822,-0.11660807742535977,2.0,0 168,fri_c1_1000_5_1,0.0,0.042857142857142844,700.0,1.6094379124341003,0.0,0.0,0.007142857142857143,-4.941642422609305,5,0.0,6.551080335043404,0.0,-0.7403816505159351,0.45714285714285713,-1.207322355247225,0.1787218153569979,5.0,0.058746587677865426,0.0,-0.024084721589678015,0,0.5,0.08622457101977436,0.0,0,0.0,0.0,0.9946937953613058,140.0,0,0.5428571428571428,0,-1.0958750516390459,-0.08078758382279651,2.0,0 169,fri_c1_100_10_1,0.0,0.05714285714285716,70.0,2.302585092994046,0.0,0.0,0.14285714285714285,-1.9459101490553135,10,0.0,4.248495242049359,0.0,-0.6529316838350891,0.44285714285714284,-1.434357916424763,0.18610216327040988,10.0,0.1358140795387962,0.0,-0.12311121827906046,0,0.5,0.13495634932040687,0.0,0,0.0,0.0,0.9905577004075262,7.0,0,0.5571428571428572,0,-1.1044866816710024,-0.3391819124871322,2.0,0 170,fri_c1_100_25_1,0.0,0.014285714285714263,70.0,3.2188758248682006,0.0,0.0,0.35714285714285715,-1.0296194171811581,25,0.0,4.248495242049359,0.0,-0.7015100626103479,0.4857142857142857,-1.3332886447050825,0.13513592689166093,25.0,0.17730871199653542,0.0,-0.07561348447588942,0,0.5,0.34220431677376517,0.0,0,0.0,0.0,0.9994110647387552,2.8,0,0.5142857142857142,0,-1.0806178577488046,-0.513342838745998,2.0,0 171,fri_c1_100_50_1,0.0,0.05714285714285716,70.0,3.912023005428146,0.0,0.0,0.7142857142857143,-0.3364722366212129,50,0.0,4.248495242049359,0.0,-0.846497206999786,0.44285714285714284,-1.5066196838698933,0.15418161365304087,50.0,0.170186298861004,0.0,0.005767504783193771,0,0.5,0.3153759955744276,0.0,0,0.0,0.0,0.9905577004075262,1.4,0,0.5571428571428572,0,-1.1475030755232927,-0.405025109490885,2.0,0 172,fri_c1_100_5_1,0.0,0.014285714285714263,70.0,1.6094379124341003,0.0,0.0,0.07142857142857142,-2.639057329615259,5,0.0,4.248495242049359,0.0,-0.6619218273477547,0.4857142857142857,-1.1962703236738066,0.1894510327201321,5.0,0.25374375182612857,0.0,0.09091147268067888,0,0.5,0.3082281204362966,0.0,0,0.0,0.0,0.9994110647387552,14.0,0,0.5142857142857142,0,-0.981281489687954,-0.3906430017819606,2.0,0 173,fri_c1_250_10_1,0.0,0.05428571428571427,175.0,2.302585092994046,0.0,0.0,0.05714285714285714,-2.8622008809294686,10,0.0,5.1647859739235145,0.0,-0.8879169148196375,0.44571428571428573,-1.3587913839685548,0.11919832638075117,10.0,0.09752815406347887,0.0,-0.010660246546124744,0,0.5,0.19412326575232913,0.0,0,0.0,0.0,0.9914801474700047,17.5,0,0.5542857142857143,0,-1.1725665841044624,-0.16871168422607039,2.0,0 174,fri_c1_250_25_1,0.0,0.10571428571428573,175.0,3.2188758248682006,0.0,0.0,0.14285714285714285,-1.9459101490553135,25,0.0,5.1647859739235145,0.0,-0.7609359765222292,0.3942857142857143,-1.3225461656315352,0.11555984416964227,25.0,0.10628083525025114,0.0,0.04272546540497004,0,0.5,0.23894754362382242,0.0,0,0.0,0.0,0.9675096506815131,7.0,0,0.6057142857142858,0,-1.180783168566649,-0.1617517296669763,2.0,0 175,fri_c1_250_50_1,0.0,0.008571428571428563,175.0,3.912023005428146,0.0,0.0,0.2857142857142857,-1.252762968495368,50,0.0,5.1647859739235145,0.0,-0.7656259165857264,0.49142857142857144,-1.3700254021976732,0.09725248599842931,50.0,0.08743834569243268,0.0,-0.015154820649020007,0,0.5,0.16459435871425213,0.0,0,0.0,0.0,0.9997880017729585,3.5,0,0.5085714285714286,0,-1.1860678269813465,-0.20504340283204125,2.0,0 176,fri_c1_250_5_1,0.0,0.020000000000000018,175.0,1.6094379124341003,0.0,0.0,0.02857142857142857,-3.5553480614894135,5,0.0,5.1647859739235145,0.0,-0.6678602302360659,0.48,-1.187472923293893,0.1937504665946226,5.0,0.0979629299570346,0.0,-0.10582482310256294,0,0.5,0.025811371887066465,0.0,0,0.0,0.0,0.9988455359952018,35.0,0,0.52,0,-1.0335422518050688,-0.2336289864669476,2.0,0 177,fri_c1_500_10_1,0.0,0.05428571428571427,350.0,2.302585092994046,0.0,0.0,0.02857142857142857,-3.5553480614894135,10,0.0,5.857933154483459,0.0,-0.7635134072636256,0.44571428571428573,-1.2611723799209575,0.13637472485430158,10.0,0.05122592374739967,0.0,-0.03764024568011472,0,0.5,0.020062457813303004,0.0,0,0.0,0.0,0.9914801474700047,35.0,0,0.5542857142857143,0,-1.1360429656108875,-0.1581639298297686,2.0,0 178,fri_c1_500_25_1,0.0,0.02857142857142858,350.0,3.2188758248682006,0.0,0.0,0.07142857142857142,-2.639057329615259,25,0.0,5.857933154483459,0.0,-0.6457037581060527,0.4714285714285714,-1.282358083452167,0.1202634121682005,25.0,0.08690363395314389,0.0,0.009533824967156247,0,0.5,0.14528630155181227,0.0,0,0.0,0.0,0.9976432959863937,14.0,0,0.5285714285714286,0,-1.1892002968009698,-0.19725796077331892,2.0,0 179,fri_c1_500_50_1,0.0,0.008571428571428563,350.0,3.912023005428146,0.0,0.0,0.14285714285714285,-1.9459101490553135,50,0.0,5.857933154483459,0.0,-0.9322964868401891,0.49142857142857144,-1.3628088409358623,0.06867243004909629,50.0,0.09396981638534413,0.0,-0.0080265910557736,0,0.5,0.21269600801331542,0.0,0,0.0,0.0,0.9997880017729585,7.0,0,0.5085714285714286,0,-1.1694591697652532,-0.17133006984808738,2.0,0 180,fri_c1_500_5_1,0.0,0.014285714285714263,350.0,1.6094379124341003,0.0,0.0,0.014285714285714285,-4.248495242049359,5,0.0,5.857933154483459,0.0,-0.8635950875288181,0.4857142857142857,-1.2216674979113125,0.12881804156159632,5.0,0.08234328042581468,0.0,-0.0028003558003061257,0,0.5,0.16071790126058447,0.0,0,0.0,0.0,0.9994110647387552,70.0,0,0.5142857142857142,0,-1.0970656461214796,-0.05701640773429875,2.0,0 181,fri_c2_1000_10_1,0.0,0.061428571428571416,700.0,2.302585092994046,0.0,0.0,0.014285714285714285,-4.248495242049359,10,0.0,6.551080335043404,0.0,0.0857379567442611,0.43857142857142856,-1.245027866261953,0.3860236877778354,10.0,0.2194365670492653,0.0,0.0689430984975363,0,0.5,0.6871482589445057,0.0,0,0.0,0.0,0.9890845119519327,70.0,0,0.5614285714285714,0,-1.0171369308433775,-0.10965804499036746,2.0,0 182,fri_c2_1000_25_1,0.0,0.05428571428571427,700.0,3.2188758248682006,0.0,0.0,0.03571428571428571,-3.332204510175204,25,0.0,6.551080335043404,0.0,-0.2078130384364596,0.44571428571428573,-1.2700728824252852,0.21338264067583643,25.0,0.1428610577055952,0.0,0.02766855546312344,0,0.5,0.6620244286727267,0.0,0,0.0,0.0,0.9914801474700047,28.0,0,0.5542857142857143,0,-1.147268015347972,-0.13606229313194165,2.0,0 183,fri_c2_1000_50_1,0.0,0.09571428571428572,700.0,3.912023005428146,0.0,0.0,0.07142857142857142,-2.639057329615259,50,0.0,6.551080335043404,0.0,0.15270352635324214,0.4042857142857143,-1.276795969769162,0.1996564749001033,50.0,0.11908856094546756,0.0,0.026035990611821207,0,0.5,0.7453215052704487,0.0,0,0.0,0.0,0.9734024363354039,14.0,0,0.5957142857142858,0,-1.156393774505009,-0.1260539990302556,2.0,0 184,fri_c2_1000_5_1,0.0,0.0785714285714286,700.0,1.6094379124341003,0.0,0.0,0.007142857142857143,-4.941642422609305,5,0.0,6.551080335043404,0.0,0.23177099449304217,0.42142857142857143,-1.2061281251751272,0.5404290482724872,5.0,0.27427576842822626,0.0,0.11225557302540559,0,0.5,0.651613576477489,0.0,0,0.0,0.0,0.9821130873306577,140.0,0,0.5785714285714286,0,-0.8149755906880458,-0.08723381377880393,2.0,0 185,fri_c2_100_10_1,0.0,0.042857142857142844,70.0,2.302585092994046,0.0,0.0,0.14285714285714285,-1.9459101490553135,10,0.0,4.248495242049359,0.0,0.7635333014813082,0.45714285714285713,-1.476676722825488,0.6461046526846391,10.0,0.26034927374984146,0.0,0.1482763728688268,0,0.5,0.8468503975982686,0.0,0,0.0,0.0,0.9946937953613058,7.0,0,0.5428571428571428,0,-0.9590579302182732,-0.1378922808798306,2.0,0 186,fri_c2_100_25_1,0.0,0.07142857142857142,70.0,3.2188758248682006,0.0,0.0,0.35714285714285715,-1.0296194171811581,25,0.0,4.248495242049359,0.0,-0.3511084305174932,0.42857142857142855,-1.422442032938732,0.23065868490982744,25.0,0.1898738487454913,0.0,0.025127518257849698,0,0.5,0.645157483647583,0.0,0,0.0,0.0,0.9852281360342515,2.8,0,0.5714285714285714,0,-1.1202341377629148,-0.4143966357441696,2.0,0 187,fri_c2_100_50_1,0.0,0.07142857142857142,70.0,3.912023005428146,0.0,0.0,0.7142857142857143,-0.3364722366212129,50,0.0,4.248495242049359,0.0,-0.04332182826562336,0.42857142857142855,-1.464071287885187,0.21989203831708798,50.0,0.22094694866282166,0.0,-0.024128119620003097,0,0.5,0.7066417400470643,0.0,0,0.0,0.0,0.9852281360342515,1.4,0,0.5714285714285714,0,-1.1359055968538647,-0.3956569144225764,2.0,0 188,fri_c2_100_5_1,0.0,0.08571428571428572,70.0,1.6094379124341003,0.0,0.0,0.07142857142857142,-2.639057329615259,5,0.0,4.248495242049359,0.0,0.2797514405185533,0.4142857142857143,-1.189139509922792,0.5680602990472076,5.0,0.3476303107403512,0.0,0.16363960837005997,0,0.5,0.8426967626578326,0.0,0,0.0,0.0,0.9786961448300948,14.0,0,0.5857142857142857,0,-0.8547910530388872,-0.07364117052877533,2.0,0 189,fri_c2_250_10_1,0.0,0.15142857142857144,175.0,2.302585092994046,0.0,0.0,0.05714285714285714,-2.8622008809294686,10,0.0,5.1647859739235145,0.0,0.24175162085622492,0.3485714285714286,-1.3018370942677209,0.46247039864209977,10.0,0.2602322854631667,0.0,0.0771792727933732,0,0.5,0.7940301800341024,0.0,0,0.0,0.0,0.9327857449402339,17.5,0,0.6514285714285715,0,-1.0294154322956817,-0.1551163436679297,2.0,0 190,fri_c2_250_25_1,0.0,0.06571428571428573,175.0,3.2188758248682006,0.0,0.0,0.14285714285714285,-1.9459101490553135,25,0.0,5.1647859739235145,0.0,0.13279562284406365,0.4342857142857143,-1.3353682526059818,0.2857309987272862,25.0,0.19025796281404883,0.0,0.037353113931653886,0,0.5,0.810343590750597,0.0,0,0.0,0.0,0.9875037037775067,7.0,0,0.5657142857142857,0,-1.128424700137928,-0.25331220008134553,2.0,0 191,fri_c2_250_50_1,0.0,0.037142857142857144,175.0,3.912023005428146,0.0,0.0,0.2857142857142857,-1.252762968495368,50,0.0,5.1647859739235145,0.0,-0.19790495180435075,0.46285714285714286,-1.3824351191671587,0.1769223863414625,50.0,0.1556803906124412,0.0,0.0062789623644123336,0,0.5,0.745958155818666,0.0,0,0.0,0.0,0.9960156701674574,3.5,0,0.5371428571428571,0,-1.1558849701745155,-0.24526827941391302,2.0,0 192,fri_c2_250_5_1,0.0,0.0942857142857143,175.0,1.6094379124341003,0.0,0.0,0.02857142857142857,-3.5553480614894135,5,0.0,5.1647859739235145,0.0,-0.46585518078131694,0.4057142857142857,-1.2999555009783696,0.3058230082118275,5.0,0.26199387591470097,0.0,0.09981476173298261,0,0.5,0.6189689893964124,0.0,0,0.0,0.0,0.9741952479951516,35.0,0,0.5942857142857143,0,-1.0165564146379187,-0.09073052043666857,2.0,0 193,fri_c2_500_10_1,0.0,0.08571428571428572,350.0,2.302585092994046,0.0,0.0,0.02857142857142857,-3.5553480614894135,10,0.0,5.857933154483459,0.0,0.556373547585685,0.4142857142857143,-1.34640842392195,0.5438593018326223,10.0,0.24805013568663703,0.0,0.12338654855560935,0,0.5,0.8357512205508335,0.0,0,0.0,0.0,0.9786961448300948,35.0,0,0.5857142857142857,0,-1.0093439158606388,-0.11536509213138232,2.0,0 194,fri_c2_500_25_1,0.0,0.08857142857142855,350.0,3.2188758248682006,0.0,0.0,0.07142857142857142,-2.639057329615259,25,0.0,5.857933154483459,0.0,0.5043845790229051,0.4114285714285714,-1.3043511784176098,0.3386115856700393,25.0,0.19792982781129423,0.0,0.03392075770323264,0,0.5,0.935732574763442,0.0,0,0.0,0.0,0.9772445152396546,14.0,0,0.5885714285714285,0,-1.1019610003934828,-0.13309835777687828,2.0,0 195,fri_c2_500_50_1,0.0,0.11142857142857143,350.0,3.912023005428146,0.0,0.0,0.14285714285714285,-1.9459101490553135,50,0.0,5.857933154483459,0.0,0.3515328537952169,0.38857142857142857,-1.298419262735276,0.2339959903429719,50.0,0.13657343706251515,0.0,0.026188112906948544,0,0.5,0.827665364036049,0.0,0,0.0,0.0,0.963871450404067,7.0,0,0.6114285714285714,0,-1.1600616227742433,-0.16641531777023513,2.0,0 196,fri_c2_500_5_1,0.0,0.11142857142857143,350.0,1.6094379124341003,0.0,0.0,0.014285714285714285,-4.248495242049359,5,0.0,5.857933154483459,0.0,-0.23553685589791407,0.38857142857142857,-1.27034160180961,0.3815510688283906,5.0,0.24006532290325633,0.0,0.14174350525189278,0,0.5,0.6079712781078438,0.0,0,0.0,0.0,0.963871450404067,70.0,0,0.6114285714285714,0,-0.9559729881584538,-0.08461707857241262,2.0,0 197,fri_c3_1000_10_1,0.0,0.060000000000000026,700.0,2.302585092994046,0.0,0.0,0.014285714285714285,-4.248495242049359,10,0.0,6.551080335043404,0.0,1.8793748348979182,0.44,-1.2884077640694958,0.9590635119238482,10.0,0.4600384364172015,0.0,0.23661368333321237,0,0.5,1.4279892935203211,0.0,0,0.0,0.0,0.9895875212220555,70.0,0,0.56,0,-0.716055671086979,-0.06076263882065163,2.0,0 198,fri_c3_1000_25_1,0.0,0.06428571428571428,700.0,3.2188758248682006,0.0,0.0,0.03571428571428571,-3.332204510175204,25,0.0,6.551080335043404,0.0,2.044539112099799,0.4357142857142857,-1.276792667821582,0.6762848410579153,25.0,0.30854097281681986,0.0,0.06466335043909271,0,0.5,1.3920620139341353,0.0,0,0.0,0.0,0.988042611964058,28.0,0,0.5642857142857143,0,-0.9890234752885825,-0.14130936624244403,2.0,0 199,fri_c3_1000_50_1,0.0,0.06285714285714283,700.0,3.912023005428146,0.0,0.0,0.07142857142857142,-2.639057329615259,50,0.0,6.551080335043404,0.0,1.9829856770521213,0.43714285714285717,-1.336096053334925,0.47819975903083745,50.0,0.22001274558962078,0.0,0.0457882053033141,0,0.5,1.3866942983079373,0.0,0,0.0,0.0,0.9885695450755236,14.0,0,0.5628571428571428,0,-1.098052160122284,-0.11794380130848754,2.0,0 200,fri_c3_1000_5_1,0.0,0.061428571428571416,700.0,1.6094379124341003,0.0,0.0,0.007142857142857143,-4.941642422609305,5,0.0,6.551080335043404,0.0,1.4105571872735059,0.43857142857142856,-1.184938512032419,0.9867348445601488,5.0,0.5432411912324355,0.0,0.41308139789458026,0,0.5,1.320573452845307,0.0,0,0.0,0.0,0.9890845119519327,140.0,0,0.5614285714285714,0,-0.3057300747027097,-0.0782534694939474,2.0,0 201,fri_c3_100_10_1,0.0,0.08571428571428572,70.0,2.302585092994046,0.0,0.0,0.14285714285714285,-1.9459101490553135,10,0.0,4.248495242049359,0.0,0.16121408902301448,0.4142857142857143,-1.5729287208072362,0.49091722395552223,10.0,0.3855753385955595,0.0,0.14404989745896893,0,0.5,1.0782938963076916,0.0,0,0.0,0.0,0.9786961448300948,7.0,0,0.5857142857142857,0,-0.8882729549147257,-0.132217949814039,2.0,0 202,fri_c3_100_25_1,0.0,0.042857142857142844,70.0,3.2188758248682006,0.0,0.0,0.35714285714285715,-1.0296194171811581,25,0.0,4.248495242049359,0.0,0.5625490240114805,0.45714285714285713,-1.3816848389505976,0.4029348761958265,25.0,0.3067949667209573,0.0,0.08570817843426407,0,0.5,1.189480233788142,0.0,0,0.0,0.0,0.9946937953613058,2.8,0,0.5428571428571428,0,-1.0122759107848613,-0.20793020181918645,2.0,0 203,fri_c3_100_50_1,0.0,0.18571428571428572,70.0,3.912023005428146,0.0,0.0,0.7142857142857143,-0.3364722366212129,50,0.0,4.248495242049359,0.0,0.3291693599863206,0.3142857142857143,-1.4400683143822735,0.2963275178661686,50.0,0.23539357430671629,0.0,0.001576199075993128,0,0.5,1.0746149954343676,0.0,0,0.0,0.0,0.8980587934501658,1.4,0,0.6857142857142857,0,-1.0918055975144536,-0.33226830487944786,2.0,0 204,fri_c3_100_5_1,0.0,0.09999999999999998,70.0,1.6094379124341003,0.0,0.0,0.07142857142857142,-2.639057329615259,5,0.0,4.248495242049359,0.0,0.3543739087263158,0.4,-1.2159790407683733,0.6168930315168933,5.0,0.5551495054836384,0.0,0.3625741214820438,0,0.5,1.169616604921489,0.0,0,0.0,0.0,0.9709505944546688,14.0,0,0.6,0,-0.4744903701393553,-0.13841658682172392,2.0,0 205,fri_c3_250_10_1,0.0,0.060000000000000026,175.0,2.302585092994046,0.0,0.0,0.05714285714285714,-2.8622008809294686,10,0.0,5.1647859739235145,0.0,3.0046337187964403,0.44,-1.2358689485550618,1.291597202753349,10.0,0.5378121972158099,0.0,0.1980862598106597,0,0.5,1.5841700901516933,0.0,0,0.0,0.0,0.9895875212220555,17.5,0,0.56,0,-0.5395582527261424,-0.33871113596585456,2.0,0 206,fri_c3_250_25_1,0.0,0.042857142857142844,175.0,3.2188758248682006,0.0,0.0,0.14285714285714285,-1.9459101490553135,25,0.0,5.1647859739235145,0.0,0.658905209384586,0.45714285714285713,-1.3083398339577637,0.41017500397356216,25.0,0.26558531504530464,0.0,0.10754878120490784,0,0.5,1.117734381912197,0.0,0,0.0,0.0,0.9946937953613058,7.0,0,0.5428571428571428,0,-1.055301885376756,-0.16978551897838487,2.0,0 207,fri_c3_250_50_1,0.0,0.05428571428571427,175.0,3.912023005428146,0.0,0.0,0.2857142857142857,-1.252762968495368,50,0.0,5.1647859739235145,0.0,1.5290937109837852,0.44571428571428573,-1.3642690270252116,0.42269521749240424,50.0,0.2164076691930404,0.0,0.0601397007384809,0,0.5,1.2720296483061442,0.0,0,0.0,0.0,0.9914801474700047,3.5,0,0.5542857142857143,0,-1.1164891621324289,-0.14659510846675528,2.0,0 208,fri_c3_250_5_1,0.0,0.060000000000000026,175.0,1.6094379124341003,0.0,0.0,0.02857142857142857,-3.5553480614894135,5,0.0,5.1647859739235145,0.0,1.6300088786506493,0.44,-1.2022575397797544,1.0542144699601823,5.0,0.4930624787149248,0.0,0.43740801443948013,0,0.5,1.2845696089482246,0.0,0,0.0,0.0,0.9895875212220555,35.0,0,0.56,0,-0.2283066574327063,0.06158596206373391,2.0,0 209,fri_c3_500_10_1,0.0,0.07142857142857142,350.0,2.302585092994046,0.0,0.0,0.02857142857142857,-3.5553480614894135,10,0.0,5.857933154483459,0.0,2.164717946406535,0.42857142857142855,-1.3012438578320253,1.0492373772898416,10.0,0.5069966602611365,0.0,0.20809793918747013,0,0.5,1.4754474896162908,0.0,0,0.0,0.0,0.9852281360342515,35.0,0,0.5714285714285714,0,-0.6531527095814322,-0.22487027191890172,2.0,0 210,fri_c3_500_25_1,0.0,0.06571428571428573,350.0,3.2188758248682006,0.0,0.0,0.07142857142857142,-2.639057329615259,25,0.0,5.857933154483459,0.0,2.3747342152566207,0.4342857142857143,-1.3393314022098908,0.7545706774568248,25.0,0.34443393682945944,0.0,0.10538969726067521,0,0.5,1.5592166069201514,0.0,0,0.0,0.0,0.9875037037775067,14.0,0,0.5657142857142857,0,-0.9670056103554276,-0.12828855861490962,2.0,0 211,fri_c3_500_50_1,0.0,0.07428571428571429,350.0,3.912023005428146,0.0,0.0,0.14285714285714285,-1.9459101490553135,50,0.0,5.857933154483459,0.0,3.3690433841995295,0.4257142857142857,-1.2970826157986617,0.7023211134668215,50.0,0.28049924268798915,0.0,0.08322764936424233,0,0.5,1.7278880595704842,0.0,0,0.0,0.0,0.9840182561871095,7.0,0,0.5742857142857143,0,-1.0601086370720347,-0.09624523710086444,2.0,0 212,fri_c3_500_5_1,0.0,0.04000000000000001,350.0,1.6094379124341003,0.0,0.0,0.014285714285714285,-4.248495242049359,5,0.0,5.857933154483459,0.0,2.195744095218319,0.46,-1.2228676828597989,1.2759914893998594,5.0,0.5817525684028321,0.0,0.45068537392628905,0,0.5,1.455044634384317,0.0,0,0.0,0.0,0.9953784388202258,70.0,0,0.54,0,-0.12678819319667517,-0.02738748934891922,2.0,0 213,fri_c4_1000_100_1,0.0,0.07571428571428573,700.0,4.605170185988092,0.0,0.0,0.14285714285714285,-1.9459101490553135,100,0.0,6.551080335043404,0.0,2.1208322050838664,0.42428571428571427,-1.3047606842150792,0.37602348556945026,100.0,0.18804614489360783,0.0,0.029981433117256744,0,0.5,1.507074438069638,0.0,0,0.0,0.0,0.9833952570114742,7.0,0,0.5757142857142857,0,-1.134684081493618,-0.10376307287422784,2.0,0 214,fri_c4_1000_10_1,0.0,0.04571428571428571,700.0,2.302585092994046,0.0,0.0,0.014285714285714285,-4.248495242049359,10,0.0,6.551080335043404,0.0,1.9671637304359342,0.4542857142857143,-1.265546478087548,1.0117218437419995,10.0,0.4936754058340537,0.0,0.3068549322201094,0,0.5,1.456624588335038,0.0,0,0.0,0.0,0.9939616945607845,70.0,0,0.5457142857142857,0,-0.5813711724827643,-0.05576533666524967,2.0,0 215,fri_c4_1000_25_1,0.0,0.04714285714285715,700.0,3.2188758248682006,0.0,0.0,0.03571428571428571,-3.332204510175204,25,0.0,6.551080335043404,0.0,1.5207522070712889,0.45285714285714285,-1.280753620982528,0.6115168227798702,25.0,0.327973290428261,0.0,0.10688223270544162,0,0.5,1.3747031775587688,0.0,0,0.0,0.0,0.9935778326445422,28.0,0,0.5471428571428572,0,-0.959515508846811,-0.11590487514839577,2.0,0 216,fri_c4_1000_50_1,0.0,0.04571428571428571,700.0,3.912023005428146,0.0,0.0,0.07142857142857142,-2.639057329615259,50,0.0,6.551080335043404,0.0,1.4812501935239766,0.4542857142857143,-1.2904295063809732,0.44777225231665996,50.0,0.22589589062953655,0.0,0.044139089882927834,0,0.5,1.2539758432961052,0.0,0,0.0,0.0,0.9939616945607845,14.0,0,0.5457142857142857,0,-1.069243358405244,-0.08383231498250725,2.0,0 217,fri_c4_100_100_1,0.0,0.02857142857142858,70.0,4.605170185988092,0.0,0.0,1.4285714285714286,0.3566749439387324,100,0.0,4.248495242049359,0.0,3.4876347533040164,0.4714285714285714,-1.5049317957758588,0.5489054826705316,100.0,0.26342113545993695,0.0,0.03852433979787548,0,0.5,1.7306226866723904,0.0,0,0.0,0.0,0.9976432959863937,0.7,0,0.5285714285714286,0,-1.0470863029601336,-0.44444685226234626,2.0,0 218,fri_c4_100_10_1,0.0,0.014285714285714263,70.0,2.302585092994046,0.0,0.0,0.14285714285714285,-1.9459101490553135,10,0.0,4.248495242049359,0.0,1.2220075735337712,0.4857142857142857,-1.2747530559966187,0.7411652246154244,10.0,0.4900183512445461,0.0,0.21532114704553815,0,0.5,1.3185466583455359,0.0,0,0.0,0.0,0.9994110647387552,7.0,0,0.5142857142857142,0,-0.6856723983373213,-0.25973657437867315,2.0,0 219,fri_c4_100_25_1,0.0,0.08571428571428572,70.0,3.2188758248682006,0.0,0.0,0.35714285714285715,-1.0296194171811581,25,0.0,4.248495242049359,0.0,2.251787407846199,0.4142857142857143,-1.360324059350503,0.7453432325565109,25.0,0.3737592984231007,0.0,0.15304024955257514,0,0.5,1.3397884695670823,0.0,0,0.0,0.0,0.9786961448300948,2.8,0,0.5857142857142857,0,-0.8836497866287328,-0.28472296480723147,2.0,0 220,fri_c4_100_50_1,0.0,0.042857142857142844,70.0,3.912023005428146,0.0,0.0,0.7142857142857143,-0.3364722366212129,50,0.0,4.248495242049359,0.0,1.9724262378189614,0.45714285714285713,-1.3804706464259586,0.5306560026950611,50.0,0.29358772800624006,0.0,0.11460442685005744,0,0.5,1.5236804263624073,0.0,0,0.0,0.0,0.9946937953613058,1.4,0,0.5428571428571428,0,-0.9838683305294034,-0.3128771385996296,2.0,0 221,fri_c4_250_100_1,0.0,0.08857142857142855,175.0,4.605170185988092,0.0,0.0,0.5714285714285714,-0.5596157879354228,100,0.0,5.1647859739235145,0.0,2.539011492135983,0.4114285714285714,-1.362625952346225,0.43130008678915477,100.0,0.2277398829286276,0.0,0.03639034477157417,0,0.5,1.6588077841284254,0.0,0,0.0,0.0,0.9772445152396546,1.75,0,0.5885714285714285,0,-1.1219167740274962,-0.21577858994090324,2.0,0 222,fri_c4_250_10_1,0.0,0.05428571428571427,175.0,2.302585092994046,0.0,0.0,0.05714285714285714,-2.8622008809294686,10,0.0,5.1647859739235145,0.0,2.646957727629249,0.44571428571428573,-1.2274679067496785,1.1929397399306536,10.0,0.5290842334013995,0.0,0.3551661505678921,0,0.5,1.5584533244175691,0.0,0,0.0,0.0,0.9914801474700047,17.5,0,0.5542857142857143,0,-0.3930752946542497,-0.18899603540416646,2.0,0 223,fri_c4_250_25_1,0.0,0.037142857142857144,175.0,3.2188758248682006,0.0,0.0,0.14285714285714285,-1.9459101490553135,25,0.0,5.1647859739235145,0.0,1.8888548308472854,0.46285714285714286,-1.3557762101936428,0.6531090124545685,25.0,0.29449918882697546,0.0,0.12357536621730925,0,0.5,1.3104308980405968,0.0,0,0.0,0.0,0.9960156701674574,7.0,0,0.5371428571428571,0,-0.9836844150951835,-0.2577898134942847,2.0,0 224,fri_c4_250_50_1,0.0,0.08285714285714285,175.0,3.912023005428146,0.0,0.0,0.2857142857142857,-1.252762968495368,50,0.0,5.1647859739235145,0.0,2.351544811750922,0.41714285714285715,-1.3617999103004053,0.5473084839997631,50.0,0.2806750080069874,0.0,0.06322216736125831,0,0.5,1.5419663632573954,0.0,0,0.0,0.0,0.9800992393789929,3.5,0,0.5828571428571429,0,-1.0499332882340484,-0.20312574093181532,2.0,0 225,fri_c4_500_100_1,0.0,0.09142857142857141,350.0,4.605170185988092,0.0,0.0,0.2857142857142857,-1.252762968495368,100,0.0,5.857933154483459,0.0,1.434700590195412,0.4085714285714286,-1.3401041090372958,0.3544356586740062,100.0,0.17346591983507378,0.0,0.03145420739146226,0,0.5,1.0993363207699074,0.0,0,0.0,0.0,0.9757442507989859,3.5,0,0.5914285714285714,0,-1.1287319864011807,-0.17437743853695828,2.0,0 226,fri_c4_500_10_1,0.0,0.05428571428571427,350.0,2.302585092994046,0.0,0.0,0.02857142857142857,-3.5553480614894135,10,0.0,5.857933154483459,0.0,3.288625260524202,0.44571428571428573,-1.2581698690591852,1.3685342487168504,10.0,0.549001071141471,0.0,0.2984289721195208,0,0.5,1.63774504070873,0.0,0,0.0,0.0,0.9914801474700047,35.0,0,0.5542857142857143,0,-0.37995166915697187,-0.17562648673356765,2.0,0 227,fri_c4_500_25_1,0.0,0.07428571428571429,350.0,3.2188758248682006,0.0,0.0,0.07142857142857142,-2.639057329615259,25,0.0,5.857933154483459,0.0,1.5096392471048823,0.4257142857142857,-1.334526112182667,0.6117652516289366,25.0,0.3116905094702124,0.0,0.12558490414573362,0,0.5,1.3462695000090938,0.0,0,0.0,0.0,0.9840182561871095,14.0,0,0.5742857142857143,0,-0.9680774744693368,-0.16698930829897282,2.0,0 228,fri_c4_500_50_1,0.0,0.0057142857142856995,350.0,3.912023005428146,0.0,0.0,0.14285714285714285,-1.9459101490553135,50,0.0,5.857933154483459,0.0,1.0351211702111627,0.4942857142857143,-1.3136612466484114,0.3929714413307277,50.0,0.2282441798605328,0.0,0.054725492428614915,0,0.5,1.2346120712222326,0.0,0,0.0,0.0,0.9999057811299177,7.0,0,0.5057142857142857,0,-1.0897291677387826,-0.1701850083426734,2.0,0 229,fried_1,0.0,0.0018046746329326568,28537.0,2.302585092994046,0.0,0.0,0.00035042225882188035,-7.956371676884557,10,0.0,10.258956769878603,0.0,-1.183003588368125,0.49819532536706734,-1.2089875330188713,0.007827127780700943,10.0,0.007157164615111861,0.0,-0.00019016232759022853,0,0.5,0.014424004741805573,0.0,0,0.0,0.0,0.999990602695377,2853.7,0,0.5018046746329327,0,-1.1968752973161811,-0.011285345907719109,2.0,0 230,fruitfly_1,0.0,0.10919540229885058,87.0,1.3862943611198906,0.0,0.0,0.04597701149425287,-3.079613757534693,4,0.0,4.465908118654584,0.0,-0.44660338688476164,0.39080459770114945,-1.6995512286547263,0.5801589455274289,4.0,0.28958559416329815,0.0,-0.09750156529652196,0,0.5,0.13449542975473078,0.0,0,0.0,0.0,0.9653168212008997,21.75,0,0.6091954022988506,0,-1.1238534115224297,-0.5745993993267527,2.0,0 231,glass_1,0.0,0.1174496644295302,149.0,2.1972245773362196,0.0,0.0,0.06040268456375839,-2.8067217286092396,9,0.0,5.003946305945459,0.0,13.372712146027702,0.3825503355704698,0.3406547838623397,3.4472224949888317,9.0,1.4127548840781412,0.0,0.9634771210798547,0,0.5,3.5934856688296533,0.0,0,0.0,0.0,0.9598233475451451,16.555555555555557,0,0.6174496644295302,0,4.306319307588958,-1.3907043334096034,2.0,0 232,grub-damage_1,0.0,0.07829414132077668,108.0,2.0794415416798357,0.0,0.0,0.07407407407407407,-2.6026896854443837,8,0.0,4.68213122712422,0.0,2.421195134356976,0.12962962962962962,-1.4922801395041942,1.1694329211539545,8.0,0.6417307872887541,0.0,0.4212437098012402,0,0.25,2.003729530791662,0.0,0,0.0,0.0,1.92299618984181,13.5,0,0.3425925925925926,0,-0.5524408140200562,-0.18619618087390905,4.0,0 233,grub-damage_2,0.0,0.20370370370370372,108.0,2.0794415416798357,0.0,0.0,0.07407407407407407,-2.6026896854443837,8,0.0,4.68213122712422,0.0,1.4201183431952682,0.2962962962962963,-1.3859414975606867,0.8528654288597901,8.0,0.5560753635203998,0.0,0.4148882194116387,0,0.5,1.7737272421486578,0.0,0,0.0,0.0,0.876716288999464,13.5,0,0.7037037037037037,0,-0.7434946817081652,-0.12217223212883807,2.0,0 234,haberman_1,0.0,0.22897196261682243,214.0,1.0986122886681098,0.0,0.0,0.014018691588785047,-4.267363726353742,3,0.0,5.365976015021851,0.0,10.392978670165151,0.27102803738317754,-1.1773182896761143,5.303919179037583,3.0,1.271343154928492,0.0,1.0229653484283636,0,0.5,2.8188712905768347,0.0,0,0.0,0.0,0.8429359403268015,71.33333333333333,0,0.7289719626168224,0,2.902017084819811,0.0507728219125908,2.0,0 235,hayes-roth_1,0.0,0.07608695652173914,92.0,1.3862943611198906,0.0,0.0,0.043478260869565216,-3.1354942159291497,4,0.0,4.5217885770490405,0.0,-0.37086777694025397,0.42391304347826086,-1.5625,0.4852294718114344,4.0,0.3163975397395733,0.0,0.5449846150219166,0,0.5,0.7667267854987394,0.0,0,0.0,0.0,0.9832307535844343,23.0,0,0.5760869565217391,0,-0.7269570310051136,1.9308226515220116e-17,2.0,0 236,hayes-roth_2,0.0,0.09230989535280253,112.0,1.3862943611198906,0.0,0.0,0.03571428571428571,-3.332204510175204,4,0.0,4.718498871295094,0.0,-0.5863363549127714,0.20535714285714285,-1.3109357240054438,0.29653798403174375,4.0,0.07223906951509854,0.0,0.5661450110237138,0,0.3333333333333333,0.6221804858699449,0.0,0,0.0,0.0,1.5253465937105668,28.0,0,0.41964285714285715,0,-0.8078757864432101,0.4423839805715998,3.0,0 237,heart-statlog_1,0.0,0.03968253968253968,189.0,2.5649493574615367,0.0,0.0,0.06878306878306878,-2.676797657598106,13,0.0,5.241747015059643,0.0,1.824291283436497,0.4603174603174603,-1.9946808510638294,1.2513734671335168,13.0,0.7857911473970168,0.0,0.3303206776652771,0,0.5,1.9231462189106538,0.0,0,0.0,0.0,0.9954515828457716,14.538461538461538,0,0.5396825396825397,0,-0.25815645144310906,-1.0265467457172102,2.0,0 238,hill-valley_1,0.0,0.01297169811320753,848.0,4.605170185988092,0.0,0.0,0.1179245283018868,-2.1377104498038118,100,0.0,6.742880635791903,0.0,12.816268977081473,0.48702830188679247,8.765013699524275,0.7693817318156572,100.0,0.07651011892486044,0.0,3.0381103896623314,0,0.5,3.279642521638757,0.0,0,0.0,0.0,0.9995144354990123,8.48,0,0.5129716981132075,0,10.012488404644255,2.9069255413706627,2.0,0 239,hill-valley_2,0.0,0.0011792452830188538,848.0,4.605170185988092,0.0,0.0,0.1179245283018868,-2.1377104498038118,100,0.0,6.742880635791903,0.0,15.074727625421929,0.4988207547169811,11.746173223408032,0.7008211659686141,100.0,0.058952235219638556,0.0,3.374895555042339,0,0.5,3.61175339980795,0.0,0,0.0,0.0,0.9999959875167476,8.48,0,0.5011792452830188,0,12.255454472395177,3.3265340384275555,2.0,0 240,house_16H_1,0.0,0.20159267619764232,15948.0,2.772588722239781,0.0,0.0,0.001003260596940055,-6.904499986261465,16,0.0,9.677088708501246,0.0,7980.1008917628715,0.2984073238023577,-1.099945106541179,1926.9329337174597,16.0,19.1254472526817,0.0,6.554347955167395,0,0.5,79.73700289148948,0.0,0,0.0,0.0,0.8793353018239567,996.75,0,0.7015926761976423,0,517.4815633480841,-6.034619641130786,2.0,0 241,house_8L_1,0.0,0.20184349134687737,15948.0,2.0794415416798357,0.0,0.0,0.0005016302984700275,-7.597647166821409,8,0.0,9.677088708501246,0.0,6298.809813137866,0.29815650865312265,-1.094039826594536,2072.1381231615924,8.0,22.686156965954684,0.0,11.03680146352561,0,0.5,69.90973452586923,0.0,0,0.0,0.0,0.8790257419889593,1993.5,0,0.7018434913468774,0,820.0764733105002,-0.28611071458264753,2.0,0 242,houses_1,0.0,0.06879844961240311,14448.0,2.0794415416798357,0.0,0.0,0.0005537098560354374,-7.498869733976931,8,0.0,9.578311275656766,0.0,95.1525262240088,0.4312015503875969,-1.126889608029471,29.96884636995197,8.0,1.7740787322775775,0.0,2.4001223487546666,0,0.5,5.456835554940995,0.0,0,0.0,0.0,0.9862993698994906,1806.0,0,0.5687984496124031,0,20.962020722923544,0.07123864219969799,2.0,0 243,housing_1,0.0,0.10451977401129942,354.0,2.5649493574615367,0.0,0.0,0.03672316384180791,-3.3043475556722375,13,0.0,5.869296913133774,0.0,32.79863821528298,0.3954802259887006,-1.2140678543238212,8.958640048473846,13.0,1.860154923989582,0.0,0.8416001913242319,0,0.5,4.932732916538556,0.0,0,0.0,0.0,0.9682452182690406,27.23076923076923,0,0.6045197740112994,0,3.9708653187553518,-3.0369158375654814,2.0,0 244,humandevel_1,0.0,0.005494505494505475,91.0,0.0,0.0,0.0,0.01098901098901099,-4.51085950651685,1,0.0,4.51085950651685,0.0,-1.2656643953008255,0.4945054945054945,-1.2656643953008255,0.0,1.0,0.0,0.0,-0.27099747727652795,0,0.5,-0.27099747727652795,0.0,0,0.0,0.0,0.9999128895013563,91.0,0,0.5054945054945055,0,-1.2656643953008255,-0.27099747727652795,2.0,0 245,hutsof99_child_witness_1,0.0,0.051724137931034475,29.0,2.70805020110221,0.0,0.0,0.5172413793103449,-0.6592456288842639,15,0.0,3.367295829986474,0.0,-0.1300453267232098,0.4482758620689655,-1.6461711381745785,0.4535096498870458,15.0,0.31847993675466774,0.0,-0.013652199855181757,0,0.5,0.8111157001566672,0.0,0,0.0,0.0,0.9922666387194963,1.9333333333333333,0,0.5517241379310345,0,-0.7194759601932418,-0.4381242378979974,2.0,0 246,hutsof99_logis_1,0.0,0.03061224489795919,49.0,1.9459101490553132,0.0,0.0,0.14285714285714285,-1.9459101490553135,7,0.0,3.8918202981106265,0.0,-0.414307089095185,0.46938775510204084,-1.9849498327759199,0.6238505535644537,7.0,0.16515911239788303,0.0,0.1856588182796763,0,0.5,0.4584431733281787,0.0,0,0.0,0.0,0.9972943816462349,7.0,0,0.5306122448979592,0,-1.3299343523605474,-0.12267912301642946,2.0,0 247,ilpd_1,0.0,0.2107843137254902,408.0,2.302585092994046,0.0,0.0,0.024509803921568627,-3.708682081410116,10,0.0,6.0112671744041615,0.0,123.60015518277253,0.28921568627450983,-0.5638621304308864,36.86743137659149,10.0,3.3965844134459116,0.0,2.7562386940060675,0,0.5,9.877052191925086,0.0,0,0.0,0.0,0.8677059401846615,40.8,0,0.7107843137254902,0,23.95711811923764,-1.2321049765014482,2.0,0 248,ionosphere_1,0.0,0.16938775510204082,245.0,3.5263605246161616,0.0,0.0,0.13877551020408163,-1.9748976859285656,34,0.0,5.501258210544727,0.0,5.755777516647083,0.3306122448979592,-3.0,1.3736836881351033,34.0,0.6755141105153883,0.0,-0.5603539465059272,0,0.5,0.2069414678840334,0.0,0,0.0,0.0,0.9155506778147325,7.205882352941177,0,0.6693877551020408,0,0.32129635057637457,-2.784919660716819,2.0,0 249,iris_1,0.0,0.02693740118805896,105.0,1.3862943611198906,0.0,0.0,0.0380952380952381,-3.2676659890376327,4,0.0,4.653960350157523,0.0,0.6045490982790183,0.29523809523809524,-1.2544966579938965,0.7569832999024804,4.0,0.32600204826354046,0.0,0.021042708887295973,0,0.3333333333333333,0.3986041219305524,0.0,0,0.0,0.0,1.5801537588229284,26.25,0,0.3523809523809524,0,-0.5831524494465501,-0.40641926345239915,3.0,0 250,iris_2,0.0,0.15714285714285714,105.0,1.3862943611198906,0.0,0.0,0.0380952380952381,-3.2676659890376327,4,0.0,4.653960350157523,0.0,-0.0013120091497458297,0.34285714285714286,-1.4302995567038796,0.6125026058883742,4.0,0.2368962043205607,0.0,0.06638710378992912,0,0.5,0.3446772684181666,0.0,0,0.0,0.0,0.9275265884316759,26.25,0,0.6571428571428571,0,-0.8214482641913627,-0.23196047349537002,2.0,0 251,jEdit_4.0_4.2_1,0.0,0.01308900523560208,191.0,2.0794415416798357,0.0,0.0,0.041884816753926704,-3.1728318863667937,8,0.0,5.25227342804663,0.0,84.70633227435209,0.4869109947643979,-1.3653957446006204,32.82397425267994,8.0,3.2718804848062115,0.0,4.2927412770001006,0,0.5,8.580077481257234,0.0,0,0.0,0.0,0.9995056125575429,23.875,0,0.5130890052356021,0,33.48525087642511,-0.2942303782835929,2.0,0 252,jEdit_4.2_4.3_1,0.0,0.08139534883720931,258.0,2.0794415416798357,0.0,0.0,0.031007751937984496,-3.4735180432417816,8,0.0,5.552959584921617,0.0,114.52043130174363,0.4186046511627907,-1.2280261565737676,37.79142654107227,8.0,3.2208663289165247,0.0,4.137354389101524,0,0.5,9.670198406252133,0.0,0,0.0,0.0,0.9807983646944296,32.25,0,0.5813953488372093,0,33.7574661823801,-0.46736390285656154,2.0,0 253,kc1-binary_1,0.0,0.06435643564356433,101.0,4.543294782270004,0.0,0.0,0.9306930693069307,-0.0718257345712555,94,0.0,4.61512051684126,0.0,45.520202020202014,0.43564356435643564,-3.0,8.262219741805428,94.0,1.3782972525558295,0.0,2.1694402315493013,0,0.5,6.893489828831406,0.0,0,0.0,0.0,0.9880162151534646,1.074468085106383,0,0.5643564356435643,0,7.689444437626125,-1.044787628959917,2.0,0 254,kc1-top5_1,0.0,0.4306930693069307,101.0,4.543294782270004,0.0,0.0,0.9306930693069307,-0.0718257345712555,94,0.0,4.61512051684126,0.0,96.00999999999986,0.06930693069306931,-3.0,12.60014408977647,94.0,1.6290934052748787,0.0,2.1739907531697757,0,0.5,9.899999999999995,0.0,0,0.0,0.0,0.36333191332505077,1.074468085106383,0,0.9306930693069307,0,8.254135358027733,-1.0170437699572001,2.0,0 255,kc1_1,0.0,0.34485094850948506,1476.0,3.044522437723423,0.0,0.0,0.014227642276422764,-4.252568567436995,21,0.0,7.297091005160418,0.0,122.02914189123256,0.15514905149051492,1.3212328097528703,37.471862159037876,21.0,2.195570788347597,0.0,4.282916849517294,0,0.5,9.438058750075548,0.0,0,0.0,0.0,0.6225771974480663,70.28571428571429,0,0.8448509485094851,0,35.46558962249508,1.1406316138898709,2.0,0 256,kc2_1,0.0,0.29726027397260274,365.0,3.044522437723423,0.0,0.0,0.057534246575342465,-2.8553749158590684,21,0.0,5.8998973535824915,0.0,281.6550826833781,0.20273972602739726,0.2802985522236874,84.68662539634798,21.0,4.477311400401867,0.0,9.493844100719544,0,0.5,16.268220605355566,0.0,0,0.0,0.0,0.7273738213212073,17.38095238095238,0,0.7972602739726027,0,133.20816660797138,0.8063421456850859,2.0,0 257,kc3_1,0.0,0.415625,320.0,3.6635616461296463,0.0,0.0,0.121875,-2.1047593496641257,39,0.0,5.768320995793772,0.0,88.79888924380137,0.084375,-1.6293778004748878,19.048462562206304,39.0,1.9997524805286322,0.0,2.9033667559330403,0,0.5,8.181029107202027,0.0,0,0.0,0.0,0.417410217061949,8.205128205128204,0,0.915625,0,15.706090807552647,-2.16528027461271,2.0,0 258,kdd_JapaneseVowels_1,0.0,0.33505450372920254,6972.0,2.6390573296152584,0.0,0.0,0.002008032128514056,-6.210600077024653,14,0.0,8.849657406639912,0.0,3.7110377131693557,0.16494549627079746,-0.8543502568867423,1.0706176255852442,14.0,0.5011693129621105,0.0,0.10925765122270588,0,0.5,1.6861918499352262,0.0,0,0.0,0.0,0.646010559181732,498.0,0,0.8350545037292025,0,-0.048121121341256644,-0.38098671206049156,2.0,0 259,kdd_synthetic_control_1,0.0,0.3404761904761905,420.0,4.0943445622221,0.0,0.0,0.14285714285714285,-1.9459101490553135,60,0.0,6.040254711277414,0.0,0.7198252320658014,0.1595238095238095,-1.2245041459377597,0.6270606847448403,60.0,0.29038453073706155,0.0,0.05382978966934714,0,0.5,0.9312490273245132,0.0,0,0.0,0.0,0.6331691378437478,7.0,0,0.8404761904761905,0,-0.5451633059132989,-0.6632798186600334,2.0,0 260,kidney_1,0.0,0.009433962264150941,53.0,1.791759469228055,0.0,0.0,0.11320754716981132,-2.178532444324067,6,0.0,3.970291913552122,0.0,4.71658894705588,0.49056603773584906,-1.2692550618490757,2.09834971381097,6.0,1.105023794845053,0.0,0.2605058470306772,0,0.5,2.1327036399972488,0.0,0,0.0,0.0,0.9997431860710851,8.833333333333334,0,0.5094339622641509,0,0.07659352904688861,-1.1840283260644888,2.0,0 261,kin8nm_1,0.0,0.011161492849668636,5734.0,2.0794415416798357,0.0,0.0,0.0013951866062085804,-6.574727104763479,8,0.0,8.654168646443315,0.0,-1.1738039986524254,0.48883850715033134,-1.2151805695590383,0.01361197116037771,8.0,0.023940212211102277,0.0,-0.0011837234810815895,0,0.5,0.04008333072303149,0.0,0,0.0,0.0,0.999640511352291,716.75,0,0.5111614928496686,0,-1.1896515881606375,-0.045617983100237354,2.0,0 262,kr-vs-kp_1,0.0,0.019892713455520794,2237.0,3.58351893845611,0.0,0.0,0.016092981671881983,-4.12937202303402,36,0.0,7.71289096149013,0.0,367.83602271029383,0.4801072865444792,-3.0,67.8550126026656,36.0,4.196833973842271,0.0,-2.82706976120752,0,0.5,1.1444112928246957,0.0,0,0.0,0.0,0.9988578918817895,62.138888888888886,0,0.5198927134555208,0,23.68045814902719,-19.231121202631265,2.0,0 263,letter_1,0.0,0.4581428571428572,14000.0,2.772588722239781,0.0,0.0,0.001142857142857143,-6.774223886357614,16,0.0,9.546812608597396,0.0,2.1055414336917817,0.04185714285714286,-0.4056502936438071,0.6682982357106094,16.0,0.45304531920145535,0.0,0.2882716308511092,0,0.5,1.1611983357153768,0.0,0,0.0,0.0,0.2507432692137407,875.0,0,0.9581428571428572,0,0.6916613466769167,-0.31079081336615083,2.0,0 264,leukemia_1,0.0,0.18000000000000002,50.0,8.871926251117628,0.0,0.0,142.58,4.959903245689483,7129,0.0,3.912023005428146,0.0,45.00611262743157,0.32,-1.2887903419626663,5.274208628756714,7129.0,1.2657412449317154,0.0,0.7144265899955866,0,0.5,6.8555458732566175,0.0,0,0.0,0.0,0.9043814577244939,0.0070136063964090336,0,0.68,0,2.654115098682666,-6.78766327496484,2.0,0 265,lowbwt_1,0.0,0.030303030303030276,132.0,2.1972245773362196,0.0,0.0,0.06818181818181818,-2.6855773452501515,9,0.0,4.882801922586371,0.0,13.913142857142859,0.4696969696969697,-1.8115384615384618,5.231463828225353,9.0,1.7366592887190733,0.0,0.8549803193930043,0,0.5,3.9891280823185977,0.0,0,0.0,0.0,0.9973487979180449,14.666666666666666,0,0.5303030303030303,0,2.582179857252875,-2.3211917272131477,2.0,0 266,lsvt_1,0.0,0.1931818181818182,88.0,5.736572297479192,0.0,0.0,3.522727272727273,1.2592354830009855,310,0.0,4.477336814478207,0.0,83.01149425287356,0.3068181818181818,-3.0,21.373576879468917,310.0,3.613491696364211,0.0,1.7012342582908464,0,0.5,9.220167754182654,0.0,0,0.0,0.0,0.8894663896628687,0.2838709677419355,0,0.6931818181818182,0,16.97671204446059,-9.220167799605035,2.0,0 267,lupus_1,0.0,0.05000000000000002,60.0,1.0986122886681098,0.0,0.0,0.05,-2.995732273553991,3,0.0,4.0943445622221,0.0,6.16122735162253,0.45,-0.9248620740432187,3.273025737171341,3.0,1.0971810036805565,0.0,1.1086845608142233,0,0.5,2.589192593659822,0.0,0,0.0,0.0,0.9927744539878083,20.0,0,0.55,0,1.5356115668893686,-0.033789800402263086,2.0,0 268,lymph_1,0.0,0.242754851638759,103.0,2.8903717578961645,0.0,0.0,0.17475728155339806,-1.7443572303334711,18,0.0,4.634728988229636,0.0,21.409654302211163,0.019417475728155338,-1.9996229260935139,7.601400259643571,18.0,1.811564472706272,0.0,0.8817098579476514,0,0.25,4.773929622481255,0.0,0,0.0,0.0,1.2298756844834808,5.722222222222222,0,0.6019417475728155,0,2.5802448268678595,-1.2002136561932717,4.0,0 269,lymph_2,0.0,0.024271844660194164,103.0,2.8903717578961645,0.0,0.0,0.17475728155339806,-1.7443572303334711,18,0.0,4.634728988229636,0.0,21.409654302211173,0.47572815533980584,-1.9966037735849058,6.475401880095852,18.0,1.7039241671964191,0.0,0.6949151745706074,0,0.5,4.7357629919150375,0.0,0,0.0,0.0,0.9982994837029029,5.722222222222222,0,0.5242718446601942,0,1.8769381731828594,-1.4699862127712342,2.0,0 270,machine_cpu_1,0.0,0.23972602739726026,146.0,1.791759469228055,0.0,0.0,0.0410958904109589,-3.1918471524802814,6,0.0,4.983606621708336,0.0,23.71995440651332,0.2602739726027397,4.09136952307859,6.282883226587262,6.0,0.67442587780937,0.0,2.876518357291863,0,0.5,3.9789694858740874,0.0,0,0.0,0.0,0.8271595195340525,24.333333333333332,0,0.7397260273972602,0,11.149756713205411,1.779679025469357,2.0,0 271,madelon_1,0.0,0.0027472527472527375,1820.0,6.214608098422191,0.0,0.0,0.27472527472527475,-1.2919836816486492,500,0.0,7.506591780070841,0.0,0.5993041923210174,0.49725274725274726,-0.9893290152342975,0.2032904193719007,500.0,0.06423412020576726,0.0,0.03380702446353594,0,0.5,0.1911719906349549,0.0,0,0.0,0.0,0.9999782227040811,3.64,0,0.5027472527472527,0,0.07754986705677709,-0.13110009679666146,2.0,0 272,mammography_1,0.0,0.4747061829330608,7828.0,1.791759469228055,0.0,0.0,0.0007664793050587634,-7.1737028592879115,6,0.0,8.965462328515967,0.0,177.9991039991835,0.025293817066939193,-1.7987984941971595,70.81701173185043,6.0,3.4006816456927265,0.0,4.680004630640817,0,0.5,9.45674940755583,0.0,0,0.0,0.0,0.17021132778651205,1304.6666666666667,0,0.9747061829330608,0,67.85425194313788,0.20716415254081869,2.0,0 273,mbagrade_1,0.0,0.0,42.0,0.6931471805599453,0.0,0.0,0.047619047619047616,-3.044522437723423,2,0.0,3.7376696182833684,0.0,2.166666666666667,0.5,-0.28455596345849754,1.2256113150625823,2.0,1.0353143146055501,0.0,1.0059271377137653,0,0.5,2.0412414523193156,0.0,0,0.0,0.0,1.0,21.0,0,0.5,0,0.9410553516040847,-0.0293871768917849,2.0,0 274,mc1_1,0.0,0.4926048898279505,6626.0,3.6375861597263857,0.0,0.0,0.005734983398732267,-5.161170423133456,38,0.0,8.798756582859841,0.0,1773.4987006868223,0.007395110172049502,-1.9591760023856248,381.10590391268926,38.0,7.4158141676815,0.0,8.12462316827872,0,0.5,35.40017407553811,0.0,0,0.0,0.0,0.0629808997976809,174.3684210526316,0,0.9926048898279505,0,188.9416307259199,-2.002316034129035,2.0,0 275,mc2_1,0.0,0.1607142857142857,112.0,3.6635616461296463,0.0,0.0,0.3482142857142857,-1.054937225165448,39,0.0,4.718498871295094,0.0,15.692247628073389,0.3392857142857143,-1.3352813552185943,4.618291185608547,39.0,1.2074938534085522,0.0,2.3316841212229797,0,0.5,3.709628904285545,0.0,0,0.0,0.0,0.9241335419915458,2.871794871794872,0,0.6607142857142857,0,7.40392333633277,-1.3498860267254742,2.0,0 276,meta_batchincremental.arff_1,0.0,0.2700531082517514,51.0,4.127134385045092,0.0,0.0,1.2156862745098038,0.1953087523207657,62,0.0,3.9318256327243257,0.0,46.01999999999996,0.0392156862745098,-1.839329194162319,16.22301365609689,62.0,2.6490794474006454,0.0,1.561228490807244,0,0.25,6.92964645562816,0.0,0,0.0,0.0,1.239259292893842,0.8225806451612904,0,0.7058823529411765,0,8.958542885460599,-4.842898916875818,4.0,0 277,meta_ensembles.arff_1,0.0,0.20109991663496093,51.0,4.127134385045092,0.0,0.0,1.2156862745098038,0.1953087523207657,62,0.0,3.9318256327243257,0.0,46.01999999999994,0.058823529411764705,-1.783105548599864,16.3980500524798,62.0,2.665702531583176,0.0,1.5628850645768326,0,0.25,6.929646455628157,0.0,0,0.0,0.0,1.5739889616503062,0.8225806451612904,0,0.5882352941176471,0,9.166131412041327,-5.334054320690652,4.0,0 278,meta_instanceincremental.arff_1,0.0,0.2994211383152049,51.0,4.127134385045092,0.0,0.0,1.2156862745098038,0.1953087523207657,62,0.0,3.9318256327243257,0.0,46.01999999999994,0.0196078431372549,-1.7991610046980733,16.126403811479204,62.0,2.6749726835077072,0.0,1.456024839092626,0,0.25,6.929646455628157,0.0,0,0.0,0.0,1.0988939299246048,0.8225806451612904,0,0.7647058823529411,0,8.739718178794389,-5.265957073459941,4.0,0 279,mfeat-factors_1,0.0,0.4007142857142857,1400.0,5.375278407684165,0.0,0.0,0.15428571428571428,-1.8689491079191851,216,0.0,7.24422751560335,0.0,1.8352340917280703,0.09928571428571428,-1.3858071890981933,0.5495636016561464,216.0,0.43327950948583405,0.0,0.03212938277718132,0,0.5,0.9005250037958276,0.0,0,0.0,0.0,0.46672726348771976,6.481481481481482,0,0.9007142857142857,0,-0.30239524149650454,-1.081986093597136,2.0,0 280,mfeat-fourier_1,0.0,0.405,1400.0,4.330733340286331,0.0,0.0,0.054285714285714284,-2.9134941753170187,76,0.0,7.24422751560335,0.0,1.7879346269788519,0.095,-1.1256845181407138,0.6362480721066451,76.0,0.24608289650048823,0.0,0.5411236988372002,0,0.5,0.9488379825350912,0.0,0,0.0,0.0,0.4529425481872832,18.42105263157895,0,0.905,0,0.11345500088504856,-0.14051031479097562,2.0,0 281,mfeat-karhunen_1,0.0,0.3985714285714286,1400.0,4.1588830833596715,0.0,0.0,0.045714285714285714,-3.0853444322436783,64,0.0,7.24422751560335,0.0,0.6563044162591418,0.10142857142857142,-0.9662353976503857,0.26590833100162764,64.0,0.1679298035886185,0.0,-0.0009366815435642578,0,0.5,0.43500828945328884,0.0,0,0.0,0.0,0.47350776952960694,21.875,0,0.8985714285714286,0,-0.03738781677928537,-0.40809546429117727,2.0,0 282,mfeat-morphological_1,0.0,0.40214285714285714,1400.0,1.791759469228055,0.0,0.0,0.004285714285714286,-5.452468046375295,6,0.0,7.24422751560335,0.0,0.28176602838296727,0.09785714285714285,-1.0352695497547997,0.42760871722677485,6.0,0.31475327584867285,0.0,0.5364636223305125,0,0.5,0.9575238999970113,0.0,0,0.0,0.0,0.462165857468564,233.33333333333334,0,0.9021428571428571,0,-0.5275908723072614,-0.030494116350776673,2.0,0 283,mfeat-pixel_1,0.0,0.4042857142857143,1400.0,5.480638923341991,0.0,0.0,0.17142857142857143,-1.7635885922613588,240,0.0,7.24422751560335,0.0,16.914017849127536,0.09571428571428571,-1.9111093347147927,1.8078955019127847,240.0,0.9545922538297629,0.0,-0.02914988264582923,0,0.5,4.178320856344846,0.0,0,0.0,0.0,0.4552610758768848,5.833333333333333,0,0.9042857142857142,0,-0.8468972722589488,-2.3513667670049103,2.0,0 284,mfeat-zernike_1,0.0,0.4035714285714286,1400.0,3.8501476017100584,0.0,0.0,0.03357142857142857,-3.3940799138932913,47,0.0,7.24422751560335,0.0,5.0476479078972165,0.09642857142857143,-1.0154305712237661,1.5552574385561877,47.0,0.5056816949273172,0.0,0.7960371238192466,0,0.5,1.8793909822063464,0.0,0,0.0,0.0,0.4575710992447018,29.78723404255319,0,0.9035714285714286,0,0.8376873037547425,-0.0548963693244303,2.0,0 285,molecular-biology_promoters_1,0.0,0.05405405405405406,74.0,4.04305126783455,0.0,0.0,0.7702702702702703,-0.2610138253696196,57,0.0,4.30406509320417,0.0,-0.2594547193877541,0.44594594594594594,-1.6919079867397522,0.2223809052909861,57.0,0.2904106107627476,0.0,-0.04031195502979225,0,0.5,0.4877268955945957,0.0,0,0.0,0.0,0.9915528503834039,1.2982456140350878,0,0.5540540540540541,0,-1.334629923729288,-0.6977711451232612,2.0,0 286,molecular-biology_promoters_2,0.0,0.0,74.0,4.04305126783455,0.0,0.0,0.7702702702702703,-0.2610138253696196,57,0.0,4.30406509320417,0.0,-0.3404028171822966,0.5,-1.6768650677502113,0.22383117175180414,57.0,0.27389619854702285,0.0,-0.04636905394656838,0,0.5,0.5462185340565524,0.0,0,0.0,0.0,1.0,1.2982456140350878,0,0.5,0,-1.3262546612313937,-0.7266039457231962,2.0,0 287,monks-problems-1_1,0.0,0.0012853470437017844,389.0,1.791759469228055,0.0,0.0,0.015424164524421594,-4.171819874390391,6,0.0,5.963579343618446,0.0,-1.3286228121519812,0.4987146529562982,-1.9997620809982026,0.2693513485510368,6.0,0.03057780424553295,0.0,0.0042983677888608655,0,0.5,0.041960043789764444,0.0,0,0.0,0.0,0.9999952329926782,64.83333333333333,0,0.5012853470437018,0,-1.626279031692234,-0.03636099586459679,2.0,0 288,monks-problems-2_1,0.0,0.14285714285714288,420.0,1.791759469228055,0.0,0.0,0.014285714285714285,-4.248495242049359,6,0.0,6.040254711277414,0.0,-1.3205929223985111,0.35714285714285715,-1.9991835068381303,0.2654420524208676,6.0,0.06224173119000435,0.0,-0.0008742157306632197,0,0.5,0.0762458220444582,0.0,0,0.0,0.0,0.940285958670631,70.0,0,0.6428571428571429,0,-1.6325991811621543,-0.1142402719340527,2.0,0 289,monks-problems-3_1,0.0,0.042635658914728675,387.0,1.791759469228055,0.0,0.0,0.015503875968992248,-4.1666652238017265,6,0.0,5.958424693029782,0.0,-1.3945356632893637,0.4573643410852713,-1.9967657436116757,0.2509765856450368,6.0,0.020812727871891614,0.0,0.048153887632342345,0,0.5,0.07757767474396739,0.0,0,0.0,0.0,0.9947485647372365,64.5,0,0.5426356589147286,0,-1.6485753144288393,0.009722596825253456,2.0,0 290,mozilla4_1,0.0,0.17190515577612353,10881.0,1.6094379124341003,0.0,0.0,0.00045951658854884663,-7.685335515516912,5,0.0,9.294773427951013,0.0,50.414403982667565,0.32809484422387647,-1.919425302727112,20.548249861543084,5.0,2.17917086239657,0.0,1.4260789037454162,0,0.5,5.661514341969324,0.0,0,0.0,0.0,0.9129680311254507,2176.2,0,0.6719051557761235,0,9.340572630009174,-0.2838568253061536,2.0,0 291,mu284_1,0.0,0.025252525252525276,198.0,2.302585092994046,0.0,0.0,0.050505050505050504,-2.9856819377004897,10,0.0,5.288267030694535,0.0,134.38764887088982,0.47474747474747475,-1.1892800880814636,51.54954966786912,10.0,4.098082585604873,0.0,4.46034710079364,0,0.5,10.823157752472174,0.0,0,0.0,0.0,0.9981592324817737,19.8,0,0.5252525252525253,0,45.65026580823226,0.05815696122392049,2.0,0 292,musk_1,0.0,0.34647033347769596,4618.0,5.117993812416755,0.0,0.0,0.036162841056734514,-3.3197231774976856,167,0.0,8.43771698991444,0.0,52.74307008407921,0.15352966652230401,-1.6197841748039306,7.21093740343703,167.0,1.2666690640526177,0.0,0.47709536512566186,0,0.5,6.382712219161474,0.0,0,0.0,0.0,0.6186032603997856,27.652694610778443,0,0.846470333477696,0,1.7388493848100035,-1.4278419065805932,2.0,0 293,mv_1,0.0,0.09424606651014475,28537.0,2.302585092994046,0.0,0.0,0.00035042225882188035,-7.956371676884557,10,0.0,10.258956769878603,0.0,-0.3236452413107038,0.4057539334898553,-1.208680281553522,0.3189350270220288,10.0,0.5336075061157078,0.0,0.3727409531945245,0,0.5,1.1756135011479563,0.0,0,0.0,0.0,0.9742170770288493,2853.7,0,0.5942460665101448,0,-0.9652898354726303,-0.3138005982226843,2.0,0 294,mw1_1,0.0,0.4184397163120568,282.0,3.6109179126442243,0.0,0.0,0.13120567375886524,-2.030989158293889,37,0.0,5.641907070938114,0.0,49.32512918075913,0.08156028368794327,-1.4877987531208028,10.925793518026845,37.0,1.502807218795905,0.0,2.377473530119013,0,0.5,6.854482306832961,0.0,0,0.0,0.0,0.40765322651181213,7.621621621621622,0,0.9184397163120568,0,9.777619549901416,-1.3165782235987262,2.0,0 295,newton_hema_1,0.0,0.020408163265306145,98.0,1.0986122886681098,0.0,0.0,0.030612244897959183,-3.4863551900024623,3,0.0,4.584967478670572,0.0,4.012577364739699,0.47959183673469385,-1.1504123003852542,2.3916273372598673,3.0,0.9430308665917072,0.0,0.927911473302789,0,0.5,2.2551383537592558,0.0,0,0.0,0.0,0.9987979209581141,32.666666666666664,0,0.5204081632653061,0,0.6319775307440954,0.15110603308159637,2.0,0 296,no2_1,0.0,0.008571428571428563,350.0,1.9459101490553132,0.0,0.0,0.02,-3.912023005428146,7,0.0,5.857933154483459,0.0,4.320652339076929,0.49142857142857144,-1.2224565892054686,1.7788447051821104,7.0,0.5798968292383643,0.0,-0.11464013273714047,0,0.5,0.850381623170827,0.0,0,0.0,0.0,0.9997880017729585,50.0,0,0.5085714285714286,0,0.42230229357365406,-0.8579423580157934,2.0,0 297,nursery_1,0.0,0.1304973423018531,9070.0,2.0794415416798357,0.0,0.0,0.0008820286659316428,-7.033286001429346,8,0.0,9.112727543109182,0.0,-1.3004025546126785,0.024366041896361632,-1.998905673958931,0.2026983086670123,8.0,0.013597212855866805,0.0,0.0014708106567087014,0,0.25,0.03308059916429636,0.0,0,0.0,0.0,1.7111124534853543,1133.75,0,0.33395810363836825,0,-1.5031804415402767,-0.010969274391713456,4.0,0 298,nursery_2,0.0,0.16302910052910055,9072.0,2.0794415416798357,0.0,0.0,0.0008818342151675485,-7.033506484287697,8,0.0,9.112948025967533,0.0,-1.3034116617633162,0.3369708994708995,-2.0,0.20136743835609203,8.0,0.006808316424387247,0.0,-0.004571876283636183,0,0.5,0.003643919056279084,0.0,0,0.0,0.0,0.9218905261244321,1134.0,0,0.6630291005291006,0,-1.5046906551274077,-0.017185988969357077,2.0,0 299,oil_spill_1,0.0,0.46183206106870234,655.0,3.8918202981106265,0.0,0.0,0.07480916030534351,-2.592814937524625,49,0.0,6.484635235635252,0.0,649.8290178100017,0.03816793893129771,-3.0,123.71022714986337,49.0,5.645402139726598,0.0,3.8365623294127373,0,0.5,25.52928424535514,0.0,0,0.0,0.0,0.23382826233572285,13.36734693877551,0,0.9618320610687023,0,54.42466481955461,-2.0681610609761476,2.0,0 300,optdigits_1,0.0,0.39832231825114384,3934.0,4.1588830833596715,0.0,0.0,0.01626842907981698,-4.118528915589333,64,0.0,8.277411998949004,0.0,3929.000254258838,0.10167768174885612,-3.0,574.251353897145,64.0,11.805097565085143,0.0,5.458716463177696,0,0.5,62.69768938532615,0.0,0,0.0,0.0,0.4742912710341724,61.46875,0,0.8983223182511438,0,179.118973232369,-1.3231961172197888,2.0,0 301,ozone-level-8hr_1,0.0,0.4368302312464749,1773.0,4.276666119016055,0.0,0.0,0.04060913705583756,-3.2037621870581527,72,0.0,7.480428306074208,0.0,83.4659282658856,0.0631697687535251,-0.9938330341003274,9.7545163004516,72.0,1.14667849966329,0.0,0.07723115380308013,0,0.5,7.658825927578556,0.0,0,0.0,0.0,0.3399012755822992,24.625,0,0.9368302312464749,0,1.5456062482182795,-1.2921472252382702,2.0,0 302,page-blocks_1,0.0,0.3950665622552858,3831.0,2.302585092994046,0.0,0.0,0.0026102845210127902,-5.9482960517066035,10,0.0,8.25088114470065,0.0,3427.6753794469,0.10493343774471417,0.6584184350227944,1000.5194453136844,10.0,16.141813108352437,0.0,13.313385376251631,0,0.5,57.13529350738907,0.0,0,0.0,0.0,0.4844419286138514,383.1,0,0.8950665622552858,0,502.5727441647383,-0.8353149488844643,2.0,0 303,parkinsons_1,0.0,0.25735294117647056,136.0,3.091042453358316,0.0,0.0,0.16176470588235295,-1.821612432377736,22,0.0,4.912654885736052,0.0,13.56809529687784,0.2426470588235294,-1.044802591054778,4.820449232275151,22.0,1.170585816365625,0.0,1.5850505490928184,0,0.5,3.41600695682763,0.0,0,0.0,0.0,0.7994146042010714,6.181818181818182,0,0.7573529411764706,0,4.4836345854699875,-0.5091532122871698,2.0,0 304,pasture_1,0.0,0.018856180831641256,25.0,3.091042453358316,0.0,0.0,0.88,-0.12783337150988489,22,0.0,3.2188758248682006,0.0,7.989927522126296,0.32,-3.0,1.9666289569246425,22.0,0.7433728467064704,0.0,0.414039154880041,0,0.3333333333333333,2.7380337496771814,0.0,0,0.0,0.0,1.5826831892554925,1.1363636363636365,0,0.36,0,-0.12991362775611412,-1.178764429206379,3.0,0 305,pasture_2,0.0,0.21999999999999997,25.0,3.091042453358316,0.0,0.0,0.88,-0.12783337150988489,22,0.0,3.2188758248682006,0.0,6.766695160974674,0.28,-3.0,1.7403361907625285,22.0,0.6463435755934588,0.0,0.39111050387382673,0,0.5,2.4378815903974957,0.0,0,0.0,0.0,0.8554508105601307,1.1363636363636365,0,0.72,0,-0.11342104072539604,-0.4089182294656068,2.0,0 306,pc1_1,0.0,0.42654639175257736,776.0,3.044522437723423,0.0,0.0,0.027061855670103094,-3.6096300824597956,21,0.0,6.654152520183219,0.0,397.727258499711,0.07345360824742268,11.093963953152691,104.32850591205737,21.0,4.048528083277455,0.0,8.124476433258922,0,0.5,17.785223492535216,0.0,0,0.0,0.0,0.37868163811078054,36.95238095238095,0,0.9265463917525774,0,124.22421160265347,2.2811578975303095,2.0,0 307,pc1_req_1,0.0,0.17410714285714288,224.0,2.0794415416798357,0.0,0.0,0.03571428571428571,-3.332204510175204,8,0.0,5.4116460518550396,0.0,219.004484304933,0.32589285714285715,-0.6551773051276863,80.28545157431722,8.0,5.154353253531152,0.0,4.566602665453811,0,0.5,14.866219570049848,0.0,0,0.0,0.0,0.9106749736811389,28.0,0,0.6741071428571429,0,48.445886315630695,0.8241026828769178,2.0,0 308,pc2_1,0.0,0.49591002044989774,3912.0,3.58351893845611,0.0,0.0,0.009202453987730062,-4.688285092698598,36,0.0,8.271804031154709,0.0,2713.6706329722874,0.00408997955010225,-1.0140723511881296,800.8199935481059,36.0,14.765960519097383,0.0,19.110687256213225,0,0.5,48.11973936302481,0.0,0,0.0,0.0,0.03833714261255966,108.66666666666667,0,0.9959100204498977,0,789.9614114419118,-2.808497657410699,2.0,0 309,pc3_1,0.0,0.4012797074954296,1094.0,3.6109179126442243,0.0,0.0,0.033820840950639856,-3.386678070337702,37,0.0,6.9975959829819265,0.0,426.29568289968313,0.09872029250457039,-1.473565511020173,108.39751560289079,37.0,4.365607310679609,0.0,5.8636119382246745,0,0.5,17.36696035471131,0.0,0,0.0,0.0,0.4649258409806046,29.56756756756757,0,0.9012797074954296,0,79.736018013758,-0.6171662115260906,2.0,0 310,pc4_1,0.0,0.37745098039215685,1020.0,3.6109179126442243,0.0,0.0,0.03627450980392157,-3.3166399936340922,37,0.0,6.927557906278317,0.0,593.5694558413929,0.12254901960784313,-1.5323476772077587,128.4941228977832,37.0,5.064005168566484,0.0,6.727134294079157,0,0.5,22.81140112113079,0.0,0,0.0,0.0,0.5366438278799759,27.56756756756757,0,0.8774509803921569,0,104.19937126256768,-0.444571817232773,2.0,0 311,pendigits_1,0.0,0.3973225890304133,7694.0,2.772588722239781,0.0,0.0,0.002079542500649857,-6.175607361072459,16,0.0,8.94819608331224,0.0,3.141789484599781,0.10267741096958669,-1.6844893582410592,1.127065068443893,16.0,0.6552271121985097,0.0,-0.043275786944438135,0,0.5,0.9514571607122402,0.0,0,0.0,0.0,0.47742577970440897,480.875,0,0.8973225890304133,0,-0.500775675784973,-1.499177062996981,2.0,0 312,phoneme_1,0.0,0.2020095187731359,3782.0,1.6094379124341003,0.0,0.0,0.0013220518244315177,-6.6285703367843025,5,0.0,8.238008249218403,0.0,1.6970052312572816,0.2979904812268641,-0.8715745539978301,1.1172884599820894,5.0,0.4999659916246436,0.0,0.793558117113818,0,0.5,1.5302329443120244,0.0,0,0.0,0.0,0.8788205898839054,756.4,0,0.7020095187731359,0,0.3374385324615733,0.21919835837007506,2.0,0 313,planning-relax_1,0.0,0.20866141732283464,127.0,2.4849066497880004,0.0,0.0,0.09448818897637795,-2.359280436670591,12,0.0,4.844187086458591,0.0,1.9878780544319161,0.29133858267716534,-0.4871133626845552,0.676312754793443,12.0,0.3244754851673808,0.0,-0.18164448617814818,0,0.5,0.4549997782547871,0.0,0,0.0,0.0,0.8704441104104189,10.583333333333334,0,0.7086614173228346,0,0.49596942362025936,-0.7355847031736159,2.0,0 314,plasma_retinol_1,0.0,0.08181818181818182,220.0,2.5649493574615367,0.0,0.0,0.05909090909090909,-2.828678188890825,13,0.0,5.393627546352362,0.0,161.24637265147896,0.41818181818181815,-1.2698378430386017,42.87537459885385,13.0,3.121209822566745,0.0,2.465596388848186,0,0.5,12.030019418714017,0.0,0,0.0,0.0,0.980597440991727,16.923076923076923,0,0.5818181818181818,0,19.188224586173753,-0.7920984548300031,2.0,0 315,pm10_1,0.0,0.0,350.0,1.9459101490553132,0.0,0.0,0.02,-3.912023005428146,7,0.0,5.857933154483459,0.0,5.430586588008548,0.5,-1.1969738294535919,2.086273389163182,7.0,0.5307076559647967,0.0,-0.07325302488376984,0,0.5,0.8304289260296351,0.0,0,0.0,0.0,1.0,50.0,0,0.5,0,0.5935643075941109,-0.8619705541321978,2.0,0 316,pol_1,0.0,0.1661904761904762,10500.0,3.871201010907891,0.0,0.0,0.004571428571428572,-5.387929525237724,48,0.0,9.259130536145614,0.0,160.3986808278614,0.33380952380952383,-3.0,33.922316025796626,48.0,3.2348501290520253,0.0,2.586933818805498,0,0.5,12.118234123401429,0.0,0,0.0,0.0,0.9187712886368485,218.75,0,0.6661904761904762,0,17.472050668969178,0.0,2.0,0 317,pollen_1,0.0,0.0016709988860007519,2693.0,1.6094379124341003,0.0,0.0,0.001856665428889714,-6.288973180377498,5,0.0,7.898411092811599,0.0,0.16344126978419915,0.49832900111399925,-0.2631885466197703,0.15545254463287903,5.0,0.10913717599804615,0.0,0.012926755803666212,0,0.5,0.13883863142760747,0.0,0,0.0,0.0,0.9999919432912575,538.6,0,0.5016709988860008,0,-0.08333541756274192,-0.14192628061109966,2.0,0 318,pollution_1,0.0,0.047619047619047644,42.0,2.70805020110221,0.0,0.0,0.35714285714285715,-1.0296194171811581,15,0.0,3.7376696182833684,0.0,23.63638267883936,0.4523809523809524,-0.8297163553031237,7.463801169720235,15.0,1.5696633233201134,0.0,1.022964953263032,0,0.5,4.679894849436104,0.0,0,0.0,0.0,0.9934472383802027,2.8,0,0.5476190476190477,0,3.684163556143027,-0.5838569813044834,2.0,0 319,prnn_cushings_1,0.0,0.16433554953054488,18.0,0.6931471805599453,0.0,0.0,0.1111111111111111,-2.1972245773362196,2,0.0,2.8903717578961645,0.0,7.899668252978067,0.05555555555555555,4.194293179876924,1.8526875365505715,2.0,0.30659694045485186,0.0,2.548846696575473,0,0.25,2.8554436370303247,0.0,0,0.0,0.0,1.6758220575766962,9.0,0,0.5,0,6.046980716427496,2.242249756120621,4.0,0 320,prnn_fglass_1,0.0,0.1644295302013423,149.0,2.1972245773362196,0.0,0.0,0.06040268456375839,-2.8067217286092396,9,0.0,5.003946305945459,0.0,55.004251050277325,0.33557046979865773,-0.5500355296173902,16.2907689144388,9.0,2.061680866734924,0.0,1.6206277291403672,0,0.5,6.275544850243331,0.0,0,0.0,0.0,0.9205167427667414,16.555555555555557,0,0.6644295302013423,0,9.723164424033476,-1.0879360193419811,2.0,0 321,prnn_synth_1,0.0,0.008571428571428563,175.0,0.6931471805599453,0.0,0.0,0.011428571428571429,-4.471638793363569,2,0.0,5.1647859739235145,0.0,-0.6900326480977714,0.49142857142857144,-1.2054193378394191,0.25769334487082385,2.0,0.040854307396444085,0.0,-0.16465628146745503,0,0.5,-0.12380197407101094,0.0,0,0.0,0.0,0.9997880017729585,87.5,0,0.5085714285714286,0,-0.9477259929685953,-0.2055105888638991,2.0,0 322,prnn_viruses_1,0.0,0.2454229539058131,42.0,2.8903717578961645,0.0,0.0,0.42857142857142855,-0.8472978603872037,18,0.0,3.7376696182833684,0.0,2.9099245214521074,0.07142857142857142,-1.2645089285714286,1.2915719491412967,18.0,0.5976155620232312,0.0,0.6990175422902237,0,0.24999999999999997,1.6808750579976683,0.0,0,0.0,0.0,1.3895623555897163,2.3333333333333335,0,0.6666666666666666,0,0.32652637726740114,-0.23883928571428573,4.0,0 323,puma32H_1,0.0,0.004359958144401821,5734.0,3.4657359027997265,0.0,0.0,0.0055807464248343215,-5.188432743643588,32,0.0,8.654168646443315,0.0,-1.1662911372194706,0.4956400418555982,-1.2248096994051418,0.014806040644750931,32.0,0.017374615610239744,0.0,-0.0038135595492778526,0,0.5,0.03109170015545803,0.0,0,0.0,0.0,0.9999451502466947,179.1875,0,0.5043599581444018,0,-1.19784431952504,-0.03889579673714288,2.0,0 324,puma8NH_1,0.0,0.0012207882804324832,5734.0,2.0794415416798357,0.0,0.0,0.0013951866062085804,-6.574727104763479,8,0.0,8.654168646443315,0.0,-1.1809866749971076,0.4987792117195675,-1.2104470126518876,0.012096572851640399,8.0,0.01883530506349861,0.0,-0.006332618326373211,0,0.5,0.02268006120351298,0.0,0,0.0,0.0,0.9999956998295654,716.75,0,0.5012207882804325,0,-1.1938780404633604,-0.02891348894268039,2.0,0 325,pwLinear_1,0.0,0.042857142857142844,140.0,2.302585092994046,0.0,0.0,0.07142857142857142,-2.639057329615259,10,0.0,4.941642422609304,0.0,-1.2845710021635077,0.45714285714285713,-1.9327661340527085,0.15724917616279976,10.0,0.1692551863632183,0.0,0.014302270617707304,0,0.5,0.26311804071413375,0.0,0,0.0,0.0,0.9946937953613058,14.0,0,0.5428571428571428,0,-1.5391661021415715,-0.25929494007267445,2.0,0 326,pyrim_1,0.0,0.06862745098039214,51.0,3.295836866004329,0.0,0.0,0.5294117647058824,-0.6359887667199967,27,0.0,3.9318256327243257,0.0,46.019999999999946,0.43137254901960786,-3.0,10.98102866511425,27.0,1.6725082066721806,0.0,2.08906448211622,0,0.5,6.929646455628157,0.0,0,0.0,0.0,0.9863676072907089,1.8888888888888888,0,0.5686274509803921,0,6.4645111529181145,0.0,2.0,0 327,qsar-biodeg_1,0.0,0.1680216802168022,738.0,3.713572066704308,0.0,0.0,0.05555555555555555,-2.890371757896165,41,0.0,6.6039438246004725,0.0,610.8249392945177,0.3319783197831978,-0.37398396227577546,101.03015679907246,41.0,4.494039706496783,0.0,3.7217734992998195,0,0.5,23.720537347514583,0.0,0,0.0,0.0,0.9169348564805312,18.0,0,0.6680216802168022,0,40.237168764243684,-2.0786191659144104,2.0,0 328,quake_1,0.0,0.06036745406824148,1524.0,1.0986122886681098,0.0,0.0,0.001968503937007874,-6.230481447578482,3,0.0,7.329093736246592,0.0,11.731584276388645,0.43963254593175854,-0.8591054148491533,5.925640116002069,3.0,1.8204434059205794,0.0,0.8646579133571844,0,0.5,3.3902148687315927,0.0,0,0.0,0.0,0.9894592800805011,508.0,0,0.5603674540682415,0,3.3514972843401942,-0.8307784431552407,2.0,0 329,quake_2,0.0,0.04002624671916011,1524.0,1.0986122886681098,0.0,0.0,0.001968503937007874,-6.230481447578482,3,0.0,7.329093736246592,0.0,10.71872529829394,0.4599737532808399,-0.8046054935283014,5.424341448751847,3.0,1.7820168785729873,0.0,0.80556644160208,0,0.5,3.269631881570427,0.0,0,0.0,0.0,0.9953723652830564,508.0,0,0.5400262467191601,0,3.0475720046703394,-0.8843553085452072,2.0,0 330,qualitative-bankruptcy_1,0.0,0.07714285714285715,175.0,1.791759469228055,0.0,0.0,0.03428571428571429,-3.373026504695459,6,0.0,5.1647859739235145,0.0,-1.1377443111110699,0.4228571428571429,-1.4793373926933278,0.12860873748994242,6.0,0.10161661778726176,0.0,-0.0953987873097914,0,0.5,0.01816192839010379,0.0,0,0.0,0.0,0.9827602043210514,29.166666666666668,0,0.5771428571428572,0,-1.2610330257403726,-0.2654083145849646,2.0,0 331,rabe_131_1,0.0,0.15714285714285714,35.0,1.6094379124341003,0.0,0.0,0.14285714285714285,-1.9459101490553135,5,0.0,3.5553480614894135,0.0,4.832317677268101,0.34285714285714286,-1.2377892020417924,2.388460967209852,5.0,0.7736636107320957,0.0,0.4480805540120265,0,0.5,1.78185817770902,0.0,0,0.0,0.0,0.9275265884316759,7.0,0,0.6571428571428571,0,0.6400729834301693,-0.3451990911354603,2.0,0 332,rabe_148_1,0.0,0.021739130434782594,46.0,1.6094379124341003,0.0,0.0,0.10869565217391304,-2.2192034840549946,5,0.0,3.828641396489095,0.0,18.857681254530625,0.4782608695652174,2.769580945098774,5.606600442764128,5.0,2.635218758397902,0.0,-0.7145536221803768,0,0.5,2.886983405618126,0.0,0,0.0,0.0,0.9986359641585719,9.2,0,0.5217391304347826,0,8.716909191839656,-3.968179632968064,2.0,0 333,rabe_166_1,0.0,0.0,28.0,0.0,0.0,0.0,0.03571428571428571,-3.332204510175204,1,0.0,3.332204510175204,0.0,-1.1792749879871447,0.5,-1.1792749879871447,0.0,1.0,0.0,0.0,-0.13531070530523512,0,0.5,-0.13531070530523512,0.0,0,0.0,0.0,1.0,28.0,0,0.5,0,-1.1792749879871447,-0.13531070530523512,2.0,0 334,rabe_176_1,0.0,0.051020408163265286,49.0,1.0986122886681098,0.0,0.0,0.061224489795918366,-2.793208009442517,3,0.0,3.8918202981106265,0.0,-0.3679056774592402,0.4489795918367347,-0.4526027386892153,0.03586360397559003,3.0,0.08143528350045197,0.0,0.16885522926637972,0,0.5,0.2563352921454465,0.0,0,0.0,0.0,0.9924760039430819,16.333333333333332,0,0.5510204081632653,0,-0.40352370314199576,0.06024619870396505,2.0,0 335,rabe_265_1,0.0,0.09999999999999998,35.0,1.791759469228055,0.0,0.0,0.17142857142857143,-1.7635885922613588,6,0.0,3.5553480614894135,0.0,10.056641736984997,0.4,-0.8466600736645331,4.552849134196356,6.0,1.525966115693405,0.0,-0.10282237676683526,0,0.5,2.647414077897519,0.0,0,0.0,0.0,0.9709505944546688,5.833333333333333,0,0.6,0,2.7911629172291836,-2.5286471818979854,2.0,0 336,rabe_266_1,0.0,0.0357142857142857,84.0,0.6931471805599453,0.0,0.0,0.023809523809523808,-3.7376696182833684,2,0.0,4.430816798843313,0.0,-1.2260318231810674,0.4642857142857143,-1.3069700199781085,0.04046909839852053,2.0,0.034697719896136854,0.0,-0.08910739285173666,0,0.5,-0.0544096729555998,0.0,0,0.0,0.0,0.9963165195589622,42.0,0,0.5357142857142857,0,-1.266500921579588,-0.12380511274787351,2.0,0 337,rabe_97_1,0.0,0.0,32.0,1.0986122886681098,0.0,0.0,0.09375,-2.367123614131617,3,0.0,3.4657359027997265,0.0,-0.7192636423405658,0.5,-1.9365079365079363,0.5071066285496222,3.0,0.2720939325586158,0.0,0.27386734371171045,0,0.5,0.6175188081909067,0.0,0,0.0,0.0,1.0,10.666666666666666,0,0.5,0,-1.2564370171985233,-0.04789309239526006,2.0,0 338,ringnorm_1,0.0,0.006563706563706556,5180.0,2.995732273553991,0.0,0.0,0.003861003861003861,-5.556828061699537,20,0.0,8.55256033525353,0.0,1.6760707542569282,0.4934362934362934,1.2641222228745654,0.12531176639946415,20.0,0.05069691936665497,0.0,-0.2409207855052436,0,0.5,-0.12235489593796534,0.0,0,0.0,0.0,0.9998756873502928,259.0,0,0.5065637065637065,0,1.476172217105286,-0.3549668978438238,2.0,0 339,rmftsa_ctoarrivals_1,0.0,0.10869565217391305,184.0,0.6931471805599453,0.0,0.0,0.010869565217391304,-4.5217885770490405,2,0.0,5.214935757608986,0.0,-1.1736933316404239,0.391304347826087,-1.2935857951425433,0.05994623175105973,2.0,0.05429435255121228,0.0,-0.025647703069173126,0,0.5,0.02864664948203915,0.0,0,0.0,0.0,0.9656361333706097,92.0,0,0.6086956521739131,0,-1.2336395633914836,-0.07994205562038541,2.0,0 340,rmftsa_ladata_1,0.0,0.05211267605633804,355.0,2.302585092994046,0.0,0.0,0.028169014084507043,-3.56953269648137,10,0.0,5.872117789475416,0.0,14.817924345055232,0.447887323943662,-0.4762580231606437,4.3470148656643115,10.0,0.8547190465422869,0.0,0.850715651786237,0,0.5,3.031404442843002,0.0,0,0.0,0.0,0.992149807809528,35.5,0,0.5521126760563381,0,1.948306621443902,-0.5047903095129741,2.0,0 341,rmftsa_sleepdata_1,0.0,0.020949720670391053,716.0,0.6931471805599453,0.0,0.0,0.002793296089385475,-5.8805329864007,2,0.0,6.573680166960646,0.0,-0.04950160433794082,0.4790502793296089,-1.6509952766803992,0.8007468361712292,2.0,0.379478342580032,0.0,0.4199045387674645,0,0.5,0.7993828813474965,0.0,0,0.0,0.0,0.9987332580568846,358.0,0,0.520949720670391,0,-0.85024844050917,0.04042619618743246,2.0,0 342,rmftsa_sleepdata_2,0.0,0.10671798585104629,716.0,0.6931471805599453,0.0,0.0,0.002793296089385475,-5.8805329864007,2,0.0,6.573680166960646,0.0,-0.16106222653563806,0.09636871508379888,-0.9903493074428842,0.41464354045362306,2.0,0.29748765325671955,0.0,0.45636571981287277,0,0.25,0.7538533730695923,0.0,0,0.0,0.0,1.8561842713445909,358.0,0,0.39106145251396646,0,-0.5757057669892611,0.15887806655615325,4.0,0 343,robot-failures-lp1_1,0.0,0.06696776491134505,61.0,4.499809670330265,0.0,0.0,1.4754098360655739,0.3889358061569539,90,0.0,4.110873864173311,0.0,36.73585442286764,0.19672131147540983,1.758881297422728,8.200067995815953,90.0,2.3176580355548575,0.0,0.38368014575970444,0,0.25,5.410327164513672,0.0,0,0.0,0.0,1.9512298857357377,0.6777777777777778,0,0.36065573770491804,0,11.894264451548278,-2.7411053487739356,4.0,0 344,robot-failures-lp3_1,0.0,0.13799626353637262,32.0,4.499809670330265,0.0,0.0,2.8125,1.0340737675305385,90,0.0,3.4657359027997265,0.0,24.230403938516947,0.09375,-1.057882088401798,5.125696960206881,90.0,1.4912240842384468,0.0,0.054543299548767875,0,0.25,4.967740753095057,0.0,0,0.0,0.0,1.785374329980682,0.35555555555555557,0,0.46875,0,3.163485303845508,-4.746885110608203,4.0,0 345,robot-failures-lp4_1,0.0,0.254412864462119,81.0,4.499809670330265,0.0,0.0,1.1111111111111112,0.10536051565782635,90,0.0,4.394449154672439,0.0,68.9765938703338,0.12345679012345678,4.164641862253787,14.02984535187404,90.0,4.511493162113452,0.0,-0.831788175663116,0,0.3333333333333333,8.185077452624396,0.0,0,0.0,0.0,1.1912757372274982,0.9,0,0.691358024691358,0,28.22708733561754,-6.701828677261402,3.0,0 346,sa-heart_1,0.0,0.16253869969040247,323.0,2.1972245773362196,0.0,0.0,0.02786377708978328,-3.5804277458864373,9,0.0,5.777652323222656,0.0,7.424239997210165,0.33746130030959753,-1.8619308265905121,3.1505555759996233,9.0,1.0560777506218497,0.0,0.7394705514932756,0,0.5,2.4819437745369424,0.0,0,0.0,0.0,0.9223686008532735,35.888888888888886,0,0.6625386996904025,0,1.9011423026083654,-0.3725474294307595,2.0,0 347,scene_1,0.0,0.3188836104513064,1684.0,5.700443573390687,0.0,0.0,0.17755344418052257,-1.7284836214115855,299,0.0,7.428927194802272,0.0,74.1401584560086,0.18111638954869358,-0.7679785561581332,13.215329944962427,299.0,1.8605397057551873,0.0,1.6865032695908055,0,0.5,7.3150629963470255,0.0,0,0.0,0.0,0.6825132084315357,5.632107023411371,0,0.8188836104513064,0,7.954540730169459,-0.914456830685346,2.0,0 348,schlvote_1,0.0,0.1923076923076923,26.0,1.6094379124341003,0.0,0.0,0.19230769230769232,-1.6486586255873816,5,0.0,3.258096538021482,0.0,7.238354149838365,0.3076923076923077,-0.3666666666666676,2.646094434095694,5.0,1.2101354178937391,0.0,1.0002004461999887,0,0.5,2.314604454298415,0.0,0,0.0,0.0,0.8904916402194913,5.2,0,0.6923076923076923,0,2.7030197596097336,-1.278019300845387,2.0,0 349,seeds_1,0.0,0.011108797019424833,147.0,1.9459101490553132,0.0,0.0,0.047619047619047616,-3.044522437723423,7,0.0,4.990432586778736,0.0,0.19325955675923367,0.3197278911564626,-1.073210166248936,0.4810963161786314,7.0,0.4093339004614654,0.0,0.2667618123532273,0,0.3333333333333333,0.5947636170134788,0.0,0,0.0,0.0,1.584161114693232,21.0,0,0.3469387755102041,0,-0.6604552768728139,-0.6797036695714229,3.0,0 350,segment_1,0.0,0.35219542362399503,1617.0,2.9444389791664403,0.0,0.0,0.011750154607297465,-4.443888880410666,19,0.0,7.388327859577107,0.0,303.1287441843871,0.14780457637600494,-3.0,78.95276386694235,19.0,4.488481094366427,0.0,3.1246009281665565,0,0.5,16.35946653417949,0.0,0,0.0,0.0,0.604318876835497,85.10526315789474,0,0.852195423623995,0,33.717832632244075,-0.8543866255543867,2.0,0 351,seismic-bumps_1,0.0,0.030925582079333023,147.0,1.9459101490553132,0.0,0.0,0.047619047619047616,-3.044522437723423,7,0.0,4.990432586778736,0.0,-0.14816210229368565,0.29931972789115646,-1.0176926253339074,0.32958080276710444,7.0,0.41675219670025276,0.0,0.34793338292394355,0,0.3333333333333333,0.6679727753812167,0.0,0,0.0,0.0,1.5788017632138283,21.0,0,0.3741496598639456,0,-0.6567388425566675,-0.6163409220473434,3.0,0 352,sensory_1,0.0,0.08312655086848633,403.0,2.3978952727983707,0.0,0.0,0.02729528535980149,-3.6010412891483123,11,0.0,5.998936561946683,0.0,-1.2768734350077142,0.41687344913151364,-1.999778325123153,0.300229343071729,11.0,0.034423819871901844,0.0,-0.016067281025791743,0,0.5,0.054219581679927034,0.0,0,0.0,0.0,0.9799690075115738,36.63636363636363,0,0.5831265508684863,0,-1.6073939084257127,-0.054610917967329,2.0,0 353,servo_1,0.0,0.3017241379310345,116.0,1.3862943611198906,0.0,0.0,0.034482758620689655,-3.367295829986474,4,0.0,4.7535901911063645,0.0,-0.9849675305853096,0.19827586206896552,-1.377926165163376,0.14424192243429232,4.0,0.19617402464139697,0.0,-0.24168279492340206,0,0.5,-0.00027409248016979453,0.0,0,0.0,0.0,0.7184663880382772,29.0,0,0.8017241379310345,0,-1.1601055794417439,-0.4439113471668877,2.0,0 354,skin-segmentation_1,0.0,0.29206477827199645,171539.0,1.0986122886681098,0.0,0.0,1.7488734340295792e-05,-10.953953636315182,3,0.0,12.052565924983291,0.0,-0.6069578129421536,0.20793522172800355,-0.9202648829692031,0.13659881565472232,3.0,0.2374647697710751,0.0,-0.3335468344484236,0,0.5,-0.038633634906941355,0.0,0,0.0,0.0,0.7375174099060832,57179.666666666664,0,0.7920647782719965,0,-0.7975157460242456,-0.6201218329872608,2.0,0 355,sleuth_case1102_1,0.0,0.021739130434782594,23.0,2.0794415416798357,0.0,0.0,0.34782608695652173,-1.0560526742493137,8,0.0,3.1354942159291497,0.0,2.470557851239664,0.4782608695652174,-1.9924242424242429,1.26360444651253,8.0,0.42431080902429535,0.0,0.5254734714275165,0,0.5,1.0891622972743424,0.0,0,0.0,0.0,0.9986359641585719,2.875,0,0.5217391304347826,0,-0.4141825087332355,-0.08703882797784895,2.0,0 356,sleuth_case1201_1,0.0,0.07142857142857142,35.0,1.791759469228055,0.0,0.0,0.17142857142857143,-1.7635885922613588,6,0.0,3.5553480614894135,0.0,3.85491974529969,0.42857142857142855,-1.5156865945990485,1.7133281454517195,6.0,0.7467833540444194,0.0,-0.24250132753029807,0,0.5,0.34608701493709937,0.0,0,0.0,0.0,0.9852281360342515,5.833333333333333,0,0.5714285714285714,0,0.21042405018905294,-1.6447864968134902,2.0,0 357,sleuth_case1202_1,0.0,0.09999999999999998,65.0,1.791759469228055,0.0,0.0,0.09230769230769231,-2.382627800667582,6,0.0,4.174387269895637,0.0,1.5707630770501808,0.4,-1.5338266384778003,1.1848690794545713,6.0,0.7042387655204854,0.0,0.05874621568689901,0,0.5,1.0611332464403163,0.0,0,0.0,0.0,0.9709505944546688,10.833333333333334,0,0.6,0,-0.1705318767642829,-0.828696929229279,2.0,0 358,sleuth_case2002_1,0.0,0.0392156862745098,102.0,1.791759469228055,0.0,0.0,0.058823529411764705,-2.833213344056216,6,0.0,4.624972813284271,0.0,-0.24274710990166382,0.46078431372549017,-1.998461538461539,0.6415349737828331,6.0,0.7530903476449051,0.0,0.1482319931889103,0,0.5,1.185189995180235,0.0,0,0.0,0.0,0.9955580843959541,17.0,0,0.5392156862745098,0,-1.1146673690855875,-0.8919618050102919,2.0,0 359,sleuth_ex1221_1,0.0,0.017241379310344834,29.0,2.1972245773362196,0.0,0.0,0.3103448275862069,-1.1700712526502546,9,0.0,3.367295829986474,0.0,20.605007291994237,0.4827586206896552,-1.5688056234284735,8.10207384942565,9.0,1.6383080841449098,0.0,2.0701384391493263,0,0.5,4.604599505630396,0.0,0,0.0,0.0,0.9991421039919088,3.2222222222222223,0,0.5172413793103449,0,6.620929786735868,-0.08588068006487853,2.0,0 360,sleuth_ex1605_1,0.0,0.03488372093023254,43.0,1.6094379124341003,0.0,0.0,0.11627906976744186,-2.151762203259462,5,0.0,3.7612001156935624,0.0,0.8147385042896502,0.46511627906976744,-0.3335215984883697,0.43521198704682607,5.0,0.27068895730628084,0.0,-0.08763746331644431,0,0.5,0.33865593236526953,0.0,0,0.0,0.0,0.996485989886783,8.6,0,0.5348837209302325,0,0.037036169224684556,-0.3193575323315171,2.0,0 361,sleuth_ex1714_1,0.0,0.15625,32.0,1.9459101490553132,0.0,0.0,0.21875,-1.5198257537444133,7,0.0,3.4657359027997265,0.0,3.9727170252985555,0.34375,-1.222768894322567,1.7588127216685137,7.0,0.7072111861579539,0.0,0.63840628916453,0,0.5,1.5869989620521092,0.0,0,0.0,0.0,0.9283620723948678,4.571428571428571,0,0.65625,0,0.5851062205834949,-0.6138070314684044,2.0,0 362,sleuth_ex2015_1,0.0,0.07142857142857142,42.0,1.9459101490553132,0.0,0.0,0.16666666666666666,-1.791759469228055,7,0.0,3.7376696182833684,0.0,1.9487278460732398,0.42857142857142855,-1.9909090909090907,1.121661251968427,7.0,0.3359253293383643,0.0,-0.6499946647079619,0,0.5,-0.09534625892455928,0.0,0,0.0,0.0,0.9852281360342515,6.0,0,0.5714285714285714,0,0.12072413246707374,-1.184692664407917,2.0,0 363,sleuth_ex2015_2,0.0,0.005189165408976993,42.0,1.9459101490553132,0.0,0.0,0.16666666666666666,-1.791759469228055,7,0.0,3.7376696182833684,0.0,1.7506259501087698,0.023809523809523808,-1.963386727688787,1.0550865740091846,7.0,0.4445753754377526,0.0,-0.6955559265777261,0,0.024999999999999998,0.19134594929397583,0.0,0,0.0,0.0,5.297079327540665,6.0,0,0.047619047619047616,0,0.2224544120478705,-1.2314629977637663,40.0,0 364,sleuth_ex2016_1,0.0,0.05000000000000002,60.0,2.302585092994046,0.0,0.0,0.16666666666666666,-1.791759469228055,10,0.0,4.0943445622221,0.0,1.3630008147015769,0.45,-1.885714285714286,1.0082740979212965,10.0,0.5035949431388854,0.0,-0.15427413331790826,0,0.5,0.707106781186547,0.0,0,0.0,0.0,0.9927744539878083,6.0,0,0.55,0,-0.04177902147265615,-0.927499784642909,2.0,0 365,sleuth_ex2016_2,0.0,0.01267358684338993,60.0,2.302585092994046,0.0,0.0,0.16666666666666666,-1.791759469228055,10,0.0,4.0943445622221,0.0,1.1143518972862818,0.016666666666666666,-1.8857142857142863,0.938723209516058,10.0,0.5927103104921873,0.0,-0.05805468104302245,0,0.023809523809523815,0.8728715609439696,0.0,0,0.0,0.0,5.2276424705724605,6.0,0,0.06666666666666667,0,-0.033170367009361004,-0.869814661091733,42.0,0 366,socmob_1,0.0,0.2861557478368356,809.0,1.6094379124341003,0.0,0.0,0.006180469715698393,-5.086361004624392,5,0.0,6.695798917058491,0.0,86.32945383122062,0.2138442521631644,-1.9999938882777168,35.172135362050405,5.0,3.037225134391784,0.0,1.5134554096062256,0,0.5,7.587833464488812,0.0,0,0.0,0.0,0.7487669147513579,161.8,0,0.7861557478368356,0,15.98889251167986,-0.030381418107905657,2.0,0 367,sonar_1,0.0,0.017241379310344834,145.0,4.0943445622221,0.0,0.0,0.41379310344827586,-0.8823891801984737,60,0.0,4.976733742420574,0.0,24.58524503459598,0.4827586206896552,-1.2056718869881824,4.002475541363014,60.0,0.9131283887860576,0.0,0.8688004222086934,0,0.5,3.815641033835383,0.0,0,0.0,0.0,0.9991421039919088,2.4166666666666665,0,0.5172413793103449,0,1.7342099318987103,-0.7978501878355272,2.0,0 368,space_ga_1,0.0,0.007359705611775541,2174.0,1.791759469228055,0.0,0.0,0.0027598896044158236,-5.8925645984531,6,0.0,7.684324067681155,0.0,10.843836606933316,0.4926402943882245,0.22507356651234423,3.767926364190871,6.0,0.7239075218350847,0.0,0.035034657538355794,0,0.5,0.6323398630138203,0.0,0,0.0,0.0,0.9998437064326363,362.3333333333333,0,0.5073597056117756,0,2.4371495300090733,-1.207375517913561,2.0,0 369,spambase_1,0.0,0.09968944099378885,3220.0,4.04305126783455,0.0,0.0,0.017701863354037266,-4.034085370703904,57,0.0,8.077136638538454,0.0,1035.8425004257879,0.40031055900621115,3.4588890014163747,227.30566757267144,57.0,6.273490459224144,0.0,9.775027500023063,0,0.5,29.18296181751491,0.0,0,0.0,0.0,0.9711319699703417,56.49122807017544,0,0.5996894409937888,0,174.2054808195947,1.4152746092189834,2.0,0 370,spectrometer_1,0.0,0.408355795148248,371.0,4.61512051684126,0.0,0.0,0.2722371967654987,-1.3010815457661755,101,0.0,5.916202062607435,0.0,16.73111842984541,0.09164420485175202,-3.0,4.6478781117540695,101.0,1.7428743642239637,0.0,0.8807084290177171,0,0.5,3.7343861341086027,0.0,0,0.0,0.0,0.44193427726555307,3.6732673267326734,0,0.9083557951482479,0,5.338304693549944,-1.803921462691384,2.0,0 371,splice_1,0.0,0.13578243145723798,2233.0,4.0943445622221,0.0,0.0,0.026869682042095836,-3.616756689618057,60,0.0,7.711101251840158,0.0,-0.7698044258857184,0.23331840573219884,-1.5929171499104287,0.126438651745386,60.0,0.185549950568434,0.0,0.07299297026689308,0,0.3333333333333333,0.8708446910494066,0.0,0,0.0,0.0,1.4727509388864488,37.21666666666667,0,0.5253022839229736,0,-1.319318078341143,-0.2498856515859969,3.0,0 372,splice_2,0.0,0.020376175548589365,2233.0,4.0943445622221,0.0,0.0,0.026869682042095836,-3.616756689618057,60,0.0,7.711101251840158,0.0,-0.6771805857144444,0.47962382445141066,-1.590982281744756,0.13407592284384814,60.0,0.1874585950926562,0.0,0.07614046596513455,0,0.5,0.8387262524184357,0.0,0,0.0,0.0,0.9988016873210912,37.21666666666667,0,0.5203761755485894,0,-1.3164211884956543,-0.24907584045002312,2.0,0 373,steel-plates-fault_1,0.0,0.13843888070692192,1358.0,3.4965075614664802,0.0,0.0,0.024300441826215022,-3.717260746652161,33,0.0,7.213768308118642,0.0,1207.3771532340756,0.36156111929307805,-1.8527071688188483,235.21715944009227,33.0,6.996049517403137,0.0,3.5453496117191845,0,0.5,33.835780121071544,0.0,0,0.0,0.0,0.9439714099871137,41.15151515151515,0,0.6384388807069219,0,75.58489277524912,-0.9159559198075043,2.0,0 374,stock_1,0.0,0.023308270676691722,665.0,2.1972245773362196,0.0,0.0,0.013533834586466165,-4.302562463319635,9,0.0,6.499787040655854,0.0,-0.13961498643130366,0.4766917293233083,-1.2744843907910777,0.376935378066659,9.0,0.44181303875697453,0.0,-0.02295955797298725,0,0.5,0.7825281598218331,0.0,0,0.0,0.0,0.9984318700734398,73.88888888888889,0,0.5233082706766917,0,-0.798073412072467,-0.6205203063916733,2.0,0 375,strikes_1,0.0,0.010297482837528626,437.0,1.791759469228055,0.0,0.0,0.013729977116704805,-4.288173725867535,6,0.0,6.07993319509559,0.0,53.71120672725785,0.4897025171624714,-1.254022224337143,20.040459119485767,6.0,2.114934398393546,0.0,1.3393235336140243,0,0.5,5.904157223417792,0.0,0,0.0,0.0,0.9996940169329248,72.83333333333333,0,0.5102974828375286,0,8.955429051407487,-0.21906486378848003,2.0,0 376,sylva_prior_1,0.0,0.43866613735609367,10076.0,4.68213122712422,0.0,0.0,0.01071853910281858,-4.5357804103482815,108,0.0,9.2179116374725,0.0,10071.000099255585,0.06133386264390631,-3.0,1613.1430469118372,108.0,19.39983521253613,0.0,13.268956625644933,0,0.5,100.3643367897959,0.0,0,0.0,0.0,0.3327172560114526,93.29629629629629,0,0.9386661373560937,0,550.8084297470787,-1.174584250019592,2.0,0 377,tae_1,0.0,0.05870870479018073,105.0,1.6094379124341003,0.0,0.0,0.047619047619047616,-3.044522437723423,5,0.0,4.653960350157523,0.0,0.15635362649949425,0.26666666666666666,-1.1193887906675208,0.47499844897594934,5.0,1.0240012451538054,0.0,-0.24001821898323517,0,0.3333333333333333,0.9479029553935576,0.0,0,0.0,0.0,1.5627306712631261,21.0,0,0.4095238095238095,0,-0.2691305039762861,-1.4275109504627732,3.0,0 378,tae_2,0.0,0.12857142857142856,105.0,1.6094379124341003,0.0,0.0,0.047619047619047616,-3.044522437723423,5,0.0,4.653960350157523,0.0,1.3696524064171127,0.37142857142857144,-1.2381550371031145,0.9422349038209454,5.0,1.1169346642978002,0.0,-0.430281282664046,0,0.5,0.9102481242239866,0.0,0,0.0,0.0,0.9517626756348312,21.0,0,0.6285714285714286,0,-0.017237473668060454,-1.835661299482318,2.0,0 379,teachingAssistant_1,0.0,0.015552315827194794,105.0,1.791759469228055,0.0,0.0,0.05714285714285714,-2.8622008809294686,6,0.0,4.653960350157523,0.0,2.6538461538461533,0.3142857142857143,-1.2291533747974321,1.3252278020553154,6.0,1.108122451593551,0.0,-0.3931245906495852,0,0.3333333333333333,0.966665399427692,0.0,0,0.0,0.0,1.5833913647120852,17.5,0,0.3523809523809524,0,-0.004715814747195735,-2.157277486520025,3.0,0 380,tecator_1,0.0,0.10714285714285712,168.0,4.820281565605037,0.0,0.0,0.7380952380952381,-0.30368241379822203,124,0.0,5.123963979403259,0.0,10.31951469653578,0.39285714285714285,-0.08912970763979278,1.401661946811626,124.0,0.46090251990056774,0.0,0.5568792302341435,0,0.5,2.088490628114774,0.0,0,0.0,0.0,0.9666186325481027,1.3548387096774193,0,0.6071428571428571,0,0.7532840336907571,-1.3781117108941676,2.0,0 381,thoracic-surgery_1,0.0,0.3480243161094225,329.0,2.772588722239781,0.0,0.0,0.0486322188449848,-3.0234690285255907,16,0.0,5.796057750765372,0.0,324.00304878048786,0.1519756838905775,-1.4208900922243837,83.35478781928178,16.0,5.023672660635038,0.0,3.6186711122325526,0,0.5,18.055554513237414,0.0,0,0.0,0.0,0.6147624500602276,20.5625,0,0.8480243161094225,0,37.20470086390491,-1.7839697611858456,2.0,0 382,tic-tac-toe_1,0.0,0.1626865671641791,670.0,2.1972245773362196,0.0,0.0,0.013432835820895522,-4.3100531350487925,9,0.0,6.507277712385012,0.0,-1.0448226360464377,0.3373134328358209,-1.4245250247044012,0.11775651988679024,9.0,0.11360105945461774,0.0,-0.34958694446101,0,0.5,-0.1897100524515759,0.0,0,0.0,0.0,0.922224613456658,74.44444444444444,0,0.6626865671641791,0,-1.2826079335395348,-0.5717210801795078,2.0,0 383,transplant_1,0.0,0.10439560439560439,91.0,1.0986122886681098,0.0,0.0,0.03296703296703297,-3.41224721784874,3,0.0,4.51085950651685,0.0,7.954873568234207,0.3956043956043956,-1.1801554774923046,3.736565666280365,3.0,1.0018287178023662,0.0,1.30894378200495,0,0.5,2.256701371034949,0.0,0,0.0,0.0,0.9683211863989214,30.333333333333332,0,0.6043956043956044,0,3.5513667190441454,-0.07697000857507547,2.0,0 384,triazines_1,0.0,0.06153846153846154,130.0,4.0943445622221,0.0,0.0,0.46153846153846156,-0.7731898882334817,60,0.0,4.867534450455582,0.0,125.00775193798447,0.43846153846153846,-3.0,28.439502457932655,60.0,2.90647393574056,0.0,3.1863823480126503,0,0.5,11.269771600967994,0.0,0,0.0,0.0,0.9890453237543657,2.1666666666666665,0,0.5615384615384615,0,17.38272477252215,-0.09509658079260981,2.0,0 385,tumors_C_1,0.0,0.19047619047619047,42.0,8.871926251117628,0.0,0.0,169.73809523809524,5.13425663283426,7129,0.0,3.7376696182833684,0.0,36.64730551301458,0.30952380952380953,-1.2730511404994578,4.376789632482924,7129.0,1.405711151905116,0.0,0.6118239772339054,0,0.5,6.199196291302237,0.0,0,0.0,0.0,0.8926230133850988,0.005891429372983589,0,0.6904761904761905,0,3.224144301363438,-5.888276259925494,2.0,0 386,twonorm_1,0.0,0.000386100386100402,5180.0,2.995732273553991,0.0,0.0,0.003861003861003861,-5.556828061699537,20,0.0,8.55256033525353,0.0,0.09101327991180863,0.4996138996138996,-0.14279437815055163,0.06464355390050101,20.0,0.02990013062561377,0.0,0.009153083176878098,0,0.5,0.07869164561059613,0.0,0,0.0,0.0,0.9999995698647354,259.0,0,0.5003861003861004,0,-0.054944088953942184,-0.03232367878274952,2.0,0 387,vehicle_1,0.0,0.020093542657720127,592.0,2.8903717578961645,0.0,0.0,0.030405405405405407,-3.493134876987841,18,0.0,6.3835066348840055,0.0,53.056585231311935,0.2195945945945946,-1.0883794164754896,14.070464237356251,18.0,1.6496052002339388,0.0,0.9831181874883632,0,0.25,6.467450847407796,0.0,0,0.0,0.0,1.9952855927104782,32.888888888888886,0,0.27533783783783783,0,4.9722891577088975,-0.2884336110842764,4.0,0 388,vehicle_2,0.0,0.2466216216216216,592.0,2.8903717578961645,0.0,0.0,0.030405405405405407,-3.493134876987841,18,0.0,6.3835066348840055,0.0,50.25950755101645,0.2533783783783784,-0.9821849719498492,13.149401468857292,18.0,1.5930852159020779,0.0,1.057535697949906,0,0.5,6.440687377411231,0.0,0,0.0,0.0,0.8165889486941612,32.888888888888886,0,0.7466216216216216,0,4.728497177257213,-0.20851108081277703,2.0,0 389,vertebra-column_1,0.0,0.17741935483870966,217.0,1.791759469228055,0.0,0.0,0.027649769585253458,-3.5881378843124043,6,0.0,5.37989735354046,0.0,43.878450667807016,0.3225806451612903,0.31443928448855774,15.905640456807305,6.0,1.6863005932467268,0.0,1.285275357840965,0,0.5,4.9829935716545855,0.0,0,0.0,0.0,0.9071657675730821,36.166666666666664,0,0.6774193548387096,0,8.411549619864948,-0.11626484767489365,2.0,0 390,vertebra-column_2,0.0,0.12537799648179332,217.0,1.791759469228055,0.0,0.0,0.027649769585253458,-3.5881378843124043,6,0.0,5.37989735354046,0.0,41.32676879814853,0.1935483870967742,-0.4442343957416224,15.094505926215703,6.0,1.6236087241901307,0.0,1.241223480288526,0,0.3333333333333333,4.81120513432344,0.0,0,0.0,0.0,1.4830574179235887,36.166666666666664,0,0.4976958525345622,0,7.684318635244277,-0.03511218018907968,3.0,0 391,veteran_1,0.0,0.21578947368421053,95.0,1.9459101490553132,0.0,0.0,0.07368421052631578,-2.6079667425452278,7,0.0,4.553876891600541,0.0,22.232257139061474,0.28421052631578947,-1.9781639928698749,8.168458096679608,7.0,1.915393463725473,0.0,0.24001357728910527,0,0.5,4.172818209213145,0.0,0,0.0,0.0,0.8611247055579297,13.571428571428571,0,0.7157894736842105,0,3.112125594678168,-2.76770784555492,2.0,0 392,vineyard_1,0.0,0.02777777777777779,36.0,0.6931471805599453,0.0,0.0,0.05555555555555555,-2.890371757896165,2,0.0,3.58351893845611,0.0,1.095789673021084,0.4722222222222222,-0.4949262971811903,0.7953579851011372,2.0,0.6096577588350027,0.0,-0.30557096365516906,0,0.5,0.3040867951798336,0.0,0,0.0,0.0,0.997772472089982,18.0,0,0.5277777777777778,0,0.3004316879199469,-0.9152287224901717,2.0,0 393,vinnie_1,0.0,0.018796992481203034,266.0,0.6931471805599453,0.0,0.0,0.007518796992481203,-4.890349128221754,2,0.0,5.583496308781699,0.0,-0.5012191775956705,0.48120300751879697,-1.2844025937077206,0.39159170805602506,2.0,0.14782423291574803,0.0,0.026638877088533935,0,0.5,0.17446311000428197,0.0,0,0.0,0.0,0.9989802737140192,133.0,0,0.518796992481203,0,-0.8928108856516955,-0.1211853558272141,2.0,0 394,visualizing_environmental_1,0.0,0.03246753246753245,77.0,1.0986122886681098,0.0,0.0,0.03896103896103896,-3.245193133185574,3,0.0,4.343805421853684,0.0,1.4002159274133703,0.4675324675324675,-0.7622097472504268,0.9992298532868581,3.0,0.8231870650366289,0.0,0.1785281486065509,0,0.5,1.3192859218374788,0.0,0,0.0,0.0,0.9969562518473083,25.666666666666668,0,0.5324675324675324,0,-0.011989986350759837,-0.5929954450616708,2.0,0 395,visualizing_ethanol_1,0.0,0.07377049180327869,61.0,0.6931471805599453,0.0,0.0,0.03278688524590164,-3.417726683613366,2,0.0,4.110873864173311,0.0,-1.2423361205830705,0.4262295081967213,-1.4129129983349624,0.08528843887594595,2.0,0.0990398461363571,0.0,0.31672192341059313,0,0.5,0.4157617695469502,0.0,0,0.0,0.0,0.9842399889605549,30.5,0,0.5737704918032787,0,-1.3276245594590166,0.21768207727423602,2.0,0 396,visualizing_galaxy_1,0.0,0.044247787610619455,226.0,1.3862943611198906,0.0,0.0,0.017699115044247787,-4.034240638152395,4,0.0,5.420534999272286,0.0,-0.22334222970934592,0.4557522123893805,-0.9097984077441792,0.2728508716117229,4.0,0.25383820738129453,0.0,-0.09522684583859249,0,0.5,0.0873370408644061,0.0,0,0.0,0.0,0.9943433940231612,56.5,0,0.5442477876106194,0,-0.5861491794579528,-0.5288846233653606,2.0,0 397,visualizing_hamster_1,0.0,0.049019607843137275,51.0,1.6094379124341003,0.0,0.0,0.09803921568627451,-2.322387720290225,5,0.0,3.9318256327243257,0.0,3.090008283417447,0.45098039215686275,-0.6383288901583932,1.3294939459551345,5.0,0.5746816977140553,0.0,0.6445552660050942,0,0.5,1.6909030499262712,0.0,0,0.0,0.0,0.9930554830121975,10.2,0,0.5490196078431373,0,0.5165872278245425,0.014604618909740925,2.0,0 398,visualizing_livestock_1,0.0,0.34615384615384615,91.0,0.6931471805599453,0.0,0.0,0.02197802197802198,-3.817712325956905,2,0.0,4.51085950651685,0.0,-1.1961203732663974,0.15384615384615385,-1.386322780766717,0.09510120375015985,2.0,0.004156732842053253,0.0,0.037078270266074034,0,0.5,0.04123500310812729,0.0,0,0.0,0.0,0.6193821946787638,45.5,0,0.8461538461538461,0,-1.2912215770165574,0.032921537424020784,2.0,0 399,visualizing_slope_1,0.0,0.06666666666666665,30.0,1.0986122886681098,0.0,0.0,0.1,-2.3025850929940455,3,0.0,3.4011973816621555,0.0,-0.6908407473308933,0.43333333333333335,-1.4378013163121939,0.30507458831610396,3.0,0.3705748936344584,0.0,0.20562845500986038,0,0.5,0.7274782107908366,0.0,0,0.0,0.0,0.9871377743721862,10.0,0,0.5666666666666667,0,-1.058043193787544,-0.09704869206191713,2.0,0 400,visualizing_soil_1,0.0,0.050099206349206366,6048.0,1.3862943611198906,0.0,0.0,0.0006613756613756613,-7.321188556739479,4,0.0,8.70748291785937,0.0,-0.04690149199148186,0.44990079365079366,-1.272992650666337,0.4783088076164968,4.0,0.45039058678055005,0.0,0.49676043861215835,0,0.5,1.2054274185249307,0.0,0,0.0,0.0,0.9927457044082962,1512.0,0,0.5500992063492064,0,-0.7359144512015232,0.021695470483385115,2.0,0 401,vowel_1,0.0,0.4206349206349206,693.0,2.4849066497880004,0.0,0.0,0.017316017316017316,-4.056123349401903,12,0.0,6.541029999189903,0.0,-0.04175786191300768,0.07936507936507936,-1.9799015586546347,0.5292615423666833,12.0,0.1447829828074493,0.0,0.0901715383935404,0,0.5,0.35998482942360505,0.0,0,0.0,0.0,0.3999380474390278,57.75,0,0.9206349206349206,0,-0.587557840951383,-0.1627446408479655,2.0,0 402,wall-robot-navigation_1,0.0,0.1454771788689271,3819.0,3.1780538303479458,0.0,0.0,0.006284367635506678,-5.069690056877571,24,0.0,8.247743887225516,0.0,14.126870686654765,0.061272584446190104,-1.6066296394574235,4.564074981936518,24.0,1.0604163610149675,0.0,1.5269053557811352,0,0.25,3.801028052493401,0.0,0,0.0,0.0,1.7240591503540998,159.125,0,0.4050798638387012,0,2.3940313187954945,0.007049344149875565,4.0,0 403,wall-robot-navigation_2,0.0,0.14917347554923077,3819.0,1.3862943611198906,0.0,0.0,0.0010473946059177796,-6.861449526105625,4,0.0,8.247743887225516,0.0,41.62395673979968,0.060487038491751764,0.4361544184234192,16.65404544655048,4.0,1.629647261853901,0.0,2.5748799171147336,0,0.25,5.256261750642692,0.0,0,0.0,0.0,1.7107123184207413,954.75,0,0.40062843676355064,0,13.047209519765097,0.9539687799545101,4.0,0 404,wall-robot-navigation_3,0.0,0.14554950683379272,3819.0,0.6931471805599453,0.0,0.0,0.0005236973029588898,-7.554596706665571,2,0.0,8.247743887225516,0.0,39.53485033926278,0.06074888714323121,3.9860935219644755,17.774378408649156,2.0,1.6603624602333549,0.0,3.4336443118290183,0,0.25,5.094006772062373,0.0,0,0.0,0.0,1.7231379681226133,1909.5,0,0.39931919350615347,0,21.76047193061363,1.7732818515956634,4.0,0 405,waveform-5000_1,0.0,0.00155328632669523,3500.0,3.6888794541139363,0.0,0.0,0.011428571428571429,-4.471638793363569,40,0.0,8.160518247477505,0.0,0.15431157205350354,0.33171428571428574,-0.6712460946832888,0.26788465182788046,40.0,0.11711077745852058,0.0,0.03463041148473607,0,0.3333333333333333,0.26397342221032255,0.0,0,0.0,0.0,1.5849468475773665,87.5,0,0.3354285714285714,0,-0.19379855147790584,-0.26256080079423744,3.0,0 406,waveform-5000_2,0.0,0.15914285714285714,3500.0,3.6888794541139363,0.0,0.0,0.011428571428571429,-4.471638793363569,40,0.0,8.160518247477505,0.0,0.15211267187210398,0.34085714285714286,-0.6900933457798422,0.2586767985650036,40.0,0.12193681354437191,0.0,0.03555383777550162,0,0.5,0.2868799895986644,0.0,0,0.0,0.0,0.9256365710248203,87.5,0,0.6591428571428571,0,-0.18806054866843075,-0.2621021987583652,2.0,0 407,wdbc_1,0.0,0.12060301507537688,398.0,3.4011973816621555,0.0,0.0,0.07537688442211055,-2.585254623622282,30,0.0,5.986452005284438,0.0,42.15644713247964,0.3793969849246231,-0.551816927310349,9.424019114122395,30.0,1.028314826631465,0.0,1.5783196911113342,0,0.5,4.866022057286755,0.0,0,0.0,0.0,0.9576150179318341,13.266666666666667,0,0.6206030150753769,0,6.033145824088632,0.4578018403613198,2.0,0 408,white-clover_1,0.0,0.21346973944856626,44.0,3.4339872044851463,0.0,0.0,0.7045454545454546,-0.35020242943311486,31,0.0,3.784189633918261,0.0,32.86857755545317,0.06818181818181818,-1.4617716809870378,6.937553257732072,31.0,1.3275881296215675,0.0,0.9718827065461694,0,0.3333333333333333,5.7066223563603256,0.0,0,0.0,0.0,1.2419389116382147,1.4193548387096775,0,0.5909090909090909,0,2.57722675089895,-0.46911273641111034,3.0,0 409,white-clover_2,0.0,0.09090909090909091,44.0,3.4339872044851463,0.0,0.0,0.7045454545454546,-0.35020242943311486,31,0.0,3.784189633918261,0.0,27.94985689321105,0.4090909090909091,-1.4285714285714284,7.595673124613732,31.0,1.4270912526470865,0.0,1.1256155186557935,0,0.5,5.149840785260788,0.0,0,0.0,0.0,0.976020648236615,1.4193548387096775,0,0.5909090909090909,0,3.3709162272507784,-0.44343964745492176,2.0,0 410,wholesale-customers_1,0.0,0.2822290047934791,308.0,2.0794415416798357,0.0,0.0,0.025974025974025976,-3.6506582412937383,8,0.0,5.730099782973574,0.0,30.30487113809361,0.10064935064935066,-1.4625723441909413,11.36323692385761,8.0,1.8778978551512326,0.0,2.4613726699352676,0,0.3333333333333333,4.615198423719431,0.0,0,0.0,0.0,1.0976186218989168,38.5,0,0.7305194805194806,0,13.019192320324525,-1.343465180987647,3.0,0 411,wilt_1,0.0,0.44626513138470625,3387.0,1.6094379124341003,0.0,0.0,0.0014762326542663124,-6.518261940383671,5,0.0,8.127699852817772,0.0,131.86103999877972,0.05373486861529377,0.11820453362086303,56.27864045548929,5.0,3.7280583863701677,0.0,3.580778173841175,0,0.5,8.27888055944382,0.0,0,0.0,0.0,0.3020553891371378,677.4,0,0.9462651313847062,0,52.01493841880115,-0.5688639839143177,2.0,0 412,wind_1,0.0,0.03662247337535318,4601.0,2.6390573296152584,0.0,0.0,0.0030428167789610956,-5.79497162054021,14,0.0,8.434028950155469,0.0,1.0664434764497601,0.4633775266246468,-1.1981456733227562,0.6578748492804671,14.0,0.2808477806951665,0.0,0.4917661138934885,0,0.5,0.9149983720998993,0.0,0,0.0,0.0,0.9961266311219167,328.64285714285717,0,0.5366224733753532,0,-0.04557857435887439,-0.023640040906380902,2.0,0 413,wind_correlations_1,0.0,0.016129032258064502,31.0,3.828641396489095,0.0,0.0,1.4838709677419355,0.39465419200394874,46,0.0,3.4339872044851463,0.0,10.776030067231819,0.4838709677419355,-0.8519662093158948,2.015162841044668,46.0,0.7009724325240335,0.0,0.126778289447902,0,0.5,2.78907099759667,0.0,0,0.0,0.0,0.9992492479956566,0.6739130434782609,0,0.5161290322580645,0,0.7276481223361055,-1.309935900149033,2.0,0 414,wine_1,0.0,0.052814200818248655,124.0,2.5649493574615367,0.0,0.0,0.10483870967741936,-2.2553322081435,13,0.0,4.820281565605037,0.0,1.9813166040473673,0.2661290322580645,-1.0340002577358671,0.8046389471636812,13.0,0.4423039135786039,0.0,0.34136693453872663,0,0.3333333333333333,1.0594022296523848,0.0,0,0.0,0.0,1.5665905034741163,9.538461538461538,0,0.3951612903225806,0,-0.04116758728106502,-0.319648656139821,3.0,0 415,wine_2,0.0,0.09677419354838712,124.0,2.5649493574615367,0.0,0.0,0.10483870967741936,-2.2553322081435,13,0.0,4.820281565605037,0.0,2.096193871636073,0.4032258064516129,-1.2668159324087294,0.9079839301580003,13.0,0.47146659810225905,0.0,0.32695306976013483,0,0.5,1.1898550899410651,0.0,0,0.0,0.0,0.9728063221185003,9.538461538461538,0,0.5967741935483871,0,-0.15781931888773332,-0.34753538197762357,2.0,0 416,wisconsin_1,0.0,0.05555555555555558,135.0,3.4657359027997265,0.0,0.0,0.23703703703703705,-1.4395388756387029,32,0.0,4.90527477843843,0.0,27.136360242312588,0.4444444444444444,-0.684227321457247,4.808378744838451,32.0,0.842533004167168,0.0,1.0542911395265258,0,0.5,4.263320479528125,0.0,0,0.0,0.0,0.9910760598382222,4.21875,0,0.5555555555555556,0,2.423956645582273,-0.19073600950951736,2.0,0 417,witmer_census_1980_1,0.0,0.042857142857142844,35.0,1.3862943611198906,0.0,0.0,0.11428571428571428,-2.169053700369523,4,0.0,3.5553480614894135,0.0,2.385809741577294,0.45714285714285713,-0.8653760764072063,1.3237003241167327,4.0,0.39527637168688107,0.0,-0.2532744615353235,0,0.5,0.11925761231001504,0.0,0,0.0,0.0,0.9946937953613058,8.75,0,0.5428571428571428,0,0.10705550657310015,-0.8590593382629029,2.0,0 418,yeast_ml8_1,0.0,0.48521584861028977,1691.0,4.7535901911063645,0.0,0.0,0.06859846244825547,-2.6794851577922154,116,0.0,7.43307534889858,0.0,7.799651567944247,0.01478415138971023,-1.9142333367625706,1.8947972105506887,116.0,0.807184299040846,0.0,0.4351224544684267,0,0.5,3.1304395167363066,0.0,0,0.0,0.0,0.1110553272820291,14.577586206896552,0,0.9852158486102898,0,1.341910596322937,-1.1981022415234661,2.0,0 419,zoo_1,0.0,0.1142857142857143,70.0,2.772588722239781,0.0,0.0,0.22857142857142856,-1.4759065198095778,16,0.0,4.248495242049359,0.0,3.8790322580645142,0.38571428571428573,-1.947063688999174,1.7889310617597967,16.0,1.2086932593481197,0.0,0.2752761379088625,0,0.5,2.4246715773614604,0.0,0,0.0,0.0,0.9619780596506257,4.375,0,0.6142857142857143,0,-0.38791195147677204,-2.041241452319315,2.0,0 ================================================ FILE: server/recommender_dataset/dataset_method_PMA.csv ================================================ method,dataset_id,name,test_judgment_metric,max_test_judgment_metric,PMA classify_svm,1,2dplanes_1,0.563809835,0.929072232,0.60685253 classify_sgd,1,2dplanes_1,0.840643275,0.929072232,0.904820148 classify_rf,1,2dplanes_1,0.905370417,0.929072232,0.974488727 classify_pa,1,2dplanes_1,0.766917293,0.929072232,0.825465735 classify_mlp,1,2dplanes_1,0.929072232,0.929072232,1 classify_logreg,1,2dplanes_1,0.840702211,0.929072232,0.904883583 classify_knn,1,2dplanes_1,0.916304615,0.929072232,0.98625767 classify_gnb,1,2dplanes_1,0.80968914,0.929072232,0.871502895 classify_et,1,2dplanes_1,0.828806983,0.929072232,0.892080244 classify_dt,1,2dplanes_1,0.890688259,0.929072232,0.958685696 classify_dbn,1,2dplanes_1,0.928372241,0.929072232,0.99924657 classify_svm,2,AP_Endometrium_Prostate_1,0.975609756,1,0.975609756 classify_sgd,2,AP_Endometrium_Prostate_1,1,1,1 classify_rf,2,AP_Endometrium_Prostate_1,0.975609756,1,0.975609756 classify_pa,2,AP_Endometrium_Prostate_1,1,1,1 classify_mnb,2,AP_Endometrium_Prostate_1,0.975609756,1,0.975609756 classify_mlp,2,AP_Endometrium_Prostate_1,1,1,1 classify_logreg,2,AP_Endometrium_Prostate_1,1,1,1 classify_knn,2,AP_Endometrium_Prostate_1,1,1,1 classify_gp,2,AP_Endometrium_Prostate_1,0.7,1,0.7 classify_et,2,AP_Endometrium_Prostate_1,0.95,1,0.95 classify_dt,2,AP_Endometrium_Prostate_1,0.95,1,0.95 classify_dbn,2,AP_Endometrium_Prostate_1,0.975609756,1,0.975609756 classify_bnb,2,AP_Endometrium_Prostate_1,0.975609756,1,0.975609756 classify_svm,3,Amazon_employee_access_1,0.972187238,0.97259623,0.999579484 classify_sgd,3,Amazon_employee_access_1,0.971491343,0.97259623,0.998863982 classify_rf,3,Amazon_employee_access_1,0.971542164,0.97259623,0.998916234 classify_pa,3,Amazon_employee_access_1,0.971491343,0.97259623,0.998863982 classify_mnb,3,Amazon_employee_access_1,0.693028665,0.97259623,0.712555369 classify_mlp,3,Amazon_employee_access_1,0.971596577,0.97259623,0.998972181 classify_logreg,3,Amazon_employee_access_1,0.945589581,0.97259623,0.972232414 classify_knn,3,Amazon_employee_access_1,0.97259623,0.97259623,1 classify_gnb,3,Amazon_employee_access_1,0.971491343,0.97259623,0.998863982 classify_et,3,Amazon_employee_access_1,0.971491343,0.97259623,0.998863982 classify_dt,3,Amazon_employee_access_1,0.972067039,0.97259623,0.999455899 classify_dbn,3,Amazon_employee_access_1,0.971491343,0.97259623,0.998863982 classify_bnb,3,Amazon_employee_access_1,0.738477815,0.97259623,0.759285089 classify_svm,4,Australian_1,0.849462366,0.9035533,0.940135315 classify_sgd,4,Australian_1,0.9035533,0.9035533,1 classify_rf,4,Australian_1,0.886597938,0.9035533,0.981234797 classify_pa,4,Australian_1,0.882978723,0.9035533,0.977229261 classify_mlp,4,Australian_1,0.893617021,0.9035533,0.989003108 classify_logreg,4,Australian_1,0.890052356,0.9035533,0.985057945 classify_knn,4,Australian_1,0.858757062,0.9035533,0.950422142 classify_gp,4,Australian_1,0.890052356,0.9035533,0.985057945 classify_gnb,4,Australian_1,0.770186335,0.9035533,0.852397236 classify_et,4,Australian_1,0.896907217,0.9035533,0.992644504 classify_dt,4,Australian_1,0.814479638,0.9035533,0.901418476 classify_dbn,4,Australian_1,0.884210526,0.9035533,0.978592549 classify_bnb,4,Australian_1,0.877777778,0.9035533,0.971473159 classify_svm,5,BNG(breast-w)_1,0.968472307,0.979254137,0.988989753 classify_sgd,5,BNG(breast-w)_1,0.972739608,0.979254137,0.993347458 classify_rf,5,BNG(breast-w)_1,0.94844358,0.979254137,0.96853671 classify_pa,5,BNG(breast-w)_1,0.970888097,0.979254137,0.991456723 classify_mlp,5,BNG(breast-w)_1,0.979254137,0.979254137,1 classify_logreg,5,BNG(breast-w)_1,0.962543659,0.979254137,0.982935504 classify_knn,5,BNG(breast-w)_1,0.977031366,0.979254137,0.997730139 classify_dt,5,BNG(breast-w)_1,0.967653984,0.979254137,0.988154094 classify_dbn,5,BNG(breast-w)_1,0.975232957,0.979254137,0.99589363 classify_svm,8,BNG(tic-tac-toe)_1,0,0.860345157,0 classify_sgd,8,BNG(tic-tac-toe)_1,0.790845323,0.860345157,0.919218661 classify_rf,8,BNG(tic-tac-toe)_1,0.802790642,0.860345157,0.933102994 classify_pa,8,BNG(tic-tac-toe)_1,0.622167345,0.860345157,0.723160164 classify_mlp,8,BNG(tic-tac-toe)_1,0.860345157,0.860345157,1 classify_logreg,8,BNG(tic-tac-toe)_1,0.661324397,0.860345157,0.768673354 classify_knn,8,BNG(tic-tac-toe)_1,0.84008953,0.860345157,0.976456394 classify_et,8,BNG(tic-tac-toe)_1,0.827233554,0.860345157,0.961513582 classify_dt,8,BNG(tic-tac-toe)_1,0.804931848,0.860345157,0.935591769 classify_dbn,8,BNG(tic-tac-toe)_1,0.857323153,0.860345157,0.996487451 classify_bnb,8,BNG(tic-tac-toe)_1,0.696586783,0.860345157,0.809659678 classify_sgd,9,BNG(vote)_1,0.952768624,0.967171388,0.985108365 classify_rf,9,BNG(vote)_1,0.95410112,0.967171388,0.98648609 classify_pa,9,BNG(vote)_1,0.953132071,0.967171388,0.985484148 classify_mnb,9,BNG(vote)_1,0.903213587,0.967171388,0.933871285 classify_mlp,9,BNG(vote)_1,0.967171388,0.967171388,1 classify_logreg,9,BNG(vote)_1,0.951964223,0.967171388,0.98427666 classify_knn,9,BNG(vote)_1,0.962288094,0.967171388,0.994950954 classify_gnb,9,BNG(vote)_1,0.918545314,0.967171388,0.949723416 classify_et,9,BNG(vote)_1,0.951348903,0.967171388,0.983640455 classify_dbn,9,BNG(vote)_1,0.966204082,0.967171388,0.998999861 classify_bnb,9,BNG(vote)_1,0.900239476,0.967171388,0.930796224 classify_svm,10,CastMetal1_1,0.266666667,0.444444444,0.6 classify_sgd,10,CastMetal1_1,0.258064516,0.444444444,0.580645161 classify_rf,10,CastMetal1_1,0,0.444444444,0 classify_pa,10,CastMetal1_1,0.387096774,0.444444444,0.870967742 classify_mnb,10,CastMetal1_1,0.206896552,0.444444444,0.465517241 classify_mlp,10,CastMetal1_1,0.333333333,0.444444444,0.75 classify_logreg,10,CastMetal1_1,0.333333333,0.444444444,0.75 classify_knn,10,CastMetal1_1,0.25,0.444444444,0.5625 classify_gp,10,CastMetal1_1,0,0.444444444,0 classify_gnb,10,CastMetal1_1,0.333333333,0.444444444,0.75 classify_et,10,CastMetal1_1,0,0.444444444,0 classify_dt,10,CastMetal1_1,0.222222222,0.444444444,0.5 classify_dbn,10,CastMetal1_1,0.444444444,0.444444444,1 classify_bnb,10,CastMetal1_1,0.275862069,0.444444444,0.620689655 classify_svm,11,Click_prediction_small_1,0,0.325453294,0 classify_sgd,11,Click_prediction_small_1,0.289323437,0.325453294,0.888986047 classify_rf,11,Click_prediction_small_1,0.029069767,0.325453294,0.089320858 classify_pa,11,Click_prediction_small_1,0.173003802,0.325453294,0.531577974 classify_mlp,11,Click_prediction_small_1,0.289323437,0.325453294,0.888986047 classify_logreg,11,Click_prediction_small_1,0.321424469,0.325453294,0.987620881 classify_knn,11,Click_prediction_small_1,0.233092089,0.325453294,0.716207497 classify_gnb,11,Click_prediction_small_1,0.075455334,0.325453294,0.23184689 classify_et,11,Click_prediction_small_1,0,0.325453294,0 classify_dt,11,Click_prediction_small_1,0.095902354,0.325453294,0.294673171 classify_dbn,11,Click_prediction_small_1,0.015625,0.325453294,0.048009961 classify_bnb,11,Click_prediction_small_1,0.325453294,0.325453294,1 classify_svm,12,CostaMadre1_1,0.237288136,0.545454545,0.435028249 classify_sgd,12,CostaMadre1_1,0.5,0.545454545,0.916666667 classify_rf,12,CostaMadre1_1,0.153846154,0.545454545,0.282051282 classify_mlp,12,CostaMadre1_1,0.545454545,0.545454545,1 classify_logreg,12,CostaMadre1_1,0.421052632,0.545454545,0.771929825 classify_knn,12,CostaMadre1_1,0.363636364,0.545454545,0.666666667 classify_gp,12,CostaMadre1_1,0,0.545454545,0 classify_gnb,12,CostaMadre1_1,0.384615385,0.545454545,0.705128205 classify_et,12,CostaMadre1_1,0.153846154,0.545454545,0.282051282 classify_dt,12,CostaMadre1_1,0.333333333,0.545454545,0.611111111 classify_dbn,12,CostaMadre1_1,0.315789474,0.545454545,0.578947368 classify_bnb,12,CostaMadre1_1,0.333333333,0.545454545,0.611111111 classify_sgd,13,CreditCardSubset_1,0,0.75,0 classify_rf,13,CreditCardSubset_1,0.571428571,0.75,0.761904762 classify_pa,13,CreditCardSubset_1,0.666666667,0.75,0.888888889 classify_mlp,13,CreditCardSubset_1,0.75,0.75,1 classify_logreg,13,CreditCardSubset_1,0.666666667,0.75,0.888888889 classify_knn,13,CreditCardSubset_1,0.75,0.75,1 classify_et,13,CreditCardSubset_1,0.75,0.75,1 classify_dt,13,CreditCardSubset_1,0.6,0.75,0.8 classify_dbn,13,CreditCardSubset_1,0.666666667,0.75,0.888888889 classify_bnb,13,CreditCardSubset_1,0.666666667,0.75,0.888888889 classify_svm,15,MagicTelescope_1,0.697283951,0.801044386,0.870468556 classify_sgd,15,MagicTelescope_1,0.700258398,0.801044386,0.874181768 classify_rf,15,MagicTelescope_1,0.503135374,0.801044386,0.628099245 classify_pa,15,MagicTelescope_1,0.666294643,0.801044386,0.831782426 classify_mlp,15,MagicTelescope_1,0.801044386,0.801044386,1 classify_logreg,15,MagicTelescope_1,0.699855002,0.801044386,0.873678181 classify_knn,15,MagicTelescope_1,0.754674221,0.801044386,0.942112864 classify_gnb,15,MagicTelescope_1,0.491803279,0.801044386,0.613952594 classify_et,15,MagicTelescope_1,0.098753595,0.801044386,0.123281053 classify_dbn,15,MagicTelescope_1,0.799134901,0.801044386,0.997616256 classify_bnb,15,MagicTelescope_1,0.62327791,0.801044386,0.778081615 classify_svm,16,MegaWatt1_1,0.095238095,0.4,0.238095238 classify_sgd,16,MegaWatt1_1,0.4,0.4,1 classify_rf,16,MegaWatt1_1,0.285714286,0.4,0.714285714 classify_pa,16,MegaWatt1_1,0,0.4,0 classify_mlp,16,MegaWatt1_1,0.375,0.4,0.9375 classify_logreg,16,MegaWatt1_1,0.210526316,0.4,0.526315789 classify_knn,16,MegaWatt1_1,0.315789474,0.4,0.789473684 classify_gp,16,MegaWatt1_1,0,0.4,0 classify_gnb,16,MegaWatt1_1,0.153846154,0.4,0.384615385 classify_dt,16,MegaWatt1_1,0.4,0.4,1 classify_dbn,16,MegaWatt1_1,0.285714286,0.4,0.714285714 classify_bnb,16,MegaWatt1_1,0.24,0.4,0.6 classify_svm,17,PhishingWebsites_1,0.905822377,0.97460572,0.929424441 classify_sgd,17,PhishingWebsites_1,0.910392365,0.97460572,0.934113504 classify_rf,17,PhishingWebsites_1,0.915433404,0.97460572,0.939285892 classify_pa,17,PhishingWebsites_1,0.814709236,0.97460572,0.835937261 classify_mnb,17,PhishingWebsites_1,0.847121821,0.97460572,0.869194386 classify_mlp,17,PhishingWebsites_1,0.97460572,0.97460572,1 classify_logreg,17,PhishingWebsites_1,0.90305158,0.97460572,0.926581448 classify_knn,17,PhishingWebsites_1,0.969551282,0.97460572,0.994813863 classify_gnb,17,PhishingWebsites_1,0.396722725,0.97460572,0.407059713 classify_et,17,PhishingWebsites_1,0.923748395,0.97460572,0.947817539 classify_dt,17,PhishingWebsites_1,0.876744736,0.97460572,0.899589155 classify_dbn,17,PhishingWebsites_1,0.952304823,0.97460572,0.977118031 classify_svm,18,PieChart1_1,0.305882353,0.484848485,0.630882353 classify_sgd,18,PieChart1_1,0.24,0.484848485,0.495 classify_rf,18,PieChart1_1,0.166666667,0.484848485,0.34375 classify_pa,18,PieChart1_1,0.333333333,0.484848485,0.6875 classify_mnb,18,PieChart1_1,0.071428571,0.484848485,0.147321429 classify_mlp,18,PieChart1_1,0.411764706,0.484848485,0.849264706 classify_logreg,18,PieChart1_1,0.37037037,0.484848485,0.763888889 classify_knn,18,PieChart1_1,0.484848485,0.484848485,1 classify_gp,18,PieChart1_1,0,0.484848485,0 classify_et,18,PieChart1_1,0.16,0.484848485,0.33 classify_dbn,18,PieChart1_1,0.275862069,0.484848485,0.568965517 classify_bnb,18,PieChart1_1,0.2,0.484848485,0.4125 classify_svm,19,PieChart2_1,0.052173913,0.363636364,0.143478261 classify_sgd,19,PieChart2_1,0.363636364,0.363636364,1 classify_rf,19,PieChart2_1,0,0.363636364,0 classify_pa,19,PieChart2_1,0,0.363636364,0 classify_mlp,19,PieChart2_1,0.2,0.363636364,0.55 classify_logreg,19,PieChart2_1,0.068181818,0.363636364,0.1875 classify_knn,19,PieChart2_1,0,0.363636364,0 classify_gp,19,PieChart2_1,0,0.363636364,0 classify_gnb,19,PieChart2_1,0.111111111,0.363636364,0.305555556 classify_et,19,PieChart2_1,0,0.363636364,0 classify_dt,19,PieChart2_1,0.142857143,0.363636364,0.392857143 classify_dbn,19,PieChart2_1,0,0.363636364,0 classify_bnb,19,PieChart2_1,0.074074074,0.363636364,0.203703704 classify_svm,20,PieChart3_1,0.434210526,0.44137931,0.983758224 classify_sgd,20,PieChart3_1,0.377952756,0.44137931,0.856299213 classify_rf,20,PieChart3_1,0,0.44137931,0 classify_pa,20,PieChart3_1,0.34,0.44137931,0.7703125 classify_mnb,20,PieChart3_1,0.246987952,0.44137931,0.559582078 classify_mlp,20,PieChart3_1,0.363636364,0.44137931,0.823863636 classify_logreg,20,PieChart3_1,0.44137931,0.44137931,1 classify_knn,20,PieChart3_1,0.384615385,0.44137931,0.871394231 classify_gp,20,PieChart3_1,0,0.44137931,0 classify_et,20,PieChart3_1,0,0.44137931,0 classify_dt,20,PieChart3_1,0.225,0.44137931,0.509765625 classify_dbn,20,PieChart3_1,0.216216216,0.44137931,0.489864865 classify_bnb,20,PieChart3_1,0.409090909,0.44137931,0.926846591 classify_sgd,21,PieChart4_1,0.565517241,0.627118644,0.901770736 classify_pa,21,PieChart4_1,0.519230769,0.627118644,0.827962578 classify_mlp,21,PieChart4_1,0.627118644,0.627118644,1 classify_logreg,21,PieChart4_1,0.386266094,0.627118644,0.615937826 classify_knn,21,PieChart4_1,0.54,0.627118644,0.861081081 classify_gp,21,PieChart4_1,0.033898305,0.627118644,0.054054054 classify_et,21,PieChart4_1,0.379746835,0.627118644,0.605542251 classify_dbn,21,PieChart4_1,0.543859649,0.627118644,0.867235657 classify_bnb,21,PieChart4_1,0.379746835,0.627118644,0.605542251 classify_svm,22,PizzaCutter1_1,0,0.580645161,0 classify_sgd,22,PizzaCutter1_1,0.470588235,0.580645161,0.810457516 classify_rf,22,PizzaCutter1_1,0,0.580645161,0 classify_pa,22,PizzaCutter1_1,0.222222222,0.580645161,0.382716049 classify_mnb,22,PizzaCutter1_1,0.129032258,0.580645161,0.222222222 classify_mlp,22,PizzaCutter1_1,0.580645161,0.580645161,1 classify_logreg,22,PizzaCutter1_1,0.43373494,0.580645161,0.746987952 classify_knn,22,PizzaCutter1_1,0.5,0.580645161,0.861111111 classify_gp,22,PizzaCutter1_1,0,0.580645161,0 classify_et,22,PizzaCutter1_1,0.190476191,0.580645161,0.328042328 classify_dt,22,PizzaCutter1_1,0.388888889,0.580645161,0.669753086 classify_dbn,22,PizzaCutter1_1,0.4,0.580645161,0.688888889 classify_bnb,22,PizzaCutter1_1,0.325581395,0.580645161,0.560723514 classify_svm,23,PizzaCutter3_1,0.395604396,0.470588235,0.840659341 classify_sgd,23,PizzaCutter3_1,0.405063291,0.470588235,0.860759494 classify_rf,23,PizzaCutter3_1,0,0.470588235,0 classify_mnb,23,PizzaCutter3_1,0.21875,0.470588235,0.46484375 classify_mlp,23,PizzaCutter3_1,0.470588235,0.470588235,1 classify_logreg,23,PizzaCutter3_1,0.397790055,0.470588235,0.845303867 classify_knn,23,PizzaCutter3_1,0.390804598,0.470588235,0.83045977 classify_gp,23,PizzaCutter3_1,0,0.470588235,0 classify_gnb,23,PizzaCutter3_1,0.239482201,0.470588235,0.508899676 classify_et,23,PizzaCutter3_1,0,0.470588235,0 classify_dbn,23,PizzaCutter3_1,0.25,0.470588235,0.53125 classify_bnb,23,PizzaCutter3_1,0.38,0.470588235,0.8075 classify_svm,24,PopularKids_1,0.134833572,0.422055039,0.319469168 classify_sgd,24,PopularKids_1,0.383715259,0.422055039,0.909159288 classify_rf,24,PopularKids_1,0.163666766,0.422055039,0.387785361 classify_pa,24,PopularKids_1,0.275272518,0.422055039,0.652219481 classify_mnb,24,PopularKids_1,0.353217266,0.422055039,0.836898587 classify_mlp,24,PopularKids_1,0.422055039,0.422055039,1 classify_logreg,24,PopularKids_1,0.364985116,0.422055039,0.864780852 classify_knn,24,PopularKids_1,0.318427521,0.422055039,0.754469185 classify_gp,24,PopularKids_1,0.106364502,0.422055039,0.252015714 classify_gnb,24,PopularKids_1,0.381888612,0.422055039,0.904831306 classify_et,24,PopularKids_1,0.259623631,0.422055039,0.615141646 classify_dbn,24,PopularKids_1,0.323699322,0.422055039,0.766959975 classify_svm,25,SPECTF_1,0.812030075,0.90647482,0.895810956 classify_sgd,25,SPECTF_1,0.851351351,0.90647482,0.939189189 classify_rf,25,SPECTF_1,0.873417722,0.90647482,0.963532248 classify_pa,25,SPECTF_1,0.861111111,0.90647482,0.949955908 classify_mnb,25,SPECTF_1,0.706896552,0.90647482,0.779830323 classify_mlp,25,SPECTF_1,0.897959184,0.90647482,0.990605766 classify_logreg,25,SPECTF_1,0.873239437,0.90647482,0.963335569 classify_knn,25,SPECTF_1,0.873239437,0.90647482,0.963335569 classify_gp,25,SPECTF_1,0.863309353,0.90647482,0.952380952 classify_gnb,25,SPECTF_1,0.842975207,0.90647482,0.929948839 classify_et,25,SPECTF_1,0.8,0.90647482,0.882539683 classify_dt,25,SPECTF_1,0.859259259,0.90647482,0.947912992 classify_dbn,25,SPECTF_1,0.90647482,0.90647482,1 classify_svm,26,SPECT_1,0.887218045,0.93129771,0.952668557 classify_sgd,26,SPECT_1,0.907692308,0.93129771,0.974653216 classify_pa,26,SPECT_1,0.899224806,0.93129771,0.965561062 classify_mlp,26,SPECT_1,0.93129771,0.93129771,1 classify_logreg,26,SPECT_1,0.68627451,0.93129771,0.736901318 classify_knn,26,SPECT_1,0.897637795,0.93129771,0.963856977 classify_gp,26,SPECT_1,0.903703704,0.93129771,0.97037037 classify_dt,26,SPECT_1,0.761061947,0.93129771,0.817205861 classify_dbn,26,SPECT_1,0.914728682,0.93129771,0.982208667 classify_bnb,26,SPECT_1,0.810344828,0.93129771,0.870124364 classify_svm,27,abalone_1,0.769470405,0.810621943,0.949234612 classify_sgd,27,abalone_1,0.810621943,0.810621943,1 classify_rf,27,abalone_1,0.766692852,0.810621943,0.945808164 classify_pa,27,abalone_1,0.747784045,0.810621943,0.922481869 classify_mnb,27,abalone_1,0.705882353,0.810621943,0.870791075 classify_mlp,27,abalone_1,0.805102764,0.810621943,0.993191427 classify_logreg,27,abalone_1,0.748246298,0.810621943,0.923052114 classify_knn,27,abalone_1,0.789432789,0.810621943,0.973860622 classify_et,27,abalone_1,0.775659824,0.810621943,0.956870007 classify_dt,27,abalone_1,0.78493845,0.810621943,0.968316313 classify_dbn,27,abalone_1,0.786604361,0.810621943,0.970371415 classify_svm,28,abalone_2,-0.069283033,0.516534316,-0.134130552 classify_sgd,28,abalone_2,-0.06525167,0.516534316,-0.126325914 classify_mlp,28,abalone_2,0.108739913,0.516534316,0.210518274 classify_logreg,28,abalone_2,-0.069283033,0.516534316,-0.134130552 classify_knn,28,abalone_2,0.516534316,0.516534316,1 classify_dbn,28,abalone_2,0.415988232,0.516534316,0.805344813 classify_bnb,28,abalone_2,0.30173476,0.516534316,0.584152399 classify_svm,29,acute-inflammations_1,1,1,1 classify_sgd,29,acute-inflammations_1,1,1,1 classify_rf,29,acute-inflammations_1,1,1,1 classify_pa,29,acute-inflammations_1,1,1,1 classify_mlp,29,acute-inflammations_1,1,1,1 classify_logreg,29,acute-inflammations_1,1,1,1 classify_knn,29,acute-inflammations_1,1,1,1 classify_gp,29,acute-inflammations_1,1,1,1 classify_et,29,acute-inflammations_1,1,1,1 classify_dt,29,acute-inflammations_1,1,1,1 classify_dbn,29,acute-inflammations_1,1,1,1 classify_bnb,29,acute-inflammations_1,0.933333333,1,0.933333333 classify_svm,30,acute-inflammations_2,1,1,1 classify_sgd,30,acute-inflammations_2,1,1,1 classify_rf,30,acute-inflammations_2,1,1,1 classify_pa,30,acute-inflammations_2,1,1,1 classify_mlp,30,acute-inflammations_2,1,1,1 classify_logreg,30,acute-inflammations_2,1,1,1 classify_knn,30,acute-inflammations_2,1,1,1 classify_gp,30,acute-inflammations_2,0.96969697,1,0.96969697 classify_et,30,acute-inflammations_2,1,1,1 classify_dbn,30,acute-inflammations_2,1,1,1 classify_svm,31,ada_agnostic_1,0.664206642,0.664206642,1 classify_sgd,31,ada_agnostic_1,0.620689655,0.664206642,0.934482759 classify_rf,31,ada_agnostic_1,0.629893238,0.664206642,0.948339264 classify_pa,31,ada_agnostic_1,0.534013605,0.664206642,0.80398715 classify_mnb,31,ada_agnostic_1,0.413127413,0.664206642,0.621986272 classify_mlp,31,ada_agnostic_1,0.626465662,0.664206642,0.943178857 classify_logreg,31,ada_agnostic_1,0,0.664206642,0 classify_knn,31,ada_agnostic_1,0.58419244,0.664206642,0.879534173 classify_gnb,31,ada_agnostic_1,0.549728752,0.664206642,0.827647177 classify_et,31,ada_agnostic_1,0.330232558,0.664206642,0.497183462 classify_dt,31,ada_agnostic_1,0.592465753,0.664206642,0.891990106 classify_dbn,31,ada_agnostic_1,0.619672131,0.664206642,0.93295082 classify_bnb,31,ada_agnostic_1,0.605988024,0.664206642,0.912348636 classify_svm,32,aids_1,0,0.75,0 classify_sgd,32,aids_1,0.666666667,0.75,0.888888889 classify_rf,32,aids_1,0.363636364,0.75,0.484848485 classify_pa,32,aids_1,0.25,0.75,0.333333333 classify_mnb,32,aids_1,0.5,0.75,0.666666667 classify_mlp,32,aids_1,0.636363636,0.75,0.848484849 classify_logreg,32,aids_1,0.75,0.75,1 classify_knn,32,aids_1,0.533333333,0.75,0.711111111 classify_gp,32,aids_1,0.636363636,0.75,0.848484849 classify_gnb,32,aids_1,0.444444444,0.75,0.592592593 classify_et,32,aids_1,0.461538462,0.75,0.615384615 classify_dbn,32,aids_1,0.636363636,0.75,0.848484849 classify_bnb,32,aids_1,0.444444444,0.75,0.592592593 classify_svm,33,ailerons_1,0.893187191,0.901052632,0.991270831 classify_sgd,33,ailerons_1,0.898503842,0.901052632,0.997171319 classify_rf,33,ailerons_1,0.862889984,0.901052632,0.957646594 classify_mlp,33,ailerons_1,0.901052632,0.901052632,1 classify_logreg,33,ailerons_1,0.892880051,0.901052632,0.990929963 classify_knn,33,ailerons_1,0.873077712,0.901052632,0.968953068 classify_et,33,ailerons_1,0.789363921,0.901052632,0.876046407 classify_dt,33,ailerons_1,0.785168196,0.901052632,0.871389937 classify_dbn,33,ailerons_1,0.881349127,0.901052632,0.978132792 classify_bnb,33,ailerons_1,0.778739612,0.901052632,0.864255411 classify_svm,34,analcatdata_apnea1_1,0.324324324,0.756756757,0.428571429 classify_sgd,34,analcatdata_apnea1_1,0,0.756756757,0 classify_rf,34,analcatdata_apnea1_1,0.722222222,0.756756757,0.954365079 classify_pa,34,analcatdata_apnea1_1,0,0.756756757,0 classify_mlp,34,analcatdata_apnea1_1,0.756756757,0.756756757,1 classify_logreg,34,analcatdata_apnea1_1,0.346666667,0.756756757,0.458095238 classify_knn,34,analcatdata_apnea1_1,0.682926829,0.756756757,0.902439024 classify_gp,34,analcatdata_apnea1_1,0,0.756756757,0 classify_et,34,analcatdata_apnea1_1,0,0.756756757,0 classify_dt,34,analcatdata_apnea1_1,0.540540541,0.756756757,0.714285714 classify_dbn,34,analcatdata_apnea1_1,0.16,0.756756757,0.211428571 classify_svm,35,analcatdata_apnea2_1,0.261904762,0.790697674,0.331232493 classify_sgd,35,analcatdata_apnea2_1,0.242424242,0.790697674,0.306595365 classify_rf,35,analcatdata_apnea2_1,0,0.790697674,0 classify_pa,35,analcatdata_apnea2_1,0,0.790697674,0 classify_mnb,35,analcatdata_apnea2_1,0,0.790697674,0 classify_mlp,35,analcatdata_apnea2_1,0.790697674,0.790697674,1 classify_logreg,35,analcatdata_apnea2_1,0.255813954,0.790697674,0.323529412 classify_knn,35,analcatdata_apnea2_1,0.685714286,0.790697674,0.867226891 classify_gp,35,analcatdata_apnea2_1,0,0.790697674,0 classify_dt,35,analcatdata_apnea2_1,0.628571429,0.790697674,0.794957983 classify_dbn,35,analcatdata_apnea2_1,0,0.790697674,0 classify_svm,36,analcatdata_apnea3_1,0.692307692,0.692307692,1 classify_sgd,36,analcatdata_apnea3_1,0.086956522,0.692307692,0.125603865 classify_rf,36,analcatdata_apnea3_1,0.235294118,0.692307692,0.339869281 classify_pa,36,analcatdata_apnea3_1,0,0.692307692,0 classify_mnb,36,analcatdata_apnea3_1,0.148148148,0.692307692,0.213991769 classify_mlp,36,analcatdata_apnea3_1,0.692307692,0.692307692,1 classify_logreg,36,analcatdata_apnea3_1,0.219178082,0.692307692,0.316590563 classify_knn,36,analcatdata_apnea3_1,0.608695652,0.692307692,0.879227053 classify_gp,36,analcatdata_apnea3_1,0,0.692307692,0 classify_gnb,36,analcatdata_apnea3_1,0,0.692307692,0 classify_et,36,analcatdata_apnea3_1,0,0.692307692,0 classify_dbn,36,analcatdata_apnea3_1,0.4,0.692307692,0.577777778 classify_svm,37,analcatdata_asbestos_1,-0.020454991,0.170262932,-0.120137663 classify_sgd,37,analcatdata_asbestos_1,0.167286562,0.170262932,0.982518978 classify_rf,37,analcatdata_asbestos_1,0.14809461,0.170262932,0.86979948 classify_pa,37,analcatdata_asbestos_1,0.151890314,0.170262932,0.892092672 classify_mlp,37,analcatdata_asbestos_1,0.170262932,0.170262932,1 classify_logreg,37,analcatdata_asbestos_1,0.16914458,0.170262932,0.993431617 classify_knn,37,analcatdata_asbestos_1,0.167286562,0.170262932,0.982518978 classify_gp,37,analcatdata_asbestos_1,0.118297826,0.170262932,0.694794951 classify_gnb,37,analcatdata_asbestos_1,0.167286562,0.170262932,0.982518978 classify_et,37,analcatdata_asbestos_1,0.15299244,0.170262932,0.898565754 classify_dbn,37,analcatdata_asbestos_1,0.1623247,0.170262932,0.953376628 classify_svm,38,analcatdata_authorship_1,0.994694754,1,0.994694754 classify_sgd,38,analcatdata_authorship_1,0.994694754,1,0.994694754 classify_pa,38,analcatdata_authorship_1,0.98058331,1,0.98058331 classify_mnb,38,analcatdata_authorship_1,0.957077512,1,0.957077512 classify_mlp,38,analcatdata_authorship_1,1,1,1 classify_logreg,38,analcatdata_authorship_1,0.994694754,1,0.994694754 classify_knn,38,analcatdata_authorship_1,1,1,1 classify_gp,38,analcatdata_authorship_1,0.969656323,1,0.969656323 classify_gnb,38,analcatdata_authorship_1,0.97362224,1,0.97362224 classify_et,38,analcatdata_authorship_1,0.278172767,1,0.278172767 classify_dbn,38,analcatdata_authorship_1,0.981462857,1,0.981462857 classify_svm,39,analcatdata_authorship_2,0.993548387,1,0.993548387 classify_sgd,39,analcatdata_authorship_2,0.996784566,1,0.996784566 classify_rf,39,analcatdata_authorship_2,0.977917981,1,0.977917981 classify_pa,39,analcatdata_authorship_2,0.993548387,1,0.993548387 classify_mnb,39,analcatdata_authorship_2,0.977198697,1,0.977198697 classify_mlp,39,analcatdata_authorship_2,0.996784566,1,0.996784566 classify_logreg,39,analcatdata_authorship_2,0.993548387,1,0.993548387 classify_knn,39,analcatdata_authorship_2,1,1,1 classify_gp,39,analcatdata_authorship_2,0.990415335,1,0.990415335 classify_gnb,39,analcatdata_authorship_2,0.987096774,1,0.987096774 classify_dt,39,analcatdata_authorship_2,0.884955752,1,0.884955752 classify_dbn,39,analcatdata_authorship_2,0.993548387,1,0.993548387 classify_bnb,39,analcatdata_authorship_2,0.984126984,1,0.984126984 classify_svm,40,analcatdata_bankruptcy_1,0.909090909,1,0.909090909 classify_sgd,40,analcatdata_bankruptcy_1,0.909090909,1,0.909090909 classify_rf,40,analcatdata_bankruptcy_1,0.769230769,1,0.769230769 classify_pa,40,analcatdata_bankruptcy_1,0.909090909,1,0.909090909 classify_mlp,40,analcatdata_bankruptcy_1,0.909090909,1,0.909090909 classify_logreg,40,analcatdata_bankruptcy_1,0.909090909,1,0.909090909 classify_knn,40,analcatdata_bankruptcy_1,1,1,1 classify_gp,40,analcatdata_bankruptcy_1,0.8,1,0.8 classify_gnb,40,analcatdata_bankruptcy_1,0.714285714,1,0.714285714 classify_dt,40,analcatdata_bankruptcy_1,0.8,1,0.8 classify_dbn,40,analcatdata_bankruptcy_1,0.909090909,1,0.909090909 classify_svm,41,analcatdata_boxing1_1,0.594594595,0.784313726,0.758108108 classify_sgd,41,analcatdata_boxing1_1,0.739130435,0.784313726,0.942391304 classify_rf,41,analcatdata_boxing1_1,0.769230769,0.784313726,0.980769231 classify_pa,41,analcatdata_boxing1_1,0.755555556,0.784313726,0.963333333 classify_mlp,41,analcatdata_boxing1_1,0.784313726,0.784313726,1 classify_logreg,41,analcatdata_boxing1_1,0.684210526,0.784313726,0.872368421 classify_knn,41,analcatdata_boxing1_1,0.784313726,0.784313726,1 classify_gp,41,analcatdata_boxing1_1,0.736842105,0.784313726,0.939473684 classify_gnb,41,analcatdata_boxing1_1,0.784313726,0.784313726,1 classify_et,41,analcatdata_boxing1_1,0.784313726,0.784313726,1 classify_dt,41,analcatdata_boxing1_1,0.76,0.784313726,0.969 classify_dbn,41,analcatdata_boxing1_1,0.736842105,0.784313726,0.939473684 classify_svm,42,analcatdata_boxing2_1,0.680851064,0.807692308,0.84295846 classify_sgd,42,analcatdata_boxing2_1,0.73015873,0.807692308,0.904006047 classify_rf,42,analcatdata_boxing2_1,0.791666667,0.807692308,0.98015873 classify_pa,42,analcatdata_boxing2_1,0.733333333,0.807692308,0.907936508 classify_mnb,42,analcatdata_boxing2_1,0.558139535,0.807692308,0.6910299 classify_mlp,42,analcatdata_boxing2_1,0.8,0.807692308,0.99047619 classify_logreg,42,analcatdata_boxing2_1,0.697674419,0.807692308,0.863787375 classify_knn,42,analcatdata_boxing2_1,0.769230769,0.807692308,0.952380952 classify_gp,42,analcatdata_boxing2_1,0.708333333,0.807692308,0.876984127 classify_gnb,42,analcatdata_boxing2_1,0.711111111,0.807692308,0.88042328 classify_et,42,analcatdata_boxing2_1,0.765957447,0.807692308,0.948328267 classify_dt,42,analcatdata_boxing2_1,0.634146341,0.807692308,0.785133566 classify_dbn,42,analcatdata_boxing2_1,0.807692308,0.807692308,1 classify_svm,44,analcatdata_challenger_2,0.25,0.571428571,0.4375 classify_sgd,44,analcatdata_challenger_2,0,0.571428571,0 classify_pa,44,analcatdata_challenger_2,0.333333333,0.571428571,0.583333333 classify_mnb,44,analcatdata_challenger_2,0,0.571428571,0 classify_mlp,44,analcatdata_challenger_2,0.571428571,0.571428571,1 classify_logreg,44,analcatdata_challenger_2,0.25,0.571428571,0.4375 classify_knn,44,analcatdata_challenger_2,0,0.571428571,0 classify_gp,44,analcatdata_challenger_2,0,0.571428571,0 classify_gnb,44,analcatdata_challenger_2,0,0.571428571,0 classify_dt,44,analcatdata_challenger_2,0,0.571428571,0 classify_dbn,44,analcatdata_challenger_2,0,0.571428571,0 classify_svm,45,analcatdata_chlamydia_1,0.923076923,1,0.923076923 classify_sgd,45,analcatdata_chlamydia_1,0.727272727,1,0.727272727 classify_rf,45,analcatdata_chlamydia_1,0.923076923,1,0.923076923 classify_mlp,45,analcatdata_chlamydia_1,1,1,1 classify_logreg,45,analcatdata_chlamydia_1,0.736842105,1,0.736842105 classify_knn,45,analcatdata_chlamydia_1,0.833333333,1,0.833333333 classify_gp,45,analcatdata_chlamydia_1,0,1,0 classify_gnb,45,analcatdata_chlamydia_1,0.444444444,1,0.444444444 classify_et,45,analcatdata_chlamydia_1,0.25,1,0.25 classify_dt,45,analcatdata_chlamydia_1,1,1,1 classify_dbn,45,analcatdata_chlamydia_1,1,1,1 classify_bnb,45,analcatdata_chlamydia_1,0,1,0 classify_svm,46,analcatdata_creditscore_1,0.947368421,1,0.947368421 classify_sgd,46,analcatdata_creditscore_1,0.923076923,1,0.923076923 classify_rf,46,analcatdata_creditscore_1,1,1,1 classify_pa,46,analcatdata_creditscore_1,0.878048781,1,0.878048781 classify_mlp,46,analcatdata_creditscore_1,0.947368421,1,0.947368421 classify_logreg,46,analcatdata_creditscore_1,0.947368421,1,0.947368421 classify_knn,46,analcatdata_creditscore_1,0.904761905,1,0.904761905 classify_gp,46,analcatdata_creditscore_1,0.947368421,1,0.947368421 classify_gnb,46,analcatdata_creditscore_1,1,1,1 classify_et,46,analcatdata_creditscore_1,0.85106383,1,0.85106383 classify_dt,46,analcatdata_creditscore_1,1,1,1 classify_dbn,46,analcatdata_creditscore_1,0.9,1,0.9 classify_svm,47,analcatdata_cyyoung8092_1,0.814814815,0.814814815,1 classify_sgd,47,analcatdata_cyyoung8092_1,0.761904762,0.814814815,0.935064935 classify_rf,47,analcatdata_cyyoung8092_1,0.470588235,0.814814815,0.577540107 classify_pa,47,analcatdata_cyyoung8092_1,0.636363636,0.814814815,0.780991736 classify_mnb,47,analcatdata_cyyoung8092_1,0.769230769,0.814814815,0.944055944 classify_mlp,47,analcatdata_cyyoung8092_1,0.769230769,0.814814815,0.944055944 classify_logreg,47,analcatdata_cyyoung8092_1,0.6875,0.814814815,0.84375 classify_knn,47,analcatdata_cyyoung8092_1,0.285714286,0.814814815,0.350649351 classify_gp,47,analcatdata_cyyoung8092_1,0.6,0.814814815,0.736363636 classify_gnb,47,analcatdata_cyyoung8092_1,0.769230769,0.814814815,0.944055944 classify_et,47,analcatdata_cyyoung8092_1,0,0.814814815,0 classify_dt,47,analcatdata_cyyoung8092_1,0.470588235,0.814814815,0.577540107 classify_dbn,47,analcatdata_cyyoung8092_1,0.421052632,0.814814815,0.516746412 classify_svm,48,analcatdata_cyyoung9302_1,0.714285714,0.8,0.892857143 classify_sgd,48,analcatdata_cyyoung9302_1,0.8,0.8,1 classify_rf,48,analcatdata_cyyoung9302_1,0.363636364,0.8,0.454545455 classify_pa,48,analcatdata_cyyoung9302_1,0.2,0.8,0.25 classify_mnb,48,analcatdata_cyyoung9302_1,0.56,0.8,0.7 classify_mlp,48,analcatdata_cyyoung9302_1,0.8,0.8,1 classify_logreg,48,analcatdata_cyyoung9302_1,0.777777778,0.8,0.972222222 classify_knn,48,analcatdata_cyyoung9302_1,0.666666667,0.8,0.833333333 classify_gp,48,analcatdata_cyyoung9302_1,0.363636364,0.8,0.454545455 classify_gnb,48,analcatdata_cyyoung9302_1,0.56,0.8,0.7 classify_et,48,analcatdata_cyyoung9302_1,0.5,0.8,0.625 classify_dbn,48,analcatdata_cyyoung9302_1,0.615384615,0.8,0.769230769 classify_bnb,48,analcatdata_cyyoung9302_1,0.631578947,0.8,0.789473684 classify_svm,49,analcatdata_dmft_1,0.641269841,0.894613583,0.7168121 classify_sgd,49,analcatdata_dmft_1,0.894613583,0.894613583,1 classify_pa,49,analcatdata_dmft_1,0.888888889,0.894613583,0.993600931 classify_mlp,49,analcatdata_dmft_1,0.890951276,0.894613583,0.995906269 classify_logreg,49,analcatdata_dmft_1,0.74351585,0.894613583,0.831102796 classify_knn,49,analcatdata_dmft_1,0.888888889,0.894613583,0.993600931 classify_gp,49,analcatdata_dmft_1,0.888888889,0.894613583,0.993600931 classify_et,49,analcatdata_dmft_1,0.888888889,0.894613583,0.993600931 classify_dbn,49,analcatdata_dmft_1,0.888888889,0.894613583,0.993600931 classify_bnb,49,analcatdata_dmft_1,0.888888889,0.894613583,0.993600931 classify_svm,50,analcatdata_election2000_1,0.8,1,0.8 classify_sgd,50,analcatdata_election2000_1,0.857142857,1,0.857142857 classify_rf,50,analcatdata_election2000_1,0.888888889,1,0.888888889 classify_pa,50,analcatdata_election2000_1,0.8,1,0.8 classify_mlp,50,analcatdata_election2000_1,0.888888889,1,0.888888889 classify_logreg,50,analcatdata_election2000_1,1,1,1 classify_knn,50,analcatdata_election2000_1,0.75,1,0.75 classify_gp,50,analcatdata_election2000_1,0.666666667,1,0.666666667 classify_gnb,50,analcatdata_election2000_1,0.888888889,1,0.888888889 classify_et,50,analcatdata_election2000_1,0.75,1,0.75 classify_dt,50,analcatdata_election2000_1,0.888888889,1,0.888888889 classify_dbn,50,analcatdata_election2000_1,0,1,0 classify_bnb,50,analcatdata_election2000_1,0.4,1,0.4 classify_svm,51,analcatdata_germangss_1,0,0.823529412,0 classify_sgd,51,analcatdata_germangss_1,0.367346939,0.823529412,0.44606414 classify_pa,51,analcatdata_germangss_1,0.235294118,0.823529412,0.285714286 classify_mnb,51,analcatdata_germangss_1,0.390243902,0.823529412,0.473867596 classify_mlp,51,analcatdata_germangss_1,0.823529412,0.823529412,1 classify_logreg,51,analcatdata_germangss_1,0.5,0.823529412,0.607142857 classify_knn,51,analcatdata_germangss_1,0.488888889,0.823529412,0.593650794 classify_gp,51,analcatdata_germangss_1,0.512820513,0.823529412,0.622710623 classify_gnb,51,analcatdata_germangss_1,0.25,0.823529412,0.303571429 classify_et,51,analcatdata_germangss_1,0.714285714,0.823529412,0.867346939 classify_dt,51,analcatdata_germangss_1,0.285714286,0.823529412,0.346938775 classify_dbn,51,analcatdata_germangss_1,0.647887324,0.823529412,0.786720322 classify_bnb,51,analcatdata_germangss_1,0.456521739,0.823529412,0.554347826 classify_svm,53,analcatdata_gviolence_1,0.647058824,1,0.647058824 classify_sgd,53,analcatdata_gviolence_1,1,1,1 classify_rf,53,analcatdata_gviolence_1,1,1,1 classify_mlp,53,analcatdata_gviolence_1,1,1,1 classify_logreg,53,analcatdata_gviolence_1,1,1,1 classify_knn,53,analcatdata_gviolence_1,1,1,1 classify_gp,53,analcatdata_gviolence_1,0.727272727,1,0.727272727 classify_et,53,analcatdata_gviolence_1,1,1,1 classify_dt,53,analcatdata_gviolence_1,1,1,1 classify_dbn,53,analcatdata_gviolence_1,0.952380952,1,0.952380952 classify_bnb,53,analcatdata_gviolence_1,0.842105263,1,0.842105263 classify_svm,55,analcatdata_lawsuit_1,0.769230769,0.833333333,0.923076923 classify_sgd,55,analcatdata_lawsuit_1,0.769230769,0.833333333,0.923076923 classify_rf,55,analcatdata_lawsuit_1,0.8,0.833333333,0.96 classify_pa,55,analcatdata_lawsuit_1,0.727272727,0.833333333,0.872727273 classify_mnb,55,analcatdata_lawsuit_1,0.307692308,0.833333333,0.369230769 classify_mlp,55,analcatdata_lawsuit_1,0.833333333,0.833333333,1 classify_logreg,55,analcatdata_lawsuit_1,0.243902439,0.833333333,0.292682927 classify_knn,55,analcatdata_lawsuit_1,0.8,0.833333333,0.96 classify_gp,55,analcatdata_lawsuit_1,0.285714286,0.833333333,0.342857143 classify_gnb,55,analcatdata_lawsuit_1,0.714285714,0.833333333,0.857142857 classify_et,55,analcatdata_lawsuit_1,0.727272727,0.833333333,0.872727273 classify_dt,55,analcatdata_lawsuit_1,0,0.833333333,0 classify_dbn,55,analcatdata_lawsuit_1,0.769230769,0.833333333,0.923076923 classify_svm,56,analcatdata_michiganacc_1,0.64,0.75,0.853333333 classify_sgd,56,analcatdata_michiganacc_1,0.695652174,0.75,0.927536232 classify_pa,56,analcatdata_michiganacc_1,0.72,0.75,0.96 classify_mnb,56,analcatdata_michiganacc_1,0.444444444,0.75,0.592592593 classify_mlp,56,analcatdata_michiganacc_1,0.714285714,0.75,0.952380952 classify_logreg,56,analcatdata_michiganacc_1,0.740740741,0.75,0.987654321 classify_knn,56,analcatdata_michiganacc_1,0.75,0.75,1 classify_gp,56,analcatdata_michiganacc_1,0.695652174,0.75,0.927536232 classify_et,56,analcatdata_michiganacc_1,0.636363636,0.75,0.848484849 classify_dt,56,analcatdata_michiganacc_1,0.518518519,0.75,0.691358025 classify_dbn,56,analcatdata_michiganacc_1,0.695652174,0.75,0.927536232 classify_svm,57,analcatdata_neavote_1,0.55,0.983050848,0.559482759 classify_sgd,57,analcatdata_neavote_1,0.983050848,0.983050848,1 classify_rf,57,analcatdata_neavote_1,0.983050848,0.983050848,1 classify_pa,57,analcatdata_neavote_1,0.55,0.983050848,0.559482759 classify_mnb,57,analcatdata_neavote_1,0.983050848,0.983050848,1 classify_mlp,57,analcatdata_neavote_1,0.983050848,0.983050848,1 classify_logreg,57,analcatdata_neavote_1,0.983050848,0.983050848,1 classify_knn,57,analcatdata_neavote_1,0.983050848,0.983050848,1 classify_gp,57,analcatdata_neavote_1,0.983050848,0.983050848,1 classify_et,57,analcatdata_neavote_1,0.983050848,0.983050848,1 classify_dt,57,analcatdata_neavote_1,0.983050848,0.983050848,1 classify_dbn,57,analcatdata_neavote_1,0.983050848,0.983050848,1 classify_bnb,57,analcatdata_neavote_1,0.55,0.983050848,0.559482759 classify_svm,58,analcatdata_olympic2000_1,0.1,1,0.1 classify_sgd,58,analcatdata_olympic2000_1,0.941176471,1,0.941176471 classify_rf,58,analcatdata_olympic2000_1,1,1,1 classify_pa,58,analcatdata_olympic2000_1,0.941176471,1,0.941176471 classify_mnb,58,analcatdata_olympic2000_1,0.6,1,0.6 classify_mlp,58,analcatdata_olympic2000_1,0.941176471,1,0.941176471 classify_logreg,58,analcatdata_olympic2000_1,0.666666667,1,0.666666667 classify_knn,58,analcatdata_olympic2000_1,0.933333333,1,0.933333333 classify_gp,58,analcatdata_olympic2000_1,0.666666667,1,0.666666667 classify_gnb,58,analcatdata_olympic2000_1,0.857142857,1,0.857142857 classify_et,58,analcatdata_olympic2000_1,0.933333333,1,0.933333333 classify_dbn,58,analcatdata_olympic2000_1,0.857142857,1,0.857142857 classify_svm,59,analcatdata_seropositive_1,1,1,1 classify_sgd,59,analcatdata_seropositive_1,1,1,1 classify_rf,59,analcatdata_seropositive_1,1,1,1 classify_pa,59,analcatdata_seropositive_1,1,1,1 classify_mlp,59,analcatdata_seropositive_1,1,1,1 classify_logreg,59,analcatdata_seropositive_1,1,1,1 classify_knn,59,analcatdata_seropositive_1,1,1,1 classify_gp,59,analcatdata_seropositive_1,0.923076923,1,0.923076923 classify_gnb,59,analcatdata_seropositive_1,0.962962963,1,0.962962963 classify_dt,59,analcatdata_seropositive_1,0.928571429,1,0.928571429 classify_dbn,59,analcatdata_seropositive_1,1,1,1 classify_bnb,59,analcatdata_seropositive_1,0.833333333,1,0.833333333 classify_svm,60,analcatdata_supreme_1,0.803571429,0.997292907,0.805752676 classify_sgd,60,analcatdata_supreme_1,0.990795885,0.997292907,0.993485342 classify_rf,60,analcatdata_supreme_1,0.997292907,0.997292907,1 classify_pa,60,analcatdata_supreme_1,0.981798125,0.997292907,0.984463158 classify_mnb,60,analcatdata_supreme_1,0.811320755,0.997292907,0.813523037 classify_mlp,60,analcatdata_supreme_1,0.994565217,0.997292907,0.997264906 classify_logreg,60,analcatdata_supreme_1,0.875609756,0.997292907,0.877986547 classify_knn,60,analcatdata_supreme_1,0.991869919,0.997292907,0.994562291 classify_et,60,analcatdata_supreme_1,0.997292907,0.997292907,1 classify_dbn,60,analcatdata_supreme_1,0.995656895,0.997292907,0.998359546 classify_bnb,60,analcatdata_supreme_1,0.862068966,0.997292907,0.864409001 classify_svm,61,analcatdata_vehicle_1,0.6,1,0.6 classify_sgd,61,analcatdata_vehicle_1,1,1,1 classify_rf,61,analcatdata_vehicle_1,0.75,1,0.75 classify_pa,61,analcatdata_vehicle_1,0.6,1,0.6 classify_mnb,61,analcatdata_vehicle_1,0.666666667,1,0.666666667 classify_mlp,61,analcatdata_vehicle_1,0.75,1,0.75 classify_logreg,61,analcatdata_vehicle_1,0.6,1,0.6 classify_knn,61,analcatdata_vehicle_1,0.75,1,0.75 classify_gp,61,analcatdata_vehicle_1,0.6,1,0.6 classify_et,61,analcatdata_vehicle_1,0.75,1,0.75 classify_bnb,61,analcatdata_vehicle_1,0.6,1,0.6 classify_svm,62,analcatdata_vineyard_1,0.676056338,0.863309353,0.783098592 classify_sgd,62,analcatdata_vineyard_1,0.676056338,0.863309353,0.783098592 classify_rf,62,analcatdata_vineyard_1,0.704918033,0.863309353,0.816530055 classify_pa,62,analcatdata_vineyard_1,0.144578313,0.863309353,0.16746988 classify_mnb,62,analcatdata_vineyard_1,0.054054054,0.863309353,0.062612613 classify_mlp,62,analcatdata_vineyard_1,0.863309353,0.863309353,1 classify_logreg,62,analcatdata_vineyard_1,0.545454545,0.863309353,0.631818182 classify_knn,62,analcatdata_vineyard_1,0.838235294,0.863309353,0.970955882 classify_gp,62,analcatdata_vineyard_1,0.578947368,0.863309353,0.670614035 classify_et,62,analcatdata_vineyard_1,0.524271845,0.863309353,0.607281553 classify_dt,62,analcatdata_vineyard_1,0.571428571,0.863309353,0.661904762 classify_dbn,62,analcatdata_vineyard_1,0.67768595,0.863309353,0.784986226 classify_bnb,62,analcatdata_vineyard_1,0.606060606,0.863309353,0.702020202 classify_svm,63,analcatdata_wildcat_1,0.780487805,0.780487805,1 classify_sgd,63,analcatdata_wildcat_1,0.76,0.780487805,0.97375 classify_rf,63,analcatdata_wildcat_1,0.5625,0.780487805,0.720703125 classify_pa,63,analcatdata_wildcat_1,0.4,0.780487805,0.5125 classify_mlp,63,analcatdata_wildcat_1,0.75,0.780487805,0.9609375 classify_logreg,63,analcatdata_wildcat_1,0.666666667,0.780487805,0.854166667 classify_knn,63,analcatdata_wildcat_1,0.5,0.780487805,0.640625 classify_gp,63,analcatdata_wildcat_1,0.580645161,0.780487805,0.743951613 classify_gnb,63,analcatdata_wildcat_1,0.769230769,0.780487805,0.985576923 classify_et,63,analcatdata_wildcat_1,0.4,0.780487805,0.5125 classify_dt,63,analcatdata_wildcat_1,0.5625,0.780487805,0.720703125 classify_dbn,63,analcatdata_wildcat_1,0.484848485,0.780487805,0.621212121 classify_svm,64,ar1_1,0.4,0.4,1 classify_sgd,64,ar1_1,0.222222222,0.4,0.555555555 classify_pa,64,ar1_1,0,0.4,0 classify_mnb,64,ar1_1,0.4,0.4,1 classify_mlp,64,ar1_1,0.333333333,0.4,0.833333333 classify_logreg,64,ar1_1,0.375,0.4,0.9375 classify_knn,64,ar1_1,0.4,0.4,1 classify_gp,64,ar1_1,0,0.4,0 classify_gnb,64,ar1_1,0.25,0.4,0.625 classify_et,64,ar1_1,0,0.4,0 classify_dt,64,ar1_1,0.25,0.4,0.625 classify_dbn,64,ar1_1,0,0.4,0 classify_bnb,64,ar1_1,0.333333333,0.4,0.833333333 classify_svm,65,ar3_1,0.8,1,0.8 classify_sgd,65,ar3_1,0.8,1,0.8 classify_rf,65,ar3_1,0.666666667,1,0.666666667 classify_pa,65,ar3_1,0.333333333,1,0.333333333 classify_mnb,65,ar3_1,0.444444444,1,0.444444444 classify_mlp,65,ar3_1,1,1,1 classify_logreg,65,ar3_1,0.444444444,1,0.444444444 classify_knn,65,ar3_1,1,1,1 classify_gp,65,ar3_1,0.666666667,1,0.666666667 classify_et,65,ar3_1,0.666666667,1,0.666666667 classify_dbn,65,ar3_1,0.666666667,1,0.666666667 classify_svm,66,ar4_1,0.4,0.588235294,0.68 classify_sgd,66,ar4_1,0.571428571,0.588235294,0.971428571 classify_rf,66,ar4_1,0.4,0.588235294,0.68 classify_mnb,66,ar4_1,0,0.588235294,0 classify_mlp,66,ar4_1,0.571428571,0.588235294,0.971428571 classify_logreg,66,ar4_1,0.588235294,0.588235294,1 classify_knn,66,ar4_1,0.222222222,0.588235294,0.377777778 classify_gp,66,ar4_1,0,0.588235294,0 classify_et,66,ar4_1,0.222222222,0.588235294,0.377777778 classify_dt,66,ar4_1,0.285714286,0.588235294,0.485714286 classify_dbn,66,ar4_1,0.428571429,0.588235294,0.728571429 classify_bnb,66,ar4_1,0.285714286,0.588235294,0.485714286 classify_svm,67,ar5_1,0.5,0.666666667,0.75 classify_sgd,67,ar5_1,0.666666667,0.666666667,1 classify_rf,67,ar5_1,0.666666667,0.666666667,1 classify_pa,67,ar5_1,0.4,0.666666667,0.6 classify_mnb,67,ar5_1,0.5,0.666666667,0.75 classify_mlp,67,ar5_1,0.666666667,0.666666667,1 classify_logreg,67,ar5_1,0.333333333,0.666666667,0.5 classify_knn,67,ar5_1,0.666666667,0.666666667,1 classify_gp,67,ar5_1,0.666666667,0.666666667,1 classify_gnb,67,ar5_1,0.5,0.666666667,0.75 classify_et,67,ar5_1,0.666666667,0.666666667,1 classify_dt,67,ar5_1,0.5,0.666666667,0.75 classify_svm,68,ar6_1,0,0.666666667,0 classify_sgd,68,ar6_1,0.666666667,0.666666667,1 classify_pa,68,ar6_1,0.4,0.666666667,0.6 classify_mnb,68,ar6_1,0.285714286,0.666666667,0.428571429 classify_mlp,68,ar6_1,0.666666667,0.666666667,1 classify_logreg,68,ar6_1,0.333333333,0.666666667,0.5 classify_knn,68,ar6_1,0.444444444,0.666666667,0.666666667 classify_gp,68,ar6_1,0,0.666666667,0 classify_et,68,ar6_1,0.25,0.666666667,0.375 classify_dt,68,ar6_1,0.181818182,0.666666667,0.272727273 classify_dbn,68,ar6_1,0.5,0.666666667,0.75 classify_bnb,68,ar6_1,0.352941177,0.666666667,0.529411765 classify_svm,69,arcene_1,0.852459016,0.852459016,1 classify_sgd,69,arcene_1,0.84375,0.852459016,0.989783654 classify_rf,69,arcene_1,0.8,0.852459016,0.938461538 classify_pa,69,arcene_1,0.833333333,0.852459016,0.977564103 classify_mnb,69,arcene_1,0.655737705,0.852459016,0.769230769 classify_mlp,69,arcene_1,0.852459016,0.852459016,1 classify_logreg,69,arcene_1,0.813559322,0.852459016,0.954367666 classify_knn,69,arcene_1,0.830769231,0.852459016,0.974556213 classify_gp,69,arcene_1,0.771428571,0.852459016,0.904945055 classify_et,69,arcene_1,0.75,0.852459016,0.879807692 classify_dt,69,arcene_1,0.696969697,0.852459016,0.817599068 classify_dbn,69,arcene_1,0.681318681,0.852459016,0.799239222 classify_svm,70,arsenic-female-bladder_1,0,0.466666667,0 classify_sgd,70,arsenic-female-bladder_1,0.405063291,0.466666667,0.867992767 classify_rf,70,arsenic-female-bladder_1,0.285714286,0.466666667,0.612244898 classify_pa,70,arsenic-female-bladder_1,0.466666667,0.466666667,1 classify_mnb,70,arsenic-female-bladder_1,0.285714286,0.466666667,0.612244898 classify_mlp,70,arsenic-female-bladder_1,0.350877193,0.466666667,0.751879699 classify_logreg,70,arsenic-female-bladder_1,0.363636364,0.466666667,0.779220779 classify_knn,70,arsenic-female-bladder_1,0.230769231,0.466666667,0.494505495 classify_gp,70,arsenic-female-bladder_1,0,0.466666667,0 classify_gnb,70,arsenic-female-bladder_1,0.2,0.466666667,0.428571429 classify_et,70,arsenic-female-bladder_1,0.2,0.466666667,0.428571429 classify_dt,70,arsenic-female-bladder_1,0.341463415,0.466666667,0.731707317 classify_dbn,70,arsenic-female-bladder_1,0.2,0.466666667,0.428571429 classify_svm,71,arsenic-female-lung_1,0,0.666666667,0 classify_sgd,71,arsenic-female-lung_1,0.545454545,0.666666667,0.818181818 classify_rf,71,arsenic-female-lung_1,0.545454545,0.666666667,0.818181818 classify_pa,71,arsenic-female-lung_1,0.545454545,0.666666667,0.818181818 classify_mnb,71,arsenic-female-lung_1,0.4,0.666666667,0.6 classify_mlp,71,arsenic-female-lung_1,0.545454545,0.666666667,0.818181818 classify_logreg,71,arsenic-female-lung_1,0.142857143,0.666666667,0.214285714 classify_knn,71,arsenic-female-lung_1,0.545454545,0.666666667,0.818181818 classify_gp,71,arsenic-female-lung_1,0.545454545,0.666666667,0.818181818 classify_gnb,71,arsenic-female-lung_1,0.545454545,0.666666667,0.818181818 classify_et,71,arsenic-female-lung_1,0.4,0.666666667,0.6 classify_dt,71,arsenic-female-lung_1,0.666666667,0.666666667,1 classify_dbn,71,arsenic-female-lung_1,0.545454545,0.666666667,0.818181818 classify_bnb,71,arsenic-female-lung_1,0.545454545,0.666666667,0.818181818 classify_svm,72,arsenic-male-bladder_1,0,0.714285714,0 classify_sgd,72,arsenic-male-bladder_1,0.714285714,0.714285714,1 classify_rf,72,arsenic-male-bladder_1,0.714285714,0.714285714,1 classify_mnb,72,arsenic-male-bladder_1,0.434782609,0.714285714,0.608695652 classify_mlp,72,arsenic-male-bladder_1,0.714285714,0.714285714,1 classify_logreg,72,arsenic-male-bladder_1,0.615384615,0.714285714,0.861538462 classify_knn,72,arsenic-male-bladder_1,0.666666667,0.714285714,0.933333333 classify_gp,72,arsenic-male-bladder_1,0.615384615,0.714285714,0.861538462 classify_gnb,72,arsenic-male-bladder_1,0.714285714,0.714285714,1 classify_et,72,arsenic-male-bladder_1,0.5,0.714285714,0.7 classify_dt,72,arsenic-male-bladder_1,0.625,0.714285714,0.875 classify_dbn,72,arsenic-male-bladder_1,0.714285714,0.714285714,1 classify_bnb,72,arsenic-male-bladder_1,0.615384615,0.714285714,0.861538462 classify_svm,73,arsenic-male-lung_1,0.090909091,1,0.090909091 classify_sgd,73,arsenic-male-lung_1,0.933333333,1,0.933333333 classify_rf,73,arsenic-male-lung_1,1,1,1 classify_pa,73,arsenic-male-lung_1,0.933333333,1,0.933333333 classify_mlp,73,arsenic-male-lung_1,1,1,1 classify_logreg,73,arsenic-male-lung_1,1,1,1 classify_knn,73,arsenic-male-lung_1,0.933333333,1,0.933333333 classify_gp,73,arsenic-male-lung_1,0.933333333,1,0.933333333 classify_gnb,73,arsenic-male-lung_1,1,1,1 classify_et,73,arsenic-male-lung_1,0.933333333,1,0.933333333 classify_dt,73,arsenic-male-lung_1,1,1,1 classify_dbn,73,arsenic-male-lung_1,0.933333333,1,0.933333333 classify_bnb,73,arsenic-male-lung_1,0.933333333,1,0.933333333 classify_svm,74,autoPrice_1,0.944444444,1,0.944444444 classify_sgd,74,autoPrice_1,1,1,1 classify_rf,74,autoPrice_1,0.972972973,1,0.972972973 classify_pa,74,autoPrice_1,0.947368421,1,0.947368421 classify_mlp,74,autoPrice_1,1,1,1 classify_logreg,74,autoPrice_1,0.878048781,1,0.878048781 classify_knn,74,autoPrice_1,0.944444444,1,0.944444444 classify_gp,74,autoPrice_1,0.941176471,1,0.941176471 classify_et,74,autoPrice_1,0.941176471,1,0.941176471 classify_dt,74,autoPrice_1,0.972972973,1,0.972972973 classify_dbn,74,autoPrice_1,0.972972973,1,0.972972973 classify_svm,75,autoUniv-au1-1000_1,0.828125,0.844897959,0.980147947 classify_sgd,75,autoUniv-au1-1000_1,0.829568788,0.844897959,0.981856779 classify_pa,75,autoUniv-au1-1000_1,0.822134387,0.844897959,0.973057608 classify_mnb,75,autoUniv-au1-1000_1,0.76092545,0.844897959,0.900612247 classify_mlp,75,autoUniv-au1-1000_1,0.830578512,0.844897959,0.983051862 classify_logreg,75,autoUniv-au1-1000_1,0.55801105,0.844897959,0.660447861 classify_knn,75,autoUniv-au1-1000_1,0.844897959,0.844897959,1 classify_gp,75,autoUniv-au1-1000_1,0.828125,0.844897959,0.980147947 classify_gnb,75,autoUniv-au1-1000_1,0.82231405,0.844897959,0.973270252 classify_et,75,autoUniv-au1-1000_1,0.828125,0.844897959,0.980147947 classify_dt,75,autoUniv-au1-1000_1,0.818897638,0.844897959,0.969226673 classify_dbn,75,autoUniv-au1-1000_1,0.833333333,0.844897959,0.986312399 classify_bnb,75,autoUniv-au1-1000_1,0.816,0.844897959,0.965797101 classify_svm,76,autoUniv-au4-2500_1,0.093287461,0.203496349,0.458423266 classify_sgd,76,autoUniv-au4-2500_1,0.182320387,0.203496349,0.895939347 classify_pa,76,autoUniv-au4-2500_1,0.155941365,0.203496349,0.766310379 classify_mlp,76,autoUniv-au4-2500_1,0.186612541,0.203496349,0.917031396 classify_logreg,76,autoUniv-au4-2500_1,0.203496349,0.203496349,1 classify_knn,76,autoUniv-au4-2500_1,0.124040639,0.203496349,0.609547244 classify_gp,76,autoUniv-au4-2500_1,-0.017904493,0.203496349,-0.087984345 classify_dt,76,autoUniv-au4-2500_1,0.130005178,0.203496349,0.638857546 classify_dbn,76,autoUniv-au4-2500_1,0.14227015,0.203496349,0.699128757 classify_bnb,76,autoUniv-au4-2500_1,0.160753881,0.203496349,0.789959531 classify_svm,77,autoUniv-au7-700_1,0.276856324,0.407316672,0.679707812 classify_sgd,77,autoUniv-au7-700_1,0.344708971,0.407316672,0.84629232 classify_pa,77,autoUniv-au7-700_1,0.312857805,0.407316672,0.768094769 classify_mlp,77,autoUniv-au7-700_1,0.407316672,0.407316672,1 classify_logreg,77,autoUniv-au7-700_1,0.337953704,0.407316672,0.829707517 classify_knn,77,autoUniv-au7-700_1,0.397696919,0.407316672,0.976382619 classify_gp,77,autoUniv-au7-700_1,0.301032017,0.407316672,0.73906137 classify_gnb,77,autoUniv-au7-700_1,0.323466753,0.407316672,0.794140717 classify_dt,77,autoUniv-au7-700_1,0.23864418,0.407316672,0.585893476 classify_dbn,77,autoUniv-au7-700_1,0.380400867,0.407316672,0.933919217 classify_bnb,77,autoUniv-au7-700_1,0.286740586,0.407316672,0.703974587 classify_svm,78,auto_price_1,0.933333333,1,0.933333333 classify_sgd,78,auto_price_1,1,1,1 classify_pa,78,auto_price_1,0.933333333,1,0.933333333 classify_mlp,78,auto_price_1,0.967741936,1,0.967741936 classify_logreg,78,auto_price_1,0.933333333,1,0.933333333 classify_knn,78,auto_price_1,0.928571429,1,0.928571429 classify_gp,78,auto_price_1,0.888888889,1,0.888888889 classify_gnb,78,auto_price_1,0.903225807,1,0.903225807 classify_dt,78,auto_price_1,0.933333333,1,0.933333333 classify_dbn,78,auto_price_1,0.933333333,1,0.933333333 classify_bnb,78,auto_price_1,0.814814815,1,0.814814815 classify_svm,79,backache_1,0.4,0.571428571,0.7 classify_sgd,79,backache_1,0.571428571,0.571428571,1 classify_rf,79,backache_1,0,0.571428571,0 classify_pa,79,backache_1,0.375,0.571428571,0.65625 classify_mlp,79,backache_1,0.4,0.571428571,0.7 classify_logreg,79,backache_1,0.294117647,0.571428571,0.514705882 classify_knn,79,backache_1,0.285714286,0.571428571,0.5 classify_gp,79,backache_1,0,0.571428571,0 classify_et,79,backache_1,0,0.571428571,0 classify_dt,79,backache_1,0,0.571428571,0 classify_dbn,79,backache_1,0.25,0.571428571,0.4375 classify_bnb,79,backache_1,0.352941177,0.571428571,0.617647059 classify_svm,80,badges2_1,1,1,1 classify_sgd,80,badges2_1,1,1,1 classify_rf,80,badges2_1,0.941176471,1,0.941176471 classify_mlp,80,badges2_1,1,1,1 classify_logreg,80,badges2_1,1,1,1 classify_knn,80,badges2_1,1,1,1 classify_gp,80,badges2_1,0.934306569,1,0.934306569 classify_gnb,80,badges2_1,1,1,1 classify_et,80,badges2_1,1,1,1 classify_dt,80,badges2_1,1,1,1 classify_dbn,80,badges2_1,1,1,1 classify_bnb,80,badges2_1,1,1,1 classify_svm,81,balance-scale_1,0.974773027,0.974773027,1 classify_sgd,81,balance-scale_1,0.523139931,0.974773027,0.53667871 classify_rf,81,balance-scale_1,0.174765992,0.974773027,0.179288908 classify_pa,81,balance-scale_1,0.433812158,0.974773027,0.445039149 classify_mlp,81,balance-scale_1,0.947419293,0.974773027,0.971938356 classify_logreg,81,balance-scale_1,0.483283886,0.974773027,0.495791197 classify_knn,81,balance-scale_1,0.182237075,0.974773027,0.186953342 classify_gp,81,balance-scale_1,0.183297707,0.974773027,0.188041423 classify_gnb,81,balance-scale_1,0.181178513,0.974773027,0.185867385 classify_et,81,balance-scale_1,0.180213489,0.974773027,0.184877386 classify_dbn,81,balance-scale_1,0.902679428,0.974773027,0.926040629 classify_bnb,81,balance-scale_1,0.1089822,0.974773027,0.111802642 classify_svm,82,balance-scale_2,0,1,0 classify_sgd,82,balance-scale_2,0.956937799,1,0.956937799 classify_rf,82,balance-scale_2,0.890995261,1,0.890995261 classify_pa,82,balance-scale_2,0.956937799,1,0.956937799 classify_mlp,82,balance-scale_2,1,1,1 classify_logreg,82,balance-scale_2,0.900473934,1,0.900473934 classify_knn,82,balance-scale_2,0.965853658,1,0.965853658 classify_gp,82,balance-scale_2,0.980392157,1,0.980392157 classify_gnb,82,balance-scale_2,0.956937799,1,0.956937799 classify_et,82,balance-scale_2,0.957746479,1,0.957746479 classify_dt,82,balance-scale_2,0.797979798,1,0.797979798 classify_dbn,82,balance-scale_2,0.990196078,1,0.990196078 classify_bnb,82,balance-scale_2,0.788381743,1,0.788381743 classify_svm,83,balloon_1,0.877057115,0.908141962,0.965770938 classify_sgd,83,balloon_1,0.908141962,0.908141962,1 classify_rf,83,balloon_1,0.901840491,0.908141962,0.993061138 classify_pa,83,balloon_1,0.866141732,0.908141962,0.953751471 classify_mnb,83,balloon_1,0,0.908141962,0 classify_mlp,83,balloon_1,0.908141962,0.908141962,1 classify_logreg,83,balloon_1,0.816625917,0.908141962,0.899227159 classify_knn,83,balloon_1,0.901840491,0.908141962,0.993061138 classify_gp,83,balloon_1,0.908141962,0.908141962,1 classify_gnb,83,balloon_1,0.908141962,0.908141962,1 classify_et,83,balloon_1,0.901840491,0.908141962,0.993061138 classify_dt,83,balloon_1,0.901840491,0.908141962,0.993061138 classify_dbn,83,balloon_1,0.908141962,0.908141962,1 classify_svm,84,banana_1,0.619192358,0.892395983,0.693853816 classify_sgd,84,banana_1,0.619192358,0.892395983,0.693853816 classify_rf,84,banana_1,0.851282051,0.892395983,0.953928601 classify_pa,84,banana_1,0.141367323,0.892395983,0.158413222 classify_mlp,84,banana_1,0.88936474,0.892395983,0.996603253 classify_logreg,84,banana_1,0.551413882,0.892395983,0.617902694 classify_knn,84,banana_1,0.892395983,0.892395983,1 classify_gnb,84,banana_1,0.434463795,0.892395983,0.486850908 classify_et,84,banana_1,0.737024222,0.892395983,0.825893702 classify_dt,84,banana_1,0.854862119,0.892395983,0.957940349 classify_dbn,84,banana_1,0.88583815,0.892395983,0.992651432 classify_bnb,84,banana_1,0.633695652,0.892395983,0.7101059 classify_svm,85,bank-marketing_1,0.487179487,0.505535055,0.96369081 classify_sgd,85,bank-marketing_1,0.42074928,0.505535055,0.832285071 classify_rf,85,bank-marketing_1,0,0.505535055,0 classify_pa,85,bank-marketing_1,0.185365854,0.505535055,0.366672601 classify_mlp,85,bank-marketing_1,0.475903615,0.505535055,0.941385982 classify_logreg,85,bank-marketing_1,0.505535055,0.505535055,1 classify_knn,85,bank-marketing_1,0.384858044,0.505535055,0.76128854 classify_gp,85,bank-marketing_1,0.100917431,0.505535055,0.199624992 classify_gnb,85,bank-marketing_1,0.366047745,0.505535055,0.724079847 classify_et,85,bank-marketing_1,0,0.505535055,0 classify_dt,85,bank-marketing_1,0.410447761,0.505535055,0.811907615 classify_dbn,85,bank-marketing_1,0.312236287,0.505535055,0.617635283 classify_bnb,85,bank-marketing_1,0.261261261,0.505535055,0.516801473 classify_svm,86,bank-marketing_2,0,0.48766933,0 classify_sgd,86,bank-marketing_2,0.479087453,0.48766933,0.982402262 classify_rf,86,bank-marketing_2,0.003858521,0.48766933,0.007912166 classify_pa,86,bank-marketing_2,0.300940439,0.48766933,0.617099376 classify_mlp,86,bank-marketing_2,0.48766933,0.48766933,1 classify_logreg,86,bank-marketing_2,0.483627204,0.48766933,0.991711339 classify_knn,86,bank-marketing_2,0.427522227,0.48766933,0.876664167 classify_et,86,bank-marketing_2,0.014057508,0.48766933,0.028825901 classify_dt,86,bank-marketing_2,0.293421675,0.48766933,0.601681626 classify_dbn,86,bank-marketing_2,0.474539545,0.48766933,0.97307646 classify_bnb,86,bank-marketing_2,0.260421546,0.48766933,0.534012557 classify_svm,87,bank32nh_1,0.623926732,0.722002635,0.864161294 classify_sgd,87,bank32nh_1,0.697977821,0.722002635,0.966724756 classify_rf,87,bank32nh_1,0.618238022,0.722002635,0.856282223 classify_pa,87,bank32nh_1,0.623728814,0.722002635,0.863887171 classify_mlp,87,bank32nh_1,0.722002635,0.722002635,1 classify_logreg,87,bank32nh_1,0,0.722002635,0 classify_knn,87,bank32nh_1,0.446414182,0.722002635,0.618299935 classify_gnb,87,bank32nh_1,0.627692308,0.722002635,0.869376755 classify_et,87,bank32nh_1,0.268348624,0.722002635,0.371672638 classify_dt,87,bank32nh_1,0.608817355,0.722002635,0.843234256 classify_dbn,87,bank32nh_1,0.691758598,0.722002635,0.958110905 classify_bnb,87,bank32nh_1,0.558028617,0.722002635,0.77289 classify_svm,88,bank8FM_1,0.903092783,0.93556836,0.965287863 classify_sgd,88,bank8FM_1,0.918890633,0.93556836,0.982173695 classify_rf,88,bank8FM_1,0.875518672,0.93556836,0.935814751 classify_pa,88,bank8FM_1,0.894358974,0.93556836,0.955952566 classify_mlp,88,bank8FM_1,0.93556836,0.93556836,1 classify_logreg,88,bank8FM_1,0.92875715,0.93556836,0.992719709 classify_knn,88,bank8FM_1,0.859250851,0.93556836,0.918426582 classify_gnb,88,bank8FM_1,0.866344605,0.93556836,0.926008876 classify_et,88,bank8FM_1,0.889259878,0.93556836,0.950502299 classify_dbn,88,bank8FM_1,0.932432432,0.93556836,0.996648104 classify_bnb,88,bank8FM_1,0.758961681,0.93556836,0.811230599 classify_svm,89,banknote-authentication_1,0.98714653,1,0.98714653 classify_sgd,89,banknote-authentication_1,0.960422164,1,0.960422164 classify_rf,89,banknote-authentication_1,0.935828877,1,0.935828877 classify_pa,89,banknote-authentication_1,0.994764398,1,0.994764398 classify_mlp,89,banknote-authentication_1,1,1,1 classify_logreg,89,banknote-authentication_1,0.96969697,1,0.96969697 classify_knn,89,banknote-authentication_1,1,1,1 classify_gp,89,banknote-authentication_1,0.994818653,1,0.994818653 classify_gnb,89,banknote-authentication_1,0.795518207,1,0.795518207 classify_et,89,banknote-authentication_1,0.974093264,1,0.974093264 classify_dt,89,banknote-authentication_1,0.96875,1,0.96875 classify_dbn,89,banknote-authentication_1,1,1,1 classify_svm,90,baskball_1,0.25,0.838709677,0.298076923 classify_sgd,90,baskball_1,0.8,0.838709677,0.953846154 classify_rf,90,baskball_1,0.727272727,0.838709677,0.867132867 classify_pa,90,baskball_1,0.838709677,0.838709677,1 classify_mnb,90,baskball_1,0.827586207,0.838709677,0.986737401 classify_mlp,90,baskball_1,0.8,0.838709677,0.953846154 classify_logreg,90,baskball_1,0.740740741,0.838709677,0.883190883 classify_knn,90,baskball_1,0.709677419,0.838709677,0.846153846 classify_gp,90,baskball_1,0.740740741,0.838709677,0.883190883 classify_dbn,90,baskball_1,0.692307692,0.838709677,0.825443787 classify_bnb,90,baskball_1,0.592592593,0.838709677,0.706552707 classify_svm,91,blogger_1,0.684210526,0.80952381,0.845201238 classify_sgd,91,blogger_1,0.775510204,0.80952381,0.957983193 classify_rf,91,blogger_1,0.727272727,0.80952381,0.898395722 classify_pa,91,blogger_1,0.615384615,0.80952381,0.760180996 classify_mlp,91,blogger_1,0.8,0.80952381,0.988235294 classify_logreg,91,blogger_1,0.578947368,0.80952381,0.715170279 classify_knn,91,blogger_1,0.80952381,0.80952381,1 classify_gp,91,blogger_1,0.782608696,0.80952381,0.966751918 classify_gnb,91,blogger_1,0.634146341,0.80952381,0.783357245 classify_et,91,blogger_1,0.769230769,0.80952381,0.950226244 classify_dt,91,blogger_1,0.75,0.80952381,0.926470588 classify_dbn,91,blogger_1,0.775510204,0.80952381,0.957983193 classify_svm,92,blood-transfusion-service-center_1,0.47133758,0.58974359,0.799224592 classify_sgd,92,blood-transfusion-service-center_1,0.351648352,0.58974359,0.596273292 classify_rf,92,blood-transfusion-service-center_1,0.040816327,0.58974359,0.069210293 classify_pa,92,blood-transfusion-service-center_1,0.387096774,0.58974359,0.656381487 classify_mnb,92,blood-transfusion-service-center_1,0.534653465,0.58974359,0.906586311 classify_mlp,92,blood-transfusion-service-center_1,0.582278481,0.58974359,0.987341772 classify_logreg,92,blood-transfusion-service-center_1,0.469798658,0.58974359,0.796615115 classify_knn,92,blood-transfusion-service-center_1,0.5,0.58974359,0.847826087 classify_gp,92,blood-transfusion-service-center_1,0.266666667,0.58974359,0.452173913 classify_et,92,blood-transfusion-service-center_1,0.08,0.58974359,0.135652174 classify_dt,92,blood-transfusion-service-center_1,0.385542169,0.58974359,0.653745417 classify_dbn,92,blood-transfusion-service-center_1,0.58974359,0.58974359,1 classify_svm,93,bodyfat_1,0.906976744,0.989010989,0.917054264 classify_sgd,93,bodyfat_1,0.966292135,0.989010989,0.977028714 classify_rf,93,bodyfat_1,0.989010989,0.989010989,1 classify_mnb,93,bodyfat_1,0.784810127,0.989010989,0.793530239 classify_mlp,93,bodyfat_1,0.989010989,0.989010989,1 classify_logreg,93,bodyfat_1,0.989010989,0.989010989,1 classify_knn,93,bodyfat_1,0.909090909,0.989010989,0.919191919 classify_gp,93,bodyfat_1,0.780487805,0.989010989,0.789159892 classify_dt,93,bodyfat_1,0.989010989,0.989010989,1 classify_dbn,93,bodyfat_1,0.967032967,0.989010989,0.977777778 classify_svm,94,bolts_1,0.888888889,1,0.888888889 classify_sgd,94,bolts_1,1,1,1 classify_rf,94,bolts_1,1,1,1 classify_pa,94,bolts_1,1,1,1 classify_mlp,94,bolts_1,1,1,1 classify_logreg,94,bolts_1,1,1,1 classify_knn,94,bolts_1,0.857142857,1,0.857142857 classify_gp,94,bolts_1,1,1,1 classify_et,94,bolts_1,0.888888889,1,0.888888889 classify_dt,94,bolts_1,0.888888889,1,0.888888889 classify_bnb,94,bolts_1,0.888888889,1,0.888888889 classify_svm,95,boston_1,0.763157895,0.876923077,0.870267775 classify_sgd,95,boston_1,0.854700855,0.876923077,0.974658869 classify_rf,95,boston_1,0.833333333,0.876923077,0.950292398 classify_pa,95,boston_1,0.850746269,0.876923077,0.970149254 classify_mnb,95,boston_1,0.716049383,0.876923077,0.816547542 classify_mlp,95,boston_1,0.876923077,0.876923077,1 classify_logreg,95,boston_1,0.808823529,0.876923077,0.922342621 classify_knn,95,boston_1,0.846715329,0.876923077,0.965552568 classify_gp,95,boston_1,0.71641791,0.876923077,0.816967793 classify_et,95,boston_1,0.839694657,0.876923077,0.957546538 classify_dt,95,boston_1,0.754098361,0.876923077,0.859936727 classify_dbn,95,boston_1,0.875,0.876923077,0.997807018 classify_bnb,95,boston_1,0.686046512,0.876923077,0.782333741 classify_svm,96,boston_corrected_1,0.839160839,0.901408451,0.930944056 classify_sgd,96,boston_corrected_1,0.848920863,0.901408451,0.941771583 classify_rf,96,boston_corrected_1,0.818181818,0.901408451,0.907670455 classify_pa,96,boston_corrected_1,0.842105263,0.901408451,0.934210526 classify_mlp,96,boston_corrected_1,0.862745098,0.901408451,0.957107843 classify_logreg,96,boston_corrected_1,0.847682119,0.901408451,0.940397351 classify_knn,96,boston_corrected_1,0.901408451,0.901408451,1 classify_gp,96,boston_corrected_1,0.828125,0.901408451,0.918701172 classify_gnb,96,boston_corrected_1,0.794117647,0.901408451,0.880974265 classify_et,96,boston_corrected_1,0.8,0.901408451,0.8875 classify_dbn,96,boston_corrected_1,0.868965517,0.901408451,0.964008621 classify_svm,97,breast-tissue_1,-0.09982511,0.465680092,-0.214364135 classify_sgd,97,breast-tissue_1,0.36311445,0.465680092,0.779750856 classify_pa,97,breast-tissue_1,0.294664152,0.465680092,0.632760897 classify_mlp,97,breast-tissue_1,0.368493785,0.465680092,0.791302424 classify_logreg,97,breast-tissue_1,0.330569227,0.465680092,0.709863345 classify_knn,97,breast-tissue_1,0.41661378,0.465680092,0.894635153 classify_gp,97,breast-tissue_1,0.122168287,0.465680092,0.262343804 classify_et,97,breast-tissue_1,0.442670989,0.465680092,0.950590324 classify_dt,97,breast-tissue_1,0.351158556,0.465680092,0.754076805 classify_dbn,97,breast-tissue_1,0.465680092,0.465680092,1 classify_svm,98,cal_housing_1,0.812893664,0.848436247,0.958108128 classify_sgd,98,cal_housing_1,0.800491099,0.848436247,0.943489981 classify_rf,98,cal_housing_1,0.757401679,0.848436247,0.892703113 classify_mlp,98,cal_housing_1,0.848436247,0.848436247,1 classify_logreg,98,cal_housing_1,0.81545858,0.848436247,0.961131237 classify_knn,98,cal_housing_1,0.823600973,0.848436247,0.970728179 classify_et,98,cal_housing_1,0.408781695,0.848436247,0.481806024 classify_dt,98,cal_housing_1,0.804930542,0.848436247,0.948722482 classify_dbn,98,cal_housing_1,0.847274905,0.848436247,0.998631197 classify_svm,99,car_1,0.841340472,0.996704504,0.844122274 classify_sgd,99,car_1,0.480108569,0.996704504,0.481695997 classify_pa,99,car_1,0.208426754,0.996704504,0.209115895 classify_mlp,99,car_1,0.996704504,0.996704504,1 classify_logreg,99,car_1,0.190709227,0.996704504,0.191339786 classify_knn,99,car_1,0.83482666,0.996704504,0.837586925 classify_gp,99,car_1,-0.006059187,0.996704504,-0.006079221 classify_et,99,car_1,-0.033172434,0.996704504,-0.033282115 classify_dt,99,car_1,0.700000847,0.996704504,0.702315324 classify_dbn,99,car_1,0.873621013,0.996704504,0.876509547 classify_bnb,99,car_1,0.096450846,0.996704504,0.09676975 classify_svm,100,car_2,0.441441441,0.99661017,0.442942943 classify_sgd,100,car_2,0.746081505,0.99661017,0.748619197 classify_rf,100,car_2,0.942307692,0.99661017,0.94551282 classify_pa,100,car_2,0.746268657,0.99661017,0.748806985 classify_mnb,100,car_2,0.098159509,0.99661017,0.098493385 classify_mlp,100,car_2,0.993243243,0.99661017,0.996621622 classify_logreg,100,car_2,0.648,0.99661017,0.650204082 classify_knn,100,car_2,0.982817869,0.99661017,0.986160787 classify_gp,100,car_2,0.892857143,0.99661017,0.895894072 classify_et,100,car_2,0.684210526,0.99661017,0.686537773 classify_dbn,100,car_2,0.99661017,0.99661017,1 classify_svm,101,cardiotocography_1,0.972377236,0.985964711,0.986219105 classify_sgd,101,cardiotocography_1,0.976607852,0.985964711,0.990509945 classify_rf,101,cardiotocography_1,0.646808807,0.985964711,0.656016183 classify_mlp,101,cardiotocography_1,0.985964711,0.985964711,1 classify_logreg,101,cardiotocography_1,0.976607852,0.985964711,0.990509945 classify_knn,101,cardiotocography_1,0.984360544,0.985964711,0.998372997 classify_gp,101,cardiotocography_1,-0.121055372,0.985964711,-0.122778605 classify_gnb,101,cardiotocography_1,0.837314184,0.985964711,0.849233421 classify_et,101,cardiotocography_1,0.961530193,0.985964711,0.975217655 classify_dt,101,cardiotocography_1,0.485292545,0.985964711,0.492200724 classify_dbn,101,cardiotocography_1,0.985964711,0.985964711,1 classify_bnb,101,cardiotocography_1,0.815321921,0.985964711,0.826928095 classify_svm,102,chatfield_4_1,0.862068966,0.905660377,0.951867816 classify_sgd,102,chatfield_4_1,0.905660377,0.905660377,1 classify_rf,102,chatfield_4_1,0.877192983,0.905660377,0.968567251 classify_pa,102,chatfield_4_1,0.867924528,0.905660377,0.958333333 classify_mlp,102,chatfield_4_1,0.888888889,0.905660377,0.981481481 classify_logreg,102,chatfield_4_1,0.857142857,0.905660377,0.946428571 classify_knn,102,chatfield_4_1,0.846153846,0.905660377,0.934294872 classify_gp,102,chatfield_4_1,0.836363636,0.905660377,0.923484848 classify_gnb,102,chatfield_4_1,0.857142857,0.905660377,0.946428571 classify_et,102,chatfield_4_1,0.830188679,0.905660377,0.916666667 classify_dt,102,chatfield_4_1,0.811594203,0.905660377,0.896135266 classify_dbn,102,chatfield_4_1,0.867924528,0.905660377,0.958333333 classify_bnb,102,chatfield_4_1,0.723404255,0.905660377,0.798758865 classify_svm,103,chscase_adopt_1,0.857142857,0.857142857,1 classify_sgd,103,chscase_adopt_1,0.8,0.857142857,0.933333333 classify_rf,103,chscase_adopt_1,0.8,0.857142857,0.933333333 classify_pa,103,chscase_adopt_1,0.8,0.857142857,0.933333333 classify_mnb,103,chscase_adopt_1,0.545454545,0.857142857,0.636363636 classify_mlp,103,chscase_adopt_1,0.8,0.857142857,0.933333333 classify_logreg,103,chscase_adopt_1,0.8,0.857142857,0.933333333 classify_knn,103,chscase_adopt_1,0.8,0.857142857,0.933333333 classify_gp,103,chscase_adopt_1,0.8,0.857142857,0.933333333 classify_et,103,chscase_adopt_1,0,0.857142857,0 classify_dt,103,chscase_adopt_1,0.8,0.857142857,0.933333333 classify_bnb,103,chscase_adopt_1,0,0.857142857,0 classify_svm,104,chscase_census2_1,0.681318681,0.688888889,0.989010989 classify_sgd,104,chscase_census2_1,0.681318681,0.688888889,0.989010989 classify_rf,104,chscase_census2_1,0.487394958,0.688888889,0.70750881 classify_pa,104,chscase_census2_1,0.465517241,0.688888889,0.675750834 classify_mlp,104,chscase_census2_1,0.688888889,0.688888889,1 classify_logreg,104,chscase_census2_1,0.478632479,0.688888889,0.694789082 classify_knn,104,chscase_census2_1,0.620155039,0.688888889,0.900225056 classify_gp,104,chscase_census2_1,0.544,0.688888889,0.789677419 classify_gnb,104,chscase_census2_1,0.368932039,0.688888889,0.535546508 classify_dt,104,chscase_census2_1,0.48,0.688888889,0.696774194 classify_dbn,104,chscase_census2_1,0.681318681,0.688888889,0.989010989 classify_svm,105,chscase_census3_1,0,0.702702703,0 classify_sgd,105,chscase_census3_1,0.702702703,0.702702703,1 classify_pa,105,chscase_census3_1,0.557142857,0.702702703,0.792857143 classify_mnb,105,chscase_census3_1,0,0.702702703,0 classify_mlp,105,chscase_census3_1,0.702702703,0.702702703,1 classify_logreg,105,chscase_census3_1,0.598425197,0.702702703,0.851605088 classify_knn,105,chscase_census3_1,0.559322034,0.702702703,0.795958279 classify_gp,105,chscase_census3_1,0,0.702702703,0 classify_et,105,chscase_census3_1,0.082191781,0.702702703,0.116965227 classify_dt,105,chscase_census3_1,0.527131783,0.702702703,0.750149076 classify_dbn,105,chscase_census3_1,0.38,0.702702703,0.540769231 classify_bnb,105,chscase_census3_1,0.511627907,0.702702703,0.728085868 classify_svm,106,chscase_census4_1,0.651685393,0.679012346,0.959754852 classify_sgd,106,chscase_census4_1,0.651685393,0.679012346,0.959754852 classify_rf,106,chscase_census4_1,0.373831776,0.679012346,0.550552251 classify_mnb,106,chscase_census4_1,0.5,0.679012346,0.736363636 classify_mlp,106,chscase_census4_1,0.679012346,0.679012346,1 classify_logreg,106,chscase_census4_1,0.442622951,0.679012346,0.651862891 classify_knn,106,chscase_census4_1,0.517241379,0.679012346,0.761755486 classify_gp,106,chscase_census4_1,0.47706422,0.679012346,0.702585488 classify_gnb,106,chscase_census4_1,0.361904762,0.679012346,0.532987013 classify_et,106,chscase_census4_1,0.36,0.679012346,0.530181818 classify_dt,106,chscase_census4_1,0.3125,0.679012346,0.460227273 classify_dbn,106,chscase_census4_1,0.343434343,0.679012346,0.505785124 classify_bnb,106,chscase_census4_1,0.40776699,0.679012346,0.600529568 classify_svm,107,chscase_census5_1,0.651685393,0.654320988,0.995972016 classify_sgd,107,chscase_census5_1,0.651685393,0.654320988,0.995972016 classify_pa,107,chscase_census5_1,0.53125,0.654320988,0.811910377 classify_mlp,107,chscase_census5_1,0.651685393,0.654320988,0.995972016 classify_logreg,107,chscase_census5_1,0,0.654320988,0 classify_knn,107,chscase_census5_1,0.5,0.654320988,0.764150943 classify_gp,107,chscase_census5_1,0,0.654320988,0 classify_et,107,chscase_census5_1,0.412371134,0.654320988,0.630227582 classify_dbn,107,chscase_census5_1,0.654320988,0.654320988,1 classify_bnb,107,chscase_census5_1,0.366972477,0.654320988,0.560844729 classify_svm,108,chscase_census6_1,0.527607362,0.534161491,0.987730061 classify_sgd,108,chscase_census6_1,0.534161491,0.534161491,1 classify_rf,108,chscase_census6_1,0,0.534161491,0 classify_pa,108,chscase_census6_1,0.188679245,0.534161491,0.353225099 classify_mnb,108,chscase_census6_1,0.307692308,0.534161491,0.576028623 classify_mlp,108,chscase_census6_1,0.527607362,0.534161491,0.987730061 classify_logreg,108,chscase_census6_1,0.326530612,0.534161491,0.611295681 classify_knn,108,chscase_census6_1,0.404494382,0.534161491,0.75725111 classify_gp,108,chscase_census6_1,0.271186441,0.534161491,0.507686244 classify_et,108,chscase_census6_1,0.044444444,0.534161491,0.083204134 classify_dt,108,chscase_census6_1,0.277777778,0.534161491,0.52002584 classify_dbn,108,chscase_census6_1,0.440366973,0.534161491,0.824407937 classify_svm,109,chscase_funds_1,0,0.833333333,0 classify_sgd,109,chscase_funds_1,0.8,0.833333333,0.96 classify_rf,109,chscase_funds_1,0.805555556,0.833333333,0.966666667 classify_mnb,109,chscase_funds_1,0.666666667,0.833333333,0.8 classify_mlp,109,chscase_funds_1,0.833333333,0.833333333,1 classify_logreg,109,chscase_funds_1,0.78125,0.833333333,0.9375 classify_knn,109,chscase_funds_1,0.828571429,0.833333333,0.994285714 classify_gp,109,chscase_funds_1,0.697674419,0.833333333,0.837209302 classify_gnb,109,chscase_funds_1,0.764705882,0.833333333,0.917647059 classify_et,109,chscase_funds_1,0.8,0.833333333,0.96 classify_dt,109,chscase_funds_1,0.769230769,0.833333333,0.923076923 classify_dbn,109,chscase_funds_1,0.816901408,0.833333333,0.98028169 classify_bnb,109,chscase_funds_1,0.789473684,0.833333333,0.947368421 classify_svm,110,chscase_geyser1_1,0.814814815,0.897435897,0.907936508 classify_sgd,110,chscase_geyser1_1,0.897435897,0.897435897,1 classify_mnb,110,chscase_geyser1_1,0.722891566,0.897435897,0.805507745 classify_mlp,110,chscase_geyser1_1,0.897435897,0.897435897,1 classify_logreg,110,chscase_geyser1_1,0.596491228,0.897435897,0.664661654 classify_knn,110,chscase_geyser1_1,0.886075949,0.897435897,0.987341772 classify_gp,110,chscase_geyser1_1,0.886075949,0.897435897,0.987341772 classify_gnb,110,chscase_geyser1_1,0.883116883,0.897435897,0.984044527 classify_et,110,chscase_geyser1_1,0.888888889,0.897435897,0.990476191 classify_dt,110,chscase_geyser1_1,0.897435897,0.897435897,1 classify_dbn,110,chscase_geyser1_1,0.897435897,0.897435897,1 classify_svm,111,chscase_health_1,0.75,0.777777778,0.964285714 classify_sgd,111,chscase_health_1,0.75,0.777777778,0.964285714 classify_rf,111,chscase_health_1,0.666666667,0.777777778,0.857142857 classify_pa,111,chscase_health_1,0.52631579,0.777777778,0.676691729 classify_mlp,111,chscase_health_1,0.75,0.777777778,0.964285714 classify_logreg,111,chscase_health_1,0.588235294,0.777777778,0.756302521 classify_knn,111,chscase_health_1,0.666666667,0.777777778,0.857142857 classify_gp,111,chscase_health_1,0.777777778,0.777777778,1 classify_gnb,111,chscase_health_1,0.666666667,0.777777778,0.857142857 classify_dt,111,chscase_health_1,0.5,0.777777778,0.642857143 classify_dbn,111,chscase_health_1,0.363636364,0.777777778,0.467532467 classify_bnb,111,chscase_health_1,0.615384615,0.777777778,0.791208791 classify_svm,112,chscase_vine1_1,0.869565217,1,0.869565217 classify_sgd,112,chscase_vine1_1,1,1,1 classify_rf,112,chscase_vine1_1,0.947368421,1,0.947368421 classify_pa,112,chscase_vine1_1,0.818181818,1,0.818181818 classify_mnb,112,chscase_vine1_1,0.857142857,1,0.857142857 classify_mlp,112,chscase_vine1_1,1,1,1 classify_logreg,112,chscase_vine1_1,1,1,1 classify_knn,112,chscase_vine1_1,0.947368421,1,0.947368421 classify_gp,112,chscase_vine1_1,0.9,1,0.9 classify_gnb,112,chscase_vine1_1,0.9,1,0.9 classify_et,112,chscase_vine1_1,0.9,1,0.9 classify_dt,112,chscase_vine1_1,0.857142857,1,0.857142857 classify_dbn,112,chscase_vine1_1,0.9,1,0.9 classify_svm,113,chscase_vine2_1,0.657142857,0.884057971,0.743325527 classify_sgd,113,chscase_vine2_1,0.657142857,0.884057971,0.743325527 classify_rf,113,chscase_vine2_1,0.846153846,0.884057971,0.957124842 classify_mlp,113,chscase_vine2_1,0.852941177,0.884057971,0.964802314 classify_logreg,113,chscase_vine2_1,0.535947712,0.884057971,0.606235937 classify_knn,113,chscase_vine2_1,0.884057971,0.884057971,1 classify_gp,113,chscase_vine2_1,0.73015873,0.884057971,0.825917252 classify_gnb,113,chscase_vine2_1,0.746031746,0.884057971,0.843871975 classify_et,113,chscase_vine2_1,0.780487805,0.884057971,0.882846861 classify_dbn,113,chscase_vine2_1,0.823529412,0.884057971,0.931533269 classify_bnb,113,chscase_vine2_1,0.438095238,0.884057971,0.495550351 classify_svm,114,climate-model-simulation-crashes_1,0.951456311,0.951456311,1 classify_sgd,114,climate-model-simulation-crashes_1,0.951456311,0.951456311,1 classify_rf,114,climate-model-simulation-crashes_1,0.951456311,0.951456311,1 classify_pa,114,climate-model-simulation-crashes_1,0.94,0.951456311,0.987959184 classify_mnb,114,climate-model-simulation-crashes_1,0.792156863,0.951456311,0.832573029 classify_mlp,114,climate-model-simulation-crashes_1,0.951456311,0.951456311,1 classify_logreg,114,climate-model-simulation-crashes_1,0.735042735,0.951456311,0.772544915 classify_knn,114,climate-model-simulation-crashes_1,0.951456311,0.951456311,1 classify_gp,114,climate-model-simulation-crashes_1,0.951456311,0.951456311,1 classify_gnb,114,climate-model-simulation-crashes_1,0.919860627,0.951456311,0.966792292 classify_et,114,climate-model-simulation-crashes_1,0.951456311,0.951456311,1 classify_dt,114,climate-model-simulation-crashes_1,0.95049505,0.951456311,0.998989695 classify_dbn,114,climate-model-simulation-crashes_1,0.948051948,0.951456311,0.996421945 classify_bnb,114,climate-model-simulation-crashes_1,0.93559322,0.951456311,0.983327568 classify_svm,115,cloud_1,0.666666667,0.936170213,0.712121212 classify_sgd,115,cloud_1,0.821428571,0.936170213,0.877435065 classify_rf,115,cloud_1,0.8,0.936170213,0.854545455 classify_pa,115,cloud_1,0.730769231,0.936170213,0.780594406 classify_mnb,115,cloud_1,0.651162791,0.936170213,0.695560254 classify_mlp,115,cloud_1,0.821428571,0.936170213,0.877435065 classify_logreg,115,cloud_1,0.634146341,0.936170213,0.677383592 classify_knn,115,cloud_1,0.821428571,0.936170213,0.877435065 classify_gp,115,cloud_1,0.936170213,0.936170213,1 classify_et,115,cloud_1,0.821428571,0.936170213,0.877435065 classify_dt,115,cloud_1,0.933333333,0.936170213,0.996969697 classify_dbn,115,cloud_1,0.821428571,0.936170213,0.877435065 classify_bnb,115,cloud_1,0.745098039,0.936170213,0.795900178 classify_svm,116,cm1_req_1,0.48,0.5625,0.853333333 classify_sgd,116,cm1_req_1,0.5,0.5625,0.888888889 classify_rf,116,cm1_req_1,0.333333333,0.5625,0.592592593 classify_mlp,116,cm1_req_1,0.5625,0.5625,1 classify_logreg,116,cm1_req_1,0.52631579,0.5625,0.935672515 classify_knn,116,cm1_req_1,0.3,0.5625,0.533333333 classify_gp,116,cm1_req_1,0,0.5625,0 classify_et,116,cm1_req_1,0.333333333,0.5625,0.592592593 classify_dt,116,cm1_req_1,0.533333333,0.5625,0.948148148 classify_dbn,116,cm1_req_1,0.533333333,0.5625,0.948148148 classify_svm,117,cmc_1,0.487058411,0.487928129,0.998217529 classify_sgd,117,cmc_1,0.410560576,0.487928129,0.841436579 classify_rf,117,cmc_1,0.449522968,0.487928129,0.921289307 classify_pa,117,cmc_1,0.431032339,0.487928129,0.883393092 classify_mnb,117,cmc_1,0.399451677,0.487928129,0.818669089 classify_mlp,117,cmc_1,0.487928129,0.487928129,1 classify_logreg,117,cmc_1,0.462330394,0.487928129,0.947537898 classify_knn,117,cmc_1,0.410729827,0.487928129,0.841783457 classify_gp,117,cmc_1,0.396112784,0.487928129,0.811826088 classify_et,117,cmc_1,-0.055179208,0.487928129,-0.113088803 classify_dt,117,cmc_1,0.388727689,0.487928129,0.796690468 classify_dbn,117,cmc_1,0.456721914,0.487928129,0.936043418 classify_svm,118,cmc_2,0.733524355,0.800724638,0.916075665 classify_sgd,118,cmc_2,0.757861635,0.800724638,0.946469734 classify_pa,118,cmc_2,0.754266212,0.800724638,0.941979522 classify_mnb,118,cmc_2,0.751269036,0.800724638,0.938236443 classify_mlp,118,cmc_2,0.794069193,0.800724638,0.991688223 classify_logreg,118,cmc_2,0.689922481,0.800724638,0.861622645 classify_knn,118,cmc_2,0.745644599,0.800724638,0.93121226 classify_gp,118,cmc_2,0.800724638,0.800724638,1 classify_et,118,cmc_2,0.74554295,0.800724638,0.931085313 classify_dt,118,cmc_2,0.744721689,0.800724638,0.930059666 classify_dbn,118,cmc_2,0.793536804,0.800724638,0.991023339 classify_bnb,118,cmc_2,0.690391459,0.800724638,0.862208338 classify_svm,119,collins_1,0.965250965,1,0.965250965 classify_sgd,119,collins_1,0.977272727,1,0.977272727 classify_rf,119,collins_1,1,1,1 classify_pa,119,collins_1,0.973782772,1,0.973782772 classify_mlp,119,collins_1,0.992366412,1,0.992366412 classify_logreg,119,collins_1,0.821428571,1,0.821428571 classify_knn,119,collins_1,0.981132075,1,0.981132075 classify_gp,119,collins_1,1,1,1 classify_et,119,collins_1,0.928571429,1,0.928571429 classify_dt,119,collins_1,1,1,1 classify_dbn,119,collins_1,0.988593156,1,0.988593156 classify_svm,120,confidence_1,0.733333333,1,0.733333333 classify_sgd,120,confidence_1,0.974358974,1,0.974358974 classify_rf,120,confidence_1,0.9,1,0.9 classify_pa,120,confidence_1,0.642857143,1,0.642857143 classify_mlp,120,confidence_1,1,1,1 classify_logreg,120,confidence_1,0.733333333,1,0.733333333 classify_knn,120,confidence_1,0.974358974,1,0.974358974 classify_gp,120,confidence_1,0.888888889,1,0.888888889 classify_gnb,120,confidence_1,0.823529412,1,0.823529412 classify_et,120,confidence_1,0.947368421,1,0.947368421 classify_dt,120,confidence_1,0.777777778,1,0.777777778 classify_dbn,120,confidence_1,0.926829268,1,0.926829268 classify_bnb,120,confidence_1,0.689655172,1,0.689655172 classify_svm,121,cpu_1,0.413793103,0.977777778,0.423197492 classify_sgd,121,cpu_1,0.977777778,0.977777778,1 classify_rf,121,cpu_1,0.977777778,0.977777778,1 classify_pa,121,cpu_1,0.977777778,0.977777778,1 classify_mlp,121,cpu_1,0.977777778,0.977777778,1 classify_logreg,121,cpu_1,0.977777778,0.977777778,1 classify_knn,121,cpu_1,0.954545455,0.977777778,0.976239669 classify_gp,121,cpu_1,0.878048781,0.977777778,0.898004435 classify_et,121,cpu_1,0.820512821,0.977777778,0.839160839 classify_dt,121,cpu_1,0.933333333,0.977777778,0.954545454 classify_dbn,121,cpu_1,0.956521739,0.977777778,0.97826087 classify_bnb,121,cpu_1,0.956521739,0.977777778,0.97826087 classify_svm,122,cpu_act_1,0,0.959354281,0 classify_sgd,122,cpu_act_1,0.95049505,0.959354281,0.990765423 classify_rf,122,cpu_act_1,0.937465103,0.959354281,0.977183426 classify_pa,122,cpu_act_1,0.941552777,0.959354281,0.981444286 classify_mnb,122,cpu_act_1,0.838595456,0.959354281,0.874124891 classify_mlp,122,cpu_act_1,0.959354281,0.959354281,1 classify_logreg,122,cpu_act_1,0.947650208,0.959354281,0.987800052 classify_knn,122,cpu_act_1,0.951100944,0.959354281,0.991396987 classify_gnb,122,cpu_act_1,0.919153868,0.959354281,0.958096385 classify_et,122,cpu_act_1,0.845188285,0.959354281,0.880997043 classify_dt,122,cpu_act_1,0.932911028,0.959354281,0.972436405 classify_dbn,122,cpu_act_1,0.955993052,0.959354281,0.996496363 classify_svm,123,cpu_small_1,0.933177022,0.949704973,0.982596752 classify_sgd,123,cpu_small_1,0.940651992,0.949704973,0.990467586 classify_rf,123,cpu_small_1,0.932498639,0.949704973,0.981882443 classify_pa,123,cpu_small_1,0.94084665,0.949704973,0.990672552 classify_mnb,123,cpu_small_1,0.852856319,0.949704973,0.898022378 classify_mlp,123,cpu_small_1,0.949704973,0.949704973,1 classify_logreg,123,cpu_small_1,0.931546752,0.949704973,0.980880145 classify_knn,123,cpu_small_1,0.949208993,0.949704973,0.999477753 classify_et,123,cpu_small_1,0.905208333,0.949704973,0.953146881 classify_dt,123,cpu_small_1,0.926072235,0.949704973,0.975115705 classify_dbn,123,cpu_small_1,0.944491406,0.949704973,0.99451033 classify_bnb,123,cpu_small_1,0.896715004,0.949704973,0.944203758 classify_svm,124,credit-g_1,0.605504587,0.61627907,0.982516877 classify_sgd,124,credit-g_1,0.576271186,0.61627907,0.935081548 classify_pa,124,credit-g_1,0.590361446,0.61627907,0.957944987 classify_mnb,124,credit-g_1,0.455026455,0.61627907,0.738344814 classify_mlp,124,credit-g_1,0.61627907,0.61627907,1 classify_logreg,124,credit-g_1,0.603448276,0.61627907,0.979180221 classify_knn,124,credit-g_1,0.45508982,0.61627907,0.738447633 classify_gp,124,credit-g_1,0.2875,0.61627907,0.466509434 classify_et,124,credit-g_1,0.330434783,0.61627907,0.536177194 classify_dt,124,credit-g_1,0.502994012,0.61627907,0.816178963 classify_dbn,124,credit-g_1,0.516853933,0.61627907,0.838668645 classify_svm,125,datatrieve_1,0.266666667,0.5,0.533333333 classify_sgd,125,datatrieve_1,0.5,0.5,1 classify_rf,125,datatrieve_1,0,0.5,0 classify_pa,125,datatrieve_1,0.181818182,0.5,0.363636364 classify_mlp,125,datatrieve_1,0.5,0.5,1 classify_logreg,125,datatrieve_1,0.4,0.5,0.8 classify_knn,125,datatrieve_1,0.25,0.5,0.5 classify_gp,125,datatrieve_1,0,0.5,0 classify_et,125,datatrieve_1,0,0.5,0 classify_dt,125,datatrieve_1,0.222222222,0.5,0.444444444 classify_dbn,125,datatrieve_1,0,0.5,0 classify_bnb,125,datatrieve_1,0,0.5,0 classify_svm,126,dbworld-bodies_1,0.615384615,1,0.615384615 classify_sgd,126,dbworld-bodies_1,1,1,1 classify_rf,126,dbworld-bodies_1,1,1,1 classify_pa,126,dbworld-bodies_1,1,1,1 classify_mnb,126,dbworld-bodies_1,1,1,1 classify_mlp,126,dbworld-bodies_1,1,1,1 classify_logreg,126,dbworld-bodies_1,1,1,1 classify_knn,126,dbworld-bodies_1,0.518518519,1,0.518518519 classify_gp,126,dbworld-bodies_1,0.6,1,0.6 classify_gnb,126,dbworld-bodies_1,0.933333333,1,0.933333333 classify_et,126,dbworld-bodies_1,1,1,1 classify_dt,126,dbworld-bodies_1,0.666666667,1,0.666666667 classify_dbn,126,dbworld-bodies_1,0.923076923,1,0.923076923 classify_bnb,126,dbworld-bodies_1,0.833333333,1,0.833333333 classify_svm,127,dbworld-subjects-stemmed_1,0,0.909090909,0 classify_sgd,127,dbworld-subjects-stemmed_1,0.909090909,0.909090909,1 classify_rf,127,dbworld-subjects-stemmed_1,0.555555556,0.909090909,0.611111111 classify_pa,127,dbworld-subjects-stemmed_1,0.666666667,0.909090909,0.733333333 classify_mnb,127,dbworld-subjects-stemmed_1,0.833333333,0.909090909,0.916666667 classify_mlp,127,dbworld-subjects-stemmed_1,0.833333333,0.909090909,0.916666667 classify_logreg,127,dbworld-subjects-stemmed_1,0.833333333,0.909090909,0.916666667 classify_knn,127,dbworld-subjects-stemmed_1,0.625,0.909090909,0.6875 classify_gp,127,dbworld-subjects-stemmed_1,0.625,0.909090909,0.6875 classify_gnb,127,dbworld-subjects-stemmed_1,0.909090909,0.909090909,1 classify_et,127,dbworld-subjects-stemmed_1,0.666666667,0.909090909,0.733333333 classify_dt,127,dbworld-subjects-stemmed_1,0.533333333,0.909090909,0.586666667 classify_dbn,127,dbworld-subjects-stemmed_1,0.727272727,0.909090909,0.8 classify_bnb,127,dbworld-subjects-stemmed_1,0.714285714,0.909090909,0.785714286 classify_svm,128,dbworld-subjects_1,0.857142857,0.947368421,0.904761905 classify_sgd,128,dbworld-subjects_1,0.947368421,0.947368421,1 classify_rf,128,dbworld-subjects_1,0.461538462,0.947368421,0.487179487 classify_pa,128,dbworld-subjects_1,0.782608696,0.947368421,0.826086957 classify_mlp,128,dbworld-subjects_1,0.9,0.947368421,0.95 classify_logreg,128,dbworld-subjects_1,0.782608696,0.947368421,0.826086957 classify_knn,128,dbworld-subjects_1,0.842105263,0.947368421,0.888888889 classify_gp,128,dbworld-subjects_1,0.842105263,0.947368421,0.888888889 classify_gnb,128,dbworld-subjects_1,0.782608696,0.947368421,0.826086957 classify_dt,128,dbworld-subjects_1,0.9,0.947368421,0.95 classify_dbn,128,dbworld-subjects_1,0.782608696,0.947368421,0.826086957 classify_svm,129,delta_ailerons_1,0.932135728,0.939303483,0.992369075 classify_sgd,129,delta_ailerons_1,0.931051837,0.939303483,0.991215144 classify_rf,129,delta_ailerons_1,0.933466733,0.939303483,0.993786088 classify_pa,129,delta_ailerons_1,0.931921331,0.939303483,0.992140824 classify_mlp,129,delta_ailerons_1,0.938957816,0.939303483,0.999631997 classify_logreg,129,delta_ailerons_1,0.934328358,0.939303483,0.99470339 classify_knn,129,delta_ailerons_1,0.938407611,0.939303483,0.999046239 classify_gnb,129,delta_ailerons_1,0.926221336,0.939303483,0.986072503 classify_et,129,delta_ailerons_1,0.934804413,0.939303483,0.995210207 classify_dbn,129,delta_ailerons_1,0.939303483,0.939303483,1 classify_sgd,130,delta_elevators_1,0.895927602,0.897150799,0.998636575 classify_rf,130,delta_elevators_1,0.88873338,0.897150799,0.990617609 classify_pa,130,delta_elevators_1,0.891910739,0.897150799,0.99415922 classify_mlp,130,delta_elevators_1,0.897150799,0.897150799,1 classify_logreg,130,delta_elevators_1,0.896697119,0.897150799,0.99949431 classify_knn,130,delta_elevators_1,0.888194444,0.897150799,0.99001689 classify_et,130,delta_elevators_1,0.884844242,0.897150799,0.986282622 classify_dt,130,delta_elevators_1,0.803751804,0.897150799,0.895893761 classify_dbn,130,delta_elevators_1,0.896077082,0.897150799,0.998803192 classify_bnb,130,delta_elevators_1,0.848756906,0.897150799,0.94605824 classify_svm,131,desharnais_1,0.338229195,0.498249807,0.678834573 classify_sgd,131,desharnais_1,0.381128144,0.498249807,0.764933851 classify_rf,131,desharnais_1,0.117122266,0.498249807,0.235067358 classify_pa,131,desharnais_1,0.421716227,0.498249807,0.846395165 classify_mlp,131,desharnais_1,0.498249807,0.498249807,1 classify_logreg,131,desharnais_1,0.46778339,0.498249807,0.938853128 classify_knn,131,desharnais_1,0.092628362,0.498249807,0.185907472 classify_gp,131,desharnais_1,-0.020454991,0.498249807,-0.041053685 classify_gnb,131,desharnais_1,0.104861884,0.498249807,0.210460462 classify_et,131,desharnais_1,0.112110334,0.498249807,0.225008285 classify_dt,131,desharnais_1,0.132042649,0.498249807,0.265012946 classify_dbn,131,desharnais_1,0.133518587,0.498249807,0.267975191 classify_bnb,131,desharnais_1,0.285463833,0.498249807,0.572933153 classify_svm,132,diabetes_1,0.488095238,0.733668342,0.665280496 classify_sgd,132,diabetes_1,0.726256983,0.733668342,0.989898217 classify_rf,132,diabetes_1,0.662337662,0.733668342,0.902775307 classify_mnb,132,diabetes_1,0.51497006,0.733668342,0.701911246 classify_mlp,132,diabetes_1,0.733668342,0.733668342,1 classify_logreg,132,diabetes_1,0.733333333,0.733668342,0.999543379 classify_knn,132,diabetes_1,0.671328671,0.733668342,0.915030175 classify_gp,132,diabetes_1,0.648648649,0.733668342,0.884116994 classify_et,132,diabetes_1,0.638297872,0.733668342,0.870008744 classify_dt,132,diabetes_1,0.56626506,0.733668342,0.771827034 classify_dbn,132,diabetes_1,0.694610778,0.733668342,0.946764006 classify_svm,133,diabetes_numeric_1,0.666666667,0.761904762,0.875 classify_sgd,133,diabetes_numeric_1,0.761904762,0.761904762,1 classify_rf,133,diabetes_numeric_1,0.666666667,0.761904762,0.875 classify_mlp,133,diabetes_numeric_1,0.761904762,0.761904762,1 classify_logreg,133,diabetes_numeric_1,0.761904762,0.761904762,1 classify_knn,133,diabetes_numeric_1,0.761904762,0.761904762,1 classify_gp,133,diabetes_numeric_1,0.761904762,0.761904762,1 classify_gnb,133,diabetes_numeric_1,0.666666667,0.761904762,0.875 classify_et,133,diabetes_numeric_1,0.705882353,0.761904762,0.926470588 classify_bnb,133,diabetes_numeric_1,0.666666667,0.761904762,0.875 classify_svm,134,diggle_table_a1_1,0.636363636,0.933333333,0.681818182 classify_sgd,134,diggle_table_a1_1,0.933333333,0.933333333,1 classify_pa,134,diggle_table_a1_1,0.823529412,0.933333333,0.882352941 classify_mlp,134,diggle_table_a1_1,0.933333333,0.933333333,1 classify_logreg,134,diggle_table_a1_1,0.769230769,0.933333333,0.824175824 classify_knn,134,diggle_table_a1_1,0.933333333,0.933333333,1 classify_gp,134,diggle_table_a1_1,0.823529412,0.933333333,0.882352941 classify_gnb,134,diggle_table_a1_1,0.857142857,0.933333333,0.918367347 classify_et,134,diggle_table_a1_1,0.933333333,0.933333333,1 classify_dt,134,diggle_table_a1_1,0.857142857,0.933333333,0.918367347 classify_bnb,134,diggle_table_a1_1,0.857142857,0.933333333,0.918367347 classify_svm,135,diggle_table_a2_1,0.97826087,0.989247312,0.98889414 classify_sgd,135,diggle_table_a2_1,0.989010989,0.989247312,0.999761108 classify_pa,135,diggle_table_a2_1,0.97826087,0.989247312,0.98889414 classify_mnb,135,diggle_table_a2_1,0.791666667,0.989247312,0.800271739 classify_mlp,135,diggle_table_a2_1,0.97826087,0.989247312,0.98889414 classify_logreg,135,diggle_table_a2_1,0.989010989,0.989247312,0.999761108 classify_knn,135,diggle_table_a2_1,0.978723404,0.989247312,0.989361702 classify_gp,135,diggle_table_a2_1,0.948453608,0.989247312,0.958762887 classify_et,135,diggle_table_a2_1,0.989247312,0.989247312,1 classify_dt,135,diggle_table_a2_1,0.989010989,0.989247312,0.999761108 classify_dbn,135,diggle_table_a2_1,0.97826087,0.989247312,0.98889414 classify_svm,136,disclosure_x_bias_1,0.636986301,0.64137931,0.993150685 classify_sgd,136,disclosure_x_bias_1,0.64137931,0.64137931,1 classify_rf,136,disclosure_x_bias_1,0.489130435,0.64137931,0.762622721 classify_pa,136,disclosure_x_bias_1,0.614107884,0.64137931,0.957480034 classify_mnb,136,disclosure_x_bias_1,0.472527473,0.64137931,0.736736382 classify_mlp,136,disclosure_x_bias_1,0.636986301,0.64137931,0.993150685 classify_logreg,136,disclosure_x_bias_1,0.507936508,0.64137931,0.791944018 classify_knn,136,disclosure_x_bias_1,0.516129032,0.64137931,0.804717308 classify_gp,136,disclosure_x_bias_1,0.45320197,0.64137931,0.706605223 classify_dt,136,disclosure_x_bias_1,0.504854369,0.64137931,0.787138532 classify_dbn,136,disclosure_x_bias_1,0.539215686,0.64137931,0.840712629 classify_svm,137,disclosure_x_noise_1,0.668896321,0.696864112,0.959866221 classify_sgd,137,disclosure_x_noise_1,0.675675676,0.696864112,0.969594595 classify_rf,137,disclosure_x_noise_1,0.56880734,0.696864112,0.816238532 classify_pa,137,disclosure_x_noise_1,0.677966102,0.696864112,0.972881356 classify_mlp,137,disclosure_x_noise_1,0.696864112,0.696864112,1 classify_logreg,137,disclosure_x_noise_1,0.568627451,0.696864112,0.815980392 classify_knn,137,disclosure_x_noise_1,0.575471698,0.696864112,0.825801887 classify_gp,137,disclosure_x_noise_1,0.623255814,0.696864112,0.894372093 classify_gnb,137,disclosure_x_noise_1,0.587719298,0.696864112,0.843377193 classify_et,137,disclosure_x_noise_1,0.56,0.696864112,0.8036 classify_dt,137,disclosure_x_noise_1,0.655052265,0.696864112,0.94 classify_dbn,137,disclosure_x_noise_1,0.668896321,0.696864112,0.959866221 classify_svm,138,disclosure_x_tampered_1,0,0.68013468,0 classify_sgd,138,disclosure_x_tampered_1,0.677740864,0.68013468,0.996480379 classify_rf,138,disclosure_x_tampered_1,0.551401869,0.68013468,0.81072453 classify_pa,138,disclosure_x_tampered_1,0.479591837,0.68013468,0.705142453 classify_mlp,138,disclosure_x_tampered_1,0.68013468,0.68013468,1 classify_logreg,138,disclosure_x_tampered_1,0.528846154,0.68013468,0.777560929 classify_knn,138,disclosure_x_tampered_1,0.623853211,0.68013468,0.917249523 classify_gp,138,disclosure_x_tampered_1,0.677740864,0.68013468,0.996480379 classify_et,138,disclosure_x_tampered_1,0.629787234,0.68013468,0.9259743 classify_dt,138,disclosure_x_tampered_1,0.604444444,0.68013468,0.888712871 classify_dbn,138,disclosure_x_tampered_1,0.677740864,0.68013468,0.996480379 classify_bnb,138,disclosure_x_tampered_1,0.575342466,0.68013468,0.845924319 classify_svm,139,disclosure_z_1,0.564814815,0.655405405,0.861779305 classify_sgd,139,disclosure_z_1,0.655405405,0.655405405,1 classify_rf,139,disclosure_z_1,0.461538462,0.655405405,0.704203013 classify_pa,139,disclosure_z_1,0.491017964,0.655405405,0.749182048 classify_mnb,139,disclosure_z_1,0.544444444,0.655405405,0.83069874 classify_mlp,139,disclosure_z_1,0.655405405,0.655405405,1 classify_logreg,139,disclosure_z_1,0.57,0.655405405,0.869690722 classify_knn,139,disclosure_z_1,0.57,0.655405405,0.869690722 classify_gp,139,disclosure_z_1,0.397260274,0.655405405,0.606129078 classify_et,139,disclosure_z_1,0.320610687,0.655405405,0.489179193 classify_dbn,139,disclosure_z_1,0.523809524,0.655405405,0.799214531 classify_bnb,139,disclosure_z_1,0.575757576,0.655405405,0.878475476 classify_svm,140,dresses-sales_1,0.54368932,0.54368932,1 classify_sgd,140,dresses-sales_1,0.54368932,0.54368932,1 classify_rf,140,dresses-sales_1,0.35443038,0.54368932,0.651898734 classify_pa,140,dresses-sales_1,0.36,0.54368932,0.662142857 classify_mlp,140,dresses-sales_1,0.54368932,0.54368932,1 classify_logreg,140,dresses-sales_1,0.442748092,0.54368932,0.81434024 classify_knn,140,dresses-sales_1,0.491803279,0.54368932,0.904566745 classify_gp,140,dresses-sales_1,0.446428571,0.54368932,0.821109694 classify_dt,140,dresses-sales_1,0.389380531,0.54368932,0.716182048 classify_dbn,140,dresses-sales_1,0.457627119,0.54368932,0.841707022 classify_bnb,140,dresses-sales_1,0.488188976,0.54368932,0.89791901 classify_svm,141,ecoli_1,0.983050848,0.991596639,0.991381787 classify_sgd,141,ecoli_1,0.983050848,0.991596639,0.991381787 classify_rf,141,ecoli_1,0.991596639,0.991596639,1 classify_pa,141,ecoli_1,0.948275862,0.991596639,0.956312098 classify_mnb,141,ecoli_1,0.929824561,0.991596639,0.937704431 classify_mlp,141,ecoli_1,0.991596639,0.991596639,1 classify_logreg,141,ecoli_1,0,0.991596639,0 classify_knn,141,ecoli_1,0.983050848,0.991596639,0.991381787 classify_gp,141,ecoli_1,0.991596639,0.991596639,1 classify_gnb,141,ecoli_1,0.264705882,0.991596639,0.266949153 classify_et,141,ecoli_1,0.983050848,0.991596639,0.991381787 classify_dt,141,ecoli_1,0.965517241,0.991596639,0.973699591 classify_dbn,141,ecoli_1,0.983050848,0.991596639,0.991381787 classify_bnb,141,ecoli_1,0.957983193,0.991596639,0.966101695 classify_svm,142,eeg-eye-state_1,0.338471217,0.914031621,0.370305808 classify_sgd,142,eeg-eye-state_1,0.633838384,0.914031621,0.693453453 classify_rf,142,eeg-eye-state_1,0.523700556,0.914031621,0.572956716 classify_mnb,142,eeg-eye-state_1,0.620615385,0.914031621,0.678986777 classify_mlp,142,eeg-eye-state_1,0.914031621,0.914031621,1 classify_logreg,142,eeg-eye-state_1,0.613258374,0.914031621,0.670937811 classify_knn,142,eeg-eye-state_1,0.909226191,0.914031621,0.9947426 classify_et,142,eeg-eye-state_1,0.420543357,0.914031621,0.460097164 classify_dt,142,eeg-eye-state_1,0.743776716,0.914031621,0.813731932 classify_dbn,142,eeg-eye-state_1,0.813223938,0.914031621,0.889710946 classify_bnb,142,eeg-eye-state_1,0.474260679,0.914031621,0.518866819 classify_svm,143,electricity_1,0.730659695,0.866428706,0.843300424 classify_sgd,143,electricity_1,0.80480173,0.866428706,0.928872421 classify_rf,143,electricity_1,0.822586227,0.866428706,0.949398631 classify_pa,143,electricity_1,0.704757947,0.866428706,0.813405584 classify_mnb,143,electricity_1,0.592145434,0.866428706,0.683432382 classify_mlp,143,electricity_1,0.85466295,0.866428706,0.986420399 classify_logreg,143,electricity_1,0.791569375,0.866428706,0.913600126 classify_knn,143,electricity_1,0.866428706,0.866428706,1 classify_et,143,electricity_1,0.798239094,0.866428706,0.92129807 classify_dt,143,electricity_1,0.809356292,0.866428706,0.934129129 classify_dbn,143,electricity_1,0.822291407,0.866428706,0.949058361 classify_bnb,143,electricity_1,0.748941548,0.866428706,0.864400664 classify_svm,144,elevators_1,0.82808399,0.840166783,0.985618578 classify_sgd,144,elevators_1,0.827077318,0.840166783,0.984420397 classify_rf,144,elevators_1,0.578580222,0.840166783,0.688649246 classify_mlp,144,elevators_1,0.840166783,0.840166783,1 classify_logreg,144,elevators_1,0.797810885,0.840166783,0.949586322 classify_knn,144,elevators_1,0.688358641,0.840166783,0.819311897 classify_gnb,144,elevators_1,0.383808096,0.840166783,0.456823697 classify_dt,144,elevators_1,0.66845947,0.840166783,0.795627111 classify_dbn,144,elevators_1,0.837452141,0.840166783,0.996768925 classify_bnb,144,elevators_1,0.585376629,0.840166783,0.696738602 classify_svm,145,elusage_1,0.933333333,1,0.933333333 classify_sgd,145,elusage_1,0.933333333,1,0.933333333 classify_mnb,145,elusage_1,0.266666667,1,0.266666667 classify_mlp,145,elusage_1,0.933333333,1,0.933333333 classify_logreg,145,elusage_1,1,1,1 classify_knn,145,elusage_1,0.933333333,1,0.933333333 classify_gp,145,elusage_1,0.933333333,1,0.933333333 classify_et,145,elusage_1,0.933333333,1,0.933333333 classify_dt,145,elusage_1,1,1,1 classify_dbn,145,elusage_1,0.933333333,1,0.933333333 classify_mlp,146,eye_movements_1,-0.072724519,-0.072724519,1 classify_svm,147,fertility_1,0.347826087,0.571428571,0.608695652 classify_sgd,147,fertility_1,0.285714286,0.571428571,0.5 classify_pa,147,fertility_1,0.285714286,0.571428571,0.5 classify_mlp,147,fertility_1,0.434782609,0.571428571,0.760869565 classify_logreg,147,fertility_1,0.380952381,0.571428571,0.666666667 classify_knn,147,fertility_1,0.571428571,0.571428571,1 classify_gp,147,fertility_1,0,0.571428571,0 classify_gnb,147,fertility_1,0.222222222,0.571428571,0.388888889 classify_dt,147,fertility_1,0.333333333,0.571428571,0.583333333 classify_dbn,147,fertility_1,0.285714286,0.571428571,0.5 classify_svm,148,fl2000_1,0.833333333,0.833333333,1 classify_sgd,148,fl2000_1,0.727272727,0.833333333,0.872727273 classify_rf,148,fl2000_1,0.6,0.833333333,0.72 classify_pa,148,fl2000_1,0.727272727,0.833333333,0.872727273 classify_mnb,148,fl2000_1,0.352941177,0.833333333,0.423529412 classify_mlp,148,fl2000_1,0.727272727,0.833333333,0.872727273 classify_logreg,148,fl2000_1,0.571428571,0.833333333,0.685714286 classify_knn,148,fl2000_1,0.571428571,0.833333333,0.685714286 classify_gp,148,fl2000_1,0.470588235,0.833333333,0.564705882 classify_gnb,148,fl2000_1,0.444444444,0.833333333,0.533333333 classify_et,148,fl2000_1,0.666666667,0.833333333,0.8 classify_dbn,148,fl2000_1,0.571428571,0.833333333,0.685714286 classify_bnb,148,fl2000_1,0.4,0.833333333,0.48 classify_svm,149,flags_1,0.666666667,0.790123457,0.84375 classify_sgd,149,flags_1,0.771428571,0.790123457,0.976339286 classify_rf,149,flags_1,0.746987952,0.790123457,0.945406626 classify_pa,149,flags_1,0.682926829,0.790123457,0.864329268 classify_mlp,149,flags_1,0.780487805,0.790123457,0.987804878 classify_logreg,149,flags_1,0.709677419,0.790123457,0.898185484 classify_knn,149,flags_1,0.790123457,0.790123457,1 classify_gp,149,flags_1,0.739130435,0.790123457,0.935461957 classify_et,149,flags_1,0.757894737,0.790123457,0.959210526 classify_dt,149,flags_1,0.742857143,0.790123457,0.940178571 classify_dbn,149,flags_1,0.757894737,0.790123457,0.959210526 classify_svm,150,fri_c0_1000_10_1,0.865051903,0.920962199,0.939291432 classify_sgd,150,fri_c0_1000_10_1,0.871972318,0.920962199,0.946805764 classify_rf,150,fri_c0_1000_10_1,0.875420875,0.920962199,0.950550279 classify_pa,150,fri_c0_1000_10_1,0.865979381,0.920962199,0.940298507 classify_mlp,150,fri_c0_1000_10_1,0.920962199,0.920962199,1 classify_logreg,150,fri_c0_1000_10_1,0.867383513,0.920962199,0.941823142 classify_knn,150,fri_c0_1000_10_1,0.823529412,0.920962199,0.894205443 classify_gp,150,fri_c0_1000_10_1,0.899653979,0.920962199,0.976863089 classify_dt,150,fri_c0_1000_10_1,0.749185668,0.920962199,0.813481453 classify_dbn,150,fri_c0_1000_10_1,0.90070922,0.920962199,0.978008892 classify_bnb,150,fri_c0_1000_10_1,0.692307692,0.920962199,0.751722158 classify_svm,151,fri_c0_1000_25_1,0.833333333,0.878980892,0.948067633 classify_sgd,151,fri_c0_1000_25_1,0.831746032,0.878980892,0.94626179 classify_pa,151,fri_c0_1000_25_1,0.760383387,0.878980892,0.865073853 classify_mlp,151,fri_c0_1000_25_1,0.878504673,0.878980892,0.999458215 classify_logreg,151,fri_c0_1000_25_1,0.830670927,0.878980892,0.945038663 classify_knn,151,fri_c0_1000_25_1,0.793939394,0.878980892,0.90324989 classify_gp,151,fri_c0_1000_25_1,0.836012862,0.878980892,0.951116082 classify_gnb,151,fri_c0_1000_25_1,0.869009585,0.878980892,0.988655832 classify_et,151,fri_c0_1000_25_1,0.878980892,0.878980892,1 classify_dt,151,fri_c0_1000_25_1,0.736842105,0.878980892,0.838291381 classify_dbn,151,fri_c0_1000_25_1,0.866242038,0.878980892,0.985507246 classify_bnb,151,fri_c0_1000_25_1,0.673267327,0.878980892,0.765963553 classify_svm,152,fri_c0_1000_50_1,0.797468354,0.834437086,0.955696202 classify_sgd,152,fri_c0_1000_50_1,0.825301205,0.834437086,0.989051444 classify_rf,152,fri_c0_1000_50_1,0.833876222,0.834437086,0.999327853 classify_pa,152,fri_c0_1000_50_1,0.75,0.834437086,0.898809524 classify_mlp,152,fri_c0_1000_50_1,0.829131653,0.834437086,0.993641901 classify_logreg,152,fri_c0_1000_50_1,0.796178344,0.834437086,0.954150238 classify_knn,152,fri_c0_1000_50_1,0.736156352,0.834437086,0.88221912 classify_gp,152,fri_c0_1000_50_1,0.782894737,0.834437086,0.938230994 classify_gnb,152,fri_c0_1000_50_1,0.834437086,0.834437086,1 classify_dt,152,fri_c0_1000_50_1,0.77170418,0.834437086,0.924820089 classify_dbn,152,fri_c0_1000_50_1,0.820189274,0.834437086,0.982925242 classify_bnb,152,fri_c0_1000_50_1,0.721311475,0.834437086,0.864428832 classify_svm,153,fri_c0_1000_5_1,0.85443038,0.916666667,0.932105869 classify_sgd,153,fri_c0_1000_5_1,0.851612903,0.916666667,0.929032258 classify_rf,153,fri_c0_1000_5_1,0.849840256,0.916666667,0.927098461 classify_pa,153,fri_c0_1000_5_1,0.844720497,0.916666667,0.921513269 classify_mlp,153,fri_c0_1000_5_1,0.916666667,0.916666667,1 classify_logreg,153,fri_c0_1000_5_1,0.853582555,0.916666667,0.931180969 classify_knn,153,fri_c0_1000_5_1,0.903225807,0.916666667,0.985337243 classify_gp,153,fri_c0_1000_5_1,0.892405063,0.916666667,0.973532796 classify_gnb,153,fri_c0_1000_5_1,0.882539683,0.916666667,0.962770563 classify_dt,153,fri_c0_1000_5_1,0.816199377,0.916666667,0.89039932 classify_dbn,153,fri_c0_1000_5_1,0.911949686,0.916666667,0.994854202 classify_svm,154,fri_c0_100_10_1,0.733333333,0.8,0.916666667 classify_sgd,154,fri_c0_100_10_1,0.75862069,0.8,0.948275862 classify_rf,154,fri_c0_100_10_1,0.56,0.8,0.7 classify_pa,154,fri_c0_100_10_1,0.75862069,0.8,0.948275862 classify_mlp,154,fri_c0_100_10_1,0.8,0.8,1 classify_logreg,154,fri_c0_100_10_1,0.733333333,0.8,0.916666667 classify_knn,154,fri_c0_100_10_1,0.642857143,0.8,0.803571429 classify_gp,154,fri_c0_100_10_1,0.64,0.8,0.8 classify_gnb,154,fri_c0_100_10_1,0.740740741,0.8,0.925925926 classify_et,154,fri_c0_100_10_1,0.666666667,0.8,0.833333333 classify_dt,154,fri_c0_100_10_1,0.689655172,0.8,0.862068965 classify_dbn,154,fri_c0_100_10_1,0.714285714,0.8,0.892857143 classify_bnb,154,fri_c0_100_10_1,0.5,0.8,0.625 classify_svm,155,fri_c0_100_25_1,0.777777778,0.8,0.972222222 classify_sgd,155,fri_c0_100_25_1,0.8,0.8,1 classify_rf,155,fri_c0_100_25_1,0.727272727,0.8,0.909090909 classify_pa,155,fri_c0_100_25_1,0.764705882,0.8,0.955882353 classify_mlp,155,fri_c0_100_25_1,0.8,0.8,1 classify_logreg,155,fri_c0_100_25_1,0.777777778,0.8,0.972222222 classify_knn,155,fri_c0_100_25_1,0.533333333,0.8,0.666666667 classify_gp,155,fri_c0_100_25_1,0.518518519,0.8,0.648148148 classify_dt,155,fri_c0_100_25_1,0.648648649,0.8,0.810810811 classify_dbn,155,fri_c0_100_25_1,0.8,0.8,1 classify_svm,156,fri_c0_100_50_1,0,0.727272727,0 classify_sgd,156,fri_c0_100_50_1,0.651162791,0.727272727,0.895348837 classify_pa,156,fri_c0_100_50_1,0.333333333,0.727272727,0.458333333 classify_mlp,156,fri_c0_100_50_1,0.727272727,0.727272727,1 classify_logreg,156,fri_c0_100_50_1,0.588235294,0.727272727,0.808823529 classify_knn,156,fri_c0_100_50_1,0.695652174,0.727272727,0.956521739 classify_gp,156,fri_c0_100_50_1,0.571428571,0.727272727,0.785714286 classify_gnb,156,fri_c0_100_50_1,0.580645161,0.727272727,0.798387097 classify_et,156,fri_c0_100_50_1,0.625,0.727272727,0.859375 classify_dt,156,fri_c0_100_50_1,0.551724138,0.727272727,0.75862069 classify_dbn,156,fri_c0_100_50_1,0.636363636,0.727272727,0.875 classify_bnb,156,fri_c0_100_50_1,0.545454545,0.727272727,0.75 classify_svm,157,fri_c0_100_5_1,0.904761905,0.930232558,0.972619048 classify_sgd,157,fri_c0_100_5_1,0.923076923,0.930232558,0.992307692 classify_rf,157,fri_c0_100_5_1,0.717948718,0.930232558,0.771794872 classify_pa,157,fri_c0_100_5_1,0.904761905,0.930232558,0.972619048 classify_mlp,157,fri_c0_100_5_1,0.926829268,0.930232558,0.996341463 classify_logreg,157,fri_c0_100_5_1,0.904761905,0.930232558,0.972619048 classify_knn,157,fri_c0_100_5_1,0.930232558,0.930232558,1 classify_gp,157,fri_c0_100_5_1,0.857142857,0.930232558,0.921428571 classify_gnb,157,fri_c0_100_5_1,0.9,0.930232558,0.9675 classify_et,157,fri_c0_100_5_1,0.857142857,0.930232558,0.921428571 classify_dt,157,fri_c0_100_5_1,0.717948718,0.930232558,0.771794872 classify_dbn,157,fri_c0_100_5_1,0.923076923,0.930232558,0.992307692 classify_bnb,157,fri_c0_100_5_1,0.761904762,0.930232558,0.819047619 classify_svm,158,fri_c0_250_10_1,0.820512821,0.876712329,0.935897436 classify_sgd,158,fri_c0_250_10_1,0.820512821,0.876712329,0.935897436 classify_rf,158,fri_c0_250_10_1,0.873239437,0.876712329,0.996038732 classify_pa,158,fri_c0_250_10_1,0.769230769,0.876712329,0.877403846 classify_mlp,158,fri_c0_250_10_1,0.842105263,0.876712329,0.960526316 classify_logreg,158,fri_c0_250_10_1,0.814814815,0.876712329,0.929398148 classify_knn,158,fri_c0_250_10_1,0.831168831,0.876712329,0.948051948 classify_gp,158,fri_c0_250_10_1,0.826666667,0.876712329,0.942916667 classify_gnb,158,fri_c0_250_10_1,0.837837838,0.876712329,0.955658784 classify_et,158,fri_c0_250_10_1,0.876712329,0.876712329,1 classify_dt,158,fri_c0_250_10_1,0.771428571,0.876712329,0.879910714 classify_dbn,158,fri_c0_250_10_1,0.842105263,0.876712329,0.960526316 classify_svm,159,fri_c0_250_25_1,0.623853211,0.828571429,0.752926289 classify_sgd,159,fri_c0_250_25_1,0.763157895,0.828571429,0.921052632 classify_rf,159,fri_c0_250_25_1,0.816901408,0.828571429,0.985915493 classify_pa,159,fri_c0_250_25_1,0.788732394,0.828571429,0.951918407 classify_mlp,159,fri_c0_250_25_1,0.828571429,0.828571429,1 classify_logreg,159,fri_c0_250_25_1,0.753623188,0.828571429,0.909545227 classify_knn,159,fri_c0_250_25_1,0.811594203,0.828571429,0.979510245 classify_gp,159,fri_c0_250_25_1,0.777777778,0.828571429,0.938697318 classify_gnb,159,fri_c0_250_25_1,0.811594203,0.828571429,0.979510245 classify_et,159,fri_c0_250_25_1,0.731182796,0.828571429,0.882461995 classify_dt,159,fri_c0_250_25_1,0.739726027,0.828571429,0.892772792 classify_dbn,159,fri_c0_250_25_1,0.823529412,0.828571429,0.993914807 classify_svm,160,fri_c0_250_50_1,0.64516129,0.864864865,0.745967742 classify_sgd,160,fri_c0_250_50_1,0.742857143,0.864864865,0.858928571 classify_rf,160,fri_c0_250_50_1,0.8,0.864864865,0.925 classify_pa,160,fri_c0_250_50_1,0.636363636,0.864864865,0.735795455 classify_mlp,160,fri_c0_250_50_1,0.738461539,0.864864865,0.853846154 classify_logreg,160,fri_c0_250_50_1,0.864864865,0.864864865,1 classify_knn,160,fri_c0_250_50_1,0.631578947,0.864864865,0.730263158 classify_gp,160,fri_c0_250_50_1,0.621621622,0.864864865,0.71875 classify_gnb,160,fri_c0_250_50_1,0.626865672,0.864864865,0.724813433 classify_et,160,fri_c0_250_50_1,0.633333333,0.864864865,0.732291667 classify_dt,160,fri_c0_250_50_1,0.75,0.864864865,0.8671875 classify_dbn,160,fri_c0_250_50_1,0.666666667,0.864864865,0.770833333 classify_svm,161,fri_c0_250_5_1,0,0.886075949,0 classify_sgd,161,fri_c0_250_5_1,0.780952381,0.886075949,0.881360544 classify_rf,161,fri_c0_250_5_1,0.857142857,0.886075949,0.967346939 classify_pa,161,fri_c0_250_5_1,0.775510204,0.886075949,0.875218659 classify_mlp,161,fri_c0_250_5_1,0.871794872,0.886075949,0.983882784 classify_logreg,161,fri_c0_250_5_1,0.839506173,0.886075949,0.947442681 classify_knn,161,fri_c0_250_5_1,0.886075949,0.886075949,1 classify_gp,161,fri_c0_250_5_1,0.860759494,0.886075949,0.971428571 classify_gnb,161,fri_c0_250_5_1,0.826666667,0.886075949,0.932952381 classify_et,161,fri_c0_250_5_1,0.857142857,0.886075949,0.967346939 classify_dt,161,fri_c0_250_5_1,0.72972973,0.886075949,0.823552123 classify_dbn,161,fri_c0_250_5_1,0.886075949,0.886075949,1 classify_bnb,161,fri_c0_250_5_1,0.734177215,0.886075949,0.828571429 classify_svm,162,fri_c0_500_10_1,0.863013699,0.933333333,0.924657534 classify_sgd,162,fri_c0_500_10_1,0.849315068,0.933333333,0.909980431 classify_rf,162,fri_c0_500_10_1,0.912751678,0.933333333,0.977948226 classify_mlp,162,fri_c0_500_10_1,0.933333333,0.933333333,1 classify_logreg,162,fri_c0_500_10_1,0.857142857,0.933333333,0.918367347 classify_knn,162,fri_c0_500_10_1,0.855263158,0.933333333,0.916353383 classify_gp,162,fri_c0_500_10_1,0.868421053,0.933333333,0.930451128 classify_gnb,162,fri_c0_500_10_1,0.915492958,0.933333333,0.980885312 classify_et,162,fri_c0_500_10_1,0.909090909,0.933333333,0.974025974 classify_dt,162,fri_c0_500_10_1,0.688,0.933333333,0.737142857 classify_dbn,162,fri_c0_500_10_1,0.92,0.933333333,0.985714286 classify_bnb,162,fri_c0_500_10_1,0.701986755,0.933333333,0.752128666 classify_svm,163,fri_c0_500_25_1,0.689956332,0.838709677,0.822640242 classify_sgd,163,fri_c0_500_25_1,0.830188679,0.838709677,0.989840348 classify_rf,163,fri_c0_500_25_1,0.593220339,0.838709677,0.707301173 classify_pa,163,fri_c0_500_25_1,0.767123288,0.838709677,0.914646997 classify_mlp,163,fri_c0_500_25_1,0.838709677,0.838709677,1 classify_logreg,163,fri_c0_500_25_1,0.830188679,0.838709677,0.989840348 classify_knn,163,fri_c0_500_25_1,0.729927007,0.838709677,0.870297586 classify_gp,163,fri_c0_500_25_1,0.76056338,0.838709677,0.906825569 classify_gnb,163,fri_c0_500_25_1,0.824324324,0.838709677,0.982848233 classify_dt,163,fri_c0_500_25_1,0.797385621,0.838709677,0.95072901 classify_dbn,163,fri_c0_500_25_1,0.828947368,0.838709677,0.988360324 classify_bnb,163,fri_c0_500_25_1,0.706666667,0.838709677,0.842564103 classify_svm,164,fri_c0_500_50_1,0.025974026,0.862745098,0.030106257 classify_sgd,164,fri_c0_500_50_1,0.844155844,0.862745098,0.978453365 classify_rf,164,fri_c0_500_50_1,0.777777778,0.862745098,0.901515152 classify_pa,164,fri_c0_500_50_1,0.847682119,0.862745098,0.982540638 classify_mlp,164,fri_c0_500_50_1,0.862745098,0.862745098,1 classify_logreg,164,fri_c0_500_50_1,0.746666667,0.862745098,0.865454546 classify_knn,164,fri_c0_500_50_1,0.754966887,0.862745098,0.875075256 classify_gp,164,fri_c0_500_50_1,0.831168831,0.862745098,0.963400236 classify_gnb,164,fri_c0_500_50_1,0.794701987,0.862745098,0.921131848 classify_et,164,fri_c0_500_50_1,0.813793103,0.862745098,0.943260188 classify_dt,164,fri_c0_500_50_1,0.616352201,0.862745098,0.714408233 classify_dbn,164,fri_c0_500_50_1,0.857142857,0.862745098,0.993506494 classify_svm,165,fri_c0_500_5_1,0.842105263,0.9125,0.922855083 classify_sgd,165,fri_c0_500_5_1,0.858823529,0.9125,0.941176471 classify_rf,165,fri_c0_500_5_1,0.817610063,0.9125,0.896011028 classify_pa,165,fri_c0_500_5_1,0.742138365,0.9125,0.813302318 classify_mlp,165,fri_c0_500_5_1,0.898734177,0.9125,0.984914167 classify_logreg,165,fri_c0_500_5_1,0.743589744,0.9125,0.81489287 classify_knn,165,fri_c0_500_5_1,0.9125,0.9125,1 classify_gp,165,fri_c0_500_5_1,0.87012987,0.9125,0.953566981 classify_gnb,165,fri_c0_500_5_1,0.807692308,0.9125,0.885142255 classify_et,165,fri_c0_500_5_1,0.8,0.9125,0.876712329 classify_dt,165,fri_c0_500_5_1,0.717241379,0.9125,0.78601795 classify_dbn,165,fri_c0_500_5_1,0.91025641,0.9125,0.997541272 classify_bnb,165,fri_c0_500_5_1,0.763157895,0.9125,0.836337419 classify_svm,166,fri_c1_1000_10_1,0.777464789,0.943820225,0.823742455 classify_sgd,166,fri_c1_1000_10_1,0.749445676,0.943820225,0.794055538 classify_rf,166,fri_c1_1000_10_1,0.898876405,0.943820225,0.952380952 classify_pa,166,fri_c1_1000_10_1,0.683760684,0.943820225,0.724460725 classify_mlp,166,fri_c1_1000_10_1,0.943820225,0.943820225,1 classify_logreg,166,fri_c1_1000_10_1,0.674698795,0.943820225,0.714859438 classify_knn,166,fri_c1_1000_10_1,0.83286119,0.943820225,0.882436261 classify_gp,166,fri_c1_1000_10_1,0.742857143,0.943820225,0.78707483 classify_dt,166,fri_c1_1000_10_1,0.849557522,0.943820225,0.900126422 classify_dbn,166,fri_c1_1000_10_1,0.934844193,0.943820225,0.99048968 classify_bnb,166,fri_c1_1000_10_1,0.765363129,0.943820225,0.810920458 classify_svm,167,fri_c1_1000_25_1,0.681564246,0.920821114,0.740170089 classify_sgd,167,fri_c1_1000_25_1,0.720879121,0.920821114,0.782865542 classify_rf,167,fri_c1_1000_25_1,0.920821114,0.920821114,1 classify_pa,167,fri_c1_1000_25_1,0.583850932,0.920821114,0.634054674 classify_mlp,167,fri_c1_1000_25_1,0.88115942,0.920821114,0.956927905 classify_logreg,167,fri_c1_1000_25_1,0.625386997,0.920821114,0.679162312 classify_knn,167,fri_c1_1000_25_1,0.744186047,0.920821114,0.808176566 classify_gp,167,fri_c1_1000_25_1,0.712446352,0.920821114,0.773707662 classify_gnb,167,fri_c1_1000_25_1,0.662824208,0.920821114,0.719818646 classify_dt,167,fri_c1_1000_25_1,0.908045977,0.920821114,0.986126364 classify_dbn,167,fri_c1_1000_25_1,0.685236769,0.920821114,0.744158402 classify_svm,168,fri_c1_1000_50_1,0.628571429,0.863768116,0.727708533 classify_sgd,168,fri_c1_1000_50_1,0.723809524,0.863768116,0.837967402 classify_rf,168,fri_c1_1000_50_1,0.863768116,0.863768116,1 classify_pa,168,fri_c1_1000_50_1,0.551282051,0.863768116,0.63822922 classify_mlp,168,fri_c1_1000_50_1,0.815476191,0.863768116,0.944091563 classify_logreg,168,fri_c1_1000_50_1,0.651612903,0.863768116,0.754384066 classify_knn,168,fri_c1_1000_50_1,0.704477612,0.863768116,0.815586497 classify_gp,168,fri_c1_1000_50_1,0.678362573,0.863768116,0.785352643 classify_dt,168,fri_c1_1000_50_1,0.834355828,0.863768116,0.965948862 classify_dbn,168,fri_c1_1000_50_1,0.724919094,0.863768116,0.839251971 classify_svm,169,fri_c1_1000_5_1,0.608391608,0.942598187,0.645441097 classify_sgd,169,fri_c1_1000_5_1,0.72386059,0.942598187,0.767941844 classify_pa,169,fri_c1_1000_5_1,0.72238806,0.942598187,0.76637964 classify_mlp,169,fri_c1_1000_5_1,0.942598187,0.942598187,1 classify_logreg,169,fri_c1_1000_5_1,0.68902439,0.942598187,0.730984209 classify_knn,169,fri_c1_1000_5_1,0.900302115,0.942598187,0.955128205 classify_gp,169,fri_c1_1000_5_1,0.929663609,0.942598187,0.986277739 classify_et,169,fri_c1_1000_5_1,0.826873385,0.942598187,0.877227854 classify_dt,169,fri_c1_1000_5_1,0.848137536,0.942598187,0.899786937 classify_dbn,169,fri_c1_1000_5_1,0.93373494,0.942598187,0.990597003 classify_bnb,169,fri_c1_1000_5_1,0.746438746,0.942598187,0.791894952 classify_svm,170,fri_c1_100_10_1,0.56,0.814814815,0.687272727 classify_sgd,170,fri_c1_100_10_1,0.666666667,0.814814815,0.818181818 classify_rf,170,fri_c1_100_10_1,0.714285714,0.814814815,0.876623377 classify_mlp,170,fri_c1_100_10_1,0.814814815,0.814814815,1 classify_logreg,170,fri_c1_100_10_1,0.64,0.814814815,0.785454545 classify_knn,170,fri_c1_100_10_1,0.666666667,0.814814815,0.818181818 classify_gp,170,fri_c1_100_10_1,0.714285714,0.814814815,0.876623377 classify_gnb,170,fri_c1_100_10_1,0.666666667,0.814814815,0.818181818 classify_et,170,fri_c1_100_10_1,0.785714286,0.814814815,0.964285714 classify_dt,170,fri_c1_100_10_1,0.666666667,0.814814815,0.818181818 classify_dbn,170,fri_c1_100_10_1,0.6875,0.814814815,0.84375 classify_svm,171,fri_c1_100_25_1,0.24,0.833333333,0.288 classify_sgd,171,fri_c1_100_25_1,0.777777778,0.833333333,0.933333333 classify_rf,171,fri_c1_100_25_1,0.833333333,0.833333333,1 classify_pa,171,fri_c1_100_25_1,0.75,0.833333333,0.9 classify_mlp,171,fri_c1_100_25_1,0.777777778,0.833333333,0.933333333 classify_logreg,171,fri_c1_100_25_1,0.684210526,0.833333333,0.821052632 classify_knn,171,fri_c1_100_25_1,0.647058824,0.833333333,0.776470588 classify_gp,171,fri_c1_100_25_1,0.723404255,0.833333333,0.868085106 classify_gnb,171,fri_c1_100_25_1,0.684210526,0.833333333,0.821052632 classify_et,171,fri_c1_100_25_1,0.820512821,0.833333333,0.984615385 classify_dt,171,fri_c1_100_25_1,0.8,0.833333333,0.96 classify_dbn,171,fri_c1_100_25_1,0.722222222,0.833333333,0.866666667 classify_svm,172,fri_c1_100_50_1,0.666666667,0.761904762,0.875 classify_sgd,172,fri_c1_100_50_1,0.723404255,0.761904762,0.949468085 classify_rf,172,fri_c1_100_50_1,0.714285714,0.761904762,0.9375 classify_pa,172,fri_c1_100_50_1,0.666666667,0.761904762,0.875 classify_mlp,172,fri_c1_100_50_1,0.736842105,0.761904762,0.967105263 classify_logreg,172,fri_c1_100_50_1,0.606060606,0.761904762,0.795454546 classify_knn,172,fri_c1_100_50_1,0.722222222,0.761904762,0.947916667 classify_gp,172,fri_c1_100_50_1,0.723404255,0.761904762,0.949468085 classify_gnb,172,fri_c1_100_50_1,0.611111111,0.761904762,0.802083333 classify_et,172,fri_c1_100_50_1,0.761904762,0.761904762,1 classify_dt,172,fri_c1_100_50_1,0.578947368,0.761904762,0.759868421 classify_dbn,172,fri_c1_100_50_1,0.723404255,0.761904762,0.949468085 classify_svm,173,fri_c1_100_5_1,0.823529412,0.976744186,0.843137255 classify_sgd,173,fri_c1_100_5_1,0.893617021,0.976744186,0.914893617 classify_pa,173,fri_c1_100_5_1,0.685714286,0.976744186,0.702040816 classify_mlp,173,fri_c1_100_5_1,0.976744186,0.976744186,1 classify_logreg,173,fri_c1_100_5_1,0.75,0.976744186,0.767857143 classify_knn,173,fri_c1_100_5_1,0.954545455,0.976744186,0.977272727 classify_gp,173,fri_c1_100_5_1,0.904761905,0.976744186,0.926303855 classify_gnb,173,fri_c1_100_5_1,0.736842105,0.976744186,0.754385965 classify_et,173,fri_c1_100_5_1,0.842105263,0.976744186,0.862155389 classify_dt,173,fri_c1_100_5_1,0.780487805,0.976744186,0.799070848 classify_dbn,173,fri_c1_100_5_1,0.926829268,0.976744186,0.948896632 classify_bnb,173,fri_c1_100_5_1,0.857142857,0.976744186,0.87755102 classify_svm,174,fri_c1_250_10_1,0.727272727,0.909090909,0.8 classify_sgd,174,fri_c1_250_10_1,0.771084337,0.909090909,0.848192771 classify_pa,174,fri_c1_250_10_1,0.752941177,0.909090909,0.828235294 classify_mlp,174,fri_c1_250_10_1,0.909090909,0.909090909,1 classify_logreg,174,fri_c1_250_10_1,0.734177215,0.909090909,0.807594937 classify_knn,174,fri_c1_250_10_1,0.814814815,0.909090909,0.896296296 classify_gp,174,fri_c1_250_10_1,0.764044944,0.909090909,0.840449438 classify_et,174,fri_c1_250_10_1,0.853658537,0.909090909,0.93902439 classify_dt,174,fri_c1_250_10_1,0.853333333,0.909090909,0.938666667 classify_dbn,174,fri_c1_250_10_1,0.729411765,0.909090909,0.802352941 classify_bnb,174,fri_c1_250_10_1,0.783783784,0.909090909,0.862162162 classify_svm,175,fri_c1_250_25_1,0.706896552,0.85106383,0.830603448 classify_sgd,175,fri_c1_250_25_1,0.727272727,0.85106383,0.854545455 classify_pa,175,fri_c1_250_25_1,0.642857143,0.85106383,0.755357143 classify_mlp,175,fri_c1_250_25_1,0.75862069,0.85106383,0.89137931 classify_logreg,175,fri_c1_250_25_1,0.651685393,0.85106383,0.765730337 classify_knn,175,fri_c1_250_25_1,0.739130435,0.85106383,0.868478261 classify_gp,175,fri_c1_250_25_1,0.714285714,0.85106383,0.839285714 classify_et,175,fri_c1_250_25_1,0.85106383,0.85106383,1 classify_dt,175,fri_c1_250_25_1,0.808510638,0.85106383,0.95 classify_dbn,175,fri_c1_250_25_1,0.719101124,0.85106383,0.84494382 classify_svm,176,fri_c1_250_50_1,0.714285714,0.917647059,0.778388278 classify_sgd,176,fri_c1_250_50_1,0.778947368,0.917647059,0.848852901 classify_rf,176,fri_c1_250_50_1,0.917647059,0.917647059,1 classify_mlp,176,fri_c1_250_50_1,0.75,0.917647059,0.817307692 classify_logreg,176,fri_c1_250_50_1,0.720930233,0.917647059,0.7856291 classify_knn,176,fri_c1_250_50_1,0.764044944,0.917647059,0.83261308 classify_gp,176,fri_c1_250_50_1,0.755102041,0.917647059,0.822867609 classify_et,176,fri_c1_250_50_1,0.906976744,0.917647059,0.988372093 classify_dt,176,fri_c1_250_50_1,0.866666667,0.917647059,0.944444445 classify_dbn,176,fri_c1_250_50_1,0.727272727,0.917647059,0.792540793 classify_sgd,177,fri_c1_250_5_1,0.732673267,0.951219512,0.770246255 classify_rf,177,fri_c1_250_5_1,0.951219512,0.951219512,1 classify_pa,177,fri_c1_250_5_1,0.666666667,0.951219512,0.700854701 classify_mlp,177,fri_c1_250_5_1,0.935064935,0.951219512,0.983016983 classify_logreg,177,fri_c1_250_5_1,0.729411765,0.951219512,0.766817496 classify_knn,177,fri_c1_250_5_1,0.864864865,0.951219512,0.909216909 classify_gp,177,fri_c1_250_5_1,0.821917808,0.951219512,0.864067439 classify_et,177,fri_c1_250_5_1,0.825,0.951219512,0.867307692 classify_dt,177,fri_c1_250_5_1,0.727272727,0.951219512,0.764568765 classify_dbn,177,fri_c1_250_5_1,0.871794872,0.951219512,0.916502301 classify_bnb,177,fri_c1_250_5_1,0.571428571,0.951219512,0.600732601 classify_svm,178,fri_c1_500_10_1,0.695652174,0.911392405,0.763285024 classify_sgd,178,fri_c1_500_10_1,0.695652174,0.911392405,0.763285024 classify_rf,178,fri_c1_500_10_1,0.871794872,0.911392405,0.956552707 classify_mlp,178,fri_c1_500_10_1,0.911392405,0.911392405,1 classify_logreg,178,fri_c1_500_10_1,0.67948718,0.911392405,0.745548433 classify_knn,178,fri_c1_500_10_1,0.835443038,0.911392405,0.916666667 classify_gp,178,fri_c1_500_10_1,0.696202532,0.911392405,0.763888889 classify_gnb,178,fri_c1_500_10_1,0.6875,0.911392405,0.754340278 classify_et,178,fri_c1_500_10_1,0.855345912,0.911392405,0.938504542 classify_dt,178,fri_c1_500_10_1,0.781065089,0.911392405,0.857001972 classify_dbn,178,fri_c1_500_10_1,0.881987578,0.911392405,0.96773637 classify_bnb,178,fri_c1_500_10_1,0.705882353,0.911392405,0.774509804 classify_svm,179,fri_c1_500_25_1,0.735751295,0.899408284,0.818039269 classify_sgd,179,fri_c1_500_25_1,0.739884393,0.899408284,0.822634621 classify_rf,179,fri_c1_500_25_1,0.899408284,0.899408284,1 classify_pa,179,fri_c1_500_25_1,0.706586826,0.899408284,0.785612985 classify_mlp,179,fri_c1_500_25_1,0.848484848,0.899408284,0.94338118 classify_logreg,179,fri_c1_500_25_1,0.695121951,0.899408284,0.772865854 classify_knn,179,fri_c1_500_25_1,0.77173913,0.899408284,0.858052059 classify_gp,179,fri_c1_500_25_1,0.710382514,0.899408284,0.78983319 classify_gnb,179,fri_c1_500_25_1,0.721893491,0.899408284,0.802631579 classify_dt,179,fri_c1_500_25_1,0.773006135,0.899408284,0.859460769 classify_dbn,179,fri_c1_500_25_1,0.717647059,0.899408284,0.797910217 classify_svm,180,fri_c1_500_50_1,0.712446352,0.797687861,0.893139267 classify_sgd,180,fri_c1_500_50_1,0.715083799,0.797687861,0.896445632 classify_pa,180,fri_c1_500_50_1,0.654761905,0.797687861,0.820824707 classify_mlp,180,fri_c1_500_50_1,0.712446352,0.797687861,0.893139267 classify_logreg,180,fri_c1_500_50_1,0.682926829,0.797687861,0.856132909 classify_knn,180,fri_c1_500_50_1,0.725,0.797687861,0.908876812 classify_gp,180,fri_c1_500_50_1,0.712446352,0.797687861,0.893139267 classify_dt,180,fri_c1_500_50_1,0.797687861,0.797687861,1 classify_dbn,180,fri_c1_500_50_1,0.712871287,0.797687861,0.893671976 classify_bnb,180,fri_c1_500_50_1,0.670731707,0.797687861,0.840844821 classify_svm,181,fri_c1_500_5_1,0.734177215,0.913294798,0.803877584 classify_sgd,181,fri_c1_500_5_1,0.747474748,0.913294798,0.81843754 classify_rf,181,fri_c1_500_5_1,0.866666667,0.913294798,0.948945148 classify_mlp,181,fri_c1_500_5_1,0.913294798,0.913294798,1 classify_logreg,181,fri_c1_500_5_1,0.717647059,0.913294798,0.785778109 classify_knn,181,fri_c1_500_5_1,0.839506173,0.913294798,0.919206126 classify_gp,181,fri_c1_500_5_1,0.857142857,0.913294798,0.938517179 classify_gnb,181,fri_c1_500_5_1,0.741176471,0.913294798,0.811541325 classify_et,181,fri_c1_500_5_1,0.845714286,0.913294798,0.926003617 classify_dt,181,fri_c1_500_5_1,0.843243243,0.913294798,0.923297981 classify_dbn,181,fri_c1_500_5_1,0.863905325,0.913294798,0.945921654 classify_svm,182,fri_c2_1000_10_1,0.818991098,0.937313433,0.873764388 classify_sgd,182,fri_c2_1000_10_1,0.733668342,0.937313433,0.782735333 classify_rf,182,fri_c2_1000_10_1,0.858725762,0.937313433,0.916156466 classify_pa,182,fri_c2_1000_10_1,0.733524355,0.937313433,0.782581717 classify_mlp,182,fri_c2_1000_10_1,0.937313433,0.937313433,1 classify_logreg,182,fri_c2_1000_10_1,0.628205128,0.937313433,0.670218847 classify_knn,182,fri_c2_1000_10_1,0.835294118,0.937313433,0.891157737 classify_gp,182,fri_c2_1000_10_1,0.780626781,0.937313433,0.832834304 classify_et,182,fri_c2_1000_10_1,0.725663717,0.937313433,0.774195367 classify_dt,182,fri_c2_1000_10_1,0.816326531,0.937313433,0.870921617 classify_dbn,182,fri_c2_1000_10_1,0.916167665,0.937313433,0.977440024 classify_bnb,182,fri_c2_1000_10_1,0.762666667,0.937313433,0.813673036 classify_svm,183,fri_c2_1000_25_1,0.72611465,0.925373134,0.784672283 classify_sgd,183,fri_c2_1000_25_1,0.743315508,0.925373134,0.803260307 classify_rf,183,fri_c2_1000_25_1,0.908554572,0.925373134,0.981825102 classify_pa,183,fri_c2_1000_25_1,0.758017493,0.925373134,0.819147936 classify_mlp,183,fri_c2_1000_25_1,0.925373134,0.925373134,1 classify_logreg,183,fri_c2_1000_25_1,0.771159875,0.925373134,0.833350187 classify_knn,183,fri_c2_1000_25_1,0.808022923,0.925373134,0.873186062 classify_gp,183,fri_c2_1000_25_1,0.776536313,0.925373134,0.839160209 classify_et,183,fri_c2_1000_25_1,0.72611465,0.925373134,0.784672283 classify_dt,183,fri_c2_1000_25_1,0.889534884,0.925373134,0.961271568 classify_dbn,183,fri_c2_1000_25_1,0.818443804,0.925373134,0.884447337 classify_svm,184,fri_c2_1000_50_1,0.760330579,0.899728997,0.845066215 classify_sgd,184,fri_c2_1000_50_1,0.760330579,0.899728997,0.845066215 classify_rf,184,fri_c2_1000_50_1,0.899728997,0.899728997,1 classify_pa,184,fri_c2_1000_50_1,0.743362832,0.899728997,0.826207485 classify_mlp,184,fri_c2_1000_50_1,0.861971831,0.899728997,0.958034957 classify_logreg,184,fri_c2_1000_50_1,0.717325228,0.899728997,0.7972681 classify_knn,184,fri_c2_1000_50_1,0.761643836,0.899728997,0.846525829 classify_gp,184,fri_c2_1000_50_1,0.752688172,0.899728997,0.836572095 classify_gnb,184,fri_c2_1000_50_1,0.755813953,0.899728997,0.840046231 classify_et,184,fri_c2_1000_50_1,0.824512535,0.899728997,0.91640098 classify_dt,184,fri_c2_1000_50_1,0.84180791,0.899728997,0.935623851 classify_dbn,184,fri_c2_1000_50_1,0.760330579,0.899728997,0.845066215 classify_sgd,185,fri_c2_1000_5_1,0.770780856,0.945355191,0.815334663 classify_rf,185,fri_c2_1000_5_1,0.872222222,0.945355191,0.922639692 classify_pa,185,fri_c2_1000_5_1,0.802259887,0.945355191,0.848633291 classify_mlp,185,fri_c2_1000_5_1,0.945355191,0.945355191,1 classify_logreg,185,fri_c2_1000_5_1,0.719764012,0.945355191,0.761368868 classify_knn,185,fri_c2_1000_5_1,0.91011236,0.945355191,0.96272001 classify_gp,185,fri_c2_1000_5_1,0.904494382,0.945355191,0.956777294 classify_et,185,fri_c2_1000_5_1,0.869806094,0.945355191,0.920083903 classify_dt,185,fri_c2_1000_5_1,0.863768116,0.945355191,0.913696909 classify_dbn,185,fri_c2_1000_5_1,0.941828255,0.945355191,0.996269194 classify_bnb,185,fri_c2_1000_5_1,0.809782609,0.945355191,0.856590852 classify_svm,186,fri_c2_100_10_1,0.695652174,0.823529412,0.844720497 classify_sgd,186,fri_c2_100_10_1,0.764705882,0.823529412,0.928571429 classify_rf,186,fri_c2_100_10_1,0.666666667,0.823529412,0.80952381 classify_pa,186,fri_c2_100_10_1,0.666666667,0.823529412,0.80952381 classify_mlp,186,fri_c2_100_10_1,0.823529412,0.823529412,1 classify_logreg,186,fri_c2_100_10_1,0.6875,0.823529412,0.834821429 classify_knn,186,fri_c2_100_10_1,0.777777778,0.823529412,0.944444444 classify_gp,186,fri_c2_100_10_1,0.722222222,0.823529412,0.876984127 classify_et,186,fri_c2_100_10_1,0.769230769,0.823529412,0.934065934 classify_dt,186,fri_c2_100_10_1,0.620689655,0.823529412,0.753694581 classify_dbn,186,fri_c2_100_10_1,0.717948718,0.823529412,0.871794872 classify_bnb,186,fri_c2_100_10_1,0.75,0.823529412,0.910714286 classify_svm,187,fri_c2_100_25_1,0.695652174,0.9375,0.742028985 classify_sgd,187,fri_c2_100_25_1,0.823529412,0.9375,0.878431373 classify_rf,187,fri_c2_100_25_1,0.9375,0.9375,1 classify_pa,187,fri_c2_100_25_1,0.823529412,0.9375,0.878431373 classify_mlp,187,fri_c2_100_25_1,0.823529412,0.9375,0.878431373 classify_logreg,187,fri_c2_100_25_1,0.848484848,0.9375,0.905050505 classify_knn,187,fri_c2_100_25_1,0.864864865,0.9375,0.922522523 classify_gp,187,fri_c2_100_25_1,0.744186047,0.9375,0.79379845 classify_gnb,187,fri_c2_100_25_1,0.857142857,0.9375,0.914285714 classify_et,187,fri_c2_100_25_1,0.9375,0.9375,1 classify_dt,187,fri_c2_100_25_1,0.875,0.9375,0.933333333 classify_dbn,187,fri_c2_100_25_1,0.833333333,0.9375,0.888888889 classify_svm,188,fri_c2_100_50_1,0.647058824,0.9,0.718954248 classify_sgd,188,fri_c2_100_50_1,0.84,0.9,0.933333333 classify_rf,188,fri_c2_100_50_1,0.9,0.9,1 classify_pa,188,fri_c2_100_50_1,0.516129032,0.9,0.573476703 classify_mlp,188,fri_c2_100_50_1,0.823529412,0.9,0.91503268 classify_logreg,188,fri_c2_100_50_1,0.64516129,0.9,0.716845878 classify_knn,188,fri_c2_100_50_1,0.80952381,0.9,0.899470899 classify_gp,188,fri_c2_100_50_1,0.808510638,0.9,0.898345154 classify_et,188,fri_c2_100_50_1,0.833333333,0.9,0.925925926 classify_dt,188,fri_c2_100_50_1,0.588235294,0.9,0.653594771 classify_dbn,188,fri_c2_100_50_1,0.780487805,0.9,0.867208672 classify_bnb,188,fri_c2_100_50_1,0.75,0.9,0.833333333 classify_svm,189,fri_c2_100_5_1,0.733333333,0.882352941,0.831111111 classify_sgd,189,fri_c2_100_5_1,0.736842105,0.882352941,0.835087719 classify_rf,189,fri_c2_100_5_1,0.736842105,0.882352941,0.835087719 classify_pa,189,fri_c2_100_5_1,0.666666667,0.882352941,0.755555556 classify_mlp,189,fri_c2_100_5_1,0.857142857,0.882352941,0.971428571 classify_logreg,189,fri_c2_100_5_1,0.642857143,0.882352941,0.728571429 classify_knn,189,fri_c2_100_5_1,0.882352941,0.882352941,1 classify_gp,189,fri_c2_100_5_1,0.810810811,0.882352941,0.918918919 classify_dt,189,fri_c2_100_5_1,0.789473684,0.882352941,0.894736842 classify_dbn,189,fri_c2_100_5_1,0.666666667,0.882352941,0.755555556 classify_svm,190,fri_c2_250_10_1,0,0.957446809,0 classify_sgd,190,fri_c2_250_10_1,0.85,0.957446809,0.887777778 classify_rf,190,fri_c2_250_10_1,0.9375,0.957446809,0.979166667 classify_pa,190,fri_c2_250_10_1,0.792079208,0.957446809,0.827282728 classify_mlp,190,fri_c2_250_10_1,0.956521739,0.957446809,0.999033816 classify_logreg,190,fri_c2_250_10_1,0.864197531,0.957446809,0.90260631 classify_knn,190,fri_c2_250_10_1,0.914893617,0.957446809,0.955555556 classify_gp,190,fri_c2_250_10_1,0.807692308,0.957446809,0.843589744 classify_gnb,190,fri_c2_250_10_1,0.906976744,0.957446809,0.947286822 classify_et,190,fri_c2_250_10_1,0.957446809,0.957446809,1 classify_dt,190,fri_c2_250_10_1,0.924731183,0.957446809,0.965830346 classify_dbn,190,fri_c2_250_10_1,0.911111111,0.957446809,0.951604938 classify_sgd,191,fri_c2_250_25_1,0.695652174,0.878048781,0.792270531 classify_rf,191,fri_c2_250_25_1,0.878048781,0.878048781,1 classify_pa,191,fri_c2_250_25_1,0.684210526,0.878048781,0.779239766 classify_mlp,191,fri_c2_250_25_1,0.759493671,0.878048781,0.864978903 classify_logreg,191,fri_c2_250_25_1,0.694444444,0.878048781,0.790895062 classify_knn,191,fri_c2_250_25_1,0.731707317,0.878048781,0.833333333 classify_gp,191,fri_c2_250_25_1,0.727272727,0.878048781,0.828282828 classify_gnb,191,fri_c2_250_25_1,0.701298701,0.878048781,0.798701299 classify_et,191,fri_c2_250_25_1,0.795180723,0.878048781,0.90562249 classify_dbn,191,fri_c2_250_25_1,0.716049383,0.878048781,0.815500686 classify_bnb,191,fri_c2_250_25_1,0.756097561,0.878048781,0.861111111 classify_svm,192,fri_c2_250_50_1,0.684210526,0.810126582,0.844572368 classify_sgd,192,fri_c2_250_50_1,0.770833333,0.810126582,0.951497396 classify_rf,192,fri_c2_250_50_1,0.790697674,0.810126582,0.976017442 classify_pa,192,fri_c2_250_50_1,0.692307692,0.810126582,0.854567308 classify_mlp,192,fri_c2_250_50_1,0.782608696,0.810126582,0.966032609 classify_logreg,192,fri_c2_250_50_1,0.717948718,0.810126582,0.886217949 classify_knn,192,fri_c2_250_50_1,0.734693878,0.810126582,0.906887755 classify_gp,192,fri_c2_250_50_1,0.747474748,0.810126582,0.922664141 classify_gnb,192,fri_c2_250_50_1,0.705882353,0.810126582,0.871323529 classify_et,192,fri_c2_250_50_1,0.771084337,0.810126582,0.951807229 classify_dt,192,fri_c2_250_50_1,0.810126582,0.810126582,1 classify_dbn,192,fri_c2_250_50_1,0.696428571,0.810126582,0.859654018 classify_bnb,192,fri_c2_250_50_1,0.756097561,0.810126582,0.933307927 classify_svm,193,fri_c2_250_5_1,0.790697674,0.936170213,0.844608879 classify_sgd,193,fri_c2_250_5_1,0.835164835,0.936170213,0.892107892 classify_rf,193,fri_c2_250_5_1,0.916666667,0.936170213,0.979166667 classify_pa,193,fri_c2_250_5_1,0.818181818,0.936170213,0.873966942 classify_mlp,193,fri_c2_250_5_1,0.936170213,0.936170213,1 classify_logreg,193,fri_c2_250_5_1,0.857142857,0.936170213,0.915584416 classify_knn,193,fri_c2_250_5_1,0.914893617,0.936170213,0.977272727 classify_gp,193,fri_c2_250_5_1,0.903225807,0.936170213,0.964809384 classify_gnb,193,fri_c2_250_5_1,0.857142857,0.936170213,0.915584416 classify_et,193,fri_c2_250_5_1,0.854166667,0.936170213,0.912405303 classify_dt,193,fri_c2_250_5_1,0.924731183,0.936170213,0.987781036 classify_dbn,193,fri_c2_250_5_1,0.905263158,0.936170213,0.966985646 classify_bnb,193,fri_c2_250_5_1,0.808080808,0.936170213,0.863177227 classify_svm,194,fri_c2_500_10_1,0.710526316,0.938271605,0.757271468 classify_sgd,194,fri_c2_500_10_1,0.761290323,0.938271605,0.811375212 classify_rf,194,fri_c2_500_10_1,0.862275449,0.938271605,0.919004097 classify_mlp,194,fri_c2_500_10_1,0.938271605,0.938271605,1 classify_logreg,194,fri_c2_500_10_1,0.812903226,0.938271605,0.866383701 classify_knn,194,fri_c2_500_10_1,0.843373494,0.938271605,0.898858592 classify_gp,194,fri_c2_500_10_1,0.833333333,0.938271605,0.888157895 classify_et,194,fri_c2_500_10_1,0.873563218,0.938271605,0.931034483 classify_dbn,194,fri_c2_500_10_1,0.902439024,0.938271605,0.961810013 classify_bnb,194,fri_c2_500_10_1,0.858895705,0.938271605,0.915402002 classify_svm,195,fri_c2_500_25_1,0.790322581,0.901960784,0.876227209 classify_sgd,195,fri_c2_500_25_1,0.790322581,0.901960784,0.876227209 classify_rf,195,fri_c2_500_25_1,0.901960784,0.901960784,1 classify_mlp,195,fri_c2_500_25_1,0.864583333,0.901960784,0.958559783 classify_logreg,195,fri_c2_500_25_1,0.708571429,0.901960784,0.785590062 classify_knn,195,fri_c2_500_25_1,0.812182741,0.901960784,0.900463474 classify_gp,195,fri_c2_500_25_1,0.755980861,0.901960784,0.838152694 classify_et,195,fri_c2_500_25_1,0.833333333,0.901960784,0.923913043 classify_dt,195,fri_c2_500_25_1,0.868292683,0.901960784,0.962672322 classify_dbn,195,fri_c2_500_25_1,0.818181818,0.901960784,0.907114625 classify_bnb,195,fri_c2_500_25_1,0.765714286,0.901960784,0.848944099 classify_sgd,196,fri_c2_500_50_1,0.746268657,0.82208589,0.90777456 classify_pa,196,fri_c2_500_50_1,0.773006135,0.82208589,0.940298507 classify_mlp,196,fri_c2_500_50_1,0.814371258,0.82208589,0.990615783 classify_logreg,196,fri_c2_500_50_1,0.708333333,0.82208589,0.861629353 classify_knn,196,fri_c2_500_50_1,0.768421053,0.82208589,0.934721131 classify_gp,196,fri_c2_500_50_1,0.744897959,0.82208589,0.906107219 classify_et,196,fri_c2_500_50_1,0.701298701,0.82208589,0.853072301 classify_dt,196,fri_c2_500_50_1,0.82208589,0.82208589,1 classify_dbn,196,fri_c2_500_50_1,0.745283019,0.82208589,0.906575613 classify_bnb,196,fri_c2_500_50_1,0.684210526,0.82208589,0.832285939 classify_svm,197,fri_c2_500_5_1,0.80952381,0.960784314,0.842565598 classify_sgd,197,fri_c2_500_5_1,0.824742268,0.960784314,0.858405218 classify_pa,197,fri_c2_500_5_1,0.842639594,0.960784314,0.877033047 classify_mlp,197,fri_c2_500_5_1,0.96039604,0.960784314,0.999595878 classify_logreg,197,fri_c2_500_5_1,0.827225131,0.960784314,0.860989422 classify_knn,197,fri_c2_500_5_1,0.921568628,0.960784314,0.959183674 classify_gp,197,fri_c2_500_5_1,0.905472637,0.960784314,0.942430704 classify_et,197,fri_c2_500_5_1,0.900473934,0.960784314,0.937227972 classify_dt,197,fri_c2_500_5_1,0.772486773,0.960784314,0.804016845 classify_dbn,197,fri_c2_500_5_1,0.960784314,0.960784314,1 classify_bnb,197,fri_c2_500_5_1,0.81443299,0.960784314,0.847675153 classify_svm,198,fri_c3_1000_10_1,0.828828829,0.947040498,0.875177809 classify_sgd,198,fri_c3_1000_10_1,0.70531401,0.947040498,0.744755912 classify_rf,198,fri_c3_1000_10_1,0.801120448,0.947040498,0.845919947 classify_mlp,198,fri_c3_1000_10_1,0.947040498,0.947040498,1 classify_logreg,198,fri_c3_1000_10_1,0.681818182,0.947040498,0.719946172 classify_knn,198,fri_c3_1000_10_1,0.838709677,0.947040498,0.885611205 classify_gp,198,fri_c3_1000_10_1,0.832335329,0.947040498,0.878880397 classify_gnb,198,fri_c3_1000_10_1,0.656534954,0.947040498,0.69324908 classify_et,198,fri_c3_1000_10_1,0.746341463,0.947040498,0.788077664 classify_dt,198,fri_c3_1000_10_1,0.807121662,0.947040498,0.852256755 classify_dbn,198,fri_c3_1000_10_1,0.849498328,0.947040498,0.897003169 classify_svm,199,fri_c3_1000_25_1,0.692810458,0.945121951,0.733038161 classify_sgd,199,fri_c3_1000_25_1,0.72,0.945121951,0.761806452 classify_rf,199,fri_c3_1000_25_1,0.805405405,0.945121951,0.852170881 classify_mlp,199,fri_c3_1000_25_1,0.945121951,0.945121951,1 classify_logreg,199,fri_c3_1000_25_1,0.684210526,0.945121951,0.723938879 classify_knn,199,fri_c3_1000_25_1,0.810495627,0.945121951,0.857556663 classify_gp,199,fri_c3_1000_25_1,0.730337079,0.945121951,0.772743748 classify_gnb,199,fri_c3_1000_25_1,0.684684685,0.945121951,0.72444057 classify_et,199,fri_c3_1000_25_1,0.920731707,0.945121951,0.974193548 classify_dt,199,fri_c3_1000_25_1,0.915360502,0.945121951,0.968510466 classify_dbn,199,fri_c3_1000_25_1,0.851963746,0.945121951,0.901432609 classify_svm,200,fri_c3_1000_50_1,0.713091922,0.883435583,0.80718044 classify_sgd,200,fri_c3_1000_50_1,0.735294118,0.883435583,0.832312091 classify_rf,200,fri_c3_1000_50_1,0.844192635,0.883435583,0.955579163 classify_mlp,200,fri_c3_1000_50_1,0.883435583,0.883435583,1 classify_logreg,200,fri_c3_1000_50_1,0.664473684,0.883435583,0.752147295 classify_knn,200,fri_c3_1000_50_1,0.735042735,0.883435583,0.83202754 classify_gp,200,fri_c3_1000_50_1,0.718662953,0.883435583,0.813486537 classify_et,200,fri_c3_1000_50_1,0.883190883,0.883435583,0.999723014 classify_dt,200,fri_c3_1000_50_1,0.857988166,0.883435583,0.971194938 classify_dbn,200,fri_c3_1000_50_1,0.688172043,0.883435583,0.778972521 classify_bnb,200,fri_c3_1000_50_1,0.682634731,0.883435583,0.772704591 classify_svm,201,fri_c3_1000_5_1,0,0.942528736,0 classify_sgd,201,fri_c3_1000_5_1,0.73245614,0.942528736,0.7771181 classify_rf,201,fri_c3_1000_5_1,0.911680912,0.942528736,0.967271211 classify_pa,201,fri_c3_1000_5_1,0.693989071,0.942528736,0.736305478 classify_mlp,201,fri_c3_1000_5_1,0.942528736,0.942528736,1 classify_logreg,201,fri_c3_1000_5_1,0.679127726,0.942528736,0.720537953 classify_knn,201,fri_c3_1000_5_1,0.912790698,0.942528736,0.968448667 classify_gp,201,fri_c3_1000_5_1,0.899135447,0.942528736,0.953960779 classify_gnb,201,fri_c3_1000_5_1,0.687150838,0.942528736,0.729050279 classify_et,201,fri_c3_1000_5_1,0.814249364,0.942528736,0.863898715 classify_dt,201,fri_c3_1000_5_1,0.777142857,0.942528736,0.824529617 classify_dbn,201,fri_c3_1000_5_1,0.935933148,0.942528736,0.993002242 classify_bnb,201,fri_c3_1000_5_1,0.731843575,0.942528736,0.776468184 classify_svm,202,fri_c3_100_10_1,0.775510204,0.894736842,0.866746699 classify_sgd,202,fri_c3_100_10_1,0.848484848,0.894736842,0.948306595 classify_rf,202,fri_c3_100_10_1,0.769230769,0.894736842,0.859728507 classify_pa,202,fri_c3_100_10_1,0.717948718,0.894736842,0.802413273 classify_mlp,202,fri_c3_100_10_1,0.894736842,0.894736842,1 classify_logreg,202,fri_c3_100_10_1,0.722222222,0.894736842,0.807189542 classify_knn,202,fri_c3_100_10_1,0.88372093,0.894736842,0.987688098 classify_gp,202,fri_c3_100_10_1,0.826086957,0.894736842,0.923273657 classify_et,202,fri_c3_100_10_1,0.820512821,0.894736842,0.917043741 classify_dt,202,fri_c3_100_10_1,0.777777778,0.894736842,0.869281046 classify_dbn,202,fri_c3_100_10_1,0.775510204,0.894736842,0.866746699 classify_bnb,202,fri_c3_100_10_1,0.516129032,0.894736842,0.576850095 classify_svm,203,fri_c3_100_25_1,0,0.823529412,0 classify_sgd,203,fri_c3_100_25_1,0.8,0.823529412,0.971428571 classify_rf,203,fri_c3_100_25_1,0.75,0.823529412,0.910714286 classify_pa,203,fri_c3_100_25_1,0.7,0.823529412,0.85 classify_mlp,203,fri_c3_100_25_1,0.777777778,0.823529412,0.944444444 classify_logreg,203,fri_c3_100_25_1,0.756756757,0.823529412,0.918918919 classify_knn,203,fri_c3_100_25_1,0.8,0.823529412,0.971428571 classify_gp,203,fri_c3_100_25_1,0.780487805,0.823529412,0.947735192 classify_gnb,203,fri_c3_100_25_1,0.631578947,0.823529412,0.766917293 classify_et,203,fri_c3_100_25_1,0.80952381,0.823529412,0.982993197 classify_dt,203,fri_c3_100_25_1,0.75862069,0.823529412,0.921182266 classify_dbn,203,fri_c3_100_25_1,0.823529412,0.823529412,1 classify_bnb,203,fri_c3_100_25_1,0.666666667,0.823529412,0.80952381 classify_svm,204,fri_c3_100_50_1,0.846153846,0.888888889,0.951923077 classify_sgd,204,fri_c3_100_50_1,0.846153846,0.888888889,0.951923077 classify_rf,204,fri_c3_100_50_1,0.888888889,0.888888889,1 classify_pa,204,fri_c3_100_50_1,0.564102564,0.888888889,0.634615385 classify_mlp,204,fri_c3_100_50_1,0.846153846,0.888888889,0.951923077 classify_logreg,204,fri_c3_100_50_1,0.666666667,0.888888889,0.75 classify_knn,204,fri_c3_100_50_1,0.816326531,0.888888889,0.918367347 classify_gp,204,fri_c3_100_50_1,0.846153846,0.888888889,0.951923077 classify_et,204,fri_c3_100_50_1,0.857142857,0.888888889,0.964285714 classify_dt,204,fri_c3_100_50_1,0.837209302,0.888888889,0.941860465 classify_dbn,204,fri_c3_100_50_1,0.846153846,0.888888889,0.951923077 classify_svm,205,fri_c3_100_5_1,0.689655172,0.857142857,0.804597701 classify_sgd,205,fri_c3_100_5_1,0.666666667,0.857142857,0.777777778 classify_rf,205,fri_c3_100_5_1,0.785714286,0.857142857,0.916666667 classify_pa,205,fri_c3_100_5_1,0.666666667,0.857142857,0.777777778 classify_mlp,205,fri_c3_100_5_1,0.857142857,0.857142857,1 classify_logreg,205,fri_c3_100_5_1,0.533333333,0.857142857,0.622222222 classify_knn,205,fri_c3_100_5_1,0.8,0.857142857,0.933333333 classify_gp,205,fri_c3_100_5_1,0.8,0.857142857,0.933333333 classify_gnb,205,fri_c3_100_5_1,0.516129032,0.857142857,0.602150538 classify_et,205,fri_c3_100_5_1,0.75862069,0.857142857,0.885057471 classify_dt,205,fri_c3_100_5_1,0.692307692,0.857142857,0.807692308 classify_dbn,205,fri_c3_100_5_1,0.6875,0.857142857,0.802083333 classify_bnb,205,fri_c3_100_5_1,0.434782609,0.857142857,0.507246377 classify_svm,206,fri_c3_250_10_1,0.692307692,0.933333333,0.741758242 classify_sgd,206,fri_c3_250_10_1,0.6875,0.933333333,0.736607143 classify_rf,206,fri_c3_250_10_1,0.916666667,0.933333333,0.982142857 classify_pa,206,fri_c3_250_10_1,0.666666667,0.933333333,0.714285714 classify_mlp,206,fri_c3_250_10_1,0.933333333,0.933333333,1 classify_logreg,206,fri_c3_250_10_1,0.676056338,0.933333333,0.724346076 classify_knn,206,fri_c3_250_10_1,0.845070423,0.933333333,0.905432596 classify_gp,206,fri_c3_250_10_1,0.725,0.933333333,0.776785714 classify_et,206,fri_c3_250_10_1,0.891891892,0.933333333,0.955598456 classify_dt,206,fri_c3_250_10_1,0.826666667,0.933333333,0.885714286 classify_dbn,206,fri_c3_250_10_1,0.75,0.933333333,0.803571429 classify_svm,207,fri_c3_250_25_1,0.739495798,0.826086957,0.895179124 classify_sgd,207,fri_c3_250_25_1,0.740740741,0.826086957,0.89668616 classify_rf,207,fri_c3_250_25_1,0.796116505,0.826086957,0.96371998 classify_pa,207,fri_c3_250_25_1,0.637362637,0.826086957,0.771544245 classify_mlp,207,fri_c3_250_25_1,0.747252747,0.826086957,0.904569115 classify_logreg,207,fri_c3_250_25_1,0.666666667,0.826086957,0.807017544 classify_knn,207,fri_c3_250_25_1,0.770833333,0.826086957,0.933114035 classify_gp,207,fri_c3_250_25_1,0.739495798,0.826086957,0.895179124 classify_et,207,fri_c3_250_25_1,0.811881188,0.826086957,0.982803544 classify_dt,207,fri_c3_250_25_1,0.826086957,0.826086957,1 classify_dbn,207,fri_c3_250_25_1,0.739495798,0.826086957,0.895179124 classify_bnb,207,fri_c3_250_25_1,0.782608696,0.826086957,0.947368421 classify_svm,208,fri_c3_250_50_1,0.75,0.846153846,0.886363636 classify_sgd,208,fri_c3_250_50_1,0.75,0.846153846,0.886363636 classify_mlp,208,fri_c3_250_50_1,0.75862069,0.846153846,0.896551724 classify_logreg,208,fri_c3_250_50_1,0.619047619,0.846153846,0.731601732 classify_knn,208,fri_c3_250_50_1,0.742268041,0.846153846,0.877225867 classify_gp,208,fri_c3_250_50_1,0.730434783,0.846153846,0.863241107 classify_gnb,208,fri_c3_250_50_1,0.625,0.846153846,0.738636364 classify_et,208,fri_c3_250_50_1,0.846153846,0.846153846,1 classify_dt,208,fri_c3_250_50_1,0.457831325,0.846153846,0.541073384 classify_dbn,208,fri_c3_250_50_1,0.666666667,0.846153846,0.787878788 classify_bnb,208,fri_c3_250_50_1,0.688888889,0.846153846,0.814141414 classify_svm,209,fri_c3_250_5_1,0.728813559,0.941176471,0.774364407 classify_sgd,209,fri_c3_250_5_1,0.785714286,0.941176471,0.834821429 classify_pa,209,fri_c3_250_5_1,0.738095238,0.941176471,0.78422619 classify_mlp,209,fri_c3_250_5_1,0.941176471,0.941176471,1 classify_logreg,209,fri_c3_250_5_1,0.759493671,0.941176471,0.806962025 classify_knn,209,fri_c3_250_5_1,0.941176471,0.941176471,1 classify_gp,209,fri_c3_250_5_1,0.906976744,0.941176471,0.963662791 classify_dt,209,fri_c3_250_5_1,0.875,0.941176471,0.9296875 classify_dbn,209,fri_c3_250_5_1,0.827586207,0.941176471,0.879310345 classify_bnb,209,fri_c3_250_5_1,0.791208791,0.941176471,0.840659341 classify_svm,210,fri_c3_500_10_1,0.706666667,0.939597315,0.752095238 classify_sgd,210,fri_c3_500_10_1,0.674157303,0.939597315,0.717495987 classify_pa,210,fri_c3_500_10_1,0.616352201,0.939597315,0.655974843 classify_mlp,210,fri_c3_500_10_1,0.939597315,0.939597315,1 classify_logreg,210,fri_c3_500_10_1,0.571428571,0.939597315,0.608163265 classify_knn,210,fri_c3_500_10_1,0.77631579,0.939597315,0.826221805 classify_gp,210,fri_c3_500_10_1,0.754966887,0.939597315,0.803500473 classify_gnb,210,fri_c3_500_10_1,0.617449664,0.939597315,0.657142857 classify_et,210,fri_c3_500_10_1,0.894736842,0.939597315,0.952255639 classify_dt,210,fri_c3_500_10_1,0.75177305,0.939597315,0.800101317 classify_dbn,210,fri_c3_500_10_1,0.795031056,0.939597315,0.846140195 classify_bnb,210,fri_c3_500_10_1,0.670807453,0.939597315,0.71393079 classify_svm,211,fri_c3_500_25_1,0.706896552,0.894117647,0.790607985 classify_sgd,211,fri_c3_500_25_1,0.733668342,0.894117647,0.820550119 classify_rf,211,fri_c3_500_25_1,0.894117647,0.894117647,1 classify_pa,211,fri_c3_500_25_1,0.682080925,0.894117647,0.762853666 classify_mlp,211,fri_c3_500_25_1,0.870588235,0.894117647,0.97368421 classify_logreg,211,fri_c3_500_25_1,0.644736842,0.894117647,0.721087258 classify_knn,211,fri_c3_500_25_1,0.735632184,0.894117647,0.822746521 classify_gp,211,fri_c3_500_25_1,0.706896552,0.894117647,0.790607985 classify_et,211,fri_c3_500_25_1,0.862275449,0.894117647,0.964387015 classify_dt,211,fri_c3_500_25_1,0.819875776,0.894117647,0.916966329 classify_dbn,211,fri_c3_500_25_1,0.732026144,0.894117647,0.81871345 classify_bnb,211,fri_c3_500_25_1,0.738636364,0.894117647,0.826106459 classify_svm,212,fri_c3_500_50_1,0.710059172,0.843930636,0.841371484 classify_sgd,212,fri_c3_500_50_1,0.733333333,0.843930636,0.868949772 classify_rf,212,fri_c3_500_50_1,0.843930636,0.843930636,1 classify_pa,212,fri_c3_500_50_1,0.710059172,0.843930636,0.841371484 classify_mlp,212,fri_c3_500_50_1,0.756756757,0.843930636,0.896704924 classify_logreg,212,fri_c3_500_50_1,0.662721894,0.843930636,0.785280052 classify_knn,212,fri_c3_500_50_1,0.715789474,0.843930636,0.8481615 classify_gp,212,fri_c3_500_50_1,0.701298701,0.843930636,0.830990927 classify_et,212,fri_c3_500_50_1,0.826086957,0.843930636,0.978856462 classify_dt,212,fri_c3_500_50_1,0.820512821,0.843930636,0.972251493 classify_dbn,212,fri_c3_500_50_1,0.720430108,0.843930636,0.853660333 classify_bnb,212,fri_c3_500_50_1,0.635761589,0.843930636,0.753333938 classify_svm,213,fri_c3_500_5_1,0.615384615,0.940397351,0.654387866 classify_sgd,213,fri_c3_500_5_1,0.660714286,0.940397351,0.702590543 classify_rf,213,fri_c3_500_5_1,0.8625,0.940397351,0.917165493 classify_pa,213,fri_c3_500_5_1,0.636363636,0.940397351,0.676696543 classify_mlp,213,fri_c3_500_5_1,0.940397351,0.940397351,1 classify_logreg,213,fri_c3_500_5_1,0.598639456,0.940397351,0.636581393 classify_knn,213,fri_c3_500_5_1,0.868421053,0.940397351,0.923461824 classify_gp,213,fri_c3_500_5_1,0.868421053,0.940397351,0.923461824 classify_gnb,213,fri_c3_500_5_1,0.603773585,0.940397351,0.642040925 classify_et,213,fri_c3_500_5_1,0.770186335,0.940397351,0.819000962 classify_dt,213,fri_c3_500_5_1,0.805194805,0.940397351,0.856228279 classify_dbn,213,fri_c3_500_5_1,0.928104575,0.940397351,0.986928105 classify_svm,214,fri_c4_1000_100_1,0.697674419,0.779156328,0.8954229 classify_sgd,214,fri_c4_1000_100_1,0.725806452,0.779156328,0.931528662 classify_mlp,214,fri_c4_1000_100_1,0.744047619,0.779156328,0.954940097 classify_logreg,214,fri_c4_1000_100_1,0.699421965,0.779156328,0.897665771 classify_knn,214,fri_c4_1000_100_1,0.655172414,0.779156328,0.840874149 classify_gp,214,fri_c4_1000_100_1,0.709382151,0.779156328,0.910449066 classify_et,214,fri_c4_1000_100_1,0.779156328,0.779156328,1 classify_dt,214,fri_c4_1000_100_1,0.676190476,0.779156328,0.86784956 classify_dbn,214,fri_c4_1000_100_1,0.693409742,0.779156328,0.889949446 classify_svm,215,fri_c4_1000_10_1,0.633093525,0.931677019,0.679520384 classify_sgd,215,fri_c4_1000_10_1,0.722955145,0.931677019,0.775971856 classify_rf,215,fri_c4_1000_10_1,0.777448071,0.931677019,0.83446093 classify_pa,215,fri_c4_1000_10_1,0.666666667,0.931677019,0.715555556 classify_mlp,215,fri_c4_1000_10_1,0.931677019,0.931677019,1 classify_logreg,215,fri_c4_1000_10_1,0.636986301,0.931677019,0.68369863 classify_knn,215,fri_c4_1000_10_1,0.797507788,0.931677019,0.855991693 classify_gp,215,fri_c4_1000_10_1,0.795031056,0.931677019,0.853333333 classify_et,215,fri_c4_1000_10_1,0.873846154,0.931677019,0.937928205 classify_dt,215,fri_c4_1000_10_1,0.791666667,0.931677019,0.849722222 classify_dbn,215,fri_c4_1000_10_1,0.9,0.931677019,0.966 classify_bnb,215,fri_c4_1000_10_1,0.71388102,0.931677019,0.766232295 classify_svm,216,fri_c4_1000_25_1,0.706896552,0.918429003,0.769680127 classify_sgd,216,fri_c4_1000_25_1,0.71,0.918429003,0.773059211 classify_rf,216,fri_c4_1000_25_1,0.918429003,0.918429003,1 classify_pa,216,fri_c4_1000_25_1,0.683195592,0.918429003,0.743874148 classify_mlp,216,fri_c4_1000_25_1,0.905775076,0.918429003,0.986222204 classify_logreg,216,fri_c4_1000_25_1,0.664615385,0.918429003,0.723643725 classify_knn,216,fri_c4_1000_25_1,0.764872521,0.918429003,0.832805278 classify_gp,216,fri_c4_1000_25_1,0.706552707,0.918429003,0.769305743 classify_gnb,216,fri_c4_1000_25_1,0.677115988,0.918429003,0.737254579 classify_et,216,fri_c4_1000_25_1,0.890804598,0.918429003,0.969922111 classify_dt,216,fri_c4_1000_25_1,0.857142857,0.918429003,0.933270677 classify_dbn,216,fri_c4_1000_25_1,0.760736196,0.918429003,0.828301582 classify_bnb,216,fri_c4_1000_25_1,0.717948718,0.918429003,0.7817139 classify_svm,217,fri_c4_1000_50_1,0.730077121,0.886904762,0.823174203 classify_sgd,217,fri_c4_1000_50_1,0.729064039,0.886904762,0.822031937 classify_rf,217,fri_c4_1000_50_1,0.886904762,0.886904762,1 classify_pa,217,fri_c4_1000_50_1,0.698412698,0.886904762,0.787472036 classify_mlp,217,fri_c4_1000_50_1,0.827794562,0.886904762,0.933352258 classify_logreg,217,fri_c4_1000_50_1,0.690322581,0.886904762,0.778350292 classify_knn,217,fri_c4_1000_50_1,0.753799392,0.886904762,0.849921462 classify_gp,217,fri_c4_1000_50_1,0.726342711,0.886904762,0.818963594 classify_gnb,217,fri_c4_1000_50_1,0.712250712,0.886904762,0.803074629 classify_et,217,fri_c4_1000_50_1,0.854111406,0.886904762,0.963024941 classify_dt,217,fri_c4_1000_50_1,0.847761194,0.886904762,0.95586497 classify_dbn,217,fri_c4_1000_50_1,0.693641619,0.886904762,0.782092563 classify_svm,218,fri_c4_100_100_1,0.516129032,0.722222222,0.714640199 classify_sgd,218,fri_c4_100_100_1,0.722222222,0.722222222,1 classify_rf,218,fri_c4_100_100_1,0.666666667,0.722222222,0.923076923 classify_pa,218,fri_c4_100_100_1,0.588235294,0.722222222,0.814479638 classify_mlp,218,fri_c4_100_100_1,0.5625,0.722222222,0.778846154 classify_logreg,218,fri_c4_100_100_1,0.588235294,0.722222222,0.814479638 classify_knn,218,fri_c4_100_100_1,0.615384615,0.722222222,0.852071006 classify_gp,218,fri_c4_100_100_1,0.4,0.722222222,0.553846154 classify_gnb,218,fri_c4_100_100_1,0.5625,0.722222222,0.778846154 classify_et,218,fri_c4_100_100_1,0.64516129,0.722222222,0.893300248 classify_dbn,218,fri_c4_100_100_1,0.625,0.722222222,0.865384615 classify_bnb,218,fri_c4_100_100_1,0.384615385,0.722222222,0.532544379 classify_svm,219,fri_c4_100_10_1,0,0.838709677,0 classify_sgd,219,fri_c4_100_10_1,0.75,0.838709677,0.894230769 classify_rf,219,fri_c4_100_10_1,0.75,0.838709677,0.894230769 classify_pa,219,fri_c4_100_10_1,0.75,0.838709677,0.894230769 classify_mlp,219,fri_c4_100_10_1,0.838709677,0.838709677,1 classify_logreg,219,fri_c4_100_10_1,0.75,0.838709677,0.894230769 classify_knn,219,fri_c4_100_10_1,0.709677419,0.838709677,0.846153846 classify_gp,219,fri_c4_100_10_1,0.709677419,0.838709677,0.846153846 classify_et,219,fri_c4_100_10_1,0.75,0.838709677,0.894230769 classify_dt,219,fri_c4_100_10_1,0.5625,0.838709677,0.670673077 classify_dbn,219,fri_c4_100_10_1,0.777777778,0.838709677,0.927350427 classify_bnb,219,fri_c4_100_10_1,0.625,0.838709677,0.745192308 classify_svm,220,fri_c4_100_25_1,0,0.787878788,0 classify_sgd,220,fri_c4_100_25_1,0.764705882,0.787878788,0.970588235 classify_rf,220,fri_c4_100_25_1,0.764705882,0.787878788,0.970588235 classify_pa,220,fri_c4_100_25_1,0.684210526,0.787878788,0.868421053 classify_mlp,220,fri_c4_100_25_1,0.787878788,0.787878788,1 classify_logreg,220,fri_c4_100_25_1,0.742857143,0.787878788,0.942857143 classify_knn,220,fri_c4_100_25_1,0.764705882,0.787878788,0.970588235 classify_gp,220,fri_c4_100_25_1,0.684210526,0.787878788,0.868421053 classify_gnb,220,fri_c4_100_25_1,0.75,0.787878788,0.951923077 classify_et,220,fri_c4_100_25_1,0.709677419,0.787878788,0.900744417 classify_dt,220,fri_c4_100_25_1,0.6875,0.787878788,0.872596154 classify_dbn,220,fri_c4_100_25_1,0.648648649,0.787878788,0.823284823 classify_svm,221,fri_c4_100_50_1,0.631578947,0.789473684,0.8 classify_sgd,221,fri_c4_100_50_1,0.75,0.789473684,0.95 classify_rf,221,fri_c4_100_50_1,0.789473684,0.789473684,1 classify_pa,221,fri_c4_100_50_1,0.631578947,0.789473684,0.8 classify_mlp,221,fri_c4_100_50_1,0.75,0.789473684,0.95 classify_logreg,221,fri_c4_100_50_1,0.555555556,0.789473684,0.703703704 classify_knn,221,fri_c4_100_50_1,0.789473684,0.789473684,1 classify_gp,221,fri_c4_100_50_1,0.634146341,0.789473684,0.803252033 classify_et,221,fri_c4_100_50_1,0.777777778,0.789473684,0.985185185 classify_dt,221,fri_c4_100_50_1,0.666666667,0.789473684,0.844444444 classify_dbn,221,fri_c4_100_50_1,0.75,0.789473684,0.95 classify_sgd,222,fri_c4_250_100_1,0.666666667,0.894736842,0.745098039 classify_rf,222,fri_c4_250_100_1,0.894736842,0.894736842,1 classify_pa,222,fri_c4_250_100_1,0.602409639,0.894736842,0.673281361 classify_mlp,222,fri_c4_250_100_1,0.696629214,0.894736842,0.778585592 classify_logreg,222,fri_c4_250_100_1,0,0.894736842,0 classify_knn,222,fri_c4_250_100_1,0.680851064,0.894736842,0.760951189 classify_gp,222,fri_c4_250_100_1,0.660714286,0.894736842,0.738445378 classify_et,222,fri_c4_250_100_1,0.765957447,0.894736842,0.856070088 classify_dt,222,fri_c4_250_100_1,0.657534247,0.894736842,0.734891217 classify_dbn,222,fri_c4_250_100_1,0.647619048,0.894736842,0.723809524 classify_bnb,222,fri_c4_250_100_1,0.659340659,0.894736842,0.736910149 classify_svm,223,fri_c4_250_10_1,0.555555556,0.84057971,0.66091954 classify_sgd,223,fri_c4_250_10_1,0.704545455,0.84057971,0.838166144 classify_rf,223,fri_c4_250_10_1,0.765432099,0.84057971,0.910600256 classify_pa,223,fri_c4_250_10_1,0.693333333,0.84057971,0.824827586 classify_mlp,223,fri_c4_250_10_1,0.84057971,0.84057971,1 classify_logreg,223,fri_c4_250_10_1,0.571428571,0.84057971,0.679802956 classify_knn,223,fri_c4_250_10_1,0.727272727,0.84057971,0.865203762 classify_gp,223,fri_c4_250_10_1,0.707317073,0.84057971,0.841463415 classify_gnb,223,fri_c4_250_10_1,0.621621622,0.84057971,0.739515377 classify_et,223,fri_c4_250_10_1,0.746987952,0.84057971,0.888658081 classify_dt,223,fri_c4_250_10_1,0.746268657,0.84057971,0.887802368 classify_dbn,223,fri_c4_250_10_1,0.657142857,0.84057971,0.781773399 classify_bnb,223,fri_c4_250_10_1,0.537313433,0.84057971,0.639217705 classify_sgd,224,fri_c4_250_25_1,0.717948718,0.853932584,0.840755735 classify_rf,224,fri_c4_250_25_1,0.853932584,0.853932584,1 classify_pa,224,fri_c4_250_25_1,0.674157303,0.853932584,0.789473684 classify_mlp,224,fri_c4_250_25_1,0.755555556,0.853932584,0.884795322 classify_knn,224,fri_c4_250_25_1,0.764044944,0.853932584,0.894736842 classify_gp,224,fri_c4_250_25_1,0.717948718,0.853932584,0.840755735 classify_gnb,224,fri_c4_250_25_1,0.698795181,0.853932584,0.818325935 classify_et,224,fri_c4_250_25_1,0.817204301,0.853932584,0.956989247 classify_dt,224,fri_c4_250_25_1,0.535211268,0.853932584,0.626760563 classify_dbn,224,fri_c4_250_25_1,0.725274725,0.853932584,0.849334876 classify_bnb,224,fri_c4_250_25_1,0.688172043,0.853932584,0.805885682 classify_svm,225,fri_c4_250_50_1,0.611111111,0.820512821,0.744791667 classify_sgd,225,fri_c4_250_50_1,0.611111111,0.820512821,0.744791667 classify_rf,225,fri_c4_250_50_1,0.773333333,0.820512821,0.9425 classify_pa,225,fri_c4_250_50_1,0.547945205,0.820512821,0.667808219 classify_mlp,225,fri_c4_250_50_1,0.631578947,0.820512821,0.769736842 classify_logreg,225,fri_c4_250_50_1,0.578947368,0.820512821,0.705592105 classify_knn,225,fri_c4_250_50_1,0.644444444,0.820512821,0.785416667 classify_gp,225,fri_c4_250_50_1,0.512195122,0.820512821,0.624237805 classify_gnb,225,fri_c4_250_50_1,0.597402597,0.820512821,0.728084416 classify_et,225,fri_c4_250_50_1,0.820512821,0.820512821,1 classify_dbn,225,fri_c4_250_50_1,0.615384615,0.820512821,0.75 classify_bnb,225,fri_c4_250_50_1,0.694444444,0.820512821,0.846354167 classify_svm,226,fri_c4_500_100_1,0.672566372,0.748538012,0.898506637 classify_sgd,226,fri_c4_500_100_1,0.707865168,0.748538012,0.945663624 classify_rf,226,fri_c4_500_100_1,0.713615024,0.748538012,0.95334507 classify_pa,226,fri_c4_500_100_1,0.650306749,0.748538012,0.868769172 classify_mlp,226,fri_c4_500_100_1,0.679012346,0.748538012,0.907118056 classify_logreg,226,fri_c4_500_100_1,0.679245283,0.748538012,0.907429245 classify_knn,226,fri_c4_500_100_1,0.660098522,0.748538012,0.881850369 classify_gp,226,fri_c4_500_100_1,0.672566372,0.748538012,0.898506637 classify_dt,226,fri_c4_500_100_1,0.748538012,0.748538012,1 classify_dbn,226,fri_c4_500_100_1,0.682352941,0.748538012,0.911580882 classify_bnb,226,fri_c4_500_100_1,0.655172414,0.748538012,0.875269397 classify_svm,227,fri_c4_500_10_1,0.765432099,0.945054945,0.809933965 classify_sgd,227,fri_c4_500_10_1,0.774509804,0.945054945,0.819539444 classify_rf,227,fri_c4_500_10_1,0.911111111,0.945054945,0.964082687 classify_pa,227,fri_c4_500_10_1,0.721311475,0.945054945,0.763248189 classify_mlp,227,fri_c4_500_10_1,0.945054945,0.945054945,1 classify_logreg,227,fri_c4_500_10_1,0.741935484,0.945054945,0.785071268 classify_knn,227,fri_c4_500_10_1,0.872093023,0.945054945,0.922796106 classify_gp,227,fri_c4_500_10_1,0.857142857,0.945054945,0.906976744 classify_et,227,fri_c4_500_10_1,0.830601093,0.945054945,0.878891854 classify_dt,227,fri_c4_500_10_1,0.849162011,0.945054945,0.898531896 classify_dbn,227,fri_c4_500_10_1,0.933333333,0.945054945,0.987596899 classify_svm,228,fri_c4_500_25_1,0.708571429,0.934782609,0.758006645 classify_sgd,228,fri_c4_500_25_1,0.760330579,0.934782609,0.813376898 classify_rf,228,fri_c4_500_25_1,0.934782609,0.934782609,1 classify_pa,228,fri_c4_500_25_1,0.72826087,0.934782609,0.779069767 classify_mlp,228,fri_c4_500_25_1,0.918918919,0.934782609,0.983029541 classify_logreg,228,fri_c4_500_25_1,0.726256983,0.934782609,0.776926075 classify_knn,228,fri_c4_500_25_1,0.837696335,0.934782609,0.896140265 classify_gp,228,fri_c4_500_25_1,0.753768844,0.934782609,0.806357368 classify_et,228,fri_c4_500_25_1,0.841584158,0.934782609,0.900299332 classify_dt,228,fri_c4_500_25_1,0.858757062,0.934782609,0.918670345 classify_dbn,228,fri_c4_500_25_1,0.760330579,0.934782609,0.813376898 classify_bnb,228,fri_c4_500_25_1,0.72631579,0.934782609,0.776988984 classify_svm,229,fri_c4_500_50_1,0.734177215,0.872727273,0.841244726 classify_sgd,229,fri_c4_500_50_1,0.734177215,0.872727273,0.841244726 classify_rf,229,fri_c4_500_50_1,0.872727273,0.872727273,1 classify_pa,229,fri_c4_500_50_1,0.630952381,0.872727273,0.72296627 classify_mlp,229,fri_c4_500_50_1,0.754491018,0.872727273,0.864520958 classify_logreg,229,fri_c4_500_50_1,0.627906977,0.872727273,0.719476744 classify_knn,229,fri_c4_500_50_1,0.666666667,0.872727273,0.763888889 classify_gp,229,fri_c4_500_50_1,0.662921348,0.872727273,0.759597378 classify_et,229,fri_c4_500_50_1,0.775757576,0.872727273,0.888888889 classify_dt,229,fri_c4_500_50_1,0.732919255,0.872727273,0.839803313 classify_dbn,229,fri_c4_500_50_1,0.607142857,0.872727273,0.695684524 classify_svm,230,fried_1,0.835262689,0.93825968,0.890225497 classify_sgd,230,fried_1,0.840648417,0.93825968,0.895965622 classify_rf,230,fried_1,0.858437879,0.93825968,0.914925684 classify_pa,230,fried_1,0.837163973,0.93825968,0.892251891 classify_mnb,230,fried_1,0.754875101,0.93825968,0.804548162 classify_mlp,230,fried_1,0.93825968,0.93825968,1 classify_logreg,230,fried_1,0.838777832,0.93825968,0.893971946 classify_knn,230,fried_1,0.89012495,0.93825968,0.948697859 classify_gnb,230,fried_1,0.866820125,0.93825968,0.923859507 classify_et,230,fried_1,0.831213307,0.93825968,0.885909653 classify_dt,230,fried_1,0.867365028,0.93825968,0.924440266 classify_dbn,230,fried_1,0.933765707,0.93825968,0.995210311 classify_bnb,230,fried_1,0.737106077,0.93825968,0.785609883 classify_svm,231,fruitfly_1,0.545454545,0.545454545,1 classify_sgd,231,fruitfly_1,0.538461539,0.545454545,0.987179487 classify_rf,231,fruitfly_1,0.307692308,0.545454545,0.564102564 classify_pa,231,fruitfly_1,0.523809524,0.545454545,0.96031746 classify_mlp,231,fruitfly_1,0.538461539,0.545454545,0.987179487 classify_logreg,231,fruitfly_1,0.545454545,0.545454545,1 classify_knn,231,fruitfly_1,0.4,0.545454545,0.733333333 classify_gp,231,fruitfly_1,0.190476191,0.545454545,0.349206349 classify_et,231,fruitfly_1,0.1,0.545454545,0.183333333 classify_dbn,231,fruitfly_1,0.16,0.545454545,0.293333333 classify_bnb,231,fruitfly_1,0.48,0.545454545,0.88 classify_svm,232,glass_1,0.737864078,0.86746988,0.850593312 classify_sgd,232,glass_1,0.747474748,0.86746988,0.861672278 classify_mnb,232,glass_1,0.444444444,0.86746988,0.512345679 classify_mlp,232,glass_1,0.829268293,0.86746988,0.95596206 classify_logreg,232,glass_1,0.676470588,0.86746988,0.779820261 classify_knn,232,glass_1,0.86746988,0.86746988,1 classify_gp,232,glass_1,0.853932584,0.86746988,0.984394507 classify_gnb,232,glass_1,0.610169492,0.86746988,0.70338983 classify_et,232,glass_1,0.745098039,0.86746988,0.858932462 classify_dt,232,glass_1,0.765432099,0.86746988,0.882373114 classify_dbn,232,glass_1,0.847058824,0.86746988,0.976470588 classify_bnb,232,glass_1,0.444444444,0.86746988,0.512345679 classify_svm,233,grub-damage_1,0.385753539,0.42586256,0.905816982 classify_sgd,233,grub-damage_1,0.42586256,0.42586256,1 classify_rf,233,grub-damage_1,0.205038192,0.42586256,0.481465644 classify_pa,233,grub-damage_1,0.137992573,0.42586256,0.324030768 classify_mnb,233,grub-damage_1,0.32785052,0.42586256,0.769850536 classify_mlp,233,grub-damage_1,0.359161886,0.42586256,0.843375116 classify_logreg,233,grub-damage_1,0.154213152,0.42586256,0.362119533 classify_knn,233,grub-damage_1,0.418063553,0.42586256,0.981686563 classify_gp,233,grub-damage_1,0.15330094,0.42586256,0.3599775 classify_et,233,grub-damage_1,0.292128592,0.42586256,0.685969181 classify_dbn,233,grub-damage_1,0.391955074,0.42586256,0.920379273 classify_bnb,233,grub-damage_1,0.316770621,0.42586256,0.743832989 classify_svm,234,grub-damage_2,0.806451613,0.852459016,0.946029777 classify_sgd,234,grub-damage_2,0.828571429,0.852459016,0.971978022 classify_mnb,234,grub-damage_2,0.782608696,0.852459016,0.918060201 classify_mlp,234,grub-damage_2,0.852459016,0.852459016,1 classify_logreg,234,grub-damage_2,0.724137931,0.852459016,0.849469496 classify_knn,234,grub-damage_2,0.84375,0.852459016,0.989783654 classify_gp,234,grub-damage_2,0.816901408,0.852459016,0.958288191 classify_dbn,234,grub-damage_2,0.84375,0.852459016,0.989783654 classify_bnb,234,grub-damage_2,0.692307692,0.852459016,0.812130177 classify_svm,235,haberman_1,0.45,0.507936508,0.8859375 classify_sgd,235,haberman_1,0.4,0.507936508,0.7875 classify_rf,235,haberman_1,0.153846154,0.507936508,0.302884615 classify_mlp,235,haberman_1,0.507936508,0.507936508,1 classify_logreg,235,haberman_1,0.458333333,0.507936508,0.90234375 classify_knn,235,haberman_1,0.421052632,0.507936508,0.828947369 classify_gp,235,haberman_1,0.352941177,0.507936508,0.694852941 classify_gnb,235,haberman_1,0.457142857,0.507936508,0.9 classify_et,235,haberman_1,0.083333333,0.507936508,0.1640625 classify_dt,235,haberman_1,0.444444444,0.507936508,0.875 classify_dbn,235,haberman_1,0.333333333,0.507936508,0.65625 classify_bnb,235,haberman_1,0.45,0.507936508,0.8859375 classify_svm,236,hayes-roth_1,0,0.896551724,0 classify_sgd,236,hayes-roth_1,0.861538462,0.896551724,0.960946746 classify_pa,236,hayes-roth_1,0.612244898,0.896551724,0.68288854 classify_mnb,236,hayes-roth_1,0.8125,0.896551724,0.90625 classify_mlp,236,hayes-roth_1,0.885245902,0.896551724,0.98738966 classify_logreg,236,hayes-roth_1,0.565217391,0.896551724,0.630434783 classify_knn,236,hayes-roth_1,0.896551724,0.896551724,1 classify_gp,236,hayes-roth_1,0.866666667,0.896551724,0.966666667 classify_gnb,236,hayes-roth_1,0.612244898,0.896551724,0.68288854 classify_et,236,hayes-roth_1,0.861538462,0.896551724,0.960946746 classify_dt,236,hayes-roth_1,0.777777778,0.896551724,0.867521368 classify_dbn,236,hayes-roth_1,0.842105263,0.896551724,0.939271255 classify_bnb,236,hayes-roth_1,0.612244898,0.896551724,0.68288854 classify_svm,237,hayes-roth_2,0.017815564,0.741064006,0.02404052 classify_sgd,237,hayes-roth_2,0.474798402,0.741064006,0.640698237 classify_pa,237,hayes-roth_2,0.52699319,0.741064006,0.711130464 classify_mlp,237,hayes-roth_2,0.741064006,0.741064006,1 classify_logreg,237,hayes-roth_2,0.481866393,0.741064006,0.650235863 classify_knn,237,hayes-roth_2,0.469672522,0.741064006,0.633781317 classify_gp,237,hayes-roth_2,0.647551309,0.741064006,0.873812928 classify_et,237,hayes-roth_2,0.686713142,0.741064006,0.92665834 classify_dbn,237,hayes-roth_2,0.475159876,0.741064006,0.641186013 classify_bnb,237,hayes-roth_2,0.319495902,0.741064006,0.431131319 classify_svm,238,heart-statlog_1,0.776470588,0.819277108,0.947750865 classify_sgd,238,heart-statlog_1,0.813186813,0.819277108,0.992566257 classify_mlp,238,heart-statlog_1,0.819277108,0.819277108,1 classify_logreg,238,heart-statlog_1,0.75862069,0.819277108,0.925963489 classify_knn,238,heart-statlog_1,0.790123457,0.819277108,0.964415396 classify_gp,238,heart-statlog_1,0.602409639,0.819277108,0.735294118 classify_et,238,heart-statlog_1,0.740740741,0.819277108,0.904139434 classify_dt,238,heart-statlog_1,0.605263158,0.819277108,0.73877709 classify_dbn,238,heart-statlog_1,0.818181818,0.819277108,0.998663102 classify_bnb,238,heart-statlog_1,0.744186047,0.819277108,0.908344733 classify_svm,239,hill-valley_1,0.597122302,0.866666667,0.688987272 classify_sgd,239,hill-valley_1,0.866666667,0.866666667,1 classify_rf,239,hill-valley_1,0.561403509,0.866666667,0.647773279 classify_pa,239,hill-valley_1,0.687242798,0.866666667,0.79297246 classify_mnb,239,hill-valley_1,0.757062147,0.866666667,0.873533246 classify_mlp,239,hill-valley_1,0.82,0.866666667,0.946153846 classify_logreg,239,hill-valley_1,0.32388664,0.866666667,0.373715353 classify_knn,239,hill-valley_1,0.562162162,0.866666667,0.648648649 classify_gp,239,hill-valley_1,0.545961003,0.866666667,0.629955003 classify_et,239,hill-valley_1,0.49704142,0.866666667,0.573509331 classify_dt,239,hill-valley_1,0.187793427,0.866666667,0.216684724 classify_dbn,239,hill-valley_1,0.639252336,0.866666667,0.73759885 classify_bnb,239,hill-valley_1,0.274336283,0.866666667,0.316541865 classify_svm,240,hill-valley_2,0.660377359,0.973958333,0.678034507 classify_sgd,240,hill-valley_2,0.860759494,0.973958333,0.883774453 classify_rf,240,hill-valley_2,0.635555556,0.973958333,0.65254902 classify_mlp,240,hill-valley_2,0.973958333,0.973958333,1 classify_logreg,240,hill-valley_2,0.720647773,0.973958333,0.73991643 classify_knn,240,hill-valley_2,0.582210243,0.973958333,0.597777361 classify_gp,240,hill-valley_2,0.67876588,0.973958333,0.696914701 classify_gnb,240,hill-valley_2,0.644135189,0.973958333,0.661358055 classify_dt,240,hill-valley_2,0.674033149,0.973958333,0.692055426 classify_dbn,240,hill-valley_2,0.67876588,0.973958333,0.696914701 classify_sgd,241,house_16H_1,0.699014011,0.812823164,0.859982887 classify_rf,241,house_16H_1,0.773673257,0.812823164,0.951834656 classify_mnb,241,house_16H_1,0.440566348,0.812823164,0.542019922 classify_mlp,241,house_16H_1,0.812823164,0.812823164,1 classify_logreg,241,house_16H_1,0.705367793,0.812823164,0.867799817 classify_knn,241,house_16H_1,0.765853659,0.812823164,0.942214361 classify_et,241,house_16H_1,0,0.812823164,0 classify_dt,241,house_16H_1,0.732922582,0.812823164,0.90169992 classify_dbn,241,house_16H_1,0.796514608,0.812823164,0.979935911 classify_bnb,241,house_16H_1,0.530999703,0.812823164,0.653278261 classify_svm,242,house_8L_1,0.755566312,0.796870926,0.948166494 classify_sgd,242,house_8L_1,0.563467492,0.796870926,0.707100076 classify_rf,242,house_8L_1,0.715846995,0.796870926,0.89832239 classify_pa,242,house_8L_1,0.731080704,0.796870926,0.917439299 classify_mnb,242,house_8L_1,0.451384417,0.796870926,0.566446086 classify_mlp,242,house_8L_1,0.796870926,0.796870926,1 classify_logreg,242,house_8L_1,0.742316785,0.796870926,0.931539552 classify_knn,242,house_8L_1,0.755328218,0.796870926,0.947867708 classify_gnb,242,house_8L_1,0.513125656,0.796870926,0.643925685 classify_dt,242,house_8L_1,0.77345775,0.796870926,0.97061861 classify_dbn,242,house_8L_1,0.783227848,0.796870926,0.982879188 classify_bnb,242,house_8L_1,0.650184712,0.796870926,0.815922241 classify_svm,243,houses_1,0.723298969,0.986320889,0.733330275 classify_sgd,243,houses_1,0.972529029,0.986320889,0.986016863 classify_rf,243,houses_1,0.97150838,0.986320889,0.984982059 classify_pa,243,houses_1,0.967805985,0.986320889,0.981228316 classify_mnb,243,houses_1,0.54562212,0.986320889,0.553189257 classify_mlp,243,houses_1,0.986320889,0.986320889,1 classify_logreg,243,houses_1,0.968639137,0.986320889,0.982073023 classify_knn,243,houses_1,0.974861525,0.986320889,0.988381708 classify_gnb,243,houses_1,0.959590211,0.986320889,0.972898598 classify_et,243,houses_1,0.971203821,0.986320889,0.984673276 classify_dbn,243,houses_1,0.977462792,0.986320889,0.991019052 classify_svm,244,housing_1,0.682170543,0.890756303,0.765832968 classify_sgd,244,housing_1,0.816666667,0.890756303,0.916823899 classify_rf,244,housing_1,0.890756303,0.890756303,1 classify_pa,244,housing_1,0.738461539,0.890756303,0.829027576 classify_mnb,244,housing_1,0.621621622,0.890756303,0.697858236 classify_mlp,244,housing_1,0.869565217,0.890756303,0.976210008 classify_logreg,244,housing_1,0.8,0.890756303,0.898113208 classify_knn,244,housing_1,0.842105263,0.890756303,0.945382324 classify_gp,244,housing_1,0.661417323,0.890756303,0.742534542 classify_gnb,244,housing_1,0.675675676,0.890756303,0.75854156 classify_et,244,housing_1,0.727272727,0.890756303,0.816466552 classify_dt,244,housing_1,0.87394958,0.890756303,0.981132075 classify_dbn,244,housing_1,0.879310345,0.890756303,0.987150293 classify_svm,245,humandevel_1,0,0.926829268,0 classify_sgd,245,humandevel_1,0.926829268,0.926829268,1 classify_rf,245,humandevel_1,0.904761905,0.926829268,0.976190476 classify_pa,245,humandevel_1,0.904761905,0.926829268,0.976190476 classify_mnb,245,humandevel_1,0,0.926829268,0 classify_mlp,245,humandevel_1,0.926829268,0.926829268,1 classify_logreg,245,humandevel_1,0.926829268,0.926829268,1 classify_knn,245,humandevel_1,0.926829268,0.926829268,1 classify_gp,245,humandevel_1,0.926829268,0.926829268,1 classify_gnb,245,humandevel_1,0.926829268,0.926829268,1 classify_et,245,humandevel_1,0.926829268,0.926829268,1 classify_dt,245,humandevel_1,0.9,0.926829268,0.971052632 classify_dbn,245,humandevel_1,0.926829268,0.926829268,1 classify_bnb,245,humandevel_1,0.926829268,0.926829268,1 classify_svm,246,hutsof99_child_witness_1,0.75,0.888888889,0.84375 classify_sgd,246,hutsof99_child_witness_1,0.8,0.888888889,0.9 classify_rf,246,hutsof99_child_witness_1,0.888888889,0.888888889,1 classify_pa,246,hutsof99_child_witness_1,0.75,0.888888889,0.84375 classify_mnb,246,hutsof99_child_witness_1,0.285714286,0.888888889,0.321428571 classify_mlp,246,hutsof99_child_witness_1,0.888888889,0.888888889,1 classify_logreg,246,hutsof99_child_witness_1,0.888888889,0.888888889,1 classify_knn,246,hutsof99_child_witness_1,0.888888889,0.888888889,1 classify_gp,246,hutsof99_child_witness_1,0.666666667,0.888888889,0.75 classify_gnb,246,hutsof99_child_witness_1,0.888888889,0.888888889,1 classify_et,246,hutsof99_child_witness_1,0.888888889,0.888888889,1 classify_dt,246,hutsof99_child_witness_1,0.666666667,0.888888889,0.75 classify_bnb,246,hutsof99_child_witness_1,0.666666667,0.888888889,0.75 classify_svm,247,hutsof99_logis_1,0.5,0.75,0.666666667 classify_sgd,247,hutsof99_logis_1,0.6,0.75,0.8 classify_rf,247,hutsof99_logis_1,0.52631579,0.75,0.701754386 classify_mnb,247,hutsof99_logis_1,0.52631579,0.75,0.701754386 classify_mlp,247,hutsof99_logis_1,0.75,0.75,1 classify_logreg,247,hutsof99_logis_1,0.52631579,0.75,0.701754386 classify_knn,247,hutsof99_logis_1,0.588235294,0.75,0.784313725 classify_gp,247,hutsof99_logis_1,0.5,0.75,0.666666667 classify_gnb,247,hutsof99_logis_1,0.555555556,0.75,0.740740741 classify_et,247,hutsof99_logis_1,0.555555556,0.75,0.740740741 classify_dt,247,hutsof99_logis_1,0.666666667,0.75,0.888888889 classify_dbn,247,hutsof99_logis_1,0.555555556,0.75,0.740740741 classify_svm,248,ilpd_1,0.484848485,0.658227848,0.736596737 classify_sgd,248,ilpd_1,0.622754491,0.658227848,0.946107784 classify_rf,248,ilpd_1,0.325,0.658227848,0.49375 classify_pa,248,ilpd_1,0.614285714,0.658227848,0.933241758 classify_mnb,248,ilpd_1,0.516483517,0.658227848,0.78465765 classify_mlp,248,ilpd_1,0.646706587,0.658227848,0.982496545 classify_logreg,248,ilpd_1,0.658227848,0.658227848,1 classify_knn,248,ilpd_1,0.495412844,0.658227848,0.752646436 classify_gp,248,ilpd_1,0.486486487,0.658227848,0.739085239 classify_gnb,248,ilpd_1,0.586206897,0.658227848,0.890583554 classify_dt,248,ilpd_1,0.144927536,0.658227848,0.220178372 classify_dbn,248,ilpd_1,0.447058824,0.658227848,0.67918552 classify_svm,249,ionosphere_1,0.822580645,0.96,0.856854839 classify_sgd,249,ionosphere_1,0.897058824,0.96,0.934436274 classify_mlp,249,ionosphere_1,0.921875,0.96,0.960286458 classify_logreg,249,ionosphere_1,0.827067669,0.96,0.861528822 classify_knn,249,ionosphere_1,0.938461538,0.96,0.977564103 classify_gp,249,ionosphere_1,0.871428571,0.96,0.907738095 classify_gnb,249,ionosphere_1,0.910447761,0.96,0.948383085 classify_et,249,ionosphere_1,0.945736434,0.96,0.985142119 classify_dt,249,ionosphere_1,0.96,0.96,1 classify_dbn,249,ionosphere_1,0.923076923,0.96,0.961538462 classify_svm,250,iris_1,0.243058258,0.957849215,0.253754196 classify_sgd,250,iris_1,0.872418272,0.957849215,0.910809611 classify_rf,250,iris_1,0.915510757,0.957849215,0.95579841 classify_mlp,250,iris_1,0.957849215,0.957849215,1 classify_logreg,250,iris_1,0.746532272,0.957849215,0.779383916 classify_knn,250,iris_1,0.915510757,0.957849215,0.95579841 classify_gp,250,iris_1,0.957849215,0.957849215,1 classify_et,250,iris_1,0.873547646,0.957849215,0.911988684 classify_dbn,250,iris_1,0.915510757,0.957849215,0.95579841 classify_svm,251,iris_2,1,1,1 classify_sgd,251,iris_2,1,1,1 classify_rf,251,iris_2,1,1,1 classify_pa,251,iris_2,1,1,1 classify_mnb,251,iris_2,1,1,1 classify_mlp,251,iris_2,1,1,1 classify_logreg,251,iris_2,1,1,1 classify_knn,251,iris_2,1,1,1 classify_gp,251,iris_2,1,1,1 classify_gnb,251,iris_2,1,1,1 classify_et,251,iris_2,1,1,1 classify_dt,251,iris_2,1,1,1 classify_dbn,251,iris_2,1,1,1 classify_svm,252,jEdit_4.0_4.2_1,0.774193548,0.845360825,0.915814319 classify_sgd,252,jEdit_4.0_4.2_1,0.819277108,0.845360825,0.969144872 classify_rf,252,jEdit_4.0_4.2_1,0.804597701,0.845360825,0.951780207 classify_pa,252,jEdit_4.0_4.2_1,0.716981132,0.845360825,0.848136217 classify_mlp,252,jEdit_4.0_4.2_1,0.845360825,0.845360825,1 classify_logreg,252,jEdit_4.0_4.2_1,0.783505155,0.845360825,0.926829268 classify_knn,252,jEdit_4.0_4.2_1,0.786516854,0.845360825,0.930391888 classify_gp,252,jEdit_4.0_4.2_1,0.813186813,0.845360825,0.961940499 classify_et,252,jEdit_4.0_4.2_1,0.772277228,0.845360825,0.913547452 classify_dbn,252,jEdit_4.0_4.2_1,0.804878049,0.845360825,0.952111838 classify_svm,253,jEdit_4.2_4.3_1,0.578947368,0.713178295,0.811784897 classify_sgd,253,jEdit_4.2_4.3_1,0.678571429,0.713178295,0.951475155 classify_rf,253,jEdit_4.2_4.3_1,0.536082474,0.713178295,0.751680861 classify_pa,253,jEdit_4.2_4.3_1,0.574257426,0.713178295,0.805208782 classify_mnb,253,jEdit_4.2_4.3_1,0.536082474,0.713178295,0.751680861 classify_mlp,253,jEdit_4.2_4.3_1,0.713178295,0.713178295,1 classify_logreg,253,jEdit_4.2_4.3_1,0.632478633,0.713178295,0.886845039 classify_knn,253,jEdit_4.2_4.3_1,0.628571429,0.713178295,0.88136646 classify_gp,253,jEdit_4.2_4.3_1,0.678899083,0.713178295,0.951934583 classify_gnb,253,jEdit_4.2_4.3_1,0.709219858,0.713178295,0.994449584 classify_dt,253,jEdit_4.2_4.3_1,0.647619048,0.713178295,0.908074534 classify_dbn,253,jEdit_4.2_4.3_1,0.631578947,0.713178295,0.885583524 classify_bnb,253,jEdit_4.2_4.3_1,0.661654135,0.713178295,0.927754168 classify_svm,254,kc1-binary_1,0.734693878,0.892857143,0.822857143 classify_sgd,254,kc1-binary_1,0.807692308,0.892857143,0.904615385 classify_rf,254,kc1-binary_1,0.830188679,0.892857143,0.929811321 classify_pa,254,kc1-binary_1,0.814814815,0.892857143,0.912592593 classify_mlp,254,kc1-binary_1,0.872727273,0.892857143,0.977454545 classify_logreg,254,kc1-binary_1,0.892857143,0.892857143,1 classify_knn,254,kc1-binary_1,0.851851852,0.892857143,0.954074074 classify_gp,254,kc1-binary_1,0.65,0.892857143,0.728 classify_gnb,254,kc1-binary_1,0.819672131,0.892857143,0.918032787 classify_et,254,kc1-binary_1,0.816326531,0.892857143,0.914285714 classify_dt,254,kc1-binary_1,0.836363636,0.892857143,0.936727273 classify_dbn,254,kc1-binary_1,0.862068966,0.892857143,0.965517241 classify_bnb,254,kc1-binary_1,0.819672131,0.892857143,0.918032787 classify_svm,255,kc1-top5_1,0.963855422,1,0.963855422 classify_sgd,255,kc1-top5_1,1,1,1 classify_rf,255,kc1-top5_1,1,1,1 classify_pa,255,kc1-top5_1,0.963855422,1,0.963855422 classify_mlp,255,kc1-top5_1,1,1,1 classify_logreg,255,kc1-top5_1,1,1,1 classify_knn,255,kc1-top5_1,0.988505747,1,0.988505747 classify_gp,255,kc1-top5_1,0.988505747,1,0.988505747 classify_gnb,255,kc1-top5_1,0.925,1,0.925 classify_et,255,kc1-top5_1,0.988505747,1,0.988505747 classify_dbn,255,kc1-top5_1,1,1,1 classify_bnb,255,kc1-top5_1,0.925,1,0.925 classify_svm,256,kc1_1,0.465573771,0.502673797,0.926194629 classify_sgd,256,kc1_1,0.41958042,0.502673797,0.834697218 classify_rf,256,kc1_1,0.278688525,0.502673797,0.554412278 classify_pa,256,kc1_1,0.196428571,0.502673797,0.390767477 classify_mnb,256,kc1_1,0.41025641,0.502673797,0.816148391 classify_mlp,256,kc1_1,0.502673797,0.502673797,1 classify_logreg,256,kc1_1,0.455782313,0.502673797,0.906715878 classify_knn,256,kc1_1,0.45398773,0.502673797,0.903145803 classify_gp,256,kc1_1,0.24,0.502673797,0.477446809 classify_et,256,kc1_1,0.233333333,0.502673797,0.464184397 classify_dbn,256,kc1_1,0.4,0.502673797,0.795744681 classify_svm,257,kc2_1,0.564102564,0.564102564,1 classify_sgd,257,kc2_1,0.547945205,0.564102564,0.97135741 classify_rf,257,kc2_1,0.545454545,0.564102564,0.966942149 classify_pa,257,kc2_1,0.561797753,0.564102564,0.995914198 classify_mlp,257,kc2_1,0.553846154,0.564102564,0.981818182 classify_logreg,257,kc2_1,0.507042254,0.564102564,0.898847631 classify_knn,257,kc2_1,0.558823529,0.564102564,0.990641711 classify_gp,257,kc2_1,0.412698413,0.564102564,0.731601732 classify_gnb,257,kc2_1,0.507936508,0.564102564,0.9004329 classify_et,257,kc2_1,0.509090909,0.564102564,0.902479339 classify_dt,257,kc2_1,0.52173913,0.564102564,0.924901186 classify_dbn,257,kc2_1,0.56,0.564102564,0.992727273 classify_svm,258,kc3_1,0.372881356,0.6,0.621468927 classify_sgd,258,kc3_1,0.6,0.6,1 classify_rf,258,kc3_1,0,0.6,0 classify_pa,258,kc3_1,0.392156863,0.6,0.653594771 classify_mlp,258,kc3_1,0.461538462,0.6,0.769230769 classify_logreg,258,kc3_1,0.431372549,0.6,0.718954248 classify_knn,258,kc3_1,0.117647059,0.6,0.196078431 classify_gp,258,kc3_1,0.111111111,0.6,0.185185185 classify_et,258,kc3_1,0,0.6,0 classify_dbn,258,kc3_1,0.2,0.6,0.333333333 classify_sgd,259,kdd_JapaneseVowels_1,0.976275208,0.998017447,0.97821457 classify_rf,259,kdd_JapaneseVowels_1,0.982449221,0.998017447,0.984400848 classify_pa,259,kdd_JapaneseVowels_1,0.974589523,0.998017447,0.976525537 classify_mlp,259,kdd_JapaneseVowels_1,0.998017447,0.998017447,1 classify_logreg,259,kdd_JapaneseVowels_1,0.788198609,0.998017447,0.789764359 classify_knn,259,kdd_JapaneseVowels_1,0.997227723,0.998017447,0.999208708 classify_gnb,259,kdd_JapaneseVowels_1,0.975416336,0.998017447,0.977353993 classify_dbn,259,kdd_JapaneseVowels_1,0.98906778,0.998017447,0.991032555 classify_bnb,259,kdd_JapaneseVowels_1,0.933305457,0.998017447,0.93515946 classify_svm,260,kdd_synthetic_control_1,0.899082569,1,0.899082569 classify_sgd,260,kdd_synthetic_control_1,1,1,1 classify_rf,260,kdd_synthetic_control_1,1,1,1 classify_pa,260,kdd_synthetic_control_1,1,1,1 classify_mlp,260,kdd_synthetic_control_1,1,1,1 classify_logreg,260,kdd_synthetic_control_1,1,1,1 classify_knn,260,kdd_synthetic_control_1,1,1,1 classify_gp,260,kdd_synthetic_control_1,1,1,1 classify_gnb,260,kdd_synthetic_control_1,1,1,1 classify_et,260,kdd_synthetic_control_1,1,1,1 classify_dt,260,kdd_synthetic_control_1,0.993243243,1,0.993243243 classify_dbn,260,kdd_synthetic_control_1,0.993150685,1,0.993150685 classify_bnb,260,kdd_synthetic_control_1,0.986394558,1,0.986394558 classify_svm,261,kidney_1,0.736842105,0.777777778,0.947368421 classify_sgd,261,kidney_1,0.588235294,0.777777778,0.756302521 classify_rf,261,kidney_1,0.705882353,0.777777778,0.907563025 classify_pa,261,kidney_1,0.736842105,0.777777778,0.947368421 classify_mnb,261,kidney_1,0.555555556,0.777777778,0.714285714 classify_mlp,261,kidney_1,0.777777778,0.777777778,1 classify_logreg,261,kidney_1,0.736842105,0.777777778,0.947368421 classify_knn,261,kidney_1,0.705882353,0.777777778,0.907563025 classify_gp,261,kidney_1,0.6,0.777777778,0.771428571 classify_gnb,261,kidney_1,0.631578947,0.777777778,0.812030075 classify_et,261,kidney_1,0.736842105,0.777777778,0.947368421 classify_dbn,261,kidney_1,0.705882353,0.777777778,0.907563025 classify_bnb,261,kidney_1,0.666666667,0.777777778,0.857142857 classify_svm,262,kin8nm_1,0.652042775,0.929883139,0.701209375 classify_sgd,262,kin8nm_1,0.748804708,0.929883139,0.80526754 classify_rf,262,kin8nm_1,0.733614412,0.929883139,0.788931836 classify_mlp,262,kin8nm_1,0.929883139,0.929883139,1 classify_logreg,262,kin8nm_1,0.730263158,0.929883139,0.785327884 classify_knn,262,kin8nm_1,0.866556837,0.929883139,0.931898645 classify_et,262,kin8nm_1,0.721907842,0.929883139,0.776342544 classify_dt,262,kin8nm_1,0.681269557,0.929883139,0.732639973 classify_dbn,262,kin8nm_1,0.918624161,0.929883139,0.987892051 classify_svm,263,kr-vs-kp_1,0.983089064,0.995454546,0.987578055 classify_sgd,263,kr-vs-kp_1,0.970588235,0.995454546,0.975020145 classify_rf,263,kr-vs-kp_1,0.934117647,0.995454546,0.938383024 classify_pa,263,kr-vs-kp_1,0.948430493,0.995454546,0.952761226 classify_mlp,263,kr-vs-kp_1,0.995454546,0.995454546,1 classify_logreg,263,kr-vs-kp_1,0.954751131,0.995454546,0.959110725 classify_knn,263,kr-vs-kp_1,0.948216341,0.995454546,0.952546096 classify_gp,263,kr-vs-kp_1,0.96803653,0.995454546,0.972456788 classify_et,263,kr-vs-kp_1,0.923627685,0.995454546,0.927845163 classify_dt,263,kr-vs-kp_1,0.964652223,0.995454546,0.969057028 classify_dbn,263,kr-vs-kp_1,0.986425339,0.995454546,0.990929565 classify_svm,264,letter_1,0.980718593,0.999220712,0.981483452 classify_sgd,264,letter_1,0.989332416,0.999220712,0.990103992 classify_rf,264,letter_1,0.980718593,0.999220712,0.981483452 classify_pa,264,letter_1,0.988846946,0.999220712,0.989618144 classify_mnb,264,letter_1,0.966489686,0.999220712,0.967243447 classify_mlp,264,letter_1,0.999220712,0.999220712,1 classify_logreg,264,letter_1,0.983200554,0.999220712,0.983967348 classify_knn,264,letter_1,0.998614958,0.999220712,0.999393774 classify_gnb,264,letter_1,0.985193523,0.999220712,0.985961872 classify_et,264,letter_1,0.985237648,0.999220712,0.986006031 classify_dt,264,letter_1,0.993762994,0.999220712,0.994538026 classify_dbn,264,letter_1,0.997922438,0.999220712,0.998700713 classify_svm,265,leukemia_1,1,1,1 classify_sgd,265,leukemia_1,1,1,1 classify_rf,265,leukemia_1,0.8,1,0.8 classify_pa,265,leukemia_1,1,1,1 classify_mlp,265,leukemia_1,1,1,1 classify_logreg,265,leukemia_1,1,1,1 classify_knn,265,leukemia_1,0.8,1,0.8 classify_gp,265,leukemia_1,0.666666667,1,0.666666667 classify_gnb,265,leukemia_1,1,1,1 classify_et,265,leukemia_1,0.909090909,1,0.909090909 classify_dt,265,leukemia_1,0.727272727,1,0.727272727 classify_dbn,265,leukemia_1,0.923076923,1,0.923076923 classify_bnb,265,leukemia_1,0.833333333,1,0.833333333 classify_svm,266,lowbwt_1,0,0.888888889,0 classify_sgd,266,lowbwt_1,0.888888889,0.888888889,1 classify_rf,266,lowbwt_1,0.819672131,0.888888889,0.922131147 classify_pa,266,lowbwt_1,0.819672131,0.888888889,0.922131147 classify_mlp,266,lowbwt_1,0.852459016,0.888888889,0.959016393 classify_logreg,266,lowbwt_1,0.777777778,0.888888889,0.875 classify_knn,266,lowbwt_1,0.833333333,0.888888889,0.9375 classify_gp,266,lowbwt_1,0.696969697,0.888888889,0.784090909 classify_gnb,266,lowbwt_1,0.830769231,0.888888889,0.934615385 classify_et,266,lowbwt_1,0.848484848,0.888888889,0.954545455 classify_dt,266,lowbwt_1,0.821428571,0.888888889,0.924107143 classify_dbn,266,lowbwt_1,0.830769231,0.888888889,0.934615385 classify_bnb,266,lowbwt_1,0.733333333,0.888888889,0.825 classify_svm,267,lsvt_1,0.888888889,0.958333333,0.927536232 classify_sgd,267,lsvt_1,0.958333333,0.958333333,1 classify_rf,267,lsvt_1,0.916666667,0.958333333,0.956521739 classify_mlp,267,lsvt_1,0.913043478,0.958333333,0.952741021 classify_logreg,267,lsvt_1,0.80952381,0.958333333,0.844720497 classify_knn,267,lsvt_1,0.826086957,0.958333333,0.862003781 classify_gp,267,lsvt_1,0.72,0.958333333,0.751304348 classify_et,267,lsvt_1,0.901960784,0.958333333,0.941176471 classify_dt,267,lsvt_1,0.772727273,0.958333333,0.806324111 classify_dbn,267,lsvt_1,0.901960784,0.958333333,0.941176471 classify_bnb,267,lsvt_1,0.631578947,0.958333333,0.659038902 classify_svm,268,lupus_1,0.625,0.75,0.833333333 classify_sgd,268,lupus_1,0.666666667,0.75,0.888888889 classify_rf,268,lupus_1,0.75,0.75,1 classify_pa,268,lupus_1,0.625,0.75,0.833333333 classify_mlp,268,lupus_1,0.666666667,0.75,0.888888889 classify_logreg,268,lupus_1,0.75,0.75,1 classify_knn,268,lupus_1,0.75,0.75,1 classify_gp,268,lupus_1,0.588235294,0.75,0.784313725 classify_et,268,lupus_1,0.571428571,0.75,0.761904762 classify_dt,268,lupus_1,0.705882353,0.75,0.941176471 classify_dbn,268,lupus_1,0.666666667,0.75,0.888888889 classify_bnb,268,lupus_1,0,0.75,0 classify_svm,269,lymph_1,0.703587681,0.867940659,0.810640305 classify_sgd,269,lymph_1,0.815116923,0.867940659,0.939139 classify_rf,269,lymph_1,0.157225094,0.867940659,0.181147284 classify_mnb,269,lymph_1,0.692116558,0.867940659,0.797423822 classify_mlp,269,lymph_1,0.851540081,0.867940659,0.981104032 classify_logreg,269,lymph_1,0.783578582,0.867940659,0.902802022 classify_knn,269,lymph_1,0.76701769,0.867940659,0.883721349 classify_gp,269,lymph_1,0.131593839,0.867940659,0.15161617 classify_gnb,269,lymph_1,0.156383993,0.867940659,0.180178208 classify_et,269,lymph_1,0.157225094,0.867940659,0.181147284 classify_dt,269,lymph_1,0.143870962,0.867940659,0.165761289 classify_dbn,269,lymph_1,0.867940659,0.867940659,1 classify_bnb,269,lymph_1,0.543065925,0.867940659,0.625694763 classify_svm,270,lymph_2,0.769230769,0.871794872,0.882352941 classify_sgd,270,lymph_2,0.820512821,0.871794872,0.941176471 classify_pa,270,lymph_2,0.810810811,0.871794872,0.930047695 classify_mlp,270,lymph_2,0.857142857,0.871794872,0.983193277 classify_logreg,270,lymph_2,0.8,0.871794872,0.917647059 classify_knn,270,lymph_2,0.75,0.871794872,0.860294118 classify_gp,270,lymph_2,0.705882353,0.871794872,0.809688581 classify_et,270,lymph_2,0.742857143,0.871794872,0.85210084 classify_dt,270,lymph_2,0.722222222,0.871794872,0.828431373 classify_dbn,270,lymph_2,0.871794872,0.871794872,1 classify_bnb,270,lymph_2,0.833333333,0.871794872,0.955882353 classify_svm,271,machine_cpu_1,0,1,0 classify_sgd,271,machine_cpu_1,0.947368421,1,0.947368421 classify_rf,271,machine_cpu_1,0.972972973,1,0.972972973 classify_pa,271,machine_cpu_1,0.88372093,1,0.88372093 classify_mlp,271,machine_cpu_1,0.974358974,1,0.974358974 classify_logreg,271,machine_cpu_1,0.904761905,1,0.904761905 classify_knn,271,machine_cpu_1,1,1,1 classify_gp,271,machine_cpu_1,0.882352941,1,0.882352941 classify_gnb,271,machine_cpu_1,0.95,1,0.95 classify_et,271,machine_cpu_1,0.416666667,1,0.416666667 classify_dt,271,machine_cpu_1,0.944444444,1,0.944444444 classify_dbn,271,machine_cpu_1,0.974358974,1,0.974358974 classify_svm,272,madelon_1,0.672340426,0.810539523,0.829497398 classify_sgd,272,madelon_1,0.672340426,0.810539523,0.829497398 classify_rf,272,madelon_1,0.810539523,0.810539523,1 classify_pa,272,madelon_1,0.590792839,0.810539523,0.728888379 classify_mnb,272,madelon_1,0.596078431,0.810539523,0.735409458 classify_mlp,272,madelon_1,0.672340426,0.810539523,0.829497398 classify_logreg,272,madelon_1,0.595578674,0.810539523,0.734792884 classify_knn,272,madelon_1,0.634567901,0.810539523,0.782895692 classify_gp,272,madelon_1,0,0.810539523,0 classify_et,272,madelon_1,0.688039458,0.810539523,0.848866018 classify_dt,272,madelon_1,0.71409396,0.810539523,0.881010659 classify_dbn,272,madelon_1,0.576454669,0.810539523,0.711198716 classify_bnb,272,madelon_1,0.602015113,0.810539523,0.742733816 classify_svm,273,mammography_1,0.278651685,0.684210526,0.407260156 classify_sgd,273,mammography_1,0.504504505,0.684210526,0.737352737 classify_rf,273,mammography_1,0.444444444,0.684210526,0.64957265 classify_pa,273,mammography_1,0.053333333,0.684210526,0.077948718 classify_mlp,273,mammography_1,0.684210526,0.684210526,1 classify_logreg,273,mammography_1,0.116197183,0.684210526,0.169826652 classify_knn,273,mammography_1,0.64516129,0.684210526,0.94292804 classify_et,273,mammography_1,0.252873563,0.684210526,0.369584439 classify_dt,273,mammography_1,0.078947368,0.684210526,0.115384615 classify_dbn,273,mammography_1,0.641221374,0.684210526,0.9371697 classify_bnb,273,mammography_1,0.13003096,0.684210526,0.190045249 classify_svm,274,mbagrade_1,0.8,0.818181818,0.977777778 classify_sgd,274,mbagrade_1,0.8,0.818181818,0.977777778 classify_rf,274,mbagrade_1,0.761904762,0.818181818,0.931216931 classify_pa,274,mbagrade_1,0.380952381,0.818181818,0.465608466 classify_mlp,274,mbagrade_1,0.818181818,0.818181818,1 classify_logreg,274,mbagrade_1,0.75,0.818181818,0.916666667 classify_knn,274,mbagrade_1,0.761904762,0.818181818,0.931216931 classify_gp,274,mbagrade_1,0.642857143,0.818181818,0.785714286 classify_gnb,274,mbagrade_1,0.818181818,0.818181818,1 classify_et,274,mbagrade_1,0.818181818,0.818181818,1 classify_dt,274,mbagrade_1,0.727272727,0.818181818,0.888888889 classify_dbn,274,mbagrade_1,0.818181818,0.818181818,1 classify_bnb,274,mbagrade_1,0.75,0.818181818,0.916666667 classify_svm,275,mc1_1,0.172413793,0.484848485,0.355603448 classify_sgd,275,mc1_1,0.298507463,0.484848485,0.615671642 classify_rf,275,mc1_1,0.347826087,0.484848485,0.717391305 classify_pa,275,mc1_1,0.275862069,0.484848485,0.568965517 classify_mlp,275,mc1_1,0.484848485,0.484848485,1 classify_logreg,275,mc1_1,0.050331126,0.484848485,0.103807947 classify_knn,275,mc1_1,0.424242424,0.484848485,0.875 classify_et,275,mc1_1,0,0.484848485,0 classify_dt,275,mc1_1,0.344827586,0.484848485,0.711206897 classify_dbn,275,mc1_1,0,0.484848485,0 classify_bnb,275,mc1_1,0.125,0.484848485,0.2578125 classify_svm,276,mc2_1,0.585365854,0.709677419,0.824833703 classify_sgd,276,mc2_1,0.689655172,0.709677419,0.971786834 classify_rf,276,mc2_1,0.416666667,0.709677419,0.587121212 classify_pa,276,mc2_1,0.434782609,0.709677419,0.612648221 classify_mnb,276,mc2_1,0.315789474,0.709677419,0.444976077 classify_mlp,276,mc2_1,0.709677419,0.709677419,1 classify_logreg,276,mc2_1,0.611111111,0.709677419,0.861111111 classify_knn,276,mc2_1,0.5,0.709677419,0.704545455 classify_gp,276,mc2_1,0.421052632,0.709677419,0.593301435 classify_gnb,276,mc2_1,0.5,0.709677419,0.704545455 classify_et,276,mc2_1,0.5,0.709677419,0.704545455 classify_dt,276,mc2_1,0.342857143,0.709677419,0.483116883 classify_dbn,276,mc2_1,0.580645161,0.709677419,0.818181818 classify_svm,277,meta_batchincremental.arff_1,-0.075729394,0.065285721,-1.159968722 classify_sgd,277,meta_batchincremental.arff_1,-0.015251059,0.065285721,-0.233604812 classify_rf,277,meta_batchincremental.arff_1,-0.065657423,0.065285721,-1.005693473 classify_pa,277,meta_batchincremental.arff_1,-0.069450729,0.065285721,-1.06379662 classify_mlp,277,meta_batchincremental.arff_1,0.065285721,0.065285721,1 classify_logreg,277,meta_batchincremental.arff_1,0.058056887,0.065285721,0.889273891 classify_knn,277,meta_batchincremental.arff_1,-0.125494424,0.065285721,-1.922233883 classify_gp,277,meta_batchincremental.arff_1,-0.138496099,0.065285721,-2.121384239 classify_gnb,277,meta_batchincremental.arff_1,-0.002321069,0.065285721,-0.03555248 classify_dt,277,meta_batchincremental.arff_1,-0.094895475,0.065285721,-1.453541054 classify_dbn,277,meta_batchincremental.arff_1,-0.022115179,0.065285721,-0.338744506 classify_bnb,277,meta_batchincremental.arff_1,-0.125821233,0.065285721,-1.9272397 classify_svm,278,meta_ensembles.arff_1,-0.003499137,0.486120415,-0.007198086 classify_sgd,278,meta_ensembles.arff_1,0.370125927,0.486120415,0.761387334 classify_rf,278,meta_ensembles.arff_1,0.200585278,0.486120415,0.412624674 classify_pa,278,meta_ensembles.arff_1,0.252750844,0.486120415,0.519934642 classify_mlp,278,meta_ensembles.arff_1,0.289264703,0.486120415,0.595047429 classify_logreg,278,meta_ensembles.arff_1,0.273257721,0.486120415,0.562119411 classify_knn,278,meta_ensembles.arff_1,0.464569322,0.486120415,0.95566717 classify_gp,278,meta_ensembles.arff_1,-0.003499137,0.486120415,-0.007198086 classify_gnb,278,meta_ensembles.arff_1,0.226599744,0.486120415,0.466139123 classify_et,278,meta_ensembles.arff_1,0.486120415,0.486120415,1 classify_dbn,278,meta_ensembles.arff_1,0.090221586,0.486120415,0.185595139 classify_bnb,278,meta_ensembles.arff_1,0.324643076,0.486120415,0.667824401 classify_sgd,279,meta_instanceincremental.arff_1,0.481077738,0.835930315,0.57549981 classify_rf,279,meta_instanceincremental.arff_1,0.835930315,0.835930315,1 classify_pa,279,meta_instanceincremental.arff_1,0.117940382,0.835930315,0.141088772 classify_mlp,279,meta_instanceincremental.arff_1,0.481077738,0.835930315,0.57549981 classify_logreg,279,meta_instanceincremental.arff_1,0.418281352,0.835930315,0.500378254 classify_knn,279,meta_instanceincremental.arff_1,0.166333467,0.835930315,0.198980063 classify_gp,279,meta_instanceincremental.arff_1,-0.124921551,0.835930315,-0.149440149 classify_gnb,279,meta_instanceincremental.arff_1,0.271194362,0.835930315,0.324422212 classify_et,279,meta_instanceincremental.arff_1,0.14086131,0.835930315,0.168508436 classify_dbn,279,meta_instanceincremental.arff_1,0.450313201,0.835930315,0.538697058 classify_svm,280,mfeat-factors_1,0.946444249,1,0.946444249 classify_sgd,280,mfeat-factors_1,0.999073216,1,0.999073216 classify_rf,280,mfeat-factors_1,0.994464945,1,0.994464945 classify_pa,280,mfeat-factors_1,1,1,1 classify_mnb,280,mfeat-factors_1,0.93083004,1,0.93083004 classify_mlp,280,mfeat-factors_1,0.999073216,1,0.999073216 classify_logreg,280,mfeat-factors_1,0.880581516,1,0.880581516 classify_knn,280,mfeat-factors_1,0.997214485,1,0.997214485 classify_gp,280,mfeat-factors_1,0.989767442,1,0.989767442 classify_gnb,280,mfeat-factors_1,0.972511848,1,0.972511848 classify_et,280,mfeat-factors_1,0.996303142,1,0.996303142 classify_dt,280,mfeat-factors_1,0.988888889,1,0.988888889 classify_dbn,280,mfeat-factors_1,0.997219648,1,0.997219648 classify_bnb,280,mfeat-factors_1,0.961612284,1,0.961612284 classify_svm,281,mfeat-fourier_1,1,1,1 classify_sgd,281,mfeat-fourier_1,1,1,1 classify_rf,281,mfeat-fourier_1,1,1,1 classify_pa,281,mfeat-fourier_1,0.997167139,1,0.997167139 classify_mnb,281,mfeat-fourier_1,0.995269631,1,0.995269631 classify_mlp,281,mfeat-fourier_1,1,1,1 classify_logreg,281,mfeat-fourier_1,0.993352327,1,0.993352327 classify_knn,281,mfeat-fourier_1,1,1,1 classify_gp,281,mfeat-fourier_1,0.999057493,1,0.999057493 classify_gnb,281,mfeat-fourier_1,0.994360902,1,0.994360902 classify_et,281,mfeat-fourier_1,0.98880597,1,0.98880597 classify_dt,281,mfeat-fourier_1,0.99342723,1,0.99342723 classify_dbn,281,mfeat-fourier_1,0.986891386,1,0.986891386 classify_svm,282,mfeat-karhunen_1,0.99257885,1,0.99257885 classify_sgd,282,mfeat-karhunen_1,0.997235023,1,0.997235023 classify_rf,282,mfeat-karhunen_1,0.982742961,1,0.982742961 classify_pa,282,mfeat-karhunen_1,0.996309963,1,0.996309963 classify_mlp,282,mfeat-karhunen_1,1,1,1 classify_logreg,282,mfeat-karhunen_1,0.982159624,1,0.982159624 classify_knn,282,mfeat-karhunen_1,0.996296296,1,0.996296296 classify_gp,282,mfeat-karhunen_1,0.992673993,1,0.992673993 classify_gnb,282,mfeat-karhunen_1,0.990825688,1,0.990825688 classify_dt,282,mfeat-karhunen_1,0.983425414,1,0.983425414 classify_dbn,282,mfeat-karhunen_1,0.996316759,1,0.996316759 classify_bnb,282,mfeat-karhunen_1,0.970946579,1,0.970946579 classify_svm,283,mfeat-morphological_1,0.944591029,0.999069767,0.945470537 classify_sgd,283,mfeat-morphological_1,0.999069767,0.999069767,1 classify_rf,283,mfeat-morphological_1,0.993512512,0.999069767,0.99443757 classify_pa,283,mfeat-morphological_1,0.999069767,0.999069767,1 classify_mnb,283,mfeat-morphological_1,0.924,0.999069767,0.924860335 classify_mlp,283,mfeat-morphological_1,0.999069767,0.999069767,1 classify_logreg,283,mfeat-morphological_1,0.717520858,0.999069767,0.718188941 classify_knn,283,mfeat-morphological_1,0.999069767,0.999069767,1 classify_gp,283,mfeat-morphological_1,0.980501393,0.999069767,0.981414336 classify_gnb,283,mfeat-morphological_1,0.999069767,0.999069767,1 classify_et,283,mfeat-morphological_1,0.975476839,0.999069767,0.976385104 classify_dt,283,mfeat-morphological_1,0.998137803,0.999069767,0.999067167 classify_dbn,283,mfeat-morphological_1,0.999069767,0.999069767,1 classify_svm,284,mfeat-pixel_1,0.99249531,0.998130841,0.994353915 classify_sgd,284,mfeat-pixel_1,0.995331466,0.998130841,0.997195383 classify_pa,284,mfeat-pixel_1,0.992509363,0.998130841,0.994367995 classify_mlp,284,mfeat-pixel_1,0.998130841,0.998130841,1 classify_logreg,284,mfeat-pixel_1,0.731132075,0.998130841,0.732501237 classify_knn,284,mfeat-pixel_1,0.998127341,0.998130841,0.999996493 classify_gp,284,mfeat-pixel_1,0.997193639,0.998130841,0.999061043 classify_et,284,mfeat-pixel_1,0.979816514,0.998130841,0.981651376 classify_dt,284,mfeat-pixel_1,0.995313964,0.998130841,0.997177848 classify_dbn,284,mfeat-pixel_1,0.995313964,0.998130841,0.997177848 classify_bnb,284,mfeat-pixel_1,0.977229602,0.998130841,0.97905962 classify_svm,285,mfeat-zernike_1,0.998127341,0.999066293,0.99906017 classify_sgd,285,mfeat-zernike_1,0.998134328,0.999066293,0.999067164 classify_rf,285,mfeat-zernike_1,0.99257885,0.999066293,0.993506493 classify_pa,285,mfeat-zernike_1,0.997204101,0.999066293,0.998136067 classify_mlp,285,mfeat-zernike_1,0.998134328,0.999066293,0.999067164 classify_logreg,285,mfeat-zernike_1,0.998130841,0.999066293,0.999063674 classify_knn,285,mfeat-zernike_1,0.99719888,0.999066293,0.998130841 classify_gp,285,mfeat-zernike_1,0.998134328,0.999066293,0.999067164 classify_et,285,mfeat-zernike_1,0.989824237,0.999066293,0.990749306 classify_dt,285,mfeat-zernike_1,0.993476235,0.999066293,0.994404717 classify_dbn,285,mfeat-zernike_1,0.999066293,0.999066293,1 classify_svm,286,molecular-biology_promoters_1,0.666666667,0.926829268,0.719298246 classify_sgd,286,molecular-biology_promoters_1,0.85,0.926829268,0.917105263 classify_pa,286,molecular-biology_promoters_1,0.705882353,0.926829268,0.761609907 classify_mlp,286,molecular-biology_promoters_1,0.842105263,0.926829268,0.908587258 classify_logreg,286,molecular-biology_promoters_1,0.820512821,0.926829268,0.885290148 classify_knn,286,molecular-biology_promoters_1,0.742857143,0.926829268,0.801503759 classify_gp,286,molecular-biology_promoters_1,0.689655172,0.926829268,0.744101633 classify_gnb,286,molecular-biology_promoters_1,0.926829268,0.926829268,1 classify_et,286,molecular-biology_promoters_1,0.894736842,0.926829268,0.965373961 classify_dt,286,molecular-biology_promoters_1,0.666666667,0.926829268,0.719298246 classify_dbn,286,molecular-biology_promoters_1,0.85,0.926829268,0.917105263 classify_bnb,286,molecular-biology_promoters_1,0.810810811,0.926829268,0.874822191 classify_svm,287,molecular-biology_promoters_2,0.75,0.882352941,0.85 classify_sgd,287,molecular-biology_promoters_2,0.823529412,0.882352941,0.933333333 classify_rf,287,molecular-biology_promoters_2,0.882352941,0.882352941,1 classify_pa,287,molecular-biology_promoters_2,0.709677419,0.882352941,0.804301075 classify_mnb,287,molecular-biology_promoters_2,0.8125,0.882352941,0.920833333 classify_mlp,287,molecular-biology_promoters_2,0.8,0.882352941,0.906666667 classify_logreg,287,molecular-biology_promoters_2,0.774193548,0.882352941,0.877419355 classify_knn,287,molecular-biology_promoters_2,0.857142857,0.882352941,0.971428571 classify_gp,287,molecular-biology_promoters_2,0.8125,0.882352941,0.920833333 classify_gnb,287,molecular-biology_promoters_2,0.833333333,0.882352941,0.944444444 classify_et,287,molecular-biology_promoters_2,0.823529412,0.882352941,0.933333333 classify_dbn,287,molecular-biology_promoters_2,0.8125,0.882352941,0.920833333 classify_bnb,287,molecular-biology_promoters_2,0.882352941,0.882352941,1 classify_svm,288,monks-problems-1_1,0.664,1,0.664 classify_sgd,288,monks-problems-1_1,0.698224852,1,0.698224852 classify_rf,288,monks-problems-1_1,0.955974843,1,0.955974843 classify_pa,288,monks-problems-1_1,0.300653595,1,0.300653595 classify_mnb,288,monks-problems-1_1,0.698224852,1,0.698224852 classify_mlp,288,monks-problems-1_1,1,1,1 classify_logreg,288,monks-problems-1_1,0.698224852,1,0.698224852 classify_knn,288,monks-problems-1_1,0.964285714,1,0.964285714 classify_gp,288,monks-problems-1_1,0.934911243,1,0.934911243 classify_dt,288,monks-problems-1_1,1,1,1 classify_dbn,288,monks-problems-1_1,1,1,1 classify_svm,289,monks-problems-2_1,0.507772021,1,0.507772021 classify_sgd,289,monks-problems-2_1,0.480686695,1,0.480686695 classify_rf,289,monks-problems-2_1,0,1,0 classify_pa,289,monks-problems-2_1,0,1,0 classify_mlp,289,monks-problems-2_1,1,1,1 classify_logreg,289,monks-problems-2_1,0.471428571,1,0.471428571 classify_knn,289,monks-problems-2_1,0.849557522,1,0.849557522 classify_gp,289,monks-problems-2_1,0.421052632,1,0.421052632 classify_et,289,monks-problems-2_1,0.034482759,1,0.034482759 classify_dbn,289,monks-problems-2_1,0.990990991,1,0.990990991 classify_svm,290,monks-problems-3_1,0.805369128,0.968553459,0.831517476 classify_sgd,290,monks-problems-3_1,0.85380117,0.968553459,0.881521987 classify_pa,290,monks-problems-3_1,0.726190476,0.968553459,0.749768089 classify_mlp,290,monks-problems-3_1,0.968553459,0.968553459,1 classify_logreg,290,monks-problems-3_1,0.8,0.968553459,0.825974026 classify_knn,290,monks-problems-3_1,0.962025317,0.968553459,0.993259905 classify_gp,290,monks-problems-3_1,0.941935484,0.968553459,0.972517805 classify_et,290,monks-problems-3_1,0.941935484,0.968553459,0.972517805 classify_dt,290,monks-problems-3_1,0.968553459,0.968553459,1 classify_dbn,290,monks-problems-3_1,0.968553459,0.968553459,1 classify_bnb,290,monks-problems-3_1,0.806629834,0.968553459,0.832819115 classify_svm,291,mozilla4_1,0.76417704,0.949025721,0.805222686 classify_sgd,291,mozilla4_1,0.88598979,0.949025721,0.933578269 classify_pa,291,mozilla4_1,0.879870655,0.949025721,0.927130462 classify_mnb,291,mozilla4_1,0.891112223,0.949025721,0.938975839 classify_mlp,291,mozilla4_1,0.948045833,0.949025721,0.99896748 classify_logreg,291,mozilla4_1,0.8339599,0.949025721,0.878753738 classify_knn,291,mozilla4_1,0.917522465,0.949025721,0.966804634 classify_gnb,291,mozilla4_1,0.722999223,0.949025721,0.761833117 classify_et,291,mozilla4_1,0.867995925,0.949025721,0.914617914 classify_dt,291,mozilla4_1,0.949025721,0.949025721,1 classify_dbn,291,mozilla4_1,0.925358852,0.949025721,0.975061931 classify_bnb,291,mozilla4_1,0.786429532,0.949025721,0.828670409 classify_svm,292,mu284_1,0.946236559,0.989247312,0.956521739 classify_sgd,292,mu284_1,0.989247312,0.989247312,1 classify_rf,292,mu284_1,0.989010989,0.989247312,0.999761108 classify_pa,292,mu284_1,0.989247312,0.989247312,1 classify_mlp,292,mu284_1,0.989247312,0.989247312,1 classify_logreg,292,mu284_1,0.989247312,0.989247312,1 classify_knn,292,mu284_1,0.946236559,0.989247312,0.956521739 classify_gp,292,mu284_1,0.778947368,0.989247312,0.787414188 classify_gnb,292,mu284_1,0.823529412,0.989247312,0.832480818 classify_et,292,mu284_1,0.989247312,0.989247312,1 classify_dt,292,mu284_1,0.989010989,0.989247312,0.999761108 classify_dbn,292,mu284_1,0.989247312,0.989247312,1 classify_bnb,292,mu284_1,0.85,0.989247312,0.85923913 classify_svm,293,musk_1,0.995245642,1,0.995245642 classify_sgd,293,musk_1,1,1,1 classify_rf,293,musk_1,1,1,1 classify_pa,293,musk_1,0.998405104,1,0.998405104 classify_mlp,293,musk_1,1,1,1 classify_logreg,293,musk_1,0.995245642,1,0.995245642 classify_knn,293,musk_1,0.919803601,1,0.919803601 classify_et,293,musk_1,0.978861789,1,0.978861789 classify_dt,293,musk_1,1,1,1 classify_dbn,293,musk_1,0,1,0 classify_svm,294,mv_1,0.998072953,0.9998626,0.998210107 classify_sgd,294,mv_1,0.999105976,0.9998626,0.999243273 classify_rf,294,mv_1,0.961182735,0.9998626,0.96131482 classify_pa,294,mv_1,0.996636694,0.9998626,0.996773651 classify_mlp,294,mv_1,0.9998626,0.9998626,1 classify_logreg,294,mv_1,0.987963409,0.9998626,0.988099174 classify_knn,294,mv_1,0.972604626,0.9998626,0.97273828 classify_gnb,294,mv_1,0.789386125,0.9998626,0.789494602 classify_et,294,mv_1,0.941735364,0.9998626,0.941864777 classify_dt,294,mv_1,0.94111719,0.9998626,0.941246517 classify_dbn,294,mv_1,0.999312998,0.9998626,0.999450323 classify_bnb,294,mv_1,0.838277512,0.9998626,0.838392707 classify_svm,295,mw1_1,0.142857143,0.428571429,0.333333333 classify_sgd,295,mw1_1,0.25,0.428571429,0.583333333 classify_pa,295,mw1_1,0.222222222,0.428571429,0.518518518 classify_mlp,295,mw1_1,0.357142857,0.428571429,0.833333333 classify_logreg,295,mw1_1,0.25,0.428571429,0.583333333 classify_knn,295,mw1_1,0.428571429,0.428571429,1 classify_gp,295,mw1_1,0,0.428571429,0 classify_dt,295,mw1_1,0.222222222,0.428571429,0.518518518 classify_dbn,295,mw1_1,0.266666667,0.428571429,0.622222222 classify_bnb,295,mw1_1,0.186046512,0.428571429,0.434108527 classify_svm,296,newton_hema_1,0.666666667,0.818181818,0.814814815 classify_sgd,296,newton_hema_1,0.707692308,0.818181818,0.864957265 classify_rf,296,newton_hema_1,0.736842105,0.818181818,0.900584795 classify_pa,296,newton_hema_1,0.541666667,0.818181818,0.662037037 classify_mlp,296,newton_hema_1,0.784313726,0.818181818,0.958605664 classify_logreg,296,newton_hema_1,0.784313726,0.818181818,0.958605664 classify_knn,296,newton_hema_1,0.818181818,0.818181818,1 classify_gp,296,newton_hema_1,0.65,0.818181818,0.794444444 classify_gnb,296,newton_hema_1,0.608695652,0.818181818,0.743961353 classify_et,296,newton_hema_1,0.761904762,0.818181818,0.931216931 classify_dt,296,newton_hema_1,0.615384615,0.818181818,0.752136752 classify_dbn,296,newton_hema_1,0.727272727,0.818181818,0.888888889 classify_svm,297,no2_1,0.582278481,0.699453552,0.832476266 classify_sgd,297,no2_1,0.699453552,0.699453552,1 classify_rf,297,no2_1,0.550724638,0.699453552,0.78736413 classify_pa,297,no2_1,0.591194969,0.699453552,0.845224057 classify_mlp,297,no2_1,0.684210526,0.699453552,0.978207237 classify_logreg,297,no2_1,0.617283951,0.699453552,0.882523148 classify_knn,297,no2_1,0.628930818,0.699453552,0.899174528 classify_gp,297,no2_1,0.492753623,0.699453552,0.704483696 classify_gnb,297,no2_1,0.403508772,0.699453552,0.576891447 classify_et,297,no2_1,0.45112782,0.699453552,0.644971804 classify_dt,297,no2_1,0.544117647,0.699453552,0.777918199 classify_dbn,297,no2_1,0.684210526,0.699453552,0.978207237 classify_bnb,297,no2_1,0.558139535,0.699453552,0.797965116 classify_mlp,298,nursery_1,-0.091823714,-0.091823714,1 classify_dbn,298,nursery_1,-0.091823714,-0.091823714,1 classify_svm,299,nursery_2,1,1,1 classify_sgd,299,nursery_2,1,1,1 classify_rf,299,nursery_2,1,1,1 classify_pa,299,nursery_2,1,1,1 classify_mlp,299,nursery_2,1,1,1 classify_logreg,299,nursery_2,1,1,1 classify_knn,299,nursery_2,1,1,1 classify_gnb,299,nursery_2,1,1,1 classify_dt,299,nursery_2,1,1,1 classify_dbn,299,nursery_2,1,1,1 classify_bnb,299,nursery_2,1,1,1 classify_svm,300,oil_spill_1,0.48,0.642857143,0.746666667 classify_sgd,300,oil_spill_1,0.583333333,0.642857143,0.907407407 classify_rf,300,oil_spill_1,0.583333333,0.642857143,0.907407407 classify_pa,300,oil_spill_1,0.620689655,0.642857143,0.965517241 classify_mlp,300,oil_spill_1,0.642857143,0.642857143,1 classify_logreg,300,oil_spill_1,0,0.642857143,0 classify_knn,300,oil_spill_1,0.387096774,0.642857143,0.602150538 classify_gp,300,oil_spill_1,0,0.642857143,0 classify_et,300,oil_spill_1,0,0.642857143,0 classify_dbn,300,oil_spill_1,0.538461539,0.642857143,0.837606838 classify_svm,301,optdigits_1,0.999339062,0.99966964,0.999669312 classify_sgd,301,optdigits_1,0.994402371,0.99966964,0.99473099 classify_rf,301,optdigits_1,0.988881622,0.99966964,0.989208417 classify_pa,301,optdigits_1,0.988726791,0.99966964,0.989053534 classify_mnb,301,optdigits_1,0.963994565,0.99966964,0.964313136 classify_mlp,301,optdigits_1,0.998350379,0.99966964,0.998680304 classify_logreg,301,optdigits_1,0.99173007,0.99966964,0.992057806 classify_knn,301,optdigits_1,0.998021108,0.99966964,0.998350924 classify_gp,301,optdigits_1,0.99966964,0.99966964,1 classify_et,301,optdigits_1,0.993107975,0.99966964,0.993436167 classify_dt,301,optdigits_1,0.982849604,0.99966964,0.983174406 classify_dbn,301,optdigits_1,0.999009574,0.99966964,0.999339716 classify_bnb,301,optdigits_1,0.972538513,0.99966964,0.972859907 classify_svm,302,ozone-level-8hr_1,0.254901961,0.53164557,0.47945845 classify_sgd,302,ozone-level-8hr_1,0.456140351,0.53164557,0.857978279 classify_rf,302,ozone-level-8hr_1,0.218181818,0.53164557,0.41038961 classify_pa,302,ozone-level-8hr_1,0.519230769,0.53164557,0.976648352 classify_mlp,302,ozone-level-8hr_1,0.53164557,0.53164557,1 classify_logreg,302,ozone-level-8hr_1,0.222748815,0.53164557,0.418979914 classify_knn,302,ozone-level-8hr_1,0.360655738,0.53164557,0.678376269 classify_et,302,ozone-level-8hr_1,0,0.53164557,0 classify_dt,302,ozone-level-8hr_1,0.276923077,0.53164557,0.520879121 classify_dbn,302,ozone-level-8hr_1,0.452380952,0.53164557,0.85090703 classify_svm,303,page-blocks_1,0.131274131,0.911949686,0.143948875 classify_sgd,303,page-blocks_1,0.734939759,0.911949686,0.80589946 classify_pa,303,page-blocks_1,0.615384615,0.911949686,0.674801061 classify_mnb,303,page-blocks_1,0.632978723,0.911949686,0.694093911 classify_mlp,303,page-blocks_1,0.911949686,0.911949686,1 classify_logreg,303,page-blocks_1,0.701670644,0.911949686,0.769418155 classify_knn,303,page-blocks_1,0.869565217,0.911949686,0.953523238 classify_gnb,303,page-blocks_1,0.498269896,0.911949686,0.546378714 classify_et,303,page-blocks_1,0.319148936,0.911949686,0.349963316 classify_dt,303,page-blocks_1,0.490909091,0.911949686,0.53830721 classify_dbn,303,page-blocks_1,0,0.911949686,0 classify_svm,304,parkinsons_1,0.967741936,0.989247312,0.97826087 classify_sgd,304,parkinsons_1,0.968421053,0.989247312,0.978947368 classify_rf,304,parkinsons_1,0.946236559,0.989247312,0.956521739 classify_pa,304,parkinsons_1,0.911111111,0.989247312,0.921014493 classify_mlp,304,parkinsons_1,0.97826087,0.989247312,0.98889414 classify_logreg,304,parkinsons_1,0.88372093,0.989247312,0.893326593 classify_knn,304,parkinsons_1,0.989247312,0.989247312,1 classify_gp,304,parkinsons_1,0.927835052,0.989247312,0.937920215 classify_gnb,304,parkinsons_1,0.779220779,0.989247312,0.78769057 classify_et,304,parkinsons_1,0.93877551,0.989247312,0.948979592 classify_dbn,304,parkinsons_1,0.945054945,0.989247312,0.955327281 classify_bnb,304,parkinsons_1,0.779220779,0.989247312,0.78769057 classify_svm,306,pasture_2,0,1,0 classify_sgd,306,pasture_2,0.947368421,1,0.947368421 classify_rf,306,pasture_2,1,1,1 classify_pa,306,pasture_2,0.823529412,1,0.823529412 classify_mlp,306,pasture_2,1,1,1 classify_logreg,306,pasture_2,0.823529412,1,0.823529412 classify_knn,306,pasture_2,1,1,1 classify_gp,306,pasture_2,0.941176471,1,0.941176471 classify_dt,306,pasture_2,0.941176471,1,0.941176471 classify_svm,307,pc1_1,0.296296296,0.428571429,0.691358025 classify_sgd,307,pc1_1,0.279069767,0.428571429,0.651162791 classify_rf,307,pc1_1,0.428571429,0.428571429,1 classify_pa,307,pc1_1,0.242424242,0.428571429,0.565656566 classify_mnb,307,pc1_1,0.153846154,0.428571429,0.358974359 classify_mlp,307,pc1_1,0.428571429,0.428571429,1 classify_logreg,307,pc1_1,0.288888889,0.428571429,0.674074074 classify_knn,307,pc1_1,0.4,0.428571429,0.933333333 classify_gp,307,pc1_1,0,0.428571429,0 classify_gnb,307,pc1_1,0.208333333,0.428571429,0.486111111 classify_et,307,pc1_1,0.173913044,0.428571429,0.405797101 classify_dt,307,pc1_1,0.303030303,0.428571429,0.707070707 classify_dbn,307,pc1_1,0.296296296,0.428571429,0.691358025 classify_bnb,307,pc1_1,0.186046512,0.428571429,0.434108527 classify_svm,308,pc1_req_1,0.681481482,0.794871795,0.85734767 classify_sgd,308,pc1_req_1,0.784810127,0.794871795,0.987341772 classify_rf,308,pc1_req_1,0.779220779,0.794871795,0.980310013 classify_pa,308,pc1_req_1,0.709219858,0.794871795,0.892244338 classify_mlp,308,pc1_req_1,0.784810127,0.794871795,0.987341772 classify_logreg,308,pc1_req_1,0.661417323,0.794871795,0.832105664 classify_knn,308,pc1_req_1,0.781456954,0.794871795,0.983123264 classify_gp,308,pc1_req_1,0.794871795,0.794871795,1 classify_gnb,308,pc1_req_1,0.787096774,0.794871795,0.990218522 classify_et,308,pc1_req_1,0.784810127,0.794871795,0.987341772 classify_dt,308,pc1_req_1,0.77852349,0.794871795,0.979432778 classify_dbn,308,pc1_req_1,0.784810127,0.794871795,0.987341772 classify_svm,309,pc2_1,0.2,0.260869565,0.766666667 classify_sgd,309,pc2_1,0.142857143,0.260869565,0.547619048 classify_rf,309,pc2_1,0,0.260869565,0 classify_pa,309,pc2_1,0,0.260869565,0 classify_mnb,309,pc2_1,0.260869565,0.260869565,1 classify_mlp,309,pc2_1,0.001821494,0.260869565,0.006982392 classify_logreg,309,pc2_1,0.03125,0.260869565,0.119791667 classify_knn,309,pc2_1,0,0.260869565,0 classify_gnb,309,pc2_1,0.163265306,0.260869565,0.62585034 classify_et,309,pc2_1,0,0.260869565,0 classify_dt,309,pc2_1,0,0.260869565,0 classify_bnb,309,pc2_1,0.04040404,0.260869565,0.154882155 classify_svm,310,pc3_1,0.264150943,0.465116279,0.567924528 classify_sgd,310,pc3_1,0.380952381,0.465116279,0.819047619 classify_rf,310,pc3_1,0.140350877,0.465116279,0.301754386 classify_pa,310,pc3_1,0.357541899,0.465116279,0.768715084 classify_mnb,310,pc3_1,0.195652174,0.465116279,0.420652174 classify_mlp,310,pc3_1,0.465116279,0.465116279,1 classify_logreg,310,pc3_1,0.379146919,0.465116279,0.815165877 classify_knn,310,pc3_1,0.363636364,0.465116279,0.781818182 classify_gp,310,pc3_1,0,0.465116279,0 classify_gnb,310,pc3_1,0.371257485,0.465116279,0.798203593 classify_et,310,pc3_1,0,0.465116279,0 classify_dt,310,pc3_1,0.34,0.465116279,0.731 classify_dbn,310,pc3_1,0.101694915,0.465116279,0.218644068 classify_svm,311,pc4_1,0.466321244,0.608695652,0.766099186 classify_sgd,311,pc4_1,0.573643411,0.608695652,0.942414175 classify_rf,311,pc4_1,0.352941177,0.608695652,0.579831933 classify_mnb,311,pc4_1,0.25,0.608695652,0.410714286 classify_mlp,311,pc4_1,0.608695652,0.608695652,1 classify_logreg,311,pc4_1,0.392857143,0.608695652,0.645408163 classify_knn,311,pc4_1,0.432989691,0.608695652,0.711340206 classify_gp,311,pc4_1,0.036363636,0.608695652,0.05974026 classify_et,311,pc4_1,0,0.608695652,0 classify_dt,311,pc4_1,0.253521127,0.608695652,0.416498994 classify_dbn,311,pc4_1,0.605504587,0.608695652,0.994757536 classify_svm,312,pendigits_1,0.983617865,0.999150382,0.984454275 classify_sgd,312,pendigits_1,0.996429179,0.999150382,0.997276482 classify_pa,312,pendigits_1,0.995756238,0.999150382,0.99660297 classify_mnb,312,pendigits_1,0.962297393,0.999150382,0.963115673 classify_mlp,312,pendigits_1,0.999150382,0.999150382,1 classify_logreg,312,pendigits_1,0.749362787,0.999150382,0.75 classify_knn,312,pendigits_1,0.998810939,0.999150382,0.999660268 classify_dt,312,pendigits_1,0.987008547,0.999150382,0.98784784 classify_dbn,312,pendigits_1,0.998980632,0.999150382,0.999830105 classify_bnb,312,pendigits_1,0.955618175,0.999150382,0.956430776 classify_svm,313,phoneme_1,0.457831325,0.822043628,0.556942855 classify_sgd,313,phoneme_1,0.637450199,0.822043628,0.775445703 classify_rf,313,phoneme_1,0.718510405,0.822043628,0.874053859 classify_pa,313,phoneme_1,0.605504587,0.822043628,0.736584491 classify_mlp,313,phoneme_1,0.796440489,0.822043628,0.968854283 classify_logreg,313,phoneme_1,0.644798501,0.822043628,0.784384768 classify_knn,313,phoneme_1,0.822043628,0.822043628,1 classify_gnb,313,phoneme_1,0.611615245,0.822043628,0.744017987 classify_et,313,phoneme_1,0.459499264,0.822043628,0.55897187 classify_dt,313,phoneme_1,0.734693878,0.822043628,0.893740737 classify_dbn,313,phoneme_1,0.766004415,0.822043628,0.931829393 classify_bnb,313,phoneme_1,0.584369449,0.822043628,0.710874009 classify_svm,314,planning-relax_1,0,0.470588235,0 classify_sgd,314,planning-relax_1,0.450704225,0.470588235,0.957746479 classify_rf,314,planning-relax_1,0.380952381,0.470588235,0.80952381 classify_pa,314,planning-relax_1,0.324324324,0.470588235,0.689189189 classify_mlp,314,planning-relax_1,0.451612903,0.470588235,0.959677419 classify_logreg,314,planning-relax_1,0.3,0.470588235,0.6375 classify_knn,314,planning-relax_1,0.470588235,0.470588235,1 classify_gp,314,planning-relax_1,0,0.470588235,0 classify_gnb,314,planning-relax_1,0,0.470588235,0 classify_et,314,planning-relax_1,0,0.470588235,0 classify_dt,314,planning-relax_1,0.387096774,0.470588235,0.822580645 classify_dbn,314,planning-relax_1,0.25,0.470588235,0.53125 classify_svm,315,plasma_retinol_1,0.503937008,0.566371681,0.88976378 classify_sgd,315,plasma_retinol_1,0.506024096,0.566371681,0.893448795 classify_pa,315,plasma_retinol_1,0.547945205,0.566371681,0.967465753 classify_mnb,315,plasma_retinol_1,0.453333333,0.566371681,0.800416667 classify_mlp,315,plasma_retinol_1,0.566371681,0.566371681,1 classify_logreg,315,plasma_retinol_1,0.533333333,0.566371681,0.941666667 classify_knn,315,plasma_retinol_1,0.538461539,0.566371681,0.950721154 classify_gp,315,plasma_retinol_1,0.257142857,0.566371681,0.454017857 classify_gnb,315,plasma_retinol_1,0.462962963,0.566371681,0.817418982 classify_et,315,plasma_retinol_1,0.5,0.566371681,0.8828125 classify_dt,315,plasma_retinol_1,0.436781609,0.566371681,0.771192529 classify_dbn,315,plasma_retinol_1,0.503937008,0.566371681,0.88976378 classify_bnb,315,plasma_retinol_1,0.520547945,0.566371681,0.919092466 classify_svm,316,pm10_1,0.520547945,0.642533937,0.810148563 classify_sgd,316,pm10_1,0.642533937,0.642533937,1 classify_rf,316,pm10_1,0.564885496,0.642533937,0.879152779 classify_pa,316,pm10_1,0.537142857,0.642533937,0.835975855 classify_mlp,316,pm10_1,0.642533937,0.642533937,1 classify_logreg,316,pm10_1,0.528301887,0.642533937,0.822216317 classify_knn,316,pm10_1,0.613333333,0.642533937,0.95455399 classify_gp,316,pm10_1,0.583333333,0.642533937,0.90786385 classify_gnb,316,pm10_1,0.510344828,0.642533937,0.794269063 classify_et,316,pm10_1,0.565789474,0.642533937,0.880559674 classify_dbn,316,pm10_1,0.642533937,0.642533937,1 classify_svm,317,pol_1,0.508946322,0.993152918,0.512455144 classify_sgd,317,pol_1,0.850362558,0.993152918,0.856225202 classify_rf,317,pol_1,0.865414228,0.993152918,0.871380643 classify_pa,317,pol_1,0.683882458,0.993152918,0.68859734 classify_mlp,317,pol_1,0.993152918,0.993152918,1 classify_logreg,317,pol_1,0.771860987,0.993152918,0.777182418 classify_knn,317,pol_1,0.955792191,0.993152918,0.962381697 classify_et,317,pol_1,0,0.993152918,0 classify_dt,317,pol_1,0.925696594,0.993152918,0.932078613 classify_dbn,317,pol_1,0.989549314,0.993152918,0.996371552 classify_sgd,318,pollen_1,0.664739884,0.664739884,1 classify_pa,318,pollen_1,0.265971317,0.664739884,0.400113372 classify_mlp,318,pollen_1,0.664739884,0.664739884,1 classify_logreg,318,pollen_1,0.476527901,0.664739884,0.716863712 classify_knn,318,pollen_1,0.507666099,0.664739884,0.763706392 classify_gp,318,pollen_1,0.664739884,0.664739884,1 classify_dt,318,pollen_1,0.652439024,0.664739884,0.981495228 classify_dbn,318,pollen_1,0.664739884,0.664739884,1 classify_bnb,318,pollen_1,0.470483005,0.664739884,0.707770086 classify_svm,319,pollution_1,0.636363636,0.875,0.727272727 classify_sgd,319,pollution_1,0.875,0.875,1 classify_rf,319,pollution_1,0.875,0.875,1 classify_pa,319,pollution_1,0.736842105,0.875,0.842105263 classify_mnb,319,pollution_1,0.875,0.875,1 classify_mlp,319,pollution_1,0.842105263,0.875,0.962406015 classify_logreg,319,pollution_1,0.631578947,0.875,0.721804511 classify_knn,319,pollution_1,0.857142857,0.875,0.979591837 classify_gp,319,pollution_1,0.615384615,0.875,0.703296703 classify_gnb,319,pollution_1,0.705882353,0.875,0.806722689 classify_dt,319,pollution_1,0.857142857,0.875,0.979591837 classify_dbn,319,pollution_1,0.875,0.875,1 classify_bnb,319,pollution_1,0.777777778,0.875,0.888888889 classify_svm,321,prnn_fglass_1,0.764705882,0.878048781,0.870915033 classify_sgd,321,prnn_fglass_1,0.757894737,0.878048781,0.863157895 classify_rf,321,prnn_fglass_1,0.870588235,0.878048781,0.991503268 classify_pa,321,prnn_fglass_1,0.722222222,0.878048781,0.822530864 classify_mnb,321,prnn_fglass_1,0.75,0.878048781,0.854166667 classify_mlp,321,prnn_fglass_1,0.829268293,0.878048781,0.944444444 classify_logreg,321,prnn_fglass_1,0.59375,0.878048781,0.676215278 classify_knn,321,prnn_fglass_1,0.873563218,0.878048781,0.994891443 classify_gp,321,prnn_fglass_1,0.878048781,0.878048781,1 classify_gnb,321,prnn_fglass_1,0.542372881,0.878048781,0.617702448 classify_dt,321,prnn_fglass_1,0.823529412,0.878048781,0.937908497 classify_dbn,321,prnn_fglass_1,0.810126582,0.878048781,0.922644163 classify_bnb,321,prnn_fglass_1,0.675675676,0.878048781,0.76951952 classify_svm,322,prnn_synth_1,0.648648649,0.868421053,0.746928747 classify_sgd,322,prnn_synth_1,0.814814815,0.868421053,0.938271605 classify_rf,322,prnn_synth_1,0.811594203,0.868421053,0.934563022 classify_pa,322,prnn_synth_1,0.835443038,0.868421053,0.962025317 classify_mlp,322,prnn_synth_1,0.868421053,0.868421053,1 classify_logreg,322,prnn_synth_1,0.815789474,0.868421053,0.939393939 classify_knn,322,prnn_synth_1,0.857142857,0.868421053,0.987012987 classify_gp,322,prnn_synth_1,0.868421053,0.868421053,1 classify_gnb,322,prnn_synth_1,0.789473684,0.868421053,0.909090909 classify_dt,322,prnn_synth_1,0.788732394,0.868421053,0.908237303 classify_dbn,322,prnn_synth_1,0.846153846,0.868421053,0.974358974 classify_svm,324,puma32H_1,0.652841145,0.909768212,0.717590631 classify_sgd,324,puma32H_1,0.675712347,0.909768212,0.742730224 classify_rf,324,puma32H_1,0.664487127,0.909768212,0.730391674 classify_pa,324,puma32H_1,0.596161699,0.909768212,0.655289656 classify_mlp,324,puma32H_1,0.909768212,0.909768212,1 classify_logreg,324,puma32H_1,0.655913979,0.909768212,0.720968231 classify_knn,324,puma32H_1,0.635646032,0.909768212,0.698690088 classify_gnb,324,puma32H_1,0.639564124,0.909768212,0.702996781 classify_et,324,puma32H_1,0.641429179,0.909768212,0.705046814 classify_dt,324,puma32H_1,0.879175258,0.909768212,0.966372804 classify_dbn,324,puma32H_1,0.857142857,0.909768212,0.942155206 classify_bnb,324,puma32H_1,0.660849772,0.909768212,0.726393562 classify_svm,325,puma8NH_1,0.826688365,0.835770999,0.989132628 classify_sgd,325,puma8NH_1,0.830769231,0.835770999,0.994015385 classify_rf,325,puma8NH_1,0.790123457,0.835770999,0.945382716 classify_pa,325,puma8NH_1,0.82097501,0.835770999,0.9822966 classify_mlp,325,puma8NH_1,0.834789846,0.835770999,0.998826051 classify_logreg,325,puma8NH_1,0,0.835770999,0 classify_knn,325,puma8NH_1,0.808493263,0.835770999,0.967362189 classify_et,325,puma8NH_1,0.827302632,0.835770999,0.989867599 classify_dt,325,puma8NH_1,0.787954831,0.835770999,0.942787955 classify_dbn,325,puma8NH_1,0.835770999,0.835770999,1 classify_bnb,325,puma8NH_1,0.727566694,0.835770999,0.870533549 classify_svm,326,pwLinear_1,0,0.953846154,0 classify_sgd,326,pwLinear_1,0.923076923,0.953846154,0.967741936 classify_rf,326,pwLinear_1,0.9375,0.953846154,0.982862903 classify_pa,326,pwLinear_1,0.920634921,0.953846154,0.965181772 classify_mlp,326,pwLinear_1,0.9375,0.953846154,0.982862903 classify_logreg,326,pwLinear_1,0.935483871,0.953846154,0.98074922 classify_knn,326,pwLinear_1,0.953846154,0.953846154,1 classify_gp,326,pwLinear_1,0.888888889,0.953846154,0.931899642 classify_gnb,326,pwLinear_1,0.84375,0.953846154,0.884576613 classify_et,326,pwLinear_1,0.870967742,0.953846154,0.913111342 classify_dbn,326,pwLinear_1,0.935483871,0.953846154,0.98074922 classify_svm,327,pyrim_1,0.888888889,0.941176471,0.944444444 classify_sgd,327,pyrim_1,0.941176471,0.941176471,1 classify_rf,327,pyrim_1,0.823529412,0.941176471,0.875 classify_pa,327,pyrim_1,0.888888889,0.941176471,0.944444444 classify_mlp,327,pyrim_1,0.941176471,0.941176471,1 classify_logreg,327,pyrim_1,0.888888889,0.941176471,0.944444444 classify_knn,327,pyrim_1,0.888888889,0.941176471,0.944444444 classify_gp,327,pyrim_1,0.823529412,0.941176471,0.875 classify_et,327,pyrim_1,0.875,0.941176471,0.9296875 classify_dbn,327,pyrim_1,0.842105263,0.941176471,0.894736842 classify_svm,328,qsar-biodeg_1,0.586872587,0.869918699,0.674629235 classify_sgd,328,qsar-biodeg_1,0.814814815,0.869918699,0.936656282 classify_rf,328,qsar-biodeg_1,0.746666667,0.869918699,0.858317757 classify_pa,328,qsar-biodeg_1,0.653846154,0.869918699,0.751617541 classify_mlp,328,qsar-biodeg_1,0.869918699,0.869918699,1 classify_logreg,328,qsar-biodeg_1,0.755852843,0.869918699,0.868877567 classify_knn,328,qsar-biodeg_1,0.826771653,0.869918699,0.95040106 classify_gp,328,qsar-biodeg_1,0.689320388,0.869918699,0.792396334 classify_gnb,328,qsar-biodeg_1,0.692082111,0.869918699,0.795571025 classify_et,328,qsar-biodeg_1,0.59139785,0.869918699,0.679831173 classify_dt,328,qsar-biodeg_1,0.726495727,0.869918699,0.835130601 classify_dbn,328,qsar-biodeg_1,0.822033898,0.869918699,0.944954855 classify_svm,329,quake_1,0.62749213,0.62749213,1 classify_sgd,329,quake_1,0.62749213,0.62749213,1 classify_rf,329,quake_1,0.145348837,0.62749213,0.231634518 classify_mlp,329,quake_1,0.62749213,0.62749213,1 classify_logreg,329,quake_1,0.514657981,0.62749213,0.820182367 classify_knn,329,quake_1,0.465608466,0.62749213,0.742014829 classify_gp,329,quake_1,0.44288225,0.62749213,0.705797297 classify_gnb,329,quake_1,0.139534884,0.62749213,0.222369137 classify_et,329,quake_1,0.074534162,0.62749213,0.11878103 classify_dt,329,quake_1,0.314350797,0.62749213,0.500963729 classify_dbn,329,quake_1,0.17877095,0.62749213,0.284897517 classify_bnb,329,quake_1,0,0.62749213,0 classify_svm,330,quake_2,0.581344902,0.581344902,1 classify_sgd,330,quake_2,0.581344902,0.581344902,1 classify_mlp,330,quake_2,0.581344902,0.581344902,1 classify_logreg,330,quake_2,0.48534202,0.581344902,0.834860713 classify_knn,330,quake_2,0.461538462,0.581344902,0.79391504 classify_gp,330,quake_2,0.455516014,0.581344902,0.783555532 classify_gnb,330,quake_2,0.258064516,0.581344902,0.443909485 classify_dt,330,quake_2,0.412955466,0.581344902,0.710345036 classify_dbn,330,quake_2,0,0.581344902,0 classify_svm,331,qualitative-bankruptcy_1,0.843373494,1,0.843373494 classify_sgd,331,qualitative-bankruptcy_1,0.780487805,1,0.780487805 classify_rf,331,qualitative-bankruptcy_1,0.989690722,1,0.989690722 classify_mnb,331,qualitative-bankruptcy_1,0.636363636,1,0.636363636 classify_mlp,331,qualitative-bankruptcy_1,1,1,1 classify_logreg,331,qualitative-bankruptcy_1,0.688888889,1,0.688888889 classify_knn,331,qualitative-bankruptcy_1,0.989473684,1,0.989473684 classify_gp,331,qualitative-bankruptcy_1,0.989473684,1,0.989473684 classify_gnb,331,qualitative-bankruptcy_1,0.989690722,1,0.989690722 classify_et,331,qualitative-bankruptcy_1,1,1,1 classify_dt,331,qualitative-bankruptcy_1,0.989690722,1,0.989690722 classify_dbn,331,qualitative-bankruptcy_1,1,1,1 classify_svm,332,rabe_131_1,0.75,0.923076923,0.8125 classify_sgd,332,rabe_131_1,0.857142857,0.923076923,0.928571429 classify_rf,332,rabe_131_1,0.8,0.923076923,0.866666667 classify_pa,332,rabe_131_1,0.857142857,0.923076923,0.928571429 classify_mnb,332,rabe_131_1,0.8,0.923076923,0.866666667 classify_mlp,332,rabe_131_1,0.923076923,0.923076923,1 classify_logreg,332,rabe_131_1,0.75,0.923076923,0.8125 classify_knn,332,rabe_131_1,0.857142857,0.923076923,0.928571429 classify_gp,332,rabe_131_1,0.666666667,0.923076923,0.722222222 classify_et,332,rabe_131_1,0.666666667,0.923076923,0.722222222 classify_dt,332,rabe_131_1,0.714285714,0.923076923,0.773809524 classify_dbn,332,rabe_131_1,0.923076923,0.923076923,1 classify_bnb,332,rabe_131_1,0.833333333,0.923076923,0.902777778 classify_svm,333,rabe_148_1,0.620689655,1,0.620689655 classify_sgd,333,rabe_148_1,1,1,1 classify_rf,333,rabe_148_1,1,1,1 classify_pa,333,rabe_148_1,1,1,1 classify_mlp,333,rabe_148_1,1,1,1 classify_logreg,333,rabe_148_1,0.9,1,0.9 classify_knn,333,rabe_148_1,1,1,1 classify_gp,333,rabe_148_1,1,1,1 classify_et,333,rabe_148_1,1,1,1 classify_dt,333,rabe_148_1,1,1,1 classify_dbn,333,rabe_148_1,1,1,1 classify_bnb,333,rabe_148_1,0.875,1,0.875 classify_svm,334,rabe_166_1,0.75,0.909090909,0.825 classify_sgd,334,rabe_166_1,0.666666667,0.909090909,0.733333333 classify_rf,334,rabe_166_1,0.666666667,0.909090909,0.733333333 classify_pa,334,rabe_166_1,0.666666667,0.909090909,0.733333333 classify_mnb,334,rabe_166_1,0,0.909090909,0 classify_mlp,334,rabe_166_1,0.909090909,0.909090909,1 classify_logreg,334,rabe_166_1,0.666666667,0.909090909,0.733333333 classify_knn,334,rabe_166_1,0.75,0.909090909,0.825 classify_gp,334,rabe_166_1,0.666666667,0.909090909,0.733333333 classify_dt,334,rabe_166_1,0.75,0.909090909,0.825 classify_bnb,334,rabe_166_1,0.75,0.909090909,0.825 classify_svm,335,rabe_176_1,0.7,0.7,1 classify_sgd,335,rabe_176_1,0.666666667,0.7,0.952380952 classify_rf,335,rabe_176_1,0.470588235,0.7,0.672268908 classify_mlp,335,rabe_176_1,0.631578947,0.7,0.902255639 classify_logreg,335,rabe_176_1,0.5,0.7,0.714285714 classify_knn,335,rabe_176_1,0.7,0.7,1 classify_gp,335,rabe_176_1,0.555555556,0.7,0.793650794 classify_gnb,335,rabe_176_1,0.555555556,0.7,0.793650794 classify_et,335,rabe_176_1,0.555555556,0.7,0.793650794 classify_dt,335,rabe_176_1,0.470588235,0.7,0.672268908 classify_dbn,335,rabe_176_1,0.6,0.7,0.857142857 classify_bnb,335,rabe_176_1,0.166666667,0.7,0.238095238 classify_svm,336,rabe_265_1,0.625,0.923076923,0.677083333 classify_sgd,336,rabe_265_1,0.769230769,0.923076923,0.833333333 classify_rf,336,rabe_265_1,0.727272727,0.923076923,0.787878788 classify_mnb,336,rabe_265_1,0.666666667,0.923076923,0.722222222 classify_mlp,336,rabe_265_1,0.923076923,0.923076923,1 classify_logreg,336,rabe_265_1,0.75,0.923076923,0.8125 classify_knn,336,rabe_265_1,0.727272727,0.923076923,0.787878788 classify_gp,336,rabe_265_1,0.5,0.923076923,0.541666667 classify_et,336,rabe_265_1,0.769230769,0.923076923,0.833333333 classify_dt,336,rabe_265_1,0.4,0.923076923,0.433333333 classify_dbn,336,rabe_265_1,0.666666667,0.923076923,0.722222222 classify_bnb,336,rabe_265_1,0.588235294,0.923076923,0.637254902 classify_svm,337,rabe_266_1,0.944444444,1,0.944444444 classify_sgd,337,rabe_266_1,0.944444444,1,0.944444444 classify_pa,337,rabe_266_1,0.918918919,1,0.918918919 classify_mlp,337,rabe_266_1,1,1,1 classify_logreg,337,rabe_266_1,0.914285714,1,0.914285714 classify_knn,337,rabe_266_1,1,1,1 classify_gp,337,rabe_266_1,0.944444444,1,0.944444444 classify_gnb,337,rabe_266_1,0.914285714,1,0.914285714 classify_et,337,rabe_266_1,0.971428571,1,0.971428571 classify_dbn,337,rabe_266_1,0.944444444,1,0.944444444 classify_svm,338,rabe_97_1,0.8,1,0.8 classify_sgd,338,rabe_97_1,0.909090909,1,0.909090909 classify_pa,338,rabe_97_1,0.8,1,0.8 classify_mlp,338,rabe_97_1,0.909090909,1,0.909090909 classify_logreg,338,rabe_97_1,0,1,0 classify_knn,338,rabe_97_1,0.909090909,1,0.909090909 classify_gp,338,rabe_97_1,0.909090909,1,0.909090909 classify_et,338,rabe_97_1,1,1,1 classify_dt,338,rabe_97_1,0.909090909,1,0.909090909 classify_bnb,338,rabe_97_1,0.8,1,0.8 classify_svm,339,ringnorm_1,0.888426311,0.967741936,0.918040522 classify_sgd,339,ringnorm_1,0.76793249,0.967741936,0.793530239 classify_rf,339,ringnorm_1,0.837264151,0.967741936,0.865172956 classify_pa,339,ringnorm_1,0.711094837,0.967741936,0.734797998 classify_mlp,339,ringnorm_1,0.967741936,0.967741936,1 classify_logreg,339,ringnorm_1,0.765327696,0.967741936,0.790838619 classify_knn,339,ringnorm_1,0.765217391,0.967741936,0.790724638 classify_et,339,ringnorm_1,0.938600258,0.967741936,0.969886933 classify_dt,339,ringnorm_1,0.805702648,0.967741936,0.832559403 classify_dbn,339,ringnorm_1,0.963855422,0.967741936,0.995983936 classify_bnb,339,ringnorm_1,0.567708333,0.967741936,0.586631944 classify_svm,340,rmftsa_ctoarrivals_1,0.532110092,0.9,0.591233435 classify_sgd,340,rmftsa_ctoarrivals_1,0.725,0.9,0.805555556 classify_rf,340,rmftsa_ctoarrivals_1,0.885245902,0.9,0.983606557 classify_mnb,340,rmftsa_ctoarrivals_1,0.333333333,0.9,0.37037037 classify_mlp,340,rmftsa_ctoarrivals_1,0.9,0.9,1 classify_logreg,340,rmftsa_ctoarrivals_1,0.754098361,0.9,0.837887067 classify_knn,340,rmftsa_ctoarrivals_1,0.9,0.9,1 classify_gp,340,rmftsa_ctoarrivals_1,0.842105263,0.9,0.935672515 classify_et,340,rmftsa_ctoarrivals_1,0.892857143,0.9,0.992063492 classify_dt,340,rmftsa_ctoarrivals_1,0.807017544,0.9,0.89668616 classify_dbn,340,rmftsa_ctoarrivals_1,0.847457627,0.9,0.941619586 classify_bnb,340,rmftsa_ctoarrivals_1,0.666666667,0.9,0.740740741 classify_svm,341,rmftsa_ladata_1,0.884353742,0.910344828,0.971449186 classify_sgd,341,rmftsa_ladata_1,0.893617021,0.910344828,0.981624758 classify_rf,341,rmftsa_ladata_1,0.855072464,0.910344828,0.939284146 classify_pa,341,rmftsa_ladata_1,0.790697674,0.910344828,0.868569415 classify_mnb,341,rmftsa_ladata_1,0.814285714,0.910344828,0.894480519 classify_mlp,341,rmftsa_ladata_1,0.910344828,0.910344828,1 classify_logreg,341,rmftsa_ladata_1,0.871428571,0.910344828,0.957251082 classify_knn,341,rmftsa_ladata_1,0.877697842,0.910344828,0.964137781 classify_gp,341,rmftsa_ladata_1,0.808510638,0.910344828,0.888136686 classify_gnb,341,rmftsa_ladata_1,0.820143885,0.910344828,0.900915631 classify_et,341,rmftsa_ladata_1,0.863636364,0.910344828,0.94869146 classify_dt,341,rmftsa_ladata_1,0.418181818,0.910344828,0.459366391 classify_dbn,341,rmftsa_ladata_1,0.887323944,0.910344828,0.974711908 classify_svm,342,rmftsa_sleepdata_1,0.683098592,0.767741935,0.889750266 classify_sgd,342,rmftsa_sleepdata_1,0.725663717,0.767741935,0.945192236 classify_rf,342,rmftsa_sleepdata_1,0.764525994,0.767741935,0.995811169 classify_pa,342,rmftsa_sleepdata_1,0.65795207,0.767741935,0.856996393 classify_mnb,342,rmftsa_sleepdata_1,0.561056106,0.767741935,0.730787364 classify_mlp,342,rmftsa_sleepdata_1,0.767741935,0.767741935,1 classify_logreg,342,rmftsa_sleepdata_1,0.656934307,0.767741935,0.855670735 classify_knn,342,rmftsa_sleepdata_1,0.750788644,0.767741935,0.977917981 classify_gp,342,rmftsa_sleepdata_1,0.757763975,0.767741935,0.987003497 classify_et,342,rmftsa_sleepdata_1,0.70877193,0.767741935,0.923190329 classify_dt,342,rmftsa_sleepdata_1,0.749140893,0.767741935,0.975771752 classify_dbn,342,rmftsa_sleepdata_1,0.75483871,0.767741935,0.983193277 classify_svm,343,rmftsa_sleepdata_2,0.072783306,0.291999022,0.249258734 classify_sgd,343,rmftsa_sleepdata_2,0.077512672,0.291999022,0.265455246 classify_rf,343,rmftsa_sleepdata_2,0.034678271,0.291999022,0.1187616 classify_pa,343,rmftsa_sleepdata_2,0.023401594,0.291999022,0.080142715 classify_mnb,343,rmftsa_sleepdata_2,0.100725981,0.291999022,0.344953146 classify_mlp,343,rmftsa_sleepdata_2,0.242469179,0.291999022,0.830376683 classify_logreg,343,rmftsa_sleepdata_2,0.036809141,0.291999022,0.126059124 classify_knn,343,rmftsa_sleepdata_2,0.291999022,0.291999022,1 classify_gp,343,rmftsa_sleepdata_2,-0.004135496,0.291999022,-0.014162706 classify_dbn,343,rmftsa_sleepdata_2,0.012286873,0.291999022,0.042078473 classify_svm,344,robot-failures-lp1_1,-0.003651044,0.881069179,-0.004143879 classify_sgd,344,robot-failures-lp1_1,0.221729294,0.881069179,0.251659346 classify_rf,344,robot-failures-lp1_1,0.881069179,0.881069179,1 classify_pa,344,robot-failures-lp1_1,0.283929333,0.881069179,0.322255436 classify_mlp,344,robot-failures-lp1_1,0.648241937,0.881069179,0.735744652 classify_logreg,344,robot-failures-lp1_1,0.144687217,0.881069179,0.164217772 classify_knn,344,robot-failures-lp1_1,0.81873173,0.881069179,0.929247952 classify_gp,344,robot-failures-lp1_1,-0.083662949,0.881069179,-0.094956164 classify_dbn,344,robot-failures-lp1_1,-0.009998426,0.881069179,-0.01134806 classify_svm,346,robot-failures-lp4_1,0.478585578,0.808123926,0.592218053 classify_sgd,346,robot-failures-lp4_1,0.472439789,0.808123926,0.584613045 classify_rf,346,robot-failures-lp4_1,0.38677027,0.808123926,0.478602672 classify_pa,346,robot-failures-lp4_1,0.309948994,0.808123926,0.383541415 classify_mlp,346,robot-failures-lp4_1,0.753992779,0.808123926,0.93301628 classify_logreg,346,robot-failures-lp4_1,0.242817465,0.808123926,0.30047058 classify_knn,346,robot-failures-lp4_1,0.595585259,0.808123926,0.736997433 classify_gp,346,robot-failures-lp4_1,0.113867522,0.808123926,0.14090354 classify_dt,346,robot-failures-lp4_1,0.694809977,0.808123926,0.85978147 classify_dbn,346,robot-failures-lp4_1,0.808123926,0.808123926,1 classify_svm,347,sa-heart_1,0.523364486,0.727272727,0.719626168 classify_sgd,347,sa-heart_1,0.647619048,0.727272727,0.89047619 classify_rf,347,sa-heart_1,0.481927711,0.727272727,0.662650602 classify_pa,347,sa-heart_1,0.568421053,0.727272727,0.781578947 classify_mnb,347,sa-heart_1,0.509803922,0.727272727,0.700980392 classify_mlp,347,sa-heart_1,0.666666667,0.727272727,0.916666667 classify_logreg,347,sa-heart_1,0.727272727,0.727272727,1 classify_knn,347,sa-heart_1,0.494623656,0.727272727,0.680107527 classify_gp,347,sa-heart_1,0.447368421,0.727272727,0.615131579 classify_gnb,347,sa-heart_1,0.685714286,0.727272727,0.942857143 classify_et,347,sa-heart_1,0.034482759,0.727272727,0.047413793 classify_dt,347,sa-heart_1,0.289156626,0.727272727,0.397590361 classify_dbn,347,sa-heart_1,0.593406593,0.727272727,0.815934066 classify_bnb,347,sa-heart_1,0.633663366,0.727272727,0.871287129 classify_svm,348,scene_1,0.623306233,0.971428571,0.641638769 classify_sgd,348,scene_1,0.971428571,0.971428571,1 classify_rf,348,scene_1,0,0.971428571,0 classify_pa,348,scene_1,0.959677419,0.971428571,0.987903226 classify_mnb,348,scene_1,0.747404844,0.971428571,0.76938734 classify_mlp,348,scene_1,0.963562753,0.971428571,0.991902834 classify_logreg,348,scene_1,0.88973384,0.971428571,0.915902483 classify_knn,348,scene_1,0.772727273,0.971428571,0.795454545 classify_gp,348,scene_1,0.844036697,0.971428571,0.868861306 classify_gnb,348,scene_1,0.670553936,0.971428571,0.690276111 classify_dbn,348,scene_1,0.042253521,0.971428571,0.043496272 classify_bnb,348,scene_1,0.563968668,0.971428571,0.580555982 classify_rf,349,schlvote_1,0.8,1,0.8 classify_mlp,349,schlvote_1,1,1,1 classify_logreg,349,schlvote_1,1,1,1 classify_knn,349,schlvote_1,1,1,1 classify_gp,349,schlvote_1,1,1,1 classify_gnb,349,schlvote_1,0.956521739,1,0.956521739 classify_et,349,schlvote_1,1,1,1 classify_dt,349,schlvote_1,0.909090909,1,0.909090909 classify_bnb,349,schlvote_1,1,1,1 classify_svm,350,seeds_1,0.950923806,0.95319899,0.997613107 classify_sgd,350,seeds_1,0.942167172,0.95319899,0.988426531 classify_rf,350,seeds_1,0.901891719,0.95319899,0.946173599 classify_pa,350,seeds_1,0.942167172,0.95319899,0.988426531 classify_mlp,350,seeds_1,0.95319899,0.95319899,1 classify_logreg,350,seeds_1,0.912457661,0.95319899,0.957258316 classify_knn,350,seeds_1,0.945003941,0.95319899,0.991402582 classify_gp,350,seeds_1,0.793570004,0.95319899,0.832533408 classify_dt,350,seeds_1,0.793797108,0.95319899,0.832771663 classify_dbn,350,seeds_1,0.897044596,0.95319899,0.941088488 classify_svm,351,segment_1,0.993355482,1,0.993355482 classify_sgd,351,segment_1,1,1,1 classify_rf,351,segment_1,0.997514499,1,0.997514499 classify_pa,351,segment_1,0.999170125,1,0.999170125 classify_mlp,351,segment_1,0.999170125,1,0.999170125 classify_logreg,351,segment_1,0.955996549,1,0.955996549 classify_knn,351,segment_1,0.997514499,1,0.997514499 classify_gp,351,segment_1,0.982055465,1,0.982055465 classify_et,351,segment_1,0.995864351,1,0.995864351 classify_dt,351,segment_1,0.995850622,1,0.995850622 classify_dbn,351,segment_1,0.999170125,1,0.999170125 classify_svm,352,seismic-bumps_1,0.872934454,0.957007191,0.91215036 classify_sgd,352,seismic-bumps_1,0.940567189,0.957007191,0.982821444 classify_rf,352,seismic-bumps_1,0.927242631,0.957007191,0.968898289 classify_pa,352,seismic-bumps_1,0.957007191,0.957007191,1 classify_mnb,352,seismic-bumps_1,0.753007302,0.957007191,0.786835573 classify_mlp,352,seismic-bumps_1,0.957007191,0.957007191,1 classify_logreg,352,seismic-bumps_1,0.957007191,0.957007191,1 classify_knn,352,seismic-bumps_1,0.936754543,0.957007191,0.978837517 classify_gp,352,seismic-bumps_1,0.875530121,0.957007191,0.914862635 classify_et,352,seismic-bumps_1,0.862255241,0.957007191,0.900991391 classify_dt,352,seismic-bumps_1,0.890134682,0.957007191,0.930123295 classify_dbn,352,seismic-bumps_1,0.915356933,0.957007191,0.956478636 classify_bnb,352,seismic-bumps_1,0.590045568,0.957007191,0.616552909 classify_svm,353,sensory_1,0.412903226,0.617886179,0.668251273 classify_sgd,353,sensory_1,0.616,0.617886179,0.996947368 classify_rf,353,sensory_1,0.576271186,0.617886179,0.93264942 classify_pa,353,sensory_1,0.532608696,0.617886179,0.861985126 classify_mnb,353,sensory_1,0.475609756,0.617886179,0.769736842 classify_mlp,353,sensory_1,0.617886179,0.617886179,1 classify_logreg,353,sensory_1,0.512195122,0.617886179,0.828947368 classify_knn,353,sensory_1,0.533333333,0.617886179,0.863157895 classify_gp,353,sensory_1,0.377358491,0.617886179,0.610724926 classify_gnb,353,sensory_1,0.389380531,0.617886179,0.630181649 classify_et,353,sensory_1,0,0.617886179,0 classify_dt,353,sensory_1,0.510067114,0.617886179,0.825503356 classify_dbn,353,sensory_1,0.552238806,0.617886179,0.89375491 classify_bnb,353,sensory_1,0.358974359,0.617886179,0.58097166 classify_svm,354,servo_1,0.875,0.903225807,0.96875 classify_sgd,354,servo_1,0.903225807,0.903225807,1 classify_rf,354,servo_1,0.8,0.903225807,0.885714286 classify_pa,354,servo_1,0.875,0.903225807,0.96875 classify_mlp,354,servo_1,0.857142857,0.903225807,0.948979592 classify_logreg,354,servo_1,0.651162791,0.903225807,0.720930233 classify_knn,354,servo_1,0.857142857,0.903225807,0.948979592 classify_gp,354,servo_1,0,0.903225807,0 classify_et,354,servo_1,0.8,0.903225807,0.885714286 classify_dbn,354,servo_1,0.903225807,0.903225807,1 classify_bnb,354,servo_1,0.875,0.903225807,0.96875 classify_sgd,355,skin-segmentation_1,0.956464462,0.999699919,0.956751566 classify_rf,355,skin-segmentation_1,0.986581658,0.999699919,0.986877802 classify_pa,355,skin-segmentation_1,0.954556295,0.999699919,0.954842825 classify_mnb,355,skin-segmentation_1,0.958721205,0.999699919,0.959008986 classify_mlp,355,skin-segmentation_1,0.999674195,0.999699919,0.999974268 classify_logreg,355,skin-segmentation_1,0.95718474,0.999699919,0.95747206 classify_knn,355,skin-segmentation_1,0.999699919,0.999699919,1 classify_gnb,355,skin-segmentation_1,0.954010246,0.999699919,0.954296613 classify_dt,355,skin-segmentation_1,0.953534154,0.999699919,0.953820377 classify_dbn,355,skin-segmentation_1,0,0.999699919,0 classify_bnb,355,skin-segmentation_1,0.930515514,0.999699919,0.930794828 classify_svm,356,sleuth_case1102_1,0.222222222,0.75,0.296296296 classify_sgd,356,sleuth_case1102_1,0.75,0.75,1 classify_pa,356,sleuth_case1102_1,0.571428571,0.75,0.761904762 classify_mlp,356,sleuth_case1102_1,0.571428571,0.75,0.761904762 classify_logreg,356,sleuth_case1102_1,0,0.75,0 classify_knn,356,sleuth_case1102_1,0.545454545,0.75,0.727272727 classify_gp,356,sleuth_case1102_1,0.666666667,0.75,0.888888889 classify_et,356,sleuth_case1102_1,0,0.75,0 classify_dt,356,sleuth_case1102_1,0.222222222,0.75,0.296296296 classify_svm,357,sleuth_case1201_1,0.952380952,1,0.952380952 classify_sgd,357,sleuth_case1201_1,1,1,1 classify_rf,357,sleuth_case1201_1,1,1,1 classify_mnb,357,sleuth_case1201_1,1,1,1 classify_mlp,357,sleuth_case1201_1,1,1,1 classify_logreg,357,sleuth_case1201_1,0.956521739,1,0.956521739 classify_knn,357,sleuth_case1201_1,1,1,1 classify_gp,357,sleuth_case1201_1,0.909090909,1,0.909090909 classify_gnb,357,sleuth_case1201_1,1,1,1 classify_et,357,sleuth_case1201_1,1,1,1 classify_dt,357,sleuth_case1201_1,1,1,1 classify_dbn,357,sleuth_case1201_1,1,1,1 classify_bnb,357,sleuth_case1201_1,0.956521739,1,0.956521739 classify_svm,358,sleuth_case1202_1,0.761904762,0.857142857,0.888888889 classify_sgd,358,sleuth_case1202_1,0.833333333,0.857142857,0.972222222 classify_rf,358,sleuth_case1202_1,0.8,0.857142857,0.933333333 classify_pa,358,sleuth_case1202_1,0.666666667,0.857142857,0.777777778 classify_mnb,358,sleuth_case1202_1,0.75,0.857142857,0.875 classify_mlp,358,sleuth_case1202_1,0.857142857,0.857142857,1 classify_logreg,358,sleuth_case1202_1,0.782608696,0.857142857,0.913043478 classify_knn,358,sleuth_case1202_1,0.761904762,0.857142857,0.888888889 classify_gp,358,sleuth_case1202_1,0.631578947,0.857142857,0.736842105 classify_gnb,358,sleuth_case1202_1,0.782608696,0.857142857,0.913043478 classify_et,358,sleuth_case1202_1,0.782608696,0.857142857,0.913043478 classify_dt,358,sleuth_case1202_1,0.75,0.857142857,0.875 classify_dbn,358,sleuth_case1202_1,0.818181818,0.857142857,0.954545455 classify_bnb,358,sleuth_case1202_1,0.818181818,0.857142857,0.954545455 classify_svm,359,sleuth_case2002_1,0.615384615,0.680851064,0.903846154 classify_sgd,359,sleuth_case2002_1,0.654545455,0.680851064,0.961363636 classify_rf,359,sleuth_case2002_1,0.52173913,0.680851064,0.766304348 classify_pa,359,sleuth_case2002_1,0.680851064,0.680851064,1 classify_mnb,359,sleuth_case2002_1,0.641509434,0.680851064,0.942216981 classify_mlp,359,sleuth_case2002_1,0.638297872,0.680851064,0.9375 classify_logreg,359,sleuth_case2002_1,0.653061225,0.680851064,0.959183674 classify_knn,359,sleuth_case2002_1,0.52,0.680851064,0.76375 classify_gp,359,sleuth_case2002_1,0.653061225,0.680851064,0.959183674 classify_et,359,sleuth_case2002_1,0.64,0.680851064,0.94 classify_dt,359,sleuth_case2002_1,0.62295082,0.680851064,0.914959016 classify_dbn,359,sleuth_case2002_1,0.666666667,0.680851064,0.979166667 classify_svm,360,sleuth_ex1221_1,0,0.923076923,0 classify_sgd,360,sleuth_ex1221_1,0.923076923,0.923076923,1 classify_rf,360,sleuth_ex1221_1,0.833333333,0.923076923,0.902777778 classify_pa,360,sleuth_ex1221_1,0.833333333,0.923076923,0.902777778 classify_mnb,360,sleuth_ex1221_1,0.769230769,0.923076923,0.833333333 classify_mlp,360,sleuth_ex1221_1,0.923076923,0.923076923,1 classify_logreg,360,sleuth_ex1221_1,0.8,0.923076923,0.866666667 classify_knn,360,sleuth_ex1221_1,0.769230769,0.923076923,0.833333333 classify_gp,360,sleuth_ex1221_1,0,0.923076923,0 classify_et,360,sleuth_ex1221_1,0.769230769,0.923076923,0.833333333 classify_dt,360,sleuth_ex1221_1,0.545454545,0.923076923,0.590909091 classify_svm,361,sleuth_ex1605_1,0.888888889,0.888888889,1 classify_sgd,361,sleuth_ex1605_1,0.857142857,0.888888889,0.964285714 classify_rf,361,sleuth_ex1605_1,0.727272727,0.888888889,0.818181818 classify_mlp,361,sleuth_ex1605_1,0.888888889,0.888888889,1 classify_logreg,361,sleuth_ex1605_1,0.842105263,0.888888889,0.947368421 classify_knn,361,sleuth_ex1605_1,0.8,0.888888889,0.9 classify_gp,361,sleuth_ex1605_1,0.761904762,0.888888889,0.857142857 classify_gnb,361,sleuth_ex1605_1,0.8,0.888888889,0.9 classify_et,361,sleuth_ex1605_1,0.761904762,0.888888889,0.857142857 classify_dt,361,sleuth_ex1605_1,0.727272727,0.888888889,0.818181818 classify_dbn,361,sleuth_ex1605_1,0.857142857,0.888888889,0.964285714 classify_svm,362,sleuth_ex1714_1,0,0.833333333,0 classify_sgd,362,sleuth_ex1714_1,0.769230769,0.833333333,0.923076923 classify_rf,362,sleuth_ex1714_1,0.769230769,0.833333333,0.923076923 classify_pa,362,sleuth_ex1714_1,0.769230769,0.833333333,0.923076923 classify_mnb,362,sleuth_ex1714_1,0.666666667,0.833333333,0.8 classify_mlp,362,sleuth_ex1714_1,0.769230769,0.833333333,0.923076923 classify_logreg,362,sleuth_ex1714_1,0.769230769,0.833333333,0.923076923 classify_knn,362,sleuth_ex1714_1,0.769230769,0.833333333,0.923076923 classify_gp,362,sleuth_ex1714_1,0.833333333,0.833333333,1 classify_et,362,sleuth_ex1714_1,0.769230769,0.833333333,0.923076923 classify_bnb,362,sleuth_ex1714_1,0.666666667,0.833333333,0.8 classify_svm,363,sleuth_ex2015_1,0,0.842105263,0 classify_sgd,363,sleuth_ex2015_1,0.842105263,0.842105263,1 classify_rf,363,sleuth_ex2015_1,0.7,0.842105263,0.83125 classify_pa,363,sleuth_ex2015_1,0.705882353,0.842105263,0.838235294 classify_mnb,363,sleuth_ex2015_1,0.666666667,0.842105263,0.791666667 classify_mlp,363,sleuth_ex2015_1,0.842105263,0.842105263,1 classify_logreg,363,sleuth_ex2015_1,0.705882353,0.842105263,0.838235294 classify_knn,363,sleuth_ex2015_1,0.818181818,0.842105263,0.971590909 classify_gp,363,sleuth_ex2015_1,0.761904762,0.842105263,0.904761905 classify_gnb,363,sleuth_ex2015_1,0.761904762,0.842105263,0.904761905 classify_et,363,sleuth_ex2015_1,0.8,0.842105263,0.95 classify_dt,363,sleuth_ex2015_1,0.5,0.842105263,0.59375 classify_dbn,363,sleuth_ex2015_1,0.8,0.842105263,0.95 classify_bnb,363,sleuth_ex2015_1,0.666666667,0.842105263,0.791666667 classify_svm,365,sleuth_ex2016_1,0,0.740740741,0 classify_sgd,365,sleuth_ex2016_1,0.736842105,0.740740741,0.994736842 classify_pa,365,sleuth_ex2016_1,0.72,0.740740741,0.972 classify_mnb,365,sleuth_ex2016_1,0.4,0.740740741,0.54 classify_mlp,365,sleuth_ex2016_1,0.740740741,0.740740741,1 classify_logreg,365,sleuth_ex2016_1,0.583333333,0.740740741,0.7875 classify_knn,365,sleuth_ex2016_1,0.692307692,0.740740741,0.934615385 classify_gp,365,sleuth_ex2016_1,0.727272727,0.740740741,0.981818182 classify_et,365,sleuth_ex2016_1,0.692307692,0.740740741,0.934615385 classify_dbn,365,sleuth_ex2016_1,0.695652174,0.740740741,0.939130435 classify_svm,367,socmob_1,0.831578947,0.898203593,0.925824561 classify_sgd,367,socmob_1,0.867052023,0.898203593,0.965317919 classify_rf,367,socmob_1,0.880503145,0.898203593,0.980293501 classify_mlp,367,socmob_1,0.898203593,0.898203593,1 classify_logreg,367,socmob_1,0.829787234,0.898203593,0.923829787 classify_knn,367,socmob_1,0.833333333,0.898203593,0.927777778 classify_gp,367,socmob_1,0.855421687,0.898203593,0.952369478 classify_gnb,367,socmob_1,0.848101266,0.898203593,0.944219409 classify_et,367,socmob_1,0.023809524,0.898203593,0.026507936 classify_dt,367,socmob_1,0.864197531,0.898203593,0.962139918 classify_dbn,367,socmob_1,0.86746988,0.898203593,0.965783133 classify_svm,368,sonar_1,0.788732394,0.931506849,0.846727423 classify_sgd,368,sonar_1,0.861538462,0.931506849,0.924886878 classify_rf,368,sonar_1,0.931506849,0.931506849,1 classify_pa,368,sonar_1,0.838709677,0.931506849,0.900379507 classify_mnb,368,sonar_1,0.823529412,0.931506849,0.884083045 classify_mlp,368,sonar_1,0.927536232,0.931506849,0.995737425 classify_logreg,368,sonar_1,0.766666667,0.931506849,0.823039216 classify_knn,368,sonar_1,0.904109589,0.931506849,0.970588235 classify_gp,368,sonar_1,0.918918919,0.931506849,0.986486486 classify_gnb,368,sonar_1,0.701754386,0.931506849,0.753353973 classify_et,368,sonar_1,0.916666667,0.931506849,0.984068628 classify_dt,368,sonar_1,0.710526316,0.931506849,0.762770898 classify_dbn,368,sonar_1,0.914285714,0.931506849,0.981512605 classify_svm,369,space_ga_1,0.656565657,0.871520343,0.753356662 classify_sgd,369,space_ga_1,0.828789531,0.871520343,0.950969806 classify_rf,369,space_ga_1,0.814049587,0.871520343,0.934056897 classify_pa,369,space_ga_1,0.826222685,0.871520343,0.948024555 classify_mlp,369,space_ga_1,0.871520343,0.871520343,1 classify_logreg,369,space_ga_1,0.852356021,0.871520343,0.978010471 classify_knn,369,space_ga_1,0.837108954,0.871520343,0.960515679 classify_gp,369,space_ga_1,0.037578288,0.871520343,0.043118085 classify_et,369,space_ga_1,0.793442623,0.871520343,0.910412051 classify_dbn,369,space_ga_1,0.857446809,0.871520343,0.983851743 classify_bnb,369,space_ga_1,0.676822633,0.871520343,0.776599926 classify_svm,370,spambase_1,0.8878327,0.925747348,0.959044281 classify_sgd,370,spambase_1,0.889546351,0.925747348,0.960895381 classify_rf,370,spambase_1,0.86036961,0.925747348,0.929378422 classify_pa,370,spambase_1,0.886051081,0.925747348,0.957119761 classify_mlp,370,spambase_1,0.925747348,0.925747348,1 classify_logreg,370,spambase_1,0.89449113,0.925747348,0.966236773 classify_knn,370,spambase_1,0.909272183,0.925747348,0.98220339 classify_gnb,370,spambase_1,0.789265983,0.925747348,0.852571692 classify_et,370,spambase_1,0.769230769,0.925747348,0.830929487 classify_dt,370,spambase_1,0.841085271,0.925747348,0.908547319 classify_dbn,370,spambase_1,0.919583728,0.925747348,0.993342006 classify_svm,371,spectrometer_1,0.971014493,0.989247312,0.981568998 classify_sgd,371,spectrometer_1,0.971428571,0.989247312,0.981987578 classify_pa,371,spectrometer_1,0.929765886,0.989247312,0.939872037 classify_mlp,371,spectrometer_1,0.989247312,0.989247312,1 classify_logreg,371,spectrometer_1,0.730593607,0.989247312,0.738534842 classify_knn,371,spectrometer_1,0.964539007,0.989247312,0.975023127 classify_gp,371,spectrometer_1,0.965277778,0.989247312,0.975769928 classify_gnb,371,spectrometer_1,0.873015873,0.989247312,0.882505176 classify_et,371,spectrometer_1,0.961130742,0.989247312,0.971577815 classify_dt,371,spectrometer_1,0.96350365,0.989247312,0.973976515 classify_dbn,371,spectrometer_1,0.957446809,0.989247312,0.967853839 classify_svm,372,splice_1,0.625718705,0.899925049,0.69530091 classify_sgd,372,splice_1,0.895177898,0.899925049,0.994724948 classify_rf,372,splice_1,0.845438183,0.899925049,0.939453995 classify_pa,372,splice_1,0.806690041,0.899925049,0.896396919 classify_mnb,372,splice_1,0.879540943,0.899925049,0.977349108 classify_mlp,372,splice_1,0.899925049,0.899925049,1 classify_logreg,372,splice_1,0.886399394,0.899925049,0.984970242 classify_knn,372,splice_1,0.843880444,0.899925049,0.937723031 classify_et,372,splice_1,0.866287747,0.899925049,0.962622107 classify_dbn,372,splice_1,0.882862043,0.899925049,0.981039526 classify_svm,373,splice_2,0.873150106,0.944672131,0.924289049 classify_sgd,373,splice_2,0.875960483,0.944672131,0.927264025 classify_rf,373,splice_2,0.944672131,0.944672131,1 classify_pa,373,splice_2,0.840611354,0.944672131,0.889844557 classify_mnb,373,splice_2,0.871287129,0.944672131,0.922316961 classify_mlp,373,splice_2,0.935586061,0.944672131,0.990381774 classify_logreg,373,splice_2,0.878504673,0.944672131,0.929957224 classify_knn,373,splice_2,0.8828125,0.944672131,0.934517354 classify_gnb,373,splice_2,0.864118896,0.944672131,0.914728896 classify_dt,373,splice_2,0.884488449,0.944672131,0.93629146 classify_dbn,373,splice_2,0.924369748,0.944672131,0.97850854 classify_bnb,373,splice_2,0.864749734,0.944672131,0.915396681 classify_svm,374,steel-plates-fault_1,0.932714617,1,0.932714617 classify_sgd,374,steel-plates-fault_1,1,1,1 classify_rf,374,steel-plates-fault_1,0.746323529,1,0.746323529 classify_pa,374,steel-plates-fault_1,0.997542998,1,0.997542998 classify_mlp,374,steel-plates-fault_1,1,1,1 classify_logreg,374,steel-plates-fault_1,0.997542998,1,0.997542998 classify_knn,374,steel-plates-fault_1,0.992592593,1,0.992592593 classify_gp,374,steel-plates-fault_1,0.356687898,1,0.356687898 classify_gnb,374,steel-plates-fault_1,0.995049505,1,0.995049505 classify_et,374,steel-plates-fault_1,0.912037037,1,0.912037037 classify_dt,374,steel-plates-fault_1,0.968973747,1,0.968973747 classify_dbn,374,steel-plates-fault_1,0.997542998,1,0.997542998 classify_svm,375,stock_1,0.972222222,0.982817869,0.989219114 classify_sgd,375,stock_1,0.871428571,0.982817869,0.886663337 classify_rf,375,stock_1,0.929032258,0.982817869,0.945274081 classify_pa,375,stock_1,0.855172414,0.982817869,0.87012298 classify_mnb,375,stock_1,0.702508961,0.982817869,0.714790586 classify_mlp,375,stock_1,0.979166667,0.982817869,0.996284965 classify_logreg,375,stock_1,0.869565217,0.982817869,0.884767407 classify_knn,375,stock_1,0.982817869,0.982817869,1 classify_gp,375,stock_1,0.95035461,0.982817869,0.966969201 classify_et,375,stock_1,0.948453608,0.982817869,0.965034965 classify_dt,375,stock_1,0.960854093,0.982817869,0.977652241 classify_dbn,375,stock_1,0.979310345,0.982817869,0.996431155 classify_bnb,375,stock_1,0.833333333,0.982817869,0.847902098 classify_svm,376,strikes_1,0.712041885,0.965909091,0.737172775 classify_sgd,376,strikes_1,0.666666667,0.965909091,0.690196078 classify_mlp,376,strikes_1,0.965909091,0.965909091,1 classify_logreg,376,strikes_1,0.662857143,0.965909091,0.686252101 classify_knn,376,strikes_1,0.92972973,0.965909091,0.96254372 classify_gp,376,strikes_1,0.748603352,0.965909091,0.775024647 classify_et,376,strikes_1,0.765765766,0.965909091,0.792792793 classify_dbn,376,strikes_1,0.881355932,0.965909091,0.912462612 classify_svm,377,sylva_prior_1,0.859778598,0.967244701,0.888894606 classify_sgd,377,sylva_prior_1,0.958490566,0.967244701,0.99094941 classify_pa,377,sylva_prior_1,0.91372549,0.967244701,0.944668385 classify_mlp,377,sylva_prior_1,0.967244701,0.967244701,1 classify_logreg,377,sylva_prior_1,0.531540848,0.967244701,0.549541235 classify_knn,377,sylva_prior_1,0.939805825,0.967244701,0.971631919 classify_dt,377,sylva_prior_1,0.904483431,0.967244701,0.935113348 classify_dbn,377,sylva_prior_1,0.821256039,0.967244701,0.849067498 classify_svm,378,tae_1,0.11430203,0.699929928,0.163304962 classify_sgd,378,tae_1,0.5,0.699929928,0.714357223 classify_rf,378,tae_1,0.51076402,0.699929928,0.729735933 classify_pa,378,tae_1,0.35826863,0.699929928,0.511863567 classify_mlp,378,tae_1,0.586790311,0.699929928,0.838355794 classify_logreg,378,tae_1,0.501712242,0.699929928,0.716803528 classify_knn,378,tae_1,0.699929928,0.699929928,1 classify_gp,378,tae_1,0.433909405,0.699929928,0.619932635 classify_gnb,378,tae_1,0.42407913,0.699929928,0.60588798 classify_et,378,tae_1,0.519526215,0.699929928,0.742254608 classify_dt,378,tae_1,0.373928811,0.699929928,0.534237494 classify_dbn,378,tae_1,0.412371108,0.699929928,0.58916056 classify_bnb,378,tae_1,0.213943002,0.699929928,0.305663457 classify_svm,379,tae_2,0.835443038,0.898550725,0.929767252 classify_sgd,379,tae_2,0.873239437,0.898550725,0.971830986 classify_rf,379,tae_2,0.865671642,0.898550725,0.963408763 classify_pa,379,tae_2,0.830769231,0.898550725,0.924565757 classify_mnb,379,tae_2,0.62962963,0.898550725,0.700716846 classify_mlp,379,tae_2,0.878787879,0.898550725,0.978005865 classify_logreg,379,tae_2,0.830769231,0.898550725,0.924565757 classify_knn,379,tae_2,0.898550725,0.898550725,1 classify_gp,379,tae_2,0.846153846,0.898550725,0.941687345 classify_gnb,379,tae_2,0.830769231,0.898550725,0.924565757 classify_et,379,tae_2,0.831168831,0.898550725,0.925010473 classify_dt,379,tae_2,0.861538462,0.898550725,0.958808933 classify_dbn,379,tae_2,0.861111111,0.898550725,0.958333333 classify_bnb,379,tae_2,0.830769231,0.898550725,0.924565757 classify_svm,380,teachingAssistant_1,-0.057132905,0.610859106,-0.093528777 classify_sgd,380,teachingAssistant_1,0.51021831,0.610859106,0.835247121 classify_rf,380,teachingAssistant_1,0.610859106,0.610859106,1 classify_pa,380,teachingAssistant_1,0.51387948,0.610859106,0.841240599 classify_mlp,380,teachingAssistant_1,0.555023001,0.610859106,0.908594136 classify_logreg,380,teachingAssistant_1,0.493027587,0.610859106,0.807105243 classify_knn,380,teachingAssistant_1,0.541160887,0.610859106,0.885901318 classify_gp,380,teachingAssistant_1,0.512469486,0.610859106,0.838932385 classify_gnb,380,teachingAssistant_1,0.505556586,0.610859106,0.827615699 classify_dt,380,teachingAssistant_1,0.529745253,0.610859106,0.867213484 classify_dbn,380,teachingAssistant_1,0.49685721,0.610859106,0.813374484 classify_bnb,380,teachingAssistant_1,0.4538063,0.610859106,0.742898478 classify_svm,381,tecator_1,0.898876405,1,0.898876405 classify_sgd,381,tecator_1,0.989010989,1,0.989010989 classify_rf,381,tecator_1,0.931818182,1,0.931818182 classify_pa,381,tecator_1,0.954545455,1,0.954545455 classify_mlp,381,tecator_1,1,1,1 classify_logreg,381,tecator_1,0.966292135,1,0.966292135 classify_knn,381,tecator_1,0.945054945,1,0.945054945 classify_gp,381,tecator_1,0.909090909,1,0.909090909 classify_et,381,tecator_1,0.943820225,1,0.943820225 classify_dbn,381,tecator_1,0.956521739,1,0.956521739 classify_svm,382,thoracic-surgery_1,0.8,0.927203065,0.862809917 classify_sgd,382,thoracic-surgery_1,0.927203065,0.927203065,1 classify_rf,382,thoracic-surgery_1,0.923664122,0.927203065,0.996183206 classify_pa,382,thoracic-surgery_1,0.923664122,0.927203065,0.996183206 classify_mlp,382,thoracic-surgery_1,0.923664122,0.927203065,0.996183206 classify_logreg,382,thoracic-surgery_1,0.711340206,0.927203065,0.767189231 classify_knn,382,thoracic-surgery_1,0.923664122,0.927203065,0.996183206 classify_gp,382,thoracic-surgery_1,0.923664122,0.927203065,0.996183206 classify_et,382,thoracic-surgery_1,0.923664122,0.927203065,0.996183206 classify_dt,382,thoracic-surgery_1,0.894117647,0.927203065,0.964316967 classify_dbn,382,thoracic-surgery_1,0.923664122,0.927203065,0.996183206 classify_svm,383,tic-tac-toe_1,0.678678679,1,0.678678679 classify_sgd,383,tic-tac-toe_1,0.782795699,1,0.782795699 classify_rf,383,tic-tac-toe_1,0.891089109,1,0.891089109 classify_pa,383,tic-tac-toe_1,0.774468085,1,0.774468085 classify_mnb,383,tic-tac-toe_1,0.627329193,1,0.627329193 classify_mlp,383,tic-tac-toe_1,1,1,1 classify_logreg,383,tic-tac-toe_1,0.642201835,1,0.642201835 classify_knn,383,tic-tac-toe_1,0.917525773,1,0.917525773 classify_gp,383,tic-tac-toe_1,0.877108434,1,0.877108434 classify_et,383,tic-tac-toe_1,0.883495146,1,0.883495146 classify_dt,383,tic-tac-toe_1,0.8,1,0.8 classify_dbn,383,tic-tac-toe_1,0.981132075,1,0.981132075 classify_bnb,383,tic-tac-toe_1,0.670769231,1,0.670769231 classify_svm,384,transplant_1,0,1,0 classify_sgd,384,transplant_1,1,1,1 classify_rf,384,transplant_1,0.96,1,0.96 classify_pa,384,transplant_1,0.923076923,1,0.923076923 classify_mlp,384,transplant_1,1,1,1 classify_logreg,384,transplant_1,0.923076923,1,0.923076923 classify_knn,384,transplant_1,1,1,1 classify_gp,384,transplant_1,0.96,1,0.96 classify_et,384,transplant_1,1,1,1 classify_dt,384,transplant_1,1,1,1 classify_dbn,384,transplant_1,0.96,1,0.96 classify_bnb,384,transplant_1,0.909090909,1,0.909090909 classify_sgd,385,triazines_1,0.8,0.818181818,0.977777778 classify_rf,385,triazines_1,0.764705882,0.818181818,0.934640523 classify_pa,385,triazines_1,0.727272727,0.818181818,0.888888889 classify_mnb,385,triazines_1,0.657534247,0.818181818,0.803652968 classify_mlp,385,triazines_1,0.75,0.818181818,0.916666667 classify_logreg,385,triazines_1,0.666666667,0.818181818,0.814814815 classify_knn,385,triazines_1,0.818181818,0.818181818,1 classify_gp,385,triazines_1,0.794117647,0.818181818,0.970588235 classify_gnb,385,triazines_1,0.52173913,0.818181818,0.637681159 classify_et,385,triazines_1,0.8,0.818181818,0.977777778 classify_dt,385,triazines_1,0.756756757,0.818181818,0.924924925 classify_dbn,385,triazines_1,0.8,0.818181818,0.977777778 classify_bnb,385,triazines_1,0.721311475,0.818181818,0.881602914 classify_svm,386,tumors_C_1,0.761904762,0.8,0.952380952 classify_sgd,386,tumors_C_1,0.8,0.8,1 classify_rf,386,tumors_C_1,0.714285714,0.8,0.892857143 classify_pa,386,tumors_C_1,0.736842105,0.8,0.921052632 classify_mlp,386,tumors_C_1,0.782608696,0.8,0.97826087 classify_logreg,386,tumors_C_1,0.736842105,0.8,0.921052632 classify_knn,386,tumors_C_1,0.769230769,0.8,0.961538462 classify_gp,386,tumors_C_1,0,0.8,0 classify_gnb,386,tumors_C_1,0.6,0.8,0.75 classify_et,386,tumors_C_1,0.714285714,0.8,0.892857143 classify_dt,386,tumors_C_1,0.608695652,0.8,0.760869565 classify_dbn,386,tumors_C_1,0.714285714,0.8,0.892857143 classify_bnb,386,tumors_C_1,0.52631579,0.8,0.657894737 classify_svm,387,twonorm_1,0.967332123,0.983783784,0.983277158 classify_sgd,387,twonorm_1,0.98280543,0.983783784,0.999005519 classify_rf,387,twonorm_1,0.949395432,0.983783784,0.965044807 classify_pa,387,twonorm_1,0.97574124,0.983783784,0.991824887 classify_mlp,387,twonorm_1,0.983783784,0.983783784,1 classify_logreg,387,twonorm_1,0.982440342,0.983783784,0.998634414 classify_knn,387,twonorm_1,0.97880018,0.983783784,0.994934249 classify_et,387,twonorm_1,0.981981982,0.983783784,0.998168498 classify_dbn,387,twonorm_1,0.983754513,0.983783784,0.999970246 classify_bnb,387,twonorm_1,0.942497754,0.983783784,0.958033431 classify_svm,388,vehicle_1,0.681466362,0.769771382,0.885284096 classify_sgd,388,vehicle_1,0.601015239,0.769771382,0.780771088 classify_rf,388,vehicle_1,0.453407255,0.769771382,0.589015474 classify_pa,388,vehicle_1,0.497425486,0.769771382,0.646198985 classify_mnb,388,vehicle_1,0.162988439,0.769771382,0.211736164 classify_mlp,388,vehicle_1,0.769771382,0.769771382,1 classify_logreg,388,vehicle_1,0.570223785,0.769771382,0.74077031 classify_knn,388,vehicle_1,0.546222375,0.769771382,0.70959039 classify_gp,388,vehicle_1,0.40691388,0.769771382,0.528616534 classify_gnb,388,vehicle_1,0.309796967,0.769771382,0.402453215 classify_et,388,vehicle_1,0.478791659,0.769771382,0.621992023 classify_dbn,388,vehicle_1,0.530676599,0.769771382,0.689395074 classify_svm,389,vehicle_2,0.949852507,0.979942693,0.969293933 classify_sgd,389,vehicle_2,0.971098266,0.979942693,0.990974546 classify_rf,389,vehicle_2,0.962750716,0.979942693,0.98245614 classify_pa,389,vehicle_2,0.95184136,0.979942693,0.971323493 classify_mlp,389,vehicle_2,0.979942693,0.979942693,1 classify_logreg,389,vehicle_2,0.912386707,0.979942693,0.931061289 classify_knn,389,vehicle_2,0.970760234,0.979942693,0.990629595 classify_gp,389,vehicle_2,0.901333333,0.979942693,0.919781676 classify_et,389,vehicle_2,0.95,0.979942693,0.969444444 classify_dt,389,vehicle_2,0.873684211,0.979942693,0.891566636 classify_dbn,389,vehicle_2,0.977011494,0.979942693,0.997008806 classify_bnb,389,vehicle_2,0.890052356,0.979942693,0.908269802 classify_svm,390,vertebra-column_1,0.487804878,0.813559322,0.599593496 classify_sgd,390,vertebra-column_1,0.806451613,0.813559322,0.991263441 classify_pa,390,vertebra-column_1,0.712328767,0.813559322,0.875570776 classify_mlp,390,vertebra-column_1,0.807692308,0.813559322,0.992788462 classify_logreg,390,vertebra-column_1,0.806451613,0.813559322,0.991263441 classify_knn,390,vertebra-column_1,0.709677419,0.813559322,0.872311828 classify_gp,390,vertebra-column_1,0.71875,0.813559322,0.883463542 classify_et,390,vertebra-column_1,0.75862069,0.813559322,0.932471264 classify_dt,390,vertebra-column_1,0.813559322,0.813559322,1 classify_dbn,390,vertebra-column_1,0.771929825,0.813559322,0.948830409 classify_bnb,390,vertebra-column_1,0.65060241,0.813559322,0.799698795 classify_svm,391,vertebra-column_2,0.764364082,0.809353725,0.94441288 classify_sgd,391,vertebra-column_2,0.760330997,0.809353725,0.939429787 classify_rf,391,vertebra-column_2,0.735715093,0.809353725,0.909015515 classify_pa,391,vertebra-column_2,0.677385147,0.809353725,0.836945734 classify_mlp,391,vertebra-column_2,0.781955053,0.809353725,0.966147469 classify_logreg,391,vertebra-column_2,0.809353725,0.809353725,1 classify_knn,391,vertebra-column_2,0.787130452,0.809353725,0.972541952 classify_gp,391,vertebra-column_2,0.789798019,0.809353725,0.975837875 classify_et,391,vertebra-column_2,0.608928318,0.809353725,0.752363645 classify_dbn,391,vertebra-column_2,0.786271814,0.809353725,0.971481059 classify_bnb,391,vertebra-column_2,0.640367393,0.809353725,0.79120831 classify_svm,392,veteran_1,0.333333333,0.666666667,0.5 classify_sgd,392,veteran_1,0.486486487,0.666666667,0.72972973 classify_rf,392,veteran_1,0.153846154,0.666666667,0.230769231 classify_pa,392,veteran_1,0.5,0.666666667,0.75 classify_mnb,392,veteran_1,0.384615385,0.666666667,0.576923077 classify_mlp,392,veteran_1,0.666666667,0.666666667,1 classify_logreg,392,veteran_1,0.444444444,0.666666667,0.666666667 classify_knn,392,veteran_1,0.470588235,0.666666667,0.705882353 classify_gp,392,veteran_1,0.375,0.666666667,0.5625 classify_gnb,392,veteran_1,0.272727273,0.666666667,0.409090909 classify_et,392,veteran_1,0,0.666666667,0 classify_dbn,392,veteran_1,0.4,0.666666667,0.6 classify_svm,393,vineyard_1,0.888888889,0.941176471,0.944444444 classify_sgd,393,vineyard_1,0.941176471,0.941176471,1 classify_rf,393,vineyard_1,0.888888889,0.941176471,0.944444444 classify_pa,393,vineyard_1,0.888888889,0.941176471,0.944444444 classify_mnb,393,vineyard_1,0.75,0.941176471,0.796875 classify_mlp,393,vineyard_1,0.888888889,0.941176471,0.944444444 classify_logreg,393,vineyard_1,0.888888889,0.941176471,0.944444444 classify_knn,393,vineyard_1,0.888888889,0.941176471,0.944444444 classify_gp,393,vineyard_1,0.888888889,0.941176471,0.944444444 classify_gnb,393,vineyard_1,0.888888889,0.941176471,0.944444444 classify_et,393,vineyard_1,0.888888889,0.941176471,0.944444444 classify_dt,393,vineyard_1,0.615384615,0.941176471,0.653846154 classify_dbn,393,vineyard_1,0.857142857,0.941176471,0.910714286 classify_svm,394,vinnie_1,0.822580645,0.822695036,0.999860957 classify_sgd,394,vinnie_1,0.822695036,0.822695036,1 classify_rf,394,vinnie_1,0.803278689,0.822695036,0.976399095 classify_pa,394,vinnie_1,0.814285714,0.822695036,0.989778325 classify_mnb,394,vinnie_1,0.80620155,0.822695036,0.979951884 classify_mlp,394,vinnie_1,0.819672131,0.822695036,0.996325608 classify_logreg,394,vinnie_1,0.803149606,0.822695036,0.976242194 classify_knn,394,vinnie_1,0.806722689,0.822695036,0.980585338 classify_gp,394,vinnie_1,0.80620155,0.822695036,0.979951884 classify_gnb,394,vinnie_1,0.803149606,0.822695036,0.976242194 classify_et,394,vinnie_1,0.822580645,0.822695036,0.999860957 classify_dt,394,vinnie_1,0.806722689,0.822695036,0.980585338 classify_dbn,394,vinnie_1,0.806451613,0.822695036,0.98025584 classify_svm,395,visualizing_environmental_1,0.647058824,0.666666667,0.970588235 classify_sgd,395,visualizing_environmental_1,0.666666667,0.666666667,1 classify_rf,395,visualizing_environmental_1,0.625,0.666666667,0.9375 classify_pa,395,visualizing_environmental_1,0.545454545,0.666666667,0.818181818 classify_mnb,395,visualizing_environmental_1,0.6,0.666666667,0.9 classify_mlp,395,visualizing_environmental_1,0.647058824,0.666666667,0.970588235 classify_logreg,395,visualizing_environmental_1,0.606060606,0.666666667,0.909090909 classify_knn,395,visualizing_environmental_1,0.620689655,0.666666667,0.931034483 classify_gp,395,visualizing_environmental_1,0.545454545,0.666666667,0.818181818 classify_gnb,395,visualizing_environmental_1,0.529411765,0.666666667,0.794117647 classify_et,395,visualizing_environmental_1,0.529411765,0.666666667,0.794117647 classify_dt,395,visualizing_environmental_1,0.4375,0.666666667,0.65625 classify_dbn,395,visualizing_environmental_1,0.628571429,0.666666667,0.942857143 classify_bnb,395,visualizing_environmental_1,0.580645161,0.666666667,0.870967742 classify_svm,396,visualizing_ethanol_1,0,0.742857143,0 classify_sgd,396,visualizing_ethanol_1,0.742857143,0.742857143,1 classify_mlp,396,visualizing_ethanol_1,0.742857143,0.742857143,1 classify_logreg,396,visualizing_ethanol_1,0.620689655,0.742857143,0.835543767 classify_knn,396,visualizing_ethanol_1,0.689655172,0.742857143,0.928381963 classify_gp,396,visualizing_ethanol_1,0.620689655,0.742857143,0.835543767 classify_et,396,visualizing_ethanol_1,0.571428571,0.742857143,0.769230769 classify_dbn,396,visualizing_ethanol_1,0.742857143,0.742857143,1 classify_bnb,396,visualizing_ethanol_1,0.518518519,0.742857143,0.698005698 classify_svm,397,visualizing_galaxy_1,0.112359551,0.988764045,0.113636364 classify_sgd,397,visualizing_galaxy_1,0.966292135,0.988764045,0.977272727 classify_pa,397,visualizing_galaxy_1,0.966292135,0.988764045,0.977272727 classify_mlp,397,visualizing_galaxy_1,0.988764045,0.988764045,1 classify_logreg,397,visualizing_galaxy_1,0.966292135,0.988764045,0.977272727 classify_knn,397,visualizing_galaxy_1,0.977272727,0.988764045,0.988378099 classify_gp,397,visualizing_galaxy_1,0.977272727,0.988764045,0.988378099 classify_et,397,visualizing_galaxy_1,0.888888889,0.988764045,0.898989899 classify_dt,397,visualizing_galaxy_1,0.943820225,0.988764045,0.954545455 classify_dbn,397,visualizing_galaxy_1,0.966292135,0.988764045,0.977272727 classify_bnb,397,visualizing_galaxy_1,0.746666667,0.988764045,0.755151515 classify_svm,398,visualizing_hamster_1,0.666666667,0.785714286,0.848484849 classify_sgd,398,visualizing_hamster_1,0.785714286,0.785714286,1 classify_rf,398,visualizing_hamster_1,0.444444444,0.785714286,0.565656566 classify_pa,398,visualizing_hamster_1,0.285714286,0.785714286,0.363636364 classify_mlp,398,visualizing_hamster_1,0.666666667,0.785714286,0.848484849 classify_logreg,398,visualizing_hamster_1,0.454545455,0.785714286,0.578512397 classify_knn,398,visualizing_hamster_1,0.736842105,0.785714286,0.937799043 classify_gp,398,visualizing_hamster_1,0.5,0.785714286,0.636363636 classify_et,398,visualizing_hamster_1,0.444444444,0.785714286,0.565656566 classify_dt,398,visualizing_hamster_1,0.736842105,0.785714286,0.937799043 classify_dbn,398,visualizing_hamster_1,0.518518519,0.785714286,0.65993266 classify_bnb,398,visualizing_hamster_1,0.315789474,0.785714286,0.401913876 classify_svm,399,visualizing_livestock_1,0.470588235,0.666666667,0.705882353 classify_sgd,399,visualizing_livestock_1,0.352941177,0.666666667,0.529411765 classify_rf,399,visualizing_livestock_1,0.461538462,0.666666667,0.692307692 classify_mlp,399,visualizing_livestock_1,0.533333333,0.666666667,0.8 classify_logreg,399,visualizing_livestock_1,0.363636364,0.666666667,0.545454545 classify_knn,399,visualizing_livestock_1,0.666666667,0.666666667,1 classify_gp,399,visualizing_livestock_1,0,0.666666667,0 classify_gnb,399,visualizing_livestock_1,0.545454545,0.666666667,0.818181818 classify_et,399,visualizing_livestock_1,0.461538462,0.666666667,0.692307692 classify_dt,399,visualizing_livestock_1,0.333333333,0.666666667,0.5 classify_dbn,399,visualizing_livestock_1,0.428571429,0.666666667,0.642857143 classify_bnb,399,visualizing_livestock_1,0.444444444,0.666666667,0.666666667 classify_svm,400,visualizing_slope_1,0.727272727,1,0.727272727 classify_sgd,400,visualizing_slope_1,1,1,1 classify_rf,400,visualizing_slope_1,1,1,1 classify_pa,400,visualizing_slope_1,1,1,1 classify_mlp,400,visualizing_slope_1,1,1,1 classify_logreg,400,visualizing_slope_1,1,1,1 classify_knn,400,visualizing_slope_1,1,1,1 classify_gp,400,visualizing_slope_1,1,1,1 classify_et,400,visualizing_slope_1,1,1,1 classify_dt,400,visualizing_slope_1,0.888888889,1,0.888888889 classify_bnb,400,visualizing_slope_1,0.727272727,1,0.727272727 classify_svm,401,visualizing_soil_1,0.998716303,1,0.998716303 classify_sgd,401,visualizing_soil_1,1,1,1 classify_rf,401,visualizing_soil_1,1,1,1 classify_pa,401,visualizing_soil_1,0.998712999,1,0.998712999 classify_mlp,401,visualizing_soil_1,1,1,1 classify_logreg,401,visualizing_soil_1,0.960493827,1,0.960493827 classify_knn,401,visualizing_soil_1,0.998715203,1,0.998715203 classify_gnb,401,visualizing_soil_1,0.744497608,1,0.744497608 classify_dt,401,visualizing_soil_1,0.999571367,1,0.999571367 classify_dbn,401,visualizing_soil_1,1,1,1 classify_bnb,401,visualizing_soil_1,0.923431734,1,0.923431734 classify_svm,402,vowel_1,0.958742633,1,0.958742633 classify_sgd,402,vowel_1,0.980988593,1,0.980988593 classify_rf,402,vowel_1,0.983114447,1,0.983114447 classify_pa,402,vowel_1,0.980988593,1,0.980988593 classify_mlp,402,vowel_1,1,1,1 classify_logreg,402,vowel_1,0.970873786,1,0.970873786 classify_knn,402,vowel_1,1,1,1 classify_gp,402,vowel_1,0.957952468,1,0.957952468 classify_gnb,402,vowel_1,0.9609375,1,0.9609375 classify_et,402,vowel_1,0.966789668,1,0.966789668 classify_dt,402,vowel_1,0.978967495,1,0.978967495 classify_dbn,402,vowel_1,0.992366412,1,0.992366412 classify_bnb,402,vowel_1,0.947565543,1,0.947565543 classify_sgd,403,wall-robot-navigation_1,-0.10471551,0.889008855,-0.117789052 classify_mlp,403,wall-robot-navigation_1,0.889008855,0.889008855,1 classify_knn,403,wall-robot-navigation_1,0.876417407,0.889008855,0.985836533 classify_dbn,403,wall-robot-navigation_1,-0.104943231,0.889008855,-0.118045203 classify_svm,404,wall-robot-navigation_2,0.237119709,0.989884422,0.239542823 classify_sgd,404,wall-robot-navigation_2,-0.106188636,0.989884422,-0.107273772 classify_mlp,404,wall-robot-navigation_2,0.989884422,0.989884422,1 classify_logreg,404,wall-robot-navigation_2,-0.106188636,0.989884422,-0.107273772 classify_knn,404,wall-robot-navigation_2,0.962975501,0.989884422,0.972816098 classify_dbn,404,wall-robot-navigation_2,0.976358689,0.989884422,0.986336048 classify_bnb,404,wall-robot-navigation_2,0.177512769,0.989884422,0.179326763 classify_sgd,405,wall-robot-navigation_3,-0.044919516,1,-0.044919516 classify_mlp,405,wall-robot-navigation_3,0.992688173,1,0.992688173 classify_logreg,405,wall-robot-navigation_3,-0.107422216,1,-0.107422216 classify_knn,405,wall-robot-navigation_3,0.983496977,1,0.983496977 classify_dt,405,wall-robot-navigation_3,1,1,1 classify_dbn,405,wall-robot-navigation_3,0.983209516,1,0.983209516 classify_svm,406,waveform-5000_1,-0.067049209,0.808260611,-0.082954938 classify_sgd,406,waveform-5000_1,-0.067049209,0.808260611,-0.082954938 classify_mlp,406,waveform-5000_1,0.808260611,0.808260611,1 classify_logreg,406,waveform-5000_1,-0.072196751,0.808260611,-0.089323604 classify_knn,406,waveform-5000_1,0.793244136,0.808260611,0.981421246 classify_dt,406,waveform-5000_1,0.166484287,0.808260611,0.205978473 classify_dbn,406,waveform-5000_1,-0.067049209,0.808260611,-0.082954938 classify_svm,407,waveform-5000_2,0.875275938,0.923766816,0.947507448 classify_sgd,407,waveform-5000_2,0.880687563,0.923766816,0.953365663 classify_rf,407,waveform-5000_2,0.890466531,0.923766816,0.963951634 classify_pa,407,waveform-5000_2,0.870116156,0.923766816,0.941921859 classify_mlp,407,waveform-5000_2,0.923766816,0.923766816,1 classify_logreg,407,waveform-5000_2,0.799769186,0.923766816,0.865769556 classify_knn,407,waveform-5000_2,0.899497487,0.923766816,0.973727863 classify_gnb,407,waveform-5000_2,0.881614839,0.923766816,0.954369462 classify_et,407,waveform-5000_2,0.902941177,0.923766816,0.97745574 classify_dt,407,waveform-5000_2,0.846766169,0.923766816,0.916644931 classify_dbn,407,waveform-5000_2,0.917705736,0.923766816,0.993438733 classify_bnb,407,waveform-5000_2,0.792009401,0.923766816,0.8573694 classify_svm,408,wdbc_1,0.834782609,0.990291262,0.842966752 classify_sgd,408,wdbc_1,0.960784314,0.990291262,0.970203768 classify_pa,408,wdbc_1,0.888888889,0.990291262,0.897603486 classify_mnb,408,wdbc_1,0.813186813,0.990291262,0.821159233 classify_mlp,408,wdbc_1,0.990291262,0.990291262,1 classify_logreg,408,wdbc_1,0.961538462,0.990291262,0.970965309 classify_knn,408,wdbc_1,0.951456311,0.990291262,0.960784314 classify_gp,408,wdbc_1,0.863157895,0.990291262,0.871620227 classify_gnb,408,wdbc_1,0.857142857,0.990291262,0.865546218 classify_et,408,wdbc_1,0.92,0.990291262,0.929019608 classify_dt,408,wdbc_1,0.831858407,0.990291262,0.840013882 classify_dbn,408,wdbc_1,0.970873786,0.990291262,0.980392157 classify_svm,410,white-clover_2,0.705882353,0.923076923,0.764705882 classify_sgd,410,white-clover_2,0.923076923,0.923076923,1 classify_rf,410,white-clover_2,0.923076923,0.923076923,1 classify_pa,410,white-clover_2,0.923076923,0.923076923,1 classify_mlp,410,white-clover_2,0.923076923,0.923076923,1 classify_logreg,410,white-clover_2,0.823529412,0.923076923,0.892156863 classify_knn,410,white-clover_2,0.857142857,0.923076923,0.928571429 classify_gp,410,white-clover_2,0.769230769,0.923076923,0.833333333 classify_gnb,410,white-clover_2,0.666666667,0.923076923,0.722222222 classify_et,410,white-clover_2,0.923076923,0.923076923,1 classify_dt,410,white-clover_2,0.75,0.923076923,0.8125 classify_dbn,410,white-clover_2,0.6,0.923076923,0.65 classify_svm,411,wholesale-customers_1,-0.032152801,1,-0.032152801 classify_sgd,411,wholesale-customers_1,1,1,1 classify_rf,411,wholesale-customers_1,1,1,1 classify_mlp,411,wholesale-customers_1,1,1,1 classify_logreg,411,wholesale-customers_1,0.250151879,1,0.250151879 classify_knn,411,wholesale-customers_1,0.938034784,1,0.938034784 classify_gp,411,wholesale-customers_1,-0.112685902,1,-0.112685902 classify_gnb,411,wholesale-customers_1,1,1,1 classify_et,411,wholesale-customers_1,1,1,1 classify_dt,411,wholesale-customers_1,0.138145187,1,0.138145187 classify_dbn,411,wholesale-customers_1,0.973329564,1,0.973329564 classify_svm,412,wilt_1,0.646551724,0.911392405,0.709410919 classify_sgd,412,wilt_1,0.55,0.911392405,0.603472222 classify_rf,412,wilt_1,0.729927007,0.911392405,0.800892133 classify_pa,412,wilt_1,0.705882353,0.911392405,0.774509804 classify_mnb,412,wilt_1,0.15821501,0.911392405,0.173597025 classify_mlp,412,wilt_1,0.911392405,0.911392405,1 classify_logreg,412,wilt_1,0.625,0.911392405,0.685763889 classify_knn,412,wilt_1,0.657142857,0.911392405,0.721031746 classify_et,412,wilt_1,0,0.911392405,0 classify_dt,412,wilt_1,0.048780488,0.911392405,0.053523035 classify_dbn,412,wilt_1,0.909090909,0.911392405,0.997474747 classify_bnb,412,wilt_1,0.225140713,0.911392405,0.247029393 classify_svm,413,wind_1,0.837084673,0.85851575,0.97503706 classify_sgd,413,wind_1,0.836689038,0.85851575,0.974576224 classify_pa,413,wind_1,0.811403509,0.85851575,0.945123614 classify_mnb,413,wind_1,0.780922432,0.85851575,0.909619226 classify_mlp,413,wind_1,0.85851575,0.85851575,1 classify_logreg,413,wind_1,0.843850267,0.85851575,0.982917631 classify_knn,413,wind_1,0.842049093,0.85851575,0.980819621 classify_gnb,413,wind_1,0.79845815,0.85851575,0.930044847 classify_dt,413,wind_1,0.816931217,0.85851575,0.951562294 classify_dbn,413,wind_1,0.847603662,0.85851575,0.987289589 classify_svm,414,wind_correlations_1,0.909090909,1,0.909090909 classify_sgd,414,wind_correlations_1,0.923076923,1,0.923076923 classify_rf,414,wind_correlations_1,0.909090909,1,0.909090909 classify_pa,414,wind_correlations_1,0.909090909,1,0.909090909 classify_mlp,414,wind_correlations_1,1,1,1 classify_logreg,414,wind_correlations_1,0.833333333,1,0.833333333 classify_knn,414,wind_correlations_1,0.857142857,1,0.857142857 classify_gp,414,wind_correlations_1,1,1,1 classify_gnb,414,wind_correlations_1,0.909090909,1,0.909090909 classify_et,414,wind_correlations_1,0.909090909,1,0.909090909 classify_dt,414,wind_correlations_1,0.8,1,0.8 classify_bnb,414,wind_correlations_1,0.833333333,1,0.833333333 classify_svm,415,wine_1,-0.060030951,1,-0.060030951 classify_sgd,415,wine_1,0.970317197,1,0.970317197 classify_rf,415,wine_1,0.926266205,1,0.926266205 classify_mnb,415,wine_1,0.871148335,1,0.871148335 classify_mlp,415,wine_1,0.970317197,1,0.970317197 classify_logreg,415,wine_1,0.955601831,1,0.955601831 classify_knn,415,wine_1,0.970317197,1,0.970317197 classify_gp,415,wine_1,0.534429616,1,0.534429616 classify_gnb,415,wine_1,1,1,1 classify_et,415,wine_1,0.970317197,1,0.970317197 classify_dt,415,wine_1,0.742843871,1,0.742843871 classify_dbn,415,wine_1,0.967904298,1,0.967904298 classify_bnb,415,wine_1,0.81807538,1,0.81807538 classify_svm,416,wine_2,0.036363636,1,0.036363636 classify_sgd,416,wine_2,1,1,1 classify_rf,416,wine_2,0.957746479,1,0.957746479 classify_pa,416,wine_2,0.985507246,1,0.985507246 classify_mnb,416,wine_2,0.757575758,1,0.757575758 classify_mlp,416,wine_2,1,1,1 classify_logreg,416,wine_2,1,1,1 classify_knn,416,wine_2,0.985507246,1,0.985507246 classify_gp,416,wine_2,0.816901408,1,0.816901408 classify_et,416,wine_2,0.971428571,1,0.971428571 classify_dt,416,wine_2,0.971428571,1,0.971428571 classify_dbn,416,wine_2,1,1,1 classify_bnb,416,wine_2,0.942857143,1,0.942857143 classify_svm,417,wisconsin_1,0.674157303,0.674157303,1 classify_sgd,417,wisconsin_1,0.674157303,0.674157303,1 classify_rf,417,wisconsin_1,0.517241379,0.674157303,0.767241379 classify_mnb,417,wisconsin_1,0.5625,0.674157303,0.834375 classify_mlp,417,wisconsin_1,0.674157303,0.674157303,1 classify_logreg,417,wisconsin_1,0.571428571,0.674157303,0.847619048 classify_knn,417,wisconsin_1,0.597014925,0.674157303,0.885572139 classify_gp,417,wisconsin_1,0.576271186,0.674157303,0.85480226 classify_gnb,417,wisconsin_1,0.5,0.674157303,0.741666667 classify_et,417,wisconsin_1,0.481481482,0.674157303,0.714197531 classify_dbn,417,wisconsin_1,0.620689655,0.674157303,0.920689655 classify_svm,418,witmer_census_1980_1,0.75,0.857142857,0.875 classify_sgd,418,witmer_census_1980_1,0.857142857,0.857142857,1 classify_rf,418,witmer_census_1980_1,0.736842105,0.857142857,0.859649123 classify_pa,418,witmer_census_1980_1,0.5,0.857142857,0.583333333 classify_mnb,418,witmer_census_1980_1,0.777777778,0.857142857,0.907407407 classify_mlp,418,witmer_census_1980_1,0.857142857,0.857142857,1 classify_logreg,418,witmer_census_1980_1,0.714285714,0.857142857,0.833333333 classify_knn,418,witmer_census_1980_1,0.705882353,0.857142857,0.823529412 classify_gp,418,witmer_census_1980_1,0.666666667,0.857142857,0.777777778 classify_gnb,418,witmer_census_1980_1,0.75,0.857142857,0.875 classify_et,418,witmer_census_1980_1,0.823529412,0.857142857,0.960784314 classify_dt,418,witmer_census_1980_1,0.588235294,0.857142857,0.68627451 classify_dbn,418,witmer_census_1980_1,0.823529412,0.857142857,0.960784314 classify_svm,419,yeast_ml8_1,0.021428571,0.285714286,0.075 classify_sgd,419,yeast_ml8_1,0.285714286,0.285714286,1 classify_rf,419,yeast_ml8_1,0,0.285714286,0 classify_pa,419,yeast_ml8_1,0.083333333,0.285714286,0.291666667 classify_mlp,419,yeast_ml8_1,0.111111111,0.285714286,0.388888889 classify_logreg,419,yeast_ml8_1,0.13559322,0.285714286,0.474576271 classify_knn,419,yeast_ml8_1,0,0.285714286,0 classify_gp,419,yeast_ml8_1,0,0.285714286,0 classify_gnb,419,yeast_ml8_1,0.136645963,0.285714286,0.478260869 classify_et,419,yeast_ml8_1,0,0.285714286,0 classify_dbn,419,yeast_ml8_1,0.142857143,0.285714286,0.5 classify_bnb,419,yeast_ml8_1,0.196078431,0.285714286,0.68627451 classify_svm,420,zoo_1,0,1,0 classify_sgd,420,zoo_1,1,1,1 classify_rf,420,zoo_1,1,1,1 classify_pa,420,zoo_1,1,1,1 classify_mnb,420,zoo_1,1,1,1 classify_mlp,420,zoo_1,1,1,1 classify_logreg,420,zoo_1,1,1,1 classify_knn,420,zoo_1,1,1,1 classify_gp,420,zoo_1,0.971428571,1,0.971428571 classify_gnb,420,zoo_1,0.971428571,1,0.971428571 classify_et,420,zoo_1,1,1,1 classify_dbn,420,zoo_1,1,1,1 ================================================ FILE: server/requirements.txt ================================================ cachelib==0.1 flask==1.0 flask-cors==3.0.0 sqlalchemy==1.1.14 ================================================ FILE: server/setup.py ================================================ from setuptools import setup setup( name='atm-vis', version='0.0.0', url='http://flask.pocoo.org/docs/tutorial/', install_requires=[ 'flask', ], entry_points={ 'console_scripts': [ 'atmvis=atm_vis:cli' ], }, ) ================================================ FILE: src/Const.tsx ================================================ export const URL = process.env.NODE_ENV === 'development' ? 'http://localhost:7777' : location.origin export const UPDATE_INTERVAL_MS = 5000; export const USER_STUDY = false; // user_study == false , then user study related modules will be disabled. // including, set name, post click event, early stoppings. export const THRESHOLD_STEP : number = 20; // after running 20 classifier, it will stop the datarun. ================================================ FILE: src/assets/methodsDef.1.json ================================================ { "svm":{ "name": "svm", "class": "sklearn.svm.SVC", "fullname":"support vector machine", "hyperparameters": { "C": { "type": "float_exp", "range": [1e-5, 1e5] }, "gamma": { "type": "float_exp", "range": [1e-5, 1e5] }, "kernel": { "type": "string", "values": ["rbf", "poly", "linear", "sigmoid"] }, "degree": { "type": "int", "range": [2, 5] }, "coef0": { "type": "int", "range": [-1e3, 1e3] }, "probability": { "type": "bool", "values": [true] }, "shrinking": { "type": "bool", "values": [true] }, "cache_size": { "type": "int", "range": [15000] }, "class_weight": { "type": "string", "values": ["balanced"] }, "_scale": { "type": "bool", "values": [true] }, "max_iter": { "type": "int", "range": [50000] } }, "root_hyperparameters": ["C", "kernel", "probability", "shrinking", "cache_size", "class_weight", "max_iter", "_scale"], "conditional_hyperparameters": { "kernel": { "rbf": ["gamma"], "sigmoid": ["gamma", "coef0"], "poly": ["degree", "gamma", "coef0"] } } }, "rf":{ "name": "rf", "class": "sklearn.ensemble.RandomForestClassifier", "fullname": "random forest", "hyperparameters": { "criterion": { "type": "string", "values": ["entropy", "gini"] }, "max_features": { "type": "float", "range": [0.1, 1.0] }, "max_depth": { "type": "int", "range": [2, 10] }, "min_samples_split": { "type": "int", "range": [2, 4] }, "min_samples_leaf": { "type": "int", "range": [1, 3] }, "n_estimators": { "type": "int_cat", "values": [100] }, "n_jobs": { "type": "int_cat", "values": [-1] } }, "root_hyperparameters": ["criterion", "max_features", "max_depth", "min_samples_leaf", "min_samples_leaf", "n_estimators", "n_jobs"], "conditional_hyperparameters": {} }, "et":{ "name": "et", "class": "sklearn.ensemble.ExtraTreesClassifier", "fullname": "extreme trees", "hyperparameters": { "criterion": { "type": "string", "values": ["entropy", "gini"] }, "max_features": { "type": "float", "range": [0.1, 1.0] }, "max_depth": { "type": "int", "range": [2, 10] }, "min_samples_split": { "type": "int", "range": [2, 3] }, "min_samples_leaf": { "type": "int", "range": [1, 2] }, "n_estimators": { "type": "int_cat", "values": [100] }, "n_jobs": { "type": "int", "range": [-1] } }, "root_hyperparameters": ["criterion", "max_features", "max_depth", "min_samples_leaf", "min_samples_leaf", "n_estimators", "n_jobs"], "conditional_hyperparameters": {} }, "dt":{ "name": "dt", "class": "sklearn.tree.DecisionTreeClassifier", "fullname": "decision tree", "hyperparameters": { "criterion": { "type": "string", "values": ["entropy", "gini"] }, "max_features": { "type": "float", "range": [0.1, 1.0] }, "max_depth": { "type": "int", "range": [2, 10] }, "min_samples_split": { "type": "int", "range": [2, 4] }, "min_samples_leaf": { "type": "int", "range": [1, 3] } }, "root_hyperparameters": ["criterion", "max_features", "max_depth", "min_samples_split", "min_samples_leaf"], "conditional_hyperparameters": {} }, "sgd":{ "name": "sgd", "class": "sklearn.linear_model.SGDClassifier", "fullname":"stochastic gradient descent", "hyperparameters": { "loss": { "type": "string", "values": ["hinge", "log", "modified_huber", "squared_hinge"] }, "penalty": { "type": "string", "values": ["l1", "l2", "elasticnet"] }, "alpha": { "type": "float_exp", "range": [1e-5, 1e5] }, "l1_ratio": { "type": "float", "range": [0.0, 1.0] }, "fit_intercept": { "type": "int", "range": [0, 1] }, "n_iter": { "type": "int", "range": [10, 200] }, "shuffle": { "type": "bool", "values": [true] }, "epsilon": { "type": "float_exp", "range": [1e-5, 1e5] }, "learning_rate": { "type": "string", "values": ["constant", "optimal"] }, "eta0": { "type": "float_exp", "range": [1e-5, 1e5] }, "class_weight": { "type": "string", "values": [null] }, "_scale_minmax": { "type": "bool", "values": [true] }, "n_jobs": { "type": "int_cat", "values": [-1] } }, "root_hyperparameters": ["loss", "penalty", "alpha", "l1_ratio", "fit_intercept", "n_iter", "shuffle", "epsilon", "learning_rate", "eta0", "class_weight", "_scale_minmax", "n_jobs"], "conditional_hyperparameters": {} }, "pa": { "name": "pa", "class": "sklearn.linear_model.PassiveAggressiveClassifier", "fullname": "passive aggressive", "hyperparameters": { "C": { "type": "float_exp", "range": [1e-5, 1e5] }, "fit_intercept": { "type": "int_cat", "values": [0, 1] }, "n_iter": { "type": "int", "range": [10, 200] }, "shuffle": { "type": "bool", "values": [true] }, "loss": { "type": "string", "values": ["hinge", "squared_hinge"] }, "_scale": { "type": "bool", "values": [true] }, "n_jobs": { "type": "int_cat", "values": [-1] } }, "root_hyperparameters": ["C", "fit_intercept", "n_iter", "shuffle", "loss", "_scale", "n_jobs"], "conditional_hyperparameters": {} }, "knn": { "name": "knn", "class": "sklearn.neighbors.KNeighborsClassifier", "fullname": "k nearest neighbors", "hyperparameters": { "n_neighbors": { "type": "int", "range": [1, 20] }, "weights": { "type": "string", "values": ["uniform", "distance"] }, "algorithm": { "type": "string", "values": ["ball_tree", "kd_tree", "brute"] }, "leaf_size": { "type": "int", "range": [1, 50] }, "metric": { "type": "string", "values": ["minkowski", "euclidean", "manhattan", "chebyshev"] }, "p": { "type": "int", "range": [1, 3] }, "_scale": { "type": "bool", "values": [true] } }, "root_hyperparameters": ["n_neighbors", "weights", "algorithm", "metric", "_scale"], "conditional_hyperparameters": { "metric": { "minkowski": ["p"] }, "algorithm": { "ball_tree": ["leaf_size"], "kd_tree": ["leaf_size"] } } }, "logreg":{ "name": "logreg", "class": "sklearn.linear_model.LogisticRegression", "fullname": "logistic regression", "hyperparameters": { "C": { "type": "float_exp", "range": [1e-5, 1e5] }, "tol": { "type": "float_exp", "range": [1e-5, 1e5] }, "penalty": { "type": "string", "values": ["l1", "l2"] }, "dual": { "type": "bool", "values": [true, false] }, "fit_intercept": { "type": "bool", "values": [true, false] }, "class_weight": { "type": "string", "values": ["balanced"] }, "_scale": { "type": "bool", "values": [true] } }, "root_hyperparameters": ["C", "tol", "penalty", "fit_intercept", "class_weight", "_scale"], "conditional_hyperparameters": { "penalty": { "l2": ["dual"] } } }, "gnb": { "name": "gnb", "class": "sklearn.naive_bayes.GaussianNB", "fullname": "gaussian naive bayes", "hyperparameters": { "_scale_minmax": { "type": "bool", "values": [true] } }, "root_hyperparameters": ["_scale_minmax"], "conditional_hyperparameters": {} }, "bnb": { "name": "bnb", "class": "sklearn.naive_bayes.BernoulliNB", "fullname": "bernoulli naive bayes", "hyperparameters": { "alpha": { "type": "float", "range": [0.0, 1.0] }, "binarize": { "type": "float", "range": [0.0, 1.0] }, "fit_prior": { "type": "int", "range": [0, 1] }, "class_prior": { "type": "string", "values": [null] }, "_scale": { "type": "bool", "values": [true] } }, "root_hyperparameters": ["alpha", "binarize", "fit_prior", "class_prior", "_scale"], "conditional_hyperparameters": {} }, "gp":{ "name": "gp", "class": "sklearn.gaussian_process.GaussianProcessClassifier", "fullname": "gaussian process", "hyperparameters": { "kernel": { "type": "string", "values": ["constant", "rbf", "matern", "rational_quadratic", "exp_sine_squared"] }, "nu": { "type": "float_cat", "values": [0.5, 1.5, 2.5] }, "length_scale": { "type": "float_exp", "range": [0.01, 100] }, "alpha": { "type": "float", "range": [0.0, 1.0] }, "periodicity": { "type": "int_cat", "values": [0, 1] } }, "root_hyperparameters": ["kernel"], "conditional_hyperparameters": { "kernel": { "matern": ["nu"], "rational_quadratic": ["length_scale", "alpha"], "exp_sine_squared": ["length_scale", "periodicity"] } } }, "mlp": { "name": "mlp", "class": "sklearn.neural_network.MLPClassifier", "fullname": "multiple layer perceptron", "hyperparameters": { "batch_size": { "type": "string", "values": ["auto"] }, "solver": { "type": "string", "values": ["lbfgs", "sgd", "adam"] }, "alpha": { "type": "float", "range": [0.0001, 0.009] }, "learning_rate_init": { "type": "float", "range": [0.001, 0.99] }, "beta_1": { "type": "float", "range": [0.8, 0.9999] }, "beta_2": { "type": "float", "range": [0.8, 0.9999] }, "learning_rate": { "type": "string", "values": ["constant", "invscaling", "adaptive"] }, "activation": { "type": "string", "values": ["relu", "logistic", "identity", "tanh"] }, "hidden_layer_sizes": { "type": "list", "list_length": [1, 2, 3], "element": { "type": "int", "range": [2, 300] } }, "_scale": { "type": "string", "values": [true] } }, "root_hyperparameters": ["batch_size", "solver", "alpha", "activation", "hidden_layer_sizes", "_scale"], "conditional_hyperparameters": { "solver": { "sgd": [ "learning_rate_init", "learning_rate" ], "adam": [ "learning_rate_init", "beta_1", "beta_2" ] } } }, "dbn":{ "name": "dbn", "fullname": "deep belief network", "hyperparameters": {}, "root_hyperparameters": [], "conditional_hyperparameters": {} }, "mnb":{ "name": "mnb", "fullname": "multinomial naive bayes", "class": "sklearn.naive_bayes.MultinomialNB", "hyperparameters": { "alpha": { "type": "float", "range": [0.0, 1.0] }, "fit_prior": { "type": "int", "range": [0, 1] }, "class_prior": { "type": "string", "values": [null] }, "_scale_minmax": { "type": "bool", "values": [true] } }, "root_hyperparameters": ["alpha", "fit_prior", "class_prior", "_scale_minmax"], "conditional_hyperparameters": {} }, "ada":{ "name": "ada", "fullname": "adaboost", "class": "sklearn.ensemble.AdaBoostClassifier", "hyperparameters": { "n_estimators": { "type": "int", "range": [25, 500] }, "learning_rate": { "type": "float", "range": [0.5, 10] } }, "root_hyperparameters": ["n_estimators", "learning_rate"], "conditional_hyperparameters": {} } } ================================================ FILE: src/assets/methodsDef.json ================================================ { "svm":{ "name": "svm", "class": "sklearn.svm.SVC", "fullname":"support vector machine", "hyperparameters": { "C": { "type": "float_exp", "range": [1e-5, 1e5] }, "gamma": { "type": "float_exp", "range": [1e-5, 1e5] }, "kernel": { "type": "string", "values": ["rbf", "poly", "linear", "sigmoid"] }, "degree": { "type": "int", "range": [2, 5] }, "coef0": { "type": "int", "range": [-1e3, 1e3] }, "probability": { "type": "bool", "values": [true] }, "shrinking": { "type": "bool", "values": [true] }, "cache_size": { "type": "int", "range": [15000] }, "class_weight": { "type": "string", "values": ["balanced"] }, "_scale": { "type": "bool", "values": [true] }, "max_iter": { "type": "int", "range": [50000] } }, "root_hyperparameters": ["gamma", "C", "kernel", "probability", "shrinking", "cache_size", "class_weight", "max_iter", "_scale"], "conditional_hyperparameters": { "kernel": { "rbf": ["gamma"], "sigmoid": ["gamma", "coef0"], "poly": ["degree", "gamma", "coef0"] } } }, "rf":{ "name": "rf", "class": "sklearn.ensemble.RandomForestClassifier", "fullname": "random forest", "hyperparameters": { "criterion": { "type": "string", "values": ["entropy", "gini"] }, "max_features": { "type": "float", "range": [0.1, 1.0] }, "max_depth": { "type": "int", "range": [2, 10] }, "min_samples_split": { "type": "int", "range": [2, 4] }, "min_samples_leaf": { "type": "int", "range": [1, 3] }, "n_estimators": { "type": "int_cat", "values": [100] }, "n_jobs": { "type": "int_cat", "values": [-1] } }, "root_hyperparameters": ["criterion", "max_features", "max_depth", "min_samples_leaf", "n_estimators", "n_jobs"], "conditional_hyperparameters": {} }, "et":{ "name": "et", "class": "sklearn.ensemble.ExtraTreesClassifier", "fullname": "extreme trees", "hyperparameters": { "criterion": { "type": "string", "values": ["entropy", "gini"] }, "max_features": { "type": "float", "range": [0.1, 1.0] }, "max_depth": { "type": "int", "range": [2, 10] }, "min_samples_split": { "type": "int", "range": [2, 3] }, "min_samples_leaf": { "type": "int", "range": [1, 2] }, "n_estimators": { "type": "int_cat", "values": [100] }, "n_jobs": { "type": "int", "range": [-1] } }, "root_hyperparameters": ["criterion", "max_features", "max_depth", "min_samples_leaf", "min_samples_leaf", "n_estimators", "n_jobs"], "conditional_hyperparameters": {} }, "dt":{ "name": "dt", "class": "sklearn.tree.DecisionTreeClassifier", "fullname": "decision tree", "hyperparameters": { "criterion": { "type": "string", "values": ["entropy", "gini"] }, "max_features": { "type": "float", "range": [0.1, 1.0] }, "max_depth": { "type": "int", "range": [2, 10] }, "min_samples_split": { "type": "int", "range": [2, 4] }, "min_samples_leaf": { "type": "int", "range": [1, 3] } }, "root_hyperparameters": ["criterion", "max_features", "max_depth", "min_samples_split", "min_samples_leaf"], "conditional_hyperparameters": {} }, "sgd":{ "name": "sgd", "class": "sklearn.linear_model.SGDClassifier", "fullname":"stochastic gradient descent", "hyperparameters": { "loss": { "type": "string", "values": ["hinge", "log", "modified_huber", "squared_hinge"] }, "penalty": { "type": "string", "values": ["l1", "l2", "elasticnet"] }, "alpha": { "type": "float_exp", "range": [1e-5, 1e5] }, "l1_ratio": { "type": "float", "range": [0.0, 1.0] }, "fit_intercept": { "type": "int", "range": [0, 1] }, "n_iter": { "type": "int", "range": [10, 200] }, "shuffle": { "type": "bool", "values": [true] }, "epsilon": { "type": "float_exp", "range": [1e-5, 1e5] }, "learning_rate": { "type": "string", "values": ["constant", "optimal"] }, "eta0": { "type": "float_exp", "range": [1e-5, 1e5] }, "class_weight": { "type": "string", "values": [null] }, "_scale_minmax": { "type": "bool", "values": [true] }, "n_jobs": { "type": "int_cat", "values": [-1] } }, "root_hyperparameters": ["loss", "penalty", "alpha", "l1_ratio", "fit_intercept", "n_iter", "shuffle", "epsilon", "learning_rate", "eta0", "class_weight", "_scale_minmax", "n_jobs"], "conditional_hyperparameters": {} }, "pa": { "name": "pa", "class": "sklearn.linear_model.PassiveAggressiveClassifier", "fullname": "passive aggressive", "hyperparameters": { "C": { "type": "float_exp", "range": [1e-5, 1e5] }, "fit_intercept": { "type": "int_cat", "values": [0, 1] }, "n_iter": { "type": "int", "range": [10, 200] }, "shuffle": { "type": "bool", "values": [true] }, "loss": { "type": "string", "values": ["hinge", "squared_hinge"] }, "_scale": { "type": "bool", "values": [true] }, "n_jobs": { "type": "int_cat", "values": [-1] } }, "root_hyperparameters": ["C", "fit_intercept", "n_iter", "shuffle", "loss", "_scale", "n_jobs"], "conditional_hyperparameters": {} }, "knn": { "name": "knn", "class": "sklearn.neighbors.KNeighborsClassifier", "fullname": "k nearest neighbors", "hyperparameters": { "n_neighbors": { "type": "int", "range": [1, 20] }, "weights": { "type": "string", "values": ["uniform", "distance"] }, "algorithm": { "type": "string", "values": ["ball_tree", "kd_tree", "brute"] }, "leaf_size": { "type": "int", "range": [1, 50] }, "metric": { "type": "string", "values": ["minkowski", "euclidean", "manhattan", "chebyshev"] }, "p": { "type": "int", "range": [1, 3] }, "_scale": { "type": "bool", "values": [true] } }, "root_hyperparameters": ["n_neighbors", "weights", "algorithm", "metric", "_scale", "leaf_size"], "conditional_hyperparameters": { "metric": { "minkowski": ["p"] }, "algorithm": { "ball_tree": ["leaf_size"], "kd_tree": ["leaf_size"] } } }, "logreg":{ "name": "logreg", "class": "sklearn.linear_model.LogisticRegression", "fullname": "logistic regression", "hyperparameters": { "C": { "type": "float_exp", "range": [1e-5, 1e5] }, "tol": { "type": "float_exp", "range": [1e-5, 1e5] }, "penalty": { "type": "string", "values": ["l1", "l2"] }, "dual": { "type": "bool", "values": [true, false] }, "fit_intercept": { "type": "bool", "values": [true, false] }, "class_weight": { "type": "string", "values": ["balanced"] }, "_scale": { "type": "bool", "values": [true] } }, "root_hyperparameters": ["C", "tol", "penalty", "fit_intercept", "class_weight", "_scale"], "conditional_hyperparameters": { "penalty": { "l2": ["dual"] } } }, "gnb": { "name": "gnb", "class": "sklearn.naive_bayes.GaussianNB", "fullname": "gaussian naive bayes", "hyperparameters": { "_scale_minmax": { "type": "bool", "values": [true] } }, "root_hyperparameters": ["_scale_minmax"], "conditional_hyperparameters": {} }, "bnb": { "name": "bnb", "class": "sklearn.naive_bayes.BernoulliNB", "fullname": "bernoulli naive bayes", "hyperparameters": { "alpha": { "type": "float", "range": [0.0, 1.0] }, "binarize": { "type": "float", "range": [0.0, 1.0] }, "fit_prior": { "type": "int", "range": [0, 1] }, "class_prior": { "type": "string", "values": [null] }, "_scale": { "type": "bool", "values": [true] } }, "root_hyperparameters": ["alpha", "binarize", "fit_prior", "class_prior", "_scale"], "conditional_hyperparameters": {} }, "gp":{ "name": "gp", "class": "sklearn.gaussian_process.GaussianProcessClassifier", "fullname": "gaussian process", "hyperparameters": { "kernel": { "type": "string", "values": ["constant", "rbf", "matern", "rational_quadratic", "exp_sine_squared"] }, "nu": { "type": "float_cat", "values": [0.5, 1.5, 2.5] }, "length_scale": { "type": "float_exp", "range": [0.01, 100] }, "alpha": { "type": "float", "range": [0.0, 1.0] }, "periodicity": { "type": "int_cat", "values": [0, 1] } }, "root_hyperparameters": ["kernel"], "conditional_hyperparameters": { "kernel": { "matern": ["nu"], "rational_quadratic": ["length_scale", "alpha"], "exp_sine_squared": ["length_scale", "periodicity"] } } }, "mlp": { "name": "mlp", "class": "sklearn.neural_network.MLPClassifier", "fullname": "multiple layer perceptron", "hyperparameters": { "batch_size": { "type": "string", "values": ["auto"] }, "solver": { "type": "string", "values": ["lbfgs", "sgd", "adam"] }, "alpha": { "type": "float", "range": [0.0001, 0.009] }, "learning_rate_init": { "type": "float", "range": [0.001, 0.99] }, "beta_1": { "type": "float", "range": [0.8, 0.9999] }, "beta_2": { "type": "float", "range": [0.8, 0.9999] }, "learning_rate": { "type": "string", "values": ["constant", "invscaling", "adaptive"] }, "activation": { "type": "string", "values": ["relu", "logistic", "identity", "tanh"] }, "hidden_layer_sizes": { "type": "list", "list_length": [1, 2, 3], "element": { "type": "int", "range": [2, 300] } }, "_scale": { "type": "string", "values": [true] } }, "root_hyperparameters": ["batch_size", "solver", "alpha", "activation", "hidden_layer_sizes", "_scale", "learning_rate_init"], "conditional_hyperparameters": { "solver": { "sgd": [ "learning_rate" ], "adam": [ "beta_1", "beta_2" ] } } }, "mnb":{ "name": "mnb", "fullname": "multinomial naive bayes", "class": "sklearn.naive_bayes.MultinomialNB", "hyperparameters": { "alpha": { "type": "float", "range": [0.0, 1.0] }, "fit_prior": { "type": "int", "range": [0, 1] }, "class_prior": { "type": "string", "values": [null] }, "_scale_minmax": { "type": "bool", "values": [true] } }, "root_hyperparameters": ["alpha", "fit_prior", "class_prior", "_scale_minmax"], "conditional_hyperparameters": {} }, "ada":{ "name": "ada", "fullname": "adaboost", "class": "sklearn.ensemble.AdaBoostClassifier", "hyperparameters": { "n_estimators": { "type": "int", "range": [25, 500] }, "learning_rate": { "type": "float", "range": [0.5, 10] } }, "root_hyperparameters": ["n_estimators", "learning_rate"], "conditional_hyperparameters": {} } } ================================================ FILE: src/components/App.css ================================================ @import '~antd/dist/antd.css'; :root{ --header-height: 6vh; } .app{ width:100vw; height:100vh; } .col{ padding: 10px; height: 100%; overflow-y: hidden; } .appHeader { background-color: #555; /* font-family: Roboto, sans-serif; */ font-family: "Arial Black", Gadget, sans-serif; height: var(--header-height); /* padding: 20px; */ color: white; font-size: 3.5vh; box-shadow: 0 4px 4px 0 rgba(0,0,0,0.16), 0 0 0 4px rgba(0,0,0,0.08); line-height: var(--header-height); } .appContent{ background-color: white; height: calc(100% - var(--header-height)); } .appLogo{ height:3.5vh; padding: 1px 5px; } .shadowBox{ box-shadow: 0 2px 2px 0 rgba(0,0,0,0.16), 0 0 0 1px rgba(0,0,0,0.08); margin: 10px; display: block; position:absolute; top:0; left:0; right:0; bottom:0 } .ant-tabs-tabpane{ height: 100% !important; } .ant-tabs-content{ height: 100% !important; } /* width */ ::-webkit-scrollbar { width: 0px; } /* Track */ ::-webkit-scrollbar-track { background: #ffffff; opacity:0; } /* Handle */ ::-webkit-scrollbar-thumb { background: #ffffff; opacity:0; } /* Handle on hover */ ::-webkit-scrollbar-thumb:hover { background: #ffffff; opacity:0; } ================================================ FILE: src/components/App.test.tsx ================================================ import * as React from 'react'; import * as ReactDOM from 'react-dom'; import App from './App'; it('renders without crashing', () => { const div = document.createElement('div'); ReactDOM.render(, div); ReactDOM.unmountComponentAtNode(div); }); ================================================ FILE: src/components/App.tsx ================================================ import { Col, Layout, Row } from 'antd'; import * as React from 'react'; import * as logo from '../assets/ATM-Logo.png'; import './App.css'; import DataRuns from './DataRuns'; // import DataView from "./DataView"; import SidePanel from './SidePanel'; import { IDatarunStatusTypes } from 'types'; import { getDatarun,IClickEvent,postBundleClickEvent,IClickBundleEvent } from 'service/dataService'; import { UPDATE_INTERVAL_MS,USER_STUDY } from 'Const'; import UploadModal from './UploadModal' const { Content, Header } = Layout; export interface IState { datarunID: number | null; datasetID: number | null; datarunStatus: IDatarunStatusTypes; compareK: number // 0=> don't compare } class App extends React.Component<{}, IState> { private intervalID: number | null; private user_name = ""; //private clickevent: IClickEvent[] = []; constructor(props: {}) { super(props); // this.onChange = this.onChange.bind(this) this.setDatarunID = this.setDatarunID.bind(this); this.setDatasetID = this.setDatasetID.bind(this); this.setDatarunStatus = this.setDatarunStatus.bind(this); this.updateDatarunStatus = this.updateDatarunStatus.bind(this); this.startOrStopUpdateCycle = this.startOrStopUpdateCycle.bind(this); this.setTopK = this.setTopK.bind(this); this.state = { datarunStatus: IDatarunStatusTypes.PENDING, datarunID: null, datasetID: null, compareK: 0 // 0=> don't compare }; this.intervalID = null; } public setDatarunID(id: number): void { console.info("set datarun id", id) this.setState({ datarunID: id }) } public setDatasetID(datasetID: number): void { this.setState({ datasetID }); } public setDatarunStatus(datarunStatus: IDatarunStatusTypes): void { this.setState({ datarunStatus }); } public updateDatarunStatus() { const { datarunID } = this.state; if (datarunID !== null) { getDatarun(datarunID).then(({ status }) => { this.setDatarunStatus(status); }); } } public setTopK(topK:number){ let action="selected"; if(topK==0){ action="unselected"; } let eventlog:IClickEvent = { type:"compare", description:{ action:action, topK:topK }, time:new Date().toString() } this.postClickEvent(eventlog); this.setState({compareK: topK}) } public startOrStopUpdateCycle(datarunStatus: IDatarunStatusTypes) { if (datarunStatus === IDatarunStatusTypes.RUNNING) { this.intervalID = window.setInterval(this.updateDatarunStatus, UPDATE_INTERVAL_MS); } else if (this.intervalID !== null) { clearInterval(this.intervalID); this.intervalID = null; } } setUserName = (user_name:string)=>{ this.user_name = user_name; } postClickEvent = (log:IClickEvent)=>{ //this.clickevent.push(log); if(USER_STUDY){ let bundlelog : IClickBundleEvent= { name:this.user_name, datasetID:this.state.datasetID?this.state.datasetID:-1, datarunID:this.state.datarunID?this.state.datarunID:-1, clickevent:log } postBundleClickEvent(bundlelog); } } componentDidUpdate(prevProps: {}, prevState: IState) { if (prevState.datarunID !== this.state.datarunID) { this.updateDatarunStatus(); } if (prevState.datarunStatus !== this.state.datarunStatus) { this.startOrStopUpdateCycle(this.state.datarunStatus); } } public render() { return (
ATMSeer
{/* */}
); } } export default App; ================================================ FILE: src/components/DataRuns/AskModal.tsx ================================================ import * as React from 'react'; import { Modal, Button } from 'antd'; export interface AskModalProps { AskModalCallBack : (e:number)=>void, visible:boolean } export interface AskModalState { loading: boolean, visible: boolean, name:string, alertvisible:boolean } export default class AskModal extends React.Component { constructor(props: AskModalProps) { super(props); this.state = { loading: false, visible: false, alertvisible:false, name:"" } } showModal =() => { this.initModal(); } public initModal() { // get configs from server ; // initialize the default value in Modal // Show Modal. this.setState({ visible: true }); } handleOk = () => { // Submit this.props.AskModalCallBack(0); //this.setState({ visible:false}); } handleCancel = () => { //this.handleOk(); this.props.AskModalCallBack(1); //this.setState({ visible: false }); } onInputChange = (e : any) =>{ //console.log(e.target.value); this.setState({name:e.target.value}); } render() { const { loading } = this.state; return (
I know , ]}>

The current process has been stopped. You can decide whether to continue it.

); } } ================================================ FILE: src/components/DataRuns/BarChart.tsx ================================================ import ReactEcharts from "echarts-for-react"; import { getColor } from "helper" import * as React from "react"; import { Switch } from "antd"; import {EChartOption} from "echarts"; const sortSwitchStyle = { position: "absolute" as "absolute", top: "5px", right: "5px" } export interface IProps { run: any, width: number } export interface IState { sorted: boolean, } export default class BarChart extends React.Component{ constructor(props: IProps) { super(props) this.state = { sorted: false } this.changeSort = this.changeSort.bind(this) this.getOption = this.getOption.bind(this) } public getOption() { let points = this.props.run.split('\n') points.splice(-1, 1) //remove last empty line // extract headers let headers = points.shift().split(',') // // hold a list of performance scores (to later find the max) // let performanceArray = [0] let scoreTarget = points[0].split(',')[headers.indexOf('metrics')] let data = points.map((point: any) => { point = point.split(',') let performanceIdx = headers.indexOf('performance') let performance = parseFloat(point[performanceIdx].split("+-")[0]) // performanceArray.push(performance) let method = point[1] // let trialID = parseInt(point[0]) return { value: performance, itemStyle: { color: getColor(method) } } }) let series:EChartOption['series'] = [{ data: data, type: 'bar', }] if (this.state.sorted) { data.sort((a: any, b: any) => { return b.value - a.value; }) } else { let bestSoFar: EChartOption['series'] = [] let max = 0 for (let i = 0; i < data.length; i++) { let currentPerformance = data[i].value let dotSize = 2 //if the performance get improved, draw a big circle if (max < currentPerformance) { max = currentPerformance dotSize = 5 bestSoFar.push({ value:max, symbolSize: dotSize, symbol: "emptyCircle" }) }else{ bestSoFar.push({ value:max, symbolSize: dotSize }) } } series.push({ data: bestSoFar, type: "line", symbolSize: 2, symbol: "circle", lineStyle: { color: "gray", width: "1" } }) }; const option = { title: { text: "Trials", left: '5%', top: '0.5%', }, xAxis: { type: 'category', // name: this.state.sorted?"":"trial ID", nameLocation: "middle", nameGap: 5, // data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] // type: 'value' }, yAxis: { type: 'value', min: 'dataMin', max: 1, name: scoreTarget, nameLocation: "middle", nameGap: 28 }, grid: { left: '5%', right: '5%', top: '25%', bottom: '5%', }, tooltip: {}, series, }; return option } public changeSort() { this.setState({ sorted: !this.state.sorted }) } public render() { return (
{"sorted by "}
) } } ================================================ FILE: src/components/DataRuns/DataRuns.tsx ================================================ // library // import axios from "axios"; import * as React from "react"; //import { Tabs, Row, Col, Progress } from 'antd'; // import { parseDatarun } from "helper"; import { IDatarun } from 'types'; // import {URL} from '../../Const'; //import {getClassifierSummary} from 'service/dataService'; import { getClassifierSummary, getClassifiers, getHyperpartitions, IRecommendationResult, IClassifierInfo, IHyperpartitionInfo, getRecommendation, IClickEvent, stopDatarun } from 'service/dataService'; //components // import MethodsLineChart from './MethodsLineChart'; //import MethodsSearchSpace from './MethodsSearchSpace'; import BarChart from './BarChart'; //import OverallHistogram from "./OverallHistogram"; // import HyperPartitions from "./HyperPartitions"; import { IDatarunStatusTypes } from 'types/index'; import { UPDATE_INTERVAL_MS } from "Const"; import ThreeLevel from "./ThreeLevel"; import AskModal from "./AskModal"; import { USER_STUDY,THRESHOLD_STEP } from 'Const'; // const axiosInstance = axios.create({ // baseURL: URL+'/api', // // timeout: 1000, // headers: { // 'Access-Control-Allow-Origin': '*', // } // }); //const TabPane = Tabs.TabPane export interface IProps { datarunID: number | null; datarunStatus: IDatarunStatusTypes; datasetID: number | null; compareK: number setDatarunID: (id: number) => void; postClickEvent: (e: IClickEvent) => void; setDatarunStatus: (e: IDatarunStatusTypes) => void; } export interface IState { runCSV: string, classifiers: IClassifierInfo[], hyperpartitions: IHyperpartitionInfo[], recommendationResult: IRecommendationResult, run_threshold: number, askvisible: boolean } export interface IDatarunSummary { nTried: number; topClassifiers: IClassifierInfo[]; nTriedByMethod: { [method: string]: number }; triedHyperpartition: number[] } export default class DataRuns extends React.Component{ private intervalID: number constructor(props: IProps) { super(props) this.getData = this.getData.bind(this) this.state = { runCSV: '', classifiers: [], hyperpartitions: [], recommendationResult: { result: [] }, run_threshold: THRESHOLD_STEP, askvisible: false } } public async getData() { // const res = await axios.get('../../viz/datarun2_gp.csv') // const {datarunID} = this.props // const res = await axiosInstance.get(`/classifier_summary?datarun_id=${datarunID}`) // const run = res.data const { datarunID, datasetID } = this.props if (datarunID !== null && datasetID !== null) { const runCSV = await getClassifierSummary(datarunID); // const res = await axios.get('../../data/csvs/bandit/hyperpartitions.csv') // const banditData = res.data const classifiers = await getClassifiers(datarunID); let hyperpartitions = await getHyperpartitions(undefined, datarunID).then(hyperpartitions => { // console.log(hyperpartitions); if (Array.isArray(hyperpartitions)) { return hyperpartitions } else { console.error('The fetched hyperpartitions should be an array!'); return [] } }); let recommendationResult = await getRecommendation(datasetID); let askvisible = this.state.askvisible; let run_threshold = this.state.run_threshold; if (USER_STUDY) { if (this.props.datarunStatus === IDatarunStatusTypes.RUNNING) { if (classifiers.length >= run_threshold) { askvisible = true; if (this.props.datarunID !== null) { let promise = stopDatarun(this.props.datarunID); promise .then(datarun => { // this.props.setDatarunID(this.props.datarunID) // pass datarun id to datarun after clicking run button this.props.setDatarunStatus(datarun.status); }) .catch(error => { console.log(error); }); } } } else { if (askvisible == false) { run_threshold = classifiers.length + THRESHOLD_STEP; } } } this.setState({ runCSV: runCSV, classifiers: classifiers, hyperpartitions: hyperpartitions, recommendationResult: recommendationResult, run_threshold: run_threshold, askvisible: askvisible }) } } public startOrStopUpdateCycle() { // this.intervalID = window.setInterval(this.getData, UPDATE_INTERVAL_MS); if (this.props.datarunStatus === IDatarunStatusTypes.RUNNING) { this.intervalID = window.setInterval(this.getData, UPDATE_INTERVAL_MS); } else { clearInterval(this.intervalID); } } public componentDidMount() { // this.getData() // repeatedly get data this.getData(); this.startOrStopUpdateCycle(); } componentDidUpdate(prevProps: IProps) { if (this.state.runCSV == '') { this.getData(); } if (prevProps.datarunID !== this.props.datarunID) { this.getData(); } if (prevProps.datarunStatus !== this.props.datarunStatus) { this.startOrStopUpdateCycle(); } } public componentWillUnmount() { window.clearInterval(this.intervalID) } AskModalCallBack = (mode: number) => { // mode = 0 continue_running // mode = 1 stop_running let { run_threshold, classifiers } = this.state; run_threshold = classifiers.length + THRESHOLD_STEP; if (mode == 0) { /* if(this.props.datarunID!=null){ let promise = startDatarun(this.props.datarunID); promise .then(datarun => { // this.props.setDatarunID(this.props.datarunID) // pass datarun id to datarun after clicking run button this.props.setDatarunStatus(datarun.status); }) .catch(error => { console.log(error); }); }*/ } this.setState({ askvisible: false, run_threshold: run_threshold }) } public render() { let { runCSV, hyperpartitions, classifiers } = this.state let { datasetID, datarunID, compareK } = this.props // let bestCls = classifiers.sort((a, b) => -a.cv_metric + b.cv_metric)[0] hyperpartitions = hyperpartitions.filter(d => d.datarun_id == this.props.datarunID) // const {classifiers} = this.state let datarun: IDatarun = parseDatarun(runCSV) //console.log(runCSV); //console.log(datarun); /*function computeDatarunSummary(classifiers: IClassifierInfo[]): IDatarunSummary { // This need to fix to support other metric? classifiers = [...classifiers]; classifiers.sort((a, b) => -a.cv_metric + b.cv_metric); let nTriedByMethod = {}; let triedHyperpartition = [] classifiers.forEach(c => { const nTried = nTriedByMethod[c.method]; nTriedByMethod[c.method] = nTried ? nTried + 1 : 1; }); triedHyperpartition = Array.from(new Set(classifiers.map(d => d.hyperpartition_id))) return { nTried: classifiers.length, topClassifiers: classifiers, nTriedByMethod, triedHyperpartition, }; } let summary = computeDatarunSummary(classifiers); let methods_num = summary ? Object.keys(summary.nTriedByMethod).length : 0 let hp_num = summary ? summary.triedHyperpartition.length : 0 const progressAlgorithm = (percent: number) => { return `${methods_num}/14` } const progressHyperpartiton = (percent: number) => { return `${hp_num}/172` }*/ if (Object.keys(datarun).length > 0) { return (
{/* */} {/*
Total classifiers: {classifiers.length}
Best classifier: {`${bestCls.method}-${bestCls.id}`} {` ${bestCls.cv_metric.toFixed(3)}±${bestCls.cv_metric_std.toFixed(3)}`}
Algorithm :{' '} {' '} Hyperpartitions:{' '}
*/}
{/*
*/} {/* */}
) } else { return
} } } ================================================ FILE: src/components/DataRuns/Histogram.tsx ================================================ import ReactEcharts from "echarts-for-react"; import {getColor} from "helper" import * as React from "react"; import { IDatarun } from "types"; export interface IProps{ datarun:IDatarun, width: number } export interface IState{ step: number yAxis: 'absolute'|'relative' } export default class Histogram extends React.Component{ constructor(props:IProps){ super(props) this.state={ step :0.05, yAxis:'absolute' //'absolute' or 'relative } } public getOption(){ const {datarun} = this.props let {step, yAxis} = this.state let series = Object.keys(datarun).map((name:string)=>{ let data:number[] = [] for (let i =0; i<1/step; i++){ data.push(0) } datarun[name].forEach(classifier=>{ let performance = parseFloat(classifier['performance'].split(' +- ')[0]) let rangeIdx = Math.floor(performance/step) data[rangeIdx] = data[rangeIdx]+1 }) if (yAxis=='relative'){ let max = Math.max(...data) data = data.map(d=>d/max) } return { type: 'bar', // smooth: false, barGap:'5%', barCategoryGap: "5%", data, itemStyle:{ color: getColor(name), opacity: 1 }, } }) let xAxisData:string[] = [] for (let i =0; i<1/step; i++){ xAxisData.push(`${(i*step).toFixed(2)}-${((i+1)*step).toFixed(2)}`) } const option = { title:{ text:"performance histogram", left: '0.5%', top: '0.5%', }, xAxis: { type: 'category', data: xAxisData, axisTick:{ interval:0, }, axisLabel:{ rotate:-30, interval:1, fontSize: 8, } }, yAxis: { type: 'value' }, grid:{ left: '5%', right: '5%', top: '25%', bottom: '30%', }, series, }; return option } public render(){ return } } ================================================ FILE: src/components/DataRuns/HyperPartitions.tsx ================================================ import ReactEcharts from "echarts-for-react"; import {getColor} from "helper" import * as React from "react"; import {IClassifierInfo} from "service/dataService" export interface IProps{ classifiers: IClassifierInfo[] } export interface IState{ step: number } export default class extends React.Component{ render(){ let {classifiers} = this.props let hyperPartitionSet = new Set(classifiers.map(cls=>cls.hyperpartition_id)) let hyperPartitionIDs = Array.from(hyperPartitionSet) return hyperPartitionIDs.map(hpID=>{ let hpClassifiers = this.props.classifiers.filter(cls=>cls.hyperpartition_id==hpID) return (
) }) } } export class GridHistogram extends React.Component{ constructor(props:IProps){ super(props) this.state={ step: 0.05 } } public getOption(){ let {classifiers} = this.props let {step} = this.state let xAxisData:string[] = [] for (let i =0; i<1/step; i++){ xAxisData.push(`${(i*step).toFixed(2)}-${((i+1)*step).toFixed(2)}`) } let performanceCount:number[] = [] for (let i =0; i<1/step; i++){ performanceCount.push(0) } let series = { type: "heatmap", itemStyle: { // color: getColor(classifiers[0].method), borderColor: 'white', borderWidth: 4, }, data: classifiers.map(classifier=>{ let performanceIdx = Math.floor(classifier.cv_metric/step) performanceCount[performanceIdx] += 1 return [performanceIdx, performanceCount[performanceIdx]-1, classifier.id] }) } const option = { title:{ text: '', left: '0.5%', top: '0.5%', }, tooltip:{ formatter: (params: Object | any[], ticket: string) => { return [ `performance: ${params['name']}`, `classifier id: ${params['data'][2]}` ].join('
') } }, xAxis: { type: 'category', data: xAxisData, axisTick:{ interval:0, }, axisLabel:{ rotate:-30, interval:1, fontSize: 8, }, }, yAxis: { type: 'category', axisLabel:{ show: false }, }, grid:{ left: '5%', right: '5%', top: '25%', bottom: '30%', }, visualMap: { min: Math.min(...classifiers.map(cls=>cls.id)), max: Math.max(...classifiers.map(cls=>cls.id)), calculable: true, show:false, inRange: { color: [getColor(classifiers[0].method)], opacity: [0.4, 1] } }, series, }; return option } public render(){ return } } ================================================ FILE: src/components/DataRuns/Methods.css ================================================ .methods{ overflow-y: scroll; padding: 10px; } .usedMethodContainer{ padding: 3px 8px; float: left; } .method{ border: .4px solid rgba(0,0,0, 0.2); box-shadow: 0 1px 1px 0 rgba(0,0,0,0.06); /* height: ${100/methods.length}% */ height: 100%; padding: 2px 5px; } .unusedMethod{ border: 2px dashed rgba(0,0,0, 0.3); box-shadow: 0 1px 1px 0 rgba(0,0,0,0.06); padding: 2px 5px; margin: 5px; float: left; } ================================================ FILE: src/components/DataRuns/Methods.tsx ================================================ import { } from 'antd'; import * as React from 'react'; import * as methodsDef from "../../assets/methodsDef.json"; import { IMethod, IDatarun, IClassifier } from "types"; import { getColor } from 'helper'; import "./Methods.css" import ReactEcharts from "echarts-for-react"; export interface IState { } export interface IProps { height: number, datarun: IDatarun } export default class Methods extends React.Component{ public render() { // const methodLen = Object.keys(methodsDef).length let { datarun, height } = this.props let usedMethods: string[] = Object.keys(datarun) // const usedMethods = ['SVM', 'RF', 'DT', 'MLP',,'GP', 'LR', 'KNN'] // the used methodsDef should be obtained by requesting server the config file const unusedMethods = Object.keys(methodsDef).filter((name: string) => usedMethods.indexOf(name) < 0) return
{usedMethods.map((name: string, i: number) => { const methodDef = methodsDef[name] return
})} {unusedMethods.map((name: string) => (
{methodsDef[name]['fullname']}
))}
} } class Method extends React.Component<{ methodDef: IMethod, classifiers: IClassifier[] }, {}>{ getOption() { const { methodDef, classifiers } = this.props // pepare data for parallel coordinates let parallelAxis: any[] = [] let idx = 0 methodDef.root_hyperparameters.forEach((p: string) => { let parameter = methodDef['hyperparameters'][p] if (parameter['values']) { //category axis parallelAxis.push({ dim: idx, name: p, type: 'category', data: parameter['values'] }) } else if (parameter['range']) {//value axis if (parameter['range'].length > 1) { //range in the form of [min, max] parallelAxis.push({ dim: idx, name: p, type: 'value', min: parameter['range'][0], max: parameter['range'][1] }) } else { // range in the form of [max] parallelAxis.push({ dim: idx, name: p, type: 'value', min: 0, max: parameter['range'][0] }) } } else if (parameter['type'] == 'list') { // the hidden layer sizes in MLP for (let hidden_l = 0; hidden_l < parameter['list_length'].length; hidden_l++) { parallelAxis.push({ dim: idx + hidden_l, name: `${p}[${hidden_l}]`, type: 'value', min: 0, max: parameter['element']['range'][1] }) } idx = idx + parameter['list_length'].length - 1 // parallelAxis.push({ // dim: idx, name:p, type:'value' // }) } else { parallelAxis.push({ dim: idx, name: p, type: 'value' }) } }) //performance as a value axis parallelAxis.push({ dim: parallelAxis.length, name: 'performance', type: 'value', min: 0, max: 1 }) //remove axes that only have one value parallelAxis = parallelAxis.filter(axis => { if (axis.type == 'value') { return true } else { return axis.data.length > 1 } }) //re organize the dim index after filtering and inserting parallelAxis.forEach((p, idx: number) => { p['dim'] = idx, p['nameRotate'] = 45 p['axisLabel'] = { rotate: 45 } p['gridIndex'] = 0 }) let data: any[] = [] classifiers.forEach(((classifier: IClassifier, idx: number) => { let par_dict = {} let parameters = classifier['parameters'].split('; ') parameters = parameters.map((p: string) => { let [k, v] = p.split(' = ') return par_dict[k] = v }) // for the hidden layer sizes in MLP if (par_dict['len(hidden_layer_sizes)']) { for (let i = parseInt(par_dict['len(hidden_layer_sizes)']); i < 3; i++) { par_dict[`hidden_layer_sizes[${i}]`] = 0 } } // add perforamce par_dict['performance'] = parseFloat(classifier['performance'].split(' +- ')) let attrs = parallelAxis.map(p => { let value = par_dict[p.name] if (p.type == 'value') { return parseFloat(value) } else { return value } }) data.push(attrs) } )) // prepare data for performance histogram const step = 0.05 let histogramData: number[] = [] for (let i = 0; i < 1 / step; i++) { histogramData.push(0) } classifiers.forEach(classifier => { let performance = parseFloat(classifier['performance'].split(' +- ')[0]) let rangeIdx = Math.floor(performance / step) histogramData[rangeIdx] = histogramData[rangeIdx] + 1 }) // normalize to 0-1 let max = Math.max(...histogramData) histogramData = histogramData.map(d => d / max) let yAxisData: string[] = [] for (let i = 0; i < 1 / step; i++) { yAxisData.push(`${(i * step).toFixed(2)}-${((i + 1) * step).toFixed(2)}`) } let barSeries = { name: methodDef.name, type: 'bar', coordinateSystem: 'cartesian2d', xAxisIndex: 0, yAxisIndex: 0, data: histogramData, itemStyle: { color: getColor(methodDef.name), opacity: 0.6, }, tooltip: { formatter: (params: Object | any[], ticket: string) => { return `${params['seriesName']} between ${params['name']}: ${params['data'] * max}` } } } // construct echarts option const option = { title: { text: `${methodDef.fullname}: {term|${classifiers.length}}`, left: '0.5%', top: '0.5%', textStyle: { fontSize: 15, rich: { term: { borderColor: "black", borderWidth: 1, borderRadius: 15, padding: 5 } } } }, tooltip: {}, grid: [ // this grid for the performance histogram { id: 0, left: '80%', right: '2%', top: '35%', bottom: '5%', } ], // axis for parallel coordinates parallelAxis, parallel: { gridIndex: 0, bottom: '5%', left: '5%', top: '35%', right: '20%', // height: '31%', // width: '55%', parallelAxisDefault: { type: 'value', name: 'performance', nameLocation: 'end', nameGap: 10, splitNumber: 3, nameTextStyle: { fontSize: 14 }, axisLine: { lineStyle: { color: '#555' } }, axisTick: { lineStyle: { color: '#555' } }, splitLine: { show: false }, axisLabel: { textStyle: { color: '#555' } } } }, // axes for performance histogram xAxis: { type: 'value', gridIndex: 0, id: 0, show: false, axisLabel: { show: false } }, yAxis: { type: 'category', id: 0, gridIndex: 0, data: yAxisData, show: false, axisLabel: { show: false } }, series: [ { name: 'parallel', type: 'parallel', smooth: true, inactiveOpacity: 0, activeOpacity: 1, tooltip: {}, lineStyle: { normal: { width: 1, opacity: 1, color: getColor(methodDef.name) } }, data, }, barSeries // { // name: 'bar', // type: 'bar', // data: [120, 200, 150, 80, 70, 110, 130] // } ], } return option } render() { return } } ================================================ FILE: src/components/DataRuns/MethodsDotBarChart.css ================================================ .methods{ overflow-y: scroll; padding: 10px; } .usedMethodContainer{ padding: 3px 8px; float: left; } .method{ border: .4px solid rgba(0,0,0, 0.2); box-shadow: 0 1px 1px 0 rgba(0,0,0,0.06); /* height: ${100/methods.length}% */ height: 100%; padding: 2px 5px; } .unusedMethod{ border: 2px dashed rgba(0,0,0, 0.3); box-shadow: 0 1px 1px 0 rgba(0,0,0,0.06); padding: 2px 5px; margin: 5px; float: left; } .box { font: 10px sans-serif; } .box line, .box rect, .box circle { fill: #fff; stroke: #000; stroke-width: 1.5px; } .box .center { stroke-dasharray: 3,3; } .box .outlier { fill: none; stroke: #ccc; } ================================================ FILE: src/components/DataRuns/MethodsDotBarChart.tsx ================================================ //import { Button } from 'antd'; import * as React from 'react'; import * as methodsDef from "../../assets/methodsDef.json"; import { IMethod, IDatarun, IClassifier } from "types"; //import { IDatarun } from "types"; //import { getColor ,RED,YELLOW, getGradientColor} from 'helper'; import { getColor } from 'helper'; import "./MethodsDotBarChart.css" //import ReactEcharts from "echarts-for-react"; export interface IState { } export interface IProps { height: number, datarun: IDatarun } export interface ChartProps { width: number, height: number, x: number, y: number, methodDef: IMethod, classifiers : IClassifier[], name:string } export default class MethodsDotBarChart extends React.Component{ public render() { // const methodLen = Object.keys(methodsDef).length let { datarun, height } = this.props let usedMethods: string[] = Object.keys(datarun) // const usedMethods = ['SVM', 'RF', 'DT', 'MLP',,'GP', 'LR', 'KNN'] // the used methodsDef should be obtained by requesting server the config file const unusedMethods = Object.keys(methodsDef).filter((name: string) => usedMethods.indexOf(name) < 0) return
{usedMethods.map((name: string, i: number) => { const methodDef = methodsDef[name]; const classifier_num = datarun[name].length; const top_width = classifier_num*6+60; return
})} {unusedMethods.map((name: string) => (
{methodsDef[name]['fullname']}
))}
} } class SingleBoxPlot { boxWhiskers=(d:any)=> { return [0, d.length - 1]; } boxQuartiles=(d:any)=> { const d3 = require("d3"); return [ d3.quantile(d, .25), d3.quantile(d, .5), d3.quantile(d, .75) ]; } public width = 1; public height = 1; public duration = 0; public domain : any = null; public value = Number; public whiskers = this.boxWhiskers; public quartiles = this.boxQuartiles; public tickFormat : any= null; public setdomain(x:any) { this.domain = x; }; renderBoxPlot(data:number[],obj:any){ // obj -> Selection. // data -> sequential data. const d3 = require("d3"); let width = this.width, height = this.height, //duration = this.duration, domain = this.domain, // value = this.value, whiskers = this.whiskers, quartiles = this.quartiles; let sortedData = data.sort((a,b)=>{return a - b;}); let d = sortedData; let g = obj; let n = sortedData.length, min = sortedData[0], max = sortedData[n - 1]; // Compute quartiles. Must return exactly 3 elements. var quartileData = quartiles(sortedData); // Compute whiskers. Must return exactly 2 elements, or null. var whiskerIndices = whiskers && whiskers(sortedData), whiskerData = whiskerIndices && whiskerIndices.map(function(i:number) { return sortedData[i]; }); // Compute outliers. If no whiskers are specified, all data are "outliers". // We compute the outliers as indices, so that we can join across transitions! var outlierIndices = whiskerIndices ? d3.range(0, whiskerIndices[0]).concat(d3.range(whiskerIndices[1] + 1, n)) : d3.range(n); // Compute the new x-scale. var x1 = d3.scaleLinear() .domain(domain || [min, max]) .range([height, 0]); // Retrieve the old x-scale, if this is an update. //var x0 = d3.scaleLinear() // .domain([0, Infinity]) // .range(x1.range()); // Stash the new scale. //obj.__chart__ = x1; // Note: the box, median, and box tick elements are fixed in number, // so we only have to handle enter and update. In contrast, the outliers // and other elements are variable, so we need to exit them! Variable // elements also fade in and out. // Update center line: the vertical line spanning the whiskers. var center = g.selectAll("line.center") .data(whiskerData ? [whiskerData] : []); center.enter().insert("line", "rect") .attr("class", "center") .attr("x1", width / 2) .attr("y1", function(d:any) { return x1(d[0]); }) .attr("x2", width / 2) .attr("y2", function(d:any) { return x1(d[1]); }) .style("opacity", 1); // Update innerquartile box. var box = g.selectAll("rect.box") .data([quartileData]); box.enter().append("rect") .attr("class", "box") .attr("x", 0) .attr("y", function(d:any) { return x1(d[2]); }) .attr("width", width) .attr("height", function(d:any) { return x1(d[0]) - x1(d[2]); }); // Update median line. var medianLine =g.selectAll("line.median") .data([quartileData[1]]); medianLine.enter().append("line") .attr("class", "median") .attr("x1", 0) .attr("y1", x1) .attr("x2", width) .attr("y2", x1); // Update whiskers. var whisker = g.selectAll("line.whisker") .data(whiskerData || []); whisker.enter().insert("line", "circle, text") .attr("class", "whisker") .attr("x1", 0) .attr("y1", x1) .attr("x2", width) .attr("y2", x1) .style("opacity", 1); // Update outliers. var outlier = g.selectAll("circle.outlier") .data(outlierIndices, Number); outlier.enter().insert("circle", "text") .attr("class", "outlier") .attr("r", 5) .attr("cx", width / 2) .attr("cy", function(i:any) { return x1(d[i]); }) .style("opacity", 1); } } class BoxPlot extends React.Component{ TAG="BoxPlot_"; componentDidMount() { this.renderBoxPlot(); } renderBoxPlot(){ let topx = this.props.x; let topy = this.props.y; let name = this.props.name; let TAG = this.TAG; let d3 = require("d3"); var margin = {top: 0, right: 0, bottom: 0, left: 0}, width = this.props.width - margin.left - margin.right, height = this.props.height - margin.top - margin.bottom; var min = Infinity, max = -Infinity; var chart = new SingleBoxPlot(); chart.whiskers = iqr(1.5); chart.width = width; chart.height = height; d3.csv("morley.csv", function(error:any, csv:any) { if (error) throw error; var data:any[] = []; csv.forEach(function(x:any) { //var e : number = Math.floor(x.Expt - 1), // r = Math.floor(x.Run - 1), var s = Math.floor(x.Speed), d = data[0]; if (!d) d = data[0] = [s]; else d.push(s); if (s > max) max = s; if (s < min) min = s; }); chart.setdomain([600, 1200]); d3.select("#"+TAG+name) .attr("class", "box") .attr("width", width + margin.left + margin.right) .attr("height", height + margin.bottom + margin.top); var svg_box = d3.selectAll("#"+TAG+name).attr("transform", "translate(" + topx + "," + topy + ")");; var g_box = svg_box.append("g") .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); chart.renderBoxPlot(data[0],g_box); }); // Returns a function to compute the interquartile range. function iqr(k:any) { return function(d:any):number[] { let arr = chart.quartiles(d) var q1 = arr[0], q3 = arr[2], iqr = (q3 - q1) * k, i:number = -1, j = d.length; while (d[++i] < q1 - iqr); while (d[--j] > q3 + iqr); return [i, j]; }; } } render() { const {name}=this.props; return } } class DotBarChart extends React.Component{ TAG = "DotBarChart_"; componentDidMount() { this.renderD3(); } renderD3() { const d3 = require("d3"); // Get Datasets const { methodDef, classifiers } = this.props; let step = 0.1; let data:number[] = []; for (let i =0; i<1/step; i++){ data.push(0) } classifiers.forEach((classifier:IClassifier)=>{ let performance = parseFloat(classifier['performance'].split(' +- ')[0]) let rangeIdx = Math.floor(performance/step) data[rangeIdx] = data[rangeIdx]+1 }); let total = 0; data.forEach(d=>{ total+=d; }); let yAxisData:string[] = [] for (let i =0; i<=1/step; i++){ yAxisData.push(`${(i*step).toFixed(2)}`) } // g // Set the dimensions of the canvas / graph let margin = {top: 0, right: 0, bottom: 0, left: 0}, width = this.props.width - margin.left - margin.right, height = this.props.height - margin.top - margin.bottom, top_margin = {top:this.props.y,left:this.props.x}; // Set the ranges let xScale = d3.scaleLinear().range([0, width]); let yScale = d3.scaleLinear().range([height, 0]); let yAxis = d3.axisLeft() .scale(yScale) .tickFormat(function (d:any) { return ""; }) .ticks(1); xScale.domain([0, total]); yScale.domain([0, 1]); //Create SVG element let top_svg = d3.select("#"+this.TAG+this.props.name).attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom).attr("transform", "translate(" + top_margin.left + "," + top_margin.top + ")");; let svg = top_svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); //Create Y axis svg.append("g") .attr("transform", "translate(0,0)") .attr("class", "y axis") .call(yAxis); let groups = svg .selectAll("g.group") .data( data ) .enter() .append('g') .attr("class", "group"); function generate_array(d:number,index:number){ // index*step -> performance range // d -> number var arr = new Array(d); for(var i=0;i } } ================================================ FILE: src/components/DataRuns/MethodsLineChart.css ================================================ .methods{ overflow-y: scroll; padding: 10px; } .usedMethodContainer{ padding: 3px 8px; float: left; } .method{ border: .4px solid rgba(0,0,0, 0.2); box-shadow: 0 1px 1px 0 rgba(0,0,0,0.06); /* height: ${100/methods.length}% */ height: 100%; padding: 2px 5px; } .unusedMethod{ border: 2px dashed rgba(0,0,0, 0.3); box-shadow: 0 1px 1px 0 rgba(0,0,0,0.06); padding: 2px 5px; margin: 5px; float: left; } div.tooltip { position: absolute; text-align: left; color: aliceblue; width: 180px; height: 80px; padding: 10px; font: 12px sans-serif; background: rgba(0, 0, 0, 0.671); border: 10px; border-radius: 5px; pointer-events: none; } .link { fill: none; stroke-width: 1.5px; } .bottomright { position: absolute; bottom: 80px; right: 30px; font-size: 18px; } ================================================ FILE: src/components/DataRuns/MethodsLineChart.tsx ================================================ import { Button,Checkbox,message,InputNumber } from 'antd'; import * as React from 'react'; import * as methodsDef from "../../assets/methodsDef.json"; import { IMethod, IDatarun, IClassifier } from "types"; import { IConfigsInfo,INewDatarunResponse,IUpdateDatarunConfig, ICommonResponse,IHyperpartitionInfo,IClassifierInfo,IRecommendationResult,IClickEvent } from '../../service/dataService'; import { getConfigs,getDatarunConfigs,postNewDatarun,updateDatarunConfigs} from '../../service/dataService'; //import { IDatarun } from "types"; //import { getColor ,RED,YELLOW, getGradientColor} from 'helper'; import { getColor } from 'helper'; import "./MethodsLineChart.css"; //import ReactEcharts from "echarts-for-react"; /*const sortSwitchStyle = { position: "absolute" as "absolute", top: "5px", right: "5px" }*/ export interface IState { mode : number, selectedMethodName : string[], nowselectedMethodName : string, selectedHyperpartitionName :string, selectedHyperpartitionId : number, loading : boolean , configsMethod : string[], configsBudget:number, hyperparametersRangeSelectedName:string, hyperparametersRangeSelected:number[], hyperparametersRangeAlreadySelected:any } export interface IProps { height: number, datarun: IDatarun, datasetID: number | null, datarunID: number | null, setDatarunID: (id: number) => void, hyperpartitions : IHyperpartitionInfo[], classifiers: IClassifierInfo[], compareK: number, recommendationResult:IRecommendationResult, postClickEvent:(e:IClickEvent)=>void } export interface ChartProps { width: number, height: number, x: number, y: number, methodDef: IMethod, classifiers : IClassifier[], name:string, totallen?:number, methodName?:string, onClick:(a:string)=>void, selected?:boolean, } export interface DetailChartProps{ width: number, height: number, x: number, y: number, methodDef: IMethod, classifiers : IClassifier[], name:string, min:number, max:number, hyname:string, alreadySelectedRange:number[], hintRange:number[], onSelectedChange:(method:string,name:string,range:number[])=>void, valueType:string } export interface HyperpartitionHeatmapProps{ width: number, height: number, x: number, y: number, methodDef: IMethod, classifiers : IClassifier[], name:string, totallen?:number, methodName?:string, onClick:(a:string,b:number)=>void, selected?:boolean, hpname:string, methodSelected:boolean, hpid:number } export default class MethodsLineChart extends React.Component{ constructor(props:IProps){ super(props); //let usedMethods:any[] = Object.keys(this.props.datarun); this.getCurrentConfigs(); this.state={ mode : 0, selectedMethodName :[], nowselectedMethodName:"", selectedHyperpartitionName : "", loading:false, configsMethod:[], configsBudget:1000, hyperparametersRangeSelectedName:"", hyperparametersRangeSelected:[], hyperparametersRangeAlreadySelected:{}, selectedHyperpartitionId:0 }; } index = 0; // global component key index displayMethod = []; allMethods = []; onMethodsOverViewClick = (Methods:string)=>{ // Show Methods console.log("onclick"); let selectedMethodName:string[] = this.state.selectedMethodName; let i = selectedMethodName.indexOf(Methods); if (i > -1) { selectedMethodName.splice(i, 1); this.setState({selectedMethodName : selectedMethodName}); }else{ selectedMethodName.push(Methods); //if(this.state.mode==0||this.state.mode==2){ this.setState({ mode : 1, selectedMethodName : selectedMethodName, selectedHyperpartitionName:"", nowselectedMethodName:Methods }); // }else{ // this.setState({ // selectedMethodName : selectedMethodName // }); // } } }; onHyperpartitionsOverViewClick = (HyperpatitionName:string,HyperpartitionId:number)=>{ //alert("onclick "+HyperpatitionName); this.setState({ mode : 2, selectedHyperpartitionName : HyperpatitionName, selectedHyperpartitionId : HyperpartitionId }); }; public getbestperformance(list:IClassifier[]){ if(list.length>0){ let classifierPerformance:number[]=list.map((classifier:IClassifier)=>{ let performance = parseFloat(classifier['performance'].split(' +- ')[0]); return performance; }); classifierPerformance.sort(function(a:any,b:any){ return b-a; }); return classifierPerformance[0]; }else{ return 0; } } public getmaxnum(classifiers:IClassifier[]){ let step = 0.1; let data:number[] = []; for (let i =0; i<=1/step; i++){ data.push(0) } let bestperformance = 0; classifiers.forEach((classifier:IClassifier)=>{ let performance = parseFloat(classifier['performance'].split(' +- ')[0]); if(performance>bestperformance){ bestperformance=performance; } let rangeIdx = Math.floor(performance/step) data[rangeIdx] = data[rangeIdx]+1 }); let maxvalue = 0; data.forEach((p:any)=>{ if(p>maxvalue){ maxvalue = p; } }) return maxvalue; } componentDidMount(){ /* const d3 = require("d3"); let zoom = d3.zoom() .scaleExtent([1, 10]) .on("zoom", function(){ let container = d3.select("#top_container"); //container.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")"); container.attr("transform", d3.event.transform); }); let margin = {left:0,right:0,top:0,bottom:0}; d3.select("#top_container").attr("transform", "translate(" + margin.left + "," + margin.right + ")").call(zoom); */ // My computer // width = 1313 (0.82) // height = 567 (0.77) // tptalwidth = 1600 // totalheight = 730 // Large Computer // width = 1757 (0.82) // height = 820 (0.78) // totalwidth = 2133 // totalheight = 1047 // const d3 = require("d3"); //console.log("methodstop width height"); //console.log(d3.select("#methodstop")); //console.log(d3.select("#methodstop").node().getBoundingClientRect()); } componentWillReceiveProps(nextProps : IProps) { //let { datarun } = nextProps; //let usedMethods = Object.keys(datarun); if(this.state.loading==false){ /* this.setState({ configsMethod:usedMethods });*/ this.getCurrentConfigs(); } } onCheckBoxChange=(e : any)=>{ let checked = e.target.checked; let value = e.target.value; if(checked==false){ let configsMethod : string[] = this.state.configsMethod; let index = configsMethod.indexOf(value); if(index>-1){ configsMethod.splice(index, 1); this.setState({ configsMethod:configsMethod }); } }else{ let configsMethod : string[] = this.state.configsMethod; configsMethod.push(value); this.setState({ configsMethod:configsMethod }); } } createNewDataRun = () => { // get configs from server ; // submit configs in this view // switch to the new datarun. let methods = this.state.configsMethod; let budget = this.state.configsBudget; if(this.props.datasetID!=null){ let promise: Promise; promise = getConfigs(); promise .then(configs => { configs.methods = methods; configs.budget = budget; this.setState({ loading: true }); let datasetID : number= this.props.datasetID?this.props.datasetID:0; let promise:Promise = postNewDatarun(datasetID,configs); //const promise = this.props.onSubmit(this.state.configs); console.log("post new data run in methods view"); console.log(configs); promise.then(status => { if(status.success == true){ message.success("Submit Configs Successfully. Datarun ID:"+status.id); this.props.setDatarunID(status.id); }else{ message.error("Submit Configs Failed."); } this.setState({ loading: false }); }).catch(error=>{ console.log(error); message.error("Submit Configs Failed."); this.setState({ loading: false}); }); }) .catch(error => { console.log(error); }); } } getCurrentConfigs = () =>{ if(this.props.datarunID!=null){ let promise: Promise; let datarunID : number= this.props.datarunID?this.props.datarunID:0; promise = getDatarunConfigs(datarunID); promise.then(configs=>{ this.setState({ configsMethod:configs.methods, configsBudget:configs.budget }) }) } } updateCurrentDataRun = () => { // get configs from server ; // submit configs in this view // switch to the new datarun. let methods = this.state.configsMethod; let budget = this.state.configsBudget; if(this.props.datarunID!=null){ let promise: Promise; let datarunID : number= this.props.datarunID?this.props.datarunID:0; promise = getDatarunConfigs(datarunID); promise .then(configs => { configs.methods = methods; configs.budget = budget; // Workflow: // filter selected method hyperparameters. // normalized the value. // construct method_config. (the server will check type and automatically update the configs in the list.) // submit. //let methods_configs:any = {}; //methods_configs["knn"] = { // "n_neighbors":{ // "type" : "int", // "range" : [8,10] // } // } this.setState({ loading: true }); let submitconfigs : IUpdateDatarunConfig = {}; submitconfigs.configs = configs; if(this.state.mode==2&&this.state.selectedHyperpartitionName!=""){ submitconfigs.hyperpartitions=[this.state.selectedHyperpartitionId]; } //submitconfigs.method_configs = methods_configs; let promise:Promise = updateDatarunConfigs(datarunID,submitconfigs); //const promise = this.props.onSubmit(this.state.configs); console.log("update data run in methods view"); console.log(configs); //console.log(this.state.hyperparametersRangeAlreadySelected); promise.then(status => { if(status.success == true){ message.success("Update Configs Successfully."); }else{ message.error("Update Configs Failed."); } this.setState({ loading: false }); }).catch(error=>{ console.log(error); message.error("Update Configs Failed."); this.setState({ loading: false}); }); }) .catch(error => { console.log(error); }); } } onBudgetChange = (budget : any) =>{ this.setState({configsBudget:budget}); } onBrushSelected = (methodname:string, hpaName: string,range:number[])=>{ let {hyperparametersRangeAlreadySelected} = this.state; let update : boolean = false; if(!hyperparametersRangeAlreadySelected[methodname]){ hyperparametersRangeAlreadySelected[methodname]={}; } if(hyperparametersRangeAlreadySelected[methodname][hpaName]){ if(hyperparametersRangeAlreadySelected[methodname][hpaName][0]==range[0]&&hyperparametersRangeAlreadySelected[methodname][hpaName][1]==range[1]){ // nothing }else{ update = true; } }else{ if(range.length>0){ update = true; } } if(update){ hyperparametersRangeAlreadySelected[methodname][hpaName]=range; this.setState({ hyperparametersRangeSelectedName : hpaName, hyperparametersRangeSelected : range, hyperparametersRangeAlreadySelected : hyperparametersRangeAlreadySelected }) } } public render() { // const methodLen = Object.keys(methodsDef).length let { datarun, height } = this.props; let {mode,selectedHyperpartitionName,hyperparametersRangeAlreadySelected} = this.state; let selectedMethodName:string[] = this.state.selectedMethodName; let usedMethods: string[] = Object.keys(datarun); let totallen = 0; // Width and height constant const d3 = require("d3"); let bodyAttr = d3.select("body").node().getBoundingClientRect(); let topheight = (bodyAttr.height-10) * 0.75; let topwidth = bodyAttr.width * 0.80; let methodnumber = Object.keys(methodsDef).length; // Default Attr: let methodBoxAttr = {width : 70,height:70,gap:15,x:2,y:30,checkboxY:2,checkboxWidth:75,checkboxHeight:30}; let HeatmapAttr ={topgap:100,height:73}; let DetailChartAttr = {left:20+5,width:150,topgap:30,top:12,horizontalgap:10,height:175,extraheight:45,extray:8}; // ------------ Detail Layout Coordinates Calculation -------------------------// let hratio = 0.18; if(topheight*hratio>methodBoxAttr.height+methodBoxAttr.y){ methodBoxAttr.height=topheight*hratio - methodBoxAttr.y; methodBoxAttr.width=topheight*hratio - methodBoxAttr.y; } if(topwidthmethodBoxHeight+10){ HeatmapAttr.topgap = topheight*hratio - (methodBoxHeight); } hratio = 0.50; if(topheight*hratio>methodBoxHeight+HeatmapAttr.topgap+73){ HeatmapAttr.height = topheight*hratio - (methodBoxHeight+HeatmapAttr.topgap); } let HeatmapBottomY = methodBoxHeight+HeatmapAttr.topgap+HeatmapAttr.height; if(topheight>HeatmapBottomY+DetailChartAttr.topgap+DetailChartAttr.top+DetailChartAttr.height+DetailChartAttr.extraheight){ DetailChartAttr.height = topheight - (HeatmapBottomY+DetailChartAttr.topgap+DetailChartAttr.top+DetailChartAttr.extraheight); } // ------------ End Detail Layout Coordinates Calculation -------------------------// // ------------ Data preprocessing ----------------------------------------------// let hpid2hp : any = {}; this.props.hyperpartitions.forEach((data:IHyperpartitionInfo)=>{ hpid2hp[data.id]=data; }); usedMethods.forEach((name: string, i: number)=>{ const classifier_num = datarun[name].length; totallen+=classifier_num; }) let hyperpartitionData : IDatarun= {}; let hyperpartition2Method : {[hyperpartition:string]:string}= {}; let Method2hyperpartition : {[method:string]:string[]} = {}; let hyperpartition2hpid : {[hyperpartition:string]:number}= {}; usedMethods.forEach((name: string, i: number) => { const methodDef = methodsDef[name]; const classifiers = datarun[name]; let parameterList: any[] = []; let idx = 0; methodDef.root_hyperparameters.forEach((p: string) => { let parameter = methodDef['hyperparameters'][p] if (parameter['values']) { //category axis parameterList.push({ dim: idx, name: p, type: 'category', data: parameter['values'] }) } }) classifiers.forEach(((classifier: IClassifier, idx: number) => { let par_dict = {} let parameters = classifier['parameters'].split('; ') parameters = parameters.map((p: string) => { let [k, v] = p.split(' = ') return par_dict[k] = v }) // for the hidden layer sizes in MLP if (par_dict['len(hidden_layer_sizes)']) { for (let i = parseInt(par_dict['len(hidden_layer_sizes)']); i < 3; i++) { par_dict[`hidden_layer_sizes[${i}]`] = 0 } } // add perforamce par_dict['performance'] = parseFloat(classifier['performance'].split(' +- ')) let ScatterPlotCategory : any[] = [methodDef.fullname]; parameterList.forEach(p => { let value = par_dict[p.name] if (p.type == 'category') { ScatterPlotCategory.push(p.name+":"+value); } }); let HyperpartitionName = ScatterPlotCategory.join("\n"); if(!Method2hyperpartition[name]){ Method2hyperpartition[name]=[]; } if(!hyperpartitionData[HyperpartitionName]){ hyperpartitionData[HyperpartitionName] = []; Method2hyperpartition[name].push(HyperpartitionName); } hyperpartitionData[HyperpartitionName].push(classifier); hyperpartition2Method[HyperpartitionName] = name; if(hyperpartition2hpid[HyperpartitionName]){ if( hyperpartition2hpid[HyperpartitionName] !== parseInt(classifier["hyperpartitionID"])){ console.log("inconsistent id mapping" + HyperpartitionName); } } hyperpartition2hpid[HyperpartitionName] = parseInt(classifier["hyperpartitionID"]); } )); }); //console.log("id mapping"); //console.log(hyperpartition2hpid); // ------------ Data preprocessing End----------------------------------------------// // ------------- Mode selection checked ----------------------------------------------// //let usedHyperpartitions: string[] = Object.keys(hyperpartitionData); if(mode==1||mode==2){ //is method name exist? let flag = 0; let len = selectedMethodName.length; for(let i = 0;i usedMethods.indexOf(name) < 0) let hpname :string[]= []; usedMethods.forEach((name: string, i: number) =>{ hpname = hpname.concat(Method2hyperpartition[name]); }); let performance = usedMethods.map((name: string, i: number) =>{ return {value:this.getbestperformance(datarun[name]),name:name}; }); performance.sort(function(a:any,b:any){ return b.value-a.value; }); let sortedusedMethods = performance.map((d:any)=>{ return d.name; }); let maxnum = 1; // calculate the max num sortedusedMethods.forEach((name: string, i: number)=>{ let num = this.getmaxnum(datarun[name]); if(num>maxnum){ maxnum=num; } }); let generateHp = ()=>{ if(mode==0||mode==1||mode==2){ let gap = 20; let nowx = 2; let lastwidth = 0; let hpheight = HeatmapAttr.height; let hpmargin = 12; let rectwidth = 5; let rectheight = 5; let verticalnum = Math.floor((hpheight-hpmargin)/(rectheight+1)); // horizontalnum should be set to be Math.ceil(num/verticalnum) //let horizontalnum = Math.floor(width/(rectwidth+1)); let hpname :string[]= []; usedMethods.forEach((name: string, i: number) =>{ hpname = hpname.concat(Method2hyperpartition[name]); }); let performance = hpname.map((name: string, i: number) =>{ return {value:this.getbestperformance(hyperpartitionData[name]),name:name}; }); performance.sort(function(a:any,b:any){ return b.value-a.value; }); let sortedhpname = performance.map((d:any)=>{ return d.name; }); let pathgenerator:any[] = []; let array = sortedhpname.map((name: string, i: number) => { let selected = selectedHyperpartitionName===name; let id = hyperpartition2hpid[name]; nowx+=lastwidth;lastwidth=0; const selectedMethod = hyperpartition2Method[name]; const methodDef = methodsDef[selectedMethod]; let methodselected = selected; if(methodselected==false){ const nowselectedMethod = hyperpartition2Method[selectedHyperpartitionName]; if(nowselectedMethod===selectedMethod){ methodselected=true; } } const hplen:number = hyperpartitionData[name].length; let horizontalnum = Math.ceil(hplen/verticalnum); let hpwidth = hpmargin + horizontalnum * (rectwidth+1); lastwidth = hpwidth+gap; let index1 = this.state.selectedMethodName.indexOf(selectedMethod); let nowy = methodBoxAttr.y+methodBoxAttr.height+methodBoxAttr.gap+HeatmapAttr.topgap; if(index1>-1){ let index0 = sortedusedMethods.indexOf(selectedMethod); if(index0>-1) { let x1 = (methodBoxAttr.x+index0*(methodBoxAttr.width+methodBoxAttr.gap))+methodBoxAttr.width/2; let y1 = methodBoxAttr.y+methodBoxAttr.height; let x2 = nowx+hpwidth/2; let y2 = nowy; pathgenerator.push({ x1:x1, x2:x2, y1:y1, y2:y2, color:getColor(methodDef.name) }) } } return (); }); let array2 = pathgenerator.map((node: any, i: number) => { let mean_y = (node.y1 + node.y2) / 2; let pathlang = "M"+node.x1+","+node.y1+"C"+node.x1+","+mean_y+" "+node.x2+","+mean_y+" "+node.x2+","+node.y2; return (); }); return array.concat(array2); }else{ return } }; // end of generate Hp let generateHpdetail = ()=>{ if(mode==2||mode==1){ console.log("show detail"); let selectedMethod : string = ""; if(mode==1){ selectedMethod = this.state.nowselectedMethodName; }else if(mode==2){ selectedMethod = hyperpartition2Method[selectedHyperpartitionName]; } let methodDef = methodsDef[selectedMethod]; // methodDef['hyperparameters'][name]['type'] let HyperparameterList: any[] = []; let idx = 0 let rangeMap : any ={}; let hintRangeMap : any ={}; // hyperparameter analysis methodDef.root_hyperparameters.forEach((p: string) => { let parameter = methodDef['hyperparameters'][p] if (parameter['values']) { //category axis } else if (parameter['range']) {//value axis if (parameter['range'].length > 1) { //range in the form of [min, max] HyperparameterList.push({ dim: idx, name: p, type: 'value', min: parameter['range'][0], max: parameter['range'][1], valueType :parameter['type'] }) } else { // range in the form of [max] HyperparameterList.push({ dim: idx, name: p, type: 'value', min: 0, max: parameter['range'][0] ,valueType :parameter['type']}) } } else if (parameter['type'] == 'list') { // the hidden layer sizes in MLP for (let hidden_l = 0; hidden_l < parameter['list_length'].length; hidden_l++) { HyperparameterList.push({ dim: idx + hidden_l, name: `${p}[${hidden_l}]`, type: 'value', min: 0, max: parameter['element']['range'][1], valueType :parameter['type'] }) } idx = idx + parameter['list_length'].length - 1 } else { HyperparameterList.push({ dim: idx, name: p, type: 'value',valueType :parameter['type'] }) } }) // get the real range HyperparameterList.map((data:any,index:number)=>{ rangeMap[data.name]={min:data.min,max:data.max,valueType:data.valueType}; }); let hyperparameterData : any = {}; //let totallen = classifiers.length; // calculate the corresponding data let pushData = (classifier: IClassifier, idx: number , selected:boolean) =>{ let par_dict = {} let parameters = classifier['parameters'].split('; ') parameters = parameters.map((p: string) => { let [k, v] = p.split(' = ') return par_dict[k] = v }) // for the hidden layer sizes in MLP if (par_dict['len(hidden_layer_sizes)']) { for (let i = parseInt(par_dict['len(hidden_layer_sizes)']); i < 3; i++) { par_dict[`hidden_layer_sizes[${i}]`] = 0 } } // add perforamce par_dict['performance'] = parseFloat(classifier['performance'].split(' +- ')); let performance = parseFloat(classifier['performance'].split(' +- ')[0]) //let trailID : number = classifier['trail ID']; let hpaSelect : boolean = true; let filterRange = hyperparametersRangeAlreadySelected[methodDef.name]; if(filterRange){ let filterkeys = Object.keys(filterRange); if(filterkeys.length>0){ filterkeys.forEach((name:string,index:number)=>{ if(hpaSelect){ // Avoid endless comparison if(par_dict[name]){ let data = par_dict[name]; if(filterRange[name].length==2){ let hpamin = filterRange[name][0]; let hpamax = filterRange[name][1]; if(datahpamax){ hpaSelect = false; } } }else{ hpaSelect = false; } } }); } else{ hpaSelect=false; } }else{ hpaSelect = false; } HyperparameterList.forEach(p => { let value = par_dict[p.name] if (p.type == 'value') { if(!hyperparameterData[p.name]){ hyperparameterData[p.name]=[]; } let thisvalue = parseFloat(value); hyperparameterData[p.name].push({value:thisvalue,performance:performance,selected:selected}); // calculate hint if(hpaSelect){ if(!hintRangeMap[p.name]){ hintRangeMap[p.name]=[thisvalue,thisvalue]; }else{ let hintmin = hintRangeMap[p.name][0]; let hintmax = hintRangeMap[p.name][1]; if(thisvaluehintmax){ hintRangeMap[p.name][1] = thisvalue; } } } } else { //return value; } }) } // Calculate the display data. Method2hyperpartition[selectedMethod].forEach((value:string,index:number)=>{ if(value==selectedHyperpartitionName||mode==1){ hyperpartitionData[value].forEach(((classifier: IClassifier, idx: number) => { pushData(classifier,idx,true); } )); }else{ hyperpartitionData[value].forEach(((classifier: IClassifier, idx: number) => { pushData(classifier,idx,false); } )); } }) let keys = Object.keys(hyperparameterData); let nowy = methodBoxAttr.y+methodBoxAttr.height+methodBoxAttr.gap+HeatmapAttr.topgap+HeatmapAttr.height +DetailChartAttr.topgap+DetailChartAttr.top; let array = (keys.map((name:string,index:number)=>{ let alreadySelectedRange = []; if(hyperparametersRangeAlreadySelected[methodDef.name]){ if(hyperparametersRangeAlreadySelected[methodDef.name][name]){ alreadySelectedRange = hyperparametersRangeAlreadySelected[methodDef.name][name]; } } let nowx = methodBoxAttr.x+DetailChartAttr.left+(DetailChartAttr.width+DetailChartAttr.horizontalgap)*index; return () })); let finalwidth = DetailChartAttr.left+(DetailChartAttr.width+DetailChartAttr.horizontalgap)*(keys.length); let array2= ( ) return array.concat(array2); }else{ return } }; console.log("render"); let allmethods = sortedusedMethods.concat(unusedMethods); console.log(allmethods.length); /** * */ /** * {allmethods.map((name: string, i: number) => { //return ({name}) return (
{name}
) })} * */ return (

Budget



{allmethods.map((name: string, i: number) => { let checked = false; let configsMethod : string[] = this.state.configsMethod; if(configsMethod.indexOf(name)>-1){ checked= true; }; //return ({name}) return ( {name} ) /* return {name} */ })} {sortedusedMethods.map((name: string, i: number) => { const methodDef = methodsDef[name]; let testin = selectedMethodName.indexOf(name); let selected = false; if (testin > -1) { selected = true; } //const classifier_num = datarun[name].length; //const top_width = classifier_num*6+60; this.index++; return ( ) })} { unusedMethods.map((name: string,i:number) => { let index = i+sortedusedMethods.length; return ()}) } {generateHp()} {generateHpdetail()}
) } } ///////////////////////////////////////////////////////////////////////////////////////////////////////// // The main component presented above. // // // /////////////////////////////////////////////////////////////////////////////////////////////////////// class LineChart extends React.Component{ TAG = "LineChart_"; componentDidMount() { this.renderD3(); } renderD3() { const d3 = require("d3"); // Get Datasets const { methodDef, classifiers,totallen,onClick,selected } = this.props; let step = 0.1; let data:number[] = []; for (let i =0; i<=1/step; i++){ data.push(0) } let bestperformance = 0; classifiers.forEach((classifier:IClassifier)=>{ let performance = parseFloat(classifier['performance'].split(' +- ')[0]); if(performance>bestperformance){ bestperformance=performance; } let rangeIdx = Math.floor(performance/step) data[rangeIdx] = data[rangeIdx]+1 }); let total = 0; let bestindex = 0; let frequentindex = 0; let maxfrequency = 0; data.forEach((d:any,i:any)=>{ if(d>0&&i>bestindex){ bestindex=i; } if(d>maxfrequency){ frequentindex=i; maxfrequency=d; } total+=d; }); //total; let yAxisData:string[] = [] for (let i =0; i<=1/step; i++){ yAxisData.push(`${(i*step).toFixed(2)}`) } // g // Set the dimensions of the canvas / graph //let margin = {top: 0, right: 0, bottom: 0, left: 0}, let margin = {top: 6, right: 6, bottom: 6, left: 6}, width = this.props.width - margin.left - margin.right, height = this.props.height - margin.top - margin.bottom, top_margin = {top:this.props.y,left:this.props.x}; // Set the ranges let xScale = d3.scaleLinear().range([0, width]); let yScale = d3.scaleLinear().range([height, 0]); xScale.domain([0, totallen]); yScale.domain([0, 1]); //Create SVG element let tooltip = d3.select("#tooltip"); //let top_methods = d3.select("#methodstop"); if(tooltip.empty()){ tooltip = d3.select("body").append("div") .attr("class", "tooltip") .attr("id","tooltip") .style("opacity", 0) .style("left", "0px") .style("top", "0px");; } let top_svg = d3.select("#"+this.TAG+this.props.name).attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom).attr("transform", "translate(" + top_margin.left + "," + top_margin.top + ")") .on("click",()=>{onClick(this.props.name)}) .on("mousemove", function(d:any) { tooltip.transition() .duration(100) .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); tooltip.style("opacity", 0.7).html(methodDef.fullname+"
"+"best performance:"+bestperformance.toFixed(2) + "
" + "trial number:"+total) }) .on("mouseout", function(d:any) { tooltip .style("opacity", 0); });; top_svg.append("rect") .attr("x",0) .attr("y",0) .attr("width", width + margin.left + margin.right) .attr("height",height + margin.top + margin.bottom) .attr("fill","white") .attr("stroke-width",2) .attr("stroke",selected?"#A4A0A0":"#E0D6D4") ; let svg = top_svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); var line = d3.line() .x(function(d:any, i:any) { return xScale(d); }) // set the x values for the line generator .y(function(d:any,i:any) { return yScale((i)*step); }) // set the y values for the line generator .curve(d3.curveMonotoneX) // apply smoothing to the line function generateArray(index:number){ let data:any[] = []; data.push({x:0,y:index*step}); data.push({x:totallen,y:index*step}); return data; } var straightline = d3.line() .x(function(d:any, i:any) { return xScale(d.x); }) // set the x values for the line generator .y(function(d:any,i:any) { return yScale(d.y); }) // set the y values for the line generator svg.append("path") .datum(generateArray(bestindex)) .attr("class", "line") .attr("fill","none") .attr("stroke","#E0D6D4") .attr("stroke-width",2) .attr("stroke-dasharray","5,5") .attr("d", straightline); svg.append("path") .datum(generateArray(frequentindex)) .attr("class", "line") .attr("fill","none") .attr("stroke","#E0D6D4") .attr("stroke-width",2) .attr("stroke-dasharray","5,5") .attr("d", straightline); svg.append("path") .datum(data) .attr("class", "line") .attr("fill","none") .attr("stroke",getColor(methodDef.name)) .attr("stroke-width",2) .attr("d", line); } render() { const {name}=this.props; return } } class HyperpartitionHeatmap extends React.Component{ TAG = "HyperpartitionHeatmap_"; componentDidMount() { this.renderD3(); } renderD3() { const d3 = require("d3"); // Get Datasets const { methodDef, classifiers,onClick ,selected,methodSelected} = this.props; let bestperformance = 0; let classifierPerformance:number[]=classifiers.map((classifier:IClassifier)=>{ let performance = parseFloat(classifier['performance'].split(' +- ')[0]); return performance; }); classifierPerformance.sort(function(a:any,b:any){ return b-a; }); if(classifierPerformance.length>0){ bestperformance = classifierPerformance[0]; } let total = classifierPerformance.length; // g // Set the dimensions of the canvas / graph //let margin = {top: 0, right: 0, bottom: 0, left: 0}, let margin = {top: 6, right: 6, bottom: 6, left: 6}, width = this.props.width - margin.left - margin.right, height = this.props.height - margin.top - margin.bottom, top_margin = {top:this.props.y,left:this.props.x}; //Create SVG element //Create SVG element let tooltip_hp = d3.select("#tooltip"); //let top_methods = d3.select("#methodstop"); if(tooltip_hp.empty()){ tooltip_hp = d3.select("body").append("div") .attr("class", "tooltip") .attr("id","tooltip") .style("opacity", 0) .style("left", "0px") .style("top", "0px");; } let top_svg = d3.select("#"+this.TAG+this.props.name).attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom).attr("transform", "translate(" + top_margin.left + "," + top_margin.top + ")") .on("click",()=>{onClick(this.props.hpname,this.props.hpid)}) .on("mousemove", function(d:any) { tooltip_hp.transition() .duration(100) .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); tooltip_hp.style("opacity", 0.7).html(methodDef.fullname+"
"+"best performance:"+bestperformance.toFixed(2) + "
" + "trial number:"+total) }) .on("mouseout", function(d:any) { tooltip_hp .style("opacity", 0); });;; top_svg.append("rect") .attr("x",0) .attr("y",0) .attr("width", width + margin.left + margin.right) .attr("height",height + margin.top + margin.bottom) .attr("fill","white") .attr("stroke",selected?"#424242":methodSelected?"#B19F9B":"#E0D6D4") .attr("stroke-width",2); let svg = top_svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); let rectwidth = 5; let rectheight = 5; //let verticalnum = Math.floor(height/(rectheight+1)); // horizontalnum should be set to be Math.ceil(num/verticalnum) let horizontalnum = Math.floor(width/(rectwidth+1)); let groups = svg .append('g') .attr("class", "group"); let rect_scale = 0.5; let rectArray = groups.selectAll("g.rectArray") .data(classifierPerformance); //console.log(classifierPerformance.length); rectArray.enter() .append("rect") .style("fill",getColor(methodDef.name)) //.attr("fill-opacity",function(d:any,i:any){return d*0.9+0.1;}) .attr("width", function(d:any,i:any) {return (d*rect_scale+1-rect_scale)*rectwidth;}) .attr("height", function(d:any,i:any){return (d*rect_scale+1-rect_scale)*rectheight;}) .attr("x", function(d:any,i:any) { let thiswidth = (d*rect_scale+1-rect_scale)*rectwidth; return (i%horizontalnum)*(rectwidth+1)+(rectwidth-thiswidth)/2.0;}) .attr("y", function(d:any,i:any) { let thisheight = (d*rect_scale+1-rect_scale)*rectheight; return Math.floor(i/horizontalnum)*(rectheight+1)-thisheight/2.0; }); } render() { const {name}=this.props; return } } class DotBarChart extends React.Component{ TAG = "DotBarChart_"; componentDidMount() { this.renderD3(); } renderD3() { const d3 = require("d3"); // Get Datasets const { methodDef, classifiers ,min,max,alreadySelectedRange,hintRange,onSelectedChange,hyname,valueType} = this.props; let margin = {top: 0, right: 0, bottom: 20, left: 25}, width = this.props.width - margin.left - margin.right, height = this.props.height - margin.top - margin.bottom, top_margin = {top:this.props.y,left:this.props.x}; let totaltick = height/6; //let step = (max-min)/totaltick; let histogram:number[] = []; for (let i =0; i{ let opacity = classifier.selected? 0.8:0.1; let data = {y:classifier.value,x:classifier.performance,opacity:opacity}; displaydata.push(data); }); // Set the ranges let xScale = d3.scaleLinear().range([0,width]); xScale.domain([0,1]); let yScale = d3.scaleLinear().range([height, 0]); yScale.domain([0, 1]); let yScale2 = d3.scaleLinear(); if(valueType=="float_exp"){ yScale2 = d3.scaleLog(); } yScale2.range([height, 0]).domain([min, max]); //let axisticks = 10; let yAxis = d3.axisLeft() .scale(yScale2); let xAxis = d3.axisBottom() .scale(xScale) .ticks(5); //.tickFormat(function (d:any) { // console.log("d"+d); // return (min+(max-min)*d).toFixed(2); //}) //.ticks(axisticks); //Create SVG element let top_svg = d3.select("#"+this.TAG+this.props.name).attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom).attr("transform", "translate(" + top_margin.left + "," + top_margin.top + ")");; // text label for the x axis top_svg.append("text") .attr("transform", "translate(" + (0) + " ," + (height + margin.top + 40) + ")") .style("text-anchor", "start") .text(this.props.hyname); let svg = top_svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); //Create Y axis let g_axis = svg.append("g") .attr("transform", "translate(0,0)") .attr("class", "bundle-axis") g_axis.append("g") .attr("transform", "translate(0,0)") .attr("class", "y axis").call(yAxis); g_axis.append("g") .attr("transform", "translate(0,"+height+")") .attr("class", "x axis").call(xAxis) ; function brushended() { if (!d3.event.sourceEvent) return; // Only transition after input. if (!d3.event.selection) return; // Ignore empty selections. let d0 = d3.event.selection.map(yScale2.invert); let min = d0[1]; let max = d0[0]; console.log("brush min max"); console.log(min); console.log(max); onSelectedChange(methodDef.name,hyname,[min,max]); } if(hintRange.length==2){ g_axis.append("g") .append("rect") .attr("opacity",1) .attr("fill",getColor(methodDef.name)) .attr("x",-4) .attr("y",yScale2(hintRange[1])) .attr("width",4) .attr("height",yScale2(hintRange[0])-yScale2(hintRange[1])); } let brush : any; let brush_g = g_axis.append("g") .attr("class", "brush") .call(brush = d3.brushY() .extent([[-6, 0], [6, height]])); if(alreadySelectedRange.length==2){ brush.move(brush_g,[yScale2(alreadySelectedRange[1]),yScale2(alreadySelectedRange[0])]); } brush.on("end", brushended); let groups = svg .append('g') .attr("class", "group"); //.transition().call(d3.event.target.move, d1.map(x)); let rectArray = groups.selectAll("g.rectArray") .data(displaydata); let rectwidth : number= 5; let rectheight : number = 5; rectArray.enter() .append('g') .attr("class", "rectArray") .append("rect") .style("fill",getColor(methodDef.name)) .style("opacity",function(d:any,i:any){return d.opacity;}) .attr("width", function(d:any,i:any) {return rectwidth;}) .attr("height",function(d:any,i:any) {return rectheight;}) .attr("x", function(d:any,i:any) { return xScale(d.x); }) .attr("y", function(d:any,i:any) { return yScale2(d.y)-2.5; }); } render() { const {name}=this.props; return } } ================================================ FILE: src/components/DataRuns/MethodsLineChart_backup.css ================================================ .methods{ overflow-y: scroll; padding: 10px; } .usedMethodContainer{ padding: 3px 8px; float: left; } .method{ border: .4px solid rgba(0,0,0, 0.2); box-shadow: 0 1px 1px 0 rgba(0,0,0,0.06); /* height: ${100/methods.length}% */ height: 100%; padding: 2px 5px; } .unusedMethod{ border: 2px dashed rgba(0,0,0, 0.3); box-shadow: 0 1px 1px 0 rgba(0,0,0,0.06); padding: 2px 5px; margin: 5px; float: left; } div.tooltip { position: absolute; text-align: left; color: aliceblue; width: 180px; height: 80px; padding: 10px; font: 12px sans-serif; background: rgba(0, 0, 0, 0.671); border: 10px; border-radius: 5px; pointer-events: none; } .link { fill: none; stroke-width: 1.5px; } .bottomright { position: absolute; bottom: 80px; right: 30px; font-size: 18px; } ================================================ FILE: src/components/DataRuns/MethodsLineChart_backup.tsx ================================================ import { Button,Checkbox,message,InputNumber } from 'antd'; import * as React from 'react'; import * as methodsDef from "../../assets/methodsDef.json"; import { IMethod, IDatarun, IClassifier } from "types"; import { IConfigsInfo,INewDatarunResponse } from 'service/dataService'; import { getConfigs,postNewDatarun} from 'service/dataService'; //import { IDatarun } from "types"; //import { getColor ,RED,YELLOW, getGradientColor} from 'helper'; import { getColor } from 'helper'; import "./MethodsLineChart.css"; //import ReactEcharts from "echarts-for-react"; /*const sortSwitchStyle = { position: "absolute" as "absolute", top: "5px", right: "5px" }*/ export interface IState { mode : number, selectedMethodName : string[], selectedHyperpartitionName :string, loading : boolean , configsMethod : string[], configsBudget:number } export interface IProps { height: number, datarun: IDatarun, datasetID: number | null, setDatarunID: (id: number) => void } export interface ChartProps { width: number, height: number, x: number, y: number, methodDef: IMethod, classifiers : IClassifier[], name:string, totallen?:number, methodName?:string, onClick:(a:string)=>void, selected?:boolean, } export interface DetailChartProps{ width: number, height: number, x: number, y: number, methodDef: IMethod, classifiers : IClassifier[], name:string, min:number, max:number, hyname:string } export interface HyperpartitionHeatmapProps{ width: number, height: number, x: number, y: number, methodDef: IMethod, classifiers : IClassifier[], name:string, totallen?:number, methodName?:string, onClick:(a:string)=>void, selected?:boolean, hpname:string, methodSelected:boolean } export default class MethodsLineChart extends React.Component{ constructor(props:IProps){ super(props); let usedMethods:any[] = Object.keys(this.props.datarun); this.state={ mode : 0, selectedMethodName :[], selectedHyperpartitionName : "", loading:false, configsMethod:usedMethods, configsBudget:1000 }; } index = 0; displayMethod = []; allMethods = []; onMethodsOverViewClick = (Methods:string)=>{ // Show Methods console.log("onclick"); let selectedMethodName:string[] = this.state.selectedMethodName; let i = selectedMethodName.indexOf(Methods); if (i > -1) { selectedMethodName.splice(i, 1); this.setState({ selectedMethodName : selectedMethodName }); }else{ selectedMethodName.push(Methods); if(this.state.mode==0){ this.setState({ mode : 1, selectedMethodName : selectedMethodName }); }else{ this.setState({ selectedMethodName : selectedMethodName }); } } }; onHyperpartitionsOverViewClick = (HyperpatitionName:string)=>{ //alert("onclick "+HyperpatitionName); this.setState({ mode : 2, selectedHyperpartitionName : HyperpatitionName }); }; public getbestperformance(list:IClassifier[]){ if(list.length>0){ let classifierPerformance:number[]=list.map((classifier:IClassifier)=>{ let performance = parseFloat(classifier['performance'].split(' +- ')[0]); return performance; }); classifierPerformance.sort(function(a:any,b:any){ return b-a; }); return classifierPerformance[0]; }else{ return 0; } } public getmaxnum(classifiers:IClassifier[]){ let step = 0.1; let data:number[] = []; for (let i =0; i<=1/step; i++){ data.push(0) } let bestperformance = 0; classifiers.forEach((classifier:IClassifier)=>{ let performance = parseFloat(classifier['performance'].split(' +- ')[0]); if(performance>bestperformance){ bestperformance=performance; } let rangeIdx = Math.floor(performance/step) data[rangeIdx] = data[rangeIdx]+1 }); let maxvalue = 0; data.forEach((p:any)=>{ if(p>maxvalue){ maxvalue = p; } }) return maxvalue; } componentDidMount(){ /* const d3 = require("d3"); let zoom = d3.zoom() .scaleExtent([1, 10]) .on("zoom", function(){ let container = d3.select("#top_container"); //container.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")"); container.attr("transform", d3.event.transform); }); let margin = {left:0,right:0,top:0,bottom:0}; d3.select("#top_container").attr("transform", "translate(" + margin.left + "," + margin.right + ")").call(zoom); */ } componentWillReceiveProps(nextProps : IProps) { let { datarun } = nextProps; let usedMethods = Object.keys(datarun); if(this.state.loading==false){ this.setState({ configsMethod:usedMethods }); } } onCheckBoxChange=(e : any)=>{ let checked = e.target.checked; let value = e.target.value; if(checked==false){ let configsMethod : string[] = this.state.configsMethod; let index = configsMethod.indexOf(value); if(index>-1){ configsMethod.splice(index, 1); this.setState({ configsMethod:configsMethod }); } }else{ let configsMethod : string[] = this.state.configsMethod; configsMethod.push(value); this.setState({ configsMethod:configsMethod }); } } createNewDataRun = () => { // get configs from server ; // submit configs in this view // switch to the new datarun. let methods = this.state.configsMethod; let budget = this.state.configsBudget; if(this.props.datasetID!=null){ let promise: Promise; promise = getConfigs(); promise .then(configs => { configs.methods = methods; configs.budget = budget; this.setState({ loading: true }); let datasetID : number= this.props.datasetID?this.props.datasetID:0; let promise:Promise = postNewDatarun(datasetID,configs); //const promise = this.props.onSubmit(this.state.configs); console.log("post new data run in methods view"); console.log(configs); promise.then(status => { if(status.success == true){ message.success("Submit Configs Successfully. Datarun ID:"+status.id); this.props.setDatarunID(status.id); }else{ message.error("Submit Configs Failed."); } this.setState({ loading: false }); }).catch(error=>{ console.log(error); message.error("Submit Configs Failed."); this.setState({ loading: false}); }); }) .catch(error => { console.log(error); }); } } onBudgetChange = (budget : any) =>{ this.setState({configsBudget:budget}); } public render() { // const methodLen = Object.keys(methodsDef).length let { datarun, height } = this.props; let {mode,selectedHyperpartitionName} = this.state; let selectedMethodName:string[] = this.state.selectedMethodName; selectedHyperpartitionName; let usedMethods: string[] = Object.keys(datarun); let totallen = 0; usedMethods.forEach((name: string, i: number)=>{ const classifier_num = datarun[name].length; totallen+=classifier_num; }) let hyperpartitionData : IDatarun= {}; let hyperpartition2Method : {[hyperpartition:string]:string}= {}; let Method2hyperpartition : {[method:string]:string[]} = {}; usedMethods.forEach((name: string, i: number) => { const methodDef = methodsDef[name]; const classifiers = datarun[name]; let parameterList: any[] = []; let idx = 0; methodDef.root_hyperparameters.forEach((p: string) => { let parameter = methodDef['hyperparameters'][p] if (parameter['values']) { //category axis parameterList.push({ dim: idx, name: p, type: 'category', data: parameter['values'] }) } }) classifiers.forEach(((classifier: IClassifier, idx: number) => { let par_dict = {} let parameters = classifier['parameters'].split('; ') parameters = parameters.map((p: string) => { let [k, v] = p.split(' = ') return par_dict[k] = v }) // for the hidden layer sizes in MLP if (par_dict['len(hidden_layer_sizes)']) { for (let i = parseInt(par_dict['len(hidden_layer_sizes)']); i < 3; i++) { par_dict[`hidden_layer_sizes[${i}]`] = 0 } } // add perforamce par_dict['performance'] = parseFloat(classifier['performance'].split(' +- ')) let ScatterPlotCategory : any[] = [methodDef.fullname]; parameterList.forEach(p => { let value = par_dict[p.name] if (p.type == 'category') { ScatterPlotCategory.push(p.name+":"+value); } }); let HyperpartitionName = ScatterPlotCategory.join("\n"); if(!Method2hyperpartition[name]){ Method2hyperpartition[name]=[]; } if(!hyperpartitionData[HyperpartitionName]){ hyperpartitionData[HyperpartitionName] = []; Method2hyperpartition[name].push(HyperpartitionName); } hyperpartitionData[HyperpartitionName].push(classifier); hyperpartition2Method[HyperpartitionName] = name; } )); }); //let usedHyperpartitions: string[] = Object.keys(hyperpartitionData); if(mode==1||mode==2){ //is method name exist? let flag = 0; let len = selectedMethodName.length; for(let i = 0;i usedMethods.indexOf(name) < 0) let hpname :string[]= []; usedMethods.forEach((name: string, i: number) =>{ hpname = hpname.concat(Method2hyperpartition[name]); }); let performance = usedMethods.map((name: string, i: number) =>{ return {value:this.getbestperformance(datarun[name]),name:name}; }); performance.sort(function(a:any,b:any){ return b.value-a.value; }); let sortedusedMethods = performance.map((d:any)=>{ return d.name; }); let maxnum = 1; // calculate the max num sortedusedMethods.forEach((name: string, i: number)=>{ let num = this.getmaxnum(datarun[name]); if(num>maxnum){ maxnum=num; } }); let generateHp = ()=>{ if(mode==1||mode==2){ let gap = 20; let nowx = 2; let lastwidth = 0; let hpheight = 73; let hpmargin = 12; let rectwidth = 5; let rectheight = 5; let verticalnum = Math.floor((hpheight-hpmargin)/(rectheight+1)); // horizontalnum should be set to be Math.ceil(num/verticalnum) //let horizontalnum = Math.floor(width/(rectwidth+1)); let hpname :string[]= []; selectedMethodName.forEach((name: string, i: number) =>{ hpname = hpname.concat(Method2hyperpartition[name]); }); let performance = hpname.map((name: string, i: number) =>{ return {value:this.getbestperformance(hyperpartitionData[name]),name:name}; }); performance.sort(function(a:any,b:any){ return b.value-a.value; }); let sortedhpname = performance.map((d:any)=>{ return d.name; }); let pathgenerator:any[] = []; let array = sortedhpname.map((name: string, i: number) => { let selected = selectedHyperpartitionName===name; nowx+=lastwidth;lastwidth=0; const selectedMethod = hyperpartition2Method[name]; const methodDef = methodsDef[selectedMethod]; let methodselected = selected; if(methodselected==false){ const nowselectedMethod = hyperpartition2Method[selectedHyperpartitionName]; if(nowselectedMethod===selectedMethod){ methodselected=true; } } const hplen:number = hyperpartitionData[name].length; let horizontalnum = Math.ceil(hplen/verticalnum); let hpwidth = hpmargin + horizontalnum * (rectwidth+1); lastwidth = hpwidth+gap; let index0 = sortedusedMethods.indexOf(selectedMethod); if(index0>-1) { let x1 = (2+index0*85)+35; let y1 = 100; let x2 = nowx+hpwidth/2; let y2 = 30+85+100; pathgenerator.push({ x1:x1, x2:x2, y1:y1, y2:y2, color:getColor(methodDef.name) }) } return (); }); let array2 = pathgenerator.map((node: any, i: number) => { let mean_y = (node.y1 + node.y2) / 2; let pathlang = "M"+node.x1+","+node.y1+"C"+node.x1+","+mean_y+" "+node.x2+","+mean_y+" "+node.x2+","+node.y2; return (); }); return array.concat(array2); }else{ return } }; // end of generate Hp let generateHpdetail = ()=>{ if(mode==2){ console.log("show detail"); const selectedMethod : string = hyperpartition2Method[selectedHyperpartitionName]; const methodDef = methodsDef[selectedMethod]; let HyperparameterList: any[] = []; let idx = 0 let rangeMap : any ={}; methodDef.root_hyperparameters.forEach((p: string) => { let parameter = methodDef['hyperparameters'][p] if (parameter['values']) { //category axis } else if (parameter['range']) {//value axis if (parameter['range'].length > 1) { //range in the form of [min, max] HyperparameterList.push({ dim: idx, name: p, type: 'value', min: parameter['range'][0], max: parameter['range'][1] }) } else { // range in the form of [max] HyperparameterList.push({ dim: idx, name: p, type: 'value', min: 0, max: parameter['range'][0] }) } } else if (parameter['type'] == 'list') { // the hidden layer sizes in MLP for (let hidden_l = 0; hidden_l < parameter['list_length'].length; hidden_l++) { HyperparameterList.push({ dim: idx + hidden_l, name: `${p}[${hidden_l}]`, type: 'value', min: 0, max: parameter['element']['range'][1] }) } idx = idx + parameter['list_length'].length - 1 } else { HyperparameterList.push({ dim: idx, name: p, type: 'value' }) } }) HyperparameterList.map((data:any,index:number)=>{ rangeMap[data.name]={min:data.min,max:data.max}; }); let hyperparameterData : any = {}; //let totallen = classifiers.length; let pushData = (classifier: IClassifier, idx: number , selected:boolean) =>{ let par_dict = {} let parameters = classifier['parameters'].split('; ') parameters = parameters.map((p: string) => { let [k, v] = p.split(' = ') return par_dict[k] = v }) // for the hidden layer sizes in MLP if (par_dict['len(hidden_layer_sizes)']) { for (let i = parseInt(par_dict['len(hidden_layer_sizes)']); i < 3; i++) { par_dict[`hidden_layer_sizes[${i}]`] = 0 } } // add perforamce par_dict['performance'] = parseFloat(classifier['performance'].split(' +- ')); let performance = parseFloat(classifier['performance'].split(' +- ')[0]) //let trailID : number = classifier['trail ID']; HyperparameterList.forEach(p => { let value = par_dict[p.name] if (p.type == 'value') { if(!hyperparameterData[p.name]){ hyperparameterData[p.name]=[]; } let thisvalue = parseFloat(value); hyperparameterData[p.name].push({value:thisvalue,performance:performance,selected:selected}); } else { //return value; } }) } Method2hyperpartition[selectedMethod].forEach((value:string,index:number)=>{ if(value!=selectedHyperpartitionName){ hyperpartitionData[value].forEach(((classifier: IClassifier, idx: number) => { pushData(classifier,idx,false); } )); }else{ hyperpartitionData[value].forEach(((classifier: IClassifier, idx: number) => { pushData(classifier,idx,true); } )); } }) let keys = Object.keys(hyperparameterData); let array = (keys.map((name:string,index:number)=>{ return () })); let finalwidth = 5+20+160*(keys.length); let array2= () return array.concat(array2); }else{ return } }; console.log("render"); let allmethods = sortedusedMethods.concat(unusedMethods); console.log(allmethods.length); /** * */ /** * {allmethods.map((name: string, i: number) => { //return ({name}) return (
{name}
) })} * */ return (

Budget



{allmethods.map((name: string, i: number) => { let checked = false; let configsMethod : string[] = this.state.configsMethod; if(configsMethod.indexOf(name)>-1){ checked= true; }; //return ({name}) return ( {name} ) /* return {name} */ })} {sortedusedMethods.map((name: string, i: number) => { const methodDef = methodsDef[name]; let testin = selectedMethodName.indexOf(name); let selected = false; if (testin > -1) { selected = true; } //const classifier_num = datarun[name].length; //const top_width = classifier_num*6+60; this.index++; return ( ) })} { unusedMethods.map((name: string,i:number) => { let index = i+sortedusedMethods.length; return ()}) } {generateHp()} {generateHpdetail()}
) } } ///////////////////////////////////////////////////////////////////////////////////////////////////////// // The main component presented above. // // // /////////////////////////////////////////////////////////////////////////////////////////////////////// class LineChart extends React.Component{ TAG = "LineChart_"; componentDidMount() { this.renderD3(); } renderD3() { const d3 = require("d3"); // Get Datasets const { methodDef, classifiers,totallen,onClick,selected } = this.props; let step = 0.1; let data:number[] = []; for (let i =0; i<=1/step; i++){ data.push(0) } let bestperformance = 0; classifiers.forEach((classifier:IClassifier)=>{ let performance = parseFloat(classifier['performance'].split(' +- ')[0]); if(performance>bestperformance){ bestperformance=performance; } let rangeIdx = Math.floor(performance/step) data[rangeIdx] = data[rangeIdx]+1 }); let total = 0; let bestindex = 0; let frequentindex = 0; let maxfrequency = 0; data.forEach((d:any,i:any)=>{ if(d>0&&i>bestindex){ bestindex=i; } if(d>maxfrequency){ frequentindex=i; maxfrequency=d; } total+=d; }); //total; let yAxisData:string[] = [] for (let i =0; i<=1/step; i++){ yAxisData.push(`${(i*step).toFixed(2)}`) } // g // Set the dimensions of the canvas / graph //let margin = {top: 0, right: 0, bottom: 0, left: 0}, let margin = {top: 6, right: 6, bottom: 6, left: 6}, width = this.props.width - margin.left - margin.right, height = this.props.height - margin.top - margin.bottom, top_margin = {top:this.props.y,left:this.props.x}; // Set the ranges let xScale = d3.scaleLinear().range([0, width]); let yScale = d3.scaleLinear().range([height, 0]); xScale.domain([0, totallen]); yScale.domain([0, 1]); //Create SVG element let tooltip = d3.select("#tooltip"); //let top_methods = d3.select("#methodstop"); if(tooltip.empty()){ tooltip = d3.select("body").append("div") .attr("class", "tooltip") .attr("id","tooltip") .style("opacity", 0) .style("left", "0px") .style("top", "0px");; } let top_svg = d3.select("#"+this.TAG+this.props.name).attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom).attr("transform", "translate(" + top_margin.left + "," + top_margin.top + ")") .on("click",()=>{onClick(this.props.name)}) .on("mousemove", function(d:any) { tooltip.transition() .duration(100) .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); tooltip.style("opacity", 0.7).html(methodDef.fullname+"
"+"best performance:"+bestperformance.toFixed(2) + "
" + "trial number:"+total) }) .on("mouseout", function(d:any) { tooltip .style("opacity", 0); });; top_svg.append("rect") .attr("x",0) .attr("y",0) .attr("width", width + margin.left + margin.right) .attr("height",height + margin.top + margin.bottom) .attr("fill","white") .attr("stroke-width",2) .attr("stroke",selected?"#A4A0A0":"#E0D6D4") ; let svg = top_svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); var line = d3.line() .x(function(d:any, i:any) { return xScale(d); }) // set the x values for the line generator .y(function(d:any,i:any) { return yScale((i)*step); }) // set the y values for the line generator .curve(d3.curveMonotoneX) // apply smoothing to the line function generateArray(index:number){ let data:any[] = []; data.push({x:0,y:index*step}); data.push({x:totallen,y:index*step}); return data; } var straightline = d3.line() .x(function(d:any, i:any) { return xScale(d.x); }) // set the x values for the line generator .y(function(d:any,i:any) { return yScale(d.y); }) // set the y values for the line generator svg.append("path") .datum(generateArray(bestindex)) .attr("class", "line") .attr("fill","none") .attr("stroke","#E0D6D4") .attr("stroke-width",2) .attr("stroke-dasharray","5,5") .attr("d", straightline); svg.append("path") .datum(generateArray(frequentindex)) .attr("class", "line") .attr("fill","none") .attr("stroke","#E0D6D4") .attr("stroke-width",2) .attr("stroke-dasharray","5,5") .attr("d", straightline); svg.append("path") .datum(data) .attr("class", "line") .attr("fill","none") .attr("stroke",getColor(methodDef.name)) .attr("stroke-width",2) .attr("d", line); } render() { const {name}=this.props; return } } class HyperpartitionHeatmap extends React.Component{ TAG = "HyperpartitionHeatmap_"; componentDidMount() { this.renderD3(); } renderD3() { const d3 = require("d3"); // Get Datasets const { methodDef, classifiers,onClick ,selected,methodSelected} = this.props; let bestperformance = 0; let classifierPerformance:number[]=classifiers.map((classifier:IClassifier)=>{ let performance = parseFloat(classifier['performance'].split(' +- ')[0]); return performance; }); classifierPerformance.sort(function(a:any,b:any){ return b-a; }); if(classifierPerformance.length>0){ bestperformance = classifierPerformance[0]; } let total = classifierPerformance.length; // g // Set the dimensions of the canvas / graph //let margin = {top: 0, right: 0, bottom: 0, left: 0}, let margin = {top: 6, right: 6, bottom: 6, left: 6}, width = this.props.width - margin.left - margin.right, height = this.props.height - margin.top - margin.bottom, top_margin = {top:this.props.y,left:this.props.x}; //Create SVG element //Create SVG element let tooltip_hp = d3.select("#tooltip"); //let top_methods = d3.select("#methodstop"); if(tooltip_hp.empty()){ tooltip_hp = d3.select("body").append("div") .attr("class", "tooltip") .attr("id","tooltip") .style("opacity", 0) .style("left", "0px") .style("top", "0px");; } let top_svg = d3.select("#"+this.TAG+this.props.name).attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom).attr("transform", "translate(" + top_margin.left + "," + top_margin.top + ")") .on("click",()=>{onClick(this.props.hpname)}) .on("mousemove", function(d:any) { tooltip_hp.transition() .duration(100) .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); tooltip_hp.style("opacity", 0.7).html(methodDef.fullname+"
"+"best performance:"+bestperformance.toFixed(2) + "
" + "trial number:"+total) }) .on("mouseout", function(d:any) { tooltip_hp .style("opacity", 0); });;; top_svg.append("rect") .attr("x",0) .attr("y",0) .attr("width", width + margin.left + margin.right) .attr("height",height + margin.top + margin.bottom) .attr("fill","white") .attr("stroke",selected?"#424242":methodSelected?"#B19F9B":"#E0D6D4") .attr("stroke-width",2); let svg = top_svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); let rectwidth = 5; let rectheight = 5; //let verticalnum = Math.floor(height/(rectheight+1)); // horizontalnum should be set to be Math.ceil(num/verticalnum) let horizontalnum = Math.floor(width/(rectwidth+1)); let groups = svg .append('g') .attr("class", "group"); let rect_scale = 0.5; let rectArray = groups.selectAll("g.rectArray") .data(classifierPerformance); //console.log(classifierPerformance.length); rectArray.enter() .append("rect") .style("fill",getColor(methodDef.name)) //.attr("fill-opacity",function(d:any,i:any){return d*0.9+0.1;}) .attr("width", function(d:any,i:any) {return (d*rect_scale+1-rect_scale)*rectwidth;}) .attr("height", function(d:any,i:any){return (d*rect_scale+1-rect_scale)*rectheight;}) .attr("x", function(d:any,i:any) { let thiswidth = (d*rect_scale+1-rect_scale)*rectwidth; return (i%horizontalnum)*(rectwidth+1)+(rectwidth-thiswidth)/2.0;}) .attr("y", function(d:any,i:any) { let thisheight = (d*rect_scale+1-rect_scale)*rectheight; return Math.floor(i/horizontalnum)*(rectheight+1)-thisheight/2.0; }); } render() { const {name}=this.props; return } } class DotBarChart extends React.Component{ TAG = "DotBarChart_"; componentDidMount() { this.renderD3(); } renderD3() { const d3 = require("d3"); // Get Datasets const { methodDef, classifiers ,min,max} = this.props; let margin = {top: 0, right: 0, bottom: 20, left: 25}, width = this.props.width - margin.left - margin.right, height = this.props.height - margin.top - margin.bottom, top_margin = {top:this.props.y,left:this.props.x}; let totaltick = height/6; let step = (max-min)/totaltick; let histogram:number[] = []; for (let i =0; i{ // let performance = classifier.performance; //let rangeIdx = Math.floor(performance/step) let value = classifier.value; let rangeIdx = Math.floor((value-min)/step) if(rangeIdx>=totaltick){ rangeIdx=totaltick-1; } if(!datacluster[rangeIdx]){ datacluster[rangeIdx]=[]; } let opacity = classifier.selected? 1:0.3; datacluster[rangeIdx].push({performance:classifier.performance,opacity:opacity}); //let data = {idx:rangeIdx,performance:classifier.performance}; //let data = {y:(rangeIdx+0.5)*1/totaltick,x:histogram[rangeIdx],performance:classifier.performance}; //displaydata.push(data); //histogram[rangeIdx] = histogram[rangeIdx]+1; }); let dkeys = Object.keys(datacluster); let maxhorizontalnum = 19; dkeys.map((value:string)=>{ let rangeIdx = parseInt(value); datacluster[value].sort( function(a:any,b:any){ return b.performance-a.performance; } ) datacluster[value].map((obj:any,i:number)=>{ //console.log("performance"+performance); if(imaxhorizontalnum){ markerdata.push({y:(rangeIdx+0.5)*1/totaltick,x:maxhorizontalnum}); } }) // Set the ranges let yScale = d3.scaleLinear().range([height, 0]); yScale.domain([0, 1]); let yScale2 = d3.scaleLinear().range([height, 0]); yScale2.domain([min, max]); //let axisticks = 10; let yAxis = d3.axisLeft() .scale(yScale2); //.tickFormat(function (d:any) { // console.log("d"+d); // return (min+(max-min)*d).toFixed(2); //}) //.ticks(axisticks); //Create SVG element let top_svg = d3.select("#"+this.TAG+this.props.name).attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom).attr("transform", "translate(" + top_margin.left + "," + top_margin.top + ")");; // text label for the x axis top_svg.append("text") .attr("transform", "translate(" + (0) + " ," + (height + margin.top + 20) + ")") .style("text-anchor", "start") .text(this.props.hyname); let svg = top_svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); //Create Y axis let g_axis = svg.append("g") .attr("transform", "translate(0,0)") .attr("class", "bundle-axis") g_axis.append("g") .attr("transform", "translate(0,0)") .attr("class", "y axis").call(yAxis); function brushended() { if (!d3.event.sourceEvent) return; // Only transition after input. if (!d3.event.selection) return; // Ignore empty selections. let d0 = d3.event.selection.map(yScale2.invert); let min = d0[1]; let max = d0[0]; console.log("brush min max"); console.log(min); console.log(max); } g_axis.append("g") .attr("class", "brush") .call(d3.brushY() .extent([[-6, 0], [6, height]]).on("end", brushended)); let groups = svg .append('g') .attr("class", "group"); let rectArray = groups.selectAll("g.rectArray") .data(displaydata); let rectwidth : number= 5; let rectheight : number = 5; let rect_scale = 0.5; rectArray.enter() .append('g') .attr("class", "rectArray") .append("rect") .style("fill",getColor(methodDef.name)) .style("opacity",function(d:any,i:any){return d.opacity;}) .attr("width", function(d:any,i:any) {return (d.performance*rect_scale+1-rect_scale)*rectwidth;}) .attr("height",function(d:any,i:any) {return (d.performance*rect_scale+1-rect_scale)*rectheight;}) .attr("x", function(d:any,i:any) { let width = (d.performance*rect_scale+1-rect_scale)*rectwidth; return d.x*6+rectwidth/2.0-width/2.0; }) .attr("y", function(d:any,i:any) { let height = (d.performance*rect_scale+1-rect_scale)*rectheight; return yScale(d.y)-2.5+rectheight/2.0-height/2.0; }); function generateMarkerPath(x:number,y:number,width:number,height:number){ let x1=x; let y1=y; let x2= x+width; let y2 = y+height/2; let x3 = x; let y3 = y+height; return "M"+x1+" "+y1+" L"+x2+" "+y2+" L"+x3+" "+y3+" Z"; } let markerArray = groups.selectAll("g.marker").data(markerdata); markerArray.enter() .append('g') .attr("class","marker") .append('path') .attr("fill",getColor(methodDef.name)) .attr("d",function(d:any,i:any){return generateMarkerPath(d.x*6,yScale(d.y)-2.5,rectwidth,rectheight);}) } render() { const {name}=this.props; return } } ================================================ FILE: src/components/DataRuns/MethodsSearchSpace.css ================================================ .methods{ overflow-y: scroll; padding: 10px; } .usedMethodContainer{ padding: 3px 8px; float: left; } .method{ border: .4px solid rgba(0,0,0, 0.2); box-shadow: 0 1px 1px 0 rgba(0,0,0,0.06); /* height: ${100/methods.length}% */ height: 100%; padding: 2px 5px; } .unusedMethod{ border: 2px dashed rgba(0,0,0, 0.3); box-shadow: 0 1px 1px 0 rgba(0,0,0,0.06); padding: 2px 5px; margin: 5px; float: left; } ================================================ FILE: src/components/DataRuns/MethodsSearchSpace.tsx ================================================ import { Button } from 'antd'; import * as React from 'react'; import * as methodsDef from "../../assets/methodsDef.json"; import { IMethod, IDatarun, IClassifier } from "types"; import { getColor ,RED,YELLOW, getGradientColor} from 'helper'; //import { getColor } from 'helper'; import "./MethodsSearchSpace.css" import ReactEcharts from "echarts-for-react"; export interface IState { } export interface IProps { height: number, datarun: IDatarun } export default class MethodsSearchSpace extends React.Component{ state={ mode : 0, selectedHyperpartitionName : "" }; onOverViewClick = (HyperpatitionName:string)=>{ //alert("onclick "+HyperpatitionName); this.setState({ mode : 1, selectedHyperpartitionName : HyperpatitionName }); }; onBackBtn = ()=>{ //alert("onclick "+HyperpatitionName); this.setState({ mode : 0, selectedHyperpartitionName : "" }); }; public render() { // const methodLen = Object.keys(methodsDef).length let { datarun, height } = this.props; let { mode,selectedHyperpartitionName } = this.state; let usedMethods: string[] = Object.keys(datarun); let sumTrail : number = 0; usedMethods.forEach((name:string)=>{ sumTrail+=datarun[name].length; }); // const usedMethods = ['SVM', 'RF', 'DT', 'MLP',,'GP', 'LR', 'KNN'] // the used methodsDef should be obtained by requesting server the config file const unusedMethods = Object.keys(methodsDef).filter((name: string) => usedMethods.indexOf(name) < 0) let hyperpartitionData : IDatarun= {}; let hyperpartition2Method : {[hyperpartition:string]:string}= {}; usedMethods.forEach((name: string, i: number) => { const methodDef = methodsDef[name]; const classifiers = datarun[name]; let parameterList: any[] = []; let idx = 0; methodDef.root_hyperparameters.forEach((p: string) => { let parameter = methodDef['hyperparameters'][p] if (parameter['values']) { //category axis parameterList.push({ dim: idx, name: p, type: 'category', data: parameter['values'] }) } }) classifiers.forEach(((classifier: IClassifier, idx: number) => { let par_dict = {} let parameters = classifier['parameters'].split('; ') parameters = parameters.map((p: string) => { let [k, v] = p.split(' = ') return par_dict[k] = v }) // for the hidden layer sizes in MLP if (par_dict['len(hidden_layer_sizes)']) { for (let i = parseInt(par_dict['len(hidden_layer_sizes)']); i < 3; i++) { par_dict[`hidden_layer_sizes[${i}]`] = 0 } } // add perforamce par_dict['performance'] = parseFloat(classifier['performance'].split(' +- ')) let ScatterPlotCategory : any[] = [methodDef.fullname]; parameterList.forEach(p => { let value = par_dict[p.name] if (p.type == 'category') { ScatterPlotCategory.push(p.name+":"+value); } }); let HyperpartitionName = ScatterPlotCategory.join("\n"); if(!hyperpartitionData[HyperpartitionName]){ hyperpartitionData[HyperpartitionName] = []; } hyperpartitionData[HyperpartitionName].push(classifier); hyperpartition2Method[HyperpartitionName] = name; } )); }); let usedHyperpartitions: string[] = Object.keys(hyperpartitionData) if(mode==1){ const methodDef = methodsDef[hyperpartition2Method[selectedHyperpartitionName]]; if(!methodDef){ mode=0; selectedHyperpartitionName=""; this.setState({ mode : 0, selectedHyperpartitionName : "" }); } } /** *
*/ if(mode==0){ return
{usedHyperpartitions.map((name: string, i: number) => { const methodDef = methodsDef[hyperpartition2Method[name]]; return
})} {unusedMethods.map((name: string) => (
{methodsDef[name]['fullname']}
)) }
}else if(mode==1){ const methodDef = methodsDef[hyperpartition2Method[selectedHyperpartitionName]]; return
}else{ return
} } } /* class MethodSearchSpace extends React.Component<{ methodDef: IMethod, classifiers: IClassifier[] ,sumTrail:number}, {}>{ public render() { const { methodDef, classifiers , sumTrail } = this.props; // pepare data for hyperpartition search space visualization // TODO: Now I split the classifier data two times. In order to improve efficiency, maybe it is necessary // to split the classifier data once. let parameterList: any[] = []; let idx = 0; methodDef.root_hyperparameters.forEach((p: string) => { let parameter = methodDef['hyperparameters'][p] if (parameter['values']) { //category axis parameterList.push({ dim: idx, name: p, type: 'category', data: parameter['values'] }) } }) let hyperpartitionData : IDatarun= {}; classifiers.forEach(((classifier: IClassifier, idx: number) => { let par_dict = {} let parameters = classifier['parameters'].split('; ') parameters = parameters.map((p: string) => { let [k, v] = p.split(' = ') return par_dict[k] = v }) // for the hidden layer sizes in MLP if (par_dict['len(hidden_layer_sizes)']) { for (let i = parseInt(par_dict['len(hidden_layer_sizes)']); i < 3; i++) { par_dict[`hidden_layer_sizes[${i}]`] = 0 } } // add perforamce par_dict['performance'] = parseFloat(classifier['performance'].split(' +- ')) let ScatterPlotCategory : any[] = [methodDef.fullname]; parameterList.forEach(p => { let value = par_dict[p.name] if (p.type == 'category') { ScatterPlotCategory.push(p.name+":"+value); } }); let HyperpartitionName = ScatterPlotCategory.join("\n"); if(!hyperpartitionData[HyperpartitionName]){ hyperpartitionData[HyperpartitionName] = []; } hyperpartitionData[HyperpartitionName].push(classifier); } )); let usedHyperpartitions: string[] = Object.keys(hyperpartitionData) return
{usedHyperpartitions.map((name: string, i: number) => { return
})}
} } */ class HyperpatitionSearchSpace extends React.Component<{ methodDef: IMethod, classifiers: IClassifier[], hyperpartitionName : string, sumTrail:number }, {}>{ PCA = require('ml-pca'); getOption() { // Get Datasets const { methodDef, classifiers,sumTrail } = this.props // pepare data for parallel coordinates let searchSpaceScatterPlot: any[] = []; let idx = 0 methodDef.root_hyperparameters.forEach((p: string) => { let parameter = methodDef['hyperparameters'][p] if (parameter['values']) { //category axis } else if (parameter['range']) {//value axis if (parameter['range'].length > 1) { //range in the form of [min, max] searchSpaceScatterPlot.push({ dim: idx, name: p, type: 'value', min: parameter['range'][0], max: parameter['range'][1] }) } else { // range in the form of [max] searchSpaceScatterPlot.push({ dim: idx, name: p, type: 'value', min: 0, max: parameter['range'][0] }) } } else if (parameter['type'] == 'list') { // the hidden layer sizes in MLP for (let hidden_l = 0; hidden_l < parameter['list_length'].length; hidden_l++) { searchSpaceScatterPlot.push({ dim: idx + hidden_l, name: `${p}[${hidden_l}]`, type: 'value', min: 0, max: parameter['element']['range'][1] }) } idx = idx + parameter['list_length'].length - 1 } else { searchSpaceScatterPlot.push({ dim: idx, name: p, type: 'value' }) } }) let data: any[] = [] let classifiersData : any[] = []; //let totallen = classifiers.length; classifiers.forEach(((classifier: IClassifier, idx: number) => { let par_dict = {} let parameters = classifier['parameters'].split('; ') parameters = parameters.map((p: string) => { let [k, v] = p.split(' = ') return par_dict[k] = v }) // for the hidden layer sizes in MLP if (par_dict['len(hidden_layer_sizes)']) { for (let i = parseInt(par_dict['len(hidden_layer_sizes)']); i < 3; i++) { par_dict[`hidden_layer_sizes[${i}]`] = 0 } } // add perforamce par_dict['performance'] = parseFloat(classifier['performance'].split(' +- ')) let attrs = searchSpaceScatterPlot.map(p => { let value = par_dict[p.name] if (p.type == 'value') { return parseFloat(value); } else { return value; } }) data.push(attrs); let performance = parseFloat(classifier['performance'].split(' +- ')[0]) let trailID : number = classifier['trail ID']; classifiersData.push({attrs:attrs,performance:performance,label:"trail ID:"+trailID+" performance:"+performance,idx:trailID}); } )); // Get Color Gradient //const N = totallen<2?2:totallen; //const colors = getGradientColor(getColor(methodDef.name),RED,N); //console.log(colors); const N = sumTrail<2?2:sumTrail; const colors = getGradientColor(YELLOW,RED,N-1); // PCA let scatterPlotData : any[] = []; // scatterPlotData Format: x, y , performance, label, idx. //console.log(data); if(data.length>0 && data[0].length>0){ const pca = new this.PCA(data); classifiersData.forEach(p=>{ let predictData = pca.predict([p.attrs])[0]; if(predictData.length>0){ let attr : any[] = []; if(predictData.length==1){ attr.push(predictData[0]); attr.push(predictData[0]); }else if(predictData.length>=2){ attr.push(predictData[0]); attr.push(predictData[1]); } attr.push(p.performance); attr.push(p.label); attr.push(p.idx); scatterPlotData.push(attr); } }); }else{ // console.log(data); } // Visualization for pca result. let series= []; series.push({ data: scatterPlotData, type: 'scatter', symbolSize: function (data : any) { return data[2]*25+1; }, label: { emphasis: { show: true, formatter: function (param : any) { return param.data[3]; }, position: 'top', color: 'black' } }, itemStyle: { normal: { color: function(param:any){ return colors[param.data[4]]; }, } } }); series.push({ data: scatterPlotData, type: 'line', symbolSize: 0, smooth:true, itemStyle: { normal: { color: '#F2E3E0', width:1 } } }); /* let datalength = scatterPlotData.length; for(let i = 0;i } } class HyperpatitionBarChart extends React.Component<{ methodDef: IMethod, classifiers: IClassifier[], hyperpartitionName : string, sumTrail:number }, {}>{ PCA = require('ml-pca'); getBarOption() { // Get Datasets const { methodDef, classifiers } = this.props; let step = 0.05; let data:number[] = []; for (let i =0; i<1/step; i++){ data.push(0) } classifiers.forEach((classifier:IClassifier)=>{ let performance = parseFloat(classifier['performance'].split(' +- ')[0]) let rangeIdx = Math.floor(performance/step) data[rangeIdx] = data[rangeIdx]+1 }); let xAxisData:string[] = [] for (let i =0; i<1/step; i++){ xAxisData.push(`${(i*step).toFixed(2)}-${((i+1)*step).toFixed(2)}`) } const option = { title:{ text:"performance histogram", left: '0.5%', bottom: '0.5%', }, xAxis: { type: 'category', data: xAxisData, axisTick:{ interval:0, }, axisLabel:{ rotate:-30, interval:1, fontSize: 8, } }, yAxis: { type: 'value', }, series:[ { type: 'bar', // smooth: false, barGap:'5%', barCategoryGap: "5%", data:data, itemStyle:{ color: getColor(methodDef.name), opacity: 1 }, } ] }; return option } render() { return } } class HyperpatitionOverViewBarChart extends React.Component<{ methodDef: IMethod, classifiers: IClassifier[], hyperpartitionName : string, sumTrail:number,onClick:(name:string)=>void }, {}>{ getBarOption() { // Get Datasets const { methodDef, classifiers } = this.props; let step = 0.05; let data:number[] = []; for (let i =0; i<1/step; i++){ data.push(0) } classifiers.forEach((classifier:IClassifier)=>{ let performance = parseFloat(classifier['performance'].split(' +- ')[0]) let rangeIdx = Math.floor(performance/step) data[rangeIdx] = data[rangeIdx]+1 }); let xAxisData:string[] = [] for (let i =0; i<1/step; i++){ xAxisData.push(`${(i*step).toFixed(2)}-${((i+1)*step).toFixed(2)}`) } /* const option = { title: { text: `${this.props.hyperpartitionName}: {term|${classifiers.length}}`, left: '0.5%', top: '0.5%', textStyle: { fontSize: 15, rich: { term: { borderColor: "black", borderWidth: 1, borderRadius: 15, padding: 5 } }, color:getColor(methodDef.name) } }, xAxis: { type: 'category', data: xAxisData, axisTick:{ interval:0, }, axisLabel:{ rotate:-30, interval:1, fontSize: 8, } }, yAxis: { type: 'value' }, series:[ { type: 'bar', // smooth: false, barGap:'5%', barCategoryGap: "5%", data:data, itemStyle:{ color: getColor(methodDef.name), opacity: 1 }, } ] }; */ const option = { title: { text: `${this.props.hyperpartitionName}: {term|${classifiers.length}}`, left: '0.5%', top: '0.5%', textStyle: { fontSize: 15, rich: { term: { borderColor: "black", borderWidth: 1, borderRadius: 15, padding: 5 } }, color:getColor(methodDef.name), opacity: 1 } }, xAxis: { type: 'category', show:false }, yAxis: { type: 'value', show:false }, series:[ { type: 'bar', // smooth: false, data:data, itemStyle:{ color: "#E0D6D4", opacity: 0.5 }, } ] }; return option } onChartClick=()=>{ //alert('chart click' + this.props.hyperpartitionName); const name = this.props.hyperpartitionName; this.props.onClick(name); }; render() { return
} } ================================================ FILE: src/components/DataRuns/ThreeLevel/HyperParameters.tsx ================================================ import * as React from "react"; import { IClassifierInfo } from "service/dataService" import { getColor } from 'helper'; import * as methodsDef from "assets/methodsDef.json"; import {Icon,Button} from 'antd' export interface IProps { classifiers: IClassifierInfo[], selectedMethod: string, compareK:number, onSelectedChange:(method:string,name:string,type:string,range:number[])=>void, alreadySelectedRange:any, mouseOverClassifier:number, height:number, width:number } export interface HyperParameterInfo{ dim:number, name:string, type:string, min:number, max:number, valueType:string } export interface IState { hiddenrow:number, HyperparameterList:HyperParameterInfo[], selectedClassifier:any, selectedMethod:string, classifiers:any, mode:number, visible:boolean } const d3 = require("d3"); // Get Datasets export default class HyperParameters extends React.Component{ index = 0; state={ hiddenrow:0, HyperparameterList:[], selectedClassifier:[], selectedMethod:"", classifiers:[], mode:1, visible:false } box = { width: 200, height: 100, margin: 50, yextragap:8 } calculateExceedRow = () =>{ let box = this.box; let exceedRow = Math.floor((this.props.height - box.margin) / (box.height*5/4 + box.margin)) + 0; if(exceedRow<=0){ exceedRow = 0; } return exceedRow; } onUpClick = ()=>{ let {hiddenrow} = this.state; if(hiddenrow>0){ hiddenrow = hiddenrow -1; console.log("change") console.log(hiddenrow); this.setState({ hiddenrow:hiddenrow }) } } onDownClick = () =>{ let {hiddenrow} = this.state; hiddenrow = hiddenrow + 1; console.log("change") console.log(hiddenrow); this.setState({ hiddenrow:hiddenrow }) } componentDidMount(){ this.prepareData(this.props,this.state); } prepareData(nextProps:IProps,nextStates:IState){ let { classifiers, selectedMethod, compareK,alreadySelectedRange } = nextProps let comparedCls = classifiers.slice(0, compareK) let comparedMethods = Array.from(new Set(comparedCls.map(d=>d.method))) if (comparedMethods.length==1){ selectedMethod = comparedMethods[0] } classifiers = classifiers.filter(d=>d.method==selectedMethod) function judgeSelect(d:IClassifierInfo){ let hpaSelect : boolean = true; if(alreadySelectedRange){ let filterkeys = Object.keys(alreadySelectedRange); if(filterkeys.length>0){ filterkeys.forEach((name:string,index:number)=>{ if(hpaSelect){ // Avoid endless comparison if(d.hyperparameters[name]){ let data = d.hyperparameters[name]; if(alreadySelectedRange[name]["range"]&&alreadySelectedRange[name]["range"].length==2){ let hpamin = alreadySelectedRange[name]["range"][0]; let hpamax = alreadySelectedRange[name]["range"][1]; if(datahpamax){ hpaSelect = false; } } }else{ hpaSelect = false; } } }); }else{hpaSelect=true;} }else{hpaSelect = true;} return hpaSelect; } if (classifiers.length>0) { let HyperparameterList: any[] = []; let idx = 0 let methodDef = methodsDef[selectedMethod]; methodDef.root_hyperparameters.forEach((p: string) => { let parameter = methodDef['hyperparameters'][p] if (parameter['values']) { //category axis } else if (parameter['range']) {//value axis if (parameter['range'].length > 1) { //range in the form of [min, max] HyperparameterList.push({ dim: idx, name: p, type: 'value', min: parameter['range'][0], max: parameter['range'][1], valueType: parameter['type'] }) } else { // range in the form of [max] HyperparameterList.push({ dim: idx, name: p, type: 'value', min: 0, max: parameter['range'][0], valueType: parameter['type'] }) } } else if (parameter['type'] == 'list') { // the hidden layer sizes in MLP for (let hidden_l = 0; hidden_l < parameter['list_length'].length; hidden_l++) { HyperparameterList.push({ dim: idx + hidden_l, name: `${p}[${hidden_l}]`, type: 'value', min: 0, max: parameter['element']['range'][1], valueType: parameter['type'] }) } idx = idx + parameter['list_length'].length - 1 } else { HyperparameterList.push({ dim: idx, name: p, type: 'value', valueType: parameter['type'] }) } }) let margin = 40, yextragap = 0, width = ((nextProps.width - 120- margin) / (HyperparameterList.length) - margin)*4/5; //height = ((nextProps.height-margin)/(HyperparameterList.length)-margin-yextragap)*4/5; this.box = { width: width>150?150:width<100?100:width, height: 100, margin, yextragap } let selectedClassifier : IClassifierInfo[] =[]; if(compareK>0){ selectedClassifier = comparedCls.filter(d=>{ return judgeSelect(d); }) }else{ selectedClassifier = classifiers.filter(d=>{ return judgeSelect(d); }) } // button visible checked let box = this.box; let exceedRow = Math.floor((nextProps.height - box.margin) / (box.height*5/4 + box.margin)) + 0; if(exceedRow<=0){ exceedRow = 0; } let maxRow = HyperparameterList.length; let gap = Math.max(0,maxRow-exceedRow); let newhiddenrow = Math.min(gap,nextStates.hiddenrow); console.log(maxRow,exceedRow,newhiddenrow); let visible = nextStates.visible; if(gap>0){ visible=true; }else{ visible=false; } if(this.props!=nextProps || newhiddenrow!=nextStates.hiddenrow || visible!=nextStates.visible || this.state.HyperparameterList.length!=HyperparameterList.length){ this.setState({ selectedClassifier:selectedClassifier, HyperparameterList:HyperparameterList, selectedMethod:selectedMethod, classifiers:classifiers, mode:1, hiddenrow:newhiddenrow, visible:visible, }) } }else{ if(this.props!=nextProps){ this.setState({ mode:1, visible:false, hiddenrow:0 }) } } } shouldComponentUpdate(nextProps:IProps,nextStates:IState){ this.prepareData(nextProps,nextStates); return true; } render() { let {selectedClassifier,HyperparameterList,classifiers,selectedMethod,mode,visible} = this.state; visible; let box = this.box; let generateButton = () =>{ if(false){ return (
) }else{ return ; } } let exceedRow = this.calculateExceedRow(); exceedRow=exceedRow+this.state.hiddenrow; if(mode==1){ console.log("render hyperparameters") console.log(HyperparameterList.length) return {HyperparameterList.map((hp:HyperParameterInfo, i) => { // if(i>=exceedRow||i // }else{ return //} })} {generateButton()} } else { return } } } export interface HyProps { classifiers: IClassifierInfo[], selectedMethod: string, hp: any, idx: number, comparedCls: IClassifierInfo[], valueType: string, box: { width: number, height: number, margin: number, yextragap : number }, onSelectedChange:(method:string,name:string,type:string,range:number[])=>void, alreadySelectedRange:any, mouseOverClassifier:number, hiddenrow:number } /** * export interface DetailChartProps{ width: number, height: number, x: number, y: number, methodDef: IMethod, classifiers : IClassifier[], name:string, min:number, max:number, hyname:string, alreadySelectedRange:number[], hintRange:number[], onSelectedChange:(method:string,name:string,range:number[])=>void, valueType:string } */ class HyperParameter extends React.Component{ TAG = "HyperParameter_"; componentDidMount() { this.renderD3(); let g = d3.select("#" + this.TAG + this.props.idx) let {comparedCls,mouseOverClassifier} = this.props g.selectAll(`circle.dot`) .attr('opacity', 0.2) //if(comparedCls.length>0){ // g.selectAll(`circle.dot`) // .attr('opacity', 0.2) //} if(mouseOverClassifier==-1){ comparedCls.forEach(d=>{ g.select(`#_${d.id}`) .attr('opacity', 1) }) }else{ g.select(`#_${mouseOverClassifier}`) .attr('opacity',1); } } // componentWillUnmount() { // // d3.select("#" + this.TAG + this.props.idx).remove() // } componentDidUpdate(){ let g = d3.select("#" + this.TAG + this.props.idx) g.selectAll('*').remove() this.renderD3() let {comparedCls,mouseOverClassifier} = this.props g.selectAll(`circle.dot`) .attr('opacity', 0.2) //if(comparedCls.length>0){ // g.selectAll(`circle.dot`) // .attr('opacity', 0.2) //} if(mouseOverClassifier==-1){ comparedCls.forEach(d=>{ g.select(`#_${d.id}`) .attr('opacity', 1) }) }else{ g.select(`#_${mouseOverClassifier}`) .attr('opacity',1); } } renderD3() { let { box, hp, classifiers, idx, selectedMethod, onSelectedChange, alreadySelectedRange,valueType } = this.props classifiers.reverse() // reverse so that good classifiers is on the top let scatterData = classifiers.map(cls => { return { hp: cls.hyperparameters[hp.name]||0, score: cls.cv_metric, ...cls } }) let methodColor = getColor(selectedMethod) let { width, height, margin, yextragap} = box let x = d3.scaleLinear().range([0, width]) let y = d3.scaleLinear().range([height, 0]); if(valueType=="float_exp"){ x = d3.scaleLog().range([0, width]) } let yArea = d3.scaleLinear().range([height/4, 0]); x.domain([hp.min, hp.max]); y.domain(d3.extent(classifiers, (cls:IClassifierInfo)=>cls.cv_metric)); // calculate the area chart const num_step = 20 let areaData: number[][] = Array.from(new Array(num_step).keys()).map(d => []) const step = width / num_step scatterData.forEach(d => { if (typeof (d.hp) == 'number') { let rangeIndex = Math.floor((x(d.hp) - 0) / step) rangeIndex = rangeIndex >= num_step ? (num_step - 1) : rangeIndex rangeIndex = rangeIndex < 0 ? 0 : rangeIndex; areaData[rangeIndex].push(d.score) } }) areaData.unshift(areaData[0]) //draw let svg = d3.select("#" + this.TAG + idx) .append('g') .attr('transform', `translate(${120+idx * (width*5/4 + margin + yextragap)}, ${margin})`) yArea.domain(d3.extent(areaData, (d: number[]) => d.length)) let area = d3.area() .x(function (d: any, i: number) { return i*step; }) .y1(height*5/4) .y0(function (d: any) { return height + yArea(d.length); }) .curve(d3.curveCardinal) // area performance gradient /*svg.append("linearGradient") .attr("id", `area-gradient-${hp.name}`) .attr("gradientUnits", "userSpaceOnUse") .attr("x1", 0).attr("y1", 0) .attr("x2", width).attr("y2", 0) .selectAll("stop") .data(areaData) .enter().append("stop") .attr("offset", (d: any, i: number) => i / num_step) .attr("stop-color", methodColor) .attr('stop-opacity', (d: number[]) => (d.reduce((m, n) => m + n, 0) || 0) / d.length)*/ //area chart svg.append('g') .attr('class', 'areaGroup') .selectAll('.area') .data([areaData]) .enter() .append('path') .attr('class', 'area') .attr('d', area) // .style('fill', `url(#area-gradient-${hp.name})`) .style('fill',methodColor) // brush function brushended() { if (!d3.event.sourceEvent) return; // Only transition after input. if (!d3.event.selection) return; // Ignore empty selections. let d0 = d3.event.selection.map(x.invert); let min = d0[0]; let max = d0[1]; console.log("brush min max"); console.log(min); console.log(max); onSelectedChange(selectedMethod,hp.name,hp.valueType,[min,max]); } let brush : any; let brush_g = svg.append("g") .attr("class", "brush") .call(brush = d3.brushX() .extent([[x(hp.min), height], [x(hp.max), height*5/4]])); if(alreadySelectedRange["range"]&&alreadySelectedRange["range"].length==2){ brush.move(brush_g,[x(alreadySelectedRange["range"][0]),x(alreadySelectedRange["range"][1])]); } brush.on("end", brushended); //scatter chart svg.append('g') .attr('class', 'dotGroup') .selectAll(".dot") .data(scatterData) .enter().append("circle") .attr("class", 'dot') .attr('id',(d:any)=>`_${d.id}`) .attr("r", 4) .attr("cx", function (d: any) { return x(d.hp); }) .attr("cy", function (d: any) { return y(d.score); }) .style('fill', getColor(classifiers[0].method)) .attr('stroke', 'white') .attr('stroke-width', 1) // Add the X Axis svg.append("g") .attr('class','xAxis') .attr("transform", "translate(0," + height*5/4 + ")") .call(d3.axisBottom(x).ticks(5)); svg.append("g") .attr('class','xAxis_') .attr("transform", "translate(0," + height + ")") .call(d3.axisBottom(x).ticks(0)); // x axis lable; /* svg.append("text") .attr("transform", "translate(" + (width + 10) + " ," + (height*5/4) + ")") .style("text-anchor", "start") .text(hp.name);*/ svg.append("text") .attr("transform", "translate(" + (width) + " ," + (height*5/4 + margin*0.75) + ")") .style("text-anchor", "end") .text(hp.name); // Add the Y Axis svg.append("g") .attr('class', 'yAxis') .call(d3.axisLeft(y).ticks(5)); // text label for the y axis svg.append("text") .attr("transform", "rotate(-90)") .attr("y", 0 - 1.5 * margin) .attr("x", 0 - (height / 2)) .attr("dy", "1em") .style("text-anchor", "middle") .text("F_score"); } render() { return } } ================================================ FILE: src/components/DataRuns/ThreeLevel/HyperPartitions.css ================================================ .RadioBox input{vertical-align:middle; margin-bottom:2px; *margin-bottom:2px;} div.tooltip { position: absolute; text-align: left; color: aliceblue; height: 20px; padding: 3px; font: 12px sans-serif; background: rgba(0, 0, 0, 0.671); border: 5px; border-radius: 3px; pointer-events: none; } .link { fill: none; stroke-width: 1.5px; } .bottomright { position: absolute; bottom: 80px; right: 30px; font-size: 18px; } .ant-progress-inner{ background-color: #cecdcd } ================================================ FILE: src/components/DataRuns/ThreeLevel/HyperPartitions.tsx ================================================ import * as React from "react"; import { IHyperpartitionInfo, IClassifierInfo } from "service/dataService" import { getColor } from "helper"; //import {Checkbox} from "antd"; import "./HyperPartitions.css"; import {Button,Icon} from 'antd'; // import { IDatarun } from "types"; const d3 = require("d3"); export interface IProps { hyperpartitions: IHyperpartitionInfo[], // datarun: IDatarun, datarunID: number|null, selectedMethod: string, classifiers: IClassifierInfo[], compareK: number, hyperpartitionsSelected:number[], onHpsCheckBoxChange: (e:any)=>void, width:number, height:number, onMouseOverClassifier:(e:number)=>void, mouseOverClassifier:number } export interface IState { hiddencol:number, visible:boolean, leftdisabled:boolean, rightdisabled:boolean } export default class HyperPartitions extends React.Component{ state={ hiddencol:0, visible:false, leftdisabled:false, rightdisabled:false } public hyperpartitionBox = { height: 20, gap: 8, width: 160 } numPerRow = 14 index= 0; lastArray:Array= []; onLeftHp = () =>{ let hiddencol = this.state.hiddencol; if(hiddencol<0){ hiddencol = 0; }else if(hiddencol>0){ hiddencol=hiddencol-1; } this.setState({ hiddencol:hiddencol }) } onRightHp = () =>{ let hiddencol = this.state.hiddencol; hiddencol=hiddencol+1; this.setState({ hiddencol:hiddencol }) } public renderD3(hpsInfo: Array, maxLen: number, selectedMethod: string, hyperpartitionsSelected:any,hiddencol:number,comparedCls:any,nowProps:IProps) { console.log("rerender hyperpartitions"); /*if(this.index>=1){ console.log("end"); return; }else{ this.index++; }*/ // let num_all_hp = hpsInfo.length hpsInfo = hpsInfo.filter(d=>d.method==selectedMethod).filter(d => d.sortedCls.length > 0); console.log("len",hpsInfo.length); let { height, width, gap } = this.hyperpartitionBox let trans = d3.transition() .duration(1000) .ease(d3.easeLinear); let x = d3.scaleBand() .rangeRound([0, width]) .paddingInner(0.05); let y = d3.scaleLinear() .rangeRound([height, 0]); x.domain(Array.from(Array(maxLen).keys())) y.domain([0, 1]); let exceedrow = -1; let maxrow = 0; let nowrow = 0; let lastposx = gap+width*0.5; let lastposy = 3*height+gap; //let verticalnum = 0; //let maxverticalnum = 10; let pos = [[lastposx, lastposy]] let bundleData : any[]= []; for (let i = 0; i < hpsInfo.length; i++) { let currentPos = [0, 0] //next pos x not changed, y changed if(i!=0)lastposx = lastposx + width * 1.5; currentPos = [lastposx, lastposy]; if (lastposx+ width * 1.5 > nowProps.width) { lastposy = lastposy + (2 * height + gap); nowrow ++; if(lastposy + (2 * height + gap)>nowProps.height && exceedrow==-1){ exceedrow = nowrow; } lastposx = gap+width*0.5; currentPos = [lastposx, lastposy] } pos.push(currentPos) bundleData.push({ ...hpsInfo[i], pos:currentPos, col:nowrow }) } maxrow = nowrow+1; //console.log("maxcol exceedcol"); //console.log(maxcol); //console.log(exceedcol) if(exceedrow==-1){ let newhiddencol = 0; if(newhiddencol != hiddencol || this.state.visible!=false){ this.setState({ hiddencol:0, visible:false }) } hiddencol = newhiddencol; }else{ let leftdisabled = hiddencol<=0; let rightdisabled = hiddencol>=maxrow-exceedrow; let newhiddencol = hiddencol; if(newhiddencol<=0){ newhiddencol=0; } if(newhiddencol>=maxrow-exceedrow){ newhiddencol=maxrow-exceedrow; } if(this.state.visible != true || this.state.leftdisabled != leftdisabled || this.state.rightdisabled!=rightdisabled || this.state.hiddencol!=newhiddencol){ this.setState( { visible:true, leftdisabled:leftdisabled, rightdisabled:rightdisabled, hiddencol:newhiddencol } ) } hiddencol = newhiddencol; } if(exceedrow!=-1){ exceedrow=hiddencol+exceedrow; }else{ exceedrow=maxrow+1; } //console.log("hiddencol"); // console.log(hiddencol); bundleData.forEach((d:any)=>{ if(d.col=exceedrow){ d.pos[1]=d.pos[1]-(2 * height + gap)*(d.col)+nowProps.height+(2 * height + gap)*(d.col-exceedrow); }else{ d.pos[1]=d.pos[1]-(2 * height + gap)*(hiddencol); } } }) //enter let strokeWidth = 1 let hps = d3 .select('g.HyperPartitions') .selectAll(`g.hpGroup`) .data(bundleData,function(d:any){ return d.id; }) console.log(hps); console.log(hps.enter().size()); console.log(hps.size()); console.log(hps.exit().size()); //--------------Enter Phase-------------------// let hpGroupEnter = hps .enter() .append("g") .attr('class', 'hpGroup') .attr("transform", (d: any, i: number) => { return `translate(${d.pos[0]},${d.pos[1]})` } ); hpGroupEnter.append('rect') .attr('class', "out_hyperPartition") .attr('height', (d: any) => d.method == selectedMethod ? (height + 2 * strokeWidth) : gap) .attr('y', (d: any) => d.method == selectedMethod ? (-strokeWidth - height) : (gap)) .attr('x', -strokeWidth) .attr('width', (d: any) => d.method == selectedMethod ? (width + 2 * strokeWidth) : gap) .style('fill', (d: any) => d.method == selectedMethod ? 'none' : getColor(d.method)) .style('stroke', 'gray') .style('stroke-width', strokeWidth); //ENTER + UPDATE //TEXT ENTER let textData = hpGroupEnter.merge(hps).filter((d: any) => d.method == selectedMethod) .selectAll('g.caption') .data((d:any)=>[d],(d:any)=>{ d.id }); let textEnter = textData .enter() .append('g') .attr('class', 'caption') textEnter.append('text') .attr('class', "num_cls") .attr('x', (d: any) => 1+width * d.sortedCls.length / maxLen - 2) .attr('y', -1) .text((d: any) => d.sortedCls.length) .attr('text-anchor', 'start') textEnter.append('text') .attr('class', "best_score") // .attr('x', (d:any)=>width*d.scores.length/maxLen) .attr('x', -gap) .attr('y', 0) .attr('text-anchor', 'end') .text((d: any) => d.bestScore >= 0 ? d.bestScore.toFixed(3) : '') let generateText = (d:any)=>{ let selected=""; if(hyperpartitionsSelected.indexOf(d.id)>-1){ selected="checked"; } return `
` }; //Create SVG element let tooltip = d3.select("#tooltip"); //let top_methods = d3.select("#methodstop"); if(tooltip.empty()){ tooltip = d3.select("body").append("div") .attr("class", "tooltip") .attr("id","tooltip") .style("opacity", 0) .style("left", "0px") .style("top", "0px");; } textEnter.append('g') .attr('class', 'hp_name') .attr('transform', `translate(${0}, ${0})`) .append('foreignObject') .attr('width', width) .attr('height', height) .append('xhtml:div') .attr('class', 'div_caption') .html(generateText) .on("click",(d:any)=>{ nowProps.onHpsCheckBoxChange(d.id); }).on("mouseover",(d:any)=>{ let length = d.hyperpartition_string.length * 6.5 + 15; tooltip .style("width",length+"px") .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); tooltip.style("opacity", 0.7).html(d.hyperpartition_string) }) .on("mouseout",(d:any)=>{ tooltip .style("opacity", 0); }) /* return ( )*/ //UPDATE hps.transition(trans) .attr("transform", (d: any, i: number) => { return `translate(${d.pos[0]},${d.pos[1]})` }) //HPGROUP UPDATE //CLASSIFIER REMOVE hpGroupEnter.merge(hps).filter((d: any) => d.method != selectedMethod) .selectAll('.hpBar') .transition(trans) .attr('width', 0) .attr('height', 0) .attr('x', x(0)) .attr('y', height) .remove() // ENTER + UPDATE let classifierSelect = hpGroupEnter.merge(hps).filter((d: any) => d.method == selectedMethod) .selectAll('.hpBar') .data((d: any) => { return d.sortedCls },function(d:any){ return "cls"+d.id; }); let selectOpacity = (d:any)=>{ if(nowProps.mouseOverClassifier==d.id){ return 1; }else{ if(nowProps.mouseOverClassifier==-1){ if(comparedCls.length>0){ let flag = false; comparedCls.forEach((cls:any)=>{ if(cls.id == d.id){ flag = true; } }) if(flag){ return 1; }else{ return 0.2; } }else{ return 1; } } else{ return 0.2; } } } //CLASSIFIER ENTER classifierSelect.enter().append("rect") .attr("class", "hpBar") .attr('id', (d:any)=>`_${d.id}`) .style('fill', function (d: any) { return getColor(selectedMethod) }) .attr('opacity',selectOpacity) .on("mouseover",(d:any)=>{ nowProps.onMouseOverClassifier(d.id); tooltip .style("width","40px") .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); tooltip.style("opacity", 0.7).html(d.cv_metric.toFixed(3)) }) .on("mouseout",(d:any)=>{ nowProps.onMouseOverClassifier(-1); tooltip .style("opacity", 0); }) .attr("x", (d: any, i: number) => x(0)) .attr("y", (d: any) => 0 ) .attr("width", 0) .attr("height", 0) .transition(trans) .attr("x", (d: any, i: number) => x(i)) .attr("y", (d: any) => y(d.cv_metric) - height) .attr("width", x.bandwidth()) .attr("height", (d: any) => (height - y(d.cv_metric))) .attr('opacity',selectOpacity) //CLASSIFIER UPDATE classifierSelect.transition(trans) .attr("x", (d: any, i: number) => x(i)) .attr("y", (d: any) => y(d.cv_metric) - height) .attr("width", x.bandwidth()) .attr("height", (d: any) => (height - y(d.cv_metric))) .attr('opacity',selectOpacity) classifierSelect.exit().remove(); //UPDATE hps.selectAll('.out_hyperPartition') .transition(trans) .attr('height', (d: any) => d.method == selectedMethod ? (height + 2 * strokeWidth) : gap) .attr('y', (d: any) => d.method == selectedMethod ? (-strokeWidth - height) : (gap)) .attr('x', -strokeWidth) .attr('width', (d: any) => d.method == selectedMethod ? (width + 2 * strokeWidth) : gap) .style('fill', (d: any) => d.method == selectedMethod ? 'none' : getColor(d.method)) .style('stroke', 'gray') .style('stroke-width', strokeWidth) //ENTER + UPDATE //TEXT UPDATE let textUpdate = textData; textUpdate.exit() .transition(trans) .attr('opacity', 1e-6) .remove() textUpdate.selectAll('text.num_cls') .attr('x', (d: any) => 1+width * d.sortedCls.length / maxLen - 2) .attr('y', -1) .text((d: any) => { //console.log(d.id+":"+d.sortedCls.length); return d.sortedCls.length } ) .attr('text-anchor', 'start') textUpdate.selectAll('text.best_score') // .attr('x', (d:any)=>width*d.scores.length/maxLen) .attr('x', -gap) .attr('y', 0) .attr('text-anchor', 'end') .text((d: any) => d.bestScore >= 0 ? d.bestScore.toFixed(3) : '') textUpdate.selectAll('g.hp_name') .attr('transform', `translate(${0}, ${0})`) .select('foreignObject') .attr('width', width) .attr('height', height) .select('.div_caption') .html(generateText).attr('opacity', 1e-6) .transition(trans) .attr('opacity', 1) hps.filter((d: any) => d.method != selectedMethod) .selectAll('g.caption') .transition(trans) .attr('opacity', 1e-6) .remove() // exit() hps.exit() //.transition(trans) //.attr('opacity', 1e-6) .remove() } public sortHpByperformance(props: IProps) { let { hyperpartitions: hps, classifiers, selectedMethod } = props // cls = cls.filter(d=>d.method==selectedMethod) // hps = hps.filter(d=>d.method==selectedMethod) let hpsInfo = hps.map(hp => { let filteredCls = classifiers .filter( cls => cls.hyperpartition_id == hp.id ) let sortedCls = filteredCls.sort((a, b) => (b.cv_metric - a.cv_metric)) return { ...hp, bestScore: Math.max(...sortedCls.map(d=>d.cv_metric)), sortedCls } }) hpsInfo.sort((a, b) => (b.bestScore - a.bestScore)) let maxLen = Math.max(...hpsInfo.map(d => d.sortedCls.length)) if (maxLen < 0) maxLen = 0 // let filterHps = hps.filter(d => d.method == selectedMethod) // let filterHpsInfo = hpsInfo.filter(d => d.method == selectedMethod) return { hps, hpsInfo, maxLen, selectedMethod } } componentDidMount() { let { maxLen, hpsInfo, selectedMethod } = this.sortHpByperformance(this.props) let { compareK, classifiers,hyperpartitionsSelected} = this.props let comparedCls = classifiers.slice(0, compareK) let comparedMethods = Array.from(new Set(comparedCls.map(d=>d.method))) if (comparedMethods.length==1){ selectedMethod = comparedMethods[0] } if(hpsInfo.length>0){ this.renderD3(hpsInfo, maxLen, selectedMethod,hyperpartitionsSelected,this.state.hiddencol,comparedCls,this.props) } /* if (comparedMethods.length>=1|| mouseOverClassifier!=-1){ let g = d3.select('g.HyperPartitions') g.selectAll('rect.hpBar') .attr('opacity', 0.2) if(mouseOverClassifier==-1 && comparedMethods.length>=1){ comparedCls.forEach(cls=>{ g.select(`rect#_${cls.id}`) .attr('opacity', 1) }) }else if(mouseOverClassifier!=-1){ g.select(`rect#_${mouseOverClassifier}`) .attr('opacity', 1) } }else{ let g = d3.select('g.HyperPartitions') g.selectAll('rect.hpBar') .attr('opacity', 1) }*/ } shouldComponentUpdate(nextProps: IProps, nextStates: IState) { let { maxLen, hpsInfo, selectedMethod } = this.sortHpByperformance(nextProps) let { compareK, classifiers,hyperpartitionsSelected} = nextProps let comparedCls = classifiers.slice(0, compareK) let comparedMethods = Array.from(new Set(comparedCls.map(d=>d.method))) if (comparedMethods.length==1){ selectedMethod = comparedMethods[0] } if (this.props != nextProps || this.props.hyperpartitions.length == 0 || nextStates.hiddencol != this.state.hiddencol) { //update d3.selectAll(`.caption`).remove() this.renderD3(hpsInfo, maxLen, selectedMethod,hyperpartitionsSelected,nextStates.hiddencol,comparedCls,nextProps) } //if(this.props.datarunID!=nextProps.datarunID){//remove and redraw //d3.select(`.HyperPartitions`).selectAll('*').remove() // this.renderD3(hpsInfo, maxLen, selectedMethod,hyperpartitionsSelected) //} // /* if (comparedMethods.length>=1 || mouseOverClassifier!=-1){ let g = d3.selectAll('g.hpGroup') console.info('d3, compare, hyperpartition', comparedMethods, comparedCls) g.selectAll('rect.hpBar') .attr('opacity', 0.2) if(mouseOverClassifier==-1){ comparedCls.forEach(cls=>{ g.select(`rect#_${cls.id}`) .attr('opacity', 1) }) }else{ g.select(`rect#_${mouseOverClassifier}`) .attr('opacity', 1) } }else{ let g = d3.select('g.HyperPartitions') g.selectAll('rect.hpBar') .attr('opacity', 1) }*/ return true } //componentWillUpdate(){ // this.renderD3() // } render() { // let rectWidth = Math.max( // ...hpsInfo.map( // d=>d.hyperpartition_string.length*fontSize // ) // ) //console.log("render hiddencol"); //console.log(this.state.hiddencol); let generateButton = () =>{ if(this.state.visible){ return (
) }else{ return } } return ({generateButton()} ) } } ================================================ FILE: src/components/DataRuns/ThreeLevel/Methods.css ================================================ .methods{ overflow-y: scroll; padding: 10px; } .usedMethodContainer{ padding: 3px 8px; float: left; } .method{ border: .4px solid rgba(0,0,0, 0.2); box-shadow: 0 1px 1px 0 rgba(0,0,0,0.06); /* height: ${100/methods.length}% */ height: 100%; padding: 2px 5px; } .unusedMethod{ border: 2px dashed rgba(0,0,0, 0.3); box-shadow: 0 1px 1px 0 rgba(0,0,0,0.06); padding: 2px 5px; margin: 5px; float: left; } div.tooltip { position: absolute; text-align: left; color: aliceblue; width: 180px; height: 80px; padding: 10px; font: 12px sans-serif; background: rgba(0, 0, 0, 0.671); border: 10px; border-radius: 5px; pointer-events: none; } .link { fill: none; stroke-width: 1.5px; } .bottomright { position: absolute; bottom: 80px; right: 30px; font-size: 18px; } ================================================ FILE: src/components/DataRuns/ThreeLevel/Methods.tsx ================================================ import * as React from "react"; import { IClassifier, IMethod, } from "types"; import { getColor } from "helper"; import * as methodsDef from "assets/methodsDef.json"; import {IHyperpartitionInfo, IClassifierInfo,IRecommendationResult} from 'service/dataService'; import { Checkbox,Tooltip,Progress } from 'antd'; import "./Methods.css"; //import * as hint from "assets/small_hint.png" const d3 = require("d3"); export interface IProps { classifiers: IClassifierInfo[], onSelectMethod: (methodName:string)=>void, usedMethods: string[], unusedMethods: string[], width: number, height:number, displaymode:number, selectedMethod: string, hyperpartitions: IHyperpartitionInfo[], configsMethod : string[], onMethodsCheckBoxChange: (e:any)=>void compareK:number, methodSelected:any, recommendationResult:IRecommendationResult } export interface IState { } export default class methods extends React.Component{ public gap = 20 width = (this.props.width - 2*this.gap)/2>20?(this.props.width - 2*this.gap)/2:20; // public height = (window.innerHeight * 0.94 * 0.9 - this.gap) / (Object.keys(methodsDef).length * 0.5) - this.gap public methodBoxAttr = { // width : 70, height: this.width * 0.4, width: this.width, gap: this.gap, x: this.gap, y: this.gap, checkboxY: 2, checkboxWidth: 75, checkboxHeight: 30, yextragap:20 } public getbestperformance(list: IClassifier[]) { if (list.length > 0) { let classifierPerformance: number[] = list.map((classifier: IClassifier) => { let performance = parseFloat(classifier['performance'].split(' +- ')[0]); return performance; }); classifierPerformance.sort(function (a: any, b: any) { return b - a; }); return classifierPerformance[0]; } else { return 0; } } public getmaxnum(classifiers: IClassifierInfo[]) { let step = 0.1; let data: number[] = []; for (let i = 0; i < 1 / step; i++) { data.push(0) } let bestperformance = 0; classifiers.forEach((classifier: IClassifierInfo) => { let performance = classifier['cv_metric']; if (performance > bestperformance) { bestperformance = performance; } let rangeIdx = Math.floor(performance / step) data[rangeIdx] = data[rangeIdx] + 1 }); let maxvalue = 0; data.forEach((p: any) => { if (p > maxvalue) { maxvalue = p; } }) return maxvalue; } componentDidUpdate(){ let {classifiers, compareK } = this.props let comparedCls = classifiers.slice(0, compareK) let comparedMethods = Array.from(new Set(comparedCls.map(d=>d.method))) if(compareK>0){ d3.selectAll('g.algorithm') .attr('opacity', 0.5) comparedMethods.forEach((methodName:string)=>{ d3.select(`g#LineChart_${methodName}`) .attr('opacity', 1) }) }else{ d3.selectAll('g.algorithm') .attr('opacity', 1) } } render() { let { classifiers, usedMethods, unusedMethods, hyperpartitions,methodSelected,width,height,displaymode} = this.props //this.width = (this.props.width - 7*this.gap)/2>20?(this.props.width - 7*this.gap)/2:20; // public height = (window.innerHeight * 0.94 * 0.9 - this.gap) / (Object.keys(methodsDef).length * 0.5) - this.gap /*this.methodBoxAttr = { // width : 70, height: this.width * 0.6, width: this.width, gap: this.gap, x: 2*this.gap, y: 2*this.gap, checkboxY: 2, checkboxWidth: 100, checkboxHeight: 30, yextragap:20 }*/ console.log(width); console.log(height); // Calculate Layout let refwidth = 1600; let refheight = 714.84; let oneboxwidth:number = 215/refwidth*width; let oneboxgap :number = 25/215*oneboxwidth; let oneboxinnerwidth:number = oneboxwidth -2* oneboxgap; let oneboxheight :number = 320/refheight*height; let oneboxygap :number = 120/320*oneboxheight; let oneboxinnerheight:number = oneboxheight - 2*oneboxgap - oneboxygap; this.methodBoxAttr = { // width : 70, height: oneboxinnerheight , width: oneboxinnerwidth , gap: oneboxgap, x: 40/25*oneboxgap, y: 100/25*oneboxgap, checkboxY: 2, checkboxWidth: 100, checkboxHeight: 30, yextragap:oneboxygap } if(displaymode==1){ let refwidth = 1600; let refheight = 348; let oneboxwidth:number = 215/refwidth*width; let oneboxgap :number = 25/215*oneboxwidth; let oneboxinnerwidth:number = oneboxwidth -2* oneboxgap; let oneboxheight :number = 160/refheight*height; let oneboxygap :number = 20/160*oneboxheight; let oneboxinnerheight:number = oneboxheight - 2*oneboxgap - oneboxygap; this.methodBoxAttr = { // width : 70, height: oneboxinnerheight , width: oneboxinnerwidth , gap: oneboxgap, x: 40/25*oneboxgap, y: 50/25*oneboxgap, checkboxY: 2, checkboxWidth: 100, checkboxHeight: 30, yextragap:oneboxygap } }else if(displaymode==2){ let refwidth = 1600; //let refheight = 232; let oneboxwidth:number = 215/refwidth*width; let oneboxgap :number = 25/215*oneboxwidth; let oneboxinnerwidth:number = oneboxwidth -2* oneboxgap; let oneboxheight :number = 160/348*height; let oneboxygap :number = 0; let oneboxinnerheight:number = oneboxheight - 2*oneboxgap - oneboxygap; this.methodBoxAttr = { // width : 70, height: oneboxinnerheight , width: oneboxinnerwidth , gap: oneboxgap, x: 40/25*oneboxgap, y: 50/25*oneboxgap, checkboxY: 2, checkboxWidth: 100, checkboxHeight: 30, yextragap:oneboxygap } } /** * checkboxHeight: 30 checkboxWidth: 100 checkboxY: 2 gap: 20 height: 68.76923076923076 width: 114.61538461538461 x: 40 y: 40 yextragap: 20 * */ console.log(this.methodBoxAttr); let performance = usedMethods.map((name: string, i: number) => { return { bestScore: Math.max( ...classifiers.filter( (d:any)=>d.method==name ).map( d=>d['cv_metric'] ) ), name: name }; }); performance.sort(function (a: any, b: any) { return b.bestScore - a.bestScore; }); let sortedusedMethods = performance.map((d: any) => { return d.name; }); let maxnum = Math.max( ...usedMethods.map( (name:string)=>this.getmaxnum(classifiers.filter(d=>d.method==name)) )) // // calculate the max num // sortedusedMethods.forEach((name: string, i: number)=>{ // let num = this.getmaxnum(datarun[name]); // if(num>maxnum){ // maxnum=num; // } // }); let maxrow = Math.floor((width-this.methodBoxAttr.x)/(this.methodBoxAttr.width+2*this.methodBoxAttr.gap)); if(maxrow<=1){ maxrow = 1; } let getXcorr = (i:number) =>{ return this.methodBoxAttr.x + (i % maxrow)* (this.methodBoxAttr.width + 2*this.methodBoxAttr.gap) } let getYcorr = (i:number) =>{ return this.methodBoxAttr.y + Math.floor(i / maxrow) * (this.methodBoxAttr.height + this.methodBoxAttr.gap+ this.methodBoxAttr.yextragap) } return {sortedusedMethods.concat(unusedMethods).map((name: string, i: number) => { /*let checked = false; let configsMethod : string[] = this.props.configsMethod; if(configsMethod.indexOf(name)>-1){ checked= true; };*/ let checked = false; let indeterminate = false; let disabled = false; if(methodSelected[name]){ checked = methodSelected[name].checked; indeterminate = methodSelected[name].indeterminate; disabled = methodSelected[name].disabled; } return ( {/*{name}*/} {name} ) })} {sortedusedMethods.map((name: string, i: number) => { const methodDef = methodsDef[name]; // let testin = selectedMethodName.indexOf(name); let selected = (name==this.props.selectedMethod) let index = this.props.recommendationResult.result.indexOf(name); let flower = 0; if(index>=0&&index<=2){ flower = 3-index; } let filterclassifier = classifiers.filter((d:any)=>d.method==name); let filterhyperpartitions = hyperpartitions.filter((d:IHyperpartitionInfo)=>d.method==name); let usedHpID = Array.from(new Set(filterclassifier.map(d=>d.hyperpartition_id))); //let usedhpidlen = usedHpID.length; let filterhyperpartitionslen = filterhyperpartitions.length; if(filterhyperpartitionslen==0){ filterhyperpartitionslen=1; } const progressHyperpartiton = (percent:number)=>{ return `${usedHpID.length}/${filterhyperpartitions.length}` } // if (testin > -1) { // selected = true; // } //const classifier_num = datarun[name].length; //const top_width = classifier_num*6+60; // this.index++; return ( ) })} { unusedMethods.map((name: string, i: number) => { let index = i + usedMethods.length; let index2 = this.props.recommendationResult.result.indexOf(name); let flower = 0; if(index2>=0&&index2<=2){ flower = 3-index2; } let flowerlist = []; for(let i = 1;i<=flower;i++){ flowerlist.push(i); } return ( {flowerlist.map((d:number)=>{ return } )} {/* {name} */} ) }) } } } export interface LineChartProps { width: number, height: number, x: number, y: number, methodDef: IMethod, classifiers: IClassifierInfo[], name: string, totallen?: number, methodName?: string, onClick:(a:string)=>void, selected?: boolean, hyperpartitoins: IHyperpartitionInfo[], flower:number } class LineChart extends React.Component{ TAG = "LineChart_"; componentDidMount() { this.renderD3(); } componentDidUpdate(){ let g = d3.select("#" +this.TAG + this.props.name) g.selectAll('*').remove() this.renderD3(); } renderD3() { // Get Datasets const { methodDef, classifiers, totallen, selected } = this.props; // let usedHpID = Array.from(new Set(classifiers.map(d=>d.hyperpartition_id))) let step = 0.1; let data: number[] = []; for (let i = 0; i < 1 / step; i++) { data.push(0) } let bestperformance = 0; classifiers.forEach((classifier: IClassifierInfo) => { let performance = classifier['cv_metric']; if (performance > bestperformance) { bestperformance = performance; } let rangeIdx = Math.floor(performance / step) data[rangeIdx] = data[rangeIdx] + 1 }); let total = 0; let bestindex = 0; // let frequentindex = 0; let maxfrequency = 0; data.forEach((d: any, i: any) => { if (d > 0 && i > bestindex) { bestindex = i; } if (d > maxfrequency) { // frequentindex=i; maxfrequency = d; } total += d; }); total; //let yAxisData: string[] = [] //for (let i = 0; i <= 1 / step; i++) { // yAxisData.push(`${(i * step).toFixed(2)}`) //} // g // Set the dimensions of the canvas / graph //let margin = {top: 0, right: 0, bottom: 0, left: 0}, let margin = { top: 0, right: 2, bottom: 0, left: 2 }, width = this.props.width - margin.left - margin.right, height = this.props.height - margin.top - margin.bottom, top_margin = { top: this.props.y, left: this.props.x }; console.log(height); // Set the ranges // let xScale = d3.scaleLinear().range([0, width]); let yScale = d3.scaleBand() .rangeRound([height, 0]) .paddingInner(0.1); let yScale2 = d3.scaleLinear().range([height, 0]); yScale2.domain([0, 1]); let xScale = d3.scaleLinear().range([0, width]); xScale.domain([0, totallen]); yScale.domain(data.map((d, i) => i/10)); //console.log(data.map((d, i) => i/10)) //Create SVG element // let tooltip = d3.select("#tooltip"); //let top_methods = d3.select("#methodstop"); /* if (tooltip.empty()) { tooltip = d3.select("body").append("div") .attr("class", "tooltip") .attr("id", "tooltip") .style("opacity", 0) .style("left", "0px") .style("top", "0px");; }*/ let top_svg = d3.select("#" + this.TAG + this.props.name).attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom).attr("transform", "translate(" + top_margin.left + "," + top_margin.top + ")") // .on("click",()=>{onClick(this.props.name)}) .on("mousemove", function (d: any) { /* tooltip.transition() .duration(100) .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); tooltip.style("opacity", 0.7).html(methodDef.fullname + "
" + "best performance:" + bestperformance.toFixed(2) + "
" + "trial number:" + total) */ }) .on("mouseout", function (d: any) { // tooltip // .style("opacity", 0); });; top_svg.append("rect") .attr('class', `${this.props.name} methodRect`) .attr("x", 0) .attr("y", 0) .attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom) .attr("fill", "white") .attr("stroke-width", 2) .attr("stroke", selected ? "#A4A0A0" : "#E0D6D4") .on('click', ()=>{ d3.selectAll('rect.methodRect') .attr("stroke", "#E0D6D4") d3.select(`rect.${this.props.name}`) .attr('stroke', "#A4A0A0") .attr("stroke-width", 3) this.props.onClick(this.props.name) }) let svg = top_svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); // var line = d3.line() // .x(function(d:any, i:any) { return xScale(d); }) // set the x values for the line generator // .y(function(d:any,i:any) { return yScale((i)*step); }) // set the y values for the line generator // .curve(d3.curveMonotoneX) // apply smoothing to the line // function generateArray(index: number) { // let data: any[] = []; // data.push({ x: 0, y: index * step }); // data.push({ x: totallen, y: index * step }); // return data; // } // var straightline = d3.line() // .x(function (d: any, i: any) { return xScale(d.x); }) // set the x values for the line generator // .y(function (d: any, i: any) { return yScale(d.y); }) // set the y values for the line generator // svg.append("path") // .datum(generateArray(bestindex)) // .attr("class", "line") // .attr("fill", "none") // .attr("stroke", "#E0D6D4") // .attr("stroke-width", 2) // .attr("stroke-dasharray", "5,5") // .attr("d", straightline); // svg.append("path") // .datum(generateArray(frequentindex)) // .attr("class", "line") // .attr("fill","none") // .attr("stroke","#E0D6D4") // .attr("stroke-width",2) // .attr("stroke-dasharray","5,5") // .attr("d", straightline); svg.selectAll('.method_bar') .data(data) .enter() .append("rect") .attr("class", "method_bar") .style("fill", getColor(methodDef.name)) .attr("x", 0) .attr("y", (d: any, i: number) => ( yScale(i/10) )) .attr("width", (d: any) => xScale(d)) .attr("height", yScale.bandwidth()) let text1 = svg.append("text") .attr("class", "method_name") .attr('x', width-2.5) // .attr('y', height-12) .attr('y',-3) .attr('text-anchor', "end") // .attr('filter',"url(#solid)") .text(`${" "+bestperformance.toFixed(3)+" "} `) let text2=svg.append("text") .attr("class", "method_name") .attr('x', width-55) // .attr('y', height-12) .attr('y',-3) .attr('text-anchor', "end") // .attr('filter',"url(#solid)") .text(`${" "+classifiers.length+" "}`) var bbox1 = text1.node().getBBox(); svg.append("rect") .attr("x", bbox1.x-2.5) .attr("y", bbox1.y) .attr("width", bbox1.width+5) .attr("height", bbox1.height) .style("fill", "#ccc") .style("fill-opacity", ".0") .style("stroke", selected ? "#A4A0A0" : "#E0D6D4") .style("stroke-width", "1.5px"); var bbox2 = text2.node().getBBox(); svg.append("rect") .attr("x", bbox2.x-2.5) .attr("y", bbox2.y) .attr("width", bbox2.width+5) .attr("height", bbox2.height) .style("fill", "#ccc") .style("fill-opacity", ".0") .style("stroke", selected ? "#A4A0A0" : "#E0D6D4") .style("stroke-width", "1.5px"); /* svg.append("text") .attr("class", "best_score") .attr('x', width) .attr('y', height ) .attr('text-anchor', "end") .text(`best: ${bestperformance.toFixed(3)}`)*/ /*svg.append('text') .attr('class', 'hps') .attr("transform", `translate(${width+margin.left},${height/2}) rotate(${90})`) .attr('text-anchor', 'middle') .text(`hp:${usedHpID.length}/${hyperpartitoins.length}`)*/ for(let i = 1;i<=this.props.flower;i++){ svg.append('image') .attr('width',15) .attr('height',15) .attr('opacity',0.5) .attr('xlink:href',"small_hint.png") .attr('x',width-15*i) .attr('y',0); } // // Add the X Axis // svg.append("g") // .attr("transform", "translate(0," + height + ")") // .call(d3.axisBottom(xScale)); // Add the Y Axis let yAxisData = [0.0,0.2,0.4,0.6,0.8]; let yAxisNumerical = [0.0,0.2,0.4,0.6,0.8]; if(height>90){ yAxisData = []; yAxisNumerical = []; for(let i = 0; i<10;i++){ yAxisNumerical.push(i/10); yAxisData.push((i*10)/100); } } svg.append("g") .attr('transform', `translate(${-margin.left}, 0)`) .call(d3.axisLeft(yScale2).tickSize(0).tickPadding(9).tickValues(yAxisData).tickFormat(function (d:any,i:number) { return yAxisNumerical[i]; })) svg.append("g") .attr('transform', `translate(${-margin.left}, 0)`) .call(d3.axisLeft(yScale2).tickValues([0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9]).tickFormat(function (d:any,i:number) { return ""; })) } render() { const { name } = this.props; return {/* */} } } // class LineChart2 extends React.Component{ // TAG = "LineChart_"; // componentDidMount() { // this.renderD3(); // } // renderD3() { // // Get Datasets // const { methodDef, classifiers,totallen,selected } = this.props; // let step = 0.1; // let data:number[] = []; // for (let i =0; i<=1/step; i++){ // data.push(0) // } // let bestperformance = 0; // classifiers.forEach((classifier:IClassifier)=>{ // let performance = parseFloat(classifier['performance'].split(' +- ')[0]); // if(performance>bestperformance){ // bestperformance=performance; // } // let rangeIdx = Math.floor(performance/step) // data[rangeIdx] = data[rangeIdx]+1 // }); // let total = 0; // let bestindex = 0; // // let frequentindex = 0; // // let maxfrequency = 0; // data.forEach((d:any,i:any)=>{ // if(d>0&&i>bestindex){ // bestindex=i; // } // // if(d>maxfrequency){ // // // frequentindex=i; // // maxfrequency=d; // // } // total+=d; // }); // //total; // let yAxisData:string[] = [] // for (let i =0; i<=1/step; i++){ // yAxisData.push(`${(i*step).toFixed(2)}`) // } // // g // // Set the dimensions of the canvas / graph // //let margin = {top: 0, right: 0, bottom: 0, left: 0}, // let margin = {top: 1, right: 1, bottom: 1, left: 1}, // width = this.props.width - margin.left - margin.right, // height = this.props.height - margin.top - margin.bottom, // top_margin = {top:this.props.y,left:this.props.x}; // // Set the ranges // let xScale = d3.scaleLinear().range([0, width]); // let yScale = d3.scaleLinear().range([height, 0]); // xScale.domain([0, totallen]); // yScale.domain([0, 1]); // //Create SVG element // let tooltip = d3.select("#tooltip"); // //let top_methods = d3.select("#methodstop"); // if(tooltip.empty()){ // tooltip = d3.select("body").append("div") // .attr("class", "tooltip") // .attr("id","tooltip") // .style("opacity", 0) // .style("left", "0px") // .style("top", "0px");; // } // let top_svg = d3.select("#"+this.TAG+this.props.name).attr("width", width + margin.left + margin.right) // .attr("height", height + margin.top + margin.bottom).attr("transform", "translate(" + top_margin.left + "," + top_margin.top + ")") // // .on("click",()=>{onClick(this.props.name)}) // .on("mousemove", function(d:any) { // tooltip.transition() // .duration(100) // .style("left", (d3.event.pageX) + "px") // .style("top", (d3.event.pageY - 28) + "px"); // tooltip.style("opacity", 0.7).html(methodDef.fullname+"
"+"best performance:"+bestperformance.toFixed(2) + "
" + "trial number:"+total) // }) // .on("mouseout", function(d:any) { // tooltip // .style("opacity", 0); // });; // top_svg.append("rect") // .attr("x",0) // .attr("y",0) // .attr("width", width + margin.left + margin.right) // .attr("height",height + margin.top + margin.bottom) // .attr("fill","white") // .attr("stroke-width",2) // .attr("stroke",selected?"#A4A0A0":"#E0D6D4") // ; // let svg = top_svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); // let line = d3.line() // .x(function(d:any, i:any) { return xScale(d); }) // set the x values for the line generator // .y(function(d:any,i:any) { return yScale((i)*step); }) // set the y values for the line generator // .curve(d3.curveMonotoneX) // apply smoothing to the line // let area = d3.area() // .y(function(d:any) { return yScale(d) }) // .x0(0) // .x1(function(d:any) { return xScale(d); }) // console.info(area, line) // function generateArray(index:number){ // let data:any[] = []; // data.push({x:0,y:index*step}); // data.push({x:totallen,y:index*step}); // return data; // } // var straightline = d3.line() // .x(function(d:any, i:any) { return xScale(d.x); }) // set the x values for the line generator // .y(function(d:any,i:any) { return yScale(d.y); }) // set the y values for the line generator // svg.append("path") // .datum(generateArray(bestindex)) // .attr("class", "line") // .attr("fill","none") // .attr("stroke","#E0D6D4") // .attr("stroke-width",2) // .attr("stroke-dasharray","5,5") // .attr("d", straightline); // // svg.append("path") // // .datum(generateArray(frequentindex)) // // .attr("class", "line") // // .attr("fill","none") // // .attr("stroke","#E0D6D4") // // .attr("stroke-width",2) // // .attr("stroke-dasharray","5,5") // // .attr("d", straightline); // svg.append("path") // .datum(data) // .attr("class", "line") // .attr("fill","none") // .attr("stroke",getColor(methodDef.name)) // .attr("stroke-width",2) // .attr("d", line); // // svg.append("path") // // .datum(data) // // .attr("class", "line") // // .attr("fill",getColor(methodDef.name)) // // .attr("d", area); // svg.append("text") // .attr("class", "hp_name") // .attr('x', width) // .attr('y', height) // .attr('text-anchor', "end") // .text(this.props.name) // } // render() { // const {name}=this.props; // return // } // } ================================================ FILE: src/components/DataRuns/ThreeLevel/ThreeLevel.css ================================================ .svgWrapper{ width: 100%; border-top: 6px solid rgba(0,0,0, 0.4); } ================================================ FILE: src/components/DataRuns/ThreeLevel/ThreeLevel.tsx ================================================ import * as React from "react"; import Methods from './Methods'; import HyperPartitions from "./HyperPartitions"; import HyperParameters from "./HyperParameters"; import { IHyperpartitionInfo, IClassifierInfo, IConfigsInfo, getDatarunConfigs, IUpdateDatarunConfig, ICommonResponse, updateDatarunConfigs, IClickEvent, IRecommendationResult } from 'service/dataService'; import { IDatarun } from "types"; import * as methodsDef from "assets/methodsDef.json"; import { message, Icon } from 'antd'; import { getColor } from 'helper'; import GenerateSvg from '../../Utils/GenerateSvg'; import './ThreeLevel.css' export interface IProps { height: number, datarun: IDatarun, datasetID: number | null, datarunID: number | null, setDatarunID: (id: number) => void, hyperpartitions: IHyperpartitionInfo[], classifiers: IClassifierInfo[], compareK: number, recommendationResult: IRecommendationResult, postClickEvent: (e: IClickEvent) => void } export interface IState { selectedMethod: string, configsBudget: number, configsMethod: string[], loading: boolean, methodSelected: any, hyperparametersRangeAlreadySelected: any, hyperpartitionsAlreadySelected: number[], mouseOverClassifier: number, displaymode: number, methodCoords: any, classifiers: any } export default class ThreeLevel extends React.Component{ index = 0 constructor(props: IProps) { super(props) this.onSelectMethod = this.onSelectMethod.bind(this) this.state = { selectedMethod: '', configsBudget: 100, configsMethod: [], loading: false, methodSelected: {}, hyperparametersRangeAlreadySelected: {}, hyperpartitionsAlreadySelected: [], mouseOverClassifier: -1, displaymode: 0, classifiers: [], methodCoords: { svgHeight: window.innerHeight * 0.74, svgWidth: window.innerWidth * 5 / 6, methodHeight: window.innerWidth * 5 / 6, hyperPartHeight: window.innerHeight / 2, hyperParamWidth: window.innerWidth * 5 / 6, hyperParamHeight: window.innerHeight * 0.74 / 2, hyperPartWidth: window.innerWidth * 5 / 6, headerHeight: 10, textLeft: 40, hpTabLeft: 145, hyTabLeft: 156 } } } onSelectMethod(methodName: string) { console.info('select method', methodName); let eventlog: IClickEvent = { type: "method", description: { action: "selected", name: methodName }, time: new Date().toString() } this.props.postClickEvent(eventlog); let displaymode = this.state.displaymode; if (displaymode == 0) { displaymode = 1; } this.setState({ selectedMethod: methodName, displaymode: displaymode }) } componentDidMount() { this.getCurrentConfigs(); this.setMethodHeight(); this.getClassifiers(); } onBudgetChange = (budget: any) => { this.setState({ configsBudget: budget }); } getCurrentConfigs = () => { if (this.props.datarunID != null) { let promise: Promise; let datarunID: number = this.props.datarunID ? this.props.datarunID : 0; promise = getDatarunConfigs(datarunID); promise.then(configs => { this.setState({ configsMethod: configs.methods, configsBudget: configs.budget }) }) } } updateCurrentDataRun = () => { // get configs from server ; // submit configs in this view // switch to the new datarun. let methods = this.state.configsMethod; //let budget = this.state.configsBudget; if (this.props.datarunID != null) { let promise: Promise; let datarunID: number = this.props.datarunID ? this.props.datarunID : 0; promise = getDatarunConfigs(datarunID); promise .then(configs => { configs.methods = methods; //configs.budget = budget; this.setState({ loading: true }); let submitconfigs: IUpdateDatarunConfig = {}; submitconfigs.configs = configs; submitconfigs.method_configs = this.state.hyperparametersRangeAlreadySelected; if (this.state.hyperpartitionsAlreadySelected.length > 0) { submitconfigs.hyperpartitions = this.state.hyperpartitionsAlreadySelected; } let promise: Promise = updateDatarunConfigs(datarunID, submitconfigs); //const promise = this.props.onSubmit(this.state.configs); console.log("update data run in methods view"); console.log(configs); promise.then(status => { if (status.success == true) { message.success("Update Configs Successfully."); } else { message.error("Update Configs Failed."); } this.setState({ loading: false }); }).catch(error => { console.log(error); message.error("Update Configs Failed."); this.setState({ loading: false }); }); }) .catch(error => { console.log(error); }); } } fetchHpId = (method: string) => { let hp = this.props.hyperpartitions; return hp.filter((d: any) => d.method == method).map((d: any) => d.id); } onMethodsCheckBoxChange = (e: any) => { let checked = e.target.checked; let value = e.target.value; let methodSelected = this.state.methodSelected; let configsHyperpartitions: number[] = this.state.hyperpartitionsAlreadySelected; console.log("onMethodsCheckBoxChange") if (methodSelected[value]) { if (checked == false) { //un selected let configsMethod: string[] = this.state.configsMethod; let index = configsMethod.indexOf(value); if (index > -1) { configsMethod.splice(index, 1); } methodSelected[value].checked = false; methodSelected[value].indeterminate = false; methodSelected[value].disabled = false; let hpid = this.fetchHpId(value); configsHyperpartitions = configsHyperpartitions.filter((d: number) => hpid.indexOf(d) < 0); this.setState({ hyperpartitionsAlreadySelected: configsHyperpartitions, methodSelected: methodSelected, configsMethod: configsMethod }); } else { let configsMethod: string[] = this.state.configsMethod; configsMethod.push(value); methodSelected[value].checked = true; methodSelected[value].indeterminate = false; methodSelected[value].disabled = false; let hpid = this.fetchHpId(value); configsHyperpartitions = Array.from(new Set(configsHyperpartitions.concat(hpid))); this.setState({ hyperpartitionsAlreadySelected: configsHyperpartitions, methodSelected: methodSelected, configsMethod: configsMethod }); } let action = "selected"; if (checked == false) { action = "unselected"; } let eventlog: IClickEvent = { type: "methodcheckbox", description: { action: action, methodname: value }, time: new Date().toString() } this.props.postClickEvent(eventlog); this.updateCurrentDataRun(); } } onHyperpartitionCheckBoxChange = (id: number) => { let checked: boolean = !(this.state.hyperpartitionsAlreadySelected.indexOf(id) > -1); let value = id; if (checked == false) { // un selected let configsHyperpartitions: number[] = this.state.hyperpartitionsAlreadySelected; let index = configsHyperpartitions.indexOf(value); if (index > -1) { configsHyperpartitions.splice(index, 1); let hp: any = this.props.hyperpartitions.filter((d: any) => d.id == value); let method = hp[0].method; let hpid = this.fetchHpId(method); let judgeSet = hpid.filter((d: any) => configsHyperpartitions.indexOf(d) > -1); let methodSelected = this.state.methodSelected; let configsMethod: string[] = this.state.configsMethod; if (judgeSet.length > 0) { // Fetch method intersect hpid // method unselected methodSelected[method].checked = false; methodSelected[method].indeterminate = true; } else { methodSelected[method].checked = false; methodSelected[method].indeterminate = false; let index = configsMethod.indexOf(method); if (index > -1) { configsMethod.splice(index, 1); } } this.setState({ hyperpartitionsAlreadySelected: configsHyperpartitions, methodSelected: methodSelected, configsMethod: configsMethod }); } } else { let configsHyperpartitions: number[] = this.state.hyperpartitionsAlreadySelected; configsHyperpartitions.push(value); let hp: any = this.props.hyperpartitions.filter((d: any) => d.id == value); let method = hp[0].method; let hpid = this.fetchHpId(method); let judgeSet = Array.from(new Set(configsHyperpartitions.concat(hpid))); let methodSelected = this.state.methodSelected; let configsMethod: string[] = this.state.configsMethod; configsMethod = Array.from(new Set(configsMethod.concat([method]))); if (judgeSet.length == configsHyperpartitions.length) { //selected methodSelected[method].checked = true; methodSelected[method].indeterminate = false; } else { methodSelected[method].checked = false; methodSelected[method].indeterminate = true; } this.setState({ hyperpartitionsAlreadySelected: configsHyperpartitions, methodSelected: methodSelected, configsMethod: configsMethod }); } let action = "selected"; if (checked == false) { action = "unselected"; } let eventlog: IClickEvent = { type: "hyperpartitioncheckbox", description: { action: action, hpid: value }, time: new Date().toString() } this.props.postClickEvent(eventlog); this.updateCurrentDataRun(); } onBrushSelected = (methodname: string, hpaName: string, hpatype: string, range: number[]) => { let { hyperparametersRangeAlreadySelected } = this.state; let update: boolean = false; if (hpatype == "int") { range[0] = Math.floor(range[0]); range[1] = Math.ceil(range[1]); } if (!hyperparametersRangeAlreadySelected[methodname]) { hyperparametersRangeAlreadySelected[methodname] = {}; } if (hyperparametersRangeAlreadySelected[methodname][hpaName] && hyperparametersRangeAlreadySelected[methodname][hpaName]["range"]) { if (hyperparametersRangeAlreadySelected[methodname][hpaName]["range"][0] == range[0] && hyperparametersRangeAlreadySelected[methodname][hpaName]["range"][1] == range[1]) { // nothing } else { update = true; } } else { if (range.length > 0) { update = true; } } if (update) { hyperparametersRangeAlreadySelected[methodname][hpaName] = { "type": hpatype, "range": range }; console.log(hyperparametersRangeAlreadySelected); this.setState({ hyperparametersRangeAlreadySelected: hyperparametersRangeAlreadySelected }); let action = "updated"; let eventlog: IClickEvent = { type: "hyperparametersRange", description: { action: action, range: range, type: hpatype, hyname: hpaName, methodname: methodname }, time: new Date().toString() } this.props.postClickEvent(eventlog); this.updateCurrentDataRun(); } } componentWillReceiveProps(nextProps: IProps) { if (this.state.loading == false) { let { hyperpartitions } = nextProps; let methodhistogram: any = {}; let methodSelected: any = {}; let mode = 1; let hyperpartitionsAlreadySelected: number[] = []; if (mode == 0) { hyperpartitionsAlreadySelected = hyperpartitions.map((d: any) => { return d.id; }); } else if (mode == 1) { hyperpartitionsAlreadySelected = hyperpartitions.filter((d: any) => d.status != "errored").map((d: any) => { return d.id; }); } Object.keys(methodsDef).forEach((d: string) => { if (!methodhistogram[d]) { methodhistogram[d] = { total: 0, enable: 0 }; } }); hyperpartitions.forEach((d: any) => { if (!methodhistogram[d.method]) { methodhistogram[d.method] = { total: 0, enable: 0 }; console.log("unknown method : " + d.method); } if (!(d.status == "errored")) { methodhistogram[d.method].total++; methodhistogram[d.method].enable++; } else { methodhistogram[d.method].total++; } }); Object.keys(methodhistogram).forEach((d: string) => { if (mode == 0) { if (methodhistogram[d].total == 0) { methodSelected[d] = { checked: false, disabled: true, indeterminate: false }; } else { methodSelected[d] = { checked: true, disabled: false, indeterminate: false }; } } else if (mode == 1) { if (methodhistogram[d].total == 0) { methodSelected[d] = { checked: false, disabled: true, indeterminate: false }; } else if (methodhistogram[d].enable == 0) { methodSelected[d] = { checked: false, disabled: false, indeterminate: false }; } else if (methodhistogram[d].total == methodhistogram[d].enable) { methodSelected[d] = { checked: true, disabled: false, indeterminate: false }; } else { methodSelected[d] = { checked: false, disabled: false, indeterminate: true }; } } }); let selectedMethod = this.state.selectedMethod; this.setState({ methodSelected: methodSelected, hyperpartitionsAlreadySelected: hyperpartitionsAlreadySelected, selectedMethod: selectedMethod }); } } onMouseOverClassifier = (classifierid: number) => { if (this.state.mouseOverClassifier != classifierid) { if (classifierid != -1) { let action = "mouseover"; let eventlog: IClickEvent = { type: "classifier", description: { action: action, classifierid: classifierid }, time: new Date().toString() } this.props.postClickEvent(eventlog); } this.setState({ mouseOverClassifier: classifierid }) } } onMethodButtonClick = () => { let { displaymode } = this.state; this.setMethodHeight(); if (displaymode == 0) { let eventlog: IClickEvent = { type: "hyperpartitionsView", description: { action: "more", }, time: new Date().toString() } this.props.postClickEvent(eventlog); this.setState({ displaymode: 1 }); } else { let eventlog: IClickEvent = { type: "hyperpartitionsView", description: { action: "hide", }, time: new Date().toString() } this.props.postClickEvent(eventlog); this.setState({ displaymode: 0 }); } } onHyperpartitionButtonClick = () => { let { displaymode } = this.state; if (displaymode == 1) { let eventlog: IClickEvent = { type: "hyperparametersView", description: { action: "more", }, time: new Date().toString() } this.props.postClickEvent(eventlog); this.setState({ displaymode: 2 }); } else { let eventlog: IClickEvent = { type: "hyperparametersView", description: { action: "hide", }, time: new Date().toString() } this.props.postClickEvent(eventlog); this.setState({ displaymode: 1 }); } } setMethodHeight() { let { displaymode, methodCoords } = this.state, methodHeight = methodCoords.svgHeight; switch (displaymode) { case 0: { return methodHeight; } case 1: { return methodHeight = methodCoords.svgHeight / 2; } case 2: { return methodHeight = methodCoords.svgHeight * 1.3 / 3; } default: { return methodHeight; } } } setHyperPartitionsHeight() { let { displaymode, methodCoords } = this.state, hyperPartHeight = methodCoords.svgHeight / 2; switch (displaymode) { case 0: { return hyperPartHeight = 100; } case 2: { return hyperPartHeight = methodCoords.svgHeight * 0.7 / 3; } default: { return hyperPartHeight; } } } generateTag(box: any, name: string) { let { width, height, x, y } = box; const groupProps = { shape: { className: "tag", transform: `translate(${x},${y})` }, rect: { width: width, height: height, style: { fill: getColor(name) }, rx: 5, ry: 5 }, textProps: { y: height - 5, x: width / 2, textAnchor: "middle", style: { fill: "white" } } } return name !== '' ? {name} : } generateRect(box: any, mode: number, eventCallback: () => void) { const rectProps = { x: box.x, y: box.y, width: box.width, height: box.height, fill: "rgb(250,250,250)", rx: 3, ry: 3, stroke: "rgb(217,217,217", strokeWidth: "1.5px", style: { cursor: "pointer" } } const foreigObjProps = { x: box.x + 10, y: box.y + 3, width: 35, height: 35 } const iconDir = mode === 0 ? 'right' : 'down'; return mode === 0 || mode === 1 ? : } generateHyperpartitionText() { const methodHeight = this.setMethodHeight(); const hyperPartHeight = this.setHyperPartitionsHeight(); const { selectedMethod } = this.state; const { headerHeight, textLeft, hpTabLeft, hyperPartWidth } = this.state.methodCoords; const groupProps = { transform: `translate(${0}, ${methodHeight + headerHeight})`, width: hyperPartWidth, height: hyperPartHeight, onClick: this.onMethodButtonClick } const textProps = { textAnchor: "start", x: textLeft, y: 10, style: { font: "bold 16px sans-serif", display: "inline" } } return ( {this.generateRect({ x: 10, y: -9, width: hyperPartWidth - 68, height: 28 }, 0, this.onMethodButtonClick)} HyperPartitions of {this.generateTag({ x: textLeft + hpTabLeft, y: -6, width: 40, height: 20 }, selectedMethod)} ) } getClassifiers() { let { classifiers } = this.props; classifiers = classifiers.sort((a, b) => b.cv_metric - a.cv_metric); this.setState({ classifiers }); } generateHyperpartition() { const { selectedMethod, classifiers, methodCoords } = this.state; const { headerHeight, textLeft, hpTabLeft, hyperPartWidth } = methodCoords; const { hyperpartitions, datarunID, compareK } = this.props; const hyperPartHeight = this.setHyperPartitionsHeight(); const methodHeight = this.setMethodHeight(); const rectProps = { x: 0, y: 30, width: hyperPartWidth, height: hyperPartHeight - 30 } const groupProps = { transform: `translate(${0}, ${headerHeight + methodHeight})`, width: hyperPartWidth, height: hyperPartHeight } return ( {this.generateRect({ x: 10, y: -9, width: hyperPartWidth - 68, height: 28 }, 1, this.onMethodButtonClick)} HyperPartitions of {this.generateTag({ x: textLeft + hpTabLeft, y: -6, width: 40, height: 20 }, selectedMethod)} ) } generateHyperparameterText() { const { headerHeight, hyTabLeft, textLeft, hyperPartWidth, hyperParamWidth } = this.state.methodCoords; const { selectedMethod } = this.state; let methodHeight = this.setMethodHeight(); let hyperPartHeight = this.setHyperPartitionsHeight(); const shapeProps = { transform: `translate(${0}, ${methodHeight + headerHeight + hyperPartHeight})`, width: hyperPartWidth, height: hyperPartHeight, onClick: this.onHyperpartitionButtonClick } const textProps = { textAnchor: "start", x: textLeft, y: 10, style: { font: "bold 16px sans-serif" } }; return ( {this.generateRect({ x: 10, y: -9, width: hyperParamWidth - 68, height: 28 }, 0, this.onHyperpartitionButtonClick)} HyperParameters of {this.generateTag({ x: textLeft + hyTabLeft, y: -6, width: 40, height: 20 }, selectedMethod)} ) } generateHyperparameter() { const { headerHeight, textLeft, hyTabLeft, hyperParamWidth, hyperParamHeight } = this.state.methodCoords; const { selectedMethod, classifiers } = this.state; const { compareK } = this.props; let hyperPartHeight = this.setHyperPartitionsHeight(); let methodHeight = this.setMethodHeight(); const shapeProps = { transform: `translate(${0}, ${headerHeight + methodHeight + hyperPartHeight + 35})`, clipPath: "url(#mask_hyperparameters)", } const rectProps = { x: 0, y: -10, width:hyperParamWidth + 200, height:hyperParamHeight + 100 } return ( {this.generateRect({ x: 10, y: -9, width: hyperParamWidth - 68, height: 28 }, 1, this.onHyperpartitionButtonClick)} HyperParameters of {this.generateTag({ x: textLeft + hyTabLeft, y: -6, width: 40, height: 20 }, selectedMethod)} ) } render() { const { methodCoords } = this.state; const textLeft = methodCoords.textLeft; let { datarun, hyperpartitions, compareK } = this.props; let { displaymode, classifiers } = this.state; let usedMethods: string[] = Object.keys(datarun); let unusedMethods = Object.keys(methodsDef).filter((name: string) => usedMethods.indexOf(name) < 0); let svgWidth = methodCoords.svgWidth; let methodHeight = this.setMethodHeight(); const generateRectProps = { x: 10, y: -9, width: svgWidth - 68, height: 28 } const textProps = { textAnchor:"start", x:textLeft, y:10, style:{ font: "bold 16px sans-serif" }, } return (
{this.generateRect({...generateRectProps }, 1, () => { })} Algorithms {displaymode == 1 || displaymode == 2 ? this.generateHyperpartition() : this.generateHyperpartitionText()} {displaymode == 2 ? this.generateHyperparameter() : displaymode == 1 ? this.generateHyperparameterText() : }
) } } ================================================ FILE: src/components/DataRuns/ThreeLevel/index.tsx ================================================ import ThreeLevel from './ThreeLevel' export default ThreeLevel; ================================================ FILE: src/components/DataRuns/ThreeLevel_Horizontal/HyperParameters.tsx ================================================ import * as React from "react"; import { IClassifierInfo } from "service/dataService" import { getColor } from 'helper'; import * as methodsDef from "assets/methodsDef.json"; import {Icon,Button} from 'antd' export interface IProps { classifiers: IClassifierInfo[], selectedMethod: string, compareK:number, onSelectedChange:(method:string,name:string,type:string,range:number[])=>void, alreadySelectedRange:any, mouseOverClassifier:number, height:number } export interface HyperParameterInfo{ dim:number, name:string, type:string, min:number, max:number, valueType:string } export interface IState { hiddenrow:number, HyperparameterList:HyperParameterInfo[], selectedClassifier:any, selectedMethod:string, classifiers:any, mode:number, visible:boolean } const d3 = require("d3"); // Get Datasets export default class HyperParameters extends React.Component{ index = 0; state={ hiddenrow:0, HyperparameterList:[], selectedClassifier:[], selectedMethod:"", classifiers:[], mode:1, visible:false } box = { width: 200, height: 100, margin: 50, yextragap:8 } calculateExceedRow = () =>{ let box = this.box; let exceedRow = Math.floor((this.props.height - box.margin) / (box.height*5/4 + box.margin)) + 0; if(exceedRow<=0){ exceedRow = 0; } return exceedRow; } onUpClick = ()=>{ let {hiddenrow} = this.state; if(hiddenrow>0){ hiddenrow = hiddenrow -1; console.log("change") console.log(hiddenrow); this.setState({ hiddenrow:hiddenrow }) } } onDownClick = () =>{ let {hiddenrow} = this.state; hiddenrow = hiddenrow + 1; console.log("change") console.log(hiddenrow); this.setState({ hiddenrow:hiddenrow }) } componentDidMount(){ this.prepareData(this.props,this.state); } prepareData(nextProps:IProps,nextStates:IState){ let { classifiers, selectedMethod, compareK,alreadySelectedRange } = nextProps let comparedCls = classifiers.slice(0, compareK) let comparedMethods = Array.from(new Set(comparedCls.map(d=>d.method))) if (comparedMethods.length==1){ selectedMethod = comparedMethods[0] } classifiers = classifiers.filter(d=>d.method==selectedMethod) function judgeSelect(d:IClassifierInfo){ let hpaSelect : boolean = true; if(alreadySelectedRange){ let filterkeys = Object.keys(alreadySelectedRange); if(filterkeys.length>0){ filterkeys.forEach((name:string,index:number)=>{ if(hpaSelect){ // Avoid endless comparison if(d.hyperparameters[name]){ let data = d.hyperparameters[name]; if(alreadySelectedRange[name]["range"]&&alreadySelectedRange[name]["range"].length==2){ let hpamin = alreadySelectedRange[name]["range"][0]; let hpamax = alreadySelectedRange[name]["range"][1]; if(datahpamax){ hpaSelect = false; } } }else{ hpaSelect = false; } } }); }else{hpaSelect=true;} }else{hpaSelect = true;} return hpaSelect; } if (classifiers.length>0) { let HyperparameterList: any[] = []; let idx = 0 let methodDef = methodsDef[selectedMethod]; methodDef.root_hyperparameters.forEach((p: string) => { let parameter = methodDef['hyperparameters'][p] if (parameter['values']) { //category axis } else if (parameter['range']) {//value axis if (parameter['range'].length > 1) { //range in the form of [min, max] HyperparameterList.push({ dim: idx, name: p, type: 'value', min: parameter['range'][0], max: parameter['range'][1], valueType: parameter['type'] }) } else { // range in the form of [max] HyperparameterList.push({ dim: idx, name: p, type: 'value', min: 0, max: parameter['range'][0], valueType: parameter['type'] }) } } else if (parameter['type'] == 'list') { // the hidden layer sizes in MLP for (let hidden_l = 0; hidden_l < parameter['list_length'].length; hidden_l++) { HyperparameterList.push({ dim: idx + hidden_l, name: `${p}[${hidden_l}]`, type: 'value', min: 0, max: parameter['element']['range'][1], valueType: parameter['type'] }) } idx = idx + parameter['list_length'].length - 1 } else { HyperparameterList.push({ dim: idx, name: p, type: 'value', valueType: parameter['type'] }) } }) let margin = 40, yextragap = 30, height = ((nextProps.height-margin)/(HyperparameterList.length)-margin-yextragap)*4/5; this.box = { width: 200, height: height>100?100:height, margin, yextragap } let selectedClassifier : IClassifierInfo[] =[]; if(compareK>0){ selectedClassifier = comparedCls.filter(d=>{ return judgeSelect(d); }) }else{ selectedClassifier = classifiers.filter(d=>{ return judgeSelect(d); }) } // button visible checked let box = this.box; let exceedRow = Math.floor((nextProps.height - box.margin) / (box.height*5/4 + box.margin)) + 0; if(exceedRow<=0){ exceedRow = 0; } let maxRow = HyperparameterList.length; let gap = Math.max(0,maxRow-exceedRow); let newhiddenrow = Math.min(gap,nextStates.hiddenrow); console.log(maxRow,exceedRow,newhiddenrow); let visible = nextStates.visible; if(gap>0){ visible=true; }else{ visible=false; } if(this.props!=nextProps || newhiddenrow!=nextStates.hiddenrow || visible!=nextStates.visible || this.state.HyperparameterList.length!=HyperparameterList.length){ this.setState({ selectedClassifier:selectedClassifier, HyperparameterList:HyperparameterList, selectedMethod:selectedMethod, classifiers:classifiers, mode:1, hiddenrow:newhiddenrow, visible:visible, }) } }else{ if(this.props!=nextProps){ this.setState({ mode:1, visible:false, hiddenrow:0 }) } } } shouldComponentUpdate(nextProps:IProps,nextStates:IState){ this.prepareData(nextProps,nextStates); return true; } render() { let {selectedClassifier,HyperparameterList,classifiers,selectedMethod,mode,visible} = this.state; let box = this.box; let generateButton = () =>{ if(visible){ return (
) }else{ return ; } } let exceedRow = this.calculateExceedRow(); exceedRow=exceedRow+this.state.hiddenrow; if(mode==1){ console.log("render hyperparameters") console.log(HyperparameterList.length) return {HyperparameterList.map((hp:HyperParameterInfo, i) => { if(i>=exceedRow||i }else{ return } })} {generateButton()} } else { return } } } export interface HyProps { classifiers: IClassifierInfo[], selectedMethod: string, hp: any, idx: number, comparedCls: IClassifierInfo[], valueType: string, box: { width: number, height: number, margin: number, yextragap : number }, onSelectedChange:(method:string,name:string,type:string,range:number[])=>void, alreadySelectedRange:any, mouseOverClassifier:number, hiddenrow:number } /** * export interface DetailChartProps{ width: number, height: number, x: number, y: number, methodDef: IMethod, classifiers : IClassifier[], name:string, min:number, max:number, hyname:string, alreadySelectedRange:number[], hintRange:number[], onSelectedChange:(method:string,name:string,range:number[])=>void, valueType:string } */ class HyperParameter extends React.Component{ TAG = "HyperParameter_"; componentDidMount() { this.renderD3(); let g = d3.select("#" + this.TAG + this.props.idx) let {comparedCls,mouseOverClassifier} = this.props g.selectAll(`circle.dot`) .attr('opacity', 0.2) //if(comparedCls.length>0){ // g.selectAll(`circle.dot`) // .attr('opacity', 0.2) //} if(mouseOverClassifier==-1){ comparedCls.forEach(d=>{ g.select(`#_${d.id}`) .attr('opacity', 1) }) }else{ g.select(`#_${mouseOverClassifier}`) .attr('opacity',1); } } // componentWillUnmount() { // // d3.select("#" + this.TAG + this.props.idx).remove() // } componentDidUpdate(){ let g = d3.select("#" + this.TAG + this.props.idx) g.selectAll('*').remove() this.renderD3() let {comparedCls,mouseOverClassifier} = this.props g.selectAll(`circle.dot`) .attr('opacity', 0.2) //if(comparedCls.length>0){ // g.selectAll(`circle.dot`) // .attr('opacity', 0.2) //} if(mouseOverClassifier==-1){ comparedCls.forEach(d=>{ g.select(`#_${d.id}`) .attr('opacity', 1) }) }else{ g.select(`#_${mouseOverClassifier}`) .attr('opacity',1); } } renderD3() { let { box, hp, classifiers, idx, selectedMethod, onSelectedChange, alreadySelectedRange,valueType } = this.props classifiers.reverse() // reverse so that good classifiers is on the top let scatterData = classifiers.map(cls => { return { hp: cls.hyperparameters[hp.name]||0, score: cls.cv_metric, ...cls } }) let methodColor = getColor(selectedMethod) let { width, height, margin, yextragap} = box let x = d3.scaleLinear().range([0, width]) let y = d3.scaleLinear().range([height, 0]); if(valueType=="float_exp"){ x = d3.scaleLog().range([0, width]) } let yArea = d3.scaleLinear().range([height/4, 0]); x.domain([hp.min, hp.max]); y.domain(d3.extent(classifiers, (cls:IClassifierInfo)=>cls.cv_metric)); // calculate the area chart const num_step = 20 let areaData: number[][] = Array.from(new Array(num_step).keys()).map(d => []) const step = width / num_step scatterData.forEach(d => { if (typeof (d.hp) == 'number') { let rangeIndex = Math.floor((x(d.hp) - 0) / step) rangeIndex = rangeIndex >= num_step ? (num_step - 1) : rangeIndex rangeIndex = rangeIndex < 0 ? 0 : rangeIndex; areaData[rangeIndex].push(d.score) } }) areaData.unshift(areaData[0]) //draw let svg = d3.select("#" + this.TAG + idx) .append('g') .attr('transform', `translate(${0}, ${margin + idx * (height*5/4 + margin + yextragap)})`) yArea.domain(d3.extent(areaData, (d: number[]) => d.length)) let area = d3.area() .x(function (d: any, i: number) { return i*step; }) .y1(height*5/4) .y0(function (d: any) { return height + yArea(d.length); }) .curve(d3.curveCardinal) // area performance gradient /*svg.append("linearGradient") .attr("id", `area-gradient-${hp.name}`) .attr("gradientUnits", "userSpaceOnUse") .attr("x1", 0).attr("y1", 0) .attr("x2", width).attr("y2", 0) .selectAll("stop") .data(areaData) .enter().append("stop") .attr("offset", (d: any, i: number) => i / num_step) .attr("stop-color", methodColor) .attr('stop-opacity', (d: number[]) => (d.reduce((m, n) => m + n, 0) || 0) / d.length)*/ //area chart svg.append('g') .attr('class', 'areaGroup') .selectAll('.area') .data([areaData]) .enter() .append('path') .attr('class', 'area') .attr('d', area) // .style('fill', `url(#area-gradient-${hp.name})`) .style('fill',methodColor) // brush function brushended() { if (!d3.event.sourceEvent) return; // Only transition after input. if (!d3.event.selection) return; // Ignore empty selections. let d0 = d3.event.selection.map(x.invert); let min = d0[0]; let max = d0[1]; console.log("brush min max"); console.log(min); console.log(max); onSelectedChange(selectedMethod,hp.name,hp.valueType,[min,max]); } let brush : any; let brush_g = svg.append("g") .attr("class", "brush") .call(brush = d3.brushX() .extent([[x(hp.min), height], [x(hp.max), height*5/4]])); if(alreadySelectedRange["range"]&&alreadySelectedRange["range"].length==2){ brush.move(brush_g,[x(alreadySelectedRange["range"][0]),x(alreadySelectedRange["range"][1])]); } brush.on("end", brushended); //scatter chart svg.append('g') .attr('class', 'dotGroup') .selectAll(".dot") .data(scatterData) .enter().append("circle") .attr("class", 'dot') .attr('id',(d:any)=>`_${d.id}`) .attr("r", 4) .attr("cx", function (d: any) { return x(d.hp); }) .attr("cy", function (d: any) { return y(d.score); }) .style('fill', getColor(classifiers[0].method)) .attr('stroke', 'white') .attr('stroke-width', 1) // Add the X Axis svg.append("g") .attr('class','xAxis') .attr("transform", "translate(0," + height*5/4 + ")") .call(d3.axisBottom(x).ticks(5)); svg.append("g") .attr('class','xAxis_') .attr("transform", "translate(0," + height + ")") .call(d3.axisBottom(x).ticks(0)); // x axis lable; /* svg.append("text") .attr("transform", "translate(" + (width + 10) + " ," + (height*5/4) + ")") .style("text-anchor", "start") .text(hp.name);*/ svg.append("text") .attr("transform", "translate(" + (width) + " ," + (height*5/4 + margin*0.75) + ")") .style("text-anchor", "end") .text(hp.name); // Add the Y Axis svg.append("g") .attr('class', 'yAxis') .call(d3.axisLeft(y).ticks(5)); // text label for the y axis svg.append("text") .attr("transform", "rotate(-90)") .attr("y", 0 - 1.5 * margin) .attr("x", 0 - (height / 2)) .attr("dy", "1em") .style("text-anchor", "middle") .text("F_score"); } render() { return } } ================================================ FILE: src/components/DataRuns/ThreeLevel_Horizontal/HyperPartitions.css ================================================ .RadioBox input{vertical-align:middle; margin-bottom:2px; *margin-bottom:2px;} div.tooltip { position: absolute; text-align: left; color: aliceblue; height: 20px; padding: 3px; font: 12px sans-serif; background: rgba(0, 0, 0, 0.671); border: 5px; border-radius: 3px; pointer-events: none; } .link { fill: none; stroke-width: 1.5px; } .bottomright { position: absolute; bottom: 80px; right: 30px; font-size: 18px; } .ant-progress-inner{ background-color: #cecdcd } ================================================ FILE: src/components/DataRuns/ThreeLevel_Horizontal/HyperPartitions.tsx ================================================ import * as React from "react"; import { IHyperpartitionInfo, IClassifierInfo } from "service/dataService" import { getColor } from "helper"; //import {Checkbox} from "antd"; import "./HyperPartitions.css"; import {Button,Icon} from 'antd'; // import { IDatarun } from "types"; const d3 = require("d3"); export interface IProps { hyperpartitions: IHyperpartitionInfo[], // datarun: IDatarun, datarunID: number|null, selectedMethod: string, classifiers: IClassifierInfo[], compareK: number, hyperpartitionsSelected:number[], onHpsCheckBoxChange: (e:any)=>void, width:number, height:number, onMouseOverClassifier:(e:number)=>void, mouseOverClassifier:number } export interface IState { hiddencol:number, visible:boolean, leftdisabled:boolean, rightdisabled:boolean } export default class HyperPartitions extends React.Component{ state={ hiddencol:0, visible:false, leftdisabled:false, rightdisabled:false } public hyperpartitionBox = { height: 20, gap: 8, width: 160 } numPerRow = 14 index= 0; lastArray:Array= []; onLeftHp = () =>{ let hiddencol = this.state.hiddencol; if(hiddencol<0){ hiddencol = 0; }else if(hiddencol>0){ hiddencol=hiddencol-1; } this.setState({ hiddencol:hiddencol }) } onRightHp = () =>{ let hiddencol = this.state.hiddencol; hiddencol=hiddencol+1; this.setState({ hiddencol:hiddencol }) } public renderD3(hpsInfo: Array, maxLen: number, selectedMethod: string, hyperpartitionsSelected:any,hiddencol:number,comparedCls:any,nowProps:IProps) { console.log("rerender hyperpartitions"); /*if(this.index>=1){ console.log("end"); return; }else{ this.index++; }*/ // let num_all_hp = hpsInfo.length hpsInfo = hpsInfo.filter(d=>d.method==selectedMethod).filter(d => d.sortedCls.length > 0); console.log("len",hpsInfo.length); let { height, width, gap } = this.hyperpartitionBox let trans = d3.transition() .duration(1000) .ease(d3.easeLinear); let x = d3.scaleBand() .rangeRound([0, width]) .paddingInner(0.05); let y = d3.scaleLinear() .rangeRound([height, 0]); x.domain(Array.from(Array(maxLen).keys())) y.domain([0, 1]); let exceedcol = -1; let maxcol = 0; let nowcol = 0; let lastposx = gap+width*0.5; let lastposy = height; let horizontalnum = 0; let maxhorizontalnum = 10; let pos = [[lastposx, lastposy]] let bundleData : any[]= []; for (let i = 0; i < hpsInfo.length; i++) { let currentPos = [0, 0] if (hpsInfo[i].method == selectedMethod) { //next pos x not changed, y changed lastposy = lastposy + (2 * height + gap); currentPos = [lastposx, lastposy] horizontalnum = 0; } else { if(horizontalnum == 0){ lastposy = lastposy + (2*gap); } if(horizontalnum nowProps.height) { lastposx = lastposx + width * 1.5; nowcol ++; if(lastposx + width*1.5>nowProps.width && exceedcol==-1){ exceedcol = nowcol; } lastposy = height + ( hpsInfo[i].method == selectedMethod? (2 * height + gap) :(2*gap) ); currentPos = [lastposx, lastposy] } pos.push(currentPos) bundleData.push({ ...hpsInfo[i], pos:currentPos, col:nowcol }) } maxcol = nowcol+1; //console.log("maxcol exceedcol"); //console.log(maxcol); //console.log(exceedcol) if(exceedcol==-1){ let newhiddencol = 0; if(newhiddencol != hiddencol || this.state.visible!=false){ this.setState({ hiddencol:0, visible:false }) } hiddencol = newhiddencol; }else{ let leftdisabled = hiddencol<=0; let rightdisabled = hiddencol>=maxcol-exceedcol; let newhiddencol = hiddencol; if(newhiddencol<=0){ newhiddencol=0; } if(newhiddencol>=maxcol-exceedcol){ newhiddencol=maxcol-exceedcol; } if(this.state.visible != true || this.state.leftdisabled != leftdisabled || this.state.rightdisabled!=rightdisabled || this.state.hiddencol!=newhiddencol){ this.setState( { visible:true, leftdisabled:leftdisabled, rightdisabled:rightdisabled, hiddencol:newhiddencol } ) } hiddencol = newhiddencol; } if(exceedcol!=-1){ exceedcol=hiddencol+exceedcol; }else{ exceedcol=maxcol+1; } //console.log("hiddencol"); // console.log(hiddencol); bundleData.forEach((d:any)=>{ if(d.col=exceedcol){ d.pos[0]=d.pos[0]-width*1.5*(d.col)+nowProps.width+width*1.5*(d.col-exceedcol); }else{ d.pos[0]=d.pos[0]-width*1.5*(hiddencol); } } }) //enter let strokeWidth = 1 let hps = d3 .select('g.HyperPartitions') .selectAll(`g.hpGroup`) .data(bundleData,function(d:any){ return d.id; }) console.log(hps); console.log(hps.enter().size()); console.log(hps.size()); console.log(hps.exit().size()); //--------------Enter Phase-------------------// let hpGroupEnter = hps .enter() .append("g") .attr('class', 'hpGroup') .attr("transform", (d: any, i: number) => { return `translate(${d.pos[0]},${d.pos[1]})` } ); hpGroupEnter.append('rect') .attr('class', "out_hyperPartition") .attr('height', (d: any) => d.method == selectedMethod ? (height + 2 * strokeWidth) : gap) .attr('y', (d: any) => d.method == selectedMethod ? (-strokeWidth - height) : (gap)) .attr('x', -strokeWidth) .attr('width', (d: any) => d.method == selectedMethod ? (width + 2 * strokeWidth) : gap) .style('fill', (d: any) => d.method == selectedMethod ? 'none' : getColor(d.method)) .style('stroke', 'gray') .style('stroke-width', strokeWidth); //ENTER + UPDATE //TEXT ENTER let textData = hpGroupEnter.merge(hps).filter((d: any) => d.method == selectedMethod) .selectAll('g.caption') .data((d:any)=>[d],(d:any)=>{ d.id }); let textEnter = textData .enter() .append('g') .attr('class', 'caption') textEnter.append('text') .attr('class', "num_cls") .attr('x', (d: any) => 1+width * d.sortedCls.length / maxLen - 2) .attr('y', -1) .text((d: any) => d.sortedCls.length) .attr('text-anchor', 'start') textEnter.append('text') .attr('class', "best_score") // .attr('x', (d:any)=>width*d.scores.length/maxLen) .attr('x', -gap) .attr('y', 0) .attr('text-anchor', 'end') .text((d: any) => d.bestScore >= 0 ? d.bestScore.toFixed(3) : '') let generateText = (d:any)=>{ let selected=""; if(hyperpartitionsSelected.indexOf(d.id)>-1){ selected="checked"; } return `
` }; //Create SVG element let tooltip = d3.select("#tooltip"); //let top_methods = d3.select("#methodstop"); if(tooltip.empty()){ tooltip = d3.select("body").append("div") .attr("class", "tooltip") .attr("id","tooltip") .style("opacity", 0) .style("left", "0px") .style("top", "0px");; } textEnter.append('g') .attr('class', 'hp_name') .attr('transform', `translate(${0}, ${0})`) .append('foreignObject') .attr('width', width) .attr('height', height) .append('xhtml:div') .attr('class', 'div_caption') .html(generateText) .on("click",(d:any)=>{ nowProps.onHpsCheckBoxChange(d.id); }).on("mouseover",(d:any)=>{ let length = d.hyperpartition_string.length * 6.5 + 15; tooltip .style("width",length+"px") .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); tooltip.style("opacity", 0.7).html(d.hyperpartition_string) }) .on("mouseout",(d:any)=>{ tooltip .style("opacity", 0); }) /* return ( )*/ //UPDATE hps.transition(trans) .attr("transform", (d: any, i: number) => { return `translate(${d.pos[0]},${d.pos[1]})` }) //HPGROUP UPDATE //CLASSIFIER REMOVE hpGroupEnter.merge(hps).filter((d: any) => d.method != selectedMethod) .selectAll('.hpBar') .transition(trans) .attr('width', 0) .attr('height', 0) .attr('x', x(0)) .attr('y', height) .remove() // ENTER + UPDATE let classifierSelect = hpGroupEnter.merge(hps).filter((d: any) => d.method == selectedMethod) .selectAll('.hpBar') .data((d: any) => { return d.sortedCls },function(d:any){ return "cls"+d.id; }); let selectOpacity = (d:any)=>{ if(nowProps.mouseOverClassifier==d.id){ return 1; }else{ if(nowProps.mouseOverClassifier==-1){ if(comparedCls.length>0){ let flag = false; comparedCls.forEach((cls:any)=>{ if(cls.id == d.id){ flag = true; } }) if(flag){ return 1; }else{ return 0.2; } }else{ return 1; } } else{ return 0.2; } } } //CLASSIFIER ENTER classifierSelect.enter().append("rect") .attr("class", "hpBar") .attr('id', (d:any)=>`_${d.id}`) .style('fill', function (d: any) { return getColor(selectedMethod) }) .attr('opacity',selectOpacity) .on("mouseover",(d:any)=>{ nowProps.onMouseOverClassifier(d.id); tooltip .style("width","40px") .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); tooltip.style("opacity", 0.7).html(d.cv_metric.toFixed(3)) }) .on("mouseout",(d:any)=>{ nowProps.onMouseOverClassifier(-1); tooltip .style("opacity", 0); }) .attr("x", (d: any, i: number) => x(0)) .attr("y", (d: any) => 0 ) .attr("width", 0) .attr("height", 0) .transition(trans) .attr("x", (d: any, i: number) => x(i)) .attr("y", (d: any) => y(d.cv_metric) - height) .attr("width", x.bandwidth()) .attr("height", (d: any) => (height - y(d.cv_metric))) .attr('opacity',selectOpacity) //CLASSIFIER UPDATE classifierSelect.transition(trans) .attr("x", (d: any, i: number) => x(i)) .attr("y", (d: any) => y(d.cv_metric) - height) .attr("width", x.bandwidth()) .attr("height", (d: any) => (height - y(d.cv_metric))) .attr('opacity',selectOpacity) classifierSelect.exit().remove(); //UPDATE hps.selectAll('.out_hyperPartition') .transition(trans) .attr('height', (d: any) => d.method == selectedMethod ? (height + 2 * strokeWidth) : gap) .attr('y', (d: any) => d.method == selectedMethod ? (-strokeWidth - height) : (gap)) .attr('x', -strokeWidth) .attr('width', (d: any) => d.method == selectedMethod ? (width + 2 * strokeWidth) : gap) .style('fill', (d: any) => d.method == selectedMethod ? 'none' : getColor(d.method)) .style('stroke', 'gray') .style('stroke-width', strokeWidth) //ENTER + UPDATE //TEXT UPDATE let textUpdate = textData; textUpdate.exit() .transition(trans) .attr('opacity', 1e-6) .remove() textUpdate.selectAll('text.num_cls') .attr('x', (d: any) => 1+width * d.sortedCls.length / maxLen - 2) .attr('y', -1) .text((d: any) => { //console.log(d.id+":"+d.sortedCls.length); return d.sortedCls.length } ) .attr('text-anchor', 'start') textUpdate.selectAll('text.best_score') // .attr('x', (d:any)=>width*d.scores.length/maxLen) .attr('x', -gap) .attr('y', 0) .attr('text-anchor', 'end') .text((d: any) => d.bestScore >= 0 ? d.bestScore.toFixed(3) : '') textUpdate.selectAll('g.hp_name') .attr('transform', `translate(${0}, ${0})`) .select('foreignObject') .attr('width', width) .attr('height', height) .select('.div_caption') .html(generateText).attr('opacity', 1e-6) .transition(trans) .attr('opacity', 1) hps.filter((d: any) => d.method != selectedMethod) .selectAll('g.caption') .transition(trans) .attr('opacity', 1e-6) .remove() // exit() hps.exit() //.transition(trans) //.attr('opacity', 1e-6) .remove() } public sortHpByperformance(props: IProps) { let { hyperpartitions: hps, classifiers, selectedMethod } = props // cls = cls.filter(d=>d.method==selectedMethod) // hps = hps.filter(d=>d.method==selectedMethod) let hpsInfo = hps.map(hp => { let filteredCls = classifiers .filter( cls => cls.hyperpartition_id == hp.id ) let sortedCls = filteredCls.sort((a, b) => (b.cv_metric - a.cv_metric)) return { ...hp, bestScore: Math.max(...sortedCls.map(d=>d.cv_metric)), sortedCls } }) hpsInfo.sort((a, b) => (b.bestScore - a.bestScore)) let maxLen = Math.max(...hpsInfo.map(d => d.sortedCls.length)) if (maxLen < 0) maxLen = 0 // let filterHps = hps.filter(d => d.method == selectedMethod) // let filterHpsInfo = hpsInfo.filter(d => d.method == selectedMethod) return { hps, hpsInfo, maxLen, selectedMethod } } componentDidMount() { let { maxLen, hpsInfo, selectedMethod } = this.sortHpByperformance(this.props) let { compareK, classifiers,hyperpartitionsSelected} = this.props let comparedCls = classifiers.slice(0, compareK) let comparedMethods = Array.from(new Set(comparedCls.map(d=>d.method))) if (comparedMethods.length==1){ selectedMethod = comparedMethods[0] } if(hpsInfo.length>0){ this.renderD3(hpsInfo, maxLen, selectedMethod,hyperpartitionsSelected,this.state.hiddencol,comparedCls,this.props) } /* if (comparedMethods.length>=1|| mouseOverClassifier!=-1){ let g = d3.select('g.HyperPartitions') g.selectAll('rect.hpBar') .attr('opacity', 0.2) if(mouseOverClassifier==-1 && comparedMethods.length>=1){ comparedCls.forEach(cls=>{ g.select(`rect#_${cls.id}`) .attr('opacity', 1) }) }else if(mouseOverClassifier!=-1){ g.select(`rect#_${mouseOverClassifier}`) .attr('opacity', 1) } }else{ let g = d3.select('g.HyperPartitions') g.selectAll('rect.hpBar') .attr('opacity', 1) }*/ } shouldComponentUpdate(nextProps: IProps, nextStates: IState) { let { maxLen, hpsInfo, selectedMethod } = this.sortHpByperformance(nextProps) let { compareK, classifiers,hyperpartitionsSelected} = nextProps let comparedCls = classifiers.slice(0, compareK) let comparedMethods = Array.from(new Set(comparedCls.map(d=>d.method))) if (comparedMethods.length==1){ selectedMethod = comparedMethods[0] } if (this.props != nextProps || this.props.hyperpartitions.length == 0 || nextStates.hiddencol != this.state.hiddencol) { //update d3.selectAll(`.caption`).remove() this.renderD3(hpsInfo, maxLen, selectedMethod,hyperpartitionsSelected,nextStates.hiddencol,comparedCls,nextProps) } //if(this.props.datarunID!=nextProps.datarunID){//remove and redraw //d3.select(`.HyperPartitions`).selectAll('*').remove() // this.renderD3(hpsInfo, maxLen, selectedMethod,hyperpartitionsSelected) //} // /* if (comparedMethods.length>=1 || mouseOverClassifier!=-1){ let g = d3.selectAll('g.hpGroup') console.info('d3, compare, hyperpartition', comparedMethods, comparedCls) g.selectAll('rect.hpBar') .attr('opacity', 0.2) if(mouseOverClassifier==-1){ comparedCls.forEach(cls=>{ g.select(`rect#_${cls.id}`) .attr('opacity', 1) }) }else{ g.select(`rect#_${mouseOverClassifier}`) .attr('opacity', 1) } }else{ let g = d3.select('g.HyperPartitions') g.selectAll('rect.hpBar') .attr('opacity', 1) }*/ return true } //componentWillUpdate(){ // this.renderD3() // } render() { // let rectWidth = Math.max( // ...hpsInfo.map( // d=>d.hyperpartition_string.length*fontSize // ) // ) //console.log("render hiddencol"); //console.log(this.state.hiddencol); let generateButton = () =>{ if(this.state.visible){ return (
) }else{ return } } return ({generateButton()} ) } } ================================================ FILE: src/components/DataRuns/ThreeLevel_Horizontal/Methods.css ================================================ .methods{ overflow-y: scroll; padding: 10px; } .usedMethodContainer{ padding: 3px 8px; float: left; } .method{ border: .4px solid rgba(0,0,0, 0.2); box-shadow: 0 1px 1px 0 rgba(0,0,0,0.06); /* height: ${100/methods.length}% */ height: 100%; padding: 2px 5px; } .unusedMethod{ border: 2px dashed rgba(0,0,0, 0.3); box-shadow: 0 1px 1px 0 rgba(0,0,0,0.06); padding: 2px 5px; margin: 5px; float: left; } div.tooltip { position: absolute; text-align: left; color: aliceblue; width: 180px; height: 80px; padding: 10px; font: 12px sans-serif; background: rgba(0, 0, 0, 0.671); border: 10px; border-radius: 5px; pointer-events: none; } .link { fill: none; stroke-width: 1.5px; } .bottomright { position: absolute; bottom: 80px; right: 30px; font-size: 18px; } ================================================ FILE: src/components/DataRuns/ThreeLevel_Horizontal/Methods.tsx ================================================ import * as React from "react"; import { IClassifier, IMethod, } from "types"; import { getColor } from "helper"; import * as methodsDef from "assets/methodsDef.json"; import {IHyperpartitionInfo, IClassifierInfo,IRecommendationResult} from 'service/dataService'; import { Checkbox,Tooltip,Progress } from 'antd'; import "./Methods.css"; //import * as hint from "assets/small_hint.png" const d3 = require("d3"); export interface IProps { classifiers: IClassifierInfo[], onSelectMethod: (methodName:string)=>void, usedMethods: string[], unusedMethods: string[], width: number, selectedMethod: string, hyperpartitions: IHyperpartitionInfo[], configsMethod : string[], onMethodsCheckBoxChange: (e:any)=>void compareK:number, methodSelected:any, recommendationResult:IRecommendationResult } export interface IState { } export default class methods extends React.Component{ public gap = 20 width = (this.props.width - 2*this.gap)/2>20?(this.props.width - 2*this.gap)/2:20; // public height = (window.innerHeight * 0.94 * 0.9 - this.gap) / (Object.keys(methodsDef).length * 0.5) - this.gap public methodBoxAttr = { // width : 70, height: this.width * 0.4, width: this.width, gap: this.gap, x: this.gap, y: this.gap, checkboxY: 2, checkboxWidth: 75, checkboxHeight: 30, yextragap:20 } public getbestperformance(list: IClassifier[]) { if (list.length > 0) { let classifierPerformance: number[] = list.map((classifier: IClassifier) => { let performance = parseFloat(classifier['performance'].split(' +- ')[0]); return performance; }); classifierPerformance.sort(function (a: any, b: any) { return b - a; }); return classifierPerformance[0]; } else { return 0; } } public getmaxnum(classifiers: IClassifierInfo[]) { let step = 0.1; let data: number[] = []; for (let i = 0; i < 1 / step; i++) { data.push(0) } let bestperformance = 0; classifiers.forEach((classifier: IClassifierInfo) => { let performance = classifier['cv_metric']; if (performance > bestperformance) { bestperformance = performance; } let rangeIdx = Math.floor(performance / step) data[rangeIdx] = data[rangeIdx] + 1 }); let maxvalue = 0; data.forEach((p: any) => { if (p > maxvalue) { maxvalue = p; } }) return maxvalue; } componentDidUpdate(){ let {classifiers, compareK } = this.props let comparedCls = classifiers.slice(0, compareK) let comparedMethods = Array.from(new Set(comparedCls.map(d=>d.method))) if(compareK>0){ d3.selectAll('g.algorithm') .attr('opacity', 0.5) comparedMethods.forEach((methodName:string)=>{ d3.select(`g#LineChart_${methodName}`) .attr('opacity', 1) }) }else{ d3.selectAll('g.algorithm') .attr('opacity', 1) } } render() { let { classifiers, usedMethods, unusedMethods, hyperpartitions,methodSelected} = this.props this.width = (this.props.width - 7*this.gap)/2>20?(this.props.width - 7*this.gap)/2:20; // public height = (window.innerHeight * 0.94 * 0.9 - this.gap) / (Object.keys(methodsDef).length * 0.5) - this.gap this.methodBoxAttr = { // width : 70, height: this.width * 0.6, width: this.width, gap: this.gap, x: 2*this.gap, y: 2*this.gap, checkboxY: 2, checkboxWidth: 100, checkboxHeight: 30, yextragap:20 } let performance = usedMethods.map((name: string, i: number) => { return { bestScore: Math.max( ...classifiers.filter( (d:any)=>d.method==name ).map( d=>d['cv_metric'] ) ), name: name }; }); performance.sort(function (a: any, b: any) { return b.bestScore - a.bestScore; }); let sortedusedMethods = performance.map((d: any) => { return d.name; }); let maxnum = Math.max( ...usedMethods.map( (name:string)=>this.getmaxnum(classifiers.filter(d=>d.method==name)) )) // // calculate the max num // sortedusedMethods.forEach((name: string, i: number)=>{ // let num = this.getmaxnum(datarun[name]); // if(num>maxnum){ // maxnum=num; // } // }); return {sortedusedMethods.concat(unusedMethods).map((name: string, i: number) => { /*let checked = false; let configsMethod : string[] = this.props.configsMethod; if(configsMethod.indexOf(name)>-1){ checked= true; };*/ let checked = false; let indeterminate = false; let disabled = false; if(methodSelected[name]){ checked = methodSelected[name].checked; indeterminate = methodSelected[name].indeterminate; disabled = methodSelected[name].disabled; } return ( {/*{name}*/} {name} ) })} {sortedusedMethods.map((name: string, i: number) => { const methodDef = methodsDef[name]; // let testin = selectedMethodName.indexOf(name); let selected = (name==this.props.selectedMethod) let index = this.props.recommendationResult.result.indexOf(name); let flower = 0; if(index>=0&&index<=2){ flower = 3-index; } let filterclassifier = classifiers.filter((d:any)=>d.method==name); let filterhyperpartitions = hyperpartitions.filter((d:IHyperpartitionInfo)=>d.method==name); let usedHpID = Array.from(new Set(filterclassifier.map(d=>d.hyperpartition_id))); //let usedhpidlen = usedHpID.length; let filterhyperpartitionslen = filterhyperpartitions.length; if(filterhyperpartitionslen==0){ filterhyperpartitionslen=1; } const progressHyperpartiton = (percent:number)=>{ return `${usedHpID.length}/${filterhyperpartitions.length}` } // if (testin > -1) { // selected = true; // } //const classifier_num = datarun[name].length; //const top_width = classifier_num*6+60; // this.index++; return ( ) })} { unusedMethods.map((name: string, i: number) => { let index = i + usedMethods.length; let index2 = this.props.recommendationResult.result.indexOf(name); let flower = 0; if(index2>=0&&index2<=2){ flower = 3-index2; } let flowerlist = []; for(let i = 1;i<=flower;i++){ flowerlist.push(i); } return ( {flowerlist.map((d:number)=>{ return } )} {/* {name} */} ) }) } } } export interface LineChartProps { width: number, height: number, x: number, y: number, methodDef: IMethod, classifiers: IClassifierInfo[], name: string, totallen?: number, methodName?: string, onClick:(a:string)=>void, selected?: boolean, hyperpartitoins: IHyperpartitionInfo[], flower:number } class LineChart extends React.Component{ TAG = "LineChart_"; componentDidMount() { this.renderD3(); } componentDidUpdate(){ let g = d3.select("#" +this.TAG + this.props.name) g.selectAll('*').remove() this.renderD3(); } renderD3() { // Get Datasets const { methodDef, classifiers, totallen, selected } = this.props; // let usedHpID = Array.from(new Set(classifiers.map(d=>d.hyperpartition_id))) let step = 0.1; let data: number[] = []; for (let i = 0; i < 1 / step; i++) { data.push(0) } let bestperformance = 0; classifiers.forEach((classifier: IClassifierInfo) => { let performance = classifier['cv_metric']; if (performance > bestperformance) { bestperformance = performance; } let rangeIdx = Math.floor(performance / step) data[rangeIdx] = data[rangeIdx] + 1 }); let total = 0; let bestindex = 0; // let frequentindex = 0; let maxfrequency = 0; data.forEach((d: any, i: any) => { if (d > 0 && i > bestindex) { bestindex = i; } if (d > maxfrequency) { // frequentindex=i; maxfrequency = d; } total += d; }); total; let yAxisData: string[] = [] for (let i = 0; i <= 1 / step; i++) { yAxisData.push(`${(i * step).toFixed(2)}`) } // g // Set the dimensions of the canvas / graph //let margin = {top: 0, right: 0, bottom: 0, left: 0}, let margin = { top: 0, right: 2, bottom: 0, left: 2 }, width = this.props.width - margin.left - margin.right, height = this.props.height - margin.top - margin.bottom, top_margin = { top: this.props.y, left: this.props.x }; // Set the ranges // let xScale = d3.scaleLinear().range([0, width]); let yScale = d3.scaleBand() .rangeRound([height, 0]) .paddingInner(0.1); let xScale = d3.scaleLinear().range([0, width]); xScale.domain([0, totallen]); yScale.domain(data.map((d, i) => i/10)); //console.log(data.map((d, i) => i/10)) //Create SVG element // let tooltip = d3.select("#tooltip"); //let top_methods = d3.select("#methodstop"); /* if (tooltip.empty()) { tooltip = d3.select("body").append("div") .attr("class", "tooltip") .attr("id", "tooltip") .style("opacity", 0) .style("left", "0px") .style("top", "0px");; }*/ let top_svg = d3.select("#" + this.TAG + this.props.name).attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom).attr("transform", "translate(" + top_margin.left + "," + top_margin.top + ")") // .on("click",()=>{onClick(this.props.name)}) .on("mousemove", function (d: any) { /* tooltip.transition() .duration(100) .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); tooltip.style("opacity", 0.7).html(methodDef.fullname + "
" + "best performance:" + bestperformance.toFixed(2) + "
" + "trial number:" + total) */ }) .on("mouseout", function (d: any) { // tooltip // .style("opacity", 0); });; top_svg.append("rect") .attr('class', `${this.props.name} methodRect`) .attr("x", 0) .attr("y", 0) .attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom) .attr("fill", "white") .attr("stroke-width", 2) .attr("stroke", selected ? "#A4A0A0" : "#E0D6D4") .on('click', ()=>{ d3.selectAll('rect.methodRect') .attr("stroke", "#E0D6D4") d3.select(`rect.${this.props.name}`) .attr('stroke', "#A4A0A0") .attr("stroke-width", 3) this.props.onClick(this.props.name) }) let svg = top_svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); // var line = d3.line() // .x(function(d:any, i:any) { return xScale(d); }) // set the x values for the line generator // .y(function(d:any,i:any) { return yScale((i)*step); }) // set the y values for the line generator // .curve(d3.curveMonotoneX) // apply smoothing to the line // function generateArray(index: number) { // let data: any[] = []; // data.push({ x: 0, y: index * step }); // data.push({ x: totallen, y: index * step }); // return data; // } // var straightline = d3.line() // .x(function (d: any, i: any) { return xScale(d.x); }) // set the x values for the line generator // .y(function (d: any, i: any) { return yScale(d.y); }) // set the y values for the line generator // svg.append("path") // .datum(generateArray(bestindex)) // .attr("class", "line") // .attr("fill", "none") // .attr("stroke", "#E0D6D4") // .attr("stroke-width", 2) // .attr("stroke-dasharray", "5,5") // .attr("d", straightline); // svg.append("path") // .datum(generateArray(frequentindex)) // .attr("class", "line") // .attr("fill","none") // .attr("stroke","#E0D6D4") // .attr("stroke-width",2) // .attr("stroke-dasharray","5,5") // .attr("d", straightline); svg.selectAll('.method_bar') .data(data) .enter() .append("rect") .attr("class", "method_bar") .style("fill", getColor(methodDef.name)) .attr("x", 0) .attr("y", (d: any, i: number) => ( yScale(i/10) )) .attr("width", (d: any) => xScale(d)) .attr("height", yScale.bandwidth()) let text1 = svg.append("text") .attr("class", "method_name") .attr('x', width) // .attr('y', height-12) .attr('y',-3) .attr('text-anchor', "end") // .attr('filter',"url(#solid)") .text(`${bestperformance.toFixed(3)}`) let text2=svg.append("text") .attr("class", "method_name") .attr('x', width-50) // .attr('y', height-12) .attr('y',-3) .attr('text-anchor', "end") // .attr('filter',"url(#solid)") .text(`${classifiers.length}`) var bbox1 = text1.node().getBBox(); svg.append("rect") .attr("x", bbox1.x) .attr("y", bbox1.y) .attr("width", bbox1.width) .attr("height", bbox1.height) .style("fill", "#ccc") .style("fill-opacity", ".0") .style("stroke", "#666") .style("stroke-width", "1.5px"); var bbox2 = text2.node().getBBox(); svg.append("rect") .attr("x", bbox2.x) .attr("y", bbox2.y) .attr("width", bbox2.width) .attr("height", bbox2.height) .style("fill", "#ccc") .style("fill-opacity", ".0") .style("stroke", "#666") .style("stroke-width", "1.5px"); /* svg.append("text") .attr("class", "best_score") .attr('x', width) .attr('y', height ) .attr('text-anchor', "end") .text(`best: ${bestperformance.toFixed(3)}`)*/ /*svg.append('text') .attr('class', 'hps') .attr("transform", `translate(${width+margin.left},${height/2}) rotate(${90})`) .attr('text-anchor', 'middle') .text(`hp:${usedHpID.length}/${hyperpartitoins.length}`)*/ for(let i = 1;i<=this.props.flower;i++){ svg.append('image') .attr('width',15) .attr('height',15) .attr('opacity',0.5) .attr('xlink:href',"small_hint.png") .attr('x',width-15*i) .attr('y',0); } // // Add the X Axis // svg.append("g") // .attr("transform", "translate(0," + height + ")") // .call(d3.axisBottom(xScale)); // Add the Y Axis svg.append("g") .attr('transform', `translate(${-margin.left}, 0)`) .call(d3.axisLeft(yScale).tickValues([0.1,0.3,0.5,0.7,0.9]).tickFormat(function (d:any) { return d;})) } render() { const { name } = this.props; return {/* */} } } // class LineChart2 extends React.Component{ // TAG = "LineChart_"; // componentDidMount() { // this.renderD3(); // } // renderD3() { // // Get Datasets // const { methodDef, classifiers,totallen,selected } = this.props; // let step = 0.1; // let data:number[] = []; // for (let i =0; i<=1/step; i++){ // data.push(0) // } // let bestperformance = 0; // classifiers.forEach((classifier:IClassifier)=>{ // let performance = parseFloat(classifier['performance'].split(' +- ')[0]); // if(performance>bestperformance){ // bestperformance=performance; // } // let rangeIdx = Math.floor(performance/step) // data[rangeIdx] = data[rangeIdx]+1 // }); // let total = 0; // let bestindex = 0; // // let frequentindex = 0; // // let maxfrequency = 0; // data.forEach((d:any,i:any)=>{ // if(d>0&&i>bestindex){ // bestindex=i; // } // // if(d>maxfrequency){ // // // frequentindex=i; // // maxfrequency=d; // // } // total+=d; // }); // //total; // let yAxisData:string[] = [] // for (let i =0; i<=1/step; i++){ // yAxisData.push(`${(i*step).toFixed(2)}`) // } // // g // // Set the dimensions of the canvas / graph // //let margin = {top: 0, right: 0, bottom: 0, left: 0}, // let margin = {top: 1, right: 1, bottom: 1, left: 1}, // width = this.props.width - margin.left - margin.right, // height = this.props.height - margin.top - margin.bottom, // top_margin = {top:this.props.y,left:this.props.x}; // // Set the ranges // let xScale = d3.scaleLinear().range([0, width]); // let yScale = d3.scaleLinear().range([height, 0]); // xScale.domain([0, totallen]); // yScale.domain([0, 1]); // //Create SVG element // let tooltip = d3.select("#tooltip"); // //let top_methods = d3.select("#methodstop"); // if(tooltip.empty()){ // tooltip = d3.select("body").append("div") // .attr("class", "tooltip") // .attr("id","tooltip") // .style("opacity", 0) // .style("left", "0px") // .style("top", "0px");; // } // let top_svg = d3.select("#"+this.TAG+this.props.name).attr("width", width + margin.left + margin.right) // .attr("height", height + margin.top + margin.bottom).attr("transform", "translate(" + top_margin.left + "," + top_margin.top + ")") // // .on("click",()=>{onClick(this.props.name)}) // .on("mousemove", function(d:any) { // tooltip.transition() // .duration(100) // .style("left", (d3.event.pageX) + "px") // .style("top", (d3.event.pageY - 28) + "px"); // tooltip.style("opacity", 0.7).html(methodDef.fullname+"
"+"best performance:"+bestperformance.toFixed(2) + "
" + "trial number:"+total) // }) // .on("mouseout", function(d:any) { // tooltip // .style("opacity", 0); // });; // top_svg.append("rect") // .attr("x",0) // .attr("y",0) // .attr("width", width + margin.left + margin.right) // .attr("height",height + margin.top + margin.bottom) // .attr("fill","white") // .attr("stroke-width",2) // .attr("stroke",selected?"#A4A0A0":"#E0D6D4") // ; // let svg = top_svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); // let line = d3.line() // .x(function(d:any, i:any) { return xScale(d); }) // set the x values for the line generator // .y(function(d:any,i:any) { return yScale((i)*step); }) // set the y values for the line generator // .curve(d3.curveMonotoneX) // apply smoothing to the line // let area = d3.area() // .y(function(d:any) { return yScale(d) }) // .x0(0) // .x1(function(d:any) { return xScale(d); }) // console.info(area, line) // function generateArray(index:number){ // let data:any[] = []; // data.push({x:0,y:index*step}); // data.push({x:totallen,y:index*step}); // return data; // } // var straightline = d3.line() // .x(function(d:any, i:any) { return xScale(d.x); }) // set the x values for the line generator // .y(function(d:any,i:any) { return yScale(d.y); }) // set the y values for the line generator // svg.append("path") // .datum(generateArray(bestindex)) // .attr("class", "line") // .attr("fill","none") // .attr("stroke","#E0D6D4") // .attr("stroke-width",2) // .attr("stroke-dasharray","5,5") // .attr("d", straightline); // // svg.append("path") // // .datum(generateArray(frequentindex)) // // .attr("class", "line") // // .attr("fill","none") // // .attr("stroke","#E0D6D4") // // .attr("stroke-width",2) // // .attr("stroke-dasharray","5,5") // // .attr("d", straightline); // svg.append("path") // .datum(data) // .attr("class", "line") // .attr("fill","none") // .attr("stroke",getColor(methodDef.name)) // .attr("stroke-width",2) // .attr("d", line); // // svg.append("path") // // .datum(data) // // .attr("class", "line") // // .attr("fill",getColor(methodDef.name)) // // .attr("d", area); // svg.append("text") // .attr("class", "hp_name") // .attr('x', width) // .attr('y', height) // .attr('text-anchor', "end") // .text(this.props.name) // } // render() { // const {name}=this.props; // return // } // } ================================================ FILE: src/components/DataRuns/ThreeLevel_Horizontal/ThreeLevel.tsx ================================================ import * as React from "react"; import Methods from './Methods'; import HyperPartitions from "./HyperPartitions"; import HyperParameters from "./HyperParameters"; import { IHyperpartitionInfo, IClassifierInfo, IConfigsInfo, getDatarunConfigs, IUpdateDatarunConfig, ICommonResponse, updateDatarunConfigs, IClickEvent,IRecommendationResult} from 'service/dataService'; import { IDatarun } from "types"; import * as methodsDef from "assets/methodsDef.json"; import {Button, message, Icon} from 'antd'; import { getColor } from 'helper'; export interface IProps { height: number, datarun: IDatarun, datasetID: number | null, datarunID: number | null, setDatarunID: (id: number) => void, hyperpartitions : IHyperpartitionInfo[], classifiers: IClassifierInfo[], compareK: number, recommendationResult:IRecommendationResult, postClickEvent:(e:IClickEvent)=>void } export interface IState { selectedMethod:string, configsBudget: number, configsMethod : string[], loading: boolean, methodSelected:any, hyperparametersRangeAlreadySelected:any, hyperpartitionsAlreadySelected:number[], mouseOverClassifier:number, displaymode:number } export default class ThreeLevel extends React.Component{ index = 0 constructor(props: IProps){ super(props) this.onSelectMethod = this.onSelectMethod.bind(this) this.state={ selectedMethod: '', configsBudget: 100, configsMethod: [], loading: false, methodSelected:{}, hyperparametersRangeAlreadySelected:{}, hyperpartitionsAlreadySelected:[], mouseOverClassifier:-1, displaymode:0 } } onSelectMethod(methodName:string){ console.info('select method', methodName); let eventlog:IClickEvent = { type:"method", description:{ action:"selected", name:methodName }, time:new Date().toString() } this.props.postClickEvent(eventlog); this.setState({selectedMethod: methodName}) } componentDidMount(){ this.getCurrentConfigs() } onBudgetChange = (budget : any) =>{ this.setState({configsBudget:budget}); } getCurrentConfigs = () =>{ if(this.props.datarunID!=null){ let promise: Promise; let datarunID : number= this.props.datarunID?this.props.datarunID:0; promise = getDatarunConfigs(datarunID); promise.then(configs=>{ this.setState({ configsMethod:configs.methods, configsBudget:configs.budget }) }) } } updateCurrentDataRun = () => { // get configs from server ; // submit configs in this view // switch to the new datarun. let methods = this.state.configsMethod; //let budget = this.state.configsBudget; if(this.props.datarunID!=null){ let promise: Promise; let datarunID : number= this.props.datarunID?this.props.datarunID:0; promise = getDatarunConfigs(datarunID); promise .then(configs => { configs.methods = methods; //configs.budget = budget; this.setState({ loading: true }); let submitconfigs : IUpdateDatarunConfig = {}; submitconfigs.configs = configs; submitconfigs.method_configs = this.state.hyperparametersRangeAlreadySelected; if(this.state.hyperpartitionsAlreadySelected.length>0){ submitconfigs.hyperpartitions = this.state.hyperpartitionsAlreadySelected; } let promise:Promise = updateDatarunConfigs(datarunID,submitconfigs); //const promise = this.props.onSubmit(this.state.configs); console.log("update data run in methods view"); console.log(configs); promise.then(status => { if(status.success == true){ message.success("Update Configs Successfully."); }else{ message.error("Update Configs Failed."); } this.setState({ loading: false }); }).catch(error=>{ console.log(error); message.error("Update Configs Failed."); this.setState({ loading: false}); }); }) .catch(error => { console.log(error); }); } } fetchHpId = (method:string)=>{ let hp = this.props.hyperpartitions; return hp.filter((d:any)=>d.method==method).map((d:any)=>d.id); } onMethodsCheckBoxChange=(e : any)=>{ let checked = e.target.checked; let value = e.target.value; let methodSelected = this.state.methodSelected; let configsHyperpartitions :number[] = this.state.hyperpartitionsAlreadySelected; console.log("onMethodsCheckBoxChange") if(methodSelected[value]){ if(checked==false){ //un selected let configsMethod : string[] = this.state.configsMethod; let index = configsMethod.indexOf(value); if(index>-1){ configsMethod.splice(index, 1); } methodSelected[value].checked=false; methodSelected[value].indeterminate=false; methodSelected[value].disabled=false; let hpid = this.fetchHpId(value); configsHyperpartitions = configsHyperpartitions.filter((d:number)=>hpid.indexOf(d)<0); this.setState({ hyperpartitionsAlreadySelected:configsHyperpartitions, methodSelected:methodSelected, configsMethod:configsMethod }); }else{ let configsMethod : string[] = this.state.configsMethod; configsMethod.push(value); methodSelected[value].checked=true; methodSelected[value].indeterminate=false; methodSelected[value].disabled=false; let hpid = this.fetchHpId(value); configsHyperpartitions = Array.from(new Set(configsHyperpartitions.concat(hpid))); this.setState({ hyperpartitionsAlreadySelected:configsHyperpartitions, methodSelected:methodSelected, configsMethod:configsMethod }); } let action="selected"; if(checked==false){ action="unselected"; } let eventlog:IClickEvent = { type:"methodcheckbox", description:{ action:action, methodname:value }, time:new Date().toString() } this.props.postClickEvent(eventlog); this.updateCurrentDataRun(); } } onHyperpartitionCheckBoxChange=(id : number)=>{ let checked : boolean =!( this.state.hyperpartitionsAlreadySelected.indexOf(id)>-1); let value = id; if(checked==false){ // un selected let configsHyperpartitions : number[] = this.state.hyperpartitionsAlreadySelected; let index = configsHyperpartitions.indexOf(value); if(index>-1){ configsHyperpartitions.splice(index, 1); let hp :any= this.props.hyperpartitions.filter((d:any)=>d.id==value); let method = hp[0].method; let hpid = this.fetchHpId(method); let judgeSet = hpid.filter((d:any)=>configsHyperpartitions.indexOf(d)>-1); let methodSelected = this.state.methodSelected; let configsMethod : string[] = this.state.configsMethod; if(judgeSet.length>0){ // Fetch method intersect hpid // method unselected methodSelected[method].checked=false; methodSelected[method].indeterminate=true; }else{ methodSelected[method].checked=false; methodSelected[method].indeterminate=false; let index = configsMethod.indexOf(method); if(index>-1){ configsMethod.splice(index, 1); } } this.setState({ hyperpartitionsAlreadySelected:configsHyperpartitions, methodSelected:methodSelected, configsMethod:configsMethod }); } }else{ let configsHyperpartitions : number[] = this.state.hyperpartitionsAlreadySelected; configsHyperpartitions.push(value); let hp :any= this.props.hyperpartitions.filter((d:any)=>d.id==value); let method = hp[0].method; let hpid = this.fetchHpId(method); let judgeSet = Array.from(new Set(configsHyperpartitions.concat(hpid))); let methodSelected = this.state.methodSelected; let configsMethod : string[] = this.state.configsMethod; configsMethod = Array.from(new Set(configsMethod.concat([method]))); if(judgeSet.length==configsHyperpartitions.length){ //selected methodSelected[method].checked=true; methodSelected[method].indeterminate=false; }else{ methodSelected[method].checked=false; methodSelected[method].indeterminate=true; } this.setState({ hyperpartitionsAlreadySelected:configsHyperpartitions, methodSelected:methodSelected, configsMethod:configsMethod }); } let action="selected"; if(checked==false){ action="unselected"; } let eventlog:IClickEvent = { type:"hyperpartitioncheckbox", description:{ action:action, hpid:value }, time:new Date().toString() } this.props.postClickEvent(eventlog); this.updateCurrentDataRun(); } onBrushSelected = (methodname:string, hpaName: string,hpatype:string,range:number[])=>{ let {hyperparametersRangeAlreadySelected} = this.state; let update : boolean = false; if(hpatype=="int"){ range[0]=Math.floor(range[0]); range[1]=Math.ceil(range[1]); } if(!hyperparametersRangeAlreadySelected[methodname]){ hyperparametersRangeAlreadySelected[methodname]={}; } if(hyperparametersRangeAlreadySelected[methodname][hpaName]&&hyperparametersRangeAlreadySelected[methodname][hpaName]["range"]){ if(hyperparametersRangeAlreadySelected[methodname][hpaName]["range"][0]==range[0]&&hyperparametersRangeAlreadySelected[methodname][hpaName]["range"][1]==range[1]){ // nothing }else{ update = true; } }else{ if(range.length>0){ update = true; } } if(update){ hyperparametersRangeAlreadySelected[methodname][hpaName]={"type":hpatype,"range":range}; console.log(hyperparametersRangeAlreadySelected); this.setState({ hyperparametersRangeAlreadySelected : hyperparametersRangeAlreadySelected }); let action="updated"; let eventlog:IClickEvent = { type:"hyperparametersRange", description:{ action:action, range:range, type:hpatype, hyname:hpaName, methodname:methodname }, time:new Date().toString() } this.props.postClickEvent(eventlog); this.updateCurrentDataRun(); } } componentWillReceiveProps(nextProps : IProps) { if(this.state.loading==false){ let {hyperpartitions} = nextProps; let methodhistogram:any ={}; let methodSelected:any={}; let mode = 1; let hyperpartitionsAlreadySelected:number[] = []; if(mode==0){ hyperpartitionsAlreadySelected = hyperpartitions.map((d:any)=>{ return d.id; }); }else if(mode==1){ hyperpartitionsAlreadySelected = hyperpartitions.filter((d:any)=>d.status!="errored").map((d:any)=>{ return d.id; }); } Object.keys(methodsDef).forEach((d:string)=>{ if(!methodhistogram[d]){ methodhistogram[d]={total:0,enable:0}; } }); hyperpartitions.forEach((d:any)=>{ if(!methodhistogram[d.method]){ methodhistogram[d.method]={total:0,enable:0}; console.log("unknown method : "+d.method); } if(!(d.status=="errored")){ methodhistogram[d.method].total++; methodhistogram[d.method].enable++; }else{ methodhistogram[d.method].total++; } }); Object.keys(methodhistogram).forEach((d:string)=>{ // 0 -> simple selection: // 1 -> complex selection: if(mode==0){ if(methodhistogram[d].total==0){ methodSelected[d] = {checked:false,disabled:true,indeterminate:false}; }else{ methodSelected[d] = {checked:true,disabled:false,indeterminate:false}; } }else if(mode==1){ if(methodhistogram[d].total==0){ methodSelected[d] = {checked:false,disabled:true,indeterminate:false}; }else if(methodhistogram[d].enable==0){ methodSelected[d] = {checked:false,disabled:false,indeterminate:false}; }else if(methodhistogram[d].total == methodhistogram[d].enable){ methodSelected[d] = {checked:true,disabled:false,indeterminate:false}; }else{ methodSelected[d] = {checked:false,disabled:false,indeterminate:true}; } } }); let selectedMethod = this.state.selectedMethod; //if(this.props.datarunID!=nextProps.datarunID){ // selectedMethod = ""; //} this.setState({ methodSelected:methodSelected, hyperpartitionsAlreadySelected:hyperpartitionsAlreadySelected, selectedMethod:selectedMethod }); //this.getCurrentConfigs(); } } onMouseOverClassifier = (classifierid:number)=>{ if(this.state.mouseOverClassifier!=classifierid){ if(classifierid!=-1){ let action="mouseover"; let eventlog:IClickEvent = { type:"classifier", description:{ action:action, classifierid:classifierid }, time:new Date().toString() } this.props.postClickEvent(eventlog); } this.setState({ mouseOverClassifier:classifierid }) } } onMethodButtonClick = () =>{ console.log("onMethodButtonClick"); let {displaymode} = this.state; if(displaymode==0){ let eventlog:IClickEvent = { type:"hyperpartitionsView", description:{ action:"more", }, time:new Date().toString() } this.props.postClickEvent(eventlog); this.setState({ displaymode:1 }); }else{ let eventlog:IClickEvent = { type:"hyperpartitionsView", description:{ action:"hide", }, time:new Date().toString() } this.props.postClickEvent(eventlog); this.setState({ displaymode:0 }); } } onHyperpartitionButtonClick = () =>{ console.log("onHyperpartitionButtonClick"); let {displaymode} = this.state; if(displaymode==1){ let eventlog:IClickEvent = { type:"hyperparametersView", description:{ action:"more", }, time:new Date().toString() } this.props.postClickEvent(eventlog); this.setState({ displaymode:2 }); }else{ let eventlog:IClickEvent = { type:"hyperparametersView", description:{ action:"hide", }, time:new Date().toString() } this.props.postClickEvent(eventlog); this.setState({ displaymode:1 }); } } render(){ let {datarun, hyperpartitions, classifiers, datarunID, compareK} = this.props classifiers = classifiers.sort( (a,b)=>b.cv_metric-a.cv_metric ) // best performance in the front let {selectedMethod,displaymode} = this.state let usedMethods: string[] = Object.keys(datarun); let unusedMethods = Object.keys(methodsDef) .filter( (name: string) => usedMethods.indexOf(name) < 0 ) let svgWidth = window.innerWidth*5/6, width1 = svgWidth*3/13, gapbetween = 70, width2 = svgWidth*0.8/2, // width3 = svgWidth*1/7, width3 = 220, headerHeight = 10 let svgHeight = window.innerHeight * 0.74; // let generateTag = (box:any,name:string)=>{ // if(name!=""){ // let width = box.width; // let height = box.height; // let x = box.x; // let y = box.y; // return {name} // }else{ // return // } // } let generateTag = (box:any,name:string)=>{ if(name!=""){ let {width, height, x, y} = box; return {name} }else{ return } } let generateButton = (box:any,mode:number,eventCallback:()=>void) =>{ // mode == 0 show me more // mode == 1 hide // mode any other value nothing if(mode==0){ return }else if(mode==1){ return }else{ return } } let generateHyperpartition = () => { let buttonMode = 0; if(displaymode==2){ buttonMode = 1; } buttonMode; return ( HyperPartitions of {generateTag({ x:width2/3 + 80, y:-6, width:40, height:20 },selectedMethod)} {generateButton({ x:width1+width2+gapbetween-60, y:svgHeight/2+headerHeight, width:150, height:35 },buttonMode,this.onHyperpartitionButtonClick)}) } let generateHyperparameter = () => { return HyperParameters of {generateTag({ x:width3/3 + 89, y:-6, width:40, height:20 },selectedMethod)} } let methodbuttonMode = 0; if(displaymode==1){ methodbuttonMode = 1; }else if(displaymode==2){ methodbuttonMode = -1; } // console.log("three level render"); // console.log(this.state.hyperpartitionsAlreadySelected); return
Algorithms { /* */} {generateButton({ x:width1, y:svgHeight/2, width:150, height:35 },methodbuttonMode,this.onMethodButtonClick)} {displaymode==1 || displaymode==2?generateHyperpartition():} {displaymode==2 ? generateHyperparameter():} {/*
Budget
*/}
} } ================================================ FILE: src/components/DataRuns/ThreeLevel_Horizontal/index.tsx ================================================ import ThreeLevel from './ThreeLevel' export default ThreeLevel; ================================================ FILE: src/components/DataRuns/index.tsx ================================================ import DataRuns from './DataRuns' export default DataRuns; ================================================ FILE: src/components/DataView.css ================================================ .datasetInfo{ padding: 10px; width: 100%; text-align: center; } .dataViewColContainer{ height: 100%; overflow-x: scroll; } /* .dataViewCol{ height: 100%; width: 100%; border-left: 1px solid rgba(0,0,0,0.16); } */ .dataViewCol>div, .dataViewCol>span{ max-width: 100%; height: 100%; display: table-cell; vertical-align: middle; } .features{ overflow-y: scroll; padding: 10px; border-top: 1px solid rgba(0,0,0,0.16); } .featureTitle{ text-align: center; font-size: 1.2em; } .feature{ border-bottom: 1px solid rgba(0,0,0,0.16); } .iconButton{ font-size: 45px; } .classLegend>span::before{ content: '■'; font-size: 15px; } .ant-upload-list-item-name{ max-width: 6vw; text-overflow: ellipsis; } ================================================ FILE: src/components/DataView.tsx ================================================ // import axios from "axios"; import * as React from "react"; import FeatureChart from "./SidePanel/FeatureChart" import { Upload, message, Icon, Col, Row } from 'antd'; // import { URL } from '../Const'; import { getDatasetCSV, postEnterData, startDatarun } from 'service/dataService'; import './DataView.css'; import {EChartsColor} from "helper"; // const axiosInstance = axios.create({ // baseURL: URL + '/api', // // timeout: 1000, // // headers: {'X-Custom-Header': 'foobar'} // }); export interface IProps{ // setDatarunID: (id:number)=>void datarunID: number | null, } export interface IState { dataset: IFeature[], fileList: any[], running: boolean } export interface IFeature { name: string, data: any[] // Revised number[] to any[] } // export interface IDataset{ // name:string, // [key:string]:data // } export default class DataView extends React.Component{ // public datarunID:number constructor(props: IProps) { super(props) // this.onChange = this.onChange.bind(this) this.beforeUpload = this.beforeUpload.bind(this) this.startDatarun = this.startDatarun.bind(this) this.state = { dataset: [], fileList: [], running: false } } public async getData() { if (this.props.datarunID) { const datum = await getDatasetCSV(this.props.datarunID) // const res = await axios.get('../../viz/dataset_31_credit-g.csv') // this should be changed to the server response later // const datum = res.data this.parseData(datum) } } public parseData(csv:string){ const lines:string[] = csv.split('\n') const features: IFeature[] = lines[0].split(',').map( (feature: string) => { return { name: feature, data: [] } }) lines.splice(0, 1) const instances = lines // for each row // Revised the data type to support the category feature instances.forEach((ins:string) => { const values = ins.split(',') values.forEach((v, idx)=>{ let _v = parseFloat(v) if(isNaN(_v)){ features[idx].data.push(v) }else{ features[idx].data.push(_v) } }) }); this.setState({ dataset: features }) } public componentDidUpdate(prevProps: IProps, provState: IState) { if (this.props.datarunID != prevProps.datarunID) { this.getData(); } } public startDatarun() { const {running} = this.state const info = running?'stop run':'start run' this.setState({running: true}) message.info(info); if (this.props.datarunID) startDatarun(this.props.datarunID) .then((response) => { console.log(response); message.success(`start a data run successfully`); // this.props.setDatarunID(this.props.datarunID) // pass datarun id to datarun after clicking run button this.setState({running: !this.state.running}) }) .catch((error) => { console.log(error); }); } public beforeUpload(file:any){ let reader = new FileReader(); reader.readAsText(file); reader.onload = (evt: FileReaderProgressEvent) => { if (evt.target) { let content = reader.result; this.parseData(content) } }; postEnterData(file) .then(data => { if (data.success === true) { message.success(`${file.name} file uploaded successfully`); // this.datarunID = response.data.id } else { message.error(`${file.name} file upload failed.`); } }) .catch((error) => { console.error(error); }); return false } public render() { const {running} = this.state // upload button const props = { name: 'file', // action: `${URL}/api/enter_data`, headers: { authorization: '', }, // onChange: this.onChange, beforeUpload: this.beforeUpload // custom controll the upload event }; const uploadButton = (
Upload
{/*
New
Dataset
*/}
); // start data run button const runButton = (
{running?"Stop":"Run"}
{/*
for this
Dataset
*/}
) //render const { dataset } = this.state const classes = dataset[dataset.length-1] if (classes) { const features = dataset.slice(0, dataset.length-1) let cate_classes: number[] = [] classes.data.forEach(d => { if (cate_classes.indexOf(d) == -1) { cate_classes.push(d) } }) // legend of classes const legend = cate_classes.map((className,i)=>{ return {className} }) return

Overview

{cate_classes.length} classes
{legend}
{features.length} features
{dataset[0].data.length} instances
{uploadButton}
{runButton}
{features.map((f: IFeature) => { return })}
} else { return {uploadButton} } } } ================================================ FILE: src/components/SidePanel/DataSelector.css ================================================ ================================================ FILE: src/components/SidePanel/DataSelector.tsx ================================================ import * as React from 'react'; import { Select, Row, Col, Upload, Icon, Button, message } from 'antd'; import { IDatasetInfo, IDatarunInfo, IDatarunStatus, IConfigsInfo, postNewDatarun, INewDatarunResponse } from 'service/dataService'; import { getDatasets, getDataruns, getDatarun, postNewDataset, startDatarun, stopDatarun } from 'service/dataService'; import { IDatarunStatusTypes } from 'types/index'; import "./DataSelector.css"; import SettingsModal from './SettingsModal'; const Option = Select.Option; export interface DataSelectorProps { datasetID: number | null; datarunID: number | null; datarunStatus: IDatarunStatusTypes; setDatasetID: (id: number) => void; setDatarunID: (id: number | null) => void; setDatarunStatus: (status: IDatarunStatusTypes) => void; } export interface DataSelectorState { datasets: IDatasetInfo[]; dataruns: IDatarunInfo[]; isProcessing: boolean; // datarunStatus: IDatarunStatusTypes; } export default class DataSelector extends React.Component { constructor(props: DataSelectorProps) { super(props); this.onSelectDatarun = this.onSelectDatarun.bind(this); this.onSelectDataset = this.onSelectDataset.bind(this); this.beforeUploadDataset = this.beforeUploadDataset.bind(this); this.onClickDatarun = this.onClickDatarun.bind(this); this.newDatarun = this.newDatarun.bind(this); this.state = { datasets: [], dataruns: [], isProcessing: false, // datarunStatus: IDatarunStatusTypes.PENDING }; } public async getDatasets() { const datasets = await getDatasets(); if(datasets){ this.setState({ datasets }); } } public async getDataruns(datasetID: number, datarunID:number = -1) { const dataruns = await getDataruns({ dataset_id: datasetID }); this.setState({ dataruns }); // Select the first run as default if (dataruns.length > 0) { if(datarunID == -1){ datarunID = dataruns[0].id; } this.onSelectDatarun(datarunID); } else this.props.setDatarunID(null); } public componentDidMount() { this.getDatasets(); } public onSelectDataset(datasetID: number) { this.props.setDatasetID(datasetID); } public onSelectDatarun(datarunID: number) { this.props.setDatarunID(datarunID); } public beforeUploadDataset(file: any) { postNewDataset(file) .then(data => { if (data.success === true) { message.success(`${file.name} file uploaded successfully`); this.getDatasets().then(() => this.onSelectDataset(data.id)); // this.datarunID = response.data.id } else { message.error(`${file.name} file upload failed.`); } }) .catch(error => { console.error(error); }); return false; } public onClickDatarun() { const { datarunStatus } = this.props; let promise: Promise; if (!this.props.datarunID) return; switch (datarunStatus) { case IDatarunStatusTypes.RUNNING: promise = stopDatarun(this.props.datarunID); break; case IDatarunStatusTypes.PENDING: promise = startDatarun(this.props.datarunID); break; default: console.error("This branch should not occur!") return; } this.setState({isProcessing: true}); promise .then(datarun => { // this.props.setDatarunID(this.props.datarunID) // pass datarun id to datarun after clicking run button this.props.setDatarunStatus(datarun.status); this.setState({isProcessing: false}); }) .catch(error => { console.log(error); this.setState({isProcessing: false}); }); } public async newDatarun(configs: IConfigsInfo): Promise { const {datasetID} = this.props; if (datasetID === null) return; const p = postNewDatarun(datasetID, configs); p.then((status) => { if (status.success) { this.getDataruns(datasetID); } }) return p; } public componentDidUpdate(prevProps: DataSelectorProps, prevState: DataSelectorState) { const { datasetID, datarunID, datarunStatus } = this.props; if (datasetID !== prevProps.datasetID && datasetID) { this.getDataruns(datasetID); } if (datarunID !== prevProps.datarunID && datarunID && datasetID ) { // Automatically try to correct the datarun list once. let findflag = false; for(let i = 0; i { this.props.setDatarunStatus(datarun.status); }); } if (datarunStatus !== prevProps.datarunStatus && datarunID === prevProps.datarunID) { switch (datarunStatus) { case IDatarunStatusTypes.RUNNING: message.info("Datarun is now started"); break; case IDatarunStatusTypes.COMPLETE: message.info("Datarun has completed."); break; case IDatarunStatusTypes.PENDING: message.info("Datarun stopped / is pending"); break; default: break; } } } public render() { const { datarunStatus } = this.props; const { isProcessing } = this.state; const running = datarunStatus === IDatarunStatusTypes.RUNNING; const completed = datarunStatus === IDatarunStatusTypes.COMPLETE; // upload button const uploadProps = { name: 'file', // action: `${URL}/api/enter_data`, headers: { authorization: '' }, // onChange: this.onChange, beforeUpload: this.beforeUploadDataset // custom control the upload event }; // const settingButton = Settings; return (
{/*
Settings
*/}
Datasets
Dataruns
); } } ================================================ FILE: src/components/SidePanel/DataView.css ================================================ .datasetInfo{ padding: 10px; width: 100%; text-align: center; } .dataViewColContainer{ height: 100%; } .features{ overflow-y: scroll; padding: 10px; border-top: 1px solid rgba(0,0,0,0.16); } .featureTitle{ text-align: center; font-size: 1.2em; } .feature{ border-bottom: 1px solid rgba(0,0,0,0.16); } .iconButton{ font-size: 45px; } .data-view h4 { margin-top: 6px; margin-bottom: 2px; border-color: #888; } .data-view hr { margin-top: 0; } .classLegend>span::before{ content: '■'; font-size: 15px; } ================================================ FILE: src/components/SidePanel/DataView.tsx ================================================ import * as React from 'react'; import { getDatasetCSV } from 'service/dataService'; import FeatureChart from './FeatureChart'; import {EChartsColor} from "helper"; import "./DataView.css"; export interface IProps{ // setDatarunID: (id:number)=>void datasetID: number | null, } export interface IState { dataset: IFeature[], fileList: any[], running: boolean } export interface IFeature { name: string, data: any[] // Revised number[] to any[] } // export interface IDataset{ // name:string, // [key:string]:data // } export default class DataView extends React.Component{ // public datarunID:number constructor(props: IProps) { super(props); // this.onChange = this.onChange.bind(this) this.state = { dataset: [], fileList: [], running: false }; } public async getData() { if (this.props.datasetID) { const datum = await getDatasetCSV(this.props.datasetID); // const res = await axios.get('../../viz/dataset_31_credit-g.csv') // this should be changed to the server response later // const datum = res.data this.parseData(datum); } } public parseData(csv:string){ const lines:string[] = csv.split('\n') const features: IFeature[] = lines[0].split(',').map( (feature: string) => { return { name: feature, data: [] }; }); lines.splice(0, 1); const instances = lines; // for each row // Revised the data type to support the category feature instances.forEach((ins:string) => { const values = ins.split(','); values.forEach((v, idx)=>{ let _v = parseFloat(v); if(isNaN(_v)){ features[idx].data.push(v); }else{ features[idx].data.push(_v); } }) }); this.setState({ dataset: features }); } public componentDidUpdate(prevProps: IProps, provState: IState) { if (this.props.datasetID != prevProps.datasetID) { this.getData(); } } public componentDidMount() { this.getData() } public render() { //render const { dataset } = this.state; const labels = dataset[dataset.length-1]; if (labels) { const features = dataset.slice(0, dataset.length-1); const classSet = new Set(labels.data); const classes: (number|string)[] = Array.from(classSet); //legend of classes const legend = classes.map((className,i)=>{ return {className} ({labels.data.filter(d=>d==className).length}) }) return (

Overview


{features.length} features / {dataset[0].data.length} instances / {classes.length} classes {legend}

Feature Distribution


{features.map((f: IFeature) => )}
); } else { return (
Please select a dataset.
); } } } ================================================ FILE: src/components/SidePanel/FeatureChart.tsx ================================================ import ReactEcharts from "echarts-for-react"; import * as React from "react"; // import { prepareBoxplotData } from '../atm_helper'; import { IFeature } from './DataView'; export default class FeatureChart extends React.Component<{ feature: IFeature, classes: IFeature, cate_classes: (number|string)[] }>{ checkFeatureType(feature_values:IFeature['data']) { for (let i = 0, ilen = feature_values.length; i < ilen; i++) { let d = feature_values[i]; if (d && typeof (d) != 'number') { return 'category'; } } return 'numerical'; }; getValOption() { let { feature, classes, cate_classes } = this.props const barNum = 15 //number of bars in the histogram let minFeatureVal = Math.min(...feature.data) let maxFeatureVal = Math.max(...feature.data) let step = (maxFeatureVal-minFeatureVal)/barNum let xAxesData:string[] = [] for (let i = 0; i { let hisData:number[] = [] for(let i =0; i{ if(classes.data[idx] == classIdx){ let hisIdx = Math.floor((d-minFeatureVal)/step) hisData[hisIdx]+=1 } }) return { name: 'class_'+classIdx, type:'bar', data: hisData, barGap: '20%', barCategoryGap: '10%' } }) const option = { tooltip:{}, grid: { left: '10%', height: '50%', top: '25%', }, title: { text: feature.name, fontSize: '0.8vh', top: 0, }, xAxis: { type: 'category', data: xAxesData, axisTick:{ alighWithLabel: true, interval: 0, }, axisLabel: { rotate: -30, interval:1, fontSize: 10, } }, yAxis: { type: "value", splitNumber: 2, }, // itemStyle:{ // opacity: 0.5 // }, series, } return option // const series = cate_classes.map((classIdx) => { // let data: any[] = [] // feature.data.forEach((d, idx) => { // if (classes.data[idx] == classIdx) { // data.push([d, 'class_'+classIdx]) // } // }) // return { // type: 'scatter', // symbolSize: 6, // itemStyle: { // opacity: 0.3 // }, // data, // } // }) // let boxData = prepareBoxplotData( // series.map(d => { // //from Array<[feature_value, classes_value]> to Array // return d.data.map(d => d[0]) // }), // { layout: 'vertical' } // ); // let boxSeries = { // type: 'boxplot', // itemStyle: { // borderWidth: 1, // borderColor: '#444', // }, // data: boxData.boxData // } // // series.concat(boxSeries) // const option = { // // tooltip: { // // position: 'top' // // }, // legend: {}, // grid: { // left: '20%', // height: '60%', // top: '10%', // }, // title: { text: feature.name }, // // singleAxis, // xAxis: { // type: 'value', // min: 'dataMin', // max: 'dataMax', // }, // yAxis: { // type: "category", // data: cate_classes.map(d => 'class_' + d), // axisLine: { // show: false // }, // axisLabel: { // show: false // }, // axisTick: { // show: false // }, // }, // series: [boxSeries, ...series], // }; // return option }; getCateOption() { let { feature, classes, cate_classes } = this.props const categorySet = {} const categories: string[] = [] feature.data.forEach((d)=>{ if(!categorySet[d]){ categorySet[d] = true categories.push(d) } }) const xAxisData = categories const series = cate_classes.map((classIdx)=>{ let data: any[] = [] categories.forEach(()=>{ data.push(0) }) feature.data.forEach((d, idx)=>{ if(classes.data[idx] == classIdx){ data[categories.indexOf(d)] += 1 } }) return { name: 'class_'+classIdx, type: 'bar', barGap:'5%', barCategoryGap: '40%', data } }) let option = { title: { text: feature.name , top: 0, fontSize: '0.8vh', }, // legend: { // // data: ['bar', 'bar2'], // // align: 'left' // }, grid: { left: '10%', height: '50%', top: '25%', }, tooltip: {}, xAxis: { data: xAxisData, axisLabel: { interval:0, rotate: -30, }, axisTick: { interval:0 } }, yAxis: { }, series: [...series], animationEasing: 'elasticOut', }; return option } render() { let {feature} = this.props let featureType = this.checkFeatureType(feature.data) let option = featureType == 'numerical'?this.getValOption():this.getCateOption() return
{/*
{feature.name}
*/}
} } ================================================ FILE: src/components/SidePanel/LeaderBoard.css ================================================ .lb-classifier { background-color: #dddddd; color: #dddddd; position: absolute; left: 100px; top: 8px; } .lb-classifier-metric { background-color: transparent; position: absolute; left: 100px; top: 8px; } .lb-bar { background-color: #dddddd; color: #dddddd; position: absolute; left: 0px; top: 0px; } .lb-bar-text { background-color: transparent; position: absolute; left: 0px; top: 0px; } .progress { width: 30px; background: #ddd; } .curRate { width: 75%; background: #f30; } .round-conner { height: 20px; border-radius: 2px; } /* width */ ::-webkit-scrollbar { width: 0px; } /* Track */ ::-webkit-scrollbar-track { background: #ffffff; opacity:0; } /* Handle */ ::-webkit-scrollbar-thumb { background: #ffffff; opacity:0; } /* Handle on hover */ ::-webkit-scrollbar-thumb:hover { background: #ffffff; opacity:0; } ================================================ FILE: src/components/SidePanel/LeaderBoard.tsx ================================================ import * as React from 'react'; import { Collapse, Tag, InputNumber, Switch, Icon, Progress } from 'antd'; //import { Tag,Progress } from 'antd'; import { IDatarunStatusTypes } from 'types'; import { getClassifiers, IClassifierInfo, IDatarunInfo, getDatarun, IClickEvent } from 'service/dataService'; // import { IHyperpartitionInfo, getHyperpartitions} from 'service/dataService'; import { UPDATE_INTERVAL_MS } from 'Const'; import './LeaderBoard.css'; // import LineChart from './LineChart'; import { getColor } from 'helper'; import OverallHistogram from './OverallHistogram'; const Panel = Collapse.Panel; // const TOP_K = 10; function isFloat(n: number): boolean { return n % 1 !== 0; } export interface IDatarunSummary { nTried: number; topClassifiers: IClassifierInfo[]; nTriedByMethod: { [method: string]: number }; triedHyperpartition: number[] } export function computeDatarunSummary(classifiers: IClassifierInfo[]): IDatarunSummary { // This need to fix to support other metric? classifiers = [...classifiers]; classifiers.sort((a, b) => -a.cv_metric + b.cv_metric); let nTriedByMethod = {}; let triedHyperpartition = [] classifiers.forEach(c => { const nTried = nTriedByMethod[c.method]; nTriedByMethod[c.method] = nTried ? nTried + 1 : 1; }); triedHyperpartition = Array.from(new Set(classifiers.map(d=>d.hyperpartition_id))) return { nTried: classifiers.length, topClassifiers: classifiers, nTriedByMethod, triedHyperpartition, }; } export function classifierMetricString(c: IClassifierInfo): string { return `${c.cv_metric.toFixed(3)} ± ${c.cv_metric_std.toFixed(3)}`; } export function HyperParams(params: { [method: string]: any }) { const keys = Object.keys(params); keys.sort(); return ( {keys.map(k => ( {k}: {typeof params[k] === 'number' ? (isFloat(params[k]) ? params[k].toPrecision(4) : params[k] ) : String(params[k])}
))}
); } export function MethodHeader(params: IClassifierInfo) { const width = `${(params.cv_metric * 70).toFixed(1)}%`; return (
{params.method} {/*
*/}
none
{classifierMetricString(params)} {/*
*/}
); } export interface LeaderBoardProps { datarunID: number | null; datarunStatus: IDatarunStatusTypes; setDatarunStatus: (status: IDatarunStatusTypes) => void; setTopK: (topk:number)=>void; postClickEvent:(e:IClickEvent)=>void; } export interface LeaderBoardState { datarunInfo: IDatarunInfo | null; // hyperpartitions: IHyperpartitionInfo[]; // hyperpartitionStrings: string[]; summary: IDatarunSummary | null; topK: number // scores: {[id: string]: number}[]; } export default class LeaderBoard extends React.Component { private intervalID: number; constructor(props: LeaderBoardProps) { super(props); this.updateLeaderBoard = this.updateLeaderBoard.bind(this); this.changeTopK = this.changeTopK.bind(this) this.state = { summary: null, datarunInfo: null, topK: 5 // hyperpartitions: [], // hyperpartitionStrings: [] // scores: [], }; } public updateLeaderBoard(updateDatarunInfo: boolean = false) { const { datarunID } = this.props; if (datarunID === null) return; getClassifiers(datarunID).then(classifiers => { //console.log('classifiers', classifiers); this.setState({ summary: computeDatarunSummary(classifiers) }); }); // getDatarunStepsScores(datarunID).then(scores => this.setState({scores})) if (updateDatarunInfo) { getDatarun(datarunID).then(datarunInfo => { this.setState({ datarunInfo }); this.props.setDatarunStatus(datarunInfo.status); }); // getHyperpartitions().then(hyperpartitions => { // // console.log(hyperpartitions); // if (Array.isArray(hyperpartitions)) // { // hyperpartitions = hyperpartitions.filter(d=>d.datarun_id==datarunID) // let hyperpartitionStrings=Array.from( // new Set( // hyperpartitions.map(d=>d.hyperpartition_string) // ) // ) // this.setState({ hyperpartitionStrings, hyperpartitions }); // } // else // console.error('The fetched hyperpartitions should be an array!'); // }); } } public startOrStopUpdateCycle() { if (this.props.datarunStatus === IDatarunStatusTypes.RUNNING) { this.intervalID = window.setInterval(this.updateLeaderBoard, UPDATE_INTERVAL_MS); } else { clearInterval(this.intervalID); } } public changeTopK(value:number){ this.setState({ topK:value }) } componentDidMount() { this.updateLeaderBoard(true); this.startOrStopUpdateCycle(); } componentDidUpdate(prevProps: LeaderBoardProps) { if (prevProps.datarunID !== this.props.datarunID) { this.updateLeaderBoard(true); } if (prevProps.datarunStatus !== this.props.datarunStatus) { this.startOrStopUpdateCycle(); } } activeKey:string[] = []; onCollapseChange = (key:string[])=>{ let d1 = this.activeKey.length; let d2 = key.length; let intersectkey = this.activeKey.filter((d:string)=>key.indexOf(d)>-1); let changedKey = Array.from(new Set(this.activeKey.concat(key))).filter((d:string)=>intersectkey.indexOf(d)<0); let action = "changed"; if(d1>d2){ action="close"; }else if(d1{ return `${methods_num}/14` } const progressHyperpartiton = (percent:number)=>{ return `${hp_num}/172` } return summary ? (
{/*

Overview

*/} {/*
*/}
Metric: {datarunInfo && datarunInfo.metric}
Best classifier: {best && `${best.method}-${best.id}`} {best && ` ${best.cv_metric.toFixed(3)}±${best.cv_metric_std.toFixed(3)}`}
Total classifiers: {summary.nTried}
Algorithm :{' '}
{/*
{progressAlgorithm(0)}
*/}

Hyperpartitions :{' '}
{/*
none
{progressHyperpartiton(0)}
*/}

Performance :
{/*
*/}
{/*

Scores

*/}

Top Classifiers {/*


{summary.topClassifiers.slice(0, topK).map(c => ( }> ))}
) : (
Please select a datarun.
); } } ================================================ FILE: src/components/SidePanel/LineChart.tsx ================================================ import * as React from 'react'; import ReactEcharts from 'echarts-for-react'; import {getColor} from "helper"; import { IHyperpartitionInfo } from 'service/dataService'; export interface LineChartProps { scores: {[id: string]: number}[]; // id2method: {[id: number]: string}; hyperpartitions: IHyperpartitionInfo[]; topK: number } export interface LineChartState {} export default class LineChart extends React.Component { constructor(props: LineChartProps) { super(props); } public computeOption() { const { scores, hyperpartitions } = this.props; const id2hp: {[id: number]: IHyperpartitionInfo} = {}; hyperpartitions.forEach(hp => { id2hp[hp.id] = hp; }); let series: any[] = []; let min = null; let max = null; if (scores.length > 0) { let ids = Object.keys(scores[0]); const lastScores = ids.map(id => scores[scores.length - 1][id]); // Sort ids by the last scores ids = ids.sort((a, b) => lastScores[b] - lastScores[a]); // min = lastScores[ids[topK - 1]]; // max = lastScores[ids[0]]; // const diff = max - min; // min = min - 0.1 * diff; // max = max + 0.1 * diff; series = ids.map(id => { const hp = id2hp[Number(id)]; return { data: scores.map((ss, i) => [i, ss[id]]), type: 'line', itemStyle: { color: getColor(hp.method), opacity: 0.5, }, lineStyle: { opacity: 0.5, }, name: hp.hyperpartition_string, label: true, symbolSize: 1, }; }); } const option = { xAxis: { type: 'value', }, yAxis: { type: 'value', min: min, max: max, }, tooltip: { trigger: 'axis', }, series, legend: { data: series.map(s => s.name), // type: 'scroll', // orient: 'vertical', // right: 10, // top: 20, // bottom: 20, itemHeight: 8, }, grid: { top: 80, bottom: 30, left: 30, right: 20, } }; return option; } public render() { return ; } } ================================================ FILE: src/components/SidePanel/OverallHistogram.tsx ================================================ import ReactEcharts from "echarts-for-react"; //import {getColor} from "helper" import * as React from "react"; import { IClassifierInfo } from 'service/dataService'; export interface IProps{ classifiers:IClassifierInfo[], width: number } export interface IState{ step: number yAxis: 'absolute'|'relative' } export default class OverallHistogram extends React.Component{ constructor(props:IProps){ super(props) this.state={ step :0.1, yAxis:'absolute' //'absolute' or 'relative } } public getOption(){ const {classifiers} = this.props let {step, yAxis} = this.state let data : number[] = []; for (let i =0; i<1/step; i++){ data.push(0) } classifiers.forEach(classifier=>{ let performance = classifier.cv_metric;//parseFloat(classifier['performance'].split(' +- ')[0]) let rangeIdx = Math.floor(performance/step) data[rangeIdx] = data[rangeIdx]+1 }) if (yAxis=='relative'){ let max = Math.max(...data) data = data.map(d=>d/max) } let xAxisData:string[] = [] for (let i =0; i<1/step; i++){ //xAxisData.push(`${(i*step).toFixed(2)}-${((i+1)*step).toFixed(2)}`) xAxisData.push(`${(i*step).toFixed(1)}`) } const option = { // title:{ // text:"performance histogram", // fontSize: '0.5vh', // top: 0, // }, yAxis: { type: 'category', data: xAxisData, axisTick:{ interval:0, }, axisLabel: { rotate: 0, interval:1, fontSize: 10, }, name: 'F_score', nameLocation :'middle', nameGap : '35' }, xAxis: { type: 'value', name: 'Number of classifiers', nameLocation :'middle', nameGap : '30' }, grid: { left: '15%', height: '55%', top: '10%', bottom: '25%', }, series:{ type: 'bar', // smooth: false, barGap:'5%', barCategoryGap: "5%", data, itemStyle:{ color:"#2491FC", opacity: 1 }, }, }; return option } public render(){ return } } ================================================ FILE: src/components/SidePanel/SettingsModal.tsx ================================================ import * as React from 'react'; import { Collapse,Modal, Button, Checkbox,InputNumber,message,Select } from 'antd'; import * as methodsDef from "../../assets/methodsDef.json"; import { IConfigsInfo } from 'service/dataService'; import { getConfigs } from 'service/dataService'; export interface SettingsModalProps { onSubmit: (configs: IConfigsInfo) => Promise; button?: React.ReactNode; buttonOptions?: any; } export interface SettingsModalState { loading: boolean visible: boolean, indeterminate: boolean, checkAll: boolean, configs: IConfigsInfo } const method_options = Object.keys(methodsDef).map( (key : string)=>{ return {label: methodsDef[key].fullname, value: key} } ); export default class SettingsModal extends React.Component { constructor(props: SettingsModalProps) { super(props); this.onCheckAllChange = this.onCheckAllChange.bind(this) this.state = { loading: false, visible: false, indeterminate: true, checkAll: false, configs : { methods : [''], budget : 100, r_minimum : 2, k_window :0, priority : 1, gridding :0, metric : "f1", selector :"bestk", budget_type : "classifier", tuner : "gp" }, }; } showModal =() => { this.initModal(); } public initModal() { // get configs from server ; // initialize the default value in Modal // Show Modal. let promise: Promise; promise = getConfigs(); promise .then(configs => { this.setState({ visible: true, checkAll: configs.methods.length===method_options.length, configs : { methods:configs.methods, budget:configs.budget, r_minimum: configs.r_minimum, k_window : configs.k_window, gridding : configs.gridding, metric :configs.metric, selector : configs.selector, budget_type: configs.budget_type, tuner: configs.tuner, priority : configs.priority }, }); }) .catch(error => { console.log(error); }); } handleOk = () => { // Submit this.setState({ loading: true }); console.log(this.state.configs); // let promise:Promise = postConfigs(this.state.configs); const promise = this.props.onSubmit(this.state.configs); promise.then(status => { if(status.success == true){ message.success("Submit Configs Successfully."); } this.setState({ loading: false, visible: false }); }).catch(error=>{ console.log(error); message.error("Submit Configs Failed."); this.setState({ loading: false, visible: false }); }); } handleCancel = () => { this.setState({ visible: false }); } onBudgetChange = (budget : any) =>{ let configs = this.state.configs; configs.budget = budget; this.setState({configs:configs}); } onR_MinChange = (r_min : any) =>{ let configs = this.state.configs; configs.r_minimum = r_min; this.setState({configs:configs}); } onK_WinChange = (k_win : any) =>{ let configs = this.state.configs; configs.k_window = k_win; this.setState({configs:configs}); } onGriddingChange = (grid : any) =>{ let configs = this.state.configs; configs.gridding = grid; this.setState({configs:configs}); } onPriorityChange = (pri : any) =>{ let configs = this.state.configs; configs.priority = pri; this.setState({configs:configs}); } onBudgetTypeChange = (budget_type : any) =>{ let configs = this.state.configs; configs.budget_type = budget_type; this.setState({configs:configs}); } onMetricChange = (metric : any) =>{ let configs = this.state.configs; configs.metric = metric; this.setState({configs:configs}); } onTunerChange = (tuner : any) =>{ let configs = this.state.configs; configs.tuner = tuner; this.setState({configs:configs}); } onSelectorChange = (selector : any) =>{ let configs = this.state.configs; configs.selector = selector; this.setState({configs:configs}); } onMethodsChange = (methods : string[]) => { //console.log("checked",methods); if(methods.length<1){ message.error("You must select at least one method"); }else{ let {configs} = this.state; configs.methods = methods; this.setState({ configs:configs, indeterminate: !!methods.length && (configs.methods.length < Object.keys(methodsDef).length), checkAll: configs.methods.length === Object.keys(methodsDef).length, }); } } onCheckAllChange(e:any){ let {configs} = this.state configs.methods = e.target.checked ? Object.keys(methodsDef) : [] this.setState({ configs, indeterminate: false, checkAll: e.target.checked, }); } render() { const { visible, loading, configs } = this.state; const CheckboxGroup = Checkbox.Group; const Panel = Collapse.Panel; const Option = Select.Option; const BUDGET_TYPES = ['none', 'classifier', 'walltime']; const TUNERS = ['uniform', 'gp', 'gp_ei', 'gp_eivel']; const SELECTORS = ['uniform', 'ucb1', 'bestk', 'bestkvel', 'purebestkvel', 'recentk', 'recentkvel', 'hieralg']; const METRICS = ['f1', 'roc_auc']; return (
, , ]} >

Methods

Check all


Budget Type



Budget



Priority



Metric



Tuner



Selector



r-minimum



k-window



gridding



); } } ================================================ FILE: src/components/SidePanel/SidePanel.tsx ================================================ import * as React from 'react'; import {Tabs} from 'antd'; import DataSelector from './DataSelector'; import DataView from './DataView'; import LeaderBoard from './LeaderBoard'; import { IDatarunStatusTypes } from 'types'; import { IClickEvent } from 'service/dataService'; const TabPane = Tabs.TabPane export interface SidePanelProps { datasetID: number | null; datarunID: number | null; datarunStatus: IDatarunStatusTypes; setDatasetID: (id: number) => void; setDatarunID: (id: number) => void; setDatarunStatus: (status: IDatarunStatusTypes) => void; setTopK: (topK:number)=>void; postClickEvent:(e:IClickEvent)=>void; } export interface SidePanelState {} export default class SidePanel extends React.Component { constructor(props: SidePanelProps) { super(props); this.state = {}; } public render() { return (
); } } ================================================ FILE: src/components/SidePanel/index.css ================================================ .side-panel h4 { margin-top: 6px; margin-bottom: 2px; border-color: #888; } .side-panel hr { margin-top: 0; } ================================================ FILE: src/components/SidePanel/index.tsx ================================================ import './index.css'; import SidePanel from './SidePanel'; export default SidePanel; ================================================ FILE: src/components/UploadModal.tsx ================================================ import * as React from 'react'; import { Modal, Button, Input,Alert } from 'antd'; import {USER_STUDY} from 'Const'; export interface UploadModalProps { setUserName : (e:string)=>void } export interface UploadModalState { loading: boolean, visible: boolean, name:string, alertvisible:boolean } export default class UploadModal extends React.Component { constructor(props: UploadModalProps) { super(props); this.state = { loading: false, visible: USER_STUDY, alertvisible:false, name:"" } } showModal =() => { this.initModal(); } public initModal() { // get configs from server ; // initialize the default value in Modal // Show Modal. this.setState({ visible: true }); } handleOk = () => { // Submit if(this.state.name==""){ this.setState({alertvisible:true}); }else{ this.props.setUserName(this.state.name); this.setState({ visible:false, alertvisible:false}); } } handleCancel = () => { this.handleOk(); //this.setState({ visible: false }); } onInputChange = (e : any) =>{ //console.log(e.target.value); this.setState({name:e.target.value}); } render() { const { visible, loading,alertvisible } = this.state; let generateAlert = () =>{ if(alertvisible) return else return
} return (
OK , ]} > {generateAlert()}

Your name

); } } ================================================ FILE: src/components/Utils/GenerateSvg.tsx ================================================ import * as React from 'react'; export interface IProps { id: string } export interface IState { id: '' }; export default class GenerateSvg extends React.Component { constructor(props: IProps) { super(props); } render() { return ( {this.props.children} ) } } ================================================ FILE: src/helper/index.tsx ================================================ import {IClassifier, IDatarun} from 'types'; const names: string[] = ['svm', 'knn', 'mlp', 'bnb', 'sgd', 'pa','dt','rf','et','mnb','ada','logreg','gp','gnb'] // fix the color of methods const COLORS: string[] = [ "#1A7AB1", "#ADC8E6", "#FF772D", "#FFB87F", "#2AA13A", "#98E090", "#FF9398", "#9467B9", "#C5B0D3", "#C49B95", "#E474C0", "#F7B4D1", "#BCBC3D", "#07C1CD" ] const GREEN: string[] = [ "#498B77", "#89C2AE", "#C1D6D3" ] const BLUE: string[] = [ "#3E97C7", "#72B3CF", "#8FCCDD", "#C8DADE" ] const ORANGE: string[] = [ "#E96206", "#F79143", "#F6AD76", "#F7CEA7" ] const PINK: string[] = [ "#F6B1C3", "#F07F93", "#DE4863", "#BC0F46" ] const RED: string = "#DC143C"; const YELLOW : string = '#fee08b'; const getColor = (name: string, palatte: number = 0): string =>{ let colors: string[] switch (palatte) { case 0: colors = COLORS break case 1: colors = GREEN break case 2: colors = BLUE break case 3: colors = ORANGE break case 4: colors = PINK break default: colors = COLORS } let idx: number = names.indexOf(name) let numColor = colors.length if (idx === -1) { names.push(name) return colors[(names.length - 1) % numColor] } else { return colors[idx % numColor] } } export const filterByMethod=(csv: string|any)=>{ let lines = csv.split('\n') let result:any[] = [lines[0]] //make a unique array of the methods that were used let methodsUsed = csv2json(csv)[1]['data'].filter( (key:string, index:number, self:any) => { return self.indexOf(key) === index; }) //create a new array ordered by the methods methodsUsed.forEach((method:string) =>{ lines.forEach((row:string) => { let elements = row.split(',') if (elements[1] == method) { result.push(row) } }) }); return result } export const getGradientColor = (startColor : string,endColor :string,step : number) => { let colorRgb = (sColor : string)=>{ var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; var sColor = sColor.toLowerCase(); if(sColor && reg.test(sColor)){ if(sColor.length === 4){ var sColorNew = "#"; for(var i=1; i<4; i+=1){ sColorNew += sColor.slice(i,i+1).concat(sColor.slice(i,i+1)); } sColor = sColorNew; } var sColorChange = []; for(var i=1; i<7; i+=2){ sColorChange.push(parseInt("0x"+sColor.slice(i,i+2))); } return sColorChange; }else{ return sColor; } }; startColor = startColor.replace(/\s+/g,""); endColor = endColor.replace(/\s+/g,""); let startRGB : any = colorRgb(startColor);//转换为rgb数组模式 //console.log(startRGB); let startR = startRGB[0]; let startG = startRGB[1]; let startB = startRGB[2]; let endRGB : any = colorRgb(endColor); //console.log(endRGB); let endR = endRGB[0]; let endG = endRGB[1]; let endB = endRGB[2]; let sR = (endR-startR)/step;//总差值 let sG = (endG-startG)/step; let sB = (endB-startB)/step; var colorArr = []; for(var i=0;i{ let lines = csv.split('\n') let result:any = [lines[0]] let performances:any = [] //create an array of only the performances let rawPerformances = csv2json(csv)[5]['data'] rawPerformances.forEach((value:any) => { performances.push(value) }) performances.sort().reverse() //sort in descending order //create a new array according to the new descending order performances.forEach((rankedPerf:any) => { lines.forEach((row:any) => { if (rankedPerf == row.split(',')[5] && rankedPerf != '0.000 +- 0.000') { result.push(row) } }) }) return result } const csv2json=(csv: string|any)=>{ let lines = csv.split('\n') let keys = lines[0].split(',').map( (key:string)=>{ let data:any[] = [] return {name: key, data} }) lines.shift() //remove headers lines.splice(-1, 1) // remove lats empty line lines.forEach((row:string) => { const cells = row.split(',') cells.forEach((cell, idx)=>{ keys[idx].data.push(cell) }) }); return keys } const EChartsColor = [ "#c23531", "#2f4554", "#61a0a8", "#d48265", "#91c7ae", "#749f83" ] const parseDatarun=(csv: string|any)=>{ let lines = csv.split('\n') let keys = lines[0].split(',') let datarun:IDatarun = {} lines.shift() //remove headers lines.splice(-1, 1) // remove lats empty line let trailID = 0; lines.forEach((row:string, idx:number) => { const cells = row.split(',') let record:IClassifier = {'trail ID':idx, method:''} cells.forEach((cell, idx)=>{ record[keys[idx]] = cell }) record['trail ID'] = trailID; trailID++; let methodIndex = keys.indexOf('method') let methodName = cells[methodIndex] if(datarun[methodName]){ datarun[methodName].push(record) }else{ datarun[methodName] = [record] } }); //classify datarun based on methods type return datarun } function asc(arr:number[]) { arr.sort(function (a, b) { return a - b; }); return arr; } var quantile = function(ascArr:number[], p:number) { var H = (ascArr.length - 1) * p + 1, h = Math.floor(H), v = +ascArr[h - 1], e = H - h; return e ? v + e * (ascArr[h] - v) : v; }; var prepareBoxplotData = function (rawData:any[], opt:any) { opt = opt || []; var boxData = []; var outliers = []; var axisData = []; var boundIQR = opt.boundIQR; var useExtreme = boundIQR === 'none' || boundIQR === 0; for (var i = 0; i < rawData.length; i++) { axisData.push(i + ''); var ascList = asc(rawData[i].slice()); var Q1 = quantile(ascList, 0.25); var Q2 = quantile(ascList, 0.5); var Q3 = quantile(ascList, 0.75); var min = ascList[0]; var max = ascList[ascList.length - 1]; var bound = (boundIQR == null ? 1.5 : boundIQR) * (Q3 - Q1); var low = useExtreme ? min : Math.max(min, Q1 - bound); var high = useExtreme ? max : Math.min(max, Q3 + bound); boxData.push([low, Q1, Q2, Q3, high]); for (var j = 0; j < ascList.length; j++) { var dataItem = ascList[j]; if (dataItem < low || dataItem > high) { var outlier = [i, dataItem]; opt.layout === 'vertical' && outlier.reverse(); outliers.push(outlier); } } } return { boxData: boxData, outliers: outliers, axisData: axisData }; }; export { RED,YELLOW, getColor, EChartsColor, csv2json, parseDatarun, prepareBoxplotData } ================================================ FILE: src/images.d.ts ================================================ declare module '*.svg' declare module '*.png' declare module '*.jpg' declare module '*.json' ================================================ FILE: src/index.css ================================================ body { margin: 0; padding: 0; font-family: sans-serif; } ================================================ FILE: src/index.tsx ================================================ import * as React from 'react'; import * as ReactDOM from 'react-dom'; import App from 'components/App'; import './index.css'; import registerServiceWorker from 'registerServiceWorker'; ReactDOM.render( , document.getElementById('root') as HTMLElement ); registerServiceWorker(); ================================================ FILE: src/registerServiceWorker.ts ================================================ // tslint:disable:no-console // In production, we register a service worker to serve assets from local cache. // This lets the app load faster on subsequent visits in production, and gives // it offline capabilities. However, it also means that developers (and users) // will only see deployed updates on the 'N+1' visit to a page, since previously // cached resources are updated in the background. // To learn more about the benefits of this model, read https://goo.gl/KwvDNy. // This link also includes instructions on opting out of this behavior. const isLocalhost = Boolean( window.location.hostname === 'localhost' || // [::1] is the IPv6 localhost address. window.location.hostname === '[::1]' || // 127.0.0.1/8 is considered localhost for IPv4. window.location.hostname.match( /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ ) ); export default function register() { if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { // The URL constructor is available in all browsers that support SW. const publicUrl = new URL( process.env.PUBLIC_URL!, window.location.toString() ); if (publicUrl.origin !== window.location.origin) { // Our service worker won't work if PUBLIC_URL is on a different origin // from what our page is served on. This might happen if a CDN is used to // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374 return; } window.addEventListener('load', () => { const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; if (isLocalhost) { // This is running on localhost. Lets check if a service worker still exists or not. checkValidServiceWorker(swUrl); // Add some additional logging to localhost, pointing developers to the // service worker/PWA documentation. navigator.serviceWorker.ready.then(() => { console.log( 'This web app is being served cache-first by a service ' + 'worker. To learn more, visit https://goo.gl/SC7cgQ' ); }); } else { // Is not local host. Just register service worker registerValidSW(swUrl); } }); } } function registerValidSW(swUrl: string) { navigator.serviceWorker .register(swUrl) .then(registration => { registration.onupdatefound = () => { const installingWorker = registration.installing; if (installingWorker) { installingWorker.onstatechange = () => { if (installingWorker.state === 'installed') { if (navigator.serviceWorker.controller) { // At this point, the old content will have been purged and // the fresh content will have been added to the cache. // It's the perfect time to display a 'New content is // available; please refresh.' message in your web app. console.log('New content is available; please refresh.'); } else { // At this point, everything has been precached. // It's the perfect time to display a // 'Content is cached for offline use.' message. console.log('Content is cached for offline use.'); } } }; } }; }) .catch(error => { console.error('Error during service worker registration:', error); }); } function checkValidServiceWorker(swUrl: string) { // Check if the service worker can be found. If it can't reload the page. fetch(swUrl) .then(response => { // Ensure service worker exists, and that we really are getting a JS file. if ( response.status === 404 || response.headers.get('content-type')!.indexOf('javascript') === -1 ) { // No service worker found. Probably a different app. Reload the page. navigator.serviceWorker.ready.then(registration => { registration.unregister().then(() => { window.location.reload(); }); }); } else { // Service worker found. Proceed as normal. registerValidSW(swUrl); } }) .catch(() => { console.log( 'No internet connection found. App is running in offline mode.' ); }); } export function unregister() { if ('serviceWorker' in navigator) { navigator.serviceWorker.ready.then(registration => { registration.unregister(); }); } } ================================================ FILE: src/service/dataService.ts ================================================ import axios from 'axios'; import { URL } from 'Const'; import { IDatarunStatusTypes, IClassifierStatusTypes } from 'types'; import { IHyperParameter, IMethodType } from '../types/index'; // const API = `${URL}/api`; const axiosInstance = axios.create({ baseURL: `${URL}/api/`, // timeout: 1000, headers: { 'Access-Control-Allow-Origin': '*' } }); export interface IDatarunStatus { status: IDatarunStatusTypes; } export interface IDatasetInfo { id: number; d_features: number; k_classes: number; n_examples: number; name: string; } export interface IDatarunInfo extends IDatarunStatus { id: number; dataset_id: number; metric: string; selector: string; tuner: string; } export interface IHyperpartitionInfo { id: number; datarun_id: number; method: string; hyperpartition_string: string; status: 'incomplete' | 'gridding_done' | 'errored'; categoricals: {[param: string]: string | boolean}; constants: {[param: string]: string | boolean}; tunables: {[param: string]: {type: string, range: number[]}} } export interface IHyperPartitionScores { [id: string]: number; } export interface IFileUploadResponse { success: boolean; filename: string; id: number; } export interface IClassifierInfo { id: number; datarun_id: number; hyperpartition_id: number; cv_metric: number; cv_metric_std: number; test_metric_std: number; method: string; hyperparameters: {[param: string]: boolean | number | string} } export interface IConfigsInfo { methods : string[]; budget: number; r_minimum : number; k_window : number; gridding : number; metric :string; selector : string; budget_type: string; tuner: string; priority :number; } export interface ICommonResponse { success: boolean; } export interface IConfigsUploadResponse extends ICommonResponse {} export interface INewDatarunResponse { success: boolean; id: number; } export interface IMethodHyperParameters { [name: string]: IHyperParameter; } export async function getDatasets(): Promise { const url = `/datasets`; const res = await axiosInstance.get(url); if (res.status === 200) { return res.data; } throw res; } export async function getDataset(id: number): Promise { const url = `/datasets/${id}`; const res = await axiosInstance.get(url); if (res.status === 200) { return res.data; } throw res; } export async function getDataruns(params?: { dataset_id: number }): Promise { const url = `/dataruns`; const res = await axiosInstance.get(url, { params }); if (res.status === 200) { return res.data; } throw res; } export async function getDatarun(id: number): Promise { const url = `/dataruns/${id}`; const res = await axiosInstance.get(url); if (res.status === 200) { return res.data; } throw res; } export async function getClassifiers( datarun_id: number, status: IClassifierStatusTypes = IClassifierStatusTypes.COMPLETE ): Promise { const url = `/classifiers`; const params = { datarun_id, status }; const res = await axiosInstance.get(url, { params }); if (res.status === 200) { return res.data; } throw res; } export async function getHyperpartitions(hp_id?: number, datarun_id?:number): Promise { const url = hp_id ? `/hyperpartitions/${hp_id}` : ( datarun_id? `/hyperpartitions?&datarun_id=${datarun_id}` : `/hyperpartitions/` ); const res = await axiosInstance.get(url); if (res.status === 200) { return res.data; } throw res; } export async function getDatasetCSV(id: number): Promise { const url = `/dataset_file/${id}`; const res = await axiosInstance.get(url); if (res.status === 200) { return res.data; } throw res; } export async function getDatarunStepsScores( id: number, classifier_start: number | null = null, classifier_end: number | null = null ): Promise { const url = `/datarun_steps_scores/${id}`; const params = { classifier_start, classifier_end, nice: true }; const res = await axiosInstance.get(url, { params }); if (res.status === 200) { return res.data; } throw res; } export async function getDatarunSummary( id: number, classifier_start: number | null = null, classifier_end: number | null = null ): Promise { const url = `/datarun_summary/${id}`; const params = { classifier_start, classifier_end }; const res = await axiosInstance.get(url, { params }); if (res.status === 200) { return res.data; } throw res; } export async function postEnterData(file: any): Promise { const formData = new FormData(); formData.append('file', file); const res = await axiosInstance.post(`/enter_data`, formData); if (res.status === 200) { return res.data; } throw res; } export async function postNewDataset(file: any): Promise { const formData = new FormData(); formData.append('file', file); const res = await axiosInstance.post(`/new_dataset`, formData); if (res.status === 200) { return res.data; } throw res; } export async function postNewDatarun(datasetId: number, configs: any): Promise { const formData = new FormData(); formData.append('configs', JSON.stringify(configs)); const res = await axiosInstance.post(`/new_datarun/${datasetId}`, formData); if (res.status === 200) { return res.data; } throw res; } export async function getClassifierSummary(datarun_id: number): Promise { const url = `/classifier_summary`; const params = { datarun_id }; const res = await axiosInstance.get(url, { params }); if (res.status === 200) { return res.data; } throw res; } export async function startDatarun(datarun_id: number): Promise { const url = `/start_worker/${datarun_id}`; const res = await axiosInstance.get(url); if (res.status === 200) { return res.data; } throw res; } export async function stopDatarun(datarun_id: number): Promise { const url = `/stop_worker/${datarun_id}`; const res = await axiosInstance.get(url); if (res.status === 200) { return res.data; } throw res; } export async function getConfigs(): Promise { const url = `/configs`; const res = await axiosInstance.get(url); if (res.status === 200) { return res.data; } throw res; } export async function postConfigs(configs : any): Promise { const formData = new FormData(); formData.append('configs', JSON.stringify(configs)); const res = await axiosInstance.post(`/configs`, formData); if (res.status === 200) { return res.data; } throw res; } /** * update the hyperparameters ranges for a method of a datarun * * @export * @param {number} datarun_id * @param {string} method * @param {IMethodHyperParameters} config * @returns {Promise} */ export async function postMethodHyperparameters( datarun_id: number, method: IMethodType, config: IMethodHyperParameters ): Promise { const params = { method }; const headers = {'Content-Type': 'application/json'}; const res = await axiosInstance.post(`/hyperparameters/${datarun_id}`, config, {params, headers}); if (res.status === 200) { return res.data; } throw res; } export async function postHyperparameters( datarun_id: number, config: {[method: string]: IMethodHyperParameters} ): Promise { const headers = {'Content-Type': 'application/json'}; const res = await axiosInstance.post(`/hyperparameters/${datarun_id}`, config, {headers}); if (res.status === 200) { return res.data; } throw res; } export async function getMethodHyperparameter( datarun_id: number, method: IMethodType ): Promise<{hyperparameters: IMethodHyperParameters}> { const params = { method }; const res = await axiosInstance.get(`/hyperparameters/${datarun_id}`, {params}); if (res.status === 200) { return res.data; } throw res; } export async function getHyperparameters( datarun_id: number ): Promise<{[method: string]: {hyperparameters: IMethodHyperParameters}}> { const res = await axiosInstance.get(`/hyperparameters/${datarun_id}`); if (res.status === 200) { return res.data; } throw res; } export async function disableHyperpartitions(hyperpartitionIds: number[] | number): Promise { const headers = {'Content-Type': 'application/json'}; const data = Array.isArray(hyperpartitionIds) ? hyperpartitionIds : [hyperpartitionIds]; const res = await axiosInstance.post(`/disable_hyperpartition`, data, {headers}); if (res.status === 200) { return res.data; } throw res; } export async function enableHyperpartitions(hyperpartitionIds: number[] | number): Promise { const headers = {'Content-Type': 'application/json'}; const data = Array.isArray(hyperpartitionIds) ? hyperpartitionIds : [hyperpartitionIds]; const res = await axiosInstance.post(`/enable_hyperpartition`, data, {headers}); if (res.status === 200) { return res.data; } throw res; } export interface IUpdateDatarunConfig { // The run config ('run.yaml'), all fields inside configs are optional // If some method is removed from the configs.methods, // their corresponding hyperpartition will also be disabled // However, don't add new method in the config if they are not present in the initial config (when datarun is created). // New method will not be added configs?: Partial; // The ids of active hyperpartitions. // If not provided, then this field is ignored, we will only consider the methods field in configs. // If provided, then the method field in configs would be neglected (has no effect) hyperpartitions?: number[]; // The configs of methods // Be careful with the format of IMethodHyperParameters method_configs?: {[method: string]: IMethodHyperParameters} } /** * Update the configurations of a datarun */ export async function updateDatarunConfigs(datarun_id: number, config: IUpdateDatarunConfig): Promise { const headers = {'Content-Type': 'application/json'}; const res = await axiosInstance.post(`/update_datarun_config/${datarun_id}`, config, {headers}); if (res.status === 200) { return res.data; } throw res; } export async function getDatarunConfigs(datarun_id : number): Promise { const url = `/configs`; const params = { datarun_id }; const res = await axiosInstance.get(url, { params }); if (res.status === 200) { return res.data; } throw res; } /* Post Click Event type: method, compare, classifier description: { action: "selected" "unselected" id: classifier id name: [method name] } time: time */ export interface IClickEvent { type:string, description:any, time:string } export interface IClickBundleEvent{ name:string, clickevent:IClickEvent, datasetID:number, datarunID:number } export async function postBundleClickEvent(log:IClickBundleEvent):Promise{ const headers = {'Content-Type': 'application/json'}; const res = await axiosInstance.post(`/postClickEvent`, log, {headers}); if (res.status === 200) { return res.data; } throw res; } export interface IRecommendationResult { result : string[]; } export async function getRecommendation(dataset_id : number): Promise { const url = `/getRecommendation/${dataset_id}`; const res = await axiosInstance.get(url); if (res.status === 200) { return res.data; } throw res; } ================================================ FILE: src/types/index.ts ================================================ export interface IMethod{ name: string, fullname:string, hyperparameters: any, root_hyperparameters: string[], conditional_hyperparameters: any } export interface IDatarun{ [method:string]: IClassifier[] } export interface IClassifier{ "trail ID":number, method:string, [key:string]:number|string|any, } export enum IDatarunStatusTypes { COMPLETE = 'complete', RUNNING = 'running', PENDING = 'pending' } export enum IClassifierStatusTypes { RUNNING = 'running', ERRORED = 'errored', COMPLETE = 'complete', } export interface IHyperParameterNumeric { type: 'int' | 'int_exp' | 'float' | 'float_exp'; range: [number, number] } export interface IHyperParameterCategorical { type: 'int_cat' | 'float_cat' | 'string' | 'bool'; values: (number | string | boolean | null)[]; } export interface IHyperParameterList { type: 'list'; list_length: number[]; element: IHyperParameter; } export type IHyperParameter = IHyperParameterNumeric | IHyperParameterCategorical | IHyperParameterList; export type IMethodType = 'logreg' | 'svm' | 'sgd' | 'dt' | 'et' | 'rf' | 'gnb' | 'mnb' | 'bnb' | 'gp' | 'pa' | 'knn' | 'mlp' | 'ada'; ================================================ FILE: start.sh ================================================ #!/bin/sh . /vagrant/venv/bin/activate export PYTHONPATH=$PYTHONPATH:`pwd`/server/ npm start > node.log & python server/atm_server/server.py --debug ================================================ FILE: startserver.sh ================================================ #!/bin/sh export PYTHONPATH=$PYTHONPATH:`pwd`/server/ python server/atm_server/server.py --debug ================================================ FILE: tsconfig.json ================================================ { "compilerOptions": { "baseUrl": "./src", "outDir": "build/dist", "module": "esnext", "target": "es5", "lib": ["es2017", "dom"], "sourceMap": true, "allowJs": true, "jsx": "react", "moduleResolution": "node", "rootDir": "src", "forceConsistentCasingInFileNames": true, "noImplicitReturns": true, "noImplicitThis": true, "noImplicitAny": true, "strictNullChecks": true, "suppressImplicitAnyIndexErrors": true, "noUnusedLocals": true, "keyofStringsOnly": true }, "exclude": [ "node_modules", "build", "scripts", "acceptance-tests", "webpack", "jest", "src/setupTests.ts" ] } ================================================ FILE: tsconfig.prod.json ================================================ { "extends": "./tsconfig.json" } ================================================ FILE: tsconfig.test.json ================================================ { "extends": "./tsconfig.json", "compilerOptions": { "module": "commonjs" } } ================================================ FILE: tslint.json ================================================ { "extends": ["tslint-react", "tslint-config-prettier"], "linterOptions": { "exclude": [ "config/**/*.js", "node_modules/**/*.ts" ] }, "jsRelus":{ "object-literal-sort-keys": false, "no-unused-variable": false, "ordered-imports": false }, "relus":{ "no-unused-variable": false, "ordered-imports": false, "no-console": [true, "log", "error"] } } ================================================ FILE: vagrantProvision.sh ================================================ sudo apt-get update -y && \ apt-get install -y python3 python3-pip && \ pip3 install --upgrade pip sudo apt-get install -y libmysqlclient-dev sqlite3 sudo pip3 install virtualenv cd /vagrant && virtualenv venv --always-copy source venv/bin/activate pip3 install -r lib/atm/requirements.txt pip3 install lib/atm/ pip3 install -r /vagrant/server/requirements.txt pip3 uninstall -y scikit_learn pip3 install scikit_learn==0.19.2 (cd /vagrant/lib/atm/ && python setup.py install) curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt-get install -y nodejs npm install ================================================ FILE: vagrantStart.sh ================================================ cd /vagrant . /vagrant/venv/bin/activate export PYTHONPATH=$PYTHONPATH:`pwd`/server/ npm start > node.log & python server/atm_server/server.py --debug