Печать отсортированных и заархивированных функций с новой строкой каждый раз

avatar
SMAmir
7 апреля 2018 в 23:07
35
0
0

Я пытаюсь получить относительную важность каждого элемента для отдельного типа породы вместе с названием этого элемента. Я сделал следующее:

for y_train_all, y_strings_all in zip(y_trains_classes, 
                                      y_classes_names):
    grid_for.fit(X_train, y_train_all)
    feature_importances = grid_for.best_estimator_.feature_importances_
    attributes_all = ["Depth" ,"Neutron Porosity","Caliper ", "Density Porosity","Gamma Ray",
                      "Photoelectric", "Bulk Density", "Density Correction", "Resistivity (Deep)", 
                       "Resistivity (Medium)", "Resistivity (Shallow)","Ratio(Shallow/Deep resistivity)",
                      "SP",  "Micro-inverse (resistivity) micro-log", "Micro-normal (resistivity) micro-log", 
                    "Delta-t (transit time)", "Sonic Porosity"]
    print("\n", "Features importance of", y_strings_all, "= \n", sorted(zip(feature_importances*100, attributes_all), 
                                                                  reverse=True))

Я получаю это для одного из типов камней:

Features importance of shaly limestone = 
 [(32.698676805752939, 'Depth'), (11.437112671467331, 'Gamma Ray'), (7.0256677233376346, 'SP'), (5.2919610063076963, 'Density Correction'), (4.69972333501756, 'Resistivity (Deep)'), (4.3250282898616081, 'Caliper '), (3.876972448849632, 'Micro-normal (resistivity) micro-log'), (3.8373287915693957, 'Resistivity (Medium)'), (3.6854852718774076, 'Photoelectric'), (3.6552972972995796, 'Sonic Porosity'), (3.5872666770164936, 'Micro-inverse (resistivity) micro-log'), (3.5667515140079744, 'Delta-t (transit time)'), (2.7913023534006003, 'Resistivity (Shallow)'), (2.714697087901786, 'Neutron Porosity'), (2.4667204236786993, 'Ratio(Shallow/Deep resistivity)'), (2.1928475922610642, 'Density Porosity'), (2.1471607103925967, 'Bulk Density')]

Когда я сделал это только для одного типа камня, я получил такие гладкие результаты печати:

[(32.698676805752939, 'Depth'),
 (11.437112671467331, 'Gamma Ray'),
 (7.0256677233376346, 'SP'),
 (5.2919610063076963, 'Density Correction'),
 (4.69972333501756, 'Resistivity (Deep)'),
 (4.3250282898616081, 'Caliper'),
 (3.876972448849632, 'Micro-normal (resistivity) micro-log'),
 (3.8373287915693957, 'Resistivity (Medium)'),
 (3.6854852718774076, 'Photoelctric'),
 (3.6552972972995796, 'Sonic Porosity'),
 (3.5872666770164936, 'Micro-inverse (resistivity) micro-log'),
 (3.5667515140079744, 'Delta-t (transit time)'),
 (2.7913023534006003, 'Resistivity (Shallow)'),
 (2.714697087901786, 'Neutron Porosity'),
 (2.4667204236786993, 'Ratio(Shallow/Deep resistivity)'),
 (2.1928475922610642, 'Density Porosity'),
 (2.1471607103925967, 'Bulk Density')]

Как сделать так, чтобы напечатанное решение выглядело таким же гладким (один feature_importance в одной строке), как если бы я получил ответ только для одного типа камня?

Источник
ZaxR
7 апреля 2018 в 23:28
0

Помогает ли это?: coderhelper.com/questions/493386/…

SMAmir
7 апреля 2018 в 23:56
0

Нет, он по-прежнему ведет себя так же после того, как я добавил оператор end = ' ' в конце оператора печати. Я попытался заставить команду печати печатать в цикле for, как упоминалось в вопросе, но ничего не сделал.

ZaxR
8 апреля 2018 в 01:33
0

У меня возникли проблемы с воссозданием проблемы. Какой интерпретатор/среду вы используете? Что дает результаты первым способом по сравнению со вторым способом ..? Чему равна каждая входная переменная?

SMAmir
8 апреля 2018 в 20:14
0

В первом случае я просто получаю результаты с помощью оператора sorted(zip(...)), как вы можете видеть в первой части кода под циклом for. Когда я помещаю каждый тип камня в цикл for, как вы можете видеть, я получаю результаты в одной и той же строке один за другим и выглядит беспорядочно. Во втором случае я просто получаю результаты для одного типа породы без использования оператора печати. Похоже, что если я поместил оператор в цикл for, мне нужно использовать оператор печати, чтобы получить ответы, а в противном случае я этого не делаю, и он печатает аккуратно один feature_importance в одной строке.

Ответы (0)