Intermittent contact on the electric choke terminals will do that. Make sure the contacts are clean and the choke is getting 12 volts consistently whenever the ignition is ON.
If you take the air cleaner off and turn the ignition to ON (don't start it) you should be able to watch the choke gradually open after several minutes.
When it is running crappy, take the air cleaner off and see if the choke has opened up.