-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path1_Data Preprocessing
More file actions
60 lines (46 loc) · 1.6 KB
/
1_Data Preprocessing
File metadata and controls
60 lines (46 loc) · 1.6 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Data Preprocessing
# Importing the libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# Importing the dataset
dataset = pd.read_csv('Data.csv')
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 3].values
# Taking care of missing data
from sklearn.preprocessing import Imputer
imputer = Imputer(missing_values = 'NaN', strategy = 'mean', axis = 0) #axis = 0 means cols | 1 = rows
imputer = imputer.fit(X[:, 1:3]) # upper bound is exclued so its 1 : 2
X[:, 1:3] = imputer.transform(X[:, 1:3]) # takes the col and trans it
#Dummy variable
nominal_columns = ["car name"]
dummy_df = pd.get_dummies(df[nominal_columns])
df = pd.concat([df, dummy_df], axis=1)
df = df.drop(nominal_columns, axis=1)
# Encoding categorical data
from sklearn.preprocessing import LabelBinarizer
encoder = LabelBinarizer()
y = encoder.fit_transform(y)
-----------------------
INPUT -> ['setosa', 'versicolor', 'virginica']
OUTPUT ->
[1, 0, 0],
[1, 0, 0],
[1, 0, 0],
--------------------------
# Encoding the Independent Variable
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X = LabelEncoder()
X[:, 0] = labelencoder_X.fit_transform(X[:, 0])
onehotencoder = OneHotEncoder(categorical_features = [0])
X = onehotencoder.fit_transform(X).toarray()
# Encoding the Dependent Variable
labelencoder_y = LabelEncoder()
y = labelencoder_y.fit_transform(y)
# Feature Scaling
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)
sc_y = StandardScaler()
y_train = sc_y.fit_transform(y_train)