57 lines
1.8 KiB
Python
57 lines
1.8 KiB
Python
import pandas as pd
|
|
|
|
import tensorflow.keras
|
|
|
|
import numpy as np
|
|
import pandas as pd
|
|
import xgboost as xg
|
|
|
|
import tensorflow.keras
|
|
from tensorflow.keras.models import Sequential
|
|
from tensorflow.keras.layers import Dense
|
|
|
|
in_columns = ["id_stacji", "nazwa_stacji", "typ_zbioru", "rok", "miesiąc"]
|
|
df = pd.read_csv("train/in.tsv", names=in_columns, sep="\t")
|
|
df_test = pd.read_csv("dev-0/in.tsv", names=in_columns, sep="\t")
|
|
|
|
df = pd.concat([df, df_test])
|
|
x = pd.get_dummies(df, columns=["id_stacji", "rok", "miesiąc"])
|
|
x = x.drop(["nazwa_stacji", "typ_zbioru"], axis=1)
|
|
x = x.iloc[:-600]
|
|
y = pd.read_csv("train/expected.tsv", sep="\t", names=["rainfall"])
|
|
|
|
model = Sequential(
|
|
[
|
|
Dense(1024, activation="relu", input_dim=73),
|
|
Dense(512, activation="relu"),
|
|
# tensorflow.keras.layers.BatchNormalization(),
|
|
Dense(512 // 2, activation="relu"),
|
|
# tensorflow.keras.layers.BatchNormalization(),
|
|
Dense(512 // 4, activation="relu"),
|
|
# tensorflow.keras.layers.BatchNormalization(),
|
|
Dense(512 // 8, activation="relu"),
|
|
# tensorflow.keras.layers.BatchNormalization(),
|
|
Dense(32, activation="relu"),
|
|
# tensorflow.keras.layers.BatchNormalization(),
|
|
Dense(1, activation="linear"),
|
|
]
|
|
)
|
|
|
|
model.compile(
|
|
loss="mean_squared_error", optimizer="adam", metrics=["mean_squared_error"]
|
|
)
|
|
model.fit(x, y, epochs=100)
|
|
|
|
x_test = pd.read_csv("test-A/in.tsv", sep="\t", names=in_columns)
|
|
df_train = pd.read_csv("train/in.tsv", names=in_columns, sep="\t")
|
|
|
|
x_test = pd.concat([x_test, df_train])
|
|
|
|
x_test = x_test.drop(["nazwa_stacji", "typ_zbioru"], axis=1)
|
|
x_test = pd.get_dummies(x_test, columns=["id_stacji", "rok", "miesiąc"])
|
|
x_test = x_test.iloc[:-8760]
|
|
|
|
pred = model.predict(x_test)
|
|
out = pd.DataFrame(pred)
|
|
out.to_csv("test-A/out.tsv", sep="\t", header=False, index=False)
|