{"action":"created","issue":{"url":"https://api.github.com/repos/rhiever/tpot/issues/303","repository_url":"https://api.github.com/repos/rhiever/tpot","labels_url":"https://api.github.com/repos/rhiever/tpot/issues/303/labels{/name}","comments_url":"https://api.github.com/repos/rhiever/tpot/issues/303/comments","events_url":"https://api.github.com/repos/rhiever/tpot/issues/303/events","html_url":"https://github.com/rhiever/tpot/issues/303","id":187363193,"number":303,"title":"Tpot tries the same Pipeline multiple times in population","user":{"login":"ghgr","id":3624160,"avatar_url":"https://avatars.githubusercontent.com/u/3624160?v=3","gravatar_id":"","url":"https://api.github.com/users/ghgr","html_url":"https://github.com/ghgr","followers_url":"https://api.github.com/users/ghgr/followers","following_url":"https://api.github.com/users/ghgr/following{/other_user}","gists_url":"https://api.github.com/users/ghgr/gists{/gist_id}","starred_url":"https://api.github.com/users/ghgr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ghgr/subscriptions","organizations_url":"https://api.github.com/users/ghgr/orgs","repos_url":"https://api.github.com/users/ghgr/repos","events_url":"https://api.github.com/users/ghgr/events{/privacy}","received_events_url":"https://api.github.com/users/ghgr/received_events","type":"User","site_admin":false},"labels":[{"id":281818167,"url":"https://api.github.com/repos/rhiever/tpot/labels/question","name":"question","color":"cc317c","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-11-04T15:28:28Z","updated_at":"2016-11-09T10:49:08Z","closed_at":null,"body":"I'm running some tests with tpot (_development_ branch) with some additional _print_ in order to view which pipeline is evaluated at each step. I found out that it often tries the same Pipeline (xgboost). Here is my output:\r\n\r\n> Optimization Progress:   1%|          | 301/40040 [2:19:51<283:40:31, 25.70s/pipeline]Pipeline(steps=[('xgbregressor', XGBRegressor(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0,\r\n>        learning_rate=0.14, max_delta_step=0, max_depth=7,\r\n>        min_child_weight=20, missing=None, n_estimators=100, nthread=-1,\r\n>        objective='reg:linear', reg_alpha=0, reg_lambda=1,\r\n>        scale_pos_weight=1, seed=0, silent=True, subsample=1.0))])\r\n> Score: 1228.471468\r\n> Optimization Progress:   1%|          | 302/40040 [2:20:16<281:32:19, 25.51s/pipeline]Pipeline(steps=[('xgbregressor', XGBRegressor(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0,\r\n>        learning_rate=0.14, max_delta_step=0, max_depth=7,\r\n>        min_child_weight=20, missing=None, n_estimators=100, nthread=-1,\r\n>        objective='reg:linear', reg_alpha=0, reg_lambda=1,\r\n>        scale_pos_weight=1, seed=0, silent=True, subsample=1.0))])\r\n> Score: 1228.471468\r\n> Optimization Progress:   1%|          | 303/40040 [2:20:41<279:33:12, 25.33s/pipeline]Pipeline(steps=[('xgbregressor', XGBRegressor(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0,\r\n>        learning_rate=0.14, max_delta_step=0, max_depth=7,\r\n>        min_child_weight=20, missing=None, n_estimators=100, nthread=-1,\r\n>        objective='reg:linear', reg_alpha=0, reg_lambda=1,\r\n>        scale_pos_weight=1, seed=0, silent=True, subsample=1.0))])\r\n> Score: 1228.471468\r\n> Optimization Progress:   1%|          | 304/40040 [2:21:05<277:34:51, 25.15s/pipeline]Pipeline(steps=[('xgbregressor', XGBRegressor(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0,\r\n>        learning_rate=0.14, max_delta_step=0, max_depth=7,\r\n>        min_child_weight=20, missing=None, n_estimators=100, nthread=-1,\r\n>        objective='reg:linear', reg_alpha=0, reg_lambda=1,\r\n>        scale_pos_weight=1, seed=0, silent=True, subsample=1.0))])\r\n> Score: 1228.471468\r\n> \r\n\r\nYou can see that these four individuals belonging to the same generation are exactly the same. In _tpot/operators/regressors/__init__.py I commented all the lines except base and xgboost (I can't afford to have 7/8 cores idle, and xgboost runs nicely in many cores). \r\n```\r\nfrom .base import *\r\n#from .elastic_net import *\r\n#from .extra_trees import *\r\n#from .gradient_boosting import *\r\n#from .knnr import *\r\n#from .lasso_lars_cv import *\r\n#from .linear_svr import *\r\n#from .random_forest import *\r\nfrom .xg_boost_r import *\r\n```\r\n\r\nBut that doesn't explain why **tpot** chooses repeated individuals in the population. In addition, these calls are not cached, and they run from scratch each time.\r\nWhat am I missing?\r\n\r\nThanks\r\n"},"comment":{"url":"https://api.github.com/repos/rhiever/tpot/issues/comments/259385912","html_url":"https://github.com/rhiever/tpot/issues/303#issuecomment-259385912","issue_url":"https://api.github.com/repos/rhiever/tpot/issues/303","id":259385912,"user":{"login":"ghgr","id":3624160,"avatar_url":"https://avatars.githubusercontent.com/u/3624160?v=3","gravatar_id":"","url":"https://api.github.com/users/ghgr","html_url":"https://github.com/ghgr","followers_url":"https://api.github.com/users/ghgr/followers","following_url":"https://api.github.com/users/ghgr/following{/other_user}","gists_url":"https://api.github.com/users/ghgr/gists{/gist_id}","starred_url":"https://api.github.com/users/ghgr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ghgr/subscriptions","organizations_url":"https://api.github.com/users/ghgr/orgs","repos_url":"https://api.github.com/users/ghgr/repos","events_url":"https://api.github.com/users/ghgr/events{/privacy}","received_events_url":"https://api.github.com/users/ghgr/received_events","type":"User","site_admin":false},"created_at":"2016-11-09T10:49:08Z","updated_at":"2016-11-09T10:49:08Z","body":"Thanks for answering! That's an interesting insight and could easily explain the problem. I checked but unfortunately my population was just 40 individuals (and 1000 generations)."}}
{"actor":{"display_login":"ghgr"}}