2017-10-17 3 views
1

J'ai donc ce code:Comment résoudre ValueError: entrée contient NaN, l'infini ou une valeur trop grande pour DTYPE ('float64')

####----Data----#### 
quest=pd.read_csv("inputFile.csv", names=["A1","A2",..."A200","Sim"]) 
print(quest.head()) 
    ####----Set up Data and Label----#### 
X=quest.drop('Sim',axis=1) 
y=quest['Sim'] 
    ####----Train Test Split----#### 
X_train, X_test, y_train, y_test = train_test_split(X, y) 
np.isfinite(X_train).any(), np.isfinite(y_train).any(),np.isfinite(X_test).any() 
np.isnan(X_train).any(), np.isnan(y_train).any(), np.isnan(X_test).any() 
    ####----Data Pre-Processing----#### 
scaler=StandardScaler() 
# Fit only to the training data 
X_scaled=scaler.fit(X_train) 
# Now apply the transformations to the data: 
X_train = scaler.transform(X_train) 
X_test = scaler.transform(X_test) 
    ####----Training the Model----#### 
mlp=MLPClassifier(hidden_layer_sizes=(13,13,13), max_iter=500) 
mlp.fit(X_train,y_train) 
print(mlp) 
    ####----Predictions and Evaluation----#### 
predictions=mlp.predict(X_test) 

print(confusion_matrix(y_test,predictions)) 
print(classification_report(y_test,predictions)) 

mais j'eu cette erreur:

retraçage (le plus récent appel dernier): fichier "E: thèse \ \ sk-ANN.py", ligne 67, à

X_scaled=scaler.fit(X_train)... 
ValueError: Input contains NaN, infinity or a value too large for dtype('float64'). 

Mon ensemble de données a des valeurs sous forme exponentielle, comme celui-ci:

2.15E-06 -0.000556462 0.000197385 -0.000919 -0.000578077.... 

la même erreur se produit à mlp.fit (X_train, y_train) et prédictions = mlp.predict (X_test) Quelqu'un s'il vous plaît aidez-moi comment résoudre ce problème

Répondre

2

Je suppose qu'il doit y avoir nan valeurs dans les données d'entrée, donc avant les valeurs de mise à l'échelle tous les nan en moyenne. de colonne ou mettre à zéro, référez this.

+0

J'ai travaillé .. merci –