def neuron(self, p_class, age, sib_sp, par_ch, fare, sex_female, sex_male, embarked_c, embarked_q, embarked_s): clf = PNN(verbose=False, std=10) clf.fit(X_train, y_train) x_test = np.array([[ p_class, age, sib_sp, par_ch, fare, sex_female, sex_male, embarked_c, embarked_q, embarked_s ]]) y_predict = clf.predict(x_test) return float(y_predict)
import pandas as pd from neupy.algorithms import PNN # read data from the csv files train_data = pd.DataFrame(pd.read_csv('processed_input/train.csv')) test_data = pd.DataFrame(pd.read_csv('processed_input/test.csv')) # print train_data.describe # split data in to target and data X_train = train_data.drop(columns='Made Donation in March 2007', axis=1) y_train = train_data['Made Donation in March 2007'] X_test = test_data.drop(columns='Made Donation in March 2007', axis=1) IDs = test_data['ID'] # instantiate the PNN model pnn = PNN(verbose=True) # fit to training data and then predict prediction = pnn.fit(X_train, y_train).predict_proba(X_test) # concatenate IDs and the prediciton pred = pd.concat([ IDs, pd.DataFrame(prediction.astype(float), columns=['Made Donation in March 2007']) ], axis=1) #write prediction to csv pred.to_csv('output/pnn_prediction.csv', index=False)
cv=cross_validation) print("") print("Cross Validation: {0} (+/- {1})".format(abs(score.mean().round(2)), (score.std() * 2).round(2))) print("") #Prediction Y_predict = pnn.predict(X_test) print(Y_test.values) print(Y_predict) print("Accuracy: {0}".format( metrics.accuracy_score(Y_test, Y_predict).round(2))) else: pnn = GaussianNB() pnn.fit(X_train, Y_train) print( 'Sigma: {0}'.format(pnn.sigma_) ) #Standard deviation is estimated using maximum likelihood, so one sigma per variable and per class # Cross validataion score = cross_val_score(pnn, X_train, Y_train, scoring='accuracy', cv=cross_validation) print("") print("Cross Validation: {0} (+/- {1})".format(abs(score.mean().round(2)), (score.std() * 2).round(2))) print("")