В конкретном случае вашего регулярного выражения гораздо проще и читабельнее использовать чередование:
(?:sunday|saturday)
Или вы можете создавать чередование только между двумя позициями, в которых задействовано условное регулярное выражение (это более полезен в случае, когда существует много таких условных выражений, но относится только к соседней группе захвата). Используя пример в качестве примера, мы создадим только чередование для un
и atur
, поскольку только те, которые вовлечены в условие:
s(?:un|atur)day
Существует 2 общих типа условных регулярное выражение. (Есть более экзотические вещи, поддерживаемые регулярным выражением Perl, но для них требуется поддержка функций, которые не имеют регулярного выражения JavaScript или другого общего механизма regex).
(?(conditional-pattern)yes-pattern|no-pattern)
В JavaScript вы можете имитировать его с опережением, с (очевидным) предположением, что исходный conditional-pattern
является перспективным: ((?=conditional-pattern)yes-pattern|(?!conditional-pattern)no-pattern)
необходим негативный внешний вид, чтобы предотвратить случаи, когда входная строка передает conditional-pattern
и сбой в yes-pattern
, но она может соответствовать no-pattern
. Это безопасно, потому что положительный внешний вид и негативный внешний вид логически совпадают друг с другом. source
, затем соедините их вместе; это позволит изменениям распространяться на другие дублированные части, но затрудняет понимание регулярного выражения и / или делает для него существенную модификацию. Ссылки
(?(
(?(
Нет вашего максимального значения теста (т. е. 10) не будет масштабироваться до 1, а до 0,1 при правильном использовании против вычисленных max и min из данных тренировки.
Это может быть достигнуто путем вызова только min_max_scaler.transform()
тестовых данных. fit()
или fit_transform()
следует использовать только для учебных данных.
Итак, для данных обучения код такой же:
df_train_scaled = min_max_scaler.fit_transform(df_train.values)
Но для тестирования данных он становится:
df_test_scaled = min_max_scaler.transform(df_test.values)
Таким образом, MinMaxScaler будет сохраняйте значения max и min, наблюдаемые во время подгонки () на данных обучения, а затем используйте их на тестовых данных, чтобы правильно масштабировать данные.
min_max_scaler.fit_transform(df_train.values)
. Вместо этого я сделаю дамп соленостиmin_max_scaler
и загружу его в свою тестовую модель. – GRS 30 January 2018 в 12:10