다음은 IEEE Fraud dataset에서 V1~340으로 표시된 feature를 줄이는 예제이다.
sc = preprocessing.MinMaxScaler()
pca = PCA(n_components=2) # 2개로!
vcol_pca = pca.fit_transform(
sc.fit_transform( all_data[vcols].fillna(-1) ) # na값 최소값인 -1로하고 minmax! 한후에 pca!!
)
all_data['_vcol_pca0'] = vcol_pca[:, 0] # PCA로 2개가 나왔을테니 그중 1개를 피처
all_data['_vcol_pca1'] = vcol_pca[:, 1] # PCA로 2개가 나왔을테니 그중 1개를 피처
all_data['_vcol_nulls'] = all_data[vcols].isnull().sum(axis=1) # 원래 V1~340개가 가지고있던 모든 null값을 종합하여 feature로 사용!
all_data.drop(vcols, axis=1, inplace=True) # 원래있던 V1~ V340의 feature를 모두 제거!
'개발 > ML+ Data Science' 카테고리의 다른 글
Network work dataset feature Extraction 네트워크 피처추출하는법 (0) | 2019.10.01 |
---|---|
data 전처리에서 nan과 null은 같다. (0) | 2019.10.01 |
어떤 feature의 value_count를 그래프로 정렬해서 표현하는 template (0) | 2019.10.01 |
train set이랑 test set의 feature별 개수차이 보여주는 template (0) | 2019.10.01 |
Missing data 개수,비율,dtype 출력하는 template (0) | 2019.10.01 |