Ich verwende pybrain, um Hauspreise im Hauspreisdatensatz vorherzusagen. Ich habe die Datenmenge von unten Link: https://www.kaggle.com/apratim87/housingdata/dataHauspreisvoraussage mit Neural Network- network nicht lernen
I 6 Spalten nahm den Preis 'Schlafzimmer', 'Bad', 'sqft_living', 'sqft_lot', 'Etagen', 'zipcode'
vorherzusagen Ich nahm ein neurales Netzwerk mit 6 Eingabeeinheiten, 1 versteckte Schicht mit 3 Neuronen und 1 Einheit in der Ausgabe.
Ich habe die Daten normalisiert. Code ist wie folgt:
house_df = pd.read_csv("kc_house_data.csv")
print(house_df.head())
df = house_df.dropna(axis=0)
df = df[(df != 0).all(1)]
df.reset_index(drop=True,inplace=True)
X_org=house_df[['bedrooms','bathrooms','sqft_living','sqft_lot','floors','zipcode']]
y_org=house_df[['price']]
scaler = Normalizer().fit(X_org)
X = scaler.transform(X_org)
target_scaler = preprocessing.MinMaxScaler()
y=target_scaler.fit_transform(y_org)
ds=SupervisedDataSet(X.shape[1],y.shape[1])
for i in range(len(X)):
ds.addSample(X.iloc[i,:].values,y.iloc[i,:].values)
train,rest=ds.splitWithProportion(0.60)
test,validation=rest.splitWithProportion(0.50)
print('Training Set Size='+str(len(train)))
print('Test Set Size='+str(len(test)))
print('Validation Set Size='+str(len(validation)))
#creating a neural network
def buildNN(invar,hidden,out):
net=buildNetwork(invar,hidden,out,hiddenclass=SigmoidLayer,outclass=SoftmaxLayer)
trainer=BackpropTrainer(net,dataset=train,momentum=0.1,verbose=True,weightdecay=0.01)
trn_err,val_err=trainer.trainUntilConvergence(dataset=train,maxEpochs=50)
#trainer.trainOnDataset(trndata,500)
tst,=plt.plot(trn_err,'b',label='Test Error')
vali,=plt.plot(val_err,'r',label='Validation Error')
plt.legend(handles=[tst, vali])
plt.ylabel('Error')
plt.xlabel('Number of Epochs')
plt.show()
#testing it on test data
out=net.activateOnDataset(test).argmax(axis=1)
test_error=percentError(out,test['price'])
#on validation data
out=net.activateOnDataset(validation).argmax(axis=1)
vali_error=percentError(out,validation['price'])
return test_error,vali_error
print('Neaural network with 6 input, 3 hidden units, 1 output')
nn3_testerr,nn3_valierr=buildNN(6,3,1)
ich konstant Fehler und mein Programm lernt nicht. Können Sie mir bitte vorschlagen, was das Problem sein könnte?
Gesamtfehler: ,441892335278 Gesamtfehler: ,441892335278 Gesamtfehler: ,441892335278 Gesamtfehler: ,441892335278 Gesamtfehler: ,441892335278 Gesamtfehler: ,441892335278 Gesamtfehler: ,441892335278 Gesamtfehler: ,441892335278 Gesamtfehler: ,441892335278 Gesamt Fehler: ,441892335278 Gesamtfehler: ,441892335278 Gesamtfehler: ,441892335278 Gesamtfehler: 0,441892335278
Welche Fehler bekommen Sie? – QHarr
Vielen Dank für Ihre Antwort. Ich bekomme einen konstanten quadratischen Fehler. Das Netzwerk lernt nicht. – user1690117
Ist das die vollständige Fehlermeldung an der Unterseite? Gesamtfehler: 0.441892335278 ..... – QHarr