First of all, you just absolutely threw your roommate under the fat and/or ugly bus. Jesus. They don't talk to her so it's obviously look based? Is this that subtle, undermining thing that my wife claims women do to each other? Because I don't want to believe that shit really exists, and I also don't think it's very subtle when it happens.
"I love that you're brave enough to wear a dress that's so last year. Good for you."
I'm guessing you're attractive or you wouldn't have jumped right to the 'fat roommate' conclusion. Also, you actually considered that this was about your looks, which makes me think you aren't out there gardening in clogs and filthy overalls. The point is, you probably look pretty. And guys are going to stop and talk to the pretty girl.
What I'm not suggesting is that you ugly yourself up. There's no reason that a woman should ever have to change how she looks or dresses because of the poor behaviour of some douchey douche drooling all down the shirt he got along with his gym membership.
What I do suggest is asking them to leave you alone. It's not impolite if their behaviour has become such a pattern that you feel the need to seek professional (ahem) help from someone like yours truly. Honest is the way to go in most situations. If they take offense, fuck them. If they start being nasty to you, piss in their geraniums.
Short Answer: Maybe start gardening with your friend. This might discourage them, or better yet, make her feel good about herself when she gets some attention. I doubt she's getting much positivity from you, princess.