-
2022년 12월 15일(머신러닝)개발/개발일지(국비지원) 2022. 12. 15. 22:23728x90
머신러닝에 대해 가볍게 학습했다.
머신러닝 기본개념 정리.
머신러닝을 하기에 앞서,
기존에 사용했던 연비데이터를 가져와서
머신러닝에 필요한 데이터로 전처리과정을 거쳤다.
알고리즘준비(선택)->모형학습(.fit)->예측(.predict)->평가의
순으로 진행된다.
실제데이터와 예측데이터의
결과를 직관적으로 보기위해
그래프로 시각화하여 나타냈다.
파란색=실제데이터값
주황색=예측데이터값
위에서 1차 단항회귀분석을했다면
이번엔 다항회귀분석으로 진행해보았다.
방법은 단항회귀분석과 동일하다.
결정계수: 값이 1에가까울수록 성능이좋다고 할수있다.
단! 1을 넘을수는 없다.
결정계수: 1 - 잔차제곱항/실제데이터 총변환량으로 계산해준다.
385-387행
데이터를 훈련데이터와 테스트데이터로 분리해준다.
test_size=0.3 -> 훈련:테스트 비율 = 7:3으로 설정
random_state=10 : 시드를 설정해준다.
389-391행
알고리즘을 선택하는부분이다.
LinearRegression() : 선형회귀분석을 선택해준다.
393-394행
.fit(X_train,Y_train)
fit함수를통해 학습을하도록 설정해준다.
396-397행
.predict(X)함수를통해
예측을 하도록 설정한다.
399-401행
평가를해주는부분이다.
1에 가까울수록 성능이좋은값이다.
403-408행
데이터의 결과를 시각화하여
한눈에 알아보기 쉽게 표현해준다.
최대한 이해하기 쉽도록하기위해
단순하게 학습해보았다.
x=독립변수
y=종속변수로 설정하였다.
알고리즘은 선형회귀분석으로 선택하고
model이라는 변수로 설정해주었다.
420-421행
설정된 model.fit(x,y)를 해주어
선형회귀분석을 독립변수와,종속변수를가지고
학습을 하게될것이다.
423-425행
result객체에
예측을위해 값을넣었을때
학습을통한 예측값을 출력시켜주게된다.
다중회귀분석 또한 마찬가지지만,
다른점이있다면
독립변수가 여러개를 가지고있다.
이전까지 해왔던 데이터전처리 방법을
복습하였다.
456-459행
컬럼에 불필요한 문자열을 지워주기위해
데이터['컬럼'].str.replace("지울문자열","")
를통해 지울문자열을 공백으로 만들어주었다.
461-464행
새로운컬럼을 생성해주는데,
기존컬럼 날짜컬럼에서
2022-12-15형태에서
년도만 가져와서 새로운컬럼 "년도"에 저장해주엇다.
날짜.str.split('-').str[0]
-를 기준으로 분리해주면
2022,12,15 형태의 데이터가 되는데
그중 0번째 즉 2022 년도의 문자열만
년도컬럼에 추가해주었다.
466-468행
"월일"새로운 컬럼에
기존 "날짜"컬러에서
5번쨰인엑스부터 마지막인덱스까지만 가져온 문자열을
월일컬럼에 저장해준다.
2022-12-15 형태에서
5번째인덱스는 월의 시작부분.
485-487행
데이터.dropna(subset=['컬럼명'],axis=0(행),inplace=True)
해당컬럼의 값이 결측값이있을때
위의 함수로 결측값의 행을 지울수있다.
489-501행
위에서 했던 방법과같이,
독립변수와 종속변수를 정하고
년도에따른 최저기온을 학습하여
예상온도를 예측하는 방법이다.
503-515행
마찬가지로
년도와 최고기온이 주어졌을때
최저기온을 예측하는 방법이다.
728x90'개발 > 개발일지(국비지원)' 카테고리의 다른 글
2022년 12월 19일 (텍스트마이닝) (0) 2022.12.19 2022년 12월 16일 금요일(분류) (0) 2022.12.16 2022년 12월 14일 (외부파일 데이터전처리, 데이터 시각화) (0) 2022.12.14 2022년 12월 13일 화요일(데이터의 시각화) (0) 2022.12.13 2022년 12월 12일 월요일(크롤링,selenium을 통한 크롬제어방법) (0) 2022.12.12