Пример #1
0
# import tf for classification
import tensorflow as tf
from load_data import LoadData

# make a data loader obj
loadData = LoadData("./kr-vs-k.csv")

# retrive the data dict
data = loadData.load_processed_data()


# a input function
def input_fn_generator(data):
    def input_fn():
        # load the features
        features = data["features"].values
        labels = data["labels"].values

        # convert the data into tensors
        features = tf.convert_to_tensor(value=features, dtype=tf.float32)
        labels = tf.convert_to_tensor(value=labels, dtype=tf.int32)

        # make a tensor dataset
        dataset = tf.data.Dataset.from_tensor_slices((features, labels))

        # make a batch of data
        dataset = dataset.shuffle(100).batch(64)

        # make a oneshot iterator
        iterator = tf.compat.v1.data.make_one_shot_iterator(dataset)
    print("Saving model {}".format(learner.__class__.__name__))
    save_model(learner, learner.__class__.__name__)

    # predict model
    print("Predicting Model")
    prediction_test = learner.predict(X_test)

    results["accu"] = f1_score(y_test, prediction_test, average="micro")

    return results


# load data
dataLoader = LoadData("./kr-vs-k.csv")  # data loader for kr-vs-k

data = dataLoader.load_processed_data()  # load preprocessed data

# split data
X_train, X_test, y_train, y_test = train_test_split(data["features"],
                                                    data["labels"],
                                                    test_size=0.2,
                                                    random_state=42)

# initalize classifiers
clf_DT = DecisionTreeClassifier()  # decission tree classifier
clf_KNN = KNeighborsClassifier(n_neighbors=4)  # KNN classifier
clf_RF = RandomForestClassifier(
    n_estimators=1000)  # Random Forest with 100 trees

# list of classifiers to iterate
classifier_list = [clf_DT, clf_KNN, clf_RF]