기계 학습 실전 - 특징 공정 의 특징 구축

특징 구축 이란 원시 데이터 샘플 을 연구 함으로써 기계 학습 실전 경험 과 관련 분야 의 전문 지식 을 결합 시 켜 문제 의 잠재 적 인 형식 과 데이터 구 조 를 사고 하고 인공 적 으로 새로운 특징 을 창조 하 는 것 을 말한다. 이런 특징 은 모델 훈련 에 유익 하고 일정한 공정 의 미 를 가진다.
특징 구축 방식 은 주로 단일 열 조작, 다 열 조작, 그룹 / 집합 작업 등 세 가지 가 있다.
1. 일렬 조작
pandas 라 이브 러 리 에 서 는 주로 map () 함 수 를 이용 하여 단일 열 로 작 동 합 니 다.
map () 함 수 는 목표 함 수 를 하나의 Series 에 작용 하 는 모든 요소 이 고 DataFrame 의 한 열 은 하나의 Series 이기 때문에 map () 를 통 해 한 열 에 대해 사 칙 연산, 제곱, 개방, 멱 방, 지수, 대수 등 조작 을 할 수 있 습 니 다.
train['DIV_column_i'] = train['column_i'].map(lambda x: x/1024)
train['X2_column_i'] = train['column_i'].map(lambda x: x**2)
train['EXP_column_i'] = train['column_i'].map(lambda x: math.exp(x))

2. 다 열 조작
pandas 라 이브 러 리 에 서 는 주로 apply () 함 수 를 이용 하여 다 열 작업 을 합 니 다.
apply () 함 수 는 목표 함 수 를 하나의 DataFrame 의 한 줄 (열) 또는 여러 줄 (열) 에 작용 하 는 것 입 니 다. 매개 변수 axis = 1 이 열 에 대한 작업 이기 때문에 apply () 를 통 해 다 열 구 와 / 구 차 / 평균, 몇 열의 최대 치 / 최소 치 등 을 실현 할 수 있 습 니 다.
train['SUM_column'] = train.apply(lambda x: x['column_1']+x['column_2']+x['column_3'], axis=1)
train['DIFF_column'] = train.apply(lambda x: x['column_1']-x['column_2'], axis=1)
train['MEAN_column'] = train.apply(lambda x: (x['column_1']+x['column_2'])/2.0, axis=1)
train['MAX_column'] = train.apply(lambda x: max(x['column_1'],x['column_2'],x['column_3']), axis=1)
train['MIN_column'] = train.apply(lambda x: min(x['column_1'],x['column_2'],x['column_3']), axis=1)

3. 그룹 / 집합 작업
pandas 라 이브 러 리 에 서 는 주로 groupby () 함 수 를 이용 하여 그룹 / 취 합 작업 을 합 니 다.
앞의 두 동작 은 주로 하나의 ID 가 한 번 만 나타 나 는 경우 에 사 용 됩 니 다. 제목 에 하나의 ID 가 한 번 만 나타 나 거나 특정한 속성 (예 를 들 어 시간 대) 에 따라 통계 해 야 할 때 그룹 / 취 합 작업 이 필요 합 니 다.
#  'gender'    ,     
grouped1 = train.groupby(['gender']).size()  
#  'age','gender'      ,     
grouped2 = train.groupby(['age','gender']).size()
#    'gender'  ,   'age'   
grouped3 = train['age'].astype(float).groupby(train['gender']).mean()   
#  'gender','age'    ,   'fee'    
grouped4 = train['fee'].astype(float).groupby([train['gender'],train['age']]).max() 

좋은 웹페이지 즐겨찾기