How to get a weighted random Vector2 between 3 points

I need to find a way to pick a random location between 3 points. If we are using the image below as an example I also need it to more likely pick a point at the base of the triangle. Does anyone know a method to do this?

System.Random rnd = new System.Random();

float r_for_top = (float)rnd.Next( 0, 20) / 100.0f; //0-to-20
float r_for_left = (float)rnd.Next(0,100) / 100.0f; //0-to-100
float r_for_right = (float)rnd.Next(0,100) / 100;

 Vector3 rnd_coord = (top_coord *r_for_top + left_coord* r_for_left  + right_coord* r_for_right ) / 3;