71718


python初心者です。

今、以下のようなバイナリリソースのデータがあるのですが、

[code]

    randomforest_cv_bo.res
    [{'target': 0.7784212030131844, 'params': {'max_features': 0.930055846603754, 'min_samples_split': 15.28549923074499, 'n_estimators': 166.1393782636472}}, {'target': 0.7785257751009637, 'params': {'max_features': 0.8211760874650731, 'min_samples_split': 16.400614250497348, 'n_estimators': 111.92312397601592}}, {'target': 0.776748024491158, 'params': {'max_features': 0.8527202619237652, 'min_samples_split': 10.276640212585447, 'n_estimators': 116.17540832901375}}]
    
[/code]

このデータを出力させるために、例えば、

[code]

    print(randomforest_cv_bo.res['max']['max_val'])
    
[/code]

としても、

[code]

    TypeError: list indices must be integers or slices, not str
    
[/code]

となり、出力できません。targetとparamsを項目ごとに出力したいのですが、出力するにはどのようにデータを変えればよいでしょうか？（.res形式での変更方法がわかりません）


CC BY-SA 4.0
2020-11-04T06:40:49.663
71715
2020-11-04T08:27:16.033
2020-11-04T08:02:45.550
42526
question
python3
ベイズ最適化した後の.res形式のデータの型の変更方法がわかりません。


> targetとparamsを項目ごとに出力したいのですが、

[pprint](https://docs.python.org/3/library/pprint.html) を利用してみてはどうでしょうか。

[code]

    >>> res = [{'target': 0.7784212030131844, 'params': {'max_features': 0.930055846603754, 'min_samples_split': 15.28549923074499, 'n_estimators': 166.1393782636472}}, {'target': 0.7785257751009637, 'params': {'max_features': 0.8211760874650731, 'min_samples_split': 16.400614250497348, 'n_estimators': 111.92312397601592}}, {'target': 0.776748024491158, 'params': {'max_features': 0.8527202619237652, 'min_samples_split': 10.276640212585447, 'n_estimators': 116.17540832901375}}]
    
    >>> from pprint import pprint
    >>> pprint(res)
    [{'params': {'max_features': 0.930055846603754,
                 'min_samples_split': 15.28549923074499,
                 'n_estimators': 166.1393782636472},
      'target': 0.7784212030131844},
     {'params': {'max_features': 0.8211760874650731,
                 'min_samples_split': 16.400614250497348,
                 'n_estimators': 111.92312397601592},
      'target': 0.7785257751009637},
     {'params': {'max_features': 0.8527202619237652,
                 'min_samples_split': 10.276640212585447,
                 'n_estimators': 116.17540832901375},
      'target': 0.776748024491158}]
    
[/code]


CC BY-SA 4.0
2020-11-04T08:27:16.033
71718
2020-11-04T08:27:16.033
71715
answer