If the output of the sensor really is stable at 2.95 volts (which corresponds to 295 K if the calibration is correct) then something is wrong with your program or the Arduino power supply voltage, which sets the ADC reference, is fluctuating for some reason.
I recommend moving on from the Fritzing diagrams; they are for complete novices, not very informative and often confusing or ambiguous. For example, presumably the black thing to the left of the diagram is a potentiometer, but what resistance value? If you are using the 220 ohm resistor suggested by that diagram to set the LM335 operating current, then that does not correspond to the manufacturer's recommended operating conditions for the LM335 of 1 mA or less. Instead, it is close to the upper limit where self-heating might be a problem. See the datasheet.
I think I solved the problem - looks like the 5V was not as stable as I thought. There was some signal noise on the line so I had to use a 1000uF cap which seems to eliminate it. Its a lot more stable now.