Cameron helps Marlins edge Astros 5-4