





'''simple docstring'''



from math import factorial




def 				_lowerCAmelCase  (			lowerCamelCase_     :					int						,    lowerCamelCase_     :					int						,    lowerCamelCase_     :					float			):
			if successes > trials:
						raise ValueError('''successes must be lower or equal to trials'''			)
			if trials < 0 or successes < 0:
						raise ValueError('''the function is defined for non-negative integers'''			)
			if not isinstance(lowerCamelCase_						,    lowerCamelCase_			) or not isinstance(lowerCamelCase_						,    lowerCamelCase_			):
						raise ValueError('''the function is defined for non-negative integers'''			)
			if not 0 < prob < 1:
						raise ValueError('''prob has to be in range of 1 - 0'''			)
			__lowercase			  =							(prob**successes) * ((1 - prob) ** (trials - successes))
			# Calculate the binomial coefficient: n! / k!(n-k)!
			__lowercase			  =							float(factorial(lowerCamelCase_			)			)
			coefficient /= factorial(lowerCamelCase_			) * factorial(trials - successes			)
			return probability * coefficient


if __name__ == "__main__":
	from doctest import testmod

	testmod()
	print('''Probability of 2 successes out of 4 trails''')
	print('''with probability of 0.75 is:''', end=''' ''')
	print(binomial_distribution(2, 4, 0.7_5))












'''simple docstring'''



import numpy as np




def 				_lowerCAmelCase  (			lowerCamelCase_     :					np.array			):
			return 1 / (1 + np.exp(-vector			))




def 				_lowerCAmelCase  (			lowerCamelCase_     :					np.array			):
			return vector * sigmoid(1.7_02 * vector			)


if __name__ == "__main__":
	import doctest

	doctest.testmod()





