26 lines
649 B
Python
26 lines
649 B
Python
import pandas as pd
|
|
import torch
|
|
import torch.nn as nn
|
|
|
|
df = pd.read_csv("./RegressionModels/AdvertisementPrediction/advertising.csv")
|
|
|
|
X = torch.tensor(df[["TV", "Radio", "Newspaper"]].values, dtype=torch.float32)
|
|
Y = torch.tensor(df["Sales"].values, dtype=torch.float32)
|
|
|
|
model = torch.nn.Sequential(
|
|
torch.nn.Linear(3,1)
|
|
)
|
|
|
|
loss_fn = torch.nn.MSELoss()
|
|
optimizer = torch.optim.SGD(model.parameters(), lr=3e-5)
|
|
|
|
for epoch in range(2000):
|
|
y_pred = model(X)
|
|
loss = loss_fn(y_pred, Y)
|
|
optimizer.zero_grad()
|
|
loss.backward()
|
|
optimizer.step()
|
|
if epoch % 100 == 99:
|
|
print(f'Epoch {epoch+1}, Loss: {loss.item():.2f}')
|
|
|