Can you weight observations in a Neural Network? Similar to a weighted regression, where each row of [[variables],[output]] has a weight associated with it, is there a similar version for, say a MultilayerPerceptronClassifier, where I can actually give it kind of prior probabilities?
 A: Yes, this is possible and often done. However, it seems to me that it is not currently possible to do using scikit-learn. To certain extent you could simulate this by duplicating samples in the training and validation set to increase their weight, but it is certainly not an efficient way to achieve it.
If you plan using neural networks, I would recommend using some more advanced library such as TensorFlow, which has weighted_cross_entropy_with_logits loss function implemented. Using TensorFlow in combination with Keras might provide a beginner-friendlier interface, even though the learning curve may still be a little steep.
Alternatively, scikit-learn has SVM classifier that supports weighted samples, perhaps it could work for your problem.
A: I would share a hack: copy data. This hack works on most models.
For example, if you find data point 1 is super important, make 5 copies of it. This hack can also be used to make the loss function more sensitive to certain class.
A: As @Jan Kukacka mentioned, scikit-learn does not support sample_weights for the MLPClassifier learner.  However, the skorch package which wraps PyTorch neural networks to have the same API as sklearn has some support for it built in.  You can find more information on how to do it in skorch's FAQ.
