Table of Contents
keras 를 이용한 다중 선형 회귀
from keras.models import Sequential
from keras.layers import Dense
from sklearn.model_selection import train_test_split
import pandas as pd
df = pd.read_csv("/home/ubuntu/workspace/datasets/streeteasy/manhattan.csv")
# df.head()
X = df[['bedrooms',
'bathrooms',
'size_sqft',
'min_to_subway',
'floor',
'building_age_yrs',
'no_fee',
'has_roofdeck',
'has_washer_dryer',
'has_doorman',
'has_elevator',
'has_dishwasher',
'has_patio',
'has_gym']]
y = df[['rent']]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = Sequential()
model.add(Dense(30, input_dim=14, activation='relu'))
model.add(Dense(6, activation='relu'))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(X_train, y_train, epochs=200, batch_size=10)
score = model.evaluate(X_test, y_test, batch_size=10)
print('Test score:', score)
y_prediction = model.predict(X_test).flatten()
y_test = y_test.values
for i in range(10):
real_price = y_test[i][0]
predicted_price = y_prediction[i]
print('Real Price: {:.3f}, Predicted Price: {:.3f}'.format(real_price, predicted_price))