How to train an SVM classifier on a satellite image using Python
My Solution:-
Manual Processing:- 
If the size of your dataset is small, you can manually create a vector data (also reliable, when it is created by yourself). If not, it is much difficult to apply SVM to classify the images. 
Automatic Processing:- 
Step 1:-
You can use "Unsupervised Image Clustering" technique to group your images into those 4 categories, then label the images from 1 to 4 after clustering is done. (eg. K-Means Clustering Algorithm)
Step 2:-
Currently, you are having a dataset of labeled images. Split them to train-test data.
Step 3:-
Now apply SVM to classify your test images and find out your model accuracy.
I am using scikit-learn library to perform a supervised classification (Support Vector Machine classifier) on a satellite image. My main issue is how to train my SVM classifier. I have watched many videos on youtube and have read a few tutorials on how to train an SVM model in scikit-learn. All the tutorials I have watched, they used the famous Iris datasets. In order to perform a supervised SVM classification in scikit-learn we need to have labels. For Iris datasets we have the Iris.target which is the labels ('setosa', 'versicolor', 'virginica') we are trying to predict. The procedure of training is straightforward by reading the scikit-learn documentation.
In my case, I have to train a SAR satellite image captured over an urban area and I need to classify the urban area, roads, river and vegetation (4 classes). This image has two bands but I do not have label data for each class I am trying to predict such as the Iris data. 
So, my question is, do I have to manually create vector data (for the 4 classes) in order to train the SVM model? Is there an easier way to train the model than manually creating vector data? What do we do in this case?
I am bit confused to be honest. I would appreciate any help