Требуется уточнение для атрибута children_ Агломеративной кластеризации sklearn - PullRequest
0 голосов
/ 25 июня 2018

Для начала мне кажется, что я где-то совершаю глупую ошибку.Следовательно, ваша помощь очень ценится, чтобы найти эту ошибку.

Документация для модели склеарнового агломеративного кластера гласит:

children_: массив, форма (n_nodes-1, 2)

Дочерние элементы каждого неконечного узла.Значения, меньшие чем n_samples, соответствуют листьям дерева, которые являются исходными образцами.Узел i больше или равен n_samples является неконечным узлом и имеет дочерние элементы children_[i - n_samples].В качестве альтернативы на i -ой итерации children[i][0] и children[i][1] объединяются в узел формы n_samples + i

Теперь вот мой вывод model.children_, с 1093, являющимсясамый большой индекс, который равен (n_samples-1)*2 -1):

agglo_children = [[67, 256],[13, 400],[70, 309],[15, 35],[181, 416],[391, 546],[311, 486],[420, 516],[80, 240],[75, 314],[26, 254],[76, 338],[134, 536],[258, 455],[152, 411],[481, 500],[170, 243],[24, 37],[428, 514],[8, 453],[93, 301],[163, 214],[74, 498],[206, 318],[17, 217],[121, 395],[306, 394],[12, 362],[169, 287],[16, 408],[224, 426],[61, 263],[136, 187],[0, 18],[21, 22],[89, 361],[175, 531],[105, 465],[294, 547],[31, 68],[308, 468],[417, 430],[266, 456],[278, 449],[127, 549],[36, 373],[151, 448],[213, 365],[100, 343],[180, 567],[77, 216],[220, 555],[159, 435],[146, 445],[54, 503],[57, 336],[42, 452],[399, 472],[49, 562],[564, 565],[274, 487],[235, 412],[247, 540],[162, 522],[1, 538],[207, 497],[79, 480],[125, 528],[85, 345],[478, 485],[447, 603],[160, 592],[535, 544],[303, 319],[132, 282],[55, 457],[4, 509],[479, 588],[227, 470],[2, 402],[117, 469],[95, 580],[120, 142],[401, 576],[52, 316],[591, 594],[380, 575],[339, 467],[233, 600],[48, 458],[38, 346],[246, 568],[53, 265],[221, 355],[335, 560],[196, 344],[135, 226],[201, 238],[72, 190],[239, 518],[248, 459],[150, 586],[414, 515],[520, 629],[143, 272],[58, 307],[477, 604],[543, 574],[204, 450],[328, 405],[237, 621],[164, 496],[101, 442],[323, 376],[444, 570],[495, 512],[33, 333],[464, 473],[441, 471],[398, 460],[633, 649],[418, 609],[82, 174],[103, 182],[374, 572],[577, 639],[88, 261],[25, 291],[69, 466],[6, 563],[371, 566],[385, 505],[504, 524],[492, 608],[168, 578],[474, 598],[255, 488],[558, 634],[137, 491],[228, 357],[155, 403],[192, 556],[87, 624],[610, 626],[34, 605],[147, 529],[183, 622],[178, 384],[84, 209],[45, 647],[386, 490],[130, 409],[62, 98],[312, 661],[44, 407],[203, 589],[148, 584],[140, 635],[210, 606],[527, 653],[73, 425],[363, 534],[310, 667],[358, 625],[288, 298],[599, 623],[351, 397],[297, 382],[43, 245],[10, 324],[602, 673],[99, 230],[299, 415],[23, 451],[611, 678],[561, 677],[614, 681],[277, 356],[111, 421],[499, 654],[65, 617],[259, 484],[585, 630],[40, 352],[569, 657],[131, 637],[212, 669],[454, 613],[205, 273],[50, 628],[108, 462],[5, 114],[177, 387],[59, 185],[81, 662],[521, 674],[198, 275],[331, 571],[30, 537],[341, 672],[123, 691],[3, 129],[250, 429],[315, 593],[63, 64],[251, 293],[284, 632],[119, 141],[153, 436],[194, 597],[86, 573],[636, 682],[78, 393],[173, 727],[184, 651],[262, 718],[27, 532],[195, 197],[253, 286],[66, 327],[11, 377],[381, 513],[138, 552],[139, 257],[413, 687],[71, 730],[541, 659],[313, 694],[47, 502],[369, 664],[419, 734],[28, 229],[507, 640],[236, 583],[106, 686],[551, 668],[124, 305],[724, 754],[158, 188],[218, 279],[9, 102],[582, 697],[326, 349],[354, 508],[51, 696],[545, 698],[643, 646],[41, 671],[104, 378],[260, 601],[360, 790],[711, 783],[20, 705],[422, 706],[359, 704],[292, 751],[701, 755],[332, 763],[161, 320],[431, 707],[208, 439],[383, 690],[97, 443],[501, 778],[109, 252],[716, 746],[348, 767],[234, 761],[438, 728],[122, 638],[115, 590],[539, 619],[225, 595],[631, 759],[553, 642],[302, 322],[242, 396],[94, 717],[133, 709],[771, 774],[249, 267],[530, 735],[432, 792],[364, 812],[559, 785],[641, 776],[612, 679],[476, 542],[525, 652],[660, 749],[317, 353],[695, 756],[329, 685],[368, 607],[334, 375],[46, 179],[244, 482],[116, 281],[280, 721],[379, 693],[112, 742],[410, 722],[424, 811],[342, 743],[533, 791],[390, 782],[475, 680],[714, 740],[285, 713],[773, 807],[14, 167],[202, 489],[655, 839],[437, 463],[91, 337],[92, 330],[264, 741],[32, 232],[748, 829],[616, 840],[699, 794],[145, 703],[60, 200],[189, 554],[725, 823],[423, 815],[813, 837],[366, 670],[404, 676],[29, 855],[832, 871],[627, 758],[290, 787],[579, 806],[171, 644],[154, 805],[388, 523],[268, 656],[96, 581],[90, 276],[692, 702],[193, 739],[789, 830],[506, 700],[295, 769],[596, 689],[803, 831],[289, 645],[762, 866],[283, 764],[128, 864],[325, 897],[738, 857],[493, 801],[304, 620],[118, 885],[511, 587],[367, 849],[222, 715],[144, 172],[708, 780],[744, 777],[733, 848],[615, 726],[271, 843],[215, 321],[176, 766],[223, 347],[156, 890],[186, 300],[684, 851],[269, 510],[434, 440],[820, 884],[650, 795],[149, 519],[340, 389],[19, 39],[406, 446],[658, 836],[550, 886],[860, 865],[113, 665],[56, 392],[802, 804],[881, 891],[370, 752],[816, 906],[712, 900],[548, 796],[648, 846],[427, 483],[350, 833],[107, 165],[719, 921],[231, 800],[784, 877],[683, 750],[157, 675],[720, 896],[788, 905],[710, 911],[770, 874],[557, 918],[372, 876],[850, 934],[241, 914],[879, 947],[745, 882],[461, 852],[737, 927],[817, 936],[110, 858],[270, 880],[841, 904],[166, 723],[757, 901],[7, 898],[126, 826],[663, 862],[753, 818],[736, 892],[732, 929],[875, 966],[781, 920],[747, 913],[845, 945],[731, 808],[834, 853],[868, 895],[870, 968],[935, 949],[899, 915],[219, 902],[433, 517],[211, 952],[872, 959],[526, 786],[688, 859],[296, 950],[910, 933],[838, 847],[922, 979],[775, 976],[618, 760],[199, 893],[869, 981],[797, 955],[956, 973],[842, 867],[768, 908],[765, 931],[835, 919],[827, 984],[917, 946],[793, 974],[814, 819],[948, 990],[798, 825],[729, 854],[883, 888],[930, 987],[903, 943],[856, 964],[844, 993],[83, 666],[821, 977],[809, 928],[907, 967],[822, 1004],[940, 951],[958, 971],[894, 960],[970, 978],[963, 1014],[954, 989],[828, 861],[191, 988],[972, 1012],[772, 975],[986, 1008],[941, 1013],[992, 994],[799, 1022],[938, 999],[996, 1011],[925, 942],[953, 1021],[1000, 1010],[957, 985],[494, 983],[962, 1019],[932, 1027],[1005, 1028],[889, 909],[824, 1001],[1006, 1023],[980, 1016],[923, 926],[1026, 1031],[873, 1041],[1003, 1025],[1007, 1043],[944, 1009],[937, 995],[1002, 1048],[887, 916],[998, 1018],[1020, 1038],[1047, 1053],[779, 1033],[991, 1045],[939, 961],[1040, 1042],[997, 1036],[1024, 1052],[965, 1039],[912, 1035],[1032, 1056],[982, 1051],[878, 1015],[1059, 1066],[1017, 1067],[1030, 1037],[1044, 1065],[1050, 1064],[1054, 1057],[1071, 1074],[924, 1063],[1069, 1075],[1072, 1077],[1055, 1070],[1029, 1060],[1068, 1076],[1046, 1061],[810, 969],[1078, 1083],[1062, 1084],[1080, 1082],[1073, 1079],[863, 1058],[1085, 1086],[1081, 1088],[1087, 1089],[1034, 1091],[1049, 1092],[1090, 1093]]

Моя проблема заключается в том, что я не могу сопоставить их с исходными данными.Конечная цель - проанализировать это по Ньюику и построить из него иерархию.Но как только я это сделаю, у меня в иерархии будут индексы, которые> n_samples, что не имеет смысла.

Вот мой синтаксический анализ в интерфейсе:

var agglo_data = d3.stratify()
.id((d,i) => i + numSamples)
.parentId((d, i) => {
  var parIndex = agglo_data.findIndex(e => e.includes && e.includes(i + numSamples));
  if (parIndex < 0) {
    return;
  }
  return parIndex + numSamples;
})(agglo_children);

Вот что я получаю: enter image description here

Как вы можете видеть, есть индексы, которые больше, чем n_samples, что для меня не имеет смысла.

Может кто-нибудьзаметить ошибку?

...