Skip to content

Instantly share code, notes, and snippets.

@koaning
Last active November 29, 2019 11:32
Show Gist options
  • Save koaning/4ae50aa9147ef2e9ded3c73dd3bc059a to your computer and use it in GitHub Desktop.
Save koaning/4ae50aa9147ef2e9ded3c73dd3bc059a to your computer and use it in GitHub Desktop.
feedback experiment
x y z
575.9169941454602 456.4364641163653 b
524.7679233463399 454.659622813655 b
536.1853203147283 414.6387874887763 b
554.7345847720682 392.6003138461853 b
558.7216445350003 455.7009797890023 b
512.1738453368777 407.6844578991705 b
494.68119055863497 379.00447835274645 b
521.4275424582694 409.29480593833387 b
504.69631038511756 417.3711528143935 b
498.3523877650238 398.72500057876795 b
436.88966873220795 393.43216528522714 b
468.1925348790828 355.3820561312642 b
492.40004366304925 330.38219407536496 b
489.62094501663154 371.2416009191415 b
441.95312904268434 307.2870646238845 b
425.664219239977 372.41938397259514 b
423.9872922860872 354.40268151928035 b
429.8995202723128 389.532606044999 b
399.69824267145265 337.9760120625341 b
368.805288622383 339.6771238779362 b
386.12831536885113 310.1403576893731 b
395.07749771759995 324.74647135309857 b
377.36984196814456 323.76876684639734 b
309.72653366617396 316.16716150086006 b
323.8073794959264 274.8544752726217 b
332.24545067607556 289.9851798169651 b
285.02790120462464 287.3841677828848 b
293.21167016609695 317.33979190940306 b
263.49203931317925 281.0441395523608 b
302.4245254957843 222.83185637875079 b
277.14910991426245 246.7762842194319 b
255.06627636314732 266.56365554948366 b
262.2234638659244 246.94819147978822 b
238.55111844583863 156.45017357266937 b
257.23347216946604 217.0809264183406 b
239.02647317163022 201.6112167942785 b
235.90715981867945 189.47795168281505 b
246.83451106206968 224.46500553851445 b
180.11926108053055 229.7853832140429 b
180.0057830726046 211.11178650954997 b
158.60955384337365 172.59708166468602 b
200.1062934270468 162.5676094968743 b
198.28390680852576 219.27901282186195 b
171.20137822778605 202.64631549983784 b
208.5583608230552 184.4495452298449 b
146.4089032698638 172.6214845133448 b
132.3265598323572 187.55929908936332 b
143.12784852465774 116.36129497751676 b
180.59435676460987 144.9659852555626 b
114.85674859140991 160.7788634836329 b
141.01714063810658 165.17675573176302 b
123.71736591371987 135.4022822389531 b
98.28727640597437 111.40087602274883 b
104.23474316817843 103.2918935004713 b
99.41084802679462 129.86753187254084 b
102.56613001490642 117.09370011231465 b
131.14619985168918 124.23272817199063 b
59.09810698176116 140.76165192159698 b
93.56973968689712 75.26148148648866 b
83.68286548179525 143.0261306881427 b
36.77859503269445 100.9190382404608 b
50.054156037018465 82.3448658976215 b
69.34403853888927 77.48930811599735 b
74.52500947760413 28.09771528371448 b
67.2195262549806 85.77533209186186 b
57.21601217601298 92.61493865336865 b
53.403883874300355 30.023958738249803 b
59.19432645538881 106.85403088586696 b
72.21155457979393 24.662752254726797 b
66.57892667905438 82.54183087832604 b
61.36707652641212 107.47590980421842 b
103.87089402878306 74.03269111048581 b
86.3617242141827 87.3302923870823 b
66.95030040122943 64.1108847407171 b
122.68470813617046 54.82745521347255 b
131.35292604904495 103.68707066894171 b
106.13124639225329 72.25534239961121 b
128.80612613896423 127.41695072384783 b
134.7870696871796 78.24263951785252 b
120.56142069697188 102.84658489576435 b
174.79059273860634 114.78193394867645 b
171.52489870813486 130.96967555632926 b
165.16770014279496 132.66648959903904 b
193.17530727614198 135.20104692001206 b
185.36350492306266 96.76802824573582 b
194.86007778523697 124.81209981170457 b
195.93390620694177 146.6689029660277 b
199.79762042733307 169.4112709017146 b
237.03172615652474 150.80379213748927 b
214.46038066829402 150.91956546562693 b
221.67394052099775 149.7508574948427 b
233.68027056039645 148.82156539560026 b
216.27739348366248 154.83641997699544 b
217.41752308093362 142.90831907912718 b
273.94056481353107 123.53950035571955 b
286.05534341442865 244.82584543391135 b
281.8047781711327 179.02288484152 b
316.67679305472643 242.96586116107392 b
283.1868088736751 184.39204009156055 b
300.7071516701415 208.39166257585356 b
367.2861779891235 214.43653714434953 b
308.8845417966666 205.9974935242039 b
338.73397444378645 250.73821801277884 b
337.6903778733719 207.39884742328655 b
379.36083712140896 248.74798320519884 b
416.8920218697367 282.95162529755305 b
309.77956560007124 259.1366342728014 b
369.7113853361333 281.43329705850044 b
372.47518171054776 233.62117968779125 b
350.22416501497537 274.79508616143517 b
392.26669651531233 295.97324151667664 b
395.41814604520334 275.90230396554387 b
443.6763765475456 315.3135931771353 b
449.20365065581467 266.87386815352824 b
411.7717060356502 296.21977959725706 b
512.4918758487357 282.78572653953876 b
498.70882719368353 304.1790936583576 b
513.362982923139 309.6159715470688 b
475.3511357956712 362.37263584265474 b
494.1245845598522 316.41142420389065 b
480.91961895513225 357.97068431946934 b
566.9566322996207 387.01578221941867 b
545.4654137976279 344.00703245920585 b
510.97641382405254 385.48662997852955 b
566.7125285302739 392.79953040150286 b
594.5373251363189 394.3955351070054 b
550.2552763125503 418.91234311481804 b
547.6158169234128 366.5364702433278 b
542.5117785911658 388.93521399542544 b
631.5305264563476 423.8225565816943 b
568.4424208034735 425.03782492757 b
595.9954503050379 406.97024323188555 b
574.8609460201296 407.81101459692434 b
606.4584196749412 474.3355060502123 b
572.028050222713 446.2876581234175 b
620.6693012249477 494.57173393685855 b
630.8818342677743 426.74774028876084 b
599.2141441053111 456.2942237682601 b
662.2943459748774 457.7961322910931 b
640.2909938177 451.87123366889523 b
614.391484569502 438.6794278966266 b
648.834266962795 416.66809438781297 b
633.3881863801223 446.523079646027 b
560.2302193639173 388.15726662688155 b
574.1754819107481 422.8957864835638 b
561.2712569964676 444.8061090893354 b
577.3250045296542 405.01470759765664 b
582.7921898158568 406.23611980703095 b
508.3542697962873 393.3006764301155 b
499.57237284030003 361.97800462844503 b
509.16773776661 386.2520993990456 b
484.03121949764886 364.48502457564706 b
439.7002984827311 391.74239194024193 b
508.9177405402307 370.2612007990949 b
470.6781422695919 361.1738245231683 b
451.3592864183986 332.0799097121924 b
429.385593481839 304.7734036212723 b
455.4681976507346 379.1513820703341 b
446.0053461743957 326.67040275491814 b
416.2863965584271 345.2993792134449 b
482.41366346389566 301.93708459513846 b
409.10325951013135 307.2490236422417 b
422.871559608194 311.1746824468836 b
373.81169110138256 322.8674807018739 b
385.3927870351948 364.68141427914225 b
364.7193787421649 309.32373845449047 b
397.5745971097274 307.1297230470823 b
343.8684730905942 276.4554299305947 b
337.7846020544428 273.23815238899743 b
322.02443444805203 273.2791432252117 b
322.44371300469743 261.0006420195791 b
287.9077867408481 235.98040371974372 b
273.63134358787795 273.3146354214336 b
270.93055514597387 206.54457557867164 b
224.6460496256044 197.91037194507504 b
247.945376873294 237.24627620747162 b
245.55582619585314 214.74040942893515 b
255.71052071110012 159.8848888906029 b
174.6448127030617 179.4600252945367 b
191.73353448439354 175.18635789984012 b
225.5476773642895 181.1216178613621 b
194.4781880715305 206.27707832657256 b
198.79418466907904 154.77924739052003 b
220.143802356879 185.4524407307798 b
164.17319654813687 214.3290202331201 b
160.14195657014722 189.98540218373847 b
182.08649443252756 163.5360719770112 b
132.5971586482883 202.1575569452076 b
169.37715736755052 125.74651632186328 b
125.37304047067241 157.74732247104987 b
137.86400062599347 166.63705991468169 b
159.10871147680024 169.81633207102192 b
210.53283372484734 145.56519165157817 b
145.6350251640658 178.37644711460422 b
535.7590767844729 451.9556478387248 a
473.5027811474915 452.9076124443001 a
462.4802042292075 457.58817789543343 a
445.69180999599786 450.8005700546178 a
477.8037167472393 466.0131048482152 a
450.21471473489464 445.9579715506564 a
388.55751721812794 468.83357381269104 a
446.2114591891218 432.26958087677053 a
438.35958237763367 426.5432562051658 a
409.6926889123812 411.5293556348283 a
405.85981743340346 483.6013642686888 a
373.35104931559226 482.27657438566666 a
361.5745487437333 422.88513332683556 a
386.4965774684274 395.5480028358958 a
349.02359275070324 454.32943260127155 a
340.20505341720263 383.0117356418572 a
326.99848845628037 368.9727770880115 a
341.9957868874402 384.7326634704787 a
336.6237429660475 364.7338491391724 a
327.7889194333915 420.0776464673462 a
274.68814730499986 369.3622276195277 a
276.77140267213906 372.6919701268946 a
287.91577903878266 380.21277159377803 a
250.92336098999948 341.44076858192415 a
294.618960831651 369.2771994342441 a
310.79449804229745 357.026683101955 a
277.9165329303457 319.9233041099804 a
272.8788199566711 265.2915395571223 a
278.03821269246555 339.962835325991 a
256.677965260997 306.9373417972413 a
216.74196582906643 285.54799381424664 a
218.33514217982508 306.86312089681235 a
209.66350942493318 295.27361998557535 a
224.06094658203705 300.0848677977249 a
212.59868873938368 269.3363617393793 a
216.9691977505254 320.5409548481234 a
224.02343232057007 238.009053825078 a
189.59018286508964 242.0761666423915 a
182.43206842598434 323.7705629842113 a
129.05272164713028 226.97054850336116 a
131.43199637205865 249.83885816987424 a
169.49992310687566 226.31695848130636 a
159.80881440563326 221.81273062010393 a
133.49233522623305 206.49961989408553 a
131.52556015979897 204.88015467216007 a
125.84416186054636 210.00924982362943 a
149.62282642817163 234.55309037683514 a
85.42345892185 212.16297235663302 a
127.67452057864705 191.08448585967864 a
130.92885632660702 193.75088314192675 a
103.57587672951685 226.1343755737131 a
37.886817598636625 168.46507508275846 a
89.10363557031229 162.76830097021383 a
47.79952170937177 210.80349728875598 a
68.27783618170311 148.11568279066756 a
73.13975795537704 160.74674271638554 a
106.64652731520543 186.4321499971686 a
75.3127440941161 154.18241292789713 a
66.79777877105947 177.11863945057132 a
91.68089534847695 146.91153821040393 a
32.8831432953559 200.4155154522797 a
66.97328638767937 204.96524259608623 a
65.60288019241693 209.1198140314662 a
71.92358713509125 244.66304579564712 a
63.826433031601354 193.60726174364885 a
-0.4412173814876752 152.9369196639385 a
49.90346130016674 229.44861995470592 a
122.37278803308524 214.70791607890345 a
100.19923692806282 266.34375026204225 a
107.11995060664634 282.84837305669663 a
36.88437542824804 286.09323831766295 a
92.05690778571821 326.3705008852496 a
80.16484076260154 310.250441875597 a
87.23518483470224 332.9276689068645 a
92.0390129871091 318.4753438215766 a
71.76572403019155 314.6983806764184 a
94.3040440264597 316.9060733151633 a
127.00080233994127 362.6914629500509 a
121.71172668027181 396.52009973964044 a
88.84992641075645 339.48782017199846 a
116.66101835243082 340.42096608320054 a
61.713409021522395 366.8367494458645 a
71.020723097943 353.9027145371574 a
86.9815908863003 393.2174547467042 a
63.87372940078188 355.17236484520953 a
87.8101438555018 360.611995501508 a
73.14807937369244 318.60825598100274 a
86.159620561315 355.06673225102656 a
80.92000959434323 372.14847833408504 a
102.05778121622454 371.48444254994644 a
142.6804223665087 402.25413986756394 a
74.94780867177745 427.3111211417345 a
93.55415787849724 379.97002575774786 a
141.13592402140716 382.5027411108779 a
110.15432513879024 378.63574669776364 a
50.17680620440844 385.2855123077692 a
97.5466070661386 390.60704933546936 a
69.302454763672 418.08303814284716 a
91.41087622969567 405.17277605063356 a
84.94662365462757 468.30676992645425 a
107.59295145499516 451.0354980573161 a
88.80716595424177 457.8244908674817 a
126.72373130179754 426.36922623231465 a
124.70378068018269 409.8800312375357 a
114.39494573775593 440.94329864864386 a
146.3405940782719 425.01186370453416 a
147.14137497988114 406.3445086082405 a
151.4898565587609 453.1835891613123 a
172.71934174538103 483.9683387393068 a
192.72154104240997 432.5456706262696 a
153.03320718898794 422.79947010673163 a
233.13865404111007 438.53828932038994 a
183.0897890322524 452.36079171465815 a
214.4482396657536 376.848777880105 a
246.63945482470552 452.58700651596735 a
269.9909151858912 449.0227914026141 a
305.91703244533034 470.1817417952544 a
346.5958000524464 482.61727059925147 a
279.9297156000948 494.9007803548282 a
350.222788818897 442.74408547360775 a
331.63129865097665 463.3700946928854 a
323.71720411309786 429.0391977584296 a
354.7934070137635 454.67158868753245 a
387.84445072554513 448.79538707423285 a
337.39242713465217 481.26386591389564 a
371.05795309136965 469.1205902511117 a
370.4444245415455 437.08403121662707 a
371.10169912085695 475.80609642996535 a
379.71588458205196 464.98182598107866 a
384.7042105644667 452.9277245349475 a
351.9312436937066 458.93694617694416 a
391.5226849341369 464.8396392935821 a
371.1256655154813 448.2550464688344 a
335.58793850917056 460.4437279677826 a
330.686953275728 484.0665558066659 a
333.33442603940483 412.5189021325885 a
308.7277209997348 455.62789274046656 a
327.1822538914379 428.19079944571047 a
305.3975431989847 414.343103571259 a
322.235241304753 402.68712941709066 a
334.1438178244807 431.76549661671186 a
320.38825616639264 399.50988800821074 a
262.41776987680447 360.4936610612746 a
235.77850402232045 422.8839414414848 a
245.51860403388812 386.72097740581154 a
292.6209940088618 405.3232547059908 a
302.73365832799436 392.9742180812714 a
293.687889964061 329.40124564889027 a
232.85693548322945 356.29360882640316 a
234.03038479893354 357.0889863116129 a
207.55950153348215 347.2373761809888 a
171.6320046985519 312.2191745135583 a
219.11508815183237 296.5742815231012 a
158.83635778509196 296.12581246813625 a
204.9238040201073 281.69895901628195 a
199.27388954736114 282.67471634057677 a
161.1815354969237 280.36940374288156 a
185.21231868398195 281.8408723412742 a
147.35256706541992 312.5541437494322 a
146.0350645771442 299.1006913191003 a
151.52540310884498 278.15518933390604 a
141.10615787894716 306.1990823952244 a
167.21500432596468 297.0947400004487 a
99.30152830096247 209.173882124908 a
159.5164002760991 268.4172250051137 a
172.55755994241213 311.7954146554505 a
142.95635054059085 278.0389954511641 a
157.76649912637185 291.71122512021236 a
157.57318919321884 332.00339733611156 a
96.44373268999003 338.0762422503699 a
146.7797867715082 350.76852006541304 a
172.9538386537392 313.32684053055254 a
143.90664423271008 348.45856525276315 a
156.1141817687957 342.3159483366459 a
180.7215507132119 326.3700698769884 a
171.73330310326173 406.1985881040486 a
256.09046848146835 360.52386477535725 a
217.1644506433975 401.00151322899126 a
215.3042660196551 364.51366970119716 a
166.56409399647646 390.37169461214336 a
173.24860871849265 348.8264190119255 a
188.45565942246122 372.7363320760432 a
213.15834084832008 381.5459579026931 a
183.7093587666694 358.78451789043993 a
156.91109244407468 352.02315807631237 a
211.71081759308188 419.85905617329126 a
199.74281827034432 356.331583428733 a
186.637816435557 379.75520032213126 a
161.189172979707 394.5750237249026 a
174.05350572734827 370.15605287428286 a
632.5763239481478 387.01096701523625 a
610.7256311481812 388.2295787783629 a
624.1914666171386 337.18301086993085 a
617.608839507767 400.0436549661364 a
620.693019222763 401.50966183272453 a
548.7143357315312 375.64769809292375 a
593.3526708664299 350.73425339984226 a
608.3629044271986 371.32900590497604 a
572.5985714717855 374.8295956812076 a
545.569121329655 325.62729807211906 a
590.7146637546649 278.7341300088088 a
547.9368780684058 322.8713658655895 a
505.4583821523469 329.9995493975856 a
498.6463216862326 261.90787674889 a
431.3735603821852 267.508003879241 a
507.7863981442201 249.2986382318562 a
506.66442920752 261.5276938062117 a
516.49401763756 241.96177427910402 a
445.8344362703048 205.46471379002412 a
494.42284294776766 244.55871797498074 a
447.81164330896297 170.91478349968338 a
474.9643577023665 257.29240892828625 a
485.3633912264941 174.45070991565706 a
392.2772999797213 192.7841706303588 a
394.58617951253393 189.43611199348885 a
409.30290704059763 174.5458097358926 a
311.5966340873092 201.79408702747736 a
388.42762188517196 153.45531302975218 a
370.378346417783 142.458521186425 a
361.15301796449245 137.82996199712068 a
313.0622665881535 153.55560638320463 a
343.88961613116646 195.75626213363887 a
350.6164977373544 125.70154912170597 a
331.4338699190666 87.33531127455069 a
297.13297753911496 90.08274183166225 a
285.20705904444105 73.55524911918008 a
297.70263748103855 50.806866133226436 a
300.608310790222 63.39598384557195 a
317.7942246763428 111.63111799671321 a
270.6817280404814 74.69585170981173 a
303.25746890279686 80.05472684800372 a
304.1158711293129 34.054377784243115 a
236.6290769876107 70.6940994599388 a
236.92734617947212 4.882068184730599 a
266.0325280795935 67.99310887980192 a
253.5331366933682 58.50283540466535 a
227.54637035698838 52.20953309493882 a
172.64163295601304 33.175605656361824 a
172.9752972002593 92.09328413864716 a
234.78357256120916 28.815650160899054 a
177.71746542098634 -5.516049068426014 a
198.8231591216453 19.9532325644754 a
196.62324220426652 46.538775403248565 a
203.9721128387723 16.502513186304498 a
236.56755894142074 -16.116412777551545 a
158.3262014308967 69.8095720267064 a
176.12641126735787 7.86991641553243 a
185.94920683087972 8.581148846428277 a
141.72391484306053 68.67058228471626 a
208.85110537879504 46.474931151556746 a
133.81282947466306 26.884643663512236 a
155.6801196656192 -6.856529303994876 a
189.62471732430703 30.367246117155503 a
202.25437995900953 65.28201973308137 a
175.28249825430382 56.38579964737994 a
188.99553238280183 106.01536061478953 a
226.33894919637467 94.42524639047241 a
246.29191402489576 87.95638675101907 a
247.51484705906225 30.026453551723193 a
261.00126784403346 108.66763655826577 a
282.4270950174148 86.06672451400101 a
254.34815731109083 102.83663298304367 a
267.9871908816547 61.52220709971357 a
291.91797870561766 39.203471420014296 a
346.55796986463787 113.93997259205662 a
346.5564967008287 99.07983297053823 a
392.9044565552499 102.97235137127223 a
388.4997559176176 81.45536002016604 a
436.3454238985338 81.84025873439037 a
427.0827583491926 107.91660827059331 a
430.08848365345665 78.92558910800949 a
477.6490821161483 75.07400741857072 a
495.07779770418017 65.4984815635292 a
477.04624039200354 85.47547086991648 a
511.47491544407666 60.518790175761524 a
464.1993596845457 59.55237522104164 a
557.8750658286174 78.9380616859437 a
526.8280766943345 44.420169302830004 a
617.1872264070162 55.85026681888996 a
589.7671925470502 41.58808789262446 a
566.6543009355837 32.168741124776886 a
593.3405276894011 40.09403997468445 a
625.0432341356969 3.4454180761639464 a
611.9764709079815 36.17025363507503 a
641.2278037619312 41.07960632274461 a
658.5302867838814 36.48411746312331 a
661.5624401023022 83.00586587719062 a
639.8856598657152 53.6820576389639 a
637.8951822448339 82.41900280492877 a
666.6644243116584 49.961454185023456 a
679.4509392822921 61.860556107651064 a
665.3150171354371 11.662504664201379 a
638.0825569591424 20.400433193939136 a
658.9870216040389 33.46772036060878 a
670.7479448162609 70.46451702380239 a
652.0068005926122 66.67731738854746 a
640.3215722790444 73.56303588031204 a
670.0619246131702 59.79694838453395 a
649.4477589159027 84.93028748365674 a
635.0699700316798 122.8015408518529 a
652.7538320219327 132.7050884851297 a
700.1789807786314 128.9164621642983 a
625.6674343734264 145.48070324369615 a
654.7703021189369 175.6651474221727 a
661.9496183063288 179.05348256636944 a
628.3175335604697 205.68242288025738 a
665.8236531829901 181.75418655744534 a
630.4476490879294 257.304842155533 a
634.4187957152285 251.47758800167074 a
635.5449226052115 274.255280767339 a
642.8720220667554 255.70793852067317 a
633.891381692878 325.7148287116824 a
601.4725672674687 282.2473034690212 a
618.2156282905054 301.0961369439088 a
671.8051074506991 308.2612187791683 a
651.8464579498334 295.07049446557255 a
593.4323082970999 328.96170372611147 a
641.2157486353126 322.3881377921874 a
673.5973336067738 304.08984269084215 a
611.8773653720018 297.083364794356 a
631.9468803298631 336.94458874550224 a
632.8314404055344 301.4790614460593 a
649.4469621103591 289.94381013302194 a
543.4694269063066 275.3357320722204 a
546.1585550764112 259.0288760850515 a
531.6560367246876 234.22031245291913 a
482.47853856375 201.22981075044146 a
509.6804870331014 214.0401221130241 a
516.0326135707317 233.75640146881034 a
428.3555949299489 180.76941706940596 a
504.72101131790043 171.47103628386685 a
447.3821592158177 162.76711244931272 a
444.6044924030935 136.94877971896688 a
427.52808526076797 128.36193871187623 a
404.4682064702493 144.05391341505816 a
428.95167358192975 89.4823582206044 a
390.94590583812675 131.325723286148 a
407.4790053490814 143.60217351843562 a
434.86678197862733 113.29225049203376 a
371.67033516575884 90.38165989677782 a
446.17514494881533 81.15865378127472 a
368.1012596323774 122.07392725428917 a
412.85899837694944 80.41472183585046 a
420.82543983772376 88.92286732460951 a
410.12153815676857 109.04848955497187 a
410.3660848891683 63.60766448241884 a
472.04323479931554 74.79903409261192 a
364.68306890853586 80.3912835697327 a
446.4904771012675 64.97490073559408 a
495.54327217690735 36.5484778570235 a
518.7230441227356 80.85633722152176 a
482.5015303634509 75.55440752559531 a
490.2762375936475 61.41395588294421 a
478.59223507889203 104.88427657146241 a
487.15016828712567 34.41384035290662 a
472.5914342996995 65.79869878638328 a
480.234754216957 40.93486470993844 a
477.31379630420867 45.679913281616166 a
452.1116553820296 -16.099364009627266 a
426.223390643141 -1.5760561210394712 a
452.91543799309244 17.258706188761607 a
383.8846627738298 -7.058815290469909 a
365.994743367095 16.357022638406136 a
408.37722302551924 23.438026586272315 a
408.38759778513224 -11.681386066046514 a
419.71233794304686 17.423376237827256 a
380.28232546927273 14.540950409164054 a
456.24220971801765 36.10737848704679 a
364.9289706077662 -0.6349093922827933 a
395.3068342380375 71.40813986494749 a
442.73849231500185 74.76126933203716 a
407.28954902486754 19.72550650079023 a
508.27825669031256 103.38858807133698 a
499.0894231338087 83.25152560750485 a
537.0955258603174 32.79055109953026 a
514.614057909678 58.61062941872069 a
583.4723691785051 35.36600629870179 a
597.7192558520119 65.61254351957189 a
591.4503712754695 85.92709690530353 a
645.2585217195227 55.681995371915605 a
646.599122320739 69.33324953395538 a
628.5302183880184 91.10478277100816 a
669.9154035857852 97.2205520284873 a
612.3660340789402 34.54933694228379 a
663.4033709173009 76.64123419755794 a
627.4785001900136 126.42199828957274 a
670.4089367188257 167.22032420961932 a
668.9268723761907 222.76069520406634 a
671.674264936171 183.61385458599727 a
644.982808649862 182.08522108676533 a
597.7513098475765 214.05185283166446 a
586.5612850344294 224.12120330321 a
565.0892618901013 217.1516108966427 a
535.9273881883454 245.7855076299414 a
558.3878106244981 173.2364087568675 a
578.772274144876 242.83484507089253 a
572.0986844532183 225.92777204878166 a
530.8267265792645 254.98620630075925 a
544.4592146855712 193.90905070778075 a
534.8178081979081 165.1795481368423 a
540.5016863904951 158.63263133724752 a
535.0275467738963 188.19501020435177 a
544.9142750917338 163.1475406667875 a
540.3993881603108 128.38903873811074 a
506.68123814774043 172.73366400021064 a
571.394769235213 132.90524507435066 a
489.94664780550653 164.68427097850406 a
559.0098856470323 128.47374503712518 a
517.9414320681931 120.03916933752151 a
524.2040975518435 149.5873277214331 a
536.636709305615 107.49808882160846 a
525.1182808142446 126.54410499158894 a
534.5834696973428 91.49734475121016 a
495.36485318197174 130.36419021107076 a
537.3350248443198 56.166355595640596 a
546.5166292946601 68.50723487142574 a
479.05731089401127 89.69075150887471 a
493.3744584971332 104.13741185047792 a
482.78583152954445 82.09303642668601 a
494.79900244196875 126.88146650948988 a
427.5448754651683 87.44024049317335 a
448.84728531313937 86.107248626287 a
450.93058357617645 127.04389042201876 a
454.0262223192385 128.51607342284274 a
469.1521015300169 110.28132662774425 a
484.0141365624115 141.7492165908837 a
499.07484458210126 163.4235996882639 a
528.860403868914 114.08901694517476 a
549.9809738734824 143.63916916552603 a
622.0561598722102 170.1264666834212 a
611.6039877804938 137.9702724485851 a
660.3909462558526 87.74345838731375 a
670.6835346048913 78.48740811108769 a
639.8682588715237 104.94957476468227 a
672.8167325006134 102.91789627491517 a
568.3421618061901 84.48198417360953 a
665.4328223126731 121.57025949527883 a
658.9797249512892 76.48544673863466 a
645.7993569312207 127.89231405409777 a
671.5188548989422 129.97442316778944 a
661.8405119213818 143.6246350916703 a
648.0875127981864 185.15746773289243 a
628.4135235849469 179.8784427993562 a
594.7058316960483 159.09534286879637 a
578.4263820593192 212.4948409162884 a
544.8772036958717 177.23009105856715 a
569.1041166328046 132.46116370867242 a
517.0669345611708 186.11902490243898 a
515.863044343947 175.94164290682698 a
490.4046225175875 130.73530526858337 a
506.77139996437387 160.1664290959149 a
563.0735937944257 170.72698876750837 a
509.34334191118893 140.39229651870534 a
479.75068641627587 145.00240008578436 a
510.51333285105954 166.54822185467424 a
472.96939021408843 180.5423514991192 a
425.2697429097699 173.03395618579611 a
498.63973050898863 175.13577939862495 a
403.1585361762481 187.02364071063215 a
404.2530840804495 206.86743036432887 a
415.09125981950194 189.83192199760884 a
412.76892767875626 171.79555736106693 a
430.9720868874143 239.77123163904304 a
421.5196359263307 201.0335254332379 a
406.190419524896 214.37184656320431 a
367.95092407681847 211.55926688730233 a
415.83056526399963 210.07228685966004 a
400.4304083846661 255.16503442360403 a
380.963855744015 209.26728255820433 a
411.8514393196012 231.6482528595493 a
395.6152267033652 231.689713412377 a
397.2952765625632 206.64993745207568 a
381.29449074082163 202.93694830739776 a
360.5302833254207 175.63038852325593 a
362.0173608638431 170.11774535531976 a
350.06393091254887 210.72661498421166 a
348.91200444071177 162.5555894539459 a
348.84697806070966 183.6856674187532 a
333.1184653794517 238.5376181156666 a
383.7030848627889 163.93865737093626 a
334.3917271079478 172.97186996729823 a
292.64747722945225 189.08021431310726 a
320.0385084025118 146.6874031318348 a
265.3444489243393 138.74920793264886 a
310.24329303306683 142.90027111977236 a
277.69016897477786 132.10924235653295 a
297.6604574246715 92.04002176364298 a
353.09315220457506 140.71139997212163 a
319.2549330591755 81.20082121932313 a
320.71201223596785 106.4096757841885 a
359.5834538170858 69.75298512693774 a
331.8479288575299 73.63368700745923 a
334.0725308160519 57.90403236182675 a
337.46906384318834 72.76783177338137 a
338.3927428623395 46.62429002269943 a
346.85839326690177 19.109264415096334 a
326.167471313493 3.1004323168590417 a
368.45660826571776 40.46910390579427 a
287.17858539809225 60.77941756439509 a
316.65029017602217 28.25135931995385 a
355.0569225895105 63.660712891990954 a
363.67764849079026 51.1662690286808 a
360.22179793774615 64.28398259505104 a
361.6294470048989 80.23717576572068 a
379.874623718873 44.47040930663019 a
381.5817888089117 95.297360228 a
381.893793059629 38.33617543311095 a
441.6193642749105 100.71308860729039 a
443.7881982148743 61.142759857970134 a
425.1019575256662 73.36428883467943 a
459.6591002884018 101.94607055457323 a
457.2541453014897 52.88496345015949 a
485.3380640663423 94.2126202090538 a
467.4857472306069 94.9695767862305 a
516.6951221413085 114.01068458292116 a
460.1214123947932 106.48919982167922 a
567.7681975943017 84.81133813090707 a
557.4015580473829 97.03459868549913 a
542.1159083140864 93.13498987626605 a
554.7147543315607 115.41604781538234 a
569.6038842032071 76.13622207439727 a
547.5615484603828 53.783485377099794 a
527.9805723500256 20.52818231007427 a
554.2837335217921 50.48490672362101 a
592.1557393872887 110.5142259492601 a
534.9137905329503 66.347140167958 a
526.7867781116528 64.18373725097433 a
546.7294375439606 34.437672498999746 a
575.6781316740617 54.05034112133791 a
603.9187991479774 83.1918430123186 a
569.4463763411558 89.12371517614116 a
576.4102392847312 61.82889350014773 a
546.4643367795563 59.60011117973545 a
558.4479295264683 98.3961632253496 a
548.1573918441568 82.12355908041206 a
541.9042654918243 96.14977092508929 a
574.7898266509872 93.44182244539257 a
615.1927242959239 107.11192650572048 a
606.5699190551921 143.51611861746585 a
x y z
90.89276639607448 460.6019989293926 a
156.51490668485263 451.09347746800086 a
119.89336706518552 426.1001275195141 a
107.8815566737749 484.06357668404877 a
124.48005468596449 471.98988872215796 a
114.02637802136806 479.9310137716263 a
92.39008335649427 451.81310131937306 a
128.5845818728375 429.3978749304964 a
168.65664162446873 447.89363455857426 a
105.47873484786614 467.4626553516066 a
88.35194710164043 400.84416676794217 a
110.25768310026956 446.1362915703869 a
6.9646347922223555 396.7920737446648 a
101.20812728558518 390.19681420920017 a
66.2982335779246 422.6385540415278 a
80.09829180345493 354.9112200929825 a
57.234466556855985 393.69622237102476 a
84.80942661243256 353.47245883094934 a
40.18716456463276 364.29139266447277 a
74.64983804113446 379.83426323681846 a
57.73147696868085 370.63932494192693 a
96.11832928761842 346.3733257107301 a
50.382380896599976 347.95049944015284 a
68.1064684901792 376.79327446608 a
26.66992676655037 338.6581475522308 a
117.67878280656552 319.3890206147132 a
58.36384506674877 332.5024284864772 a
62.296127128450415 329.6368209708608 a
74.46217975092587 274.296053867876 a
49.028987475057676 317.3984367962218 a
84.0826038323535 345.7423629002781 a
25.530694570739904 283.8775255570547 a
115.59769133133311 285.09339412170084 a
111.63013672428036 347.4821112107787 a
80.51336159378266 324.1993124014559 a
72.38809515237438 336.41241419649265 a
109.82293458633185 268.16611384599855 a
57.02742182705859 339.7066614578753 a
34.64261132322474 329.3989597229132 a
75.68390609510305 296.5905825929454 a
112.36854427590382 325.50186800346876 a
55.41465862280849 322.9015892016729 a
132.7339285340527 323.2133391450047 a
76.5003020304755 330.6956996371299 a
75.62023706296323 305.98053956401833 a
134.99334079093404 329.0669067970765 a
119.5093486660051 364.01567428483236 a
130.7978018641102 346.374950516187 a
113.40943879366367 351.461510317256 a
138.3639998907586 283.81972716472205 a
156.43447836384115 280.9651195439075 a
140.09565903627703 289.4924053447677 a
151.2193014126254 329.1335258717081 a
143.45294549009773 323.89843543707303 a
170.73289334722799 305.1026646966918 a
139.2929724709598 300.1742059538984 a
121.09569439296905 313.3977876152378 a
199.3307070478241 295.93930997023773 a
175.61540243501622 268.2674021805318 a
217.6379055868342 331.2346800016729 a
170.83798819537978 300.07143504123195 a
151.45659102404466 237.03624792595127 a
176.39535636234461 274.143798837654 a
152.38873405630076 289.7101828658469 a
185.18950887862772 307.9863518335454 a
197.2473397610565 285.60514911442095 a
192.75195827473974 315.5828551945735 a
164.24031784929545 283.31717855592495 a
179.42817887652734 281.53216330182846 a
201.5568911033668 276.00517779890924 a
236.6040654245753 301.68870353928344 a
225.3242957538554 314.52919502967404 a
184.3384656387642 288.2314731172777 a
240.00645892224054 268.76114277378167 a
186.14416088143332 303.00074033505007 a
201.57768817011862 340.72994059017094 a
194.64821767868528 312.0685069380072 a
191.50134716348262 275.9086253783761 a
216.26902577617375 348.7456720119915 a
199.23623083731357 328.9110059973474 a
143.8142749732984 306.13286251768596 a
197.81703270887334 332.213112813238 a
199.1373727311115 363.23022719136645 a
208.3012710548714 352.6242162903001 a
179.1205129817326 393.7188278252905 a
193.3094471677667 344.3415454347888 a
185.79783111372885 404.83921229114645 a
176.27430263464927 375.7683306488575 a
212.54726859110198 386.60531357514594 a
210.49060214850113 422.30040207144293 a
170.881515994706 379.4324468607108 a
221.01105283901097 405.33830885850784 a
196.65002405583655 401.14712422966744 a
199.5554498240056 421.73658753107117 a
266.260523264507 390.96032246962426 a
252.84234085713868 370.086568026828 a
204.70244124204964 431.61613947251504 a
220.17645244261624 395.67672356634347 a
243.75015814553487 379.19113727064035 a
205.10006410338042 380.9328641412434 a
235.91887002241324 427.92333008018727 a
193.3060627596231 403.33585245264516 a
201.79795457560508 417.97783595394463 a
186.25659761761918 391.8195076733336 a
222.15058339229287 406.31522476269765 a
171.33646599201955 427.4629087962917 a
141.31820687673286 389.5176765849988 a
172.94316207682468 384.73602318432177 a
143.54371716942302 406.06848096658337 a
167.3319915514084 407.206472119536 a
160.85368888493096 356.0701538960622 a
145.35147490253652 469.77196388226525 a
157.20555313332957 334.25082924186404 a
153.7769085813597 373.59752435725113 a
122.74871417049333 433.2209549298014 a
127.8655261651441 378.3087274937007 a
140.97472142328618 352.7232334232182 a
127.0824737243412 422.2351056101195 a
95.72968473906212 374.18217503017087 a
146.6788387941993 348.52896252991343 a
155.18791963221588 350.68025264158814 a
135.30121416589236 332.89217420511784 a
119.88168688116153 401.8731721972807 a
134.46102038578968 410.5837028964694 a
138.8782728635513 380.98028291796004 a
123.95700187608696 378.83839225405745 a
98.46123453439816 382.80388952317867 a
119.1875455984262 398.7911043935252 a
87.84929332072801 403.4264675074478 a
73.01563174449481 401.2877135050341 a
115.10701492207117 434.6992259614291 a
121.14098578030475 386.13786951267 a
122.13444164161469 430.73492445682973 a
139.19395602051807 432.4586914352108 a
144.14351272558363 465.48654453434744 a
181.76603406603084 416.7730606353227 a
189.64670373546272 426.0326417266057 a
241.12689146637837 389.6503719425499 a
224.71832681102518 371.9443910678765 a
161.32146039326085 342.7681976115077 a
179.84912646057484 370.22776532558197 a
221.11897796760547 293.7768188287901 a
175.17367033181247 323.26913992024197 a
181.57782465483228 326.94743333019426 a
197.0791970059099 323.8590490386305 a
164.9120010968948 346.9470025906504 a
175.74353638951152 303.9074182768334 a
201.66796744159302 346.15219417465306 a
192.20488745108173 323.08693804856296 a
189.57083252406701 346.7623605865142 a
238.0184489790867 298.0345347410155 a
171.95414031533548 314.02407180230773 a
172.07588945814405 318.96800953181486 a
273.1052658834081 318.42132406781536 a
216.3793603480397 340.2126065922779 a
242.36738047743995 350.6411903695649 a
230.88367460233871 275.0299869243067 a
246.48484737316406 311.36972124722496 a
259.2551765396705 338.6271111781195 a
237.37379952139833 366.2114597949977 a
250.1551074151425 336.03251327364194 a
256.60697599445047 325.4958870146843 a
229.2600242718833 344.923091578652 a
275.9201508282521 346.2509139414059 a
263.57452910657395 338.4546568007696 a
254.24551332572506 318.91145904448007 a
273.5309154435331 304.0979623883579 a
238.4006910816091 331.90823843896544 a
262.9072140198192 304.401267642452 a
265.6053472273089 321.9039242491646 a
232.19803035349435 307.841166255614 a
253.530858992385 356.60981711992633 a
301.7881634848838 359.3641752478525 a
280.01265241556484 325.61423465802807 a
237.0288898007986 381.6198054100191 a
259.236370436376 308.8155592417776 a
244.60526217323587 282.326896262792 a
246.41685158322582 346.12803633540557 a
231.7373694782472 343.03719463832783 a
208.57487782569538 351.15042998071266 a
180.07769295781296 313.58399356928675 a
319.5856884598593 431.2144400388012 b
205.81764755997145 433.00846365821184 b
281.82552331659144 448.6157945633623 b
255.04656479435243 417.15092862010505 b
248.44060666973542 427.5533803091842 b
251.3046327016328 431.37656682467514 b
223.6654775038472 420.20301005438415 b
210.9623486694888 449.1691856950167 b
215.50765495798956 447.8895178230774 b
265.18354413543966 469.0567871557521 b
248.56607698741183 451.20179806183637 b
283.2217255639903 457.9321400814229 b
284.5455384972862 480.4968253918637 b
289.60544634741035 435.6174640443212 b
245.01690681319934 453.94600791671877 b
290.1522726420997 434.44916036486416 b
307.8146879040281 432.0240539336089 b
295.7921809911712 434.1449858680544 b
317.1755329842184 443.8608273529376 b
246.6123417121048 431.07769540941854 b
262.26296177710765 433.2420612160289 b
297.12632402265945 422.70484635200603 b
264.44373744421495 469.6828177665146 b
272.0359085124857 383.82823373530056 b
230.2493486616219 466.1483755668563 b
248.26986723033485 485.8936017034534 b
297.70957316147445 440.37716420345805 b
312.4385098821869 411.62563917254283 b
289.33529541436565 466.9212701157912 b
273.32628017254876 495.7311388398829 b
39.61083002155168 192.87383074991567 b
49.07569577494193 318.55696695727363 b
78.34483644823159 250.26525243026666 b
11.322864522769041 248.53314591671224 b
18.22555075342554 266.5397783675332 b
74.10188158444242 211.63530130455428 b
27.235354068581728 281.71320095434044 b
30.598970714436707 228.83929140301944 b
49.314192680686986 319.9943576658496 b
69.55424075907345 255.31427742958482 b
17.640588737249125 271.0219609130161 b
42.70273475832403 222.80653459782775 b
101.890614184805 300.4565820930631 b
73.39942028469112 240.4324251430068 b
51.63145597299014 260.74655104103357 b
46.06344154301554 271.0968264576277 b
67.56527689819998 285.72626400643145 b
35.1152680709535 232.20174433342976 b
49.56527352385917 182.6089909634262 b
32.79237591623067 262.9519485215967 b
49.743366601510814 287.91740006334624 b
33.879302357193055 260.61789564141645 b
58.177517105670326 220.24479650388815 b
46.97926021985332 240.39359348565125 b
88.64655152816303 267.5130635598567 b
54.28751356222673 241.01196534788596 b
47.423643398605364 251.14487140276344 b
94.12245200769789 280.1717114078186 b
28.18122249152148 256.10261277590826 b
71.52342880438908 259.32290032905337 b
78.53791155459011 299.01533969385764 b
89.97068936258728 262.0934754775283 b
106.47716771253107 247.23999241837356 b
69.37667358526433 234.70945576009865 b
import numpy as np
import pandas as pd
import matplotlib.pylab as plt
from sklearn.pipeline import make_pipeline
from sklearn.neighbors import KNeighborsClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import recall_score, precision_score, accuracy_score
from sklego.preprocessing import ColumnSelector
from prettytable import PrettyTable
class Experiment():
def __init__(self, estimator, biased_data, actual_data, seed=42):
self.estimator = estimator
self.x_train = biased_data[['x1', 'x2']].values
self.y_train = biased_data['y'].values
self.seed = seed
self.x_actual = actual_data[['x1', 'x2']].values
self.y_actual = actual_data['y'].values
self.round = 0
self.logs = None
self.estimator.fit(self.x_train, self.y_train)
def retrain(self):
learned = self.logs.loc[lambda d: d['pred'] == 1]
X = np.concatenate([self.x_train, learned[['x1', 'x2']].values])
y = np.concatenate([self.y_train, learned['true'].values])
self.estimator.fit(X, y)
def scores(self):
learned = self.logs.loc[lambda d: d['pred'] == 1]
X = np.concatenate([self.x_train, learned[['x1', 'x2']].values])
y = np.concatenate([self.y_train, learned['true'].values])
print(f"measured scores on seen data; acc={accuracy_score(y, self.estimator.predict(X))}")
print(f"measured scores on seen data; precision={precision_score(y, self.estimator.predict(X))}")
print(f"measured scores on seen data; recall={recall_score(y, self.estimator.predict(X))}")
return self.estimator.score(X, y)
def step(self, n_proposal, n_select, method):
self.round += 1
subset_y, self.y_actual = self.y_actual[:n_proposal], self.y_actual[n_proposal:]
subset_x, self.x_actual = self.x_actual[:n_proposal, :], self.x_actual[n_proposal:, :]
chosen_idx, not_chosen_idx, proba = method(self, subset_x, n_select)
df1 = pd.DataFrame({
'x1': subset_x[chosen_idx][:, 0],
'x2': subset_x[chosen_idx][:, 1],
'pred': [1 for i in subset_y[chosen_idx]],
'proba': proba[chosen_idx],
'true': subset_y[chosen_idx],
'round': [self.round for i in subset_y[chosen_idx]],
})
df2 = pd.DataFrame({
'x1': subset_x[not_chosen_idx][:, 0],
'x2': subset_x[not_chosen_idx][:, 1],
'pred': [0 for i in subset_y[not_chosen_idx]],
'proba': proba[not_chosen_idx],
'true': subset_y[not_chosen_idx],
'round': [self.round for i in subset_y[not_chosen_idx]],
})
logz = df1.append(df2)
self.logs = logz if self.logs is None else self.logs.append(logz)
self.retrain()
def greedy(experiment, x, n):
"""
est - sklearn estimator going in
x - data points to predict
n - the number of points to return
"""
preds = experiment.estimator.predict_proba(x)
order = np.lexsort((np.arange(len(preds)), -preds[:, 1]))
return order[:n], order[n:], preds[:, 1]
def sploit(experiment, x, n):
"""
everybody who scores higher than 80% is equal
"""
preds = experiment.estimator.predict_proba(x)
p = np.array(preds[:, 1]) + 0.001
best_candidate = np.argmax(p)
p[best_candidate] = 1
order = np.random.choice(range(len(p)), p=p/p.sum(), replace=False, size=len(p))
return order[:n], order[n:], preds[:, 1]
def plot_experiment(biased_start, other_data, size=10, selection=1, method=greedy):
experiment = Experiment(
estimator=KNeighborsClassifier(n_neighbors=20),
biased_data=biased_start,
actual_data=other_data
)
df = pd.concat([biased_start, other_data])
min_x1, max_x1 = df['x1'].min(), df['x1'].max()
min_x2, max_x2 = df['x2'].min(), df['x2'].max()
while True:
try:
experiment.step(size, selection, method)
except ValueError:
break # this just means we've exhausted the dataset
print(f"method={method.__name__} size={size} selection={selection}")
experiment.scores()
print(f"measured scores on real data; acc={accuracy_score(experiment.logs['true'], experiment.logs['proba'] > 0.5)}")
print(f"measured scores on real data; precision={precision_score(experiment.logs['true'], experiment.logs['proba'] > 0.5)}")
print(f"measured scores on real data; recall={recall_score(experiment.logs['true'], experiment.logs['proba'] > 0.5)}")
plt.figure(figsize=(16, 4))
plt.subplot(141)
plt.scatter(df['x1'], df['x2'], c=df['y'])
plt.title("this is the original dataset")
plt.xlim(min_x1, max_x1)
plt.ylim(min_x2, max_x2);
plt.subplot(142)
plt.scatter(biased_start['x1'], biased_start['x2'], c=biased_start['y'])
plt.title("this is the biased start")
plt.xlim(min_x1, max_x1)
plt.ylim(min_x2, max_x2);
plt.subplot(143)
plt.scatter(experiment.logs['x1'], experiment.logs['x2'], c=experiment.logs['proba']);
plt.xlim(min_x1, max_x1)
plt.ylim(min_x2, max_x2)
plt.title("this is what the model believes");
plt.subplot(144)
plt.scatter(experiment.logs['x1'], experiment.logs['x2'], c=experiment.logs['pred']);
plt.xlim(min_x1, max_x1)
plt.ylim(min_x2, max_x2)
plt.title("these are the selected members");
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pylab as plt\n",
"from sklearn.pipeline import make_pipeline\n",
"from sklearn.neighbors import KNeighborsClassifier\n",
"from sklearn.linear_model import LogisticRegression\n",
"\n",
"from sklego.preprocessing import ColumnSelector"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"df = pd.read_csv(\"biased-hard.csv\")\n",
"# df = pd.read_csv(\"biased_start.csv\")\n",
"df.columns = [\"x1\", \"x2\", \"y\"]\n",
"df[\"y\"] = (df[\"y\"] == \"b\").astype(np.int)\n",
"plt.scatter(df['x1'], df['x2'], c=df['y']);"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"np.random.seed(41)\n",
"biased_start = df.loc[lambda d: d['x1'] > 450].sample(30) #biased-hard\n",
"# biased_start = df.loc[lambda d: d['x1'] > 250].sample(30) # biased_start\n",
"other_data = (df\n",
" .reset_index()\n",
" .loc[lambda d: ~d['index'].isin(biased_start.index)]\n",
" .drop(columns=\"index\")\n",
" .sample(df.shape[0] - biased_start.shape[0]))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"min_x1, max_x1 = df['x1'].min(), df['x1'].max()\n",
"min_x2, max_x2 = df['x2'].min(), df['x2'].max()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plt.figure(figsize=(16, 4))\n",
"plt.subplot(131)\n",
"plt.scatter(df['x1'], df['x2'], c=df['y'])\n",
"plt.title(\"this is the whole dataset\")\n",
"plt.xlim(min_x1, max_x1)\n",
"plt.ylim(min_x2, max_x2);\n",
"\n",
"plt.subplot(132)\n",
"plt.scatter(biased_start['x1'], biased_start['x2'], c=biased_start['y'])\n",
"plt.title(\"this is the biased start\")\n",
"plt.xlim(min_x1, max_x1)\n",
"plt.ylim(min_x2, max_x2);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# What will happen?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from feedback import Experiment, plot_experiment, greedy, sploit\n",
"from scipy.spatial import distance"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plot_experiment(biased_start=biased_start, other_data=other_data, size=10, selection=1, method=greedy)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"plot_experiment(biased_start=biased_start, other_data=other_data, size=10, selection=2, method=greedy)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment