Practice your roll on flat water A LOT (go to soda lakes, small pond behind chatfield res., pool, etc.) . Do hundreds of rolls--seriously (not all in one day of course, go as often as you can though). Then work on moving water rolls on easy stretches
And playboat A LOT--getting flipped in the playpark and rolling up, over and over again is great experience for rolling up after unexpected flips.
then, try to find experienced boaters to take you on runs you want to try, and follow their lines
Being confident in your roll is everything--if you're not supremely confident you can roll up in the class of water you're running, you will constantly be fearful of flipping--and conversely, if you are confident, then you're more relaxed and less prone to flipping in the first place...I know this firsthand--I had issues with my roll a couple seasons back, and after doing the steps I outlined above, I'm back on it again--until, of course I swim again