본문 바로가기
머신러닝/프로젝트

Proj 자동차 연비 예측하기

by ADELA_J 2023. 8. 9.

자동차 연비 예측하기

목표 설정 : 연비에 영향을 미치는 항목을 확인하고 그에 따른 자동차 연비를 예측

데이터 수집:자동차 연비 데이터 : UCI Machine Learning Repository에서 다운로드( https://archive.ics.uci.edu/dataset/9/auto+mpg )

1.필요없는 컬럼 제거

2. X변수와 Y변수 확인

데이터 수집 :

 

<데이터 수집>

기존데이터

▷ \s+ >>>> 공백하고 한개 이상의 캐릭터를 나누자

- https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html?highlight=read_csv

▶라고 했어도 만약 다른 파일 불러왔을 때 \t 가 포함된 값이 있었다. 맨 마지막에 1\t라고 적혀있기 때문에 1\t도 잘랐다 그래서 아래와같이 되었다.

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ통으로 저장됨..ㅠ... 그래서 결국 위에 했던 방법대로...☆

 

<데이터 준비>

▶ 데이터 크기를 확인하고 (shape)

▶ 필요없는 열을 삭제하고 (drop(axis=1, inplace=False))  > inplace = True 해야 원본이 바뀜.

 

<모델링>

▶ Y에 mpg 열 값 넣고, X에 mpg(출력값, 종속변수)를 뺀 나머지 속성값 넣어서 분할해주고

   훈련용/테스트 데이터 분할해주고 (7:3으로 했음)

▶ 36행 > 선형회귀분석모델로 모델링 해주고 fit으로 학습해주고 predict로 예측해주고 

속성에 따라 그래프 5개 그려줌.

 

<성능>

회귀분석은 지도학습이므로 Y_predict랑(예측결과) 기존 평가데이터 y_test의 오차를 계산해서 모델 평가해서

MSE, RMSE(값이 너무 클수도 있기 때문에 루트하는 값)를 구함

평가지표 R2도 구하고

선형회귀의 Y절편과 피처의 회계지수(기울기)도 구해서 회귀식을 만들어봄

mpg = model_year * 0.75 + acceleration * 0.23 + displacement * 0.01 - weight * 0.01 - cylinders * 0.26 -16(y절편값)

 

<<<<검증 >>>>> (잊지말자)

앞에서 몇번 종종사용했던 accuracy_score( ) 는 왜 안하는가!!!!!! 안되는가!!!!!!!!!! 

만약 돌려도 'ValueError: continuous is not supported' 가 뜬다.

이유 : 정확도는 classification에서만 사용되기 때문

그래서 K-Fold cross validation 만 해봐씀

정확도 61%라는 처참한 결과를 내고 끝