Is this a good circuit to control LED?
Yes you can make this work. As tcrosley points out, you'll end up with 1A @ 2.5V across your FET so you need to dissipate 2.5W or so (M1 will need a heatsink).

A more efficient circuit (less heatsinks) would be to use a buck converter and measure the led current with a sense resistor. Then use feedback to set the buck voltage according to the brightness you want.

If you are stuck with the 5V supply then another option is to use two of your leds in series. That way you get some more light.