-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsample_data_prep.py
46 lines (35 loc) · 2.39 KB
/
sample_data_prep.py
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
import pandas as pd
df = pd.read_csv('/home/Sathvik/Desktop/OpenSet/W-SVM/letter-recognition.csv',header = None) # importing test dataset
"""
############################################################################################################################################
Train-Test Split
############################################################################################################################################
"""
train=df.sample(frac=0.70,random_state=200) #considering 70% of the data as train data and 30% as test
test=df.drop(train.index)
"""
############################################################################################################################################
Preparing train Dataset
############################################################################################################################################
"""
known_classes = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T'] #comsidering 20 classses as known classes
target_known_df = train.loc[df.iloc[:,0].isin(known_classes)] #preparing train dataset
target_known_df = target_known_df.sort_values(0)
target_known_df = target_known_df.replace(known_classes, list(range(1,1+len(known_classes)))) #encoding labels of the dataset
"""
############################################################################################################################################
Preparing test Dataset
############################################################################################################################################
"""
test = test.sort_values(0)
test_classes = test[0].unique().tolist()
unknown_classes = list(set(test_classes) - set(known_classes))
test = test.replace(unknown_classes,[99]*len(unknown_classes)) #encoding unknown classes with label '99'
test = test.replace(known_classes, list(range(1,1+len(known_classes))))
"""
############################################################################################################################################
Saving datasets in csv format
############################################################################################################################################
"""
target_known_df.to_csv('/home/Sathvik/Desktop/OpenSet/W-SVM/train.csv',header = None, index = False)
test.to_csv('/home/Sathvik/Desktop/OpenSet/W-SVM/test.csv',header = None, index = False)