If the input data contains 45325 samples, each sample having just one feature, you should not reshape it. Just define model input shape as (1,) and pass the input as a numpy array to model.fit()
Inside fit() you can define any batch size that you like or leave the default settings.
The shape mismatch error refers to the fact that your model has 4 output values from the last dense layer but labels represent a 1D array. To avoid this error you can either apply one-hot encoding to the labels array so that it’s shape would be (45325, 4) or pass the labels as they are but in model.compile() specify SparceCategoricalCrossentropy loss.
In shape mismatch error description the first value in each tuple refers to the batch size and the remaining values describe the actual tensor shape - what the model was expecting and what it got.