Your results are based on cross tabulation of three categories. You have a single variable with three categories.There should be one-way tabulation in your contingency table. Re-write your contingency table and then compute p-value. It is unlikely to be close to zero.
P Value of 0 is rare but theoretically possible. However in reality, p value can very rarely be zero. Any data collected for some study are certain to be suffered from error at least due to chance (random) cause. Accordingly, for any set of data, it is certain not to obtain "0" p value. However, p value can be very small in some cases.
Lets look at ...
Is it normal to have p equals to absolute zero?
I don't know about "normal", however it is completely possible, and in your case it makes sense, your frequencies are vastly different between the classes, so one would expect this result to be extremely unusual.
I'll repeat this test in R
This answer was submitted by the user @Vlad_Z
These values represent the weighted observations for each class, i.e. number of observations per class multiplied by the respective class weight. Since your class weights aren't integers, the resulting values are the way they are. If you want to get class counts, you can simply divide your values by class weights....
It seems that the function tries to call the SPLAT! command line using srtm2sdf on all files in in_path. Trying to run a command line program using subprocess.run when the command line program doesn't exist (i.e. returns a 'command not found' error when trying to run a command on the command line) gives a FileNotFoundError instead of the actual error you get ...
The first error you're getting is likely because the input becomes too small for the network to perform a 5 by 5 convolution on. The second error is caused by the fact that you are placing the padding argument in the wrong place. You are currently using it for the model.add call, whereas you should use it with the Conv2D classs:
Let me start of by saying that the project sounds really cool.
But here's the but: it is tremendously ambitious to accomplish what you want with the data you mention.
Here's some stuff I think you would really need to consider, I'm sorry for the long post, but maybe it gets your creative juices flowing!
What exactly do you want to know?
You say you want to ...
You should probably transpose your x array since the first dimension should correspond to the number of samples in your dataset, currently the first dimension represents the number of features instead of the number of samples. The following should work:
import numpy as np
from sklearn.model_selection import train_test_split
# generate random data with same ...
Mapping categorical levels to integer values is commonly called feature hashing / hashing trick.
Feature hashing can be useful for certain machine learning algorithms (e.g., tree-based and neural networks). However, linear models (e.g., logistic regression) will be unable to learn the relationship between hashed features and target values.
I would discourage such a practice.
If you use this for your outcome variable, you are making a wrong distribution assumption. You risk getting nonsense predictions like being in between a cat and a crocodile. With a categorical (multinomial) distribution, you wind up with fractional predictions, yes, but those have reasonable interpretations as class ...
One-hot encoding them is already not going to work at this scale - 70,000 features presents problems to some algorithms, not just in performance, but in accuracy. With info spread across 70,000 features, it can drown out all other features and/or makes it hard to learn anything about individual IPs. And obviously there are billions of potential IP addresses.