1. 프로젝트 목표 수정
전처리와 함께 기초 데이터를 시각화 한것을 보고 추가적인 목표를 설정했습니다.
- 연비와 탄소배출량간의 관계 확인
- 차종별 탄소배출 분석
- 차량 실린더와 연비 관계 분석
- 차 엔진사이즈와 연비 관계 분석
- 연료, 차종별 탄소 배출량 저감률 분석
- 탄소배출량 분석한것을 파생변수로 변화시켜서 비교
- 실린더 수, 차 엔진사이즈, 차종변경 중 파생변수가 큰 것을 탄소배출에 효과적인 방안으로 봄.
- 파생변수 = 연비/내부요인들
- 각 요인의 파생변수 임계치 파악
- 탄소배출 저감을 위한 최종적 모델 선정.
- 탄소배출량 저감에 효과적인 모델 10개, 비효과적인 모델 10개 선정 및 소개
- 탄소배출량 저감에 기여한 기업 선정
- COMB가 낮은 차종만 선택하게 되는 오류 해결
- 차량을 소형,중형,대형으로 나눠서 분류
- 연료 (5종류) X 차종(3종류) = 15개 항목으로 분류
- 목표
- 환경부 공무원 컨설팅.
- 차종별 탄소배출 저감 차종과 엔진, 실린더 수 조정 등을 분석해서 기업에 대해 탄소배출 감축 전략을 컨설팅 한다.
- 조합별 차량의 탄소배출량을 줄이기 위해서는 엔진 크기는 ~까지, 실린더수는 ~까지 가 좋음.
- 차량 연비와 배출량 사이의 관계를 검증하고 이를 바탕으로 친환경 전략을 제안
- 연비가 ~만큼 좋아졌을경우 탄소배출량이 ~만큼 줄어드니 연비를 이렇게 좋게해라.
- 탄소배출량 저감에 기여한 우수기업 선출
2. 정규화 진행
우선
- 차량 실린더와 연비 관계 분석
- 차 엔진사이즈와 연비 관계 분석
위 두개의 관계에 대한 상호 비교를 위해 두 관계에 대해 정규화를 진행했습니다.
# 엔진 사이즈, 실린더 수 정규화 컬럼 추가
df['ENGINZE_NORM'] = (df['ENGINE SIZE'] - df['ENGINE SIZE'].min()) / (df['ENGINE SIZE'].max() - df['ENGINE SIZE'].min())
df['CYL_NORM'] = (df['CYLINDERS'] - df['CYLINDERS'].min()) / (df['CYLINDERS'].max() - df['CYLINDERS'].min())
3. 임무 분담 및 시각화 진행
여기서 데이터를 분석하기 위한 처리를 각 3부분으로 나누어 데이터를 시각화 하였는데요
저는 '차 엔진사이즈와 연비 관계 분석' 을 맡아서 코딩을 진행했습니다.
# 가솔린차량 & 소형만 보기
df_fuel_X = df[df['FUEL'] == 'X']
df_fuel_X_SMALL = df_fuel_X[df_fuel_X['SIZE CLASS']=='SMALL']
plt.figure(figsize=(12, 8))
# 1. regplot으로 관계 시각화
sns.regplot(
data=df_fuel_X_SMALL,
x='ENGINZE_NORM',
y='COMB (L/100 km)',
scatter_kws={'alpha':0.6, 's': 50}, # 점 투명도와 크기 조정
line_kws={'color': 'red'}, # 회귀선 색상 조정
order=2 # order=2를 추가하여 2차 곡선 적용
)
# 2. 제목 및 축 레이블 추가
plt.title('가솔린/소형차량: 엔진 크기(정규화)와 복합 연비 관계', fontsize=18, fontweight='bold')
plt.xlabel('엔진 크기 (Min-Max 정규화 값)', fontsize=14)
plt.ylabel('복합 연비 (L/100km)', fontsize=14)
# 3. 가독성 향상 요소 추가
plt.grid(True, linestyle=':', alpha=0.7) # 격자선 추가
plt.tick_params(labelsize=12) # 축 눈금 글자 크기 조정
plt.show()
이런식으로 간단하게 코딩을 하고 차종 3종류 , 연료 5종류로 총 15개의 그래프를 도출해봤습니다.














