0

나는 SelectKBest를 사용 최고 K 기능를 선택하고 GaussianNB를 실행합니다. 정확도되었습니다 동일한 데이터 용SelectKBest는

0.61063743402354853 
0.60678034916768164 
0.61733658140479086 
0.61652456354039786 
0.64778725131952908 
0.58384084449857898 

. 나는 스플릿 (split)을하지 않는다. 나는 단지 datanew_data의 두 정적 세트를 사용한다.

결과가 다른 이유는 무엇입니까? 같은 데이터에 대해 동일한 정확도를 얻으려면 어떻게해야합니까?

답변

0

데이터 또는 변수의 임의성 때문입니다. 이것은 에 달려 있습니다. 난수 생성기은 추정 자나 함수에 의해 내부적으로 사용됩니다.이 경우 mutual_info_classifSelectKBest으로 전달됩니다.

하면 코드의 맨 위에 다음 줄을 삽입 할 수있는 해결 방법으로 random_state here의 사용을보고 this answer

에 되세요.

np.random.seed(some_integer) 

이것은 some_integer에 NumPy와의 씨앗을 설정하고 내가 아는 한, scikit 추정량은 NumPy와의 난수 생성기를 사용합니다. See this for more details