隐藏RandomizedSearchCV输出

问题描述 投票:0回答:1

我正在终端中执行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:])

这是pylint运行结束的一小段:

  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$ 
scikit-learn terminal pylint
1个回答
0
投票

原来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])
© www.soinside.com 2019 - 2024. All rights reserved.