import numpy
import urllib
import scipy.optimize
import random
from sklearn import svm # Library for SVM classification
from sklearn import linear_model # Logistic Regression (among other things)
import ast
def parseData(fname):
for l in urllib.urlopen(fname):
yield eval(l)
def parseDataFromFile(fname):
for l in open(fname):
yield eval(l)
data1 = list(parseDataFromFile("C:/Users/Julian McAuley/Documents/class_files/book_descriptions_50000.json"))
data2 = list(parseDataFromFile("C:/Users/Julian McAuley/Documents/class_files/book_images_5000.json"))
data = data1
data[2]
Priors...
p(label)
prior = ["Children's Books" in d['categories'] for d in data]
prior = sum(prior) / len(prior)
prior
prior_neg = 1 - prior
prior_neg
p(wizard in description | Children's Book)
p1 = ["wizard" in b['description'] for b in data
if "Children's Books" in b['categories']]
p1 = sum(p1) / len(p1)
p1
p1_neg = ["wizard" in b['description'] for b in data
if not ("Children's Books" in b['categories'])]
p1_neg = sum(p1_neg) / len(p1_neg)
p1_neg
p(witch in description | Children's Book)
p2 = ["witch" in b['description'] for b in data if "Children's Books" in b['categories']]
p2 = sum(p2) * 1.0 / len(p2)
p2
p2_neg = ["witch" in b['description'] for b in data if not "Children's Books" in b['categories']]
p2_neg = sum(p2_neg) * 1.0 / len(p2_neg)
p2_neg
score = prior * p1 * p2
score_neg = prior_neg * p1_neg * p2_neg
score / score_neg
p = ["Children's Books" in b['categories'] for b in data if
'witch' in b['description'] and 'wizard' in b['description']]
p = sum(p) * 1.0 / len(p)
p / (1 - p)
Classification - Judging a book by its cover
data = data2
data[0]
{'asin/ID': '1573110639', 'url': 'http://www.amazon.com/dp/1573110639', 'description': 'one of the worlds great reference books newsweek', 'categories': ['New', 'Politics & Social Sciences', 'Science & Math', 'Education & Reference'], 'image_feature': [1.1288000345230103, 0.0, 0.0, 5.031199932098389, 0.0, 0.0, 0.5083000063896179, 0.0, 0.0, 1.666200041770935, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.7147998809814453, 0.0, 0.3750999867916107, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5286999940872192, 0.0, 2.8366000652313232, 0.07240000367164612, 0.0, 1.7832000255584717, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.4688000679016113, 0.0, 0.0, 0.0, 0.7116000056266785, 0.25369998812675476, 0.0, 0.0, 0.0, 0.0, 0.8133999705314636, 0.0, 2.268699884414673, 0.8822000026702881, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.3970999717712402, 0.0, 0.11129999905824661, 0.0, 0.0, 0.0, 0.0, 0.0, 4.669000148773193, 0.0, 0.0, 0.0, 0.6687999963760376, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.6171998977661133, 5.061500072479248, 2.614300012588501, 0.9009000062942505, 4.316400051116943, 0.0, 0.996399998664856, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.3631999492645264, 0.15369999408721924, 0.0, 0.0, 0.0, 0.0, 4.521200180053711, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.031100034713745, 2.316699981689453, 0.0, 1.6821999549865723, 0.042500000447034836, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.4887000024318695, 0.4077000021934509, 0.0, 0.0, 0.0, 0.0, 1.610700011253357, 5.457600116729736, 0.0, 3.180299997329712, 3.7537999153137207, 0.0, 0.0, 0.0, 0.0, 1.2355999946594238, 0.0, 0.0, 0.0, 0.44859999418258667, 0.0, 2.481800079345703, 0.0, 3.6438000202178955, 3.4014999866485596, 0.0, 0.0, 1.3844000101089478, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.1526999473571777, 3.9235000610351562, 0.0, 0.6601999998092651, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.409600019454956, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3059000074863434, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.9603000283241272, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.582099974155426, 3.8956000804901123, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.2973999977111816, 0.0, 0.7268000245094299, 0.0, 0.0, 0.0, 0.0, 0.0, 2.1744000911712646, 1.6971999406814575, 1.5746999979019165, 0.0, 0.0, 0.0, 2.025599956512451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2720000147819519, 3.092099905014038, 0.0, 0.0, 0.0, 3.6623001098632812, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.22300000488758087, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.048799991607666, 0.5090000033378601, 0.0, 0.0012000000569969416, 0.9927999973297119, 0.0, 1.7107000350952148, 0.0, 0.0, 2.1045000553131104, 0.0, 0.298799991607666, 2.625499963760376, 0.2711000144481659, 0.0, 0.0, 0.0, 0.0, 0.0, 1.9378999471664429, 0.0, 0.20640000700950623, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.06289999932050705, 0.4715999960899353, 0.0, 0.0, 0.0, 0.0, 3.073899984359741, 0.0, 1.062399983406067, 0.0, 0.0, 0.0, 0.0, 0.0, 0.4388999938964844, 0.0, 0.0, 0.0, 0.0, 0.0, 2.7385001182556152, 0.0, 0.0, 0.0, 1.5520000457763672, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2581000030040741, 0.0, 0.0, 0.0, 0.0, 0.0, 0.21289999783039093, 6.52269983291626, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7409000396728516, 0.0, 0.0, 0.0, 0.0, 2.4853999614715576, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.456399917602539, 1.3860000371932983, 0.0, 0.0, 0.0, 0.0, 3.748800039291382, 5.037700176239014, 3.2139999866485596, 0.0, 0.09889999777078629, 0.0, 0.0, 5.586699962615967, 6.66349983215332, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.944100022315979, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.027200222015381, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.1944000720977783, 0.0, 0.0, 0.0, 0.0, 0.0, 0.20479999482631683, 0.4846000075340271, 1.4106999635696411, 0.0, 0.0, 0.0, 0.0, 0.0, 1.2418999671936035, 0.0, 0.4961000084877014, 1.2853000164031982, 0.0, 0.0, 0.0, 0.0, 0.0, 3.320199966430664, 0.0, 2.3278000354766846, 1.0742000341415405, 2.198899984359741, 0.0, 0.0, 0.35519999265670776, 0.6432999968528748, 0.0, 1.4128999710083008, 0.0, 0.0, 0.0, 0.0, 0.007000000216066837, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7901999950408936, 0.0, 2.1017000675201416, 0.0, 0.0, 0.0, 2.0957999229431152, 0.0, 3.3468000888824463, 0.0, 0.0, 0.0, 0.0, 1.5295000076293945, 4.02810001373291, 3.1191000938415527, 0.0, 0.04450000077486038, 1.5097999572753906, 0.0, 0.0, 3.227799892425537, 1.2000000476837158, 0.0, 0.0, 1.465399980545044, 0.8173999786376953, 0.0, 3.112499952316284, 0.0, 0.0, 0.680899977684021, 3.5350000858306885, 0.21170000731945038, 0.0, 0.0, 2.6598000526428223, 0.0, 0.0, 3.114799976348877, 0.0, 3.694700002670288, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.7677998542785645, 0.0, 0.0, 0.0, 3.4700000286102295, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7547000050544739, 0.0, 0.0, 1.0044000148773193, 0.0, 0.0, 0.0, 0.1500999927520752, 0.0, 0.0, 0.19750000536441803, 2.855600118637085, 0.0, 4.5167999267578125, 0.0, 0.0, 0.0, 0.0, 0.0, 1.430899977684021, 0.0, 0.0, 0.0, 0.10279999673366547, 2.448199987411499, 0.0, 0.0, 2.6019999980926514, 0.0, 1.4150999784469604, 0.0, 3.308000087738037, 0.0, 0.0, 0.0, 3.300299882888794, 0.0, 0.0, 0.0, 0.0, 3.321899890899658, 6.156599998474121, 2.5129001140594482, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00930000003427267, 0.0, 0.0, 0.0, 2.0820000171661377, 0.0, 0.0, 1.568600058555603, 0.0, 0.0, 2.359499931335449, 0.0, 0.0, 0.33180001378059387, 0.0, 0.0, 1.4678000211715698, 0.0, 0.7188000082969666, 0.0, 0.0, 0.0, 0.0, 0.9185000061988831, 0.0, 1.6998000144958496, 0.0, 0.0, 0.0, 4.110599994659424, 0.0, 0.0, 0.0, 0.0, 0.13359999656677246, 0.0, 1.2720999717712402, 3.387500047683716, 0.0, 0.0, 0.0, 0.0, 0.2224999964237213, 0.0, 0.0, 3.6600000858306885, 2.0469000339508057, 0.0, 0.0, 0.0, 0.0, 0.8659999966621399, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.730599880218506, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3425999879837036, 1.0614999532699585, 0.0, 0.0, 1.767300009727478, 0.0, 2.3326001167297363, 0.0, 3.6435999870300293, 3.4238998889923096, 0.0, 0.0, 0.3750999867916107, 0.0, 0.0, 0.0, 3.2486000061035156, 0.0, 5.17549991607666, 5.763700008392334, 0.0, 3.9030001163482666, 0.0, 0.0, 5.33650016784668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.2144999504089355, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.22210000455379486, 1.229699969291687, 3.7121999263763428, 0.0, 0.0, 0.0, 2.0841000080108643, 0.0, 0.0, 0.0, 0.0, 3.2351999282836914, 0.3991999924182892, 3.004499912261963, 1.90339994430542, 1.6711000204086304, 0.0, 0.0, 6.048799991607666, 0.0, 0.0, 0.0, 0.0, 0.0, 2.1566998958587646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.9495999813079834, 0.0, 0.0, 0.0, 3.436300039291382, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.3694000244140625, 0.0, 1.9491000175476074, 0.9994000196456909, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.017100000753998756, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.902600049972534, 1.9157999753952026, 0.0, 0.0, 0.0, 2.4844000339508057, 0.0, 0.7396000027656555, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.982600212097168, 0.0, 0.0, 5.115200042724609, 3.1465001106262207, 0.12839999794960022, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1655000001192093, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.16580000519752502, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0162999629974365, 0.0, 0.0, 0.0, 0.0, 0.0, 0.06780000030994415, 0.7382000088691711, 0.0, 0.5608000159263611, 0.3246000111103058, 0.0, 0.0, 0.9391999840736389, 0.0, 1.1324000358581543, 0.0, 0.0, 0.0, 0.0, 0.0, 1.409600019454956, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.12790000438690186, 0.0, 0.0, 0.0, 0.0, 0.0, 0.34769999980926514, 0.0, 0.0, 0.3230000138282776, 0.9639000296592712, 3.115000009536743, 0.0, 0.0, 0.0, 0.5748000144958496, 0.0, 0.0, 0.0, 0.0, 0.0, 1.5753999948501587, 4.771900177001953, 0.0, 3.355600118637085, 0.0, 0.0, 0.5684999823570251, 0.0, 0.0, 0.0, 0.0, 0.0, 1.323699951171875, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.54339998960495, 0.0, 4.92519998550415, 0.0013000000035390258, 0.0, 0.12030000239610672, 3.781100034713745, 2.0141000747680664, 1.104200005531311, 0.21050000190734863, 0.0, 2.376199960708618, 0.0, 0.0, 0.6455000042915344, 0.6747000217437744, 0.26330000162124634, 0.0, 1.3583999872207642, 0.0, 0.0, 2.6345999240875244, 0.0, 0.0, 0.0, 0.0, 0.10320000350475311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.4263999462127686, 0.0, 0.062300000339746475, 0.0, 0.0, 1.2417999505996704, 0.0, 2.250200033187866, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.5915000438690186, 0.0, 0.0, 0.0, 0.0, 2.482100009918213, 1.0356999635696411, 0.0, 0.3091000020503998, 3.4881999492645264, 0.0, 0.0, 0.0, 1.5706000328063965, 0.0, 0.0, 0.0, 0.0, 4.341400146484375, 0.0, 0.0, 0.0, 0.0, 0.0, 1.1411000490188599, 0.0, 0.7858999967575073, 3.214200019836426, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7221999764442444, 0.0, 0.0, 2.1303000450134277, 2.6951000690460205, 0.0, 0.0, 0.0, 0.0, 1.4142999649047852, 2.0550999641418457, 3.257999897003174, 0.0, 0.0, 0.0, 0.0, 0.0, 0.049400001764297485, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5530999898910522, 0.0, 0.0, 0.08510000258684158, 1.2936999797821045, 3.5964999198913574, 0.6341000199317932, 0.0, 0.82669997215271, 0.0, 0.5914999842643738, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...]}
data[0]['image_feature']
[1.1288000345230103, 0.0, 0.0, 5.031199932098389, 0.0, 0.0, 0.5083000063896179, 0.0, 0.0, 1.666200041770935, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.7147998809814453, 0.0, 0.3750999867916107, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5286999940872192, 0.0, 2.8366000652313232, 0.07240000367164612, 0.0, 1.7832000255584717, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.4688000679016113, 0.0, 0.0, 0.0, 0.7116000056266785, 0.25369998812675476, 0.0, 0.0, 0.0, 0.0, 0.8133999705314636, 0.0, 2.268699884414673, 0.8822000026702881, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.3970999717712402, 0.0, 0.11129999905824661, 0.0, 0.0, 0.0, 0.0, 0.0, 4.669000148773193, 0.0, 0.0, 0.0, 0.6687999963760376, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.6171998977661133, 5.061500072479248, 2.614300012588501, 0.9009000062942505, 4.316400051116943, 0.0, 0.996399998664856, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.3631999492645264, 0.15369999408721924, 0.0, 0.0, 0.0, 0.0, 4.521200180053711, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.031100034713745, 2.316699981689453, 0.0, 1.6821999549865723, 0.042500000447034836, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.4887000024318695, 0.4077000021934509, 0.0, 0.0, 0.0, 0.0, 1.610700011253357, 5.457600116729736, 0.0, 3.180299997329712, 3.7537999153137207, 0.0, 0.0, 0.0, 0.0, 1.2355999946594238, 0.0, 0.0, 0.0, 0.44859999418258667, 0.0, 2.481800079345703, 0.0, 3.6438000202178955, 3.4014999866485596, 0.0, 0.0, 1.3844000101089478, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.1526999473571777, 3.9235000610351562, 0.0, 0.6601999998092651, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.409600019454956, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3059000074863434, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.9603000283241272, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.582099974155426, 3.8956000804901123, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.2973999977111816, 0.0, 0.7268000245094299, 0.0, 0.0, 0.0, 0.0, 0.0, 2.1744000911712646, 1.6971999406814575, 1.5746999979019165, 0.0, 0.0, 0.0, 2.025599956512451, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2720000147819519, 3.092099905014038, 0.0, 0.0, 0.0, 3.6623001098632812, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.22300000488758087, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.048799991607666, 0.5090000033378601, 0.0, 0.0012000000569969416, 0.9927999973297119, 0.0, 1.7107000350952148, 0.0, 0.0, 2.1045000553131104, 0.0, 0.298799991607666, 2.625499963760376, 0.2711000144481659, 0.0, 0.0, 0.0, 0.0, 0.0, 1.9378999471664429, 0.0, 0.20640000700950623, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.06289999932050705, 0.4715999960899353, 0.0, 0.0, 0.0, 0.0, 3.073899984359741, 0.0, 1.062399983406067, 0.0, 0.0, 0.0, 0.0, 0.0, 0.4388999938964844, 0.0, 0.0, 0.0, 0.0, 0.0, 2.7385001182556152, 0.0, 0.0, 0.0, 1.5520000457763672, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2581000030040741, 0.0, 0.0, 0.0, 0.0, 0.0, 0.21289999783039093, 6.52269983291626, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7409000396728516, 0.0, 0.0, 0.0, 0.0, 2.4853999614715576, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.456399917602539, 1.3860000371932983, 0.0, 0.0, 0.0, 0.0, 3.748800039291382, 5.037700176239014, 3.2139999866485596, 0.0, 0.09889999777078629, 0.0, 0.0, 5.586699962615967, 6.66349983215332, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.944100022315979, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.027200222015381, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.1944000720977783, 0.0, 0.0, 0.0, 0.0, 0.0, 0.20479999482631683, 0.4846000075340271, 1.4106999635696411, 0.0, 0.0, 0.0, 0.0, 0.0, 1.2418999671936035, 0.0, 0.4961000084877014, 1.2853000164031982, 0.0, 0.0, 0.0, 0.0, 0.0, 3.320199966430664, 0.0, 2.3278000354766846, 1.0742000341415405, 2.198899984359741, 0.0, 0.0, 0.35519999265670776, 0.6432999968528748, 0.0, 1.4128999710083008, 0.0, 0.0, 0.0, 0.0, 0.007000000216066837, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7901999950408936, 0.0, 2.1017000675201416, 0.0, 0.0, 0.0, 2.0957999229431152, 0.0, 3.3468000888824463, 0.0, 0.0, 0.0, 0.0, 1.5295000076293945, 4.02810001373291, 3.1191000938415527, 0.0, 0.04450000077486038, 1.5097999572753906, 0.0, 0.0, 3.227799892425537, 1.2000000476837158, 0.0, 0.0, 1.465399980545044, 0.8173999786376953, 0.0, 3.112499952316284, 0.0, 0.0, 0.680899977684021, 3.5350000858306885, 0.21170000731945038, 0.0, 0.0, 2.6598000526428223, 0.0, 0.0, 3.114799976348877, 0.0, 3.694700002670288, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.7677998542785645, 0.0, 0.0, 0.0, 3.4700000286102295, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7547000050544739, 0.0, 0.0, 1.0044000148773193, 0.0, 0.0, 0.0, 0.1500999927520752, 0.0, 0.0, 0.19750000536441803, 2.855600118637085, 0.0, 4.5167999267578125, 0.0, 0.0, 0.0, 0.0, 0.0, 1.430899977684021, 0.0, 0.0, 0.0, 0.10279999673366547, 2.448199987411499, 0.0, 0.0, 2.6019999980926514, 0.0, 1.4150999784469604, 0.0, 3.308000087738037, 0.0, 0.0, 0.0, 3.300299882888794, 0.0, 0.0, 0.0, 0.0, 3.321899890899658, 6.156599998474121, 2.5129001140594482, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00930000003427267, 0.0, 0.0, 0.0, 2.0820000171661377, 0.0, 0.0, 1.568600058555603, 0.0, 0.0, 2.359499931335449, 0.0, 0.0, 0.33180001378059387, 0.0, 0.0, 1.4678000211715698, 0.0, 0.7188000082969666, 0.0, 0.0, 0.0, 0.0, 0.9185000061988831, 0.0, 1.6998000144958496, 0.0, 0.0, 0.0, 4.110599994659424, 0.0, 0.0, 0.0, 0.0, 0.13359999656677246, 0.0, 1.2720999717712402, 3.387500047683716, 0.0, 0.0, 0.0, 0.0, 0.2224999964237213, 0.0, 0.0, 3.6600000858306885, 2.0469000339508057, 0.0, 0.0, 0.0, 0.0, 0.8659999966621399, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.730599880218506, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3425999879837036, 1.0614999532699585, 0.0, 0.0, 1.767300009727478, 0.0, 2.3326001167297363, 0.0, 3.6435999870300293, 3.4238998889923096, 0.0, 0.0, 0.3750999867916107, 0.0, 0.0, 0.0, 3.2486000061035156, 0.0, 5.17549991607666, 5.763700008392334, 0.0, 3.9030001163482666, 0.0, 0.0, 5.33650016784668, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.2144999504089355, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.22210000455379486, 1.229699969291687, 3.7121999263763428, 0.0, 0.0, 0.0, 2.0841000080108643, 0.0, 0.0, 0.0, 0.0, 3.2351999282836914, 0.3991999924182892, 3.004499912261963, 1.90339994430542, 1.6711000204086304, 0.0, 0.0, 6.048799991607666, 0.0, 0.0, 0.0, 0.0, 0.0, 2.1566998958587646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.9495999813079834, 0.0, 0.0, 0.0, 3.436300039291382, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.3694000244140625, 0.0, 1.9491000175476074, 0.9994000196456909, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.017100000753998756, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.902600049972534, 1.9157999753952026, 0.0, 0.0, 0.0, 2.4844000339508057, 0.0, 0.7396000027656555, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.982600212097168, 0.0, 0.0, 5.115200042724609, 3.1465001106262207, 0.12839999794960022, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1655000001192093, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.16580000519752502, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0162999629974365, 0.0, 0.0, 0.0, 0.0, 0.0, 0.06780000030994415, 0.7382000088691711, 0.0, 0.5608000159263611, 0.3246000111103058, 0.0, 0.0, 0.9391999840736389, 0.0, 1.1324000358581543, 0.0, 0.0, 0.0, 0.0, 0.0, 1.409600019454956, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.12790000438690186, 0.0, 0.0, 0.0, 0.0, 0.0, 0.34769999980926514, 0.0, 0.0, 0.3230000138282776, 0.9639000296592712, 3.115000009536743, 0.0, 0.0, 0.0, 0.5748000144958496, 0.0, 0.0, 0.0, 0.0, 0.0, 1.5753999948501587, 4.771900177001953, 0.0, 3.355600118637085, 0.0, 0.0, 0.5684999823570251, 0.0, 0.0, 0.0, 0.0, 0.0, 1.323699951171875, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.54339998960495, 0.0, 4.92519998550415, 0.0013000000035390258, 0.0, 0.12030000239610672, 3.781100034713745, 2.0141000747680664, 1.104200005531311, 0.21050000190734863, 0.0, 2.376199960708618, 0.0, 0.0, 0.6455000042915344, 0.6747000217437744, 0.26330000162124634, 0.0, 1.3583999872207642, 0.0, 0.0, 2.6345999240875244, 0.0, 0.0, 0.0, 0.0, 0.10320000350475311, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.4263999462127686, 0.0, 0.062300000339746475, 0.0, 0.0, 1.2417999505996704, 0.0, 2.250200033187866, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.5915000438690186, 0.0, 0.0, 0.0, 0.0, 2.482100009918213, 1.0356999635696411, 0.0, 0.3091000020503998, 3.4881999492645264, 0.0, 0.0, 0.0, 1.5706000328063965, 0.0, 0.0, 0.0, 0.0, 4.341400146484375, 0.0, 0.0, 0.0, 0.0, 0.0, 1.1411000490188599, 0.0, 0.7858999967575073, 3.214200019836426, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7221999764442444, 0.0, 0.0, 2.1303000450134277, 2.6951000690460205, 0.0, 0.0, 0.0, 0.0, 1.4142999649047852, 2.0550999641418457, 3.257999897003174, 0.0, 0.0, 0.0, 0.0, 0.0, 0.049400001764297485, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5530999898910522, 0.0, 0.0, 0.08510000258684158, 1.2936999797821045, 3.5964999198913574, 0.6341000199317932, 0.0, 0.82669997215271, 0.0, 0.5914999842643738, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...]
X = [b['image_feature'] for b in data]
y = ["Children's Books" in b['categories'] for b in data]
X_train = X[:len(X)//2]
y_train = y[:len(y)//2]
X_test = X[len(X)//2:]
y_test = y[len(y)//2:]
mod = linear_model.LogisticRegression(C=1.0)
mod.fit(X_train, y_train)
C:\Users\Julian McAuley\Anaconda3\lib\site-packages\sklearn\linear_model\logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning. FutureWarning)
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True, intercept_scaling=1, l1_ratio=None, max_iter=100, multi_class='warn', n_jobs=None, penalty='l2', random_state=None, solver='warn', tol=0.0001, verbose=0, warm_start=False)
train_predictions = mod.predict(X_train)
test_predictions = mod.predict(X_test)
# accuracy
sum(test_predictions == y_test) / len(y_test)
0.9456
y_false = numpy.array([False for b in y_test])
# accuracy when predicting "false" always
sum(y_false == y_test) / len(y_test)
0.962
f = open("C:/users/Julian McAuley/Documents/class_files/bankruptcy.arff", 'r')
while not '@data' in f.readline():
pass
dataset = []
for l in f:
if '?' in l: # Missing entry
continue
l = l.split(',')
values = [1] + [float(x) for x in l]
values[-1] = values[-1] > 0 # Convert to bool
dataset.append(values)
dataset[0]
[1, 0.088238, 0.55472, 0.01134, 1.0205, -66.52, 0.34204, 0.10949, 0.57752, 1.0881, 0.32036, 0.10949, 0.1976, 0.096885, 0.10949, 1475.2, 0.24742, 1.8027, 0.10949, 0.077287, 50.199, 1.1574, 0.13523, 0.062287, 0.41949, 0.32036, 0.20912, 1.0387, 0.026093, 6.1267, 0.37788, 0.077287, 155.33, 2.3498, 0.24377, 0.13523, 1.4493, 571.37, 0.32101, 0.095457, 0.12879, 0.11189, 0.095457, 127.3, 77.096, 0.45289, 0.66883, 54.621, 0.10746, 0.075859, 1.0193, 0.55407, 0.42557, 0.73717, 0.73866, 15182.0, 0.080955, 0.27543, 0.91905, 0.002024, 7.2711, 4.7343, 142.76, 2.5568, 3.2597, False]
Data setup
X = [d[:-1] for d in dataset]
y = [d[-1] for d in dataset]
Fit model
mod = linear_model.LogisticRegression(C=1.0)
mod.fit(X,y)
C:\Users\Julian McAuley\Anaconda3\lib\site-packages\sklearn\linear_model\logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning. FutureWarning) C:\Users\Julian McAuley\Anaconda3\lib\site-packages\sklearn\svm\base.py:929: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. "the number of iterations.", ConvergenceWarning)
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True, intercept_scaling=1, l1_ratio=None, max_iter=100, multi_class='warn', n_jobs=None, penalty='l2', random_state=None, solver='warn', tol=0.0001, verbose=0, warm_start=False)
pred = mod.predict(X)
sum(pred == y) / len(y)
0.9663477400197954
sum(y)
102
len(y)
3031
1 - 102/3031
0.9663477400197954
sum(pred)
6
Balanced model
mod = linear_model.LogisticRegression(C=1.0, class_weight = 'balanced')
mod.fit(X,y)
C:\Users\Julian McAuley\Anaconda3\lib\site-packages\sklearn\linear_model\logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning. FutureWarning) C:\Users\Julian McAuley\Anaconda3\lib\site-packages\sklearn\svm\base.py:929: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. "the number of iterations.", ConvergenceWarning)
LogisticRegression(C=1.0, class_weight='balanced', dual=False, fit_intercept=True, intercept_scaling=1, l1_ratio=None, max_iter=100, multi_class='warn', n_jobs=None, penalty='l2', random_state=None, solver='warn', tol=0.0001, verbose=0, warm_start=False)
pred = mod.predict(X)
sum(pred == y) / len(y)
0.7832398548333883
# How many positive predictions?
sum(pred)
717
Train/validation/test splits
Xy = list(zip(X,y))
random.shuffle(Xy)
X = [d[0] for d in Xy]
y = [d[1] for d in Xy]
N = len(y)
Ntrain = 1000
Nvalid = 1000
Ntest = 1031
Xtrain = X[:Ntrain]
Xvalid = X[Ntrain:Ntrain+Nvalid]
Xtest = X[Ntrain+Nvalid:]
ytrain = y[:Ntrain]
yvalid = y[Ntrain:Ntrain+Nvalid]
ytest = y[Ntrain+Nvalid:]
mod.fit(Xtrain, ytrain)
C:\Users\Julian McAuley\Anaconda3\lib\site-packages\sklearn\linear_model\logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning. FutureWarning) C:\Users\Julian McAuley\Anaconda3\lib\site-packages\sklearn\svm\base.py:929: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. "the number of iterations.", ConvergenceWarning)
LogisticRegression(C=1.0, class_weight='balanced', dual=False, fit_intercept=True, intercept_scaling=1, l1_ratio=None, max_iter=100, multi_class='warn', n_jobs=None, penalty='l2', random_state=None, solver='warn', tol=0.0001, verbose=0, warm_start=False)
TP, TN, FP, FN, Accuracy, BER
pred = mod.predict(Xtest)
correct = pred == ytest
TP_ = numpy.logical_and(pred, ytest)
FP_ = numpy.logical_and(pred, numpy.logical_not(ytest))
TN_ = numpy.logical_and(numpy.logical_not(pred), numpy.logical_not(ytest))
FN_ = numpy.logical_and(numpy.logical_not(pred), ytest)
TP = sum(TP_)
FP = sum(FP_)
TN = sum(TN_)
FN = sum(FN_)
# accuracy
(TP + TN) / (TP + FP + TN + FN)
0.8225024248302619
sum(correct) / len(correct)
0.8225024248302619
# BER
1 - 0.5*(TP / (TP + FN) + TN / (TN + FP))
0.34074209024108826
Ranking
scores = mod.decision_function(Xtest)
scores
array([-0.77318466, -0.6581161 , -0.74149623, ..., -1.49607527, -0.9291817 , -2.65867657])
scoreslabels = list(zip(scores, ytest))
scoreslabels.sort(reverse=True)
scoreslabels
[(20.439690291835287, False), (10.536847009816965, False), (9.712626998807286, False), (9.350710846782384, False), (7.842395225958438, True), (6.590474486739286, False), (6.588524732892533, True), (6.563726773813434, True), (5.548059989828498, False), (5.086841630348562, True), (4.944642526610214, False), (4.812316405708574, False), (4.794276730123465, False), (4.682747379455137, False), (4.447623205890571, False), (4.270804186374323, False), (4.250184212734646, False), (3.653335776879337, False), (3.4889521877721066, False), (3.46355933019042, False), (3.436463001668359, False), (3.4198634136702504, False), (3.414794145540118, False), (3.3293044674274617, False), (2.8361222975502187, False), (2.7104095419137417, False), (2.6999387473570358, False), (2.6954739311264393, False), (2.6059531284300865, False), (2.5506396164399265, False), (2.497613947591135, False), (2.434104441480049, False), (2.2011681176010027, False), (2.1749874671742964, True), (2.1429001000034615, False), (2.128629410669162, False), (2.0999768236815903, False), (2.0973254705451456, False), (2.068227232165933, True), (1.9417112988497989, False), (1.8153992079559174, False), (1.78121930523736, False), (1.7661663509433003, False), (1.7577405639506842, False), (1.7488164286952066, False), (1.6750296820537864, False), (1.6488646714722406, False), (1.6406669019854918, False), (1.629949041010535, False), (1.5534243102301553, False), (1.5376218912395159, False), (1.452263998730836, False), (1.4487275493271385, False), (1.3573072260353842, False), (1.3499538140362324, False), (1.3096022724990901, False), (1.2970201213206083, False), (1.2036380615501159, True), (1.160731182201416, False), (1.1566925059415543, False), (1.1369415303164, False), (1.135711917064884, False), (1.1247552928869056, False), (1.1160559310842788, False), (1.0757711095664155, False), (1.0697194953536484, False), (1.0212621880802801, False), (1.0010555659688802, False), (0.9931309899637196, False), (0.9670710011054988, False), (0.9504253330010375, False), (0.9061669371901772, False), (0.902275140712138, False), (0.897029083668098, False), (0.8803382359410192, True), (0.8774651593957917, True), (0.8570735940573413, False), (0.8435559278325535, False), (0.8202389639995479, False), (0.8175013436668213, False), (0.7691208014969227, False), (0.7649339879097216, False), (0.7580619903770915, False), (0.7304242918885122, False), (0.7285969225610297, False), (0.7271553440792562, False), (0.7158877996136831, False), (0.7055115656622772, False), (0.6652399914972685, False), (0.6638501740608299, False), (0.6515648001825511, False), (0.6440290827449533, False), (0.6388563962373545, False), (0.6347467493647537, False), (0.6304501756632884, False), (0.6257120472854167, False), (0.6256248997197135, False), (0.6253825928964126, False), (0.5946552552408141, False), (0.5942693672913498, False), (0.5934466114989143, False), (0.5849770371292163, False), (0.5584594452964119, False), (0.5274540896876697, False), (0.5261560342287394, False), (0.5100545516374156, False), (0.503833664650226, True), (0.5034501952069989, False), (0.5023175885424878, False), (0.4996663630812446, False), (0.471399974657657, False), (0.4711951362142284, False), (0.4697193175113296, True), (0.45811150341459134, False), (0.45279713519227766, False), (0.44431649511520216, False), (0.4399187585123001, False), (0.43545474160451764, False), (0.42582714321166576, False), (0.42582714321166576, False), (0.41862410393881794, True), (0.41626282437075396, False), (0.4153005124573231, True), (0.40328382279587266, False), (0.4002776167178071, False), (0.3912165567395343, False), (0.38355363934353376, False), (0.379747982392543, False), (0.3673516135367708, False), (0.3672358575881713, False), (0.3537881080809399, False), (0.34271308352752455, False), (0.3199401756774826, False), (0.31447197730628024, False), (0.2786115535841221, False), (0.24848867774778632, False), (0.23524180405374678, True), (0.22458975326977543, False), (0.21902566717188382, False), (0.2148053626364616, False), (0.19333692825620014, False), (0.19028827901619244, False), (0.18967793231495084, False), (0.18725612608928627, True), (0.18663637747035194, False), (0.18556330099985469, False), (0.18059714854789793, False), (0.18033079700720883, False), (0.16261395594310774, False), (0.16044229925616876, False), (0.15502704323479016, False), (0.1533079079913881, False), (0.15278958325466868, False), (0.1518640474514164, False), (0.14460369857627325, True), (0.14270846976942447, False), (0.13184122322174646, False), (0.12873534519517377, False), (0.1262400534689055, False), (0.1200185228969622, False), (0.11990566104847285, False), (0.1173491410938869, False), (0.11601798497603973, False), (0.11158738495852456, False), (0.09086758292394877, False), (0.08774394579376617, False), (0.0843483609612647, False), (0.06678208052016128, False), (0.06526538814632295, False), (0.06380337320070358, False), (0.0628959812797752, False), (0.05737732871216035, False), (0.0533500815105737, False), (0.04304067821892417, False), (0.03673083793224126, False), (0.028229884029377827, False), (0.01618589852407677, False), (0.015681832346206747, False), (0.01343583649573572, False), (0.01019151121859847, False), (0.0038604049634422648, False), (0.0015309917579298775, False), (-0.005326846608138692, False), (-0.005845258549407695, False), (-0.0073581394745364966, False), (-0.008594891252212068, False), (-0.008742240732961527, False), (-0.01182788691315655, True), (-0.013717479400154931, False), (-0.020278286232710153, False), (-0.025400919599742822, False), (-0.027495618898958286, False), (-0.0341269707461143, False), (-0.03672024072335282, False), (-0.0405821932861931, False), (-0.04142621564200004, False), (-0.043820071202408314, False), (-0.05118999481490254, False), (-0.058864501109394715, False), (-0.0621694005924988, False), (-0.06367694817979234, False), (-0.0642213825437961, False), (-0.06611934510481547, False), (-0.0766639138365273, False), (-0.07952317841523664, False), (-0.08511127475771456, False), (-0.09851754918167592, False), (-0.10091645851964796, False), (-0.10147303900570341, False), (-0.10207599391752879, False), (-0.1047460125182073, False), (-0.10842023777772807, True), (-0.114885828083698, False), (-0.11693464397918045, False), (-0.12216981531994224, True), (-0.12421580703762773, False), (-0.12661696441332077, False), (-0.12808955367552394, False), (-0.13056555411935766, False), (-0.13349841177222138, False), (-0.1348680596908272, False), (-0.13875870418861064, False), (-0.14344512108895885, False), (-0.14405519301190445, False), (-0.14505347959107823, False), (-0.1470615379671349, False), (-0.14892822658008237, False), (-0.14898312422651733, False), (-0.15200832339223674, False), (-0.1559608979936133, False), (-0.16224076834674223, False), (-0.16294849103049996, False), (-0.16866923587007449, False), (-0.16931168824238435, False), (-0.1725452317500073, False), (-0.17544230209709016, False), (-0.17579076941245736, False), (-0.17758328419100783, False), (-0.17823739391143228, False), (-0.18246086834273528, False), (-0.1825156872757367, False), (-0.18614877687245185, False), (-0.18873522744981214, False), (-0.1888312386653475, False), (-0.19026352193866974, False), (-0.19522937068422913, False), (-0.1960852593554196, False), (-0.19681583076445391, False), (-0.19817906815738234, False), (-0.20094312621832083, False), (-0.21030191464237985, False), (-0.21174180832786088, False), (-0.2118162998816236, False), (-0.21196166264542532, False), (-0.21229261689733941, False), (-0.21229261689733941, False), (-0.21625335885306257, False), (-0.21632140253291937, False), (-0.2168286146934138, False), (-0.21823869390311362, False), (-0.2243258101680951, False), (-0.2259252340543048, False), (-0.22673388692551782, False), (-0.22793429424854994, False), (-0.2364731317006929, False), (-0.23813890183178016, False), (-0.2388201884371915, False), (-0.24155103002178574, False), (-0.2520916176949736, False), (-0.2537388284511168, False), (-0.25447937455188646, False), (-0.263776481571317, False), (-0.2690587759409518, False), (-0.27110668819558387, False), (-0.2763755288844257, False), (-0.2771115741596784, False), (-0.28150208308436236, False), (-0.2826055877856752, False), (-0.2838012243013797, False), (-0.29289898299959644, False), (-0.2929915034906981, False), (-0.29519224670747807, False), (-0.2954241724045877, False), (-0.29838658670631907, False), (-0.29851012596734666, False), (-0.3007551561209237, False), (-0.303203534316633, False), (-0.3041551945430479, False), (-0.3045883364667989, True), (-0.3070732671281942, False), (-0.3080587545561752, False), (-0.31406844078416013, False), (-0.31741217447703257, False), (-0.32189745572014566, False), (-0.322288313439089, False), (-0.3225927204651808, False), (-0.32502766647200504, False), (-0.32587474249787557, False), (-0.3282640809864064, False), (-0.33093494819894076, False), (-0.33179546964672507, False), (-0.3329891406150575, False), (-0.3337425882560265, False), (-0.33540377917828595, False), (-0.3354696756717798, False), (-0.3369056860970047, False), (-0.3403336108654967, False), (-0.3429866156529963, False), (-0.3478973204428139, False), (-0.34895798657269944, False), (-0.35179366802212936, True), (-0.35286989675174035, False), (-0.36118229820681497, False), (-0.361438207450483, False), (-0.3615859459644392, False), (-0.3630143322342951, False), (-0.3660899360428543, False), (-0.37013722328350523, False), (-0.37738670993883466, False), (-0.38026975799210067, False), (-0.38222531538167476, False), (-0.38361362681546746, False), (-0.3854367209261819, False), (-0.3855284750107916, False), (-0.38857583831552783, False), (-0.3932614240096623, False), (-0.3932614240096623, False), (-0.39769557732211475, False), (-0.3984737135775544, False), (-0.4006429222933839, False), (-0.405125935888265, False), (-0.40876344726275154, False), (-0.4089701780981689, False), (-0.41097700952200406, False), (-0.41266784144548424, False), (-0.41733671094238795, False), (-0.4186116151968928, False), (-0.42122597881726337, False), (-0.4215122300182484, False), (-0.42729180194381805, False), (-0.4293930797762919, False), (-0.43055832455938153, False), (-0.44017772476784506, False), (-0.44047514937631665, True), (-0.448023344524111, False), (-0.4507600168609435, False), (-0.4514599619633714, False), (-0.45710003332992094, False), (-0.4601466926104562, False), (-0.4656180147868691, False), (-0.46751665789306024, False), (-0.4691272574310173, False), (-0.4704440087841146, False), (-0.48205696695349115, False), (-0.4838366103541964, False), (-0.4876433475379584, False), (-0.4908117705490242, False), (-0.49215480448586185, False), (-0.4942971552053624, False), (-0.49768876921298205, False), (-0.5047122759353965, False), (-0.5056118662731026, False), (-0.5111692667037541, False), (-0.513064790190295, False), (-0.5162201821117074, False), (-0.5163791271058297, False), (-0.5222780900974302, False), (-0.5241003346064361, False), (-0.5242306998386619, False), (-0.5253761953382056, False), (-0.5293088361792764, False), (-0.5310714130925484, False), (-0.5320593167557309, False), (-0.5326515505748183, False), (-0.5354805822604378, False), (-0.53982593603982, False), (-0.5399085518896685, False), (-0.5404668756968156, False), (-0.544126705904088, False), (-0.544237915646925, False), (-0.5442844143261566, False), (-0.5446584806333102, False), (-0.5451720235292786, False), (-0.5494019009398161, False), (-0.5494451712757752, False), (-0.5504384292625798, False), (-0.5514737345791855, False), (-0.5530009794438481, False), (-0.5545792445015048, False), (-0.5576874740093597, False), (-0.5587939073235798, False), (-0.5589046217567794, False), (-0.5599508087681878, True), (-0.5600290117760681, False), (-0.5626618110708619, False), (-0.5636128277489284, False), (-0.5643025955140877, False), (-0.568297308654824, False), (-0.5687426424897856, False), (-0.5780797873757622, False), (-0.5811052305569518, True), (-0.5828910520406794, False), (-0.5964778005782398, False), (-0.5970376060420576, False), (-0.5984260523727455, False), (-0.6007284957543769, False), (-0.6053756911248288, False), (-0.6058770576525324, False), (-0.6059579044173601, False), (-0.6088328432537594, False), (-0.6107613022118006, False), (-0.611385072186254, False), (-0.6141849916628276, False), (-0.6147199102593998, False), (-0.6162694548103146, False), (-0.6187037080634274, False), (-0.6204675453151599, False), (-0.6257125441242303, False), (-0.6261635948478464, False), (-0.6302838630691764, False), (-0.6328184055543222, False), (-0.6406387636542755, False), (-0.6467684293823793, False), (-0.6476317315937602, False), (-0.6481975463067436, False), (-0.6494731678363154, False), (-0.6495017226203122, False), (-0.65107207738971, False), (-0.6581161003064352, False), (-0.6611070517279084, False), (-0.6613504412554558, False), (-0.6624434702937713, False), (-0.6625577852955788, False), (-0.6658551777248816, False), (-0.6772885537767656, False), (-0.6783259441430184, False), (-0.6785226771946491, False), (-0.6816024633078608, False), (-0.6869932356831291, False), (-0.6888847062966604, False), (-0.6888885529068246, False), (-0.6905980469580043, False), (-0.6907123725306461, False), (-0.6910903363990487, False), (-0.6912654045047237, False), (-0.6968930615747274, False), (-0.6977027603523863, False), (-0.7004700010741872, False), (-0.7017124753114972, False), (-0.7017662107765275, False), (-0.7096312689787697, False), (-0.7100990285457476, False), (-0.7131302038028762, False), (-0.7139176560820724, False), (-0.7146474100707702, False), (-0.7151794997364306, False), (-0.7160008702411359, False), (-0.7235307050987102, False), (-0.7246041676336791, False), (-0.727620760876509, False), (-0.732166174985056, False), (-0.7322296321190058, False), (-0.7391577403484771, False), (-0.7414962327352971, False), (-0.7467203314286849, False), (-0.7480162875978967, True), (-0.7493443486969235, False), (-0.750756313055343, True), (-0.7549029487205251, False), (-0.7549132089665395, False), (-0.7559845044132038, False), (-0.759282076577053, False), (-0.7603016330043026, False), (-0.7610740585341226, False), (-0.7624034685179492, False), (-0.7650950466814926, False), (-0.7662353061936727, False), (-0.7731846627383959, False), (-0.7739083723073411, False), (-0.7748704209968567, False), (-0.7770217824527562, False), (-0.7780798492539435, False), (-0.7784124410577016, False), (-0.7785700063949001, False), (-0.7841961676321246, False), (-0.792255146833155, False), (-0.7927749405264584, False), (-0.7995723159716553, False), (-0.7995881885626465, False), (-0.8014465197223478, False), (-0.803428696474504, False), (-0.8060755957107749, False), (-0.8116837842251, False), (-0.8118802079275164, False), (-0.8130955201727662, False), (-0.8137756764643126, False), (-0.8152016848466287, False), (-0.8158530913349548, False), (-0.8169024811918814, False), (-0.8182427700293795, False), (-0.8210418268091162, False), (-0.830815404923422, False), (-0.8337868212088989, False), (-0.8338677954484258, False), (-0.8344754688154089, False), (-0.8351977372612719, False), (-0.8376112108065056, False), (-0.8394715050088238, False), (-0.8422520055517567, False), (-0.8425739239657324, False), (-0.8435026690771555, False), (-0.8443853419871717, False), (-0.8504387035753771, False), (-0.8512312763436874, False), (-0.8515448789242929, False), (-0.8525617894016498, False), (-0.8542826518903376, False), (-0.854863781963476, False), (-0.8557470828305092, False), (-0.8570268539289602, False), (-0.8583081761629864, False), (-0.8587424644554136, False), (-0.8590681046343585, False), (-0.8616001319784767, False), (-0.8639708202116494, False), (-0.8658247361390482, False), (-0.8662539128128942, False), (-0.8726609971862885, False), (-0.8735196738637526, False), (-0.874549381935645, False), (-0.8913937071837247, False), (-0.8928078143895873, False), (-0.893397332951867, False), (-0.8948824422073636, True), (-0.8968934178792368, False), (-0.8998680596344103, False), (-0.9022764903350884, False), (-0.9023469100770147, False), (-0.9039483468420354, False), (-0.9060671924918996, False), (-0.9107217548371174, False), (-0.911714947798607, False), (-0.9137026764248156, False), (-0.9137026764248156, False), (-0.9165328105763423, False), (-0.9199209622051631, False), (-0.9199209622051631, False), (-0.9206491168514335, False), (-0.9209427763833378, False), (-0.9210610865096335, False), (-0.9211187535208375, False), (-0.9212996355884703, False), (-0.9221933181538035, False), (-0.9227171931347528, False), (-0.9248716839760648, False), (-0.925304294881682, False), (-0.9260259509000943, False), (-0.9280630340722671, False), (-0.9291816986758895, False), (-0.931614717994567, False), (-0.931932079602992, False), (-0.9325805898991719, False), (-0.940065483155411, False), (-0.9448853064657904, False), (-0.9452791381862927, False), (-0.9461536848658748, False), (-0.9528320357869797, False), (-0.9539453507345642, False), (-0.9559074994455182, False), (-0.9561044752407224, False), (-0.9561057795841866, False), (-0.9611662843123256, False), (-0.961199885252647, False), (-0.963048030629715, False), (-0.9668900090591028, False), (-0.9702457106397747, False), (-0.9786993666066164, False), (-0.9804250493708088, False), (-0.9831083881679575, False), (-0.9849714083006732, False), (-0.9875729086387314, True), (-0.9908805396865171, False), (-1.0016662695260212, False), (-1.0027175740330267, False), (-1.0029929888477684, False), (-1.0041300691743538, False), (-1.0064518050716351, False), (-1.0085932929326649, False), (-1.011556446089964, False), (-1.0132747730263232, False), (-1.0140189726099207, False), (-1.0147211016478335, False), (-1.0167895655257977, False), (-1.0173113569396195, False), (-1.0180888148604579, False), (-1.019390235354333, False), (-1.0253244398700287, False), (-1.0261518441070203, False), (-1.028373247414609, False), (-1.0285990215228091, False), (-1.0293555957566365, False), (-1.0329286264216688, False), (-1.0374715248868691, False), (-1.04181490803839, False), (-1.0424215637279748, False), (-1.0425063762774276, False), (-1.0505116480970107, False), (-1.0570281472731242, False), (-1.0604904861445617, False), (-1.0629424844380002, False), (-1.0647508255010583, False), (-1.0683265388283476, False), (-1.0685331656535244, False), (-1.0711548150216887, False), (-1.0755950657805653, False), (-1.0768540299736469, False), (-1.0797577344944969, False), (-1.0875798041798876, False), (-1.088352189285993, False), (-1.0898559985951828, False), (-1.0916531919767478, False), (-1.0916563861477098, False), (-1.0932483432449231, False), (-1.094428066314502, False), (-1.096368242046655, False), (-1.1011163288423016, False), (-1.101503441944394, False), (-1.1035833341441068, False), (-1.1056884370676408, True), (-1.1124225208258238, False), (-1.1135679252188415, False), (-1.1135699413299114, False), (-1.115614174717576, False), (-1.1168280409732028, False), (-1.1206836291165043, False), (-1.1225808831964625, False), (-1.122745934425099, False), (-1.1262823460947111, False), (-1.129313054081981, False), (-1.1299019133751336, False), (-1.1309306069970513, False), (-1.1309634560403445, False), (-1.1340696816016513, False), (-1.1344863133498402, False), (-1.1351732163285282, False), (-1.136693701829338, False), (-1.1367307701894627, False), (-1.1416045110191524, False), (-1.1451200093970506, False), (-1.1451795943740928, False), (-1.1461110170786526, False), (-1.1480625523190224, False), (-1.1509623692613653, False), (-1.1527679380374176, False), (-1.1543663361676004, False), (-1.1550474202254826, False), (-1.1583244716046444, False), (-1.1583320687959962, False), (-1.161521012627348, False), (-1.1663684544213138, False), (-1.1738061241581295, False), (-1.1815883562235974, False), (-1.185874782349265, False), (-1.189357143593979, False), (-1.19756035280128, False), (-1.2043679718329046, False), (-1.2087316214581814, False), (-1.2224200689780291, False), (-1.2249520324679146, False), (-1.2269594962345165, False), (-1.2311174834872, False), (-1.2321655686183497, False), (-1.2355084249039217, False), (-1.237045210480303, False), (-1.240184307066401, False), (-1.2429152942464443, False), (-1.2437519158267158, False), (-1.248322367813722, False), (-1.2509307260932516, False), (-1.2516774825265191, False), (-1.2539504106422337, False), (-1.2572277171935675, False), (-1.261383810088744, False), (-1.2629586998483968, False), (-1.2643544836422798, False), (-1.2647367850339488, False), (-1.2666800430091414, False), (-1.269021694345098, False), (-1.2701766923638935, False), (-1.2811515497058572, False), (-1.2816684361031192, False), (-1.282070134978876, False), (-1.2873903501262847, False), (-1.292195343234849, False), (-1.2921997270742591, False), (-1.2940593779240712, False), (-1.2940890501264848, False), (-1.2941561160005244, False), (-1.297179439697483, False), (-1.2981275334507285, False), (-1.3009245842470825, False), (-1.30115959806089, False), (-1.3037041288348425, False), (-1.304308844375449, False), (-1.3061283812818525, False), (-1.3080616541172692, False), (-1.3110280998138113, False), (-1.3111610530228743, False), (-1.314752807509659, False), (-1.314973353331453, False), (-1.3152533644201974, False), (-1.3175484134025375, False), (-1.3182298163800885, False), (-1.3182336839941964, False), (-1.3184553566455397, False), (-1.3193040147454225, False), (-1.3199867751662109, False), (-1.322403421193602, False), (-1.3229065611825057, False), (-1.324547147369313, False), (-1.3261913120417488, False), (-1.3263241173966884, False), (-1.3263403978224988, False), (-1.335188075778897, False), (-1.335755933617167, False), (-1.3375754086916491, False), (-1.339233880086771, False), (-1.339399880003946, False), (-1.3404934967545294, False), (-1.3408139154171241, False), (-1.349575701915085, False), (-1.3510287455698875, False), (-1.3522100090035336, False), (-1.3539892380774692, False), (-1.3548382815645232, False), (-1.355458932961714, False), (-1.357701049169288, False), (-1.3598398500416011, False), (-1.36161201066007, False), (-1.3627185107884823, False), (-1.3628668830338893, False), (-1.3646106213230538, False), (-1.3753359730537777, False), (-1.3835026789885139, False), (-1.3853521149337447, False), (-1.3863936100725103, False), (-1.3985000552942959, False), (-1.4043889147754476, False), (-1.4145618672908427, False), (-1.4156277512322797, False), (-1.4183209171445939, False), (-1.4187395154035072, False), (-1.4220326507965162, False), (-1.4224704323190798, False), (-1.4226096836285862, False), (-1.4274961876129484, False), (-1.434861532604284, False), (-1.4362340390191228, False), (-1.4412552888375265, False), (-1.442159093697734, False), (-1.4447008440450588, False), (-1.4447811512075612, True), (-1.4455434697012752, False), (-1.4535206887766368, False), (-1.4699614945878334, False), (-1.4732876066837186, False), (-1.482787730727202, False), (-1.4866765503129644, False), (-1.490521077555874, False), (-1.4960752659994285, False), (-1.4984450940664988, False), (-1.506044793209555, False), (-1.5077564181791092, False), (-1.5081600467420535, False), (-1.5116361752122922, False), (-1.5174727860535984, False), (-1.5194326440544825, False), (-1.5216179031031825, False), (-1.522755742420331, False), (-1.5241647398167892, False), (-1.5243925367608209, False), (-1.5297325360724654, False), (-1.5299141629939332, False), (-1.5447112348962122, False), (-1.545461893196867, False), (-1.5482245620914825, False), (-1.5525811805625702, False), (-1.5567290682801578, False), (-1.5589272517377264, False), (-1.5590600846299258, False), (-1.5600439909429187, False), (-1.5606547359800995, False), (-1.570565388809289, False), (-1.583827708426644, False), (-1.585923996586403, False), (-1.5972485061325203, False), (-1.6093763997123047, False), (-1.6104487266897318, False), (-1.6154500349904382, False), (-1.6184828593351164, False), (-1.6240269351421752, False), (-1.6254911879468965, False), (-1.6315527493909427, True), (-1.6320453945057645, False), (-1.6441232912653523, True), (-1.6446647248185504, False), (-1.6475025488199457, False), (-1.6501857992356825, False), (-1.6555511977599506, False), (-1.6604456359600654, False), (-1.6609308979753405, False), (-1.661178013992007, False), (-1.6689758799087162, False), (-1.6706371914475033, False), (-1.680448890893705, False), (-1.6824292816793482, False), (-1.6828447325745897, False), (-1.6932231230358639, False), (-1.6966269120254232, False), (-1.6984350426017538, False), (-1.7073641975587286, False), (-1.7167041529687916, False), (-1.71847709371588, False), (-1.7429502749917605, False), (-1.7430387614740273, False), (-1.7467014425144138, False), (-1.7482903941195485, False), (-1.752847240485698, False), (-1.7532883044664214, False), (-1.7556934383793954, False), (-1.7572994688556596, False), (-1.7576442248542286, False), (-1.7616968474148855, False), (-1.7633103297978563, False), (-1.766180491639474, False), (-1.777059161131302, False), (-1.7820712800621015, False), (-1.7830290840827971, False), (-1.7897043660318463, False), (-1.7897451173801233, False), (-1.7902464128981308, False), (-1.7908734565887046, False), (-1.7928505104767674, False), (-1.796268015382621, False), (-1.8045196246098687, False), (-1.804768830016215, False), (-1.8048265676926003, False), (-1.8124823432356945, False), (-1.8172838671659521, False), (-1.8208543149716885, False), (-1.8253480309264876, False), (-1.8339547000234742, False), (-1.834207915660924, False), (-1.856959704587049, False), (-1.8824267924059674, False), (-1.8844299577480048, False), (-1.888485007760523, False), (-1.89346504214343, False), (-1.8958034026572117, False), (-1.8981000229571043, False), (-1.9010297868974866, False), (-1.904217679533705, False), (-1.91425321161344, False), (-1.9145812606198764, False), (-1.916456015896466, False), (-1.9172476661048754, False), (-1.9194729082280655, False), (-1.922297617901891, False), (-1.9284706099858493, False), (-1.928682996906054, False), (-1.9309142312038725, False), (-1.9316281869269256, False), (-1.935695054991426, False), (-1.9401334403294608, False), (-1.9421405035969086, False), (-1.9540700016188075, False), (-1.9556445838215768, False), (-1.9815429774596576, False), (-2.020779418417639, False), (-2.0364779056446802, False), (-2.046629857529031, False), (-2.048303244036184, False), (-2.0492675892786902, False), (-2.0539697380649664, False), (-2.0549110697615536, False), (-2.058263143051653, False), (-2.06289406402689, False), (-2.069806097437745, False), (-2.070703311355545, False), (-2.0806923173515774, False), (-2.087890213414356, False), (-2.088470387889995, False), (-2.109196801371947, False), (-2.1105393721546486, False), (-2.1183774587302158, False), (-2.1234142900710893, False), (-2.1432338911820463, False), (-2.1558305175376393, False), (-2.160415045987561, False), (-2.1667734520159936, False), (-2.1676708137127774, False), (-2.1735313076518237, False), (-2.1761234303961587, False), (-2.177326502153692, False), (-2.1793233922482558, False), (-2.1887175515126556, False), (-2.1903508722289446, False), (-2.1942052286919353, False), (-2.219869872251606, False), (-2.2265657796323852, False), (-2.2275805930498143, False), (-2.2301365956762447, False), (-2.2451209077801355, False), (-2.2502129688094605, False), (-2.255136661841937, False), (-2.2565946129445367, False), (-2.2572897368289992, False), (-2.2714809577080253, False), (-2.289828285265026, False), (-2.3164304577766304, False), (-2.330729443483513, False), (-2.331275552836373, False), (-2.335515953922336, False), (-2.340402378046755, False), (-2.3439604823425455, False), (-2.352591490132575, False), (-2.380699172724076, False), (-2.381945778961854, False), (-2.3835180335131176, False), (-2.4185997348831174, False), (-2.428600777548535, False), (-2.444077138604406, False), (-2.446800766998599, False), (-2.4634042724158283, False), (-2.479822798316745, False), (-2.483642914001816, False), (-2.4875596859787237, False), (-2.495712357403808, False), (-2.5213340368186854, False), (-2.533348578231944, False), (-2.544061289836426, False), (-2.626703272950352, False), (-2.6317824642311223, False), (-2.6586765671557346, False), (-2.6666059473597725, False), (-2.689388825070101, False), (-2.6947246060224144, False), (-2.697677205079241, False), (-2.7577684987979088, False), (-2.770512016125826, False), (-2.7931201886466903, False), (-2.8053202615041823, False), (-2.906581714758805, False), (-2.925519476144884, False), (-2.9260608410680127, False), (-2.965971681512678, False), (-2.9870240495608478, False), (-2.9898623798952784, False), (-3.0078048968130386, False), (-3.042699161537272, False), (-3.058989637786622, False), (-3.079410438728683, False), (-3.117738641123952, False), (-3.1500588141252086, False), (-3.209386239426071, False), (-3.24375067119107, False), (-3.2484134845924864, False), (-3.2868942030640675, False), (-3.289493126500747, False), (-3.3786976064770107, False), (-3.384390229729479, False), (-3.420305972101707, False), (-3.440411178841785, False), (-3.5129078330014827, False), (-3.5474683388353236, False), (-3.5873570374688715, False), (-3.59665967115345, True), (-3.6239298318161364, False), (-3.630973293714873, False), (-3.6610521317019535, False), (-3.741783339281283, False), (-3.781720334589931, False), (-3.8221490018164843, False), (-3.884293813310686, False), (-3.944149197637573, False), (-3.973183219128778, False), (-3.9954428761007694, False), (-4.063335383050847, False), (-4.089198939347299, False), (-4.183489633752729, False), (-4.192599580963616, False), (-4.214039303890771, False), (-4.235958081985595, False), (-4.303548819666131, False), (-4.336673810667023, False), (-4.3598947110625135, False), (-4.548708688590777, False), (-4.651349281464104, False), (-4.68621279116234, False), (-4.740483073132025, False), ...]
sortedlabels = [x[1] for x in scoreslabels]
sortedlabels
[False, False, False, False, True, False, True, True, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, False, False, True, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, ...]
# precision
retrieved = sum(pred)
relevant = sum(ytest)
intersection = sum([y and p for y,p in zip(ytest,pred)])
intersection / retrieved
0.08791208791208792
# recall
intersection / relevant
0.48484848484848486
# precision at 10
sum(sortedlabels[:10]) / 10
0.4