# No labels, use only features. inputs = features else: inputs = (features, labels) # Convert the inputs to a Dataset. dataset = tf.data.Dataset.from_tensor_slices(inputs) # Batch the examples dataset = dataset.batch(batch_size) # Return the dataset. return dataset train = import_and_clean("UNSW-NB15_1.csv") test = import_and_clean("UNSW-NB15_2.csv") input_features = [] for key in train.iloc[:, [9, 36]].keys(): input_features.append(tf.feature_column.numeric_column(key=key)) classifier = tf.estimator.DNNClassifier(feature_columns=input_features, hidden_units=[10, 10], n_classes=2) print("Training...") start = time.time() classifier.train(input_fn=lambda: train_input_fn(train.iloc[:, [9, 36]], train. iloc[:, -1], 100), steps=1000)
import numpy as np import matplotlib.pyplot as plt from sklearn.ensemble import ExtraTreesClassifier from data_preprocessing_unsw import import_and_clean ds = import_and_clean("UNSW-NB15_3.csv") model = ExtraTreesClassifier() model.fit(ds.iloc[:, :-2], ds.iloc[:, -1]) plt.bar(np.arange(47), model.feature_importances_) plt.xlabel("Features") plt.ylabel("Importance") plt.show()