In [15]:
# confident edges: edges that iterative approach predicted early (in other words, "confidently")
# we compare our method and LR method on the accuracy of those edges
import _pickle as pkl
import networkx as nx
import numpy as np
import random
from tqdm import tqdm
from snpp.cores.lowrank import alq_spark, predict_signs
from snpp.utils.matrix import split_train_test, load_sparse_csr
from snpp.utils.signed_graph import g2m
from snpp.utils.data import load_train_test_graphs
from snpp.utils.edge_filter import filter_by_min_triangle_count
from snpp.utils.spark import sc
dataset = 'slashdot'
lambda_ = 0.2
k = 10
max_iter = 100
random_seed = 123456
min_tri_count = 30
recache_input = False
random.seed(random_seed)
np.random.seed(random_seed)
In [2]:
train_g, test_g = load_train_test_graphs(dataset, recache_input)
loading train and test graphs...
In [3]:
################
## DEBUG
#################
print(train_g.number_of_nodes())
print(train_g.number_of_edges())
print(test_g.number_of_edges())
assert train_g.number_of_nodes() == test_g.number_of_nodes()
77357
464917
51658
In [4]:
train_g_ud = train_g.to_undirected()
train_m = g2m(train_g)
train_m_ud = g2m(train_g_ud)
print(train_m_ud.shape)
print(train_m_ud.nnz)
100%|██████████| 77357/77357 [00:01<00:00, 56219.58it/s]
100%|██████████| 77357/77357 [00:01<00:00, 58879.16it/s]
(77357, 77357)
929435
In [17]:
confident_edges = set(filter_by_min_triangle_count(train_g_ud, test_g.edges(), min_tri_count))
print(len(confident_edges))
1819
In [12]:
X, Y = alq_spark(train_m, k=k, sc=sc,
lambda_=lambda_, iterations=max_iter,
seed=random_seed)
---------------------------------------------------------------------------
KeyboardInterrupt Traceback (most recent call last)
<ipython-input-12-5432a2cd7164> in <module>()
1 X, Y = alq_spark(train_m, k=k, sc=sc,
2 lambda_=lambda_, iterations=max_iter,
----> 3 seed=random_seed)
/home/cloud-user/code/snpp/snpp/cores/lowrank.py in alq_spark(A, k, sc, **kwargs)
89
90 edges_rdd = sc.parallelize(edges)
---> 91 model = ALS.train(edges_rdd, rank=k, **kwargs)
92
93 u_ft = model.userFeatures()
/home/cloud-user/software/spark-2.0.0-bin-hadoop2.7/python/pyspark/mllib/recommendation.py in train(cls, ratings, rank, iterations, lambda_, blocks, nonnegative, seed)
271 """
272 model = callMLlibFunc("trainALSModel", cls._prepare(ratings), rank, iterations,
--> 273 lambda_, blocks, nonnegative, seed)
274 return MatrixFactorizationModel(model)
275
/home/cloud-user/software/spark-2.0.0-bin-hadoop2.7/python/pyspark/mllib/common.py in callMLlibFunc(name, *args)
128 sc = SparkContext.getOrCreate()
129 api = getattr(sc._jvm.PythonMLLibAPI(), name)
--> 130 return callJavaFunc(sc, api, *args)
131
132
/home/cloud-user/software/spark-2.0.0-bin-hadoop2.7/python/pyspark/mllib/common.py in callJavaFunc(sc, func, *args)
121 """ Call Java Function """
122 args = [_py2java(sc, a) for a in args]
--> 123 return _java2py(sc, func(*args))
124
125
/home/cloud-user/software/spark-2.0.0-bin-hadoop2.7/python/lib/py4j-0.10.1-src.zip/py4j/java_gateway.py in __call__(self, *args)
929 proto.END_COMMAND_PART
930
--> 931 answer = self.gateway_client.send_command(command)
932 return_value = get_return_value(
933 answer, self.gateway_client, self.target_id, self.name)
/home/cloud-user/software/spark-2.0.0-bin-hadoop2.7/python/lib/py4j-0.10.1-src.zip/py4j/java_gateway.py in send_command(self, command, retry, binary)
693 connection = self._get_connection()
694 try:
--> 695 response = connection.send_command(command)
696 if binary:
697 return response, self._create_connection_guard(connection)
/home/cloud-user/software/spark-2.0.0-bin-hadoop2.7/python/lib/py4j-0.10.1-src.zip/py4j/java_gateway.py in send_command(self, command)
826 self.socket.sendall(command.encode("utf-8"))
827
--> 828 answer = smart_decode(self.stream.readline()[:-1])
829 logger.debug("Answer received: {0}".format(answer))
830 if answer.startswith(proto.RETURN_MESSAGE):
/usr/lib/python3.5/socket.py in readinto(self, b)
573 while True:
574 try:
--> 575 return self._sock.recv_into(b)
576 except timeout:
577 self._timeout_occurred = True
KeyboardInterrupt:
In [18]:
truth = set((i, j, test_g[i][j]['sign']) for i, j in confident_edges)
preds = predict_signs(X, Y, confident_edges, sc)
assert len(truth) == len(preds)
assert set((i, j) for i, j, _ in preds) == set((i ,j) for i, j, _ in truth)
print('=> accuracy on {} edges {} (lowrank)'.format(len(preds), len(truth.intersection(preds)) / len(truth)))
=> accuracy on 1819 edges 0.9835074216602528 (lowrank)
In [ ]:
## Iterative approach
from snpp.cores.joint_part_pred import iterative_approach
from snpp.cores.max_balance import faster_greedy
from snpp.cores.lowrank import partition_graph
from snpp.cores.budget_allocation import constant_budget
from snpp.cores.triangle import build_edge2edges
part, iter_preds, status = iterative_approach(
train_g_ud,
T=confident_edges,
k=k,
graph_partition_f=partition_graph,
graph_partition_kwargs=dict(sc=sc,
lambda_=lambda_,
iterations=max_iter,
seed=random_seed),
budget_allocation_f=constant_budget,
budget_allocation_kwargs=dict(const=200),
solve_maxbalance_f=faster_greedy,
solve_maxbalance_kwargs={'edge2edges': build_edge2edges(train_g_ud.copy(),
confident_edges)},
truth=set([(i, j, test_g[i][j]['sign'])
for i, j in confident_edges]),
perform_last_partition=False)
# Accuracy on 1819 predictions is 0.9835074216602528
# => accuracy 0.9835074216602528 (strong balance)
21%|██ | 373/1819 [00:00<00:00, 1878.81it/s]
build edge2edges
100%|██████████| 1819/1819 [00:00<00:00, 1843.61it/s]
iteration=1, #remaining targets=1819
graph partitioning...
to_scipy_sparse_matrix
100%|██████████| 77357/77357 [00:01<00:00, 56537.59it/s]
ALS...
predict labels (SVD + Kmeans)...
eigen values: [ 192.50225274 94.314556 74.98190964 56.35275535 46.55712091
42.81516672 42.09468087 41.59070258 40.387221 36.23217826]
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
solving max_balance
building triangle_count_by_edge
edge2edges (size 1671) is given
✓ assigning 1 to (75, 74) produces 205 more balanced triangles (15, 220): (('s+1', 220), ('s-1', 15))
✓ assigning 1 to (74, 87) produces 204 more balanced triangles (1, 205): (('s+1', 205), ('s-1', 1))
✓ assigning 1 to (648, 936) produces 201 more balanced triangles (2, 203): (('s+1', 203), ('s-1', 2))
✓ assigning 1 to (74, 82) produces 191 more balanced triangles (7, 198): (('s+1', 198), ('s-1', 7))
✓ assigning 1 to (913, 867) produces 190 more balanced triangles (0, 190): (('s+1', 190),)
✓ assigning 1 to (867, 74) produces 189 more balanced triangles (2, 191): (('s+1', 191), ('s-1', 2))
✓ assigning 1 to (87, 936) produces 187 more balanced triangles (0, 187): (('s+1', 187),)
✓ assigning 1 to (83, 936) produces 187 more balanced triangles (1, 188): (('s+1', 188), ('s-1', 1))
✓ assigning 1 to (74, 43) produces 186 more balanced triangles (20, 206): (('s+1', 206), ('s-1', 20))
✓ assigning 1 to (1033, 74) produces 178 more balanced triangles (0, 178): (('s+1', 178),)
✓ assigning 1 to (867, 936) produces 175 more balanced triangles (0, 175): (('s+1', 175),)
✓ assigning 1 to (82, 648) produces 174 more balanced triangles (1, 175): (('s+1', 175), ('s-1', 1))
✓ assigning 1 to (913, 841) produces 168 more balanced triangles (0, 168): (('s+1', 168),)
✓ assigning 1 to (936, 2452) produces 166 more balanced triangles (0, 166): (('s+1', 166),)
✓ assigning 1 to (648, 87) produces 166 more balanced triangles (0, 166): (('s+1', 166),)
✓ assigning 1 to (945, 74) produces 160 more balanced triangles (2, 162): (('s+1', 162), ('s-1', 2))
✓ assigning 1 to (1006, 1033) produces 160 more balanced triangles (1, 161): (('s+1', 161), ('s-1', 1))
✓ assigning 1 to (648, 83) produces 160 more balanced triangles (1, 161): (('s+1', 161), ('s-1', 1))
✓ assigning 1 to (1033, 1006) produces 160 more balanced triangles (1, 161): (('s+1', 161), ('s-1', 1))
✓ assigning 1 to (82, 1033) produces 159 more balanced triangles (2, 161): (('s+1', 161), ('s-1', 2))
✓ assigning 1 to (648, 65) produces 156 more balanced triangles (2, 158): (('s+1', 158), ('s-1', 2))
✓ assigning 1 to (841, 74) produces 153 more balanced triangles (0, 153): (('s+1', 153),)
✓ assigning 1 to (648, 1033) produces 153 more balanced triangles (2, 155): (('s+1', 155), ('s-1', 2))
✓ assigning 1 to (648, 71) produces 152 more balanced triangles (3, 155): (('s+1', 155), ('s-1', 3))
✓ assigning 1 to (43, 34) produces 150 more balanced triangles (30, 180): (('s+1', 180), ('s-1', 18), ('w-1', 12))
✓ assigning 1 to (4808, 791) produces 149 more balanced triangles (1, 150): (('s+1', 150), ('s-1', 1))
✓ assigning 1 to (20799, 1491) produces 149 more balanced triangles (3, 152): (('s+1', 152), ('s-1', 3))
✓ assigning 1 to (936, 973) produces 148 more balanced triangles (5, 153): (('s+1', 153), ('s-1', 5))
✓ assigning 1 to (841, 1006) produces 147 more balanced triangles (0, 147): (('s+1', 147),)
✓ assigning 1 to (860, 791) produces 146 more balanced triangles (1, 147): (('s+1', 147), ('s-1', 1))
✓ assigning 1 to (4256, 936) produces 145 more balanced triangles (1, 146): (('s+1', 146), ('s-1', 1))
✓ assigning 1 to (1043, 82) produces 144 more balanced triangles (3, 147): (('s+1', 147), ('s-1', 3))
✓ assigning 1 to (82, 1043) produces 144 more balanced triangles (3, 147): (('s+1', 147), ('s-1', 3))
✓ assigning 1 to (841, 867) produces 143 more balanced triangles (0, 143): (('s+1', 143),)
✓ assigning 1 to (1197, 936) produces 141 more balanced triangles (1, 142): (('s+1', 142), ('s-1', 1))
✓ assigning 1 to (1200, 791) produces 141 more balanced triangles (0, 141): (('s+1', 141),)
✓ assigning 1 to (62, 87) produces 140 more balanced triangles (0, 140): (('s+1', 140),)
✓ assigning 1 to (896, 74) produces 140 more balanced triangles (0, 140): (('s+1', 140),)
✓ assigning 1 to (87, 62) produces 140 more balanced triangles (0, 140): (('s+1', 140),)
✓ assigning 1 to (2452, 867) produces 139 more balanced triangles (0, 139): (('s+1', 139),)
✓ assigning 1 to (896, 83) produces 136 more balanced triangles (0, 136): (('s+1', 136),)
✓ assigning 1 to (74, 962) produces 134 more balanced triangles (1, 135): (('s+1', 135), ('s-1', 1))
✓ assigning 1 to (83, 2458) produces 133 more balanced triangles (4, 137): (('s+1', 137), ('s-1', 4))
✓ assigning 1 to (2420, 82) produces 131 more balanced triangles (5, 136): (('s+1', 136), ('s-1', 5))
✓ assigning 1 to (87, 2458) produces 131 more balanced triangles (1, 132): (('s+1', 132), ('s-1', 1))
✓ assigning 1 to (83, 70) produces 130 more balanced triangles (0, 130): (('s+1', 130),)
✓ assigning 1 to (87, 973) produces 130 more balanced triangles (7, 137): (('s+1', 137), ('s-1', 6), ('w-1', 1))
✓ assigning 1 to (2458, 2452) produces 129 more balanced triangles (0, 129): (('s+1', 129),)
✓ assigning 1 to (936, 945) produces 129 more balanced triangles (0, 129): (('s+1', 129),)
✓ assigning 1 to (2452, 791) produces 129 more balanced triangles (0, 129): (('s+1', 129),)
✓ assigning 1 to (896, 82) produces 129 more balanced triangles (1, 130): (('s+1', 130), ('s-1', 1))
✓ assigning 1 to (1043, 867) produces 128 more balanced triangles (1, 129): (('s+1', 129), ('s-1', 1))
✓ assigning 1 to (936, 1043) produces 128 more balanced triangles (0, 128): (('s+1', 128),)
✓ assigning 1 to (913, 1029) produces 127 more balanced triangles (3, 130): (('s+1', 130), ('s-1', 3))
✓ assigning 1 to (791, 71) produces 126 more balanced triangles (0, 126): (('s+1', 126),)
✓ assigning 1 to (65, 64) produces 126 more balanced triangles (5, 131): (('s+1', 131), ('s-1', 5))
✓ assigning 1 to (64, 65) produces 126 more balanced triangles (5, 131): (('s+1', 131), ('s-1', 5))
✓ assigning 1 to (973, 1043) produces 125 more balanced triangles (4, 129): (('s+1', 129), ('w-1', 2), ('s-1', 2))
✓ assigning 1 to (1043, 973) produces 125 more balanced triangles (4, 129): (('s+1', 129), ('w-1', 2), ('s-1', 2))
✓ assigning 1 to (936, 70) produces 124 more balanced triangles (0, 124): (('s+1', 124),)
✓ assigning 1 to (841, 648) produces 123 more balanced triangles (2, 125): (('s+1', 125), ('s-1', 2))
✓ assigning 1 to (896, 1006) produces 123 more balanced triangles (0, 123): (('s+1', 123),)
✓ assigning 1 to (2420, 867) produces 122 more balanced triangles (1, 123): (('s+1', 123), ('s-1', 1))
✓ assigning 1 to (913, 988) produces 120 more balanced triangles (1, 121): (('s+1', 121), ('s-1', 1))
✓ assigning 1 to (749, 75) produces 120 more balanced triangles (47, 167): (('s+1', 167), ('s-1', 45), ('w-1', 2))
✓ assigning 1 to (70, 82) produces 119 more balanced triangles (1, 120): (('s+1', 120), ('s-1', 1))
✓ assigning 1 to (2458, 65) produces 119 more balanced triangles (3, 122): (('s+1', 122), ('s-1', 3))
✓ assigning 1 to (74, 1029) produces 119 more balanced triangles (4, 123): (('s+1', 123), ('s-1', 3), ('w-1', 1))
✓ assigning 1 to (856, 74) produces 118 more balanced triangles (1, 119): (('s+1', 119), ('s-1', 1))
✓ assigning 1 to (791, 880) produces 117 more balanced triangles (0, 117): (('s+1', 117),)
✓ assigning 1 to (1029, 936) produces 117 more balanced triangles (3, 120): (('s+1', 120), ('s-1', 3))
✓ assigning 1 to (880, 65) produces 117 more balanced triangles (0, 117): (('s+1', 117),)
✓ assigning 1 to (2452, 833) produces 117 more balanced triangles (2, 119): (('s+1', 119), ('s-1', 2))
✓ assigning 1 to (1033, 896) produces 116 more balanced triangles (0, 116): (('s+1', 116),)
✓ assigning 1 to (97, 867) produces 115 more balanced triangles (1, 116): (('s+1', 116), ('s-1', 1))
✓ assigning 1 to (74, 817) produces 115 more balanced triangles (0, 115): (('s+1', 115),)
✓ assigning 1 to (867, 62) produces 115 more balanced triangles (1, 116): (('s+1', 116), ('s-1', 1))
✓ assigning 1 to (87, 97) produces 115 more balanced triangles (0, 115): (('s+1', 115),)
✓ assigning 1 to (896, 867) produces 115 more balanced triangles (0, 115): (('s+1', 115),)
✓ assigning 1 to (867, 97) produces 115 more balanced triangles (1, 116): (('s+1', 116), ('s-1', 1))
✓ assigning 1 to (62, 2452) produces 114 more balanced triangles (1, 115): (('s+1', 115), ('s-1', 1))
✓ assigning 1 to (2452, 62) produces 114 more balanced triangles (1, 115): (('s+1', 115), ('s-1', 1))
✓ assigning 1 to (70, 87) produces 114 more balanced triangles (0, 114): (('s+1', 114),)
✓ assigning 1 to (87, 70) produces 114 more balanced triangles (0, 114): (('s+1', 114),)
✓ assigning 1 to (97, 1006) produces 113 more balanced triangles (2, 115): (('s+1', 115), ('s-1', 2))
✓ assigning 1 to (1006, 97) produces 113 more balanced triangles (2, 115): (('s+1', 115), ('s-1', 2))
✓ assigning 1 to (87, 945) produces 113 more balanced triangles (0, 113): (('s+1', 113),)
✓ assigning 1 to (791, 1029) produces 112 more balanced triangles (5, 117): (('s+1', 117), ('s-1', 5))
✓ assigning 1 to (1053, 867) produces 112 more balanced triangles (0, 112): (('s+1', 112),)
✓ assigning 1 to (809, 71) produces 111 more balanced triangles (2, 113): (('s+1', 113), ('w-1', 1), ('s-1', 1))
✓ assigning 1 to (2454, 913) produces 111 more balanced triangles (0, 111): (('s+1', 111),)
✓ assigning 1 to (1171, 4808) produces 111 more balanced triangles (1, 112): (('s+1', 112), ('s-1', 1))
✓ assigning 1 to (1053, 841) produces 110 more balanced triangles (0, 110): (('s+1', 110),)
✓ assigning 1 to (1006, 881) produces 110 more balanced triangles (0, 110): (('s+1', 110),)
✓ assigning 1 to (860, 66) produces 109 more balanced triangles (1, 110): (('s+1', 110), ('s-1', 1))
✓ assigning 1 to (4808, 936) produces 109 more balanced triangles (1, 110): (('s+1', 110), ('s-1', 1))
✓ assigning 1 to (982, 74) produces 109 more balanced triangles (0, 109): (('s+1', 109),)
✓ assigning 1 to (913, 1239) produces 109 more balanced triangles (0, 109): (('s+1', 109),)
✓ assigning 1 to (820, 913) produces 109 more balanced triangles (0, 109): (('s+1', 109),)
✓ assigning 1 to (1061, 860) produces 109 more balanced triangles (1, 110): (('s+1', 110), ('w-1', 1))
✓ assigning 1 to (87, 2354) produces 108 more balanced triangles (0, 108): (('s+1', 108),)
✓ assigning 1 to (1389, 83) produces 107 more balanced triangles (0, 107): (('s+1', 107),)
✓ assigning 1 to (1012, 818) produces 107 more balanced triangles (0, 107): (('s+1', 107),)
✓ assigning 1 to (867, 61) produces 106 more balanced triangles (0, 106): (('s+1', 106),)
✓ assigning 1 to (818, 83) produces 106 more balanced triangles (0, 106): (('s+1', 106),)
✓ assigning 1 to (913, 2442) produces 106 more balanced triangles (0, 106): (('s+1', 106),)
✓ assigning 1 to (62, 43) produces 106 more balanced triangles (3, 109): (('s+1', 109), ('s-1', 3))
✓ assigning 1 to (860, 809) produces 105 more balanced triangles (2, 107): (('s+1', 107), ('s-1', 2))
✓ assigning 1 to (1061, 841) produces 105 more balanced triangles (0, 105): (('s+1', 105),)
✓ assigning 1 to (880, 62) produces 105 more balanced triangles (1, 106): (('s+1', 106), ('s-1', 1))
✓ assigning 1 to (971, 74) produces 105 more balanced triangles (0, 105): (('s+1', 105),)
✓ assigning 1 to (4256, 648) produces 104 more balanced triangles (4, 108): (('s+1', 108), ('s-1', 4))
✓ assigning 1 to (1029, 1043) produces 104 more balanced triangles (4, 108): (('s+1', 108), ('w-1', 2), ('s-1', 2))
✓ assigning 1 to (70, 2452) produces 104 more balanced triangles (0, 104): (('s+1', 104),)
✓ assigning 1 to (62, 896) produces 104 more balanced triangles (0, 104): (('s+1', 104),)
✓ assigning 1 to (648, 881) produces 103 more balanced triangles (2, 105): (('s+1', 105), ('s-1', 2))
✓ assigning 1 to (82, 653) produces 103 more balanced triangles (3, 106): (('s+1', 106), ('w-1', 2), ('s-1', 1))
✓ assigning 1 to (841, 1029) produces 103 more balanced triangles (6, 109): (('s+1', 109), ('s-1', 4), ('w-1', 2))
✓ assigning 1 to (87, 842) produces 102 more balanced triangles (0, 102): (('s+1', 102),)
✓ assigning 1 to (8, 913) produces 102 more balanced triangles (0, 102): (('s+1', 102),)
✓ assigning 1 to (65, 798) produces 102 more balanced triangles (1, 103): (('s+1', 103), ('s-1', 1))
✓ assigning 1 to (65, 2354) produces 102 more balanced triangles (3, 105): (('s+1', 105), ('s-1', 3))
✓ assigning 1 to (842, 87) produces 102 more balanced triangles (0, 102): (('s+1', 102),)
✓ assigning 1 to (820, 83) produces 102 more balanced triangles (0, 102): (('s+1', 102),)
✓ assigning 1 to (2442, 936) produces 101 more balanced triangles (0, 101): (('s+1', 101),)
✓ assigning 1 to (856, 913) produces 101 more balanced triangles (0, 101): (('s+1', 101),)
✓ assigning 1 to (95, 82) produces 101 more balanced triangles (2, 103): (('s+1', 103), ('s-1', 2))
✓ assigning 1 to (842, 936) produces 100 more balanced triangles (0, 100): (('s+1', 100),)
✓ assigning 1 to (880, 945) produces 100 more balanced triangles (0, 100): (('s+1', 100),)
✓ assigning 1 to (4256, 2420) produces 100 more balanced triangles (2, 102): (('s+1', 102), ('s-1', 2))
✓ assigning 1 to (65, 1061) produces 99 more balanced triangles (3, 102): (('s+1', 102), ('s-1', 2), ('w-1', 1))
✓ assigning 1 to (50, 28) produces 99 more balanced triangles (2, 101): (('s+1', 101), ('s-1', 2))
✓ assigning 1 to (936, 1389) produces 99 more balanced triangles (0, 99): (('s+1', 99),)
✓ assigning 1 to (2458, 70) produces 99 more balanced triangles (0, 99): (('s+1', 99),)
✓ assigning 1 to (833, 841) produces 99 more balanced triangles (9, 108): (('s+1', 108), ('s-1', 9))
✓ assigning 1 to (1061, 2452) produces 99 more balanced triangles (0, 99): (('s+1', 99),)
✓ assigning 1 to (888, 936) produces 98 more balanced triangles (1, 99): (('s+1', 99), ('s-1', 1))
✓ assigning 1 to (65, 66) produces 98 more balanced triangles (0, 98): (('s+1', 98),)
✓ assigning 1 to (2407, 74) produces 98 more balanced triangles (1, 99): (('s+1', 99), ('w-1', 1))
✓ assigning 1 to (856, 860) produces 98 more balanced triangles (2, 100): (('s+1', 100), ('s-1', 2))
✓ assigning 1 to (74, 2407) produces 98 more balanced triangles (1, 99): (('s+1', 99), ('w-1', 1))
✓ assigning 1 to (67, 82) produces 98 more balanced triangles (2, 100): (('s+1', 100), ('s-1', 2))
✓ assigning 1 to (61, 65) produces 98 more balanced triangles (0, 98): (('s+1', 98),)
✓ assigning 1 to (74, 2404) produces 98 more balanced triangles (0, 98): (('s+1', 98),)
✓ assigning 1 to (74, 2043) produces 97 more balanced triangles (1, 98): (('s+1', 98), ('s-1', 1))
✓ assigning 1 to (2470, 936) produces 96 more balanced triangles (0, 96): (('s+1', 96),)
✓ assigning 1 to (955, 936) produces 96 more balanced triangles (4, 100): (('s+1', 100), ('s-1', 4))
✓ assigning 1 to (841, 66) produces 96 more balanced triangles (0, 96): (('s+1', 96),)
✓ assigning 1 to (4256, 1012) produces 96 more balanced triangles (5, 101): (('s+1', 101), ('s-1', 5))
✓ assigning 1 to (82, 1239) produces 96 more balanced triangles (0, 96): (('s+1', 96),)
✓ assigning 1 to (867, 2066) produces 96 more balanced triangles (2, 98): (('s+1', 98), ('s-1', 2))
✓ assigning 1 to (2354, 841) produces 95 more balanced triangles (2, 97): (('s+1', 97), ('s-1', 2))
✓ assigning 1 to (896, 1053) produces 95 more balanced triangles (0, 95): (('s+1', 95),)
✓ assigning 1 to (856, 1033) produces 95 more balanced triangles (1, 96): (('s+1', 96), ('s-1', 1))
✓ assigning 1 to (945, 83) produces 95 more balanced triangles (0, 95): (('s+1', 95),)
✓ assigning 1 to (74, 1988) produces 95 more balanced triangles (5, 100): (('s+1', 100), ('s-1', 5))
✓ assigning 1 to (3773, 74) produces 95 more balanced triangles (0, 95): (('s+1', 95),)
✓ assigning 1 to (62, 8) produces 95 more balanced triangles (2, 97): (('s+1', 97), ('s-1', 2))
✓ assigning 1 to (1043, 70) produces 95 more balanced triangles (0, 95): (('s+1', 95),)
✓ assigning 1 to (856, 82) produces 95 more balanced triangles (3, 98): (('s+1', 98), ('s-1', 3))
✓ assigning 1 to (62, 973) produces 94 more balanced triangles (4, 98): (('s+1', 98), ('s-1', 4))
✓ assigning 1 to (1193, 913) produces 94 more balanced triangles (0, 94): (('s+1', 94),)
✓ assigning 1 to (1061, 791) produces 94 more balanced triangles (0, 94): (('s+1', 94),)
✓ assigning 1 to (936, 590) produces 94 more balanced triangles (0, 94): (('s+1', 94),)
✓ assigning 1 to (4808, 841) produces 94 more balanced triangles (2, 96): (('s+1', 96), ('s-1', 2))
✓ assigning 1 to (977, 791) produces 94 more balanced triangles (0, 94): (('s+1', 94),)
✓ assigning 1 to (97, 798) produces 93 more balanced triangles (2, 95): (('s+1', 95), ('s-1', 2))
✓ assigning 1 to (841, 1389) produces 93 more balanced triangles (0, 93): (('s+1', 93),)
✓ assigning 1 to (2458, 971) produces 93 more balanced triangles (0, 93): (('s+1', 93),)
✓ assigning 1 to (936, 1988) produces 93 more balanced triangles (0, 93): (('s+1', 93),)
✓ assigning 1 to (798, 880) produces 93 more balanced triangles (2, 95): (('s+1', 95), ('s-1', 2))
✓ assigning 1 to (977, 82) produces 93 more balanced triangles (1, 94): (('s+1', 94), ('s-1', 1))
✓ assigning 1 to (1061, 1033) produces 93 more balanced triangles (2, 95): (('s+1', 95), ('w-1', 1), ('s-1', 1))
✓ assigning 1 to (83, 2043) produces 93 more balanced triangles (0, 93): (('s+1', 93),)
✓ assigning 1 to (4256, 1061) produces 92 more balanced triangles (0, 92): (('s+1', 92),)
✓ assigning 1 to (1029, 1061) produces 92 more balanced triangles (0, 92): (('s+1', 92),)
✓ assigning 1 to (860, 2407) produces 92 more balanced triangles (1, 93): (('s+1', 93), ('s-1', 1))
✓ assigning 1 to (913, 2808) produces 92 more balanced triangles (1, 93): (('s+1', 93), ('s-1', 1))
✓ assigning 1 to (3041, 74) produces 92 more balanced triangles (9, 101): (('s+1', 101), ('s-1', 9))
✓ assigning 1 to (2420, 817) produces 92 more balanced triangles (0, 92): (('s+1', 92),)
✓ assigning 1 to (858, 860) produces 92 more balanced triangles (1, 93): (('s+1', 93), ('s-1', 1))
✓ assigning 1 to (1006, 982) produces 91 more balanced triangles (0, 91): (('s+1', 91),)
✓ assigning 1 to (817, 2452) produces 91 more balanced triangles (0, 91): (('s+1', 91),)
✓ assigning 1 to (1054, 648) produces 91 more balanced triangles (3, 94): (('s+1', 94), ('s-1', 3))
✓ assigning 1 to (653, 2354) produces 91 more balanced triangles (9, 100): (('s+1', 100), ('w-1', 6), ('s-1', 3))
✓ assigning 1 to (859, 648) produces 91 more balanced triangles (2, 93): (('s+1', 93), ('s-1', 2))
✓ assigning 1 to (1028, 82) produces 90 more balanced triangles (1, 91): (('s+1', 91), ('s-1', 1))
✓ assigning 1 to (87, 2043) produces 90 more balanced triangles (0, 90): (('s+1', 90),)
✓ assigning 1 to (1005, 913) produces 90 more balanced triangles (0, 90): (('s+1', 90),)
✓ assigning 1 to (152, 936) produces 90 more balanced triangles (0, 90): (('s+1', 90),)
✓ assigning 1 to (798, 2452) produces 90 more balanced triangles (1, 91): (('s+1', 91), ('s-1', 1))
✓ assigning 1 to (936, 152) produces 90 more balanced triangles (0, 90): (('s+1', 90),)
✓ assigning 1 to (1006, 8) produces 90 more balanced triangles (0, 90): (('s+1', 90),)
✓ assigning 1 to (2474, 791) produces 90 more balanced triangles (0, 90): (('s+1', 90),)
✓ assigning 1 to (791, 1151) produces 89 more balanced triangles (2, 91): (('s+1', 91), ('s-1', 2))
✓ assigning 1 to (880, 842) produces 89 more balanced triangles (0, 89): (('s+1', 89),)
✓ assigning 1 to (2452, 962) produces 89 more balanced triangles (0, 89): (('s+1', 89),)
✓ assigning 1 to (1935, 867) produces 89 more balanced triangles (0, 89): (('s+1', 89),)
✓ assigning 1 to (1935, 83) produces 89 more balanced triangles (2, 91): (('s+1', 91), ('s-1', 2))
✓ assigning 1 to (860, 1019) produces 89 more balanced triangles (5, 94): (('s+1', 94), ('s-1', 3), ('w-1', 2))
Accuracy on 200 predictions is 1.0
iteration=2, #remaining targets=1619
graph partitioning...
to_scipy_sparse_matrix
100%|██████████| 77357/77357 [00:01<00:00, 58293.91it/s]
ALS...
predict labels (SVD + Kmeans)...
eigen values: [ 192.50225274 94.314556 74.98190964 56.35275535 46.55712091
42.81516672 42.09468087 41.59070258 40.387221 36.23217826]
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
solving max_balance
building triangle_count_by_edge
edge2edges (size 1673) is given
✓ assigning 1 to (867, 3773) produces 88 more balanced triangles (0, 88): (('s+1', 88),)
✓ assigning 1 to (936, 1020) produces 88 more balanced triangles (2, 90): (('s+1', 90), ('s-1', 2))
✓ assigning 1 to (841, 653) produces 88 more balanced triangles (4, 92): (('s+1', 92), ('s-1', 4))
✓ assigning 1 to (913, 190) produces 88 more balanced triangles (0, 88): (('s+1', 88),)
✓ assigning 1 to (71, 95) produces 88 more balanced triangles (2, 90): (('s+1', 90), ('s-1', 2))
✓ assigning 1 to (2443, 83) produces 88 more balanced triangles (0, 88): (('s+1', 88),)
✓ assigning 1 to (988, 841) produces 87 more balanced triangles (2, 89): (('s+1', 89), ('s-1', 2))
✓ assigning 1 to (975, 74) produces 87 more balanced triangles (4, 91): (('s+1', 91), ('s-1', 4))
✓ assigning 1 to (1171, 2808) produces 87 more balanced triangles (0, 87): (('s+1', 87),)
✓ assigning 1 to (955, 860) produces 87 more balanced triangles (6, 93): (('s+1', 93), ('s-1', 6))
✓ assigning 1 to (66, 798) produces 87 more balanced triangles (0, 87): (('s+1', 87),)
✓ assigning 1 to (648, 988) produces 87 more balanced triangles (4, 91): (('s+1', 91), ('s-1', 4))
✓ assigning 1 to (1389, 1043) produces 87 more balanced triangles (0, 87): (('s+1', 87),)
✓ assigning 1 to (8, 1053) produces 87 more balanced triangles (0, 87): (('s+1', 87),)
✓ assigning 1 to (2420, 988) produces 86 more balanced triangles (0, 86): (('s+1', 86),)
✓ assigning 1 to (4266, 65) produces 86 more balanced triangles (0, 86): (('s+1', 86),)
✓ assigning 1 to (67, 648) produces 86 more balanced triangles (2, 88): (('s+1', 88), ('s-1', 2))
✓ assigning 1 to (1239, 1171) produces 86 more balanced triangles (0, 86): (('s+1', 86),)
✓ assigning 1 to (648, 817) produces 86 more balanced triangles (2, 88): (('s+1', 88), ('s-1', 2))
✓ assigning 1 to (858, 71) produces 85 more balanced triangles (0, 85): (('s+1', 85),)
✓ assigning 1 to (976, 913) produces 85 more balanced triangles (11, 96): (('s+1', 96), ('s-1', 11))
✓ assigning 1 to (1006, 1020) produces 85 more balanced triangles (2, 87): (('s+1', 87), ('s-1', 2))
✓ assigning 1 to (4256, 896) produces 85 more balanced triangles (2, 87): (('s+1', 87), ('s-1', 2))
✓ assigning 1 to (1043, 1053) produces 85 more balanced triangles (0, 85): (('s+1', 85),)
✓ assigning 1 to (2808, 841) produces 85 more balanced triangles (1, 86): (('s+1', 86), ('s-1', 1))
✓ assigning 1 to (1027, 973) produces 85 more balanced triangles (3, 88): (('s+1', 88), ('s-1', 3))
✓ assigning 1 to (1053, 798) produces 85 more balanced triangles (1, 86): (('s+1', 86), ('s-1', 1))
✓ assigning 1 to (841, 1151) produces 85 more balanced triangles (0, 85): (('s+1', 85),)
✓ assigning 1 to (74, 38) produces 84 more balanced triangles (11, 95): (('s+1', 95), ('s-1', 11))
✓ assigning 1 to (64, 4256) produces 84 more balanced triangles (10, 94): (('s+1', 94), ('s-1', 10))
✓ assigning 1 to (82, 590) produces 84 more balanced triangles (2, 86): (('s+1', 86), ('s-1', 2))
✓ assigning 1 to (82, 152) produces 84 more balanced triangles (2, 86): (('s+1', 86), ('s-1', 2))
✓ assigning 1 to (2393, 71) produces 84 more balanced triangles (0, 84): (('s+1', 84),)
✓ assigning 1 to (648, 818) produces 84 more balanced triangles (1, 85): (('s+1', 85), ('s-1', 1))
✓ assigning 1 to (2434, 867) produces 84 more balanced triangles (0, 84): (('s+1', 84),)
✓ assigning 1 to (841, 1935) produces 84 more balanced triangles (1, 85): (('s+1', 85), ('s-1', 1))
✓ assigning 1 to (2354, 2066) produces 84 more balanced triangles (7, 91): (('s+1', 91), ('s-1', 4), ('w-1', 3))
✓ assigning 1 to (82, 859) produces 84 more balanced triangles (1, 85): (('s+1', 85), ('s-1', 1))
✓ assigning 1 to (841, 2454) produces 84 more balanced triangles (0, 84): (('s+1', 84),)
✓ assigning 1 to (62, 1054) produces 84 more balanced triangles (0, 84): (('s+1', 84),)
✓ assigning 1 to (590, 82) produces 84 more balanced triangles (2, 86): (('s+1', 86), ('s-1', 2))
✓ assigning 1 to (74, 590) produces 84 more balanced triangles (5, 89): (('s+1', 89), ('s-1', 5))
✓ assigning 1 to (2452, 95) produces 83 more balanced triangles (0, 83): (('s+1', 83),)
✓ assigning 1 to (791, 858) produces 83 more balanced triangles (1, 84): (('s+1', 84), ('s-1', 1))
✓ assigning 1 to (87, 629) produces 83 more balanced triangles (3, 86): (('s+1', 86), ('s-1', 3))
✓ assigning 1 to (1735, 841) produces 83 more balanced triangles (4, 87): (('s+1', 87), ('s-1', 4))
✓ assigning 1 to (1006, 2470) produces 83 more balanced triangles (0, 83): (('s+1', 83),)
✓ assigning 1 to (1053, 1061) produces 83 more balanced triangles (1, 84): (('s+1', 84), ('w-1', 1))
✓ assigning 1 to (653, 190) produces 82 more balanced triangles (7, 89): (('s+1', 89), ('s-1', 5), ('w-1', 2))
✓ assigning 1 to (2458, 3773) produces 82 more balanced triangles (1, 83): (('s+1', 83), ('s-1', 1))
✓ assigning 1 to (67, 880) produces 82 more balanced triangles (0, 82): (('s+1', 82),)
✓ assigning 1 to (858, 833) produces 82 more balanced triangles (1, 83): (('s+1', 83), ('s-1', 1))
✓ assigning 1 to (1012, 1054) produces 82 more balanced triangles (1, 83): (('s+1', 83), ('s-1', 1))
✓ assigning 1 to (106, 625) produces 82 more balanced triangles (13, 95): (('s+1', 95), ('s-1', 11), ('w-1', 2))
✓ assigning 1 to (1005, 1012) produces 82 more balanced triangles (1, 83): (('s+1', 83), ('s-1', 1))
✓ assigning 1 to (74, 57) produces 82 more balanced triangles (23, 105): (('s+1', 105), ('s-1', 16), ('w-1', 7))
✓ assigning 1 to (78, 65) produces 81 more balanced triangles (3, 84): (('s+1', 84), ('s-1', 3))
✓ assigning 1 to (820, 791) produces 81 more balanced triangles (0, 81): (('s+1', 81),)
✓ assigning 1 to (2393, 1033) produces 81 more balanced triangles (0, 81): (('s+1', 81),)
✓ assigning 1 to (2452, 43) produces 81 more balanced triangles (1, 82): (('s+1', 82), ('s-1', 1))
✓ assigning 1 to (856, 798) produces 81 more balanced triangles (0, 81): (('s+1', 81),)
✓ assigning 1 to (83, 1988) produces 81 more balanced triangles (0, 81): (('s+1', 81),)
✓ assigning 1 to (971, 880) produces 81 more balanced triangles (0, 81): (('s+1', 81),)
✓ assigning 1 to (82, 78) produces 81 more balanced triangles (4, 85): (('s+1', 85), ('s-1', 4))
✓ assigning 1 to (2452, 982) produces 81 more balanced triangles (0, 81): (('s+1', 81),)
✓ assigning 1 to (820, 973) produces 81 more balanced triangles (3, 84): (('s+1', 84), ('s-1', 3))
✓ assigning 1 to (87, 1707) produces 80 more balanced triangles (0, 80): (('s+1', 80),)
✓ assigning 1 to (896, 61) produces 80 more balanced triangles (0, 80): (('s+1', 80),)
✓ assigning 1 to (1033, 2043) produces 80 more balanced triangles (1, 81): (('s+1', 81), ('s-1', 1))
✓ assigning 1 to (2393, 2458) produces 80 more balanced triangles (1, 81): (('s+1', 81), ('s-1', 1))
✓ assigning 1 to (2443, 648) produces 80 more balanced triangles (0, 80): (('s+1', 80),)
✓ assigning 1 to (1005, 65) produces 80 more balanced triangles (0, 80): (('s+1', 80),)
✓ assigning 1 to (990, 841) produces 80 more balanced triangles (1, 81): (('s+1', 81), ('s-1', 1))
✓ assigning 1 to (2442, 2420) produces 80 more balanced triangles (0, 80): (('s+1', 80),)
✓ assigning 1 to (820, 896) produces 80 more balanced triangles (0, 80): (('s+1', 80),)
✓ assigning 1 to (1029, 962) produces 80 more balanced triangles (6, 86): (('s+1', 86), ('s-1', 4), ('w-1', 2))
✓ assigning 1 to (1027, 1061) produces 79 more balanced triangles (0, 79): (('s+1', 79),)
✓ assigning 1 to (87, 1065) produces 79 more balanced triangles (0, 79): (('s+1', 79),)
✓ assigning 1 to (2393, 2420) produces 79 more balanced triangles (1, 80): (('s+1', 80), ('s-1', 1))
✓ assigning 1 to (856, 70) produces 79 more balanced triangles (0, 79): (('s+1', 79),)
✓ assigning 1 to (1029, 818) produces 79 more balanced triangles (3, 82): (('s+1', 82), ('s-1', 3))
✓ assigning 1 to (78, 913) produces 79 more balanced triangles (0, 79): (('s+1', 79),)
✓ assigning 1 to (2458, 67) produces 79 more balanced triangles (0, 79): (('s+1', 79),)
✓ assigning 1 to (1735, 1197) produces 79 more balanced triangles (2, 81): (('s+1', 81), ('s-1', 2))
✓ assigning 1 to (4238, 71) produces 79 more balanced triangles (1, 80): (('s+1', 80), ('s-1', 1))
✓ assigning 1 to (2407, 1006) produces 79 more balanced triangles (0, 79): (('s+1', 79),)
✓ assigning 1 to (1151, 2420) produces 79 more balanced triangles (1, 80): (('s+1', 80), ('s-1', 1))
✓ assigning 1 to (1389, 1239) produces 78 more balanced triangles (0, 78): (('s+1', 78),)
✓ assigning 1 to (1171, 977) produces 78 more balanced triangles (0, 78): (('s+1', 78),)
✓ assigning 1 to (955, 65) produces 78 more balanced triangles (5, 83): (('s+1', 83), ('s-1', 5))
✓ assigning 1 to (87, 3041) produces 78 more balanced triangles (0, 78): (('s+1', 78),)
✓ assigning 1 to (2452, 990) produces 78 more balanced triangles (0, 78): (('s+1', 78),)
✓ assigning 1 to (152, 841) produces 78 more balanced triangles (0, 78): (('s+1', 78),)
✓ assigning 1 to (2452, 1389) produces 78 more balanced triangles (0, 78): (('s+1', 78),)
✓ assigning 1 to (1988, 65) produces 78 more balanced triangles (1, 79): (('s+1', 79), ('s-1', 1))
✓ assigning 1 to (2400, 833) produces 78 more balanced triangles (3, 81): (('s+1', 81), ('s-1', 2), ('w-1', 1))
✓ assigning 1 to (1043, 2443) produces 78 more balanced triangles (0, 78): (('s+1', 78),)
✓ assigning 1 to (1735, 64) produces 78 more balanced triangles (8, 86): (('s+1', 86), ('s-1', 6), ('w-1', 2))
✓ assigning 1 to (791, 2462) produces 78 more balanced triangles (2, 80): (('s+1', 80), ('s-1', 2))
✓ assigning 1 to (2393, 65) produces 78 more balanced triangles (0, 78): (('s+1', 78),)
✓ assigning 1 to (1061, 896) produces 78 more balanced triangles (0, 78): (('s+1', 78),)
✓ assigning 1 to (888, 62) produces 78 more balanced triangles (1, 79): (('s+1', 79), ('s-1', 1))
✓ assigning 1 to (2466, 913) produces 78 more balanced triangles (0, 78): (('s+1', 78),)
✓ assigning 1 to (1065, 860) produces 77 more balanced triangles (2, 79): (('s+1', 79), ('s-1', 2))
✓ assigning 1 to (590, 83) produces 77 more balanced triangles (0, 77): (('s+1', 77),)
✓ assigning 1 to (1287, 913) produces 77 more balanced triangles (13, 90): (('s+1', 90), ('s-1', 13))
✓ assigning 1 to (3414, 653) produces 77 more balanced triangles (5, 82): (('s+1', 82), ('s-1', 5))
✓ assigning 1 to (791, 2466) produces 77 more balanced triangles (0, 77): (('s+1', 77),)
✓ assigning 1 to (2404, 973) produces 76 more balanced triangles (2, 78): (('s+1', 78), ('s-1', 2))
✓ assigning 1 to (1006, 4238) produces 76 more balanced triangles (0, 76): (('s+1', 76),)
✓ assigning 1 to (4238, 65) produces 76 more balanced triangles (0, 76): (('s+1', 76),)
✓ assigning 1 to (66, 61) produces 76 more balanced triangles (0, 76): (('s+1', 76),)
✓ assigning 1 to (2404, 841) produces 76 more balanced triangles (0, 76): (('s+1', 76),)
✓ assigning 1 to (749, 945) produces 76 more balanced triangles (18, 94): (('s+1', 94), ('s-1', 15), ('w-1', 3))
✓ assigning 1 to (914, 66) produces 76 more balanced triangles (0, 76): (('s+1', 76),)
✓ assigning 1 to (2400, 860) produces 76 more balanced triangles (1, 77): (('s+1', 77), ('s-1', 1))
✓ assigning 1 to (1061, 62) produces 76 more balanced triangles (1, 77): (('s+1', 77), ('s-1', 1))
✓ assigning 1 to (65, 1028) produces 76 more balanced triangles (1, 77): (('s+1', 77), ('s-1', 1))
✓ assigning 1 to (955, 1012) produces 76 more balanced triangles (5, 81): (('s+1', 81), ('s-1', 5))
✓ assigning 1 to (1287, 1171) produces 76 more balanced triangles (9, 85): (('s+1', 85), ('s-1', 9))
✓ assigning 1 to (82, 3475) produces 76 more balanced triangles (1, 77): (('s+1', 77), ('s-1', 1))
✓ assigning 1 to (2400, 74) produces 76 more balanced triangles (1, 77): (('s+1', 77), ('s-1', 1))
✓ assigning 1 to (982, 867) produces 76 more balanced triangles (0, 76): (('s+1', 76),)
✓ assigning 1 to (1027, 817) produces 76 more balanced triangles (0, 76): (('s+1', 76),)
✓ assigning 1 to (945, 1054) produces 76 more balanced triangles (3, 79): (('s+1', 79), ('s-1', 3))
✓ assigning 1 to (2066, 841) produces 75 more balanced triangles (7, 82): (('s+1', 82), ('s-1', 5), ('w-1', 2))
✓ assigning 1 to (860, 590) produces 75 more balanced triangles (2, 77): (('s+1', 77), ('s-1', 2))
✓ assigning 1 to (860, 2470) produces 75 more balanced triangles (1, 76): (('s+1', 76), ('s-1', 1))
✓ assigning 1 to (97, 4238) produces 75 more balanced triangles (0, 75): (('s+1', 75),)
✓ assigning 1 to (973, 8) produces 75 more balanced triangles (2, 77): (('s+1', 77), ('s-1', 2))
✓ assigning 1 to (791, 1193) produces 75 more balanced triangles (0, 75): (('s+1', 75),)
✓ assigning 1 to (1029, 1197) produces 75 more balanced triangles (5, 80): (('s+1', 80), ('s-1', 4), ('w-1', 1))
✓ assigning 1 to (913, 821) produces 75 more balanced triangles (1, 76): (('s+1', 76), ('s-1', 1))
✓ assigning 1 to (61, 1066) produces 75 more balanced triangles (0, 75): (('s+1', 75),)
✓ assigning 1 to (1043, 1133) produces 75 more balanced triangles (0, 75): (('s+1', 75),)
✓ assigning 1 to (2400, 82) produces 75 more balanced triangles (2, 77): (('s+1', 77), ('s-1', 2))
✓ assigning 1 to (977, 880) produces 75 more balanced triangles (0, 75): (('s+1', 75),)
✓ assigning 1 to (2458, 629) produces 74 more balanced triangles (6, 80): (('s+1', 80), ('s-1', 5), ('w-1', 1))
✓ assigning 1 to (1019, 1043) produces 74 more balanced triangles (2, 76): (('s+1', 76), ('s-1', 2))
✓ assigning 1 to (1239, 798) produces 74 more balanced triangles (1, 75): (('s+1', 75), ('s-1', 1))
✓ assigning 1 to (1054, 896) produces 74 more balanced triangles (0, 74): (('s+1', 74),)
✓ assigning 1 to (990, 1053) produces 74 more balanced triangles (3, 77): (('s+1', 77), ('s-1', 3))
✓ assigning 1 to (66, 62) produces 74 more balanced triangles (0, 74): (('s+1', 74),)
✓ assigning 1 to (97, 1133) produces 74 more balanced triangles (1, 75): (('s+1', 75), ('s-1', 1))
✓ assigning 1 to (973, 4238) produces 74 more balanced triangles (1, 75): (('s+1', 75), ('s-1', 1))
✓ assigning 1 to (1050, 75) produces 74 more balanced triangles (4, 78): (('s+1', 78), ('s-1', 4))
✓ assigning 1 to (798, 2442) produces 74 more balanced triangles (0, 74): (('s+1', 74),)
✓ assigning 1 to (648, 2393) produces 74 more balanced triangles (1, 75): (('s+1', 75), ('s-1', 1))
✓ assigning 1 to (880, 856) produces 74 more balanced triangles (0, 74): (('s+1', 74),)
✓ assigning 1 to (1043, 1028) produces 73 more balanced triangles (0, 73): (('s+1', 73),)
✓ assigning 1 to (2393, 1029) produces 73 more balanced triangles (3, 76): (('s+1', 76), ('s-1', 3))
✓ assigning 1 to (988, 817) produces 73 more balanced triangles (1, 74): (('s+1', 74), ('s-1', 1))
✓ assigning 1 to (955, 64) produces 73 more balanced triangles (7, 80): (('s+1', 80), ('s-1', 7))
✓ assigning 1 to (2420, 977) produces 73 more balanced triangles (0, 73): (('s+1', 73),)
✓ assigning 1 to (3041, 1033) produces 73 more balanced triangles (1, 74): (('s+1', 74), ('s-1', 1))
✓ assigning 1 to (65, 152) produces 73 more balanced triangles (2, 75): (('s+1', 75), ('s-1', 2))
✓ assigning 1 to (1028, 1043) produces 73 more balanced triangles (0, 73): (('s+1', 73),)
✓ assigning 1 to (62, 820) produces 73 more balanced triangles (1, 74): (('s+1', 74), ('s-1', 1))
✓ assigning 1 to (8, 841) produces 73 more balanced triangles (0, 73): (('s+1', 73),)
✓ assigning 1 to (1727, 74) produces 73 more balanced triangles (1, 74): (('s+1', 74), ('s-1', 1))
✓ assigning 1 to (190, 38) produces 73 more balanced triangles (2, 75): (('s+1', 75), ('s-1', 2))
✓ assigning 1 to (859, 2452) produces 73 more balanced triangles (0, 73): (('s+1', 73),)
✓ assigning 1 to (74, 2073) produces 72 more balanced triangles (5, 77): (('s+1', 77), ('s-1', 4), ('w-1', 1))
✓ assigning 1 to (65, 836) produces 72 more balanced triangles (0, 72): (('s+1', 72),)
✓ assigning 1 to (1006, 2434) produces 72 more balanced triangles (1, 73): (('s+1', 73), ('s-1', 1))
✓ assigning 1 to (973, 982) produces 72 more balanced triangles (1, 73): (('s+1', 73), ('s-1', 1))
✓ assigning 1 to (62, 1005) produces 72 more balanced triangles (1, 73): (('s+1', 73), ('s-1', 1))
✓ assigning 1 to (4266, 2393) produces 72 more balanced triangles (0, 72): (('s+1', 72),)
✓ assigning 1 to (1021, 913) produces 72 more balanced triangles (0, 72): (('s+1', 72),)
✓ assigning 1 to (791, 2434) produces 72 more balanced triangles (0, 72): (('s+1', 72),)
✓ assigning 1 to (1197, 2393) produces 72 more balanced triangles (1, 73): (('s+1', 73), ('s-1', 1))
✓ assigning 1 to (1239, 1029) produces 72 more balanced triangles (3, 75): (('s+1', 75), ('s-1', 3))
✓ assigning 1 to (1802, 1814) produces 72 more balanced triangles (0, 72): (('s+1', 72),)
✓ assigning 1 to (1005, 62) produces 72 more balanced triangles (1, 73): (('s+1', 73), ('s-1', 1))
✓ assigning 1 to (2073, 74) produces 72 more balanced triangles (5, 77): (('s+1', 77), ('s-1', 4), ('w-1', 1))
✓ assigning 1 to (8685, 648) produces 72 more balanced triangles (0, 72): (('s+1', 72),)
✓ assigning 1 to (66, 2442) produces 72 more balanced triangles (0, 72): (('s+1', 72),)
✓ assigning 1 to (80, 791) produces 71 more balanced triangles (2, 73): (('s+1', 73), ('s-1', 2))
✓ assigning 1 to (4266, 896) produces 71 more balanced triangles (0, 71): (('s+1', 71),)
✓ assigning 1 to (4949, 653) produces 71 more balanced triangles (2, 73): (('s+1', 73), ('s-1', 2))
✓ assigning 1 to (896, 4266) produces 71 more balanced triangles (0, 71): (('s+1', 71),)
✓ assigning 1 to (2434, 648) produces 71 more balanced triangles (0, 71): (('s+1', 71),)
✓ assigning 1 to (590, 65) produces 71 more balanced triangles (1, 72): (('s+1', 72), ('s-1', 1))
✓ assigning 1 to (1061, 66) produces 71 more balanced triangles (0, 71): (('s+1', 71),)
✓ assigning 1 to (971, 896) produces 71 more balanced triangles (0, 71): (('s+1', 71),)
✓ assigning 1 to (2466, 74) produces 71 more balanced triangles (2, 73): (('s+1', 73), ('s-1', 2))
✓ assigning 1 to (880, 3041) produces 71 more balanced triangles (0, 71): (('s+1', 71),)
✓ assigning 1 to (82, 3414) produces 71 more balanced triangles (1, 72): (('s+1', 72), ('s-1', 1))
✓ assigning 1 to (152, 1029) produces 71 more balanced triangles (1, 72): (('s+1', 72), ('s-1', 1))
✓ assigning 1 to (990, 973) produces 71 more balanced triangles (5, 76): (('s+1', 76), ('s-1', 4), ('w-1', 1))
✓ assigning 1 to (2420, 2354) produces 71 more balanced triangles (5, 76): (('s+1', 76), ('s-1', 5))
✓ assigning 1 to (1802, 4903) produces 71 more balanced triangles (1, 72): (('s+1', 72), ('s-1', 1))
✓ assigning 1 to (55, 65) produces 70 more balanced triangles (2, 72): (('s+1', 72), ('s-1', 2))
✓ assigning 1 to (971, 881) produces 70 more balanced triangles (0, 70): (('s+1', 70),)
✓ assigning 1 to (818, 2808) produces 70 more balanced triangles (0, 70): (('s+1', 70),)
✓ assigning 1 to (3041, 71) produces 70 more balanced triangles (0, 70): (('s+1', 70),)
✓ assigning 1 to (2452, 2808) produces 70 more balanced triangles (1, 71): (('s+1', 71), ('s-1', 1))
✓ assigning 1 to (8685, 2458) produces 70 more balanced triangles (0, 70): (('s+1', 70),)
✓ assigning 1 to (1061, 962) produces 70 more balanced triangles (1, 71): (('s+1', 71), ('s-1', 1))
✓ assigning 1 to (1935, 1012) produces 70 more balanced triangles (4, 74): (('s+1', 74), ('s-1', 4))
Accuracy on 400 predictions is 1.0
iteration=3, #remaining targets=1419
graph partitioning...
to_scipy_sparse_matrix
100%|██████████| 77357/77357 [00:01<00:00, 57628.30it/s]
ALS...
predict labels (SVD + Kmeans)...
eigen values: [ 192.50225274 94.314556 74.98190964 56.35275535 46.55712091
42.81516672 42.09468087 41.59070258 40.387221 36.23217826]
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
solving max_balance
building triangle_count_by_edge
edge2edges (size 1674) is given
✓ assigning 1 to (4808, 1287) produces 72 more balanced triangles (10, 82): (('s+1', 82), ('s-1', 10))
✓ assigning 1 to (1065, 1006) produces 70 more balanced triangles (0, 70): (('s+1', 70),)
✓ assigning 1 to (914, 1200) produces 69 more balanced triangles (1, 70): (('s+1', 70), ('s-1', 1))
✓ assigning 1 to (4808, 2066) produces 69 more balanced triangles (5, 74): (('s+1', 74), ('s-1', 3), ('w-1', 2))
✓ assigning 1 to (867, 1021) produces 69 more balanced triangles (0, 69): (('s+1', 69),)
✓ assigning 1 to (2420, 2443) produces 69 more balanced triangles (0, 69): (('s+1', 69),)
✓ assigning 1 to (888, 2458) produces 69 more balanced triangles (0, 69): (('s+1', 69),)
✓ assigning 1 to (841, 3041) produces 69 more balanced triangles (0, 69): (('s+1', 69),)
✓ assigning 1 to (2421, 648) produces 69 more balanced triangles (0, 69): (('s+1', 69),)
✗ assigning 1 to (1053, 955) produces 69 more balanced triangles (4, 73): (('s+1', 73), ('s-1', 4))
✓ assigning 1 to (8, 70) produces 69 more balanced triangles (0, 69): (('s+1', 69),)
✓ assigning 1 to (1801, 1753) produces 69 more balanced triangles (4, 73): (('s+1', 73), ('s-1', 4))
✓ assigning 1 to (97, 1019) produces 69 more balanced triangles (4, 73): (('s+1', 73), ('s-1', 3), ('w-1', 1))
✓ assigning 1 to (8, 990) produces 69 more balanced triangles (1, 70): (('s+1', 70), ('s-1', 1))
✓ assigning 1 to (1133, 62) produces 69 more balanced triangles (2, 71): (('s+1', 71), ('s-1', 2))
✓ assigning 1 to (858, 896) produces 69 more balanced triangles (0, 69): (('s+1', 69),)
✓ assigning 1 to (61, 1054) produces 69 more balanced triangles (0, 69): (('s+1', 69),)
✓ assigning -1 to (13001, 1092) produces 69 more balanced triangles (70, 1): (('s-1', 70), ('s+1', 1))
✓ assigning 1 to (1012, 8685) produces 69 more balanced triangles (0, 69): (('s+1', 69),)
✓ assigning 1 to (859, 880) produces 68 more balanced triangles (0, 68): (('s+1', 68),)
✓ assigning 1 to (1053, 2470) produces 68 more balanced triangles (0, 68): (('s+1', 68),)
✓ assigning 1 to (1033, 2401) produces 68 more balanced triangles (1, 69): (('s+1', 69), ('s-1', 1))
✓ assigning 1 to (1066, 833) produces 68 more balanced triangles (3, 71): (('s+1', 71), ('s-1', 3))
✓ assigning 1 to (2458, 7860) produces 68 more balanced triangles (1, 69): (('s+1', 69), ('s-1', 1))
✓ assigning 1 to (4256, 945) produces 68 more balanced triangles (2, 70): (('s+1', 70), ('s-1', 2))
✓ assigning 1 to (4238, 1197) produces 68 more balanced triangles (0, 68): (('s+1', 68),)
✓ assigning 1 to (1197, 4238) produces 68 more balanced triangles (0, 68): (('s+1', 68),)
✓ assigning 1 to (66, 2066) produces 68 more balanced triangles (2, 70): (('s+1', 70), ('w-1', 1), ('s-1', 1))
✓ assigning 1 to (66, 2808) produces 68 more balanced triangles (0, 68): (('s+1', 68),)
✓ assigning 1 to (880, 859) produces 68 more balanced triangles (0, 68): (('s+1', 68),)
✓ assigning 1 to (2808, 66) produces 68 more balanced triangles (0, 68): (('s+1', 68),)
✓ assigning 1 to (1239, 880) produces 68 more balanced triangles (0, 68): (('s+1', 68),)
✓ assigning 1 to (2458, 4238) produces 67 more balanced triangles (0, 67): (('s+1', 67),)
✓ assigning 1 to (629, 34) produces 67 more balanced triangles (3, 70): (('s+1', 70), ('s-1', 3))
✓ assigning 1 to (95, 1029) produces 67 more balanced triangles (2, 69): (('s+1', 69), ('s-1', 2))
✓ assigning 1 to (648, 1193) produces 67 more balanced triangles (1, 68): (('s+1', 68), ('s-1', 1))
✓ assigning 1 to (896, 859) produces 67 more balanced triangles (0, 67): (('s+1', 67),)
✓ assigning 1 to (3041, 97) produces 67 more balanced triangles (1, 68): (('s+1', 68), ('s-1', 1))
✓ assigning 1 to (913, 2389) produces 67 more balanced triangles (0, 67): (('s+1', 67),)
✓ assigning 1 to (2400, 1033) produces 67 more balanced triangles (0, 67): (('s+1', 67),)
✓ assigning 1 to (1054, 64) produces 67 more balanced triangles (5, 72): (('s+1', 72), ('s-1', 5))
✓ assigning 1 to (2389, 913) produces 67 more balanced triangles (0, 67): (('s+1', 67),)
✓ assigning 1 to (1061, 1028) produces 67 more balanced triangles (0, 67): (('s+1', 67),)
✓ assigning 1 to (2451, 791) produces 67 more balanced triangles (0, 67): (('s+1', 67),)
✓ assigning 1 to (2553, 1155) produces 67 more balanced triangles (0, 67): (('s+1', 67),)
✓ assigning 1 to (2452, 2354) produces 67 more balanced triangles (3, 70): (('s+1', 70), ('s-1', 3))
✓ assigning 1 to (2452, 34) produces 67 more balanced triangles (10, 77): (('s+1', 77), ('s-1', 10))
✓ assigning 1 to (1054, 990) produces 66 more balanced triangles (1, 67): (('s+1', 67), ('s-1', 1))
✓ assigning 1 to (2380, 74) produces 66 more balanced triangles (1, 67): (('s+1', 67), ('s-1', 1))
✓ assigning 1 to (881, 67) produces 66 more balanced triangles (0, 66): (('s+1', 66),)
✓ assigning 1 to (881, 1005) produces 66 more balanced triangles (0, 66): (('s+1', 66),)
✓ assigning 1 to (1033, 3475) produces 66 more balanced triangles (0, 66): (('s+1', 66),)
✓ assigning 1 to (1801, 2553) produces 66 more balanced triangles (1, 67): (('s+1', 67), ('s-1', 1))
✓ assigning 1 to (988, 3773) produces 66 more balanced triangles (0, 66): (('s+1', 66),)
✓ assigning 1 to (842, 1066) produces 66 more balanced triangles (0, 66): (('s+1', 66),)
✓ assigning 1 to (2451, 867) produces 66 more balanced triangles (0, 66): (('s+1', 66),)
✓ assigning 1 to (841, 1287) produces 66 more balanced triangles (8, 74): (('s+1', 74), ('s-1', 8))
✓ assigning 1 to (896, 982) produces 66 more balanced triangles (0, 66): (('s+1', 66),)
✓ assigning 1 to (8, 858) produces 66 more balanced triangles (0, 66): (('s+1', 66),)
✓ assigning 1 to (83, 2451) produces 66 more balanced triangles (0, 66): (('s+1', 66),)
✓ assigning 1 to (74, 2476) produces 66 more balanced triangles (0, 66): (('s+1', 66),)
✓ assigning 1 to (1171, 250) produces 66 more balanced triangles (1, 67): (('s+1', 67), ('s-1', 1))
✓ assigning 1 to (975, 648) produces 66 more balanced triangles (2, 68): (('s+1', 68), ('s-1', 2))
✓ assigning 1 to (1033, 836) produces 66 more balanced triangles (1, 67): (('s+1', 67), ('s-1', 1))
✓ assigning -1 to (13001, 1801) produces 66 more balanced triangles (73, 7): (('s-1', 73), ('s+1', 7))
✓ assigning 1 to (3414, 83) produces 66 more balanced triangles (1, 67): (('s+1', 67), ('s-1', 1))
✓ assigning 1 to (92, 15) produces 66 more balanced triangles (0, 66): (('s+1', 66),)
✓ assigning 1 to (83, 3414) produces 66 more balanced triangles (1, 67): (('s+1', 67), ('s-1', 1))
✓ assigning 1 to (856, 990) produces 66 more balanced triangles (2, 68): (('s+1', 68), ('s-1', 2))
✓ assigning 1 to (2443, 833) produces 66 more balanced triangles (1, 67): (('s+1', 67), ('s-1', 1))
✓ assigning 1 to (1171, 1193) produces 66 more balanced triangles (0, 66): (('s+1', 66),)
✓ assigning 1 to (955, 809) produces 66 more balanced triangles (3, 69): (('s+1', 69), ('s-1', 3))
✓ assigning 1 to (1092, 118) produces 65 more balanced triangles (2, 67): (('s+1', 67), ('s-1', 2))
✓ assigning 1 to (2380, 913) produces 65 more balanced triangles (1, 66): (('s+1', 66), ('s-1', 1))
✓ assigning 1 to (1028, 62) produces 65 more balanced triangles (2, 67): (('s+1', 67), ('s-1', 2))
✓ assigning 1 to (2443, 798) produces 65 more balanced triangles (1, 66): (('s+1', 66), ('s-1', 1))
✓ assigning 1 to (1052, 973) produces 65 more balanced triangles (3, 68): (('s+1', 68), ('s-1', 3))
✓ assigning 1 to (881, 809) produces 65 more balanced triangles (3, 68): (('s+1', 68), ('s-1', 3))
✓ assigning 1 to (973, 856) produces 65 more balanced triangles (3, 68): (('s+1', 68), ('s-1', 3))
✓ assigning 1 to (817, 3773) produces 65 more balanced triangles (0, 65): (('s+1', 65),)
✓ assigning 1 to (190, 1116) produces 65 more balanced triangles (3, 68): (('s+1', 68), ('s-1', 3))
✓ assigning 1 to (1019, 977) produces 65 more balanced triangles (3, 68): (('s+1', 68), ('s-1', 3))
✓ assigning 1 to (976, 629) produces 65 more balanced triangles (3, 68): (('s+1', 68), ('s-1', 3))
✓ assigning 1 to (971, 61) produces 65 more balanced triangles (0, 65): (('s+1', 65),)
✓ assigning 1 to (97, 2400) produces 64 more balanced triangles (0, 64): (('s+1', 64),)
✓ assigning 1 to (817, 4238) produces 64 more balanced triangles (0, 64): (('s+1', 64),)
✓ assigning 1 to (2407, 896) produces 64 more balanced triangles (1, 65): (('s+1', 65), ('s-1', 1))
✓ assigning 1 to (1012, 749) produces 64 more balanced triangles (4, 68): (('s+1', 68), ('s-1', 4))
✓ assigning 1 to (888, 1043) produces 64 more balanced triangles (0, 64): (('s+1', 64),)
✓ assigning 1 to (82, 1022) produces 64 more balanced triangles (2, 66): (('s+1', 66), ('s-1', 2))
✓ assigning 1 to (97, 2462) produces 64 more balanced triangles (0, 64): (('s+1', 64),)
✓ assigning 1 to (1389, 2466) produces 64 more balanced triangles (0, 64): (('s+1', 64),)
✓ assigning 1 to (87, 2328) produces 64 more balanced triangles (1, 65): (('s+1', 65), ('s-1', 1))
✓ assigning 1 to (945, 818) produces 64 more balanced triangles (0, 64): (('s+1', 64),)
✓ assigning 1 to (798, 817) produces 64 more balanced triangles (2, 66): (('s+1', 66), ('s-1', 2))
✓ assigning 1 to (990, 1061) produces 64 more balanced triangles (0, 64): (('s+1', 64),)
✓ assigning 1 to (1066, 64) produces 64 more balanced triangles (8, 72): (('s+1', 72), ('s-1', 8))
✓ assigning 1 to (982, 1707) produces 64 more balanced triangles (0, 64): (('s+1', 64),)
✓ assigning 1 to (1197, 842) produces 64 more balanced triangles (0, 64): (('s+1', 64),)
✓ assigning 1 to (83, 876) produces 64 more balanced triangles (0, 64): (('s+1', 64),)
✓ assigning 1 to (2404, 4256) produces 64 more balanced triangles (0, 64): (('s+1', 64),)
✓ assigning 1 to (896, 2407) produces 64 more balanced triangles (1, 65): (('s+1', 65), ('s-1', 1))
✓ assigning 1 to (881, 962) produces 64 more balanced triangles (1, 65): (('s+1', 65), ('s-1', 1))
✓ assigning 1 to (842, 1197) produces 64 more balanced triangles (0, 64): (('s+1', 64),)
✓ assigning 1 to (749, 87) produces 63 more balanced triangles (4, 67): (('s+1', 67), ('s-1', 4))
✓ assigning 1 to (951, 913) produces 63 more balanced triangles (0, 63): (('s+1', 63),)
✓ assigning 1 to (1052, 1012) produces 63 more balanced triangles (2, 65): (('s+1', 65), ('s-1', 2))
✓ assigning 1 to (895, 74) produces 63 more balanced triangles (1, 64): (('s+1', 64), ('w-1', 1))
✓ assigning 1 to (977, 1053) produces 63 more balanced triangles (0, 63): (('s+1', 63),)
✓ assigning 1 to (97, 190) produces 63 more balanced triangles (0, 63): (('s+1', 63),)
✓ assigning 1 to (2073, 1012) produces 63 more balanced triangles (0, 63): (('s+1', 63),)
✓ assigning 1 to (190, 97) produces 63 more balanced triangles (0, 63): (('s+1', 63),)
✓ assigning 1 to (1426, 4808) produces 63 more balanced triangles (1, 64): (('s+1', 64), ('s-1', 1))
✓ assigning 1 to (976, 83) produces 63 more balanced triangles (17, 80): (('s+1', 80), ('s-1', 17))
✓ assigning 1 to (982, 833) produces 63 more balanced triangles (2, 65): (('s+1', 65), ('s-1', 2))
✓ assigning 1 to (70, 1935) produces 63 more balanced triangles (1, 64): (('s+1', 64), ('s-1', 1))
✓ assigning 1 to (2389, 1006) produces 63 more balanced triangles (0, 63): (('s+1', 63),)
✓ assigning 1 to (7860, 2443) produces 63 more balanced triangles (0, 63): (('s+1', 63),)
✓ assigning 1 to (653, 914) produces 63 more balanced triangles (2, 65): (('s+1', 65), ('s-1', 2))
✓ assigning 1 to (2389, 791) produces 63 more balanced triangles (0, 63): (('s+1', 63),)
✓ assigning 1 to (1061, 95) produces 63 more balanced triangles (0, 63): (('s+1', 63),)
✓ assigning 1 to (973, 3475) produces 63 more balanced triangles (1, 64): (('s+1', 64), ('s-1', 1))
✓ assigning 1 to (2442, 914) produces 63 more balanced triangles (0, 63): (('s+1', 63),)
✓ assigning 1 to (2404, 66) produces 63 more balanced triangles (0, 63): (('s+1', 63),)
✓ assigning 1 to (3773, 1389) produces 63 more balanced triangles (1, 64): (('s+1', 64), ('s-1', 1))
✓ assigning 1 to (2462, 896) produces 62 more balanced triangles (1, 63): (('s+1', 63), ('s-1', 1))
✓ assigning 1 to (2442, 1935) produces 62 more balanced triangles (1, 63): (('s+1', 63), ('s-1', 1))
✓ assigning 1 to (1792, 1753) produces 62 more balanced triangles (0, 62): (('s+1', 62),)
✓ assigning 1 to (856, 1151) produces 62 more balanced triangles (0, 62): (('s+1', 62),)
✓ assigning 1 to (881, 2407) produces 62 more balanced triangles (0, 62): (('s+1', 62),)
✓ assigning 1 to (1239, 3773) produces 62 more balanced triangles (1, 63): (('s+1', 63), ('s-1', 1))
✓ assigning 1 to (867, 250) produces 62 more balanced triangles (1, 63): (('s+1', 63), ('s-1', 1))
✓ assigning 1 to (4256, 888) produces 62 more balanced triangles (1, 63): (('s+1', 63), ('s-1', 1))
✓ assigning 1 to (955, 833) produces 62 more balanced triangles (5, 67): (('s+1', 67), ('s-1', 5))
✓ assigning 1 to (8, 817) produces 62 more balanced triangles (0, 62): (('s+1', 62),)
✓ assigning 1 to (2434, 97) produces 62 more balanced triangles (0, 62): (('s+1', 62),)
✓ assigning 1 to (4808, 977) produces 62 more balanced triangles (1, 63): (('s+1', 63), ('s-1', 1))
✓ assigning 1 to (2428, 82) produces 62 more balanced triangles (0, 62): (('s+1', 62),)
✓ assigning 1 to (1027, 3773) produces 62 more balanced triangles (0, 62): (('s+1', 62),)
✓ assigning 1 to (856, 2354) produces 62 more balanced triangles (1, 63): (('s+1', 63), ('s-1', 1))
✓ assigning 1 to (951, 74) produces 62 more balanced triangles (1, 63): (('s+1', 63), ('s-1', 1))
✓ assigning 1 to (1735, 1300) produces 61 more balanced triangles (3, 64): (('s+1', 64), ('s-1', 3))
✓ assigning 1 to (190, 2420) produces 61 more balanced triangles (0, 61): (('s+1', 61),)
✓ assigning 1 to (945, 8) produces 61 more balanced triangles (0, 61): (('s+1', 61),)
✓ assigning 1 to (1027, 1052) produces 61 more balanced triangles (3, 64): (('s+1', 64), ('s-1', 3))
✓ assigning 1 to (70, 859) produces 61 more balanced triangles (0, 61): (('s+1', 61),)
✓ assigning 1 to (64, 817) produces 61 more balanced triangles (12, 73): (('s+1', 73), ('s-1', 12))
✓ assigning 1 to (867, 821) produces 61 more balanced triangles (0, 61): (('s+1', 61),)
✓ assigning 1 to (67, 818) produces 61 more balanced triangles (0, 61): (('s+1', 61),)
✓ assigning 1 to (4266, 2354) produces 61 more balanced triangles (2, 63): (('s+1', 63), ('s-1', 2))
✓ assigning 1 to (2398, 74) produces 61 more balanced triangles (0, 61): (('s+1', 61),)
✓ assigning 1 to (2404, 1389) produces 61 more balanced triangles (0, 61): (('s+1', 61),)
✓ assigning 1 to (82, 1990) produces 61 more balanced triangles (3, 64): (('s+1', 64), ('s-1', 3))
✓ assigning 1 to (818, 4238) produces 61 more balanced triangles (0, 61): (('s+1', 61),)
✓ assigning 1 to (791, 2476) produces 61 more balanced triangles (0, 61): (('s+1', 61),)
✓ assigning 1 to (64, 2462) produces 61 more balanced triangles (6, 67): (('s+1', 67), ('s-1', 6))
✓ assigning 1 to (962, 809) produces 61 more balanced triangles (3, 64): (('s+1', 64), ('w-1', 2), ('s-1', 1))
✓ assigning 1 to (2454, 977) produces 61 more balanced triangles (0, 61): (('s+1', 61),)
✓ assigning 1 to (2393, 1389) produces 61 more balanced triangles (0, 61): (('s+1', 61),)
✓ assigning 1 to (936, 57) produces 61 more balanced triangles (13, 74): (('s+1', 74), ('s-1', 13))
✓ assigning 1 to (66, 2434) produces 60 more balanced triangles (0, 60): (('s+1', 60),)
✓ assigning 1 to (1006, 7765) produces 60 more balanced triangles (1, 61): (('s+1', 61), ('s-1', 1))
✓ assigning 1 to (70, 2066) produces 60 more balanced triangles (4, 64): (('s+1', 64), ('s-1', 3), ('w-1', 1))
✓ assigning 1 to (2421, 867) produces 60 more balanced triangles (0, 60): (('s+1', 60),)
✓ assigning 1 to (856, 66) produces 60 more balanced triangles (0, 60): (('s+1', 60),)
✓ assigning 1 to (8685, 896) produces 60 more balanced triangles (0, 60): (('s+1', 60),)
✓ assigning 1 to (818, 988) produces 60 more balanced triangles (0, 60): (('s+1', 60),)
✓ assigning 1 to (962, 977) produces 60 more balanced triangles (1, 61): (('s+1', 61), ('s-1', 1))
✓ assigning 1 to (945, 66) produces 60 more balanced triangles (1, 61): (('s+1', 61), ('s-1', 1))
✓ assigning 1 to (975, 2452) produces 60 more balanced triangles (1, 61): (('s+1', 61), ('s-1', 1))
✓ assigning 1 to (881, 43) produces 60 more balanced triangles (0, 60): (('s+1', 60),)
✓ assigning 1 to (1061, 914) produces 60 more balanced triangles (1, 61): (('s+1', 61), ('s-1', 1))
✓ assigning 1 to (1792, 7601) produces 60 more balanced triangles (1, 61): (('s+1', 61), ('s-1', 1))
✓ assigning 1 to (1065, 1707) produces 60 more balanced triangles (0, 60): (('s+1', 60),)
✓ assigning 1 to (4266, 914) produces 60 more balanced triangles (0, 60): (('s+1', 60),)
✓ assigning 1 to (962, 522) produces 60 more balanced triangles (2, 62): (('s+1', 62), ('s-1', 2))
✓ assigning 1 to (1021, 2458) produces 60 more balanced triangles (0, 60): (('s+1', 60),)
✓ assigning 1 to (1052, 988) produces 60 more balanced triangles (3, 63): (('s+1', 63), ('s-1', 3))
✓ assigning 1 to (977, 962) produces 60 more balanced triangles (1, 61): (('s+1', 61), ('s-1', 1))
✓ assigning 1 to (67, 4238) produces 59 more balanced triangles (0, 59): (('s+1', 59),)
✓ assigning 1 to (860, 2073) produces 59 more balanced triangles (2, 61): (('s+1', 61), ('s-1', 2))
✓ assigning 1 to (2066, 2443) produces 59 more balanced triangles (1, 60): (('s+1', 60), ('s-1', 1))
✓ assigning 1 to (1460, 653) produces 59 more balanced triangles (3, 62): (('s+1', 62), ('s-1', 3))
✓ assigning 1 to (842, 833) produces 59 more balanced triangles (1, 60): (('s+1', 60), ('s-1', 1))
✓ assigning 1 to (1053, 1065) produces 59 more balanced triangles (0, 59): (('s+1', 59),)
✓ assigning 1 to (1151, 1935) produces 59 more balanced triangles (0, 59): (('s+1', 59),)
✓ assigning 1 to (2383, 1043) produces 59 more balanced triangles (0, 59): (('s+1', 59),)
✓ assigning 1 to (1735, 4903) produces 59 more balanced triangles (3, 62): (('s+1', 62), ('s-1', 3))
✓ assigning 1 to (152, 1133) produces 59 more balanced triangles (0, 59): (('s+1', 59),)
✓ assigning 1 to (1133, 152) produces 59 more balanced triangles (0, 59): (('s+1', 59),)
✓ assigning 1 to (809, 975) produces 59 more balanced triangles (1, 60): (('s+1', 60), ('s-1', 1))
✓ assigning 1 to (629, 896) produces 59 more balanced triangles (2, 61): (('s+1', 61), ('s-1', 2))
✓ assigning 1 to (817, 982) produces 59 more balanced triangles (0, 59): (('s+1', 59),)
✓ assigning 1 to (2113, 1265) produces 59 more balanced triangles (4, 63): (('s+1', 63), ('s-1', 4))
✓ assigning 1 to (1753, 2553) produces 59 more balanced triangles (0, 59): (('s+1', 59),)
✓ assigning 1 to (896, 975) produces 59 more balanced triangles (1, 60): (('s+1', 60), ('s-1', 1))
✓ assigning 1 to (142, 75) produces 58 more balanced triangles (1, 59): (('s+1', 59), ('s-1', 1))
✓ assigning 1 to (6543, 833) produces 58 more balanced triangles (0, 58): (('s+1', 58),)
✓ assigning 1 to (67, 2462) produces 58 more balanced triangles (0, 58): (('s+1', 58),)
✓ assigning 1 to (3041, 61) produces 58 more balanced triangles (0, 58): (('s+1', 58),)
Accuracy on 600 predictions is 0.9983333333333333
iteration=4, #remaining targets=1219
graph partitioning...
to_scipy_sparse_matrix
100%|██████████| 77357/77357 [00:01<00:00, 55470.85it/s]
ALS...
predict labels (SVD + Kmeans)...
eigen values: [ 192.50225274 94.314556 74.98190964 56.35275535 46.55712091
42.81516672 42.09468087 41.59070258 40.387221 36.23217826]
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
solving max_balance
building triangle_count_by_edge
edge2edges (size 1677) is given
✓ assigning 1 to (80, 64) produces 64 more balanced triangles (5, 69): (('s+1', 69), ('s-1', 5))
✓ assigning 1 to (2466, 4266) produces 58 more balanced triangles (0, 58): (('s+1', 58),)
✓ assigning 1 to (2476, 860) produces 58 more balanced triangles (0, 58): (('s+1', 58),)
✓ assigning 1 to (858, 67) produces 58 more balanced triangles (0, 58): (('s+1', 58),)
✓ assigning 1 to (5071, 1389) produces 58 more balanced triangles (0, 58): (('s+1', 58),)
✓ assigning 1 to (977, 971) produces 58 more balanced triangles (0, 58): (('s+1', 58),)
✓ assigning 1 to (4256, 590) produces 58 more balanced triangles (1, 59): (('s+1', 59), ('s-1', 1))
✓ assigning 1 to (1043, 43) produces 58 more balanced triangles (1, 59): (('s+1', 59), ('s-1', 1))
✓ assigning 1 to (67, 858) produces 58 more balanced triangles (0, 58): (('s+1', 58),)
✓ assigning 1 to (6543, 1171) produces 58 more balanced triangles (0, 58): (('s+1', 58),)
✓ assigning 1 to (856, 818) produces 58 more balanced triangles (0, 58): (('s+1', 58),)
✓ assigning 1 to (936, 2427) produces 58 more balanced triangles (0, 58): (('s+1', 58),)
✓ assigning 1 to (1193, 1012) produces 58 more balanced triangles (1, 59): (('s+1', 59), ('s-1', 1))
✓ assigning 1 to (2443, 962) produces 58 more balanced triangles (0, 58): (('s+1', 58),)
✓ assigning 1 to (1426, 1389) produces 58 more balanced triangles (1, 59): (('s+1', 59), ('s-1', 1))
✓ assigning 1 to (936, 659) produces 58 more balanced triangles (5, 63): (('s+1', 63), ('s-1', 5))
✓ assigning 1 to (1236, 184) produces 58 more balanced triangles (3, 61): (('s+1', 61), ('s-1', 3))
✓ assigning 1 to (2476, 87) produces 58 more balanced triangles (0, 58): (('s+1', 58),)
✓ assigning 1 to (2502, 1801) produces 58 more balanced triangles (2, 60): (('s+1', 60), ('s-1', 2))
✓ assigning 1 to (2454, 152) produces 57 more balanced triangles (1, 58): (('s+1', 58), ('s-1', 1))
✓ assigning 1 to (2458, 2451) produces 57 more balanced triangles (0, 57): (('s+1', 57),)
✓ assigning 1 to (67, 3041) produces 57 more balanced triangles (0, 57): (('s+1', 57),)
✓ assigning 1 to (152, 95) produces 57 more balanced triangles (0, 57): (('s+1', 57),)
✓ assigning 1 to (62, 876) produces 57 more balanced triangles (0, 57): (('s+1', 57),)
✓ assigning 1 to (3041, 1061) produces 57 more balanced triangles (0, 57): (('s+1', 57),)
✓ assigning 1 to (1065, 1988) produces 57 more balanced triangles (0, 57): (('s+1', 57),)
✓ assigning 1 to (95, 2454) produces 57 more balanced triangles (0, 57): (('s+1', 57),)
✓ assigning 1 to (83, 1241) produces 57 more balanced triangles (0, 57): (('s+1', 57),)
✓ assigning 1 to (34, 2382) produces 57 more balanced triangles (5, 62): (('s+1', 62), ('s-1', 5))
✓ assigning 1 to (83, 1056) produces 57 more balanced triangles (0, 57): (('s+1', 57),)
✓ assigning 1 to (2454, 95) produces 57 more balanced triangles (0, 57): (('s+1', 57),)
✓ assigning 1 to (2066, 2328) produces 57 more balanced triangles (3, 60): (('s+1', 60), ('s-1', 3))
✓ assigning 1 to (1239, 70) produces 57 more balanced triangles (0, 57): (('s+1', 57),)
✓ assigning 1 to (1061, 3041) produces 57 more balanced triangles (0, 57): (('s+1', 57),)
✓ assigning 1 to (2401, 881) produces 57 more balanced triangles (2, 59): (('s+1', 59), ('s-1', 2))
✓ assigning 1 to (913, 2446) produces 57 more balanced triangles (0, 57): (('s+1', 57),)
✓ assigning 1 to (791, 2428) produces 57 more balanced triangles (0, 57): (('s+1', 57),)
✓ assigning 1 to (955, 1197) produces 57 more balanced triangles (4, 61): (('s+1', 61), ('s-1', 4))
✓ assigning 1 to (982, 955) produces 57 more balanced triangles (3, 60): (('s+1', 60), ('s-1', 3))
✓ assigning 1 to (2013, 83) produces 56 more balanced triangles (2, 58): (('s+1', 58), ('s-1', 2))
✓ assigning 1 to (3041, 1028) produces 56 more balanced triangles (0, 56): (('s+1', 56),)
✓ assigning 1 to (1389, 8685) produces 56 more balanced triangles (0, 56): (('s+1', 56),)
✓ assigning 1 to (988, 1935) produces 56 more balanced triangles (1, 57): (('s+1', 57), ('s-1', 1))
✓ assigning 1 to (1796, 4903) produces 56 more balanced triangles (7, 63): (('s+1', 63), ('s-1', 7))
✓ assigning 1 to (820, 2043) produces 56 more balanced triangles (0, 56): (('s+1', 56),)
✓ assigning -1 to (46, 1801) produces 56 more balanced triangles (62, 6): (('s-1', 60), ('s+1', 6), ('w-1', 2))
✓ assigning 1 to (962, 982) produces 56 more balanced triangles (0, 56): (('s+1', 56),)
✓ assigning 1 to (977, 629) produces 56 more balanced triangles (2, 58): (('s+1', 58), ('s-1', 2))
✓ assigning 1 to (2404, 820) produces 56 more balanced triangles (0, 56): (('s+1', 56),)
✓ assigning 1 to (1053, 2421) produces 56 more balanced triangles (0, 56): (('s+1', 56),)
✓ assigning 1 to (880, 6728) produces 56 more balanced triangles (0, 56): (('s+1', 56),)
✓ assigning 1 to (1092, 1792) produces 56 more balanced triangles (1, 57): (('s+1', 57), ('s-1', 1))
✓ assigning 1 to (64, 2421) produces 56 more balanced triangles (4, 60): (('s+1', 60), ('s-1', 4))
✓ assigning 1 to (1802, 6698) produces 56 more balanced triangles (1, 57): (('s+1', 57), ('s-1', 1))
✓ assigning 1 to (1029, 2476) produces 56 more balanced triangles (1, 57): (('s+1', 57), ('s-1', 1))
✓ assigning 1 to (3041, 1029) produces 56 more balanced triangles (4, 60): (('s+1', 60), ('s-1', 4))
✓ assigning 1 to (607, 71) produces 56 more balanced triangles (0, 56): (('s+1', 56),)
✓ assigning 1 to (66, 2400) produces 55 more balanced triangles (0, 55): (('s+1', 55),)
✓ assigning 1 to (4701, 4808) produces 55 more balanced triangles (3, 58): (('s+1', 58), ('s-1', 2), ('w-1', 1))
✓ assigning 1 to (1389, 1204) produces 55 more balanced triangles (0, 55): (('s+1', 55),)
✓ assigning 1 to (975, 64) produces 55 more balanced triangles (3, 58): (('s+1', 58), ('s-1', 3))
✓ assigning 1 to (2470, 64) produces 55 more balanced triangles (6, 61): (('s+1', 61), ('s-1', 6))
✓ assigning 1 to (67, 982) produces 55 more balanced triangles (0, 55): (('s+1', 55),)
✓ assigning 1 to (2805, 1033) produces 55 more balanced triangles (2, 57): (('s+1', 57), ('s-1', 2))
✓ assigning 1 to (2374, 74) produces 55 more balanced triangles (1, 56): (('s+1', 56), ('s-1', 1))
✓ assigning 1 to (2454, 2404) produces 55 more balanced triangles (0, 55): (('s+1', 55),)
✓ assigning 1 to (1287, 1061) produces 55 more balanced triangles (10, 65): (('s+1', 65), ('s-1', 9), ('w-1', 1))
✓ assigning 1 to (936, 1722) produces 55 more balanced triangles (0, 55): (('s+1', 55),)
✓ assigning 1 to (936, 2055) produces 55 more balanced triangles (3, 58): (('s+1', 58), ('s-1', 3))
✓ assigning 1 to (881, 836) produces 55 more balanced triangles (0, 55): (('s+1', 55),)
✓ assigning 1 to (820, 1028) produces 55 more balanced triangles (0, 55): (('s+1', 55),)
✓ assigning 1 to (1005, 1029) produces 55 more balanced triangles (3, 58): (('s+1', 58), ('s-1', 2), ('w-1', 1))
✓ assigning 1 to (2452, 2451) produces 55 more balanced triangles (0, 55): (('s+1', 55),)
✓ assigning 1 to (1200, 5034) produces 55 more balanced triangles (0, 55): (('s+1', 55),)
✓ assigning 1 to (4949, 3414) produces 55 more balanced triangles (0, 55): (('s+1', 55),)
✓ assigning 1 to (3475, 2066) produces 55 more balanced triangles (5, 60): (('s+1', 60), ('s-1', 5))
✓ assigning 1 to (10837, 1155) produces 55 more balanced triangles (3, 58): (('s+1', 58), ('s-1', 3))
✓ assigning 1 to (914, 881) produces 54 more balanced triangles (0, 54): (('s+1', 54),)
✓ assigning 1 to (66, 2476) produces 54 more balanced triangles (0, 54): (('s+1', 54),)
✓ assigning 1 to (67, 842) produces 54 more balanced triangles (0, 54): (('s+1', 54),)
✓ assigning 1 to (15240, 15288) produces 54 more balanced triangles (0, 54): (('s+1', 54),)
✓ assigning 1 to (2043, 842) produces 54 more balanced triangles (0, 54): (('s+1', 54),)
✓ assigning 1 to (2428, 66) produces 54 more balanced triangles (0, 54): (('s+1', 54),)
✓ assigning 1 to (856, 1200) produces 54 more balanced triangles (2, 56): (('s+1', 56), ('s-1', 2))
✓ assigning 1 to (2428, 1012) produces 54 more balanced triangles (0, 54): (('s+1', 54),)
✓ assigning 1 to (1988, 1029) produces 54 more balanced triangles (1, 55): (('s+1', 55), ('s-1', 1))
✓ assigning 1 to (2383, 841) produces 54 more balanced triangles (0, 54): (('s+1', 54),)
✓ assigning 1 to (1029, 1193) produces 54 more balanced triangles (1, 55): (('s+1', 55), ('s-1', 1))
✓ assigning 1 to (1133, 2454) produces 54 more balanced triangles (0, 54): (('s+1', 54),)
✓ assigning 1 to (2470, 2443) produces 54 more balanced triangles (0, 54): (('s+1', 54),)
✓ assigning 1 to (522, 2808) produces 54 more balanced triangles (2, 56): (('s+1', 56), ('s-1', 2))
✓ assigning 1 to (2398, 860) produces 54 more balanced triangles (0, 54): (('s+1', 54),)
✓ assigning 1 to (40, 43) produces 54 more balanced triangles (0, 54): (('s+1', 54),)
✓ assigning 1 to (70, 2474) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (1239, 2404) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (914, 1005) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (2454, 1019) produces 53 more balanced triangles (1, 54): (('s+1', 54), ('s-1', 1))
✓ assigning 1 to (991, 936) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (190, 66) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (1005, 962) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (2043, 982) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (973, 1022) produces 53 more balanced triangles (1, 54): (('s+1', 54), ('s-1', 1))
✓ assigning 1 to (2474, 70) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (1050, 74) produces 53 more balanced triangles (8, 61): (('s+1', 61), ('s-1', 8))
✓ assigning 1 to (2475, 1043) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (818, 78) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (971, 1151) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (913, 994) produces 53 more balanced triangles (1, 54): (('s+1', 54), ('s-1', 1))
✓ assigning 1 to (897, 43) produces 53 more balanced triangles (1, 54): (('s+1', 54), ('s-1', 1))
✓ assigning 1 to (3773, 2400) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (1197, 2400) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (2559, 1802) produces 53 more balanced triangles (1, 54): (('s+1', 54), ('s-1', 1))
✓ assigning 1 to (1234, 936) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (896, 3041) produces 53 more balanced triangles (1, 54): (('s+1', 54), ('s-1', 1))
✓ assigning 1 to (2446, 74) produces 53 more balanced triangles (1, 54): (('s+1', 54), ('s-1', 1))
✓ assigning 1 to (1802, 1650) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (8, 977) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (2427, 87) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (1789, 82) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (2428, 1197) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (1053, 9783) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (1066, 809) produces 53 more balanced triangles (1, 54): (('s+1', 54), ('s-1', 1))
✓ assigning 1 to (3475, 914) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (889, 913) produces 53 more balanced triangles (0, 53): (('s+1', 53),)
✓ assigning 1 to (2013, 1066) produces 52 more balanced triangles (1, 53): (('s+1', 53), ('s-1', 1))
✓ assigning 1 to (6543, 648) produces 52 more balanced triangles (0, 52): (('s+1', 52),)
✓ assigning 1 to (70, 876) produces 52 more balanced triangles (0, 52): (('s+1', 52),)
✓ assigning 1 to (896, 250) produces 52 more balanced triangles (0, 52): (('s+1', 52),)
✓ assigning 1 to (4949, 860) produces 52 more balanced triangles (2, 54): (('s+1', 54), ('s-1', 2))
✓ assigning 1 to (1735, 818) produces 52 more balanced triangles (3, 55): (('s+1', 55), ('s-1', 3))
✓ assigning 1 to (1319, 1753) produces 52 more balanced triangles (0, 52): (('s+1', 52),)
✓ assigning 1 to (43, 44) produces 52 more balanced triangles (2, 54): (('s+1', 54), ('s-1', 2))
✓ assigning 1 to (841, 2805) produces 52 more balanced triangles (2, 54): (('s+1', 54), ('s-1', 2))
✓ assigning 1 to (82, 2427) produces 52 more balanced triangles (1, 53): (('s+1', 53), ('s-1', 1))
✓ assigning 1 to (2420, 2383) produces 52 more balanced triangles (0, 52): (('s+1', 52),)
✗ assigning 1 to (1801, 2523) produces 52 more balanced triangles (4, 56): (('s+1', 56), ('s-1', 4))
✓ assigning 1 to (66, 2383) produces 52 more balanced triangles (0, 52): (('s+1', 52),)
✓ assigning 1 to (2073, 70) produces 52 more balanced triangles (0, 52): (('s+1', 52),)
✓ assigning 1 to (1988, 2354) produces 52 more balanced triangles (1, 53): (('s+1', 53), ('s-1', 1))
✓ assigning 1 to (1033, 522) produces 52 more balanced triangles (1, 53): (('s+1', 53), ('s-1', 1))
✓ assigning 1 to (973, 991) produces 52 more balanced triangles (0, 52): (('s+1', 52),)
✓ assigning 1 to (836, 820) produces 52 more balanced triangles (0, 52): (('s+1', 52),)
✓ assigning 1 to (817, 2382) produces 52 more balanced triangles (1, 53): (('s+1', 53), ('s-1', 1))
✓ assigning 1 to (83, 861) produces 52 more balanced triangles (0, 52): (('s+1', 52),)
✓ assigning 1 to (82, 6464) produces 52 more balanced triangles (1, 53): (('s+1', 53), ('s-1', 1))
✓ assigning 1 to (2466, 2458) produces 52 more balanced triangles (1, 53): (('s+1', 53), ('s-1', 1))
✓ assigning 1 to (913, 2441) produces 52 more balanced triangles (7, 59): (('s+1', 59), ('s-1', 7))
✓ assigning 1 to (2458, 2466) produces 52 more balanced triangles (1, 53): (('s+1', 53), ('s-1', 1))
✓ assigning 1 to (1802, 1792) produces 52 more balanced triangles (0, 52): (('s+1', 52),)
✓ assigning 1 to (2380, 1389) produces 52 more balanced triangles (0, 52): (('s+1', 52),)
✓ assigning 1 to (1028, 2443) produces 51 more balanced triangles (0, 51): (('s+1', 51),)
✓ assigning 1 to (856, 1020) produces 51 more balanced triangles (2, 53): (('s+1', 53), ('w-1', 1), ('s-1', 1))
✓ assigning 1 to (70, 9783) produces 51 more balanced triangles (0, 51): (('s+1', 51),)
✓ assigning 1 to (791, 2384) produces 51 more balanced triangles (0, 51): (('s+1', 51),)
✓ assigning 1 to (2328, 70) produces 51 more balanced triangles (0, 51): (('s+1', 51),)
✓ assigning 1 to (2383, 2404) produces 51 more balanced triangles (0, 51): (('s+1', 51),)
✓ assigning 1 to (61, 1021) produces 51 more balanced triangles (0, 51): (('s+1', 51),)
✓ assigning 1 to (971, 590) produces 51 more balanced triangles (0, 51): (('s+1', 51),)
✓ assigning 1 to (1012, 2451) produces 51 more balanced triangles (2, 53): (('s+1', 53), ('s-1', 2))
✓ assigning 1 to (9783, 2420) produces 51 more balanced triangles (1, 52): (('s+1', 52), ('s-1', 1))
✓ assigning 1 to (648, 7765) produces 51 more balanced triangles (1, 52): (('s+1', 52), ('s-1', 1))
✓ assigning 1 to (1056, 1033) produces 51 more balanced triangles (1, 52): (('s+1', 52), ('s-1', 1))
✓ assigning 1 to (1005, 2442) produces 51 more balanced triangles (0, 51): (('s+1', 51),)
✓ assigning 1 to (7860, 818) produces 51 more balanced triangles (0, 51): (('s+1', 51),)
✓ assigning 1 to (590, 61) produces 51 more balanced triangles (0, 51): (('s+1', 51),)
✓ assigning 1 to (990, 859) produces 51 more balanced triangles (0, 51): (('s+1', 51),)
✓ assigning 1 to (64, 590) produces 51 more balanced triangles (7, 58): (('s+1', 58), ('s-1', 7))
✓ assigning -1 to (522, 1491) produces 51 more balanced triangles (56, 5): (('s-1', 55), ('s+1', 5), ('w-1', 1))
✓ assigning 1 to (2310, 973) produces 51 more balanced triangles (5, 56): (('s+1', 56), ('s-1', 5))
✓ assigning 1 to (7728, 791) produces 51 more balanced triangles (0, 51): (('s+1', 51),)
✓ assigning 1 to (991, 74) produces 51 more balanced triangles (0, 51): (('s+1', 51),)
✓ assigning 1 to (791, 2421) produces 51 more balanced triangles (0, 51): (('s+1', 51),)
✓ assigning 1 to (82, 607) produces 51 more balanced triangles (1, 52): (('s+1', 52), ('s-1', 1))
✓ assigning 1 to (1028, 1988) produces 51 more balanced triangles (0, 51): (('s+1', 51),)
✓ assigning 1 to (2451, 1012) produces 51 more balanced triangles (2, 53): (('s+1', 53), ('s-1', 2))
✓ assigning 1 to (1735, 2442) produces 51 more balanced triangles (2, 53): (('s+1', 53), ('s-1', 2))
✓ assigning 1 to (1753, 161) produces 50 more balanced triangles (4, 54): (('s+1', 54), ('s-1', 4))
✓ assigning 1 to (955, 856) produces 50 more balanced triangles (4, 54): (('s+1', 54), ('s-1', 4))
✓ assigning 1 to (1028, 2404) produces 50 more balanced triangles (0, 50): (('s+1', 50),)
✓ assigning 1 to (1701, 2458) produces 50 more balanced triangles (0, 50): (('s+1', 50),)
✓ assigning 1 to (914, 1020) produces 50 more balanced triangles (1, 51): (('s+1', 51), ('s-1', 1))
✓ assigning 1 to (67, 4808) produces 50 more balanced triangles (0, 50): (('s+1', 50),)
✓ assigning 1 to (2454, 2400) produces 50 more balanced triangles (0, 50): (('s+1', 50),)
✓ assigning 1 to (2380, 970) produces 50 more balanced triangles (2, 52): (('s+1', 52), ('s-1', 2))
✓ assigning 1 to (973, 6842) produces 50 more balanced triangles (0, 50): (('s+1', 50),)
✓ assigning 1 to (83, 6842) produces 50 more balanced triangles (0, 50): (('s+1', 50),)
✓ assigning 1 to (1028, 1054) produces 50 more balanced triangles (0, 50): (('s+1', 50),)
✓ assigning 1 to (913, 1990) produces 50 more balanced triangles (1, 51): (('s+1', 51), ('s-1', 1))
✓ assigning 1 to (914, 970) produces 50 more balanced triangles (0, 50): (('s+1', 50),)
✓ assigning 1 to (6728, 1197) produces 50 more balanced triangles (0, 50): (('s+1', 50),)
✓ assigning 1 to (34, 55) produces 50 more balanced triangles (13, 63): (('s+1', 63), ('s-1', 9), ('w-1', 4))
✓ assigning 1 to (1204, 1171) produces 50 more balanced triangles (0, 50): (('s+1', 50),)
✓ assigning 1 to (629, 2407) produces 50 more balanced triangles (3, 53): (('s+1', 53), ('s-1', 3))
✓ assigning 1 to (2055, 83) produces 50 more balanced triangles (0, 50): (('s+1', 50),)
✓ assigning 1 to (2442, 945) produces 50 more balanced triangles (0, 50): (('s+1', 50),)
✓ assigning 1 to (1234, 880) produces 50 more balanced triangles (0, 50): (('s+1', 50),)
✓ assigning 1 to (991, 860) produces 50 more balanced triangles (0, 50): (('s+1', 50),)
✓ assigning 1 to (4808, 988) produces 50 more balanced triangles (3, 53): (('s+1', 53), ('s-1', 3))
✓ assigning 1 to (1935, 250) produces 49 more balanced triangles (2, 51): (('s+1', 51), ('s-1', 2))
✓ assigning 1 to (2553, 5022) produces 49 more balanced triangles (0, 49): (('s+1', 49),)
Accuracy on 800 predictions is 0.9975
iteration=5, #remaining targets=1019
graph partitioning...
to_scipy_sparse_matrix
100%|██████████| 77357/77357 [00:01<00:00, 55480.22it/s]
ALS...
predict labels (SVD + Kmeans)...
eigen values: [ 192.50225274 94.314556 74.98190964 56.35275535 46.55712091
42.81516672 42.09468087 41.59070258 40.387221 36.23217826]
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
solving max_balance
building triangle_count_by_edge
edge2edges (size 1681) is given
✓ assigning 1 to (2451, 896) produces 49 more balanced triangles (0, 49): (('s+1', 49),)
✓ assigning 1 to (106, 791) produces 49 more balanced triangles (2, 51): (('s+1', 51), ('s-1', 2))
✓ assigning 1 to (1770, 1229) produces 49 more balanced triangles (2, 51): (('s+1', 51), ('s-1', 2))
✓ assigning 1 to (2734, 625) produces 49 more balanced triangles (7, 56): (('s+1', 56), ('s-1', 7))
✓ assigning 1 to (1005, 1021) produces 49 more balanced triangles (1, 50): (('s+1', 50), ('s-1', 1))
✓ assigning 1 to (2310, 1027) produces 49 more balanced triangles (3, 52): (('s+1', 52), ('s-1', 3))
✓ assigning 1 to (1151, 2328) produces 49 more balanced triangles (2, 51): (('s+1', 51), ('s-1', 2))
✓ assigning 1 to (2476, 1012) produces 49 more balanced triangles (1, 50): (('s+1', 50), ('s-1', 1))
✓ assigning 1 to (190, 590) produces 49 more balanced triangles (0, 49): (('s+1', 49),)
✓ assigning 1 to (2389, 833) produces 49 more balanced triangles (1, 50): (('s+1', 50), ('s-1', 1))
✓ assigning -1 to (13001, 4550) produces 49 more balanced triangles (49, 0): (('s-1', 49),)
✓ assigning 1 to (4808, 2805) produces 49 more balanced triangles (0, 49): (('s+1', 49),)
✓ assigning 1 to (4407, 1006) produces 49 more balanced triangles (0, 49): (('s+1', 49),)
✓ assigning 1 to (648, 1056) produces 49 more balanced triangles (3, 52): (('s+1', 52), ('s-1', 3))
✓ assigning 1 to (1990, 1006) produces 49 more balanced triangles (1, 50): (('s+1', 50), ('s-1', 1))
✓ assigning 1 to (1066, 836) produces 49 more balanced triangles (0, 49): (('s+1', 49),)
✓ assigning 1 to (3475, 67) produces 49 more balanced triangles (0, 49): (('s+1', 49),)
✓ assigning 1 to (2401, 1020) produces 49 more balanced triangles (1, 50): (('s+1', 50), ('s-1', 1))
✓ assigning 1 to (4901, 1155) produces 49 more balanced triangles (0, 49): (('s+1', 49),)
✓ assigning 1 to (4266, 75) produces 48 more balanced triangles (0, 48): (('s+1', 48),)
✓ assigning 1 to (1006, 2446) produces 48 more balanced triangles (0, 48): (('s+1', 48),)
✓ assigning 1 to (97, 7765) produces 48 more balanced triangles (1, 49): (('s+1', 49), ('s-1', 1))
✓ assigning 1 to (7601, 6713) produces 48 more balanced triangles (1, 49): (('s+1', 49), ('s-1', 1))
✓ assigning 1 to (955, 1988) produces 48 more balanced triangles (3, 51): (('s+1', 51), ('s-1', 3))
✓ assigning 1 to (2421, 973) produces 48 more balanced triangles (2, 50): (('s+1', 50), ('s-1', 2))
✓ assigning 1 to (3773, 2476) produces 48 more balanced triangles (0, 48): (('s+1', 48),)
✓ assigning 1 to (955, 988) produces 48 more balanced triangles (4, 52): (('s+1', 52), ('s-1', 4))
✓ assigning 1 to (1006, 1701) produces 48 more balanced triangles (0, 48): (('s+1', 48),)
✓ assigning 1 to (976, 1053) produces 48 more balanced triangles (12, 60): (('s+1', 60), ('s-1', 12))
✗ assigning 1 to (1021, 955) produces 48 more balanced triangles (3, 51): (('s+1', 51), ('s-1', 3))
✓ assigning 1 to (6713, 7601) produces 48 more balanced triangles (1, 49): (('s+1', 49), ('s-1', 1))
✓ assigning 1 to (880, 2445) produces 48 more balanced triangles (0, 48): (('s+1', 48),)
✓ assigning 1 to (955, 1065) produces 48 more balanced triangles (4, 52): (('s+1', 52), ('s-1', 4))
✓ assigning 1 to (1389, 6464) produces 48 more balanced triangles (0, 48): (('s+1', 48),)
✓ assigning 1 to (65, 2382) produces 48 more balanced triangles (8, 56): (('s+1', 56), ('s-1', 8))
✓ assigning -1 to (46, 7601) produces 48 more balanced triangles (53, 5): (('s-1', 52), ('s+1', 5), ('w-1', 1))
✓ assigning 1 to (67, 2474) produces 48 more balanced triangles (0, 48): (('s+1', 48),)
✗ assigning 1 to (990, 1735) produces 48 more balanced triangles (6, 54): (('s+1', 54), ('s-1', 6))
✓ assigning 1 to (1287, 4266) produces 48 more balanced triangles (3, 51): (('s+1', 51), ('s-1', 3))
✓ assigning 1 to (1753, 2514) produces 48 more balanced triangles (0, 48): (('s+1', 48),)
✓ assigning 1 to (1668, 62) produces 48 more balanced triangles (1, 49): (('s+1', 49), ('s-1', 1))
✓ assigning 1 to (62, 1668) produces 48 more balanced triangles (1, 49): (('s+1', 49), ('s-1', 1))
✓ assigning 1 to (4808, 80) produces 48 more balanced triangles (4, 52): (('s+1', 52), ('w-1', 2), ('s-1', 2))
✓ assigning 1 to (4550, 1092) produces 48 more balanced triangles (0, 48): (('s+1', 48),)
✓ assigning -1 to (1981, 1735) produces 48 more balanced triangles (52, 4): (('s-1', 51), ('s+1', 4), ('w-1', 1))
✓ assigning 1 to (988, 2401) produces 48 more balanced triangles (3, 51): (('s+1', 51), ('s-1', 3))
✓ assigning 1 to (1028, 2462) produces 48 more balanced triangles (1, 49): (('s+1', 49), ('s-1', 1))
✓ assigning 1 to (1061, 1022) produces 48 more balanced triangles (0, 48): (('s+1', 48),)
✓ assigning 1 to (190, 3773) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (798, 894) produces 47 more balanced triangles (1, 48): (('s+1', 48), ('s-1', 1))
✓ assigning 1 to (1151, 842) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (1701, 1029) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (7610, 2523) produces 47 more balanced triangles (1, 48): (('s+1', 48), ('s-1', 1))
✓ assigning 1 to (659, 83) produces 47 more balanced triangles (4, 51): (('s+1', 51), ('w-1', 2), ('s-1', 2))
✓ assigning 1 to (6728, 65) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (6728, 1012) produces 47 more balanced triangles (2, 49): (('s+1', 49), ('s-1', 2))
✓ assigning 1 to (1426, 1006) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (3406, 936) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (994, 83) produces 47 more balanced triangles (1, 48): (('s+1', 48), ('s-1', 1))
✓ assigning 1 to (2328, 4218) produces 47 more balanced triangles (2, 49): (('s+1', 49), ('s-1', 2))
✓ assigning 1 to (936, 1695) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (716, 3107) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (881, 3773) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (7735, 791) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (858, 2474) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (977, 2380) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (1151, 1193) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (1239, 856) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (3773, 2383) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (1200, 6728) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (1701, 936) produces 47 more balanced triangles (2, 49): (('s+1', 49), ('s-1', 2))
✓ assigning 1 to (2470, 2407) produces 47 more balanced triangles (0, 47): (('s+1', 47),)
✓ assigning 1 to (4266, 250) produces 46 more balanced triangles (1, 47): (('s+1', 47), ('s-1', 1))
✓ assigning 1 to (1701, 833) produces 46 more balanced triangles (2, 48): (('s+1', 48), ('s-1', 2))
✓ assigning 1 to (2805, 71) produces 46 more balanced triangles (2, 48): (('s+1', 48), ('s-1', 2))
✓ assigning 1 to (2458, 2310) produces 46 more balanced triangles (5, 51): (('s+1', 51), ('s-1', 4), ('w-1', 1))
✓ assigning 1 to (1705, 57) produces 46 more balanced triangles (7, 53): (('s+1', 53), ('s-1', 7))
✓ assigning 1 to (2428, 62) produces 46 more balanced triangles (0, 46): (('s+1', 46),)
✓ assigning 1 to (10813, 6698) produces 46 more balanced triangles (0, 46): (('s+1', 46),)
✓ assigning 1 to (2398, 61) produces 46 more balanced triangles (0, 46): (('s+1', 46),)
✓ assigning 1 to (1200, 1019) produces 46 more balanced triangles (6, 52): (('s+1', 52), ('s-1', 6))
✓ assigning 1 to (2420, 951) produces 46 more balanced triangles (0, 46): (('s+1', 46),)
✓ assigning 1 to (994, 2420) produces 46 more balanced triangles (1, 47): (('s+1', 47), ('s-1', 1))
✓ assigning 1 to (1675, 74) produces 46 more balanced triangles (7, 53): (('s+1', 53), ('w-1', 5), ('s-1', 2))
✓ assigning 1 to (896, 3414) produces 46 more balanced triangles (0, 46): (('s+1', 46),)
✓ assigning 1 to (1021, 1054) produces 46 more balanced triangles (0, 46): (('s+1', 46),)
✓ assigning 1 to (994, 82) produces 46 more balanced triangles (5, 51): (('s+1', 51), ('s-1', 5))
✓ assigning -1 to (46, 1735) produces 46 more balanced triangles (57, 11): (('s-1', 55), ('s+1', 11), ('w-1', 2))
✓ assigning 1 to (894, 833) produces 46 more balanced triangles (2, 48): (('s+1', 48), ('s-1', 2))
✓ assigning 1 to (66, 2401) produces 46 more balanced triangles (0, 46): (('s+1', 46),)
✓ assigning 1 to (65, 80) produces 46 more balanced triangles (7, 53): (('s+1', 53), ('s-1', 6), ('w-1', 1))
✓ assigning 1 to (977, 2474) produces 46 more balanced triangles (0, 46): (('s+1', 46),)
✓ assigning 1 to (6464, 1033) produces 46 more balanced triangles (0, 46): (('s+1', 46),)
✓ assigning 1 to (2398, 867) produces 46 more balanced triangles (0, 46): (('s+1', 46),)
✓ assigning 1 to (2457, 4256) produces 46 more balanced triangles (0, 46): (('s+1', 46),)
✓ assigning 1 to (152, 2466) produces 46 more balanced triangles (0, 46): (('s+1', 46),)
✓ assigning 1 to (1019, 9783) produces 46 more balanced triangles (4, 50): (('s+1', 50), ('s-1', 4))
✓ assigning 1 to (152, 821) produces 46 more balanced triangles (0, 46): (('s+1', 46),)
✓ assigning 1 to (2502, 4901) produces 46 more balanced triangles (1, 47): (('s+1', 47), ('s-1', 1))
✓ assigning 1 to (7860, 856) produces 46 more balanced triangles (0, 46): (('s+1', 46),)
✓ assigning 1 to (2398, 648) produces 46 more balanced triangles (1, 47): (('s+1', 47), ('s-1', 1))
✓ assigning 1 to (1021, 982) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (991, 648) produces 45 more balanced triangles (2, 47): (('s+1', 47), ('s-1', 2))
✓ assigning 1 to (1021, 3041) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (1287, 1151) produces 45 more balanced triangles (5, 50): (('s+1', 50), ('s-1', 5))
✓ assigning 1 to (3773, 250) produces 45 more balanced triangles (1, 46): (('s+1', 46), ('s-1', 1))
✓ assigning 1 to (2470, 945) produces 45 more balanced triangles (1, 46): (('s+1', 46), ('s-1', 1))
✓ assigning 1 to (2474, 2434) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (97, 55) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (2427, 880) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (1287, 43) produces 45 more balanced triangles (13, 58): (('s+1', 58), ('s-1', 13))
✓ assigning 1 to (914, 6543) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (43, 51) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (895, 836) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (1753, 4549) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (1935, 629) produces 45 more balanced triangles (2, 47): (('s+1', 47), ('w-1', 1), ('s-1', 1))
✓ assigning 1 to (2442, 78) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (809, 2427) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (991, 881) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (82, 55) produces 45 more balanced triangles (4, 49): (('s+1', 49), ('s-1', 4))
✓ assigning 1 to (9783, 914) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (860, 1675) produces 45 more balanced triangles (2, 47): (('s+1', 47), ('w-1', 1), ('s-1', 1))
✓ assigning 1 to (1151, 5034) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning -1 to (13001, 7610) produces 45 more balanced triangles (47, 2): (('s-1', 47), ('s+1', 2))
✓ assigning 1 to (820, 3475) produces 45 more balanced triangles (1, 46): (('s+1', 46), ('s-1', 1))
✓ assigning 1 to (2451, 977) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (913, 3406) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (3475, 2404) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (8685, 2400) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (78, 836) produces 45 more balanced triangles (4, 49): (('s+1', 49), ('s-1', 3), ('w-1', 1))
✓ assigning 1 to (1054, 1151) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (991, 1043) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (976, 820) produces 45 more balanced triangles (10, 55): (('s+1', 55), ('s-1', 10))
✓ assigning 1 to (2427, 62) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (1722, 87) produces 45 more balanced triangles (0, 45): (('s+1', 45),)
✓ assigning 1 to (2066, 9783) produces 44 more balanced triangles (2, 46): (('s+1', 46), ('w-1', 1), ('s-1', 1))
✓ assigning 1 to (2013, 982) produces 44 more balanced triangles (1, 45): (('s+1', 45), ('s-1', 1))
✓ assigning 1 to (1789, 973) produces 44 more balanced triangles (1, 45): (('s+1', 45), ('s-1', 1))
✓ assigning 1 to (2380, 648) produces 44 more balanced triangles (1, 45): (('s+1', 45), ('s-1', 1))
✓ assigning 1 to (1053, 80) produces 44 more balanced triangles (5, 49): (('s+1', 49), ('s-1', 5))
✓ assigning 1 to (1193, 8685) produces 44 more balanced triangles (0, 44): (('s+1', 44),)
✓ assigning 1 to (6842, 71) produces 44 more balanced triangles (0, 44): (('s+1', 44),)
✓ assigning 1 to (1234, 62) produces 44 more balanced triangles (0, 44): (('s+1', 44),)
✓ assigning 1 to (2454, 9783) produces 44 more balanced triangles (1, 45): (('s+1', 45), ('s-1', 1))
✓ assigning 1 to (988, 951) produces 44 more balanced triangles (0, 44): (('s+1', 44),)
✓ assigning 1 to (2419, 74) produces 44 more balanced triangles (0, 44): (('s+1', 44),)
✓ assigning 1 to (791, 2469) produces 44 more balanced triangles (0, 44): (('s+1', 44),)
✓ assigning 1 to (1061, 1290) produces 44 more balanced triangles (2, 46): (('s+1', 46), ('s-1', 2))
✓ assigning 1 to (1701, 2310) produces 44 more balanced triangles (1, 45): (('s+1', 45), ('s-1', 1))
✓ assigning 1 to (2427, 841) produces 44 more balanced triangles (0, 44): (('s+1', 44),)
✓ assigning 1 to (1151, 80) produces 44 more balanced triangles (4, 48): (('s+1', 48), ('s-1', 4))
✓ assigning 1 to (820, 2474) produces 44 more balanced triangles (0, 44): (('s+1', 44),)
✓ assigning 1 to (3096, 877) produces 44 more balanced triangles (25, 69): (('s+1', 69), ('s-1', 19), ('w-1', 6))
✓ assigning 1 to (1686, 936) produces 44 more balanced triangles (0, 44): (('s+1', 44),)
✓ assigning 1 to (1022, 820) produces 44 more balanced triangles (0, 44): (('s+1', 44),)
✓ assigning 1 to (1802, 1794) produces 44 more balanced triangles (2, 46): (('s+1', 46), ('s-1', 2))
✓ assigning 1 to (860, 1722) produces 44 more balanced triangles (1, 45): (('s+1', 45), ('s-1', 1))
✓ assigning 1 to (2310, 1701) produces 44 more balanced triangles (1, 45): (('s+1', 45), ('s-1', 1))
✓ assigning 1 to (2412, 71) produces 44 more balanced triangles (0, 44): (('s+1', 44),)
✓ assigning 1 to (859, 1028) produces 44 more balanced triangles (0, 44): (('s+1', 44),)
✓ assigning 1 to (914, 6728) produces 44 more balanced triangles (0, 44): (('s+1', 44),)
✓ assigning 1 to (1685, 625) produces 44 more balanced triangles (8, 52): (('s+1', 52), ('s-1', 8))
✓ assigning 1 to (2427, 70) produces 44 more balanced triangles (0, 44): (('s+1', 44),)
✓ assigning 1 to (2808, 1426) produces 43 more balanced triangles (0, 43): (('s+1', 43),)
✓ assigning 1 to (2380, 4808) produces 43 more balanced triangles (1, 44): (('s+1', 44), ('s-1', 1))
✓ assigning 1 to (64, 1022) produces 43 more balanced triangles (6, 49): (('s+1', 49), ('s-1', 6))
✓ assigning 1 to (1065, 2013) produces 43 more balanced triangles (1, 44): (('s+1', 44), ('s-1', 1))
✓ assigning 1 to (2466, 914) produces 43 more balanced triangles (0, 43): (('s+1', 43),)
✓ assigning 1 to (3475, 3414) produces 43 more balanced triangles (0, 43): (('s+1', 43),)
✓ assigning 1 to (4550, 1155) produces 43 more balanced triangles (3, 46): (('s+1', 46), ('s-1', 3))
✓ assigning 1 to (5115, 1753) produces 43 more balanced triangles (0, 43): (('s+1', 43),)
✓ assigning 1 to (2055, 97) produces 43 more balanced triangles (1, 44): (('s+1', 44), ('s-1', 1))
✓ assigning 1 to (4549, 2502) produces 43 more balanced triangles (0, 43): (('s+1', 43),)
✓ assigning 1 to (2805, 2354) produces 43 more balanced triangles (3, 46): (('s+1', 46), ('s-1', 3))
✓ assigning 1 to (4246, 833) produces 43 more balanced triangles (1, 44): (('s+1', 44), ('s-1', 1))
✓ assigning 1 to (1735, 5483) produces 43 more balanced triangles (7, 50): (('s+1', 50), ('s-1', 7))
✓ assigning 1 to (817, 2466) produces 43 more balanced triangles (0, 43): (('s+1', 43),)
✓ assigning 1 to (5108, 7601) produces 43 more balanced triangles (1, 44): (('s+1', 44), ('s-1', 1))
✓ assigning 1 to (5034, 1389) produces 43 more balanced triangles (0, 43): (('s+1', 43),)
✓ assigning 1 to (991, 817) produces 43 more balanced triangles (0, 43): (('s+1', 43),)
✓ assigning 1 to (2460, 913) produces 43 more balanced triangles (1, 44): (('s+1', 44), ('s-1', 1))
✓ assigning 1 to (1807, 1753) produces 43 more balanced triangles (1, 44): (('s+1', 44), ('s-1', 1))
✓ assigning 1 to (3475, 1133) produces 43 more balanced triangles (0, 43): (('s+1', 43),)
✓ assigning 1 to (7860, 2354) produces 43 more balanced triangles (0, 43): (('s+1', 43),)
✓ assigning 1 to (2310, 4257) produces 43 more balanced triangles (2, 45): (('s+1', 45), ('s-1', 2))
✓ assigning 1 to (951, 8) produces 43 more balanced triangles (0, 43): (('s+1', 43),)
✓ assigning 1 to (2476, 1019) produces 43 more balanced triangles (1, 44): (('s+1', 44), ('s-1', 1))
✓ assigning 1 to (988, 2451) produces 43 more balanced triangles (1, 44): (('s+1', 44), ('s-1', 1))
✓ assigning 1 to (97, 6842) produces 43 more balanced triangles (0, 43): (('s+1', 43),)
✓ assigning 1 to (1234, 2452) produces 43 more balanced triangles (0, 43): (('s+1', 43),)
✓ assigning -1 to (13001, 5130) produces 43 more balanced triangles (44, 1): (('s-1', 44), ('s+1', 1))
✓ assigning 1 to (973, 2408) produces 43 more balanced triangles (0, 43): (('s+1', 43),)
✓ assigning 1 to (62, 50) produces 43 more balanced triangles (1, 44): (('s+1', 44), ('s-1', 1))
✓ assigning 1 to (842, 988) produces 43 more balanced triangles (0, 43): (('s+1', 43),)
✓ assigning 1 to (1988, 625) produces 42 more balanced triangles (1, 43): (('s+1', 43), ('s-1', 1))
✓ assigning 1 to (2666, 3041) produces 42 more balanced triangles (3, 45): (('s+1', 45), ('s-1', 3))
✓ assigning 1 to (955, 1151) produces 42 more balanced triangles (2, 44): (('s+1', 44), ('s-1', 2))
✓ assigning 1 to (4256, 5071) produces 42 more balanced triangles (0, 42): (('s+1', 42),)
✓ assigning 1 to (973, 1705) produces 42 more balanced triangles (2, 44): (('s+1', 44), ('s-1', 2))
✓ assigning 1 to (2460, 74) produces 42 more balanced triangles (2, 44): (('s+1', 44), ('s-1', 2))
Accuracy on 1000 predictions is 0.996
iteration=6, #remaining targets=819
graph partitioning...
to_scipy_sparse_matrix
100%|██████████| 77357/77357 [00:01<00:00, 57468.49it/s]
ALS...
predict labels (SVD + Kmeans)...
eigen values: [ 192.50225274 94.314556 74.98190964 56.35275535 46.55712091
42.81516672 42.09468087 41.59070258 40.387221 36.23217826]
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
solving max_balance
building triangle_count_by_edge
edge2edges (size 1689) is given
✓ assigning 1 to (7610, 1155) produces 42 more balanced triangles (2, 44): (('s+1', 44), ('s-1', 2))
✓ assigning 1 to (1990, 1033) produces 42 more balanced triangles (2, 44): (('s+1', 44), ('s-1', 2))
✓ assigning 1 to (2427, 1005) produces 42 more balanced triangles (0, 42): (('s+1', 42),)
✓ assigning 1 to (83, 6843) produces 42 more balanced triangles (0, 42): (('s+1', 42),)
✓ assigning 1 to (2407, 1028) produces 42 more balanced triangles (0, 42): (('s+1', 42),)
✓ assigning 1 to (2142, 1171) produces 42 more balanced triangles (4, 46): (('s+1', 46), ('s-1', 4))
✓ assigning 1 to (1200, 4407) produces 42 more balanced triangles (2, 44): (('s+1', 44), ('s-1', 2))
✓ assigning 1 to (4266, 43) produces 42 more balanced triangles (0, 42): (('s+1', 42),)
✓ assigning 1 to (2445, 962) produces 42 more balanced triangles (1, 43): (('s+1', 43), ('w-1', 1))
✓ assigning 1 to (2434, 2400) produces 42 more balanced triangles (0, 42): (('s+1', 42),)
✓ assigning 1 to (1988, 9783) produces 42 more balanced triangles (0, 42): (('s+1', 42),)
✓ assigning 1 to (1022, 1988) produces 42 more balanced triangles (0, 42): (('s+1', 42),)
✓ assigning 1 to (84, 43) produces 42 more balanced triangles (2, 44): (('s+1', 44), ('s-1', 2))
✓ assigning 1 to (653, 2451) produces 42 more balanced triangles (3, 45): (('s+1', 45), ('s-1', 3))
✓ assigning 1 to (2066, 1005) produces 42 more balanced triangles (6, 48): (('s+1', 48), ('s-1', 4), ('w-1', 2))
✓ assigning 1 to (65, 2446) produces 42 more balanced triangles (1, 43): (('s+1', 43), ('s-1', 1))
✓ assigning 1 to (2013, 842) produces 42 more balanced triangles (1, 43): (('s+1', 43), ('s-1', 1))
✓ assigning 1 to (881, 2398) produces 42 more balanced triangles (0, 42): (('s+1', 42),)
✓ assigning 1 to (4246, 1197) produces 42 more balanced triangles (0, 42): (('s+1', 42),)
✓ assigning 1 to (5071, 4256) produces 42 more balanced triangles (0, 42): (('s+1', 42),)
✓ assigning 1 to (860, 84) produces 42 more balanced triangles (1, 43): (('s+1', 43), ('s-1', 1))
✓ assigning 1 to (7735, 1043) produces 42 more balanced triangles (0, 42): (('s+1', 42),)
✓ assigning 1 to (1796, 1735) produces 42 more balanced triangles (7, 49): (('s+1', 49), ('s-1', 7))
✓ assigning 1 to (2428, 2404) produces 42 more balanced triangles (0, 42): (('s+1', 42),)
✓ assigning 1 to (2458, 2460) produces 41 more balanced triangles (2, 43): (('s+1', 43), ('s-1', 2))
✓ assigning 1 to (856, 876) produces 41 more balanced triangles (3, 44): (('s+1', 44), ('s-1', 3))
✓ assigning 1 to (982, 6543) produces 41 more balanced triangles (0, 41): (('s+1', 41),)
✓ assigning -1 to (13001, 1735) produces 41 more balanced triangles (42, 1): (('s-1', 42), ('s+1', 1))
✓ assigning 1 to (1722, 1033) produces 41 more balanced triangles (0, 41): (('s+1', 41),)
✓ assigning 1 to (1033, 5034) produces 41 more balanced triangles (1, 42): (('s+1', 42), ('s-1', 1))
✓ assigning 1 to (5108, 8454) produces 41 more balanced triangles (1, 42): (('s+1', 42), ('s-1', 1))
✓ assigning 1 to (2400, 888) produces 41 more balanced triangles (0, 41): (('s+1', 41),)
✓ assigning 1 to (994, 962) produces 41 more balanced triangles (1, 42): (('s+1', 42), ('w-1', 1))
✓ assigning 1 to (896, 840) produces 41 more balanced triangles (0, 41): (('s+1', 41),)
✓ assigning 1 to (5115, 1814) produces 41 more balanced triangles (2, 43): (('s+1', 43), ('s-1', 2))
✓ assigning 1 to (860, 7728) produces 41 more balanced triangles (0, 41): (('s+1', 41),)
✓ assigning 1 to (1066, 6728) produces 41 more balanced triangles (0, 41): (('s+1', 41),)
✓ assigning 1 to (2460, 2452) produces 41 more balanced triangles (1, 42): (('s+1', 42), ('s-1', 1))
✓ assigning 1 to (2328, 817) produces 41 more balanced triangles (0, 41): (('s+1', 41),)
✓ assigning 1 to (1200, 5028) produces 41 more balanced triangles (0, 41): (('s+1', 41),)
✓ assigning 1 to (2476, 2382) produces 41 more balanced triangles (0, 41): (('s+1', 41),)
✓ assigning 1 to (817, 2460) produces 41 more balanced triangles (0, 41): (('s+1', 41),)
✓ assigning 1 to (2380, 1197) produces 41 more balanced triangles (0, 41): (('s+1', 41),)
✓ assigning 1 to (1796, 1821) produces 41 more balanced triangles (6, 47): (('s+1', 47), ('s-1', 6))
✓ assigning -1 to (12192, 5942) produces 41 more balanced triangles (41, 0): (('s-1', 40), ('w-1', 1))
✓ assigning 1 to (2429, 4808) produces 41 more balanced triangles (2, 43): (('s+1', 43), ('s-1', 2))
✓ assigning 1 to (2066, 2475) produces 41 more balanced triangles (2, 43): (('s+1', 43), ('s-1', 2))
✓ assigning 1 to (6474, 1033) produces 41 more balanced triangles (3, 44): (('s+1', 44), ('s-1', 2), ('w-1', 1))
✓ assigning 1 to (2408, 82) produces 41 more balanced triangles (1, 42): (('s+1', 42), ('s-1', 1))
✓ assigning 1 to (190, 629) produces 41 more balanced triangles (1, 42): (('s+1', 42), ('s-1', 1))
✓ assigning 1 to (3096, 1442) produces 41 more balanced triangles (8, 49): (('s+1', 49), ('s-1', 8))
✓ assigning 1 to (2420, 2142) produces 41 more balanced triangles (3, 44): (('s+1', 44), ('s-1', 2), ('w-1', 1))
✓ assigning 1 to (982, 1241) produces 41 more balanced triangles (0, 41): (('s+1', 41),)
✓ assigning 1 to (9783, 4238) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (888, 2013) produces 40 more balanced triangles (1, 41): (('s+1', 41), ('s-1', 1))
✓ assigning 1 to (7860, 152) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (951, 791) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning -1 to (523, 57) produces 40 more balanced triangles (53, 13): (('s-1', 37), ('w-1', 16), ('s+1', 13))
✓ assigning 1 to (821, 1287) produces 40 more balanced triangles (4, 44): (('s+1', 44), ('s-1', 4))
✓ assigning 1 to (7601, 676) produces 40 more balanced triangles (1, 41): (('s+1', 41), ('s-1', 1))
✓ assigning 1 to (2454, 6464) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (4407, 2066) produces 40 more balanced triangles (2, 42): (('s+1', 42), ('s-1', 2))
✓ assigning 1 to (1065, 1241) produces 40 more balanced triangles (1, 41): (('s+1', 41), ('s-1', 1))
✓ assigning 1 to (818, 894) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (62, 1051) produces 40 more balanced triangles (1, 41): (('s+1', 41), ('s-1', 1))
✓ assigning 1 to (4433, 74) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (945, 2013) produces 40 more balanced triangles (2, 42): (('s+1', 42), ('s-1', 2))
✓ assigning 1 to (894, 818) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (1005, 629) produces 40 more balanced triangles (5, 45): (('s+1', 45), ('s-1', 5))
✓ assigning 1 to (2436, 87) produces 40 more balanced triangles (1, 41): (('s+1', 41), ('s-1', 1))
✓ assigning 1 to (2451, 2066) produces 40 more balanced triangles (4, 44): (('s+1', 44), ('s-1', 3), ('w-1', 1))
✓ assigning 1 to (6464, 977) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (1707, 1241) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (2476, 1133) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning -1 to (1981, 1792) produces 40 more balanced triangles (44, 4): (('s-1', 44), ('s+1', 4))
✓ assigning 1 to (95, 1056) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (801, 880) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (860, 2457) produces 40 more balanced triangles (1, 41): (('s+1', 41), ('s-1', 1))
✓ assigning 1 to (97, 3406) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (2427, 798) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (2013, 945) produces 40 more balanced triangles (2, 42): (('s+1', 42), ('s-1', 2))
✓ assigning 1 to (4256, 4407) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (2013, 888) produces 40 more balanced triangles (1, 41): (('s+1', 41), ('s-1', 1))
✓ assigning 1 to (4549, 2559) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (1650, 1814) produces 40 more balanced triangles (1, 41): (('s+1', 41), ('s-1', 1))
✓ assigning 1 to (1579, 860) produces 40 more balanced triangles (2, 42): (('s+1', 42), ('s-1', 2))
✓ assigning -1 to (1981, 2523) produces 40 more balanced triangles (46, 6): (('s-1', 46), ('s+1', 6))
✓ assigning 1 to (1792, 1785) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (2464, 43) produces 40 more balanced triangles (9, 49): (('s+1', 49), ('s-1', 9))
✓ assigning 1 to (2441, 2142) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (2428, 1935) produces 40 more balanced triangles (1, 41): (('s+1', 41), ('s-1', 1))
✓ assigning 1 to (1735, 2451) produces 40 more balanced triangles (2, 42): (('s+1', 42), ('s-1', 2))
✓ assigning 1 to (3406, 2452) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (6543, 2466) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (2434, 1054) produces 40 more balanced triangles (0, 40): (('s+1', 40),)
✓ assigning 1 to (344, 74) produces 40 more balanced triangles (1, 41): (('s+1', 41), ('s-1', 1))
✓ assigning 1 to (914, 2380) produces 40 more balanced triangles (1, 41): (('s+1', 41), ('s-1', 1))
✓ assigning 1 to (87, 2437) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning 1 to (3041, 57) produces 39 more balanced triangles (15, 54): (('s+1', 54), ('s-1', 14), ('w-1', 1))
✓ assigning 1 to (5068, 791) produces 39 more balanced triangles (1, 40): (('s+1', 40), ('s-1', 1))
✓ assigning 1 to (1006, 2357) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning 1 to (3414, 962) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning 1 to (2094, 936) produces 39 more balanced triangles (2, 41): (('s+1', 41), ('s-1', 2))
✓ assigning 1 to (3325, 4549) produces 39 more balanced triangles (3, 42): (('s+1', 42), ('s-1', 3))
✓ assigning 1 to (250, 2476) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning 1 to (3455, 973) produces 39 more balanced triangles (1, 40): (('s+1', 40), ('s-1', 1))
✓ assigning -1 to (55526, 2553) produces 39 more balanced triangles (41, 2): (('s-1', 41), ('s+1', 2))
✓ assigning 1 to (1092, 5612) produces 39 more balanced triangles (1, 40): (('s+1', 40), ('s-1', 1))
✓ assigning 1 to (1796, 1155) produces 39 more balanced triangles (8, 47): (('s+1', 47), ('s-1', 8))
✓ assigning 1 to (817, 2310) produces 39 more balanced triangles (5, 44): (('s+1', 44), ('s-1', 5))
✓ assigning 1 to (2466, 6464) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning 1 to (2380, 190) produces 39 more balanced triangles (2, 41): (('s+1', 41), ('s-1', 2))
✗ assigning -1 to (5483, 46) produces 39 more balanced triangles (49, 10): (('s-1', 46), ('s+1', 10), ('w-1', 3))
✗ assigning 1 to (990, 1241) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning 1 to (1707, 970) produces 39 more balanced triangles (3, 42): (('s+1', 42), ('s-1', 3))
✓ assigning 1 to (791, 863) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning 1 to (15307, 15288) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning 1 to (2300, 818) produces 39 more balanced triangles (7, 46): (('s+1', 46), ('s-1', 7))
✓ assigning 1 to (2437, 87) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning 1 to (1735, 4549) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning -1 to (46, 2553) produces 39 more balanced triangles (45, 6): (('s-1', 44), ('s+1', 6), ('w-1', 1))
✓ assigning 1 to (2466, 3414) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning 1 to (4218, 867) produces 39 more balanced triangles (2, 41): (('s+1', 41), ('s-1', 2))
✓ assigning 1 to (1675, 973) produces 39 more balanced triangles (2, 41): (('s+1', 41), ('w-1', 1), ('s-1', 1))
✓ assigning 1 to (1056, 1735) produces 39 more balanced triangles (1, 40): (('s+1', 40), ('s-1', 1))
✓ assigning 1 to (2383, 2443) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning 1 to (2474, 2400) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning 1 to (1022, 3041) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning 1 to (522, 5034) produces 39 more balanced triangles (1, 40): (('s+1', 40), ('s-1', 1))
✓ assigning 1 to (913, 9773) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning 1 to (913, 2357) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning 1 to (2300, 66) produces 39 more balanced triangles (7, 46): (('s+1', 46), ('s-1', 7))
✓ assigning 1 to (6698, 3537) produces 39 more balanced triangles (3, 42): (('s+1', 42), ('s-1', 3))
✓ assigning 1 to (2310, 817) produces 39 more balanced triangles (5, 44): (('s+1', 44), ('s-1', 5))
✓ assigning 1 to (14247, 4903) produces 39 more balanced triangles (3, 42): (('s+1', 42), ('s-1', 3))
✓ assigning 1 to (1204, 977) produces 39 more balanced triangles (0, 39): (('s+1', 39),)
✓ assigning -1 to (55526, 7610) produces 38 more balanced triangles (39, 1): (('s-1', 39), ('s+1', 1))
✓ assigning 1 to (894, 1988) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (863, 973) produces 38 more balanced triangles (1, 39): (('s+1', 39), ('s-1', 1))
✓ assigning 1 to (2442, 2475) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (7860, 590) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (1053, 1290) produces 38 more balanced triangles (2, 40): (('s+1', 40), ('w-1', 1), ('s-1', 1))
✓ assigning 1 to (1290, 982) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (2345, 75) produces 38 more balanced triangles (1, 39): (('s+1', 39), ('s-1', 1))
✓ assigning 1 to (1151, 975) produces 38 more balanced triangles (2, 40): (('s+1', 40), ('s-1', 2))
✓ assigning 1 to (1005, 2474) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (2401, 57) produces 38 more balanced triangles (2, 40): (('s+1', 40), ('s-1', 2))
✓ assigning 1 to (607, 888) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (2400, 1701) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (4246, 78) produces 38 more balanced triangles (3, 41): (('s+1', 41), ('s-1', 3))
✓ assigning 1 to (4258, 1197) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (973, 863) produces 38 more balanced triangles (1, 39): (('s+1', 39), ('s-1', 1))
✓ assigning 1 to (982, 2398) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (8454, 1801) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (867, 2357) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✗ assigning 1 to (976, 856) produces 38 more balanced triangles (12, 50): (('s+1', 50), ('s-1', 11), ('w-1', 1))
✓ assigning 1 to (798, 2475) produces 38 more balanced triangles (1, 39): (('s+1', 39), ('s-1', 1))
✓ assigning 1 to (859, 2474) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (83, 1064) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (83, 6725) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (977, 1701) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (1988, 57) produces 38 more balanced triangles (4, 42): (('s+1', 42), ('s-1', 4))
✓ assigning 1 to (64, 2436) produces 38 more balanced triangles (2, 40): (('s+1', 40), ('s-1', 2))
✓ assigning 1 to (1792, 3537) produces 38 more balanced triangles (1, 39): (('s+1', 39), ('s-1', 1))
✓ assigning 1 to (1056, 190) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (82, 2469) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (4808, 1436) produces 38 more balanced triangles (4, 42): (('s+1', 42), ('s-1', 3), ('w-1', 1))
✓ assigning 1 to (4701, 1287) produces 38 more balanced triangles (16, 54): (('s+1', 54), ('s-1', 12), ('w-1', 4))
✓ assigning 1 to (895, 896) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (1092, 1825) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (856, 7765) produces 38 more balanced triangles (1, 39): (('s+1', 39), ('s-1', 1))
✓ assigning 1 to (1027, 1080) produces 38 more balanced triangles (3, 41): (('s+1', 41), ('s-1', 3))
✓ assigning 1 to (8976, 9032) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (1389, 323) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (1701, 858) produces 38 more balanced triangles (1, 39): (('s+1', 39), ('s-1', 1))
✓ assigning 1 to (1021, 859) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (78, 876) produces 38 more balanced triangles (2, 40): (('s+1', 40), ('s-1', 2))
✓ assigning 1 to (10813, 1807) produces 38 more balanced triangles (0, 38): (('s+1', 38),)
✓ assigning 1 to (5034, 2300) produces 37 more balanced triangles (4, 41): (('s+1', 41), ('s-1', 4))
✓ assigning 1 to (860, 2436) produces 37 more balanced triangles (3, 40): (('s+1', 40), ('s-1', 3))
✓ assigning -1 to (55526, 5171) produces 37 more balanced triangles (38, 1): (('s-1', 38), ('s+1', 1))
✓ assigning 1 to (791, 1116) produces 37 more balanced triangles (1, 38): (('s+1', 38), ('s-1', 1))
✓ assigning 1 to (1155, 5130) produces 37 more balanced triangles (1, 38): (('s+1', 38), ('s-1', 1))
✓ assigning 1 to (1066, 876) produces 37 more balanced triangles (0, 37): (('s+1', 37),)
✓ assigning 1 to (936, 2416) produces 37 more balanced triangles (0, 37): (('s+1', 37),)
✓ assigning 1 to (798, 2055) produces 37 more balanced triangles (1, 38): (('s+1', 38), ('s-1', 1))
✓ assigning 1 to (2457, 1012) produces 37 more balanced triangles (1, 38): (('s+1', 38), ('s-1', 1))
✓ assigning 1 to (1193, 5034) produces 37 more balanced triangles (0, 37): (('s+1', 37),)
✓ assigning 1 to (841, 1436) produces 37 more balanced triangles (4, 41): (('s+1', 41), ('w-1', 2), ('s-1', 2))
✓ assigning 1 to (1021, 2454) produces 37 more balanced triangles (0, 37): (('s+1', 37),)
✓ assigning 1 to (1707, 1695) produces 37 more balanced triangles (1, 38): (('s+1', 38), ('s-1', 1))
✓ assigning 1 to (990, 75) produces 37 more balanced triangles (5, 42): (('s+1', 42), ('s-1', 5))
✓ assigning 1 to (1052, 994) produces 37 more balanced triangles (2, 39): (('s+1', 39), ('s-1', 2))
✓ assigning 1 to (4549, 1796) produces 37 more balanced triangles (3, 40): (('s+1', 40), ('s-1', 3))
✓ assigning 1 to (820, 1990) produces 37 more balanced triangles (0, 37): (('s+1', 37),)
✓ assigning 1 to (2398, 2407) produces 37 more balanced triangles (0, 37): (('s+1', 37),)
✓ assigning 1 to (2412, 648) produces 37 more balanced triangles (1, 38): (('s+1', 38), ('s-1', 1))
✓ assigning 1 to (9783, 95) produces 37 more balanced triangles (0, 37): (('s+1', 37),)
✓ assigning 1 to (2475, 1389) produces 37 more balanced triangles (0, 37): (('s+1', 37),)
✓ assigning 1 to (2451, 2380) produces 37 more balanced triangles (1, 38): (('s+1', 38), ('s-1', 1))
Accuracy on 1200 predictions is 0.9941666666666666
iteration=7, #remaining targets=619
graph partitioning...
to_scipy_sparse_matrix
100%|██████████| 77357/77357 [00:01<00:00, 57861.32it/s]
ALS...
predict labels (SVD + Kmeans)...
eigen values: [ 192.50225274 94.314556 74.98190964 56.35275535 46.55712091
42.81516672 42.09468087 41.59070258 40.387221 36.23217826]
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
solving max_balance
building triangle_count_by_edge
edge2edges (size 1697) is given
✓ assigning 1 to (522, 1229) produces 40 more balanced triangles (7, 47): (('s+1', 47), ('s-1', 7))
✓ assigning 1 to (1579, 1033) produces 37 more balanced triangles (0, 37): (('s+1', 37),)
✓ assigning 1 to (3414, 3773) produces 37 more balanced triangles (1, 38): (('s+1', 38), ('s-1', 1))
✓ assigning 1 to (1460, 522) produces 37 more balanced triangles (4, 41): (('s+1', 41), ('s-1', 4))
✓ assigning 1 to (1300, 118) produces 37 more balanced triangles (4, 41): (('s+1', 41), ('s-1', 4))
✓ assigning 1 to (4407, 97) produces 37 more balanced triangles (0, 37): (('s+1', 37),)
✓ assigning 1 to (976, 2441) produces 37 more balanced triangles (4, 41): (('s+1', 41), ('s-1', 4))
✓ assigning 1 to (1197, 1204) produces 37 more balanced triangles (0, 37): (('s+1', 37),)
✓ assigning 1 to (1239, 836) produces 37 more balanced triangles (1, 38): (('s+1', 38), ('s-1', 1))
✓ assigning 1 to (1789, 818) produces 37 more balanced triangles (0, 37): (('s+1', 37),)
✓ assigning 1 to (3406, 990) produces 37 more balanced triangles (0, 37): (('s+1', 37),)
✓ assigning 1 to (4549, 6718) produces 37 more balanced triangles (0, 37): (('s+1', 37),)
✓ assigning 1 to (951, 856) produces 36 more balanced triangles (1, 37): (('s+1', 37), ('s-1', 1))
✓ assigning 1 to (4433, 913) produces 36 more balanced triangles (0, 36): (('s+1', 36),)
✓ assigning 1 to (1171, 893) produces 36 more balanced triangles (9, 45): (('s+1', 45), ('s-1', 9))
✓ assigning 1 to (10837, 4901) produces 36 more balanced triangles (1, 37): (('s+1', 37), ('s-1', 1))
✓ assigning 1 to (1171, 2441) produces 36 more balanced triangles (4, 40): (('s+1', 40), ('s-1', 4))
✓ assigning 1 to (893, 1171) produces 36 more balanced triangles (9, 45): (('s+1', 45), ('s-1', 9))
✓ assigning 1 to (4407, 2452) produces 36 more balanced triangles (0, 36): (('s+1', 36),)
✓ assigning 1 to (2013, 2043) produces 36 more balanced triangles (1, 37): (('s+1', 37), ('s-1', 1))
✓ assigning 1 to (1675, 1033) produces 36 more balanced triangles (3, 39): (('s+1', 39), ('s-1', 3))
✓ assigning 1 to (976, 1133) produces 36 more balanced triangles (11, 47): (('s+1', 47), ('s-1', 10), ('w-1', 1))
✓ assigning 1 to (2458, 1705) produces 36 more balanced triangles (4, 40): (('s+1', 40), ('w-1', 2), ('s-1', 2))
✓ assigning 1 to (4433, 87) produces 36 more balanced triangles (0, 36): (('s+1', 36),)
✓ assigning 1 to (973, 6843) produces 36 more balanced triangles (1, 37): (('s+1', 37), ('s-1', 1))
✓ assigning 1 to (2013, 1990) produces 36 more balanced triangles (0, 36): (('s+1', 36),)
✓ assigning 1 to (973, 7728) produces 36 more balanced triangles (1, 37): (('s+1', 37), ('s-1', 1))
✓ assigning 1 to (888, 2389) produces 36 more balanced triangles (0, 36): (('s+1', 36),)
✓ assigning 1 to (856, 2055) produces 36 more balanced triangles (0, 36): (('s+1', 36),)
✓ assigning 1 to (2452, 2436) produces 36 more balanced triangles (2, 38): (('s+1', 38), ('s-1', 2))
✓ assigning 1 to (4433, 65) produces 36 more balanced triangles (0, 36): (('s+1', 36),)
✓ assigning 1 to (78, 2374) produces 36 more balanced triangles (1, 37): (('s+1', 37), ('s-1', 1))
✓ assigning -1 to (55526, 4791) produces 36 more balanced triangles (37, 1): (('s-1', 37), ('s+1', 1))
✓ assigning 1 to (2310, 2400) produces 36 more balanced triangles (3, 39): (('s+1', 39), ('w-1', 2), ('s-1', 1))
✓ assigning 1 to (1066, 2451) produces 36 more balanced triangles (0, 36): (('s+1', 36),)
✓ assigning 1 to (1241, 1054) produces 36 more balanced triangles (0, 36): (('s+1', 36),)
✓ assigning 1 to (34, 97) produces 36 more balanced triangles (11, 47): (('s+1', 47), ('s-1', 9), ('w-1', 2))
✓ assigning 1 to (2452, 4407) produces 36 more balanced triangles (0, 36): (('s+1', 36),)
✓ assigning 1 to (1022, 1027) produces 36 more balanced triangles (0, 36): (('s+1', 36),)
✓ assigning 1 to (83, 5028) produces 36 more balanced triangles (0, 36): (('s+1', 36),)
✓ assigning 1 to (1668, 1707) produces 36 more balanced triangles (1, 37): (('s+1', 37), ('s-1', 1))
✓ assigning 1 to (66, 6474) produces 36 more balanced triangles (1, 37): (('s+1', 37), ('s-1', 1))
✓ assigning 1 to (896, 2357) produces 36 more balanced triangles (0, 36): (('s+1', 36),)
✓ assigning 1 to (66, 3414) produces 36 more balanced triangles (0, 36): (('s+1', 36),)
✓ assigning 1 to (1727, 809) produces 36 more balanced triangles (4, 40): (('s+1', 40), ('w-1', 2), ('s-1', 2))
✓ assigning 1 to (1006, 7728) produces 36 more balanced triangles (0, 36): (('s+1', 36),)
✓ assigning 1 to (184, 300) produces 35 more balanced triangles (1, 36): (('s+1', 36), ('s-1', 1))
✓ assigning 1 to (1808, 632) produces 35 more balanced triangles (5, 40): (('s+1', 40), ('s-1', 5))
✓ assigning 1 to (1735, 2476) produces 35 more balanced triangles (2, 37): (('s+1', 37), ('s-1', 2))
✓ assigning 1 to (87, 2374) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning -1 to (1794, 46) produces 35 more balanced triangles (42, 7): (('s-1', 39), ('s+1', 7), ('w-1', 3))
✓ assigning 1 to (1707, 2412) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (6524, 83) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (1426, 818) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (2412, 1707) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (4949, 43) produces 35 more balanced triangles (1, 36): (('s+1', 36), ('s-1', 1))
✓ assigning 1 to (8, 895) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (1006, 5278) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (522, 821) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (8252, 936) produces 35 more balanced triangles (2, 37): (('s+1', 37), ('s-1', 2))
✓ assigning 1 to (858, 522) produces 35 more balanced triangles (2, 37): (('s+1', 37), ('s-1', 2))
✗ assigning 1 to (817, 80) produces 35 more balanced triangles (7, 42): (('s+1', 42), ('s-1', 7))
✓ assigning 1 to (7728, 1389) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (1814, 6856) produces 35 more balanced triangles (4, 39): (('s+1', 39), ('s-1', 4))
✓ assigning 1 to (945, 1550) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (87, 2429) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (1821, 3537) produces 35 more balanced triangles (2, 37): (('s+1', 37), ('s-1', 2))
✓ assigning 1 to (2452, 2374) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (82, 7404) produces 35 more balanced triangles (5, 40): (('s+1', 40), ('s-1', 5))
✓ assigning 1 to (2429, 74) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (6474, 65) produces 35 more balanced triangles (5, 40): (('s+1', 40), ('s-1', 5))
✓ assigning 1 to (3455, 64) produces 35 more balanced triangles (4, 39): (('s+1', 39), ('s-1', 4))
✓ assigning 1 to (821, 590) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (2454, 1065) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (152, 2142) produces 35 more balanced triangles (1, 36): (('s+1', 36), ('s-1', 1))
✓ assigning 1 to (836, 2454) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (6464, 1027) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (820, 3414) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (1033, 1051) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (4258, 833) produces 35 more balanced triangles (1, 36): (('s+1', 36), ('s-1', 1))
✓ assigning 1 to (4901, 1319) produces 35 more balanced triangles (1, 36): (('s+1', 36), ('s-1', 1))
✓ assigning 1 to (632, 1808) produces 35 more balanced triangles (5, 40): (('s+1', 40), ('s-1', 5))
✓ assigning 1 to (1993, 6113) produces 35 more balanced triangles (1, 36): (('s+1', 36), ('s-1', 1))
✓ assigning 1 to (2398, 888) produces 35 more balanced triangles (0, 35): (('s+1', 35),)
✓ assigning 1 to (1785, 118) produces 35 more balanced triangles (1, 36): (('s+1', 36), ('s-1', 1))
✓ assigning 1 to (10837, 5612) produces 35 more balanced triangles (1, 36): (('s+1', 36), ('s-1', 1))
✓ assigning 1 to (2428, 1707) produces 35 more balanced triangles (1, 36): (('s+1', 36), ('s-1', 1))
✓ assigning 1 to (990, 80) produces 35 more balanced triangles (7, 42): (('s+1', 42), ('s-1', 5), ('w-1', 2))
✓ assigning 1 to (4550, 7610) produces 35 more balanced triangles (1, 36): (('s+1', 36), ('s-1', 1))
✓ assigning 1 to (1791, 1814) produces 34 more balanced triangles (4, 38): (('s+1', 38), ('s-1', 4))
✓ assigning 1 to (3041, 2374) produces 34 more balanced triangles (1, 35): (('s+1', 35), ('s-1', 1))
✓ assigning 1 to (1043, 2646) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (876, 190) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (1051, 1012) produces 34 more balanced triangles (1, 35): (('s+1', 35), ('s-1', 1))
✓ assigning 1 to (749, 813) produces 34 more balanced triangles (4, 38): (('s+1', 38), ('s-1', 4))
✓ assigning 1 to (2474, 6843) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (66, 55) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (841, 2469) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (2013, 1020) produces 34 more balanced triangles (2, 36): (('s+1', 36), ('s-1', 2))
✓ assigning 1 to (3296, 3096) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning -1 to (46, 6713) produces 34 more balanced triangles (34, 0): (('s-1', 34),)
✓ assigning 1 to (936, 797) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (976, 2442) produces 34 more balanced triangles (5, 39): (('s+1', 39), ('s-1', 5))
✓ assigning 1 to (4549, 1810) produces 34 more balanced triangles (7, 41): (('s+1', 41), ('s-1', 7))
✓ assigning -1 to (1981, 2553) produces 34 more balanced triangles (41, 7): (('s-1', 41), ('s+1', 7))
✓ assigning -1 to (55526, 1808) produces 34 more balanced triangles (43, 9): (('s-1', 42), ('s+1', 9), ('w-1', 1))
✓ assigning 1 to (1814, 1791) produces 34 more balanced triangles (4, 38): (('s+1', 38), ('s-1', 4))
✓ assigning 1 to (7404, 1239) produces 34 more balanced triangles (2, 36): (('s+1', 36), ('s-1', 2))
✓ assigning 1 to (7735, 1197) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (2646, 913) produces 34 more balanced triangles (1, 35): (('s+1', 35), ('s-1', 1))
✓ assigning 1 to (61, 1290) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (97, 2446) produces 34 more balanced triangles (1, 35): (('s+1', 35), ('s-1', 1))
✓ assigning 1 to (5034, 3414) produces 34 more balanced triangles (1, 35): (('s+1', 35), ('s-1', 1))
✓ assigning 1 to (914, 894) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (97, 4240) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (2646, 83) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (1006, 1009) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (2437, 82) produces 34 more balanced triangles (2, 36): (('s+1', 36), ('s-1', 2))
✓ assigning 1 to (1730, 1300) produces 34 more balanced triangles (5, 39): (('s+1', 39), ('s-1', 5))
✓ assigning 1 to (80, 75) produces 34 more balanced triangles (9, 43): (('s+1', 43), ('s-1', 7), ('w-1', 2))
✓ assigning 1 to (936, 642) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (5790, 651) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (7728, 71) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (74, 2005) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (2412, 1012) produces 34 more balanced triangles (1, 35): (('s+1', 35), ('s-1', 1))
✓ assigning 1 to (7601, 1817) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (2421, 1990) produces 34 more balanced triangles (1, 35): (('s+1', 35), ('s-1', 1))
✓ assigning 1 to (6706, 1753) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (2073, 951) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (1021, 2427) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (4246, 2407) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (2384, 2458) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (1803, 4901) produces 34 more balanced triangles (2, 36): (('s+1', 36), ('s-1', 2))
✓ assigning 1 to (2013, 749) produces 34 more balanced triangles (2, 36): (('s+1', 36), ('w-1', 1), ('s-1', 1))
✓ assigning 1 to (1061, 2055) produces 34 more balanced triangles (1, 35): (('s+1', 35), ('s-1', 1))
✓ assigning 1 to (982, 2462) produces 34 more balanced triangles (1, 35): (('s+1', 35), ('s-1', 1))
✓ assigning 1 to (66, 625) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (975, 2401) produces 34 more balanced triangles (3, 37): (('s+1', 37), ('s-1', 3))
✓ assigning 1 to (78, 4218) produces 34 more balanced triangles (5, 39): (('s+1', 39), ('w-1', 3), ('s-1', 2))
✓ assigning 1 to (2310, 1442) produces 34 more balanced triangles (4, 38): (('s+1', 38), ('s-1', 4))
✓ assigning 1 to (1803, 1791) produces 34 more balanced triangles (2, 36): (('s+1', 36), ('s-1', 2))
✓ assigning 1 to (5171, 6698) produces 34 more balanced triangles (3, 37): (('s+1', 37), ('s-1', 3))
✓ assigning 1 to (64, 1064) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (3414, 1027) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (7843, 2452) produces 34 more balanced triangles (0, 34): (('s+1', 34),)
✓ assigning 1 to (15286, 15240) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (1065, 1668) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (632, 2523) produces 33 more balanced triangles (4, 37): (('s+1', 37), ('s-1', 4))
✓ assigning 1 to (83, 924) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (1792, 5612) produces 33 more balanced triangles (1, 34): (('s+1', 34), ('s-1', 1))
✓ assigning 1 to (2408, 1027) produces 33 more balanced triangles (1, 34): (('s+1', 34), ('s-1', 1))
✓ assigning 1 to (1260, 973) produces 33 more balanced triangles (3, 36): (('s+1', 36), ('s-1', 3))
✓ assigning 1 to (791, 1397) produces 33 more balanced triangles (4, 37): (('s+1', 37), ('s-1', 4))
✓ assigning 1 to (1179, 885) produces 33 more balanced triangles (8, 41): (('s+1', 41), ('s-1', 5), ('w-1', 3))
✓ assigning 1 to (65, 5399) produces 33 more balanced triangles (2, 35): (('s+1', 35), ('s-1', 2))
✓ assigning 1 to (3455, 2404) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (2398, 1027) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (614, 2452) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (913, 1686) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (1197, 1234) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (66, 2055) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (97, 749) produces 33 more balanced triangles (4, 37): (('s+1', 37), ('s-1', 3), ('w-1', 1))
✓ assigning 1 to (991, 809) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (6718, 2523) produces 33 more balanced triangles (1, 34): (('s+1', 34), ('s-1', 1))
✓ assigning 1 to (1234, 1197) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (1066, 57) produces 33 more balanced triangles (4, 37): (('s+1', 37), ('s-1', 4))
✓ assigning 1 to (5171, 676) produces 33 more balanced triangles (3, 36): (('s+1', 36), ('s-1', 3))
✓ assigning 1 to (97, 861) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (2384, 1033) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (3628, 83) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✗ assigning -1 to (2152, 46) produces 33 more balanced triangles (41, 8): (('w-1', 38), ('s+1', 8), ('s-1', 3))
✓ assigning 1 to (4791, 7601) produces 33 more balanced triangles (1, 34): (('s+1', 34), ('s-1', 1))
✓ assigning 1 to (994, 976) produces 33 more balanced triangles (5, 38): (('s+1', 38), ('s-1', 5))
✓ assigning 1 to (2458, 1051) produces 33 more balanced triangles (1, 34): (('s+1', 34), ('s-1', 1))
✓ assigning 1 to (5028, 82) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (2444, 860) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (818, 1204) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning -1 to (1981, 6713) produces 33 more balanced triangles (35, 2): (('s-1', 35), ('s+1', 2))
✓ assigning -1 to (1981, 3325) produces 33 more balanced triangles (41, 8): (('s-1', 41), ('s+1', 8))
✓ assigning 1 to (1287, 2400) produces 33 more balanced triangles (5, 38): (('s+1', 38), ('s-1', 5))
✓ assigning 1 to (2449, 833) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (1022, 951) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (924, 83) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (2354, 7984) produces 33 more balanced triangles (2, 35): (('s+1', 35), ('s-1', 2))
✓ assigning -1 to (46, 4791) produces 33 more balanced triangles (39, 6): (('s-1', 39), ('s+1', 6))
✓ assigning 1 to (1189, 522) produces 33 more balanced triangles (1, 34): (('s+1', 34), ('s-1', 1))
✓ assigning 1 to (936, 2463) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (7750, 791) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (5399, 65) produces 33 more balanced triangles (2, 35): (('s+1', 35), ('s-1', 2))
✓ assigning 1 to (1043, 801) produces 33 more balanced triangles (1, 34): (('s+1', 34), ('s-1', 1))
✓ assigning 1 to (2436, 990) produces 33 more balanced triangles (1, 34): (('s+1', 34), ('s-1', 1))
✓ assigning 1 to (6713, 3537) produces 33 more balanced triangles (1, 34): (('s+1', 34), ('s-1', 1))
✓ assigning 1 to (2474, 3406) produces 33 more balanced triangles (0, 33): (('s+1', 33),)
✓ assigning 1 to (970, 1579) produces 33 more balanced triangles (6, 39): (('s+1', 39), ('s-1', 4), ('w-1', 2))
✓ assigning 1 to (5115, 7610) produces 32 more balanced triangles (2, 34): (('s+1', 34), ('s-1', 2))
✓ assigning 1 to (82, 14) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (659, 4256) produces 32 more balanced triangles (6, 38): (('s+1', 38), ('s-1', 6))
✓ assigning 1 to (820, 3406) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (6852, 1801) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (868, 936) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
Accuracy on 1400 predictions is 0.9935714285714285
iteration=8, #remaining targets=419
graph partitioning...
to_scipy_sparse_matrix
100%|██████████| 77357/77357 [00:01<00:00, 54996.97it/s]
ALS...
predict labels (SVD + Kmeans)...
eigen values: [ 192.50225274 94.314556 74.98190964 56.35275535 46.55712091
42.81516672 42.09468087 41.59070258 40.387221 36.23217826]
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
/home/cloud-user/code/snpp/venv/lib/python3.5/site-packages/sklearn/externals/joblib/hashing.py:197: DeprecationWarning: Changing the shape of non-C contiguous array by
descriptor assignment is deprecated. To maintain
the Fortran contiguity of a multidimensional Fortran
array, use 'a.T.view(...).T' instead
obj_bytes_view = obj.view(self.np.uint8)
solving max_balance
building triangle_count_by_edge
edge2edges (size 1714) is given
✓ assigning -1 to (1491, 1240) produces 34 more balanced triangles (42, 8): (('s-1', 34), ('w-1', 8), ('s+1', 8))
✓ assigning -1 to (1325, 676) produces 33 more balanced triangles (36, 3): (('s-1', 34), ('s+1', 3), ('w-1', 2))
✓ assigning 1 to (1234, 1988) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (1792, 6706) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (9773, 1029) produces 32 more balanced triangles (1, 33): (('s+1', 33), ('s-1', 1))
✓ assigning 1 to (74, 1550) produces 32 more balanced triangles (2, 34): (('s+1', 34), ('s-1', 2))
✓ assigning 1 to (2446, 190) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (659, 1029) produces 32 more balanced triangles (6, 38): (('s+1', 38), ('s-1', 4), ('w-1', 2))
✓ assigning 1 to (2384, 896) produces 32 more balanced triangles (1, 33): (('s+1', 33), ('s-1', 1))
✓ assigning -1 to (1155, 48) produces 32 more balanced triangles (35, 3): (('s-1', 34), ('s+1', 3), ('w-1', 1))
✓ assigning 1 to (62, 1050) produces 32 more balanced triangles (1, 33): (('s+1', 33), ('s-1', 1))
✓ assigning 1 to (7843, 83) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (1066, 2382) produces 32 more balanced triangles (3, 35): (('s+1', 35), ('s-1', 3))
✓ assigning 1 to (607, 1579) produces 32 more balanced triangles (3, 35): (('s+1', 35), ('w-1', 2), ('s-1', 1))
✓ assigning 1 to (3475, 4407) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (863, 1061) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (1668, 1727) produces 32 more balanced triangles (3, 35): (('s+1', 35), ('s-1', 3))
✓ assigning 1 to (1197, 57) produces 32 more balanced triangles (4, 36): (('s+1', 36), ('s-1', 4))
✓ assigning 1 to (4218, 914) produces 32 more balanced triangles (2, 34): (('s+1', 34), ('s-1', 2))
✓ assigning 1 to (893, 1290) produces 32 more balanced triangles (4, 36): (('s+1', 36), ('s-1', 4))
✓ assigning 1 to (3406, 820) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (629, 951) produces 32 more balanced triangles (1, 33): (('s+1', 33), ('s-1', 1))
✓ assigning 1 to (2013, 2386) produces 32 more balanced triangles (2, 34): (('s+1', 34), ('s-1', 2))
✓ assigning 1 to (1053, 1579) produces 32 more balanced triangles (2, 34): (('s+1', 34), ('s-1', 2))
✓ assigning 1 to (67, 3414) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning -1 to (46, 8454) produces 32 more balanced triangles (36, 4): (('s-1', 35), ('s+1', 4), ('w-1', 1))
✓ assigning 1 to (2073, 2445) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (1695, 1033) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (860, 2416) produces 32 more balanced triangles (2, 34): (('s+1', 34), ('s-1', 2))
✓ assigning -1 to (46, 1319) produces 32 more balanced triangles (38, 6): (('s-1', 37), ('s+1', 6), ('w-1', 1))
✓ assigning 1 to (2475, 7765) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (14, 1200) produces 32 more balanced triangles (1, 33): (('s+1', 33), ('s-1', 1))
✓ assigning 1 to (1239, 861) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (648, 7843) produces 32 more balanced triangles (2, 34): (('s+1', 34), ('s-1', 2))
✓ assigning 1 to (1792, 1808) produces 32 more balanced triangles (15, 47): (('s+1', 47), ('s-1', 15))
✓ assigning 1 to (4433, 97) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (2419, 2421) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (4240, 936) produces 32 more balanced triangles (1, 33): (('s+1', 33), ('s-1', 1))
✓ assigning 1 to (3406, 856) produces 32 more balanced triangles (0, 32): (('s+1', 32),)
✓ assigning 1 to (84, 2407) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (2458, 801) produces 31 more balanced triangles (2, 33): (('s+1', 33), ('s-1', 2))
✓ assigning 1 to (801, 1061) produces 31 more balanced triangles (1, 32): (('s+1', 32), ('s-1', 1))
✓ assigning -1 to (13001, 1791) produces 31 more balanced triangles (33, 2): (('s-1', 33), ('s+1', 2))
✓ assigning 1 to (2383, 6543) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (2300, 1922) produces 31 more balanced triangles (9, 40): (('s+1', 40), ('s-1', 9))
✓ assigning 1 to (2416, 2354) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (1753, 1823) produces 31 more balanced triangles (2, 33): (('s+1', 33), ('s-1', 2))
✓ assigning 1 to (1204, 4701) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (4901, 1807) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (1814, 12033) produces 31 more balanced triangles (1, 32): (('s+1', 32), ('s-1', 1))
✓ assigning 1 to (2442, 863) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (2404, 55) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (2437, 881) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (982, 868) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning -1 to (12973, 1802) produces 31 more balanced triangles (39, 8): (('s-1', 38), ('s+1', 8), ('w-1', 1))
✓ assigning 1 to (5022, 1796) produces 31 more balanced triangles (3, 34): (('s+1', 34), ('s-1', 3))
✓ assigning 1 to (2474, 836) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (5171, 2502) produces 31 more balanced triangles (3, 34): (('s+1', 34), ('s-1', 3))
✓ assigning 1 to (971, 7753) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (1236, 2695) produces 31 more balanced triangles (4, 35): (('s+1', 35), ('s-1', 3), ('w-1', 1))
✓ assigning 1 to (977, 4701) produces 31 more balanced triangles (6, 37): (('s+1', 37), ('s-1', 6))
✓ assigning 1 to (951, 75) produces 31 more balanced triangles (1, 32): (('s+1', 32), ('s-1', 1))
✓ assigning 1 to (1028, 976) produces 31 more balanced triangles (8, 39): (('s+1', 39), ('s-1', 8))
✓ assigning 1 to (888, 895) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (74, 163) produces 31 more balanced triangles (24, 55): (('s+1', 55), ('s-1', 14), ('w-1', 10))
✓ assigning 1 to (653, 1506) produces 31 more balanced triangles (5, 36): (('s+1', 36), ('s-1', 3), ('w-1', 2))
✓ assigning 1 to (2055, 67) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (2523, 5612) produces 31 more balanced triangles (5, 36): (('s+1', 36), ('s-1', 5))
✓ assigning 1 to (2646, 936) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (1707, 988) produces 31 more balanced triangles (4, 35): (('s+1', 35), ('s-1', 3), ('w-1', 1))
✓ assigning 1 to (2474, 43) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (842, 2386) produces 31 more balanced triangles (1, 32): (('s+1', 32), ('s-1', 1))
✓ assigning 1 to (2404, 7735) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (82, 2293) produces 31 more balanced triangles (3, 34): (('s+1', 34), ('s-1', 3))
✓ assigning 1 to (163, 4241) produces 31 more balanced triangles (7, 38): (('s+1', 38), ('s-1', 5), ('w-1', 2))
✓ assigning 1 to (6718, 1319) produces 31 more balanced triangles (0, 31): (('s+1', 31),)
✓ assigning 1 to (2388, 75) produces 31 more balanced triangles (1, 32): (('s+1', 32), ('s-1', 1))
✓ assigning 1 to (1935, 2441) produces 31 more balanced triangles (5, 36): (('s+1', 36), ('s-1', 5))
✓ assigning -1 to (1491, 87) produces 31 more balanced triangles (33, 2): (('s-1', 33), ('s+1', 2))
✓ assigning 1 to (791, 1686) produces 30 more balanced triangles (1, 31): (('s+1', 31), ('s-1', 1))
✓ assigning 1 to (7404, 1012) produces 30 more balanced triangles (4, 34): (('s+1', 34), ('s-1', 4))
✓ assigning 1 to (1735, 1668) produces 30 more balanced triangles (4, 34): (('s+1', 34), ('s-1', 4))
✓ assigning 1 to (4256, 7404) produces 30 more balanced triangles (3, 33): (('s+1', 33), ('s-1', 3))
✓ assigning 1 to (955, 4949) produces 30 more balanced triangles (1, 31): (('s+1', 31), ('s-1', 1))
✓ assigning 1 to (5068, 913) produces 30 more balanced triangles (1, 31): (('s+1', 31), ('s-1', 1))
✓ assigning 1 to (659, 1012) produces 30 more balanced triangles (9, 39): (('s+1', 39), ('s-1', 8), ('w-1', 1))
✓ assigning 1 to (2446, 1019) produces 30 more balanced triangles (2, 32): (('s+1', 32), ('s-1', 2))
✓ assigning 1 to (50, 51) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (749, 1064) produces 30 more balanced triangles (3, 33): (('s+1', 33), ('s-1', 3))
✓ assigning 1 to (106, 5994) produces 30 more balanced triangles (1, 31): (('s+1', 31), ('s-1', 1))
✓ assigning 1 to (955, 894) produces 30 more balanced triangles (3, 33): (('s+1', 33), ('s-1', 3))
✓ assigning 1 to (2420, 5399) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (859, 607) produces 30 more balanced triangles (1, 31): (('s+1', 31), ('s-1', 1))
✓ assigning 1 to (1823, 1802) produces 30 more balanced triangles (1, 31): (('s+1', 31), ('s-1', 1))
✓ assigning 1 to (2516, 1200) produces 30 more balanced triangles (1, 31): (('s+1', 31), ('w-1', 1))
✓ assigning 1 to (1236, 877) produces 30 more balanced triangles (14, 44): (('s+1', 44), ('s-1', 11), ('w-1', 3))
✓ assigning 1 to (1006, 825) produces 30 more balanced triangles (1, 31): (('s+1', 31), ('s-1', 1))
✓ assigning 1 to (6469, 973) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (1006, 7404) produces 30 more balanced triangles (4, 34): (('s+1', 34), ('s-1', 4))
✓ assigning 1 to (4903, 1823) produces 30 more balanced triangles (1, 31): (('s+1', 31), ('s-1', 1))
✓ assigning 1 to (1033, 1050) produces 30 more balanced triangles (2, 32): (('s+1', 32), ('s-1', 2))
✓ assigning 1 to (51, 50) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (5115, 161) produces 30 more balanced triangles (1, 31): (('s+1', 31), ('s-1', 1))
✓ assigning 1 to (1695, 809) produces 30 more balanced triangles (1, 31): (('s+1', 31), ('s-1', 1))
✓ assigning 1 to (975, 895) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (2013, 1389) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (6842, 2408) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning -1 to (2310, 1240) produces 30 more balanced triangles (42, 12): (('s-1', 38), ('s+1', 12), ('w-1', 4))
✓ assigning 1 to (2142, 1028) produces 30 more balanced triangles (2, 32): (('s+1', 32), ('s-1', 2))
✓ assigning 1 to (1686, 791) produces 30 more balanced triangles (1, 31): (('s+1', 31), ('s-1', 1))
✓ assigning 1 to (895, 1020) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (3041, 34) produces 30 more balanced triangles (12, 42): (('s+1', 42), ('s-1', 8), ('w-1', 4))
✓ assigning 1 to (5790, 75) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (2784, 43) produces 30 more balanced triangles (3, 33): (('s+1', 33), ('s-1', 3))
✓ assigning 1 to (1675, 951) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (1019, 1705) produces 30 more balanced triangles (6, 36): (('s+1', 36), ('s-1', 6))
✓ assigning 1 to (1189, 82) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (97, 47) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (12339, 3537) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (936, 905) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (1133, 522) produces 30 more balanced triangles (1, 31): (('s+1', 31), ('s-1', 1))
✓ assigning 1 to (2451, 2475) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (951, 1675) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (975, 2428) produces 30 more balanced triangles (1, 31): (('s+1', 31), ('s-1', 1))
✓ assigning 1 to (841, 1009) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (1810, 2559) produces 30 more balanced triangles (9, 39): (('s+1', 39), ('s-1', 9))
✓ assigning 1 to (836, 161) produces 30 more balanced triangles (2, 32): (('s+1', 32), ('s-1', 2))
✓ assigning 1 to (2073, 1052) produces 30 more balanced triangles (6, 36): (('s+1', 36), ('s-1', 4), ('w-1', 2))
✓ assigning 1 to (2391, 913) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (2678, 1200) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (4407, 2805) produces 30 more balanced triangles (0, 30): (('s+1', 30),)
✓ assigning 1 to (2441, 152) produces 29 more balanced triangles (2, 31): (('s+1', 31), ('s-1', 2))
✓ assigning 1 to (659, 43) produces 29 more balanced triangles (11, 40): (('s+1', 40), ('s-1', 7), ('w-1', 4))
✓ assigning 1 to (1579, 1065) produces 29 more balanced triangles (1, 30): (('s+1', 30), ('s-1', 1))
✓ assigning -1 to (46, 7610) produces 29 more balanced triangles (33, 4): (('s-1', 32), ('s+1', 4), ('w-1', 1))
✓ assigning 1 to (1197, 2386) produces 29 more balanced triangles (0, 29): (('s+1', 29),)
✓ assigning 1 to (2094, 4238) produces 29 more balanced triangles (1, 30): (('s+1', 30), ('s-1', 1))
✓ assigning 1 to (2808, 2516) produces 29 more balanced triangles (1, 30): (('s+1', 30), ('s-1', 1))
✓ assigning 1 to (7765, 5278) produces 29 more balanced triangles (0, 29): (('s+1', 29),)
✓ assigning -1 to (9270, 5483) produces 29 more balanced triangles (30, 1): (('s-1', 30), ('s+1', 1))
✓ assigning 1 to (1460, 83) produces 29 more balanced triangles (8, 37): (('s+1', 37), ('s-1', 6), ('w-1', 2))
✓ assigning -1 to (27244, 1803) produces 29 more balanced triangles (32, 3): (('s-1', 30), ('s+1', 3), ('w-1', 2))
✓ assigning 1 to (2290, 1027) produces 29 more balanced triangles (3, 32): (('s+1', 32), ('s-1', 2), ('w-1', 1))
✓ assigning 1 to (1722, 833) produces 29 more balanced triangles (1, 30): (('s+1', 30), ('s-1', 1))
✓ assigning 1 to (801, 1029) produces 29 more balanced triangles (2, 31): (('s+1', 31), ('s-1', 2))
✓ assigning 1 to (6866, 1801) produces 29 more balanced triangles (1, 30): (('s+1', 30), ('s-1', 1))
✓ assigning 1 to (4901, 676) produces 29 more balanced triangles (1, 30): (('s+1', 30), ('s-1', 1))
✓ assigning 1 to (5130, 1810) produces 29 more balanced triangles (9, 38): (('s+1', 38), ('s-1', 9))
✓ assigning 1 to (5399, 2808) produces 29 more balanced triangles (0, 29): (('s+1', 29),)
✓ assigning 1 to (1579, 809) produces 29 more balanced triangles (9, 38): (('s+1', 38), ('s-1', 6), ('w-1', 3))
✓ assigning 1 to (2013, 2445) produces 29 more balanced triangles (1, 30): (('s+1', 30), ('s-1', 1))
✓ assigning 1 to (1200, 3630) produces 29 more balanced triangles (0, 29): (('s+1', 29),)
✓ assigning 1 to (2404, 34) produces 29 more balanced triangles (6, 35): (('s+1', 35), ('s-1', 6))
✓ assigning 1 to (6859, 1802) produces 29 more balanced triangles (1, 30): (('s+1', 30), ('s-1', 1))
✓ assigning -1 to (1356, 1792) produces 29 more balanced triangles (30, 1): (('s-1', 30), ('s+1', 1))
✓ assigning 1 to (2808, 1052) produces 29 more balanced triangles (5, 34): (('s+1', 34), ('s-1', 5))
✓ assigning 1 to (2386, 962) produces 29 more balanced triangles (1, 30): (('s+1', 30), ('s-1', 1))
✓ assigning 1 to (1707, 1234) produces 29 more balanced triangles (1, 30): (('s+1', 30), ('s-1', 1))
✓ assigning 1 to (1705, 1080) produces 29 more balanced triangles (3, 32): (('s+1', 32), ('s-1', 3))
✓ assigning 1 to (642, 2666) produces 29 more balanced triangles (4, 33): (('s+1', 33), ('s-1', 4))
✓ assigning 1 to (817, 4233) produces 29 more balanced triangles (0, 29): (('s+1', 29),)
✓ assigning 1 to (1241, 1027) produces 29 more balanced triangles (1, 30): (('s+1', 30), ('s-1', 1))
✓ assigning 1 to (747, 945) produces 29 more balanced triangles (4, 33): (('s+1', 33), ('s-1', 4))
✓ assigning 1 to (1065, 1579) produces 29 more balanced triangles (1, 30): (('s+1', 30), ('s-1', 1))
✓ assigning 1 to (590, 2345) produces 29 more balanced triangles (0, 29): (('s+1', 29),)
✓ assigning 1 to (1072, 3335) produces 29 more balanced triangles (7, 36): (('s+1', 36), ('s-1', 7))
✓ assigning 1 to (70, 7843) produces 29 more balanced triangles (0, 29): (('s+1', 29),)
✓ assigning 1 to (2441, 1705) produces 29 more balanced triangles (0, 29): (('s+1', 29),)
✓ assigning 1 to (4407, 1287) produces 29 more balanced triangles (3, 32): (('s+1', 32), ('s-1', 3))
✓ assigning 1 to (976, 607) produces 29 more balanced triangles (6, 35): (('s+1', 35), ('s-1', 4), ('w-1', 2))
✓ assigning 1 to (2345, 590) produces 29 more balanced triangles (0, 29): (('s+1', 29),)
✓ assigning 1 to (2464, 7610) produces 29 more balanced triangles (4, 33): (('s+1', 33), ('s-1', 4))
✓ assigning 1 to (1287, 1290) produces 29 more balanced triangles (8, 37): (('s+1', 37), ('s-1', 6), ('w-1', 2))
✓ assigning 1 to (8002, 1735) produces 29 more balanced triangles (0, 29): (('s+1', 29),)
✓ assigning 1 to (749, 1065) produces 28 more balanced triangles (2, 30): (('s+1', 30), ('s-1', 2))
✓ assigning 1 to (2401, 1695) produces 28 more balanced triangles (1, 29): (('s+1', 29), ('s-1', 1))
✓ assigning -1 to (27244, 1753) produces 28 more balanced triangles (28, 0): (('s-1', 28),)
✓ assigning 1 to (4246, 836) produces 28 more balanced triangles (3, 31): (('s+1', 31), ('s-1', 3))
✓ assigning 1 to (6866, 2553) produces 28 more balanced triangles (1, 29): (('s+1', 29), ('s-1', 1))
✓ assigning 1 to (4947, 522) produces 28 more balanced triangles (8, 36): (('s+1', 36), ('s-1', 8))
✓ assigning 1 to (1988, 522) produces 28 more balanced triangles (2, 30): (('s+1', 30), ('s-1', 2))
✓ assigning 1 to (142, 2354) produces 28 more balanced triangles (5, 33): (('s+1', 33), ('s-1', 5))
✓ assigning 1 to (1803, 10715) produces 28 more balanced triangles (0, 28): (('s+1', 28),)
✓ assigning 1 to (6586, 1802) produces 28 more balanced triangles (5, 33): (('s+1', 33), ('s-1', 5))
✓ assigning 1 to (3773, 1080) produces 28 more balanced triangles (3, 31): (('s+1', 31), ('s-1', 3))
✗ assigning 1 to (632, 1300) produces 28 more balanced triangles (6, 34): (('s+1', 34), ('s-1', 6))
✓ assigning 1 to (794, 893) produces 28 more balanced triangles (2, 30): (('s+1', 30), ('s-1', 2))
✓ assigning 1 to (2457, 833) produces 28 more balanced triangles (2, 30): (('s+1', 30), ('s-1', 2))
✓ assigning 1 to (1796, 836) produces 28 more balanced triangles (1, 29): (('s+1', 29), ('s-1', 1))
✓ assigning 1 to (6846, 8847) produces 28 more balanced triangles (1, 29): (('s+1', 29), ('s-1', 1))
✗ assigning -1 to (1491, 43) produces 28 more balanced triangles (38, 10): (('s-1', 36), ('s+1', 10), ('w-1', 2))
✓ assigning -1 to (13001, 12039) produces 28 more balanced triangles (29, 1): (('s-1', 29), ('s+1', 1))
✓ assigning 1 to (1287, 7984) produces 28 more balanced triangles (4, 32): (('s+1', 32), ('s-1', 4))
✓ assigning 1 to (2401, 1675) produces 28 more balanced triangles (1, 29): (('s+1', 29), ('s-1', 1))
✗ assigning -1 to (669, 170) produces 27 more balanced triangles (48, 21): (('w-1', 39), ('s+1', 21), ('s-1', 9))
✓ assigning 1 to (163, 2039) produces 27 more balanced triangles (7, 34): (('s+1', 34), ('s-1', 7))
✓ assigning 1 to (1990, 976) produces 27 more balanced triangles (5, 32): (('s+1', 32), ('s-1', 5))
✓ assigning 1 to (34, 0) produces 27 more balanced triangles (10, 37): (('s+1', 37), ('w-1', 7), ('s-1', 3))
✓ assigning -1 to (9270, 1300) produces 27 more balanced triangles (30, 3): (('s-1', 27), ('w-1', 3), ('s+1', 3))
✓ assigning 1 to (2039, 163) produces 27 more balanced triangles (7, 34): (('s+1', 34), ('s-1', 7))
Accuracy on 1600 predictions is 0.9925
iteration=9, #remaining targets=219
graph partitioning...
to_scipy_sparse_matrix
100%|██████████| 77357/77357 [00:01<00:00, 57668.32it/s]
ALS...
In [9]:
## Confusion matrix
from sklearn.metrics import confusion_matrix
true_signs = [s for _, _, s in sorted(list(truth))]
pred_signs = [s for _, _, s in sorted(list(preds))]
print(confusion_matrix(true_signs, pred_signs, labels=[-1, 1]))
[[ 149 46]
[ 16 2434]]
In [ ]:
# Conclusion:
# Strong balance is more reliable than weak balance
# however, is it because of the poor quality of partitioning?
Content source: xiaohan2012/snpp
Similar notebooks: