In [1]:
import pandas as pd
import numpy as np
import keras
from matplotlib import pyplot as plt
from keras.layers import Input, Dense
from keras.models import Model
from sklearn.preprocessing import StandardScaler, MinMaxScaler, Normalizer
%matplotlib inline
In [2]:
df = pd.read_csv("../television/data.csv")
In [3]:
df.head()
Out[3]:
In [4]:
df.columns,df.dtypes
Out[4]:
In [5]:
# df["People per Television"] = df["People per Television"].as_numeric
df["People per Television"] = pd.to_numeric(df["People per Television"],errors='coerce')
In [6]:
df = df.dropna()
In [7]:
df.head()
Out[7]:
In [8]:
# x = ppl/television
# y = ppl/doctor
x = df["People per Television"].values.reshape(-1,1).astype(np.float64)
y = df["People per Physician"].values.reshape(-1,1).astype(np.float64)
x.shape,y.shape
Out[8]:
In [9]:
sc = StandardScaler()
x_ = sc.fit_transform(x)
y_ = sc.fit_transform(y)
inputs = Input(shape=(1,))
preds = Dense(1,activation='linear')(inputs)
model = Model(inputs=inputs,outputs=preds)
sgd=keras.optimizers.SGD()
model.compile(optimizer=sgd ,loss='mse')
model.fit(x_,y_, batch_size=1, verbose=1, epochs=10, shuffle=False)
plt.scatter(x_,y_,color='black')
plt.plot(x_,model.predict(x_), color='blue', linewidth=3)
Out[9]: