¿Cuál es la mejor manera de obtener números aleatorios en NumPy?

Quiero generar números aleatorios en el rango-1, 1 y queremos que cada uno tenga igual probabilidad de ser generado. Es decir. No quiero que los extremos sean menos propensos a surgir. Cual es la mejor manera de hacer esto?

Hasta ahora, he utilizado:

2 * numpy.random.rand() - 1

y también:

2 * numpy.random.random_sample() - 1

Respuestas a la pregunta(3)

Su respuesta a la pregunta