반응형
Segmentation (구간 분할)
- 연속 변수를 일정한 구간으로 나누고, 각 구간을 범주형 이산 변수로 변환하는 과정. (binning)
- Pandas cut() 함수를 이요하면 연속 데이터를 여러 구간으로 나누너 범주형 데이터로 변환할 수 있다.
- 데이터 분석 알고리즘에 따라서는 연속 데이터를 그대로 사용하기 보다는 일정한 구간(bin)으로 나눠서 분석하는 것이 효율 적인 경우가 있다. 가격, 비용, 효율 등 연속적인 값을 일정한 수준이나 정도를 나타내는 이산적인 값으로 나타내어 구간별 차이를 드러내는 것이다.
▶ horsepower 컬럼의 결측치를 평균값으로 입력합니다.
# horsepower에 결측치를 제거 합니다.
# df_auto.horsepower.dropna(inplace=True, axis=0)
# df_auto.horsepower.isnull().sum()
# error isnull()이 적용이 안됨
df_auto.loc[df_auto.horsepower.isna(), 'horsepower'] = df_auto.horsepower.mean()
▶ horsepower의 구간을 3으로 나눕니다. (범위 설정)
# 수식으로 구현.
np.histogram(df_auto.horsepower, bins=3)
# (array([263, 103, 32]),
# array([ 46. , 107.33333333, 168.66666667, 230. ]))
▶ 구간별의 이름을 리스트로 지정합니다.
# 구간별 이름 생성
bin_names = ['저출력', '보통출력', '고출력']
▶ hp_bin의 컬럼을 생성하여 각 구간의 horsepower의 값을 활용하여 구간별 이름을 입력합니다.
▷ pandas.cut() 함수 사용
# 새로운 구간별 컬럼을 생성하여
# horsepower의 값, 구간별 값, 구간별 이름으로 나누어 입력
df_auto['hp_bin'] = pd.cut(df_auto.horsepower,
bin_dividers,
labels=bin_names,
include_lowest=True # 제일 작은 값을 포함 시킨다.
)
▶ hp_bin 컬럼의 데이터를 더미 변수로 변환합니다. (One-Hot encoding)
pd.get_dummies()
# get_dummies()
# pd.get_dummies(df_auto, columns=['hp_bin'])
pd.get_dummies(df_auto.hp_bin)
반응형
'JavaScript' 카테고리의 다른 글
[JavaScript] 요소 비활성화하기 (0) | 2022.05.05 |
---|---|
[JavaScript] 확률 뽑기 (0) | 2022.05.04 |
[JavaScript] UI 설계 예제 (0) | 2022.05.04 |
[JavaScript] checkbox 전체 설정하기 (0) | 2022.05.02 |
[JavaScript] 과일 상자 추가하기 (table 추가 예제) (0) | 2022.05.02 |