5_python_scripts
This commit is contained in:
parent
727d3f071b
commit
7b863a88f3
46
ium_predict.py
Normal file
46
ium_predict.py
Normal file
@ -0,0 +1,46 @@
|
||||
from keras.models import Sequential, load_model
|
||||
import pandas as pd
|
||||
from sklearn.preprocessing import LabelEncoder
|
||||
from sklearn import metrics
|
||||
import math
|
||||
import numpy as np
|
||||
|
||||
|
||||
def write_list(names):
|
||||
with open('listfile.txt', 'w') as fp:
|
||||
fp.write("\n".join(str(item) for item in names))
|
||||
|
||||
def get_x_y(data):
|
||||
lb = LabelEncoder()
|
||||
|
||||
data = data.drop(["Location 1"], axis=1)
|
||||
data = data.drop(columns=["Longitude", "Latitude", "Location", "Total Incidents", "CrimeTime", "Neighborhood", "Post", "CrimeDate", "Inside/Outside"], axis=1)
|
||||
for column_name in data.columns:
|
||||
data[column_name] = lb.fit_transform(data[column_name])
|
||||
x = data.drop('Weapon', axis=1)
|
||||
y = data['Weapon']
|
||||
|
||||
|
||||
|
||||
return data, x, y
|
||||
|
||||
|
||||
def predict():
|
||||
model = load_model('baltimore_model3')
|
||||
|
||||
train = pd.read_csv('baltimore_train.csv')
|
||||
baltimore_data_test = pd.read_csv('baltimore_test.csv')
|
||||
baltimore_data_test.columns = train.columns
|
||||
baltimore_data_test, x_test, y_test = get_x_y(baltimore_data_test)
|
||||
scores = model.evaluate(x_test, y_test)
|
||||
print("\n%s: %.2f%%" % (model.metrics_names[1], scores[1] * 100))
|
||||
|
||||
y_predicted = model.predict(x_test)
|
||||
y_predicted = np.argmax(y_predicted,axis=1)
|
||||
test_results = {}
|
||||
test_results['Weapon'] = model.evaluate(
|
||||
x_test,
|
||||
y_test, verbose=0)
|
||||
write_list(y_predicted)
|
||||
|
||||
predict()
|
55
ium_train.py
Normal file
55
ium_train.py
Normal file
@ -0,0 +1,55 @@
|
||||
# This is a sample Python script.
|
||||
|
||||
# Press Shift+F10 to execute it or replace it with your code.
|
||||
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
|
||||
from keras.models import Sequential, load_model
|
||||
from keras.layers import Dense, Dropout
|
||||
from keras.optimizers import Adam
|
||||
import pandas as pd
|
||||
import tensorflow as tf
|
||||
import numpy as np
|
||||
from sklearn.preprocessing import LabelEncoder
|
||||
|
||||
|
||||
def get_x_y(data):
|
||||
|
||||
lb = LabelEncoder()
|
||||
data = data.drop(["Location 1"], axis=1)
|
||||
data = data.drop(columns=["Longitude", "Latitude", "Location", "Total Incidents", "CrimeTime", "Neighborhood", "Post", "CrimeDate", "Inside/Outside"], axis=1)
|
||||
for column_name in data.columns:
|
||||
data[column_name] = lb.fit_transform(data[column_name])
|
||||
x = data.drop('Weapon', axis=1)
|
||||
y = data['Weapon']
|
||||
|
||||
|
||||
|
||||
return data, x, y
|
||||
|
||||
|
||||
def train_model():
|
||||
train = pd.read_csv('baltimore_train.csv')
|
||||
|
||||
data_train, x_train, y_train = get_x_y(train)
|
||||
normalizer = tf.keras.layers.Normalization(axis=1)
|
||||
normalizer.adapt(np.array(x_train))
|
||||
model = Sequential(normalizer)
|
||||
model.add(Dense(64, activation="relu"))
|
||||
model.add(Dense(10, activation='relu'))
|
||||
model.add(Dense(10, activation='relu'))
|
||||
model.add(Dense(10, activation='relu'))
|
||||
model.add(Dense(5, activation="softmax"))
|
||||
model.compile(Adam(learning_rate=0.01), loss='sparse_categorical_crossentropy', metrics = ['accuracy'] )
|
||||
model.summary()
|
||||
|
||||
history = model.fit(
|
||||
x_train,
|
||||
y_train,
|
||||
epochs=20,
|
||||
validation_split=0.2)
|
||||
hist = pd.DataFrame(history.history)
|
||||
hist['epoch'] = history.epoch
|
||||
model.save('baltimore_model3')
|
||||
|
||||
|
||||
train_model()
|
||||
|
Loading…
Reference in New Issue
Block a user