i would first try cleaning your throttle body and IAC(idle air control) valve, use some TB cleaner(not carb cleaner or brake cleaner) see if that makes a difference. if it does, but doesnt quite fix it then you might need a new IAC(cost about $75). also, check to make sure you TPS is working and adjusted properly. if its not those, then if could be your fuel delivery......change your fuel filter, and make sure the fuel pump is doing its job, maybe throw a good fuel injecter cleaner in next time you fill up(i just used a bottle of 44k in my last tank and it smoothed the idle out pretty good).