-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathElasticNet.py
More file actions
30 lines (24 loc) · 926 Bytes
/
ElasticNet.py
File metadata and controls
30 lines (24 loc) · 926 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import pandas as pd
from sklearn.linear_model import ElasticNet
from sklearn.preprocessing import StandardScaler
df_train = pd.read_csv('csv/train.csv', index_col=False)
df_test = pd.read_csv('csv/test.csv', index_col=False)
df_train = df_train.select_dtypes(['number'])
df_test = df_test.select_dtypes(['number'])
df_test = df_test.fillna(df_test.mean())
df_train = df_train.fillna(df_train.mean())
features = list(df_train)[1:-1]
x_train = df_train[features]
y_train = df_train['SalePrice']
x_test = df_test[features]
train_scaler = StandardScaler()
train_scaler.fit(x_train)
x_train = train_scaler.transform(x_train)
test_scaler = StandardScaler()
test_scaler.fit(x_test)
x_test = test_scaler.transform(x_test)
model = ElasticNet()
y_pred = model.fit(x_train, y_train).predict(x_test)
output = pd.DataFrame({'Id': df_test['Id'], 'SalePrice': y_pred})
output.to_csv('csv/ElasticNet.csv', index=False)
# Score: 0.16431