Skip to content

Commit c429d06

Browse files
committed
Uploaded files
0 parents  commit c429d06

File tree

2 files changed

+1596
-0
lines changed

2 files changed

+1596
-0
lines changed

my_encoder/my_encoder.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from sklearn.preprocessing import OneHotEncoder
2+
import pandas as pd
3+
from sklearn.base import BaseEstimator, TransformerMixin
4+
5+
6+
class Myencoder(BaseEstimator, TransformerMixin):
7+
8+
def __init__(self,drop = 'first',sparse=False):
9+
self.encoder = OneHotEncoder(drop = drop,sparse = sparse)
10+
self.features_to_encode = []
11+
self.columns = []
12+
13+
def fit(self,X_train,features_to_encode):
14+
15+
data = X_train.copy()
16+
self.features_to_encode = features_to_encode
17+
data_to_encode = data[self.features_to_encode]
18+
self.columns = pd.get_dummies(data_to_encode,drop_first = True).columns
19+
self.encoder.fit(data_to_encode)
20+
return self.encoder
21+
22+
def transform(self,X_test):
23+
24+
data = X_test.copy()
25+
data.reset_index(drop = True,inplace =True)
26+
data_to_encode = data[self.features_to_encode]
27+
data_left = data.drop(self.features_to_encode,axis = 1)
28+
29+
data_encoded = pd.DataFrame(self.encoder.transform(data_to_encode),columns = self.columns)
30+
31+
return pd.concat([data_left,data_encoded],axis = 1)
32+

0 commit comments

Comments
 (0)