По поводу взаимной_инфо в классе sklearn, так что запутался в использовании random_state с точки зрения выбора функций - PullRequest
1 голос
/ 22 февраля 2020

Я использовал mutal_info_classif и selectPercentile из sklearn для выбора объектов в наборе данных. Я обнаружил, что могу установить значение random_state равным 0, чтобы гарантировать, что выбранные функции будут одинаковыми каждый раз, как показано ниже:

mi = mutual_info_classif(X_train, y_train, random_state=0)
print(mi)
sel_mi = SelectPercentile(mutual_info_classif, percentile=10).fit(X_train,y_train)

Еще один, мне не нужно устанавливать random_state и делать так, чтобы он был по умолчанию один. Но это сделает каждый выбор по-разному.

mi = mutual_info_classif(X_train, y_train)

Я хочу знать, что если выбор функции каждый раз будет одинаковым, как я могу судить, если это лучший выбор функции?

Если выбор каждый раз отличается, означает ли это, что выбор такого рода функций не имеет смысла?

1 Ответ

2 голосов
/ 22 февраля 2020

ML - больше искусство, чем наука. Некоторые алгоритмы будут возвращать всегда одно и то же, независимо от начального значения, например, линейная регрессия, другие, например деревья решений, будут возвращать разные результаты в зависимости от подвыборки, а некоторые, например, случайный лес, могут возвращать разные результаты даже для одной и той же подвыборки в зависимости от начального числа.

Значение al go, возвращающее разные результаты в зависимости от подвыборки, означает, что ваш al go зависит от распределения данных, и это может измениться в зависимости от начального числа, которое вы предоставляете. Это не значит, что все ваши go бесполезны. Вы можете уделять больше внимания функциям, которые постоянно выглядят наиболее важными, независимо от предоставляемой вами выборки данных.

Вы можете получить более согласованные результаты, предоставляя больше данных, таким образом, получая более согласованные результаты выборки с точки зрения распределения данных.

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

...