>  기사  >  백엔드 개발  >  Python에서 가중치가 적용된 무작위 선택을 구현하는 방법은 무엇입니까?

Python에서 가중치가 적용된 무작위 선택을 구현하는 방법은 무엇입니까?

PHPz
PHPz앞으로
2023-09-11 21:45:02675검색

Python에서 가중치가 적용된 무작위 선택을 구현하는 방법은 무엇입니까?

Python은 복잡한 코딩 작업을 개선하기 위해 다양한 하위 수준 기능과 라이브러리를 제공하는 유연하고 효율적인 프로그래밍 언어입니다. 작업 중 하나는 모든 것이 미리 정의된 선택 확률을 갖는 측정 가능한 전략인 가중치가 부여된 불규칙 의사 결정을 수행하는 것입니다. 각 항목이 선택될 확률이 동일한 단순 무작위 선택과 달리, 가중 무작위 선택을 사용하면 각 항목이 선택될 확률을 지정할 수 있으며, 이는 다양할 수 있습니다. 이 기사는 Python에서 가중치가 적용된 무작위 선택을 얻는 방법에 대한 포괄적인 이해를 제공하는 것을 목표로 합니다.

문법

가중 무작위 선택을 용이하게 하는 Python의 주요 메소드는 random.choices()입니다. 기본 구문은 다음과 같습니다.

으아아아
  • 인구는 필수 요소입니다. 이 목록에서 선택하게 됩니다.

  • 중량을 제공할 의무는 없습니다. 전체 목록의 각 개별 구성원에 해당하는 가중치 목록입니다.

  • cum_weights는 완전히 선택적인 필드입니다. 누적 가중치 목록입니다.

  • k 문자는 필수가 아닙니다. 선택할 항목 수를 지정하는 정수입니다. 기본값은 1입니다.

알고리즘

가중 무작위 선택의 작동을 더 잘 이해하려면 아래의 단계별 알고리즘을 따르십시오.

  • Python에서 임의 모듈을 가져옵니다.

  • 인구, 즉 선택하려는 요소 목록을 정의합니다.

  • 모집단의 각 요소에 해당하는 확률 목록인 가중치를 정의합니다. 가중치가 전체 요소와 일치하는지 확인하세요.

  • random.choices() 메소드를 사용하여 선택할 요소의 모집단, 가중치 및 수를 지정하세요.

  • 코드를 실행하고 결과를 분석해 보세요.

방법 1: random.choices() 사용

가중치 매개변수와 함께 random.choices() 메서드 사용: 이 메서드는 Python의 내장 함수를 사용하여 각 요소의 가중치를 명시적으로 제공합니다.

으아아아

출력

으아아아

지침

이 Python 스크립트는 암시적 불규칙성 모듈, 특히 random.choices() 함수를 활용하여 최근 표현 목록을 기반으로 가중 불규칙 결정을 생성합니다. "인구"라는 제목의 목록에서 "빨간색", "파란색" 및 "녹색" 옵션을 선택할 수 있습니다. "가중치" 목록은 각각 60%, 30%, 10% 비율로 각 구성 요소를 선택할 확률을 나타냅니다. 스크립트는 정의된 "가중치"를 고려하여 "인구" 변수에서 5개 항목을 무작위로 선택합니다. 이는 적절한 매개변수와 함께 random.choices 함수를 호출하여 달성됩니다. "k" 매개변수의 값은 풀에서 살펴볼 항목의 개수를 나타냅니다. 그런 다음 선택한 요소가 인쇄됩니다.

방법 2: numpy.random.choice() 사용

numpy.random.choice() 사용: 이 방법은 가중치가 적용된 무작위 선택도 지원하는 강력한 수치 연산 도구인 numpy 라이브러리와 함께 작동합니다.

으아아아

출력

으아아아

지침

가중 무작위 선택을 수행하기 위해 스크립트는 numpy 라이브러리를 사용하고 numpy.random.choice() 함수를 호출합니다. "인구" 및 "가중치" 목록은 첫 번째 코드와 동일한 방식으로 정의됩니다. 반면, 이 방법에서는 확률 매개변수가 "weight"라는 단어 대신 문자 p로 표시됩니다. 스크립트는 매개변수 Population, 5 및 p=weights를 사용하여 np.random.choice 함수를 호출하여 "population" 변수에서 5개 항목을 무작위로 선택합니다. 선택은 지정된 확률을 기반으로 합니다. 첫 번째 코드와 같은 목록을 생성하는 대신 이 코드는 선택한 모든 요소를 ​​포함하는 numpy 배열을 생성합니다.

결론

이 기사에서는 내장 함수와 외부 라이브러리를 사용하여 Python에서 가중치가 적용된 무작위 선택을 구현하는 두 가지 중요한 방법을 살펴봅니다. random.choices() 및 numpy.random.choice() 메서드를 사용하면 목록에 있는 각 요소의 확률을 효과적으로 조작할 수 있어 무작위 선택을 더 효과적으로 제어할 수 있습니다.

가중 무작위 선택을 이해하고 올바르게 구현하는 것은 단순한 게임부터 복잡한 데이터 과학 작업에 이르기까지 다양한 시나리오에서 매우 중요합니다. 왜냐하면 이는 삶의 확률의 현실적 불균등 분포를 반영하기 때문입니다. 이 기술을 익히면 Python 프로그래밍 툴킷에 중요한 도구를 추가할 수 있습니다.

random.choices() 함수와 numpy.random.choice()는 가중치가 부여된 무작위 선택에만 국한되지 않고 훨씬 더 많은 기능을 제공한다는 점을 기억하세요. Python의 잠재력을 최대한 활용하려면 자유롭게 이 라이브러리를 살펴보세요. 모든 개념을 익히려면 연습이 중요하다는 점을 기억하세요. 계속해서 코딩하고 탐색해 보세요!

위 내용은 Python에서 가중치가 적용된 무작위 선택을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제