Скрыть вывод RandomizedSearchCV - PullRequest
0 голосов
/ 10 марта 2020

Я выполняю pylint в терминале, чтобы немного очистить мой скрипт python. В моем сценарии я также использую RandomizedSearchCV. Что я могу сделать, чтобы результаты Pylint не отображали различные комбинации результатов RandomizedSearchCV? Или как я могу подавить вывод из RandomizedSearchCV?

Вот фрагмент кода в моем .py скрипте, который вызывает эту проблему, и скриншоты начала / конца того, что я вижу, когда я выполняю в терминале .

LOGGER.info("Fine tune model and fit it (Model 2)")
# with warnings.catch_warnings():
#     warnings.filterwarnings("ignore")

new_model = RandomizedSearchCV(lr_alt, parameters, cv=4, n_iter=15)

# with warnings.catch_warnings():
#     warnings.filterwarnings("ignore")
new_model.fit(train_features_x, train_y)

Невозможно загрузить изображения, но вот фрагмент стартового кода в терминале:

(env-stats404-w20-HW5) Franciscos-MacBook-Pro:FRANCISCO-AVALOS franciscoavalosjr$ pylint main.py 
************* Module main
main.py:69:0: C0103: Argument name "Product" doesn't conform to snake_case naming style (invalid-name)
main.py:80:4: R1705: Unnecessary "elif" after "return" (no-else-return)
main.py:89:75: W0108: Lambda may not be necessary (unnecessary-lambda)
Traceback (most recent call last):
  File "/Users/franciscoavalosjr/opt/anaconda3/envs/env-stats404-w20-HW5/bin/pylint", line 8, in <module>
    sys.exit(run_pylint())
  File "/Users/franciscoavalosjr/opt/anaconda3/envs/env-stats404-w20-HW5/lib/python3.7/site-packages/pylint/__init__.py", line 23, in run_pylint
    PylintRun(sys.argv[1:])

А вот фрагмент конца этого цикла выполнения:

  File "/Users/franciscoavalosjr/opt/anaconda3/envs/env-stats404-w20-HW5/lib/python3.7/site-packages/astroid/decorators.py", line 131, in raise_if_nothing_inferred
    yield next(generator)
  File "/Users/franciscoavalosjr/opt/anaconda3/envs/env-stats404-w20-HW5/lib/python3.7/site-packages/astroid/decorators.py", line 88, in wrapped
    if context.push(node):
  File "/Users/franciscoavalosjr/opt/anaconda3/envs/env-stats404-w20-HW5/lib/python3.7/site-packages/astroid/context.py", line 92, in push
    self.path.add((node, name))
RecursionError: maximum recursion depth exceeded while calling a Python object
(env-stats404-w20-HW5) Franciscos-MacBook-Pro:FRANCISCO-AVALOS franciscoavalosjr$ 

1 Ответ

0 голосов
/ 11 марта 2020

Оказывается python не понравилось, как я назначил свой новый столбец. Исправление произошло из-за создания новой переменной с новым сформированным столбцом вместо добавления ее в мой фрейм данных. Код до и после:

Исходный код: # DF_MAJORITY = SUB_DATA [SUB_DATA ['balance'] == 0] # DF_MINORITY = SUB_DATA [SUB_DATA ['balance'] == 1]

# NEW_MAJORITY_NUMBER = ((DF_MINORITY.shape[0]/0.075) - DF_MINORITY.shape[0])
# NEW_MAJORITY_NUMBER = int(round(NEW_MAJORITY_NUMBER))

# DF_MAJORITY_DOWNSAMPLED = resample(DF_MAJORITY, replace=False, n_samples=NEW_MAJORITY_NUMBER,
#                                    random_state=29)

# DF_DOWNSAMPLED = pd.concat([DF_MAJORITY_DOWNSAMPLED, DF_MINORITY])

Новый код:

BALANCE = SUB_DATA.loc[:, 'Delivery Status'].apply(lambda x: classify_shipping(x))
BALANCE = pd.DataFrame(BALANCE)

DF_MAJORITY = BALANCE[BALANCE['Delivery Status'] == 0]
DF_MINORITY = BALANCE[BALANCE['Delivery Status'] == 1]


NEW_MAJORITY_NUMBER = ((DF_MINORITY.shape[0]/0.075) - DF_MINORITY.shape[0])
NEW_MAJORITY_NUMBER = int(round(NEW_MAJORITY_NUMBER))

DF_MAJORITY_DOWNSAMPLED = resample(DF_MAJORITY, replace=False,
                                   n_samples=NEW_MAJORITY_NUMBER, random_state=29)
DF_DOWNSAMPLED = pd.concat([DF_MAJORITY_DOWNSAMPLED, DF_MINORITY])
...