개발자로 후회없는 삶 살기

데이터 청년 캠퍼스 PART.5일차 머신러닝 기반 분석 본문

[대외활동]/[데이터 청년 캠퍼스]

데이터 청년 캠퍼스 PART.5일차 머신러닝 기반 분석

몽이장쥰 2022. 11. 18. 14:40

서론

머신러닝 기반 분석 이론 학습 및 실습을 진행합니다.

본론

실습

하천+수질(2016 ver 최종).xlsx
6.69MB

 

머신러닝 개념과 기초 분석(충북대 교수님 강의)

-> 하신 서비스 : 상담원이 받은 전화 데이터로 소비자들이 어떤 프로모션을 제일 좋아할까 -> 노트북을 팔면 가격을 낮추는거? 마우스를 껴주는 걸 좋아할까?? 이런 프로모션 예측 등을 하셨단다./

- 머신러닝 데이터마이닝 개요


★ 인공지능이든 머신러닝이든 전부 데이터이다 알파고가 수만번의 대전으로 깨지면서 배운 거다/

-> 데이터는 2가지

정량(숫자), 정성(글자)/ 


데이터를 라벨을 실수로 하지 말고 적정, 적정이하, 적정이상으로 라벨링하고 이하 이하 이상이 좋은지 이상 적정 이하가 좋은 지를 봐라 -> ★수치형 연속 데이터를 범주형 연속 데이터로 만들기 = 상식적으로 생각해봐도 실수형은 1.11 1.33 이런 값이라 중복이 되기 힘들어서 패턴을 만들기 힘들거기 때문에 1.11, 1.33을 2 이하로 만들어주면 패턴을 만들수있다/(데이터가 적을 때 얘기이지 많으면 회귀를 더 예측 잘 한다.)

(박사님)
+ 현업에서는 정확도를 중요하게 생각하지 않는다 > 왜 이렇게 나왔는지 증명을 해주기를 바란다 > 그래서 성능이 잘 나오는 모델도 좋은데 "설명할 수 있는 모델"을 사용하는 것도 중요하더라

 

> 그래서 앙상블이나 딥러닝 모델도 좋지만 기본 선형 회귀나 knn 등도 산업에서 꼭 사용하게 된다 -> 선형회귀는 y=wx+b로 결과가 나오고 결정트리는 이분법적 사고로 크면 왼 작으면 오로 예측을 한다 svm으로 갈 수 록 점점 설명하기가 힘들어지더니 앙상블로 가면 왜 그렇게 나온지 아예 모른다

 

> 이걸 내가 다니는 회사의 대표님께 가져가면 이게 왜 이렇게 나온거야?라고 한다 그래서 박사님이 생각하기를 심플한 모델로 정확도가 떨어지더라도 영향력을 보여주고 성능이 좋은 모델도 가져가서 같은 이유로 정확도도 높일 수 있습니다!!라고 두 가지를 가져가는 게 중요하다

 

★ 기본적인 알고리즘도 잘 알아야한다 ∴ 다양한 알고리즘이 왜 필요한지 특징을 알아가면서 공부를 해야하고 내가 cs231n이랑 모두의 딥러닝, 핸즈 온 머신러닝에서 공부한 것들이 다 필요하다 이거야!!/

 

+ 유능한 인재란?

누구나 코드 배끼기로 머신러닝을 따라할 수 있다 > 단순 코드만 따라하지말고 데이터에서 의미를 도출하고 시사점을 뽑는 사람이 인재다 > 코드보다 앞 단계(기획, 전처리, 데이터를 바라보는 시선 등)에서 생각을 많이 하는 사람이 인재다.

※ 회귀와 분류 : 범주를 예측하면 분류/ 수치를 예측하면 회귀/

 


> 항상 학습을 할 때 내가 가지고 있는 독립변수가 현실적인지 그냥 과거 데이터이기 때문에 가지고 있는 건 아닌지 생각을 해야한다(비현실적이면 버려라!!!!!!!!!!!!!) ex) 고객데이터를 다룰 때도 구할 수 없는 데이터는 독립변수로 사용하는 경우가 있다 ★종속변수를 결정하는데 독립변수의 수가 적으면 적을수록 좋다/

데이터를 받자마자 내가 목표로 하는 타겟이 범주형인지, 수치형인지를 가장 먼저 빠르게 접근해서 회귀문제로 볼지 분류문제로 볼지를 선택을 해야한다/


-> 귀납적 학습

 

100.1234랑 100.123.1313 온도일 때 이 설비가 원하는 결과를 내겠니?는 말도 안되는 얘기다 > 이런 사례를 일반화할 필요가 있다 = 정량적 수치를 정성데이터로 변환 ∴ 정량을 정성으로 바꿨을 때 뭐가 좋고 좋은게 뭐가 있을까를 생각하라(모든 변화에는 이유가 있어야한다.)/

 

-> ★패턴을 어떻게 만들까를 고민하는 것이 기계학습이다(cctv 관절 접촉 속도가 패턴이다 > 싸우는 것을 1 안 싸우는걸 0으로 해서 라벨링을 한다)/

 

=> 통계는 두가지이다

이 사람들이 용돈을 얼마나 쓸까? 조사해보니 150을 써, 그러면 내년도 데청캠 학생의 평균 용돈은 152겠네?? = 기존의 모집단의 결과를 이용하여 예측 > 기술과, 예측이 통계의 두가지이고 비지니스 인텔리전스의 핵심이다/

※ 시스템은 두가지

트랜잭션/ 어널리스틱 시스템 -> olap과 연관이 있고 정성변수의 상관계수를 다룬다(시각화의 기본) ex) sql 검색, 어떠한 범위의 변수들의 상관관계를 찾는툴 ★ 결론 : 기술적인 분석에 이 여러가지를 쓰고 예측에 써라(예측 얘기는 없고 기술 얘기만 하고 계심)/

-> 트랜젝션시스템 https://crystal-studyroom.tistory.com/18

 

데이터 시스템의 기초 - 트랜잭션, OLAP, OLTP

*본 포스팅은 '데이터 중심 애플리케이션 설계(위키북스)' 책을 참고하여 학습한 내용을 요약 정리한 것입니다* 트랜잭션(Transaction) 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용

crystal-studyroom.tistory.com

+ ERP. CRM/

 

- 머신러닝 활용

메인은 현재 모집단에 대한 특성에 대한 기술, 이 자료로 앞으로 어캐할 건지 예측/

=> 데이터 축소 : PCA(주성분 분석)으로 데이터를 조작하기 위해 써먹는거지만 원래 오리지널을 잃어버린다/ > 따라서 실제 프로젝트에서는 잘 안쓰고 정확도를 높여야하는 경진대회에서 축소하면 잘 된다/

데이터 시각화 : 데이터를 볼때 가장 중요한게 먼저 어떤 모양으로 생겼는지를 봐야한다 학습할 빈도들이 충분히 있는지를 봐야한다/ 정량데이터로 히스토그램, 정상데이터로 파이차트 그려보는게 시작이다?/

- 데이터 마이닝 기법

다른 모델은 다 필요없어도 회귀모델은 깊게 공부하면 데이터의 인풋부터 출력, 모델의 성능 변화를 다 이해할 수 있다 > 이거로 데이터의 흐름을 공부한 게 아주 좋다 + 모델 중에 설명력이 제일 좋아서 다른 모델보다 이걸 잘 써야한다./

- 비지도 학습

장바구니 분석 : 뭐하고 뭐를 같이 많이 사지?? x 변수들끼리 연관성을 분석한다 -> 근데 소주와 맥주를 같이 많이 사더라?는 다 상식선에서 이해되는 것들이라는 것도 생각해야한다 -> 그래서 사실 매우 한정된 분야에서 쓰는 거라서 걍 필요하면 공부해라 > 추천시스템의 기본아님?? 거리 계산이 연관성 아닌가/

- 데이터마이닝 단계 심화 + 통계적 분석 끼어넣기

-> 데이터 마이닝 단계

1. 목적파악, 적용가능성 파악
2. 어떤 사람에게 적용할 목적인지 보고 장바구니라면 고객 데이터를 획득한다, 정부데이터나 지자체 데이터는 전화해서 요청하면 받을 수 있다/

 

+ 데이터 스플릿 -> 획득하면 타겟변수의 히스토그램을 꼭 그려봐서 스플릿마다 1과 0이 골고루 있나 봐야한다./

 

3. 전처리(EDA) : 모델 돌리기는 중학생도 할 수 있다. 전문가는 전처리를 해야하고 날짜를 나눌거냐(월, 오전오후, 계절), 이걸 범주형으로 쓸거냐 이런 걸 결정할 줄 알아야한다 이거지 > 기업이 주는 데이터는 월 계절 이런거 절대 없다 근데 날짜는 있다 내가 이걸 받아서 가공을 해야하는데 어떻게 나눌까? 뭐가 좋을까? 이런 걸 생각할 줄 알아야한다(모든 것에는 이유가 있어야한다.)/


+ 한 번만 하는게 아니라 전처리하고 모델 돌려보고 다시 돌아와서 새로운 전처리하고 모델 돌려보고 해야한다/

4. 데이터 축소, 변수 변환
정확도가 중요한게 아니라 활용할수있는 모델을 만들 데이터를 만드는게 중요하다/ (박) 학습, 검증, 평가 데이터 셋을 활용하여 좋은 모델이 만들어졌음을 확인하면 세 데이터를 다시 모아서 최종 모델을 만드는게 좋다/

5. 목적에 맞는 분석 유형을 결정 -> 역시 목적을 먼저 파악하라고 하네(근데 신용카드 데이터가 목적이고 거기서 ㄹㅇ 목적을 찾는 건 가공아닐까? 목적잡고 전처리 다 했는데 결과 안좋아봐,,) -> 다시 생각해보니 목적을 먼저 파악하라는 내용은 아님 > 이미 전처리랑분석이 끝난 단계로 상관계수를 보고 타겟을 잡으라는 소리네/


6. 사용될 데이터 마이닝 기법들을 선택한다.(회귀분석, 인공신경망, 계층적 군집분석 등)
7.알고리즘을 적용하여 데이터마이닝 작업을 수행한다.

8. 정확도가 얼마나 잘 나왔다, 독립변수가 종속변수에 얼마나 영향을 줬다, 시각화로 스토리텔러도 해야한다/

 

9. 모형을 활용한다 : 데이터 분석은 모델을 만들고 끝이 아니고 실제 시스템에 활용하여 의사결정에 반영을 한다던가 지속적으로 결과물을 예측을 해야한다던가 사용하는 측면에서 많이 고려를 해야한다 -> 제일 힘든 부분(돈과 연관)/

등등등 인데 실습하면서 정리하고 중요한 건 실패를 노하우로 만드는게 진짜 중요하다/







- 데이터마이닝 사전 단계

2) 전체데이터로 하는 게 아니라 표본을 추출하여 작은 데이터로 빠르게 하는게 좋다/

3) 희소 사건의 과대 추출(희소 데이터일 경우!!!!!!!!!!!)
암인지 분류하는 모델에서 2명이 암이고 9998명이 정상이면 다 정상이라고 해서 2명 못고름 > 근데 이런 경우는 틀리더라도 암을 잡는 게 중요 > 그래서 정확도가 떨어지더라도 만명중 50명을 암이라고 하여 더 중요한 문제를 해결 -> 정확도가 문제가 아니고 모델의 활용이 중요한 거니 -> 가치가 있는 반응 고객들을 더 많이 찾아내기 위해서는 비반응 고객을 반응고객으로 분류해야한다 = 관심이 있는게 양성이라면 비양성을 양성이라고 오분류하는 경우가 많도록 만들어야한다/

4) 전처리 유형
① 변수의 유형에 따라서 전처리하는게 달라지나봐 + 

-> 정성데이터(범주형)
명목, 순위이 있고 (시간[계절 분기 오전오후] 공간[지역, 도시시골] 구분[직업, 취미]) 등이 포함된다/

정량(수치형)데이터
연속, 이산 값/ -> olap이란 dimension한 fact다 ex) 지역별 판매량 = 정성적 데이터별  정량적 값이다/

② 범주형 변수의 처리
1) 순위 정보를 가지고 있다면 의미 그대로 사용 vs 명목형인 경우에는 더미변수로 분할/

2) 매우 중요한 부분
-> 첫번째
차가 있고 이 차의 연료 유형이 나오면 gas, lpg, 가솔린을 그냥 넣으면 안된다 총 3개면 3-1개(숫자 2개 = m-1개)로 바꾸는게 좋다 g는 10 l은 01 가솔린은 00으로 바꿔줘야 정량적 변수랑 똑같이 짚어 넣을 수 있다 = gas를 연료g로 만든다 -> 뭉치는게 좋다/

-> 두번째
지역에 따라 연봉을 구해보자 > 20명이면 44444이 좋은데 지역을 5개로 놓으면 > 애를 3개로 나누면 카테고리에 들어가는 숫자가 많아지니 데이터가 많아지는 방향으로 항상 전처리를 해야한다 776이렇게 > 카테고리에 데이터를 많이 들어가게 해야하고 > 이 지역이 타겟 데이터에 영향을 줬는지 확인을 해야한다 > 정량은 결과에 영향이 적다 > 정성을 잘 다뤄야한다/ -> 타겟변수를 뭐로 잡느냐에 따라 변수에 대한 전처리가 달라진다 이거야/

-> 구름
구름 맑음이 좋냐/ 구름, 구름아님이 좋냐 -> 카테고리 변수를 두개, 3개, 4개로 할지를 구할 때 트리를 쓰기 좋다 = 정성적 독립변수가 있을때 구분을 몇개로 할지 좋을 지의 기준이 되는게 결정트리다(이거 weka로 해보기)

3) 변수 선정 -> 독립변수의 수는 적으면 적을 수록 좋다
선형회귀에서 선을 찾으려면 데이터가 많이 필요한데 속성이 많아지면 데이터가 훨씬 많이 필요하다 = 변수가 늘면 늘수록 데이터가 많이 필요하다 = 데이터가 경우의 수만큼 있어야한다 -> 근데 지역, 취미, 직업등 변수가 많은데 지역이 10구역이고 등등이면 데이터가 엄청 많이 필요하다/ + 데이터가 너무 없으면 오버피팅이 일어나니 변수를 줄이고 데이터는 늘려야한다는거야/

-> 이어지는 과적합 : 변수가 늘면 데이터가 많이 필요 > 없으면 과적합 > 변수를 줄이고 데이터를 늘려라/

6) 극단치
q3에서q1사이 값이 나오나는 제대로 설비들이 동작하고 있나를 나타내는 공사현장에서의 제조업의 센싱데이터에 박스 플랏이 엄청 쓰인다/ -> 처리법 : 1. 날리기/ 2. 최대값으로 변환해서 쓰라/

7) 결측치
처리법 : 
1. 결측데이터에 해당되는 타겟과 비슷한 값을 가진 애들을 모아서 평균으로 대체/ 
2. 시리얼 데이터면, 시간에 대한 데이터면 직전 시간의 데이터로 대체 -> 삭제보다는 대체가 좋다/

8) 정규화(표준화)
신경망에서는 꼭 써줘야한다 정규분포로 만드는건데 데이터를 균등하게 만들기 위한 거지(z센털드와 비교 완료)/
+ 단위 통일화 : 어떤 건 확률이라 소수점, 어떤 건 수입이라 천만원 단위 아 이것도 정규화로 통일화한다/




- 범주화 강화

좋아보이는 타겟이 보이면 범주형으로 만들어야한다 ex) 10.11을 수치형 타겟이라면 10이상 15이하로 범주를 잡아보는 것을 해보자 근데 그러면 분류문제 아님?? = 맞다 근데 데이터가 적을 경우이다 왜냐면 데이터가 적은데 범위가 없다면 뭐 아무것도 아닌거다 그래서 생각해보면 꼭 연속형 목표를 연속형으로 볼 필요가 없는거다 결과가 목표에 맞도록 만들면 연속형을 범주형으로 봐도 되는거다 + 근데 데이터가 많으면 변화가 확실하면 수치형 데이터로 보는게 더 좋다!!!!!!/

- 정성과 정량 강화

pg54 나이는 정량일까 정성일까? 정량이다 근데 나이를 30대 이하, 이후로 나누면? 정성이 된다 + opinion은 정성이라서 빈도수, 비율로 다뤄야하지 평균이 2.5로 3보다 낮으니 부정으로 보인다라고 보면 안된다 -> 수치형 계산이 의미가 있나로 정성과 정량을 나눈다 age는 평균으로 구하기 가능 = 정량으로 보기 가능 근데 청년 중년으로 나누면 정량으로 보기 힘들다/


 

 

2장 데이터 기초 분석 + ML 실습

※ 빅데이터로 취업하는게 아니고 도메인의 기업에 취업하고 거기서 그 도메인의 빅데이터를 다뤄라/

pg57 명목형 - 시간 공간 구분(직업, 사는 곳)/ 이제 dimension 별 fact를 만들어보자/

=> 데이터의 구분

1. 어떤게 정량인지, 정성인지 보고 dimension으로 쓰겠다
2. dimension 별로 fact를 생각하고
3. table 필드중에 관심있는 타겟을 정하고 y
4. y에 대한 히스토그램을 그린다 = 타겟변수가 균등분포가 되어있는지 아웃라이어는 업는지 고르게 값을 가지는지 점검이 필요
5. 어떤 놈이 y에 영향을 주고 있는지 분석(상관계수 분석으로도 하고 피봇으로 선별을 하기도 한다)

5-1. 이제 변환을 해야한다 카테고리 별로 값을 다 쓸까? 어떤 범위로 카테고리를 나눌까를 다 생각해야한다
6. 이런 변환을 다 하고 모델에 돌린다 -> 그래도 정확하게 안나옴
7. 다시 돌아와서 데이터를 늘릴까, x랑 y를 또 건들고 해야한다/

-> pg58 타겟변수가 어캐 생겼나 분석 4가지(타겟데이터의 분포가 저렇게 나온 상황이다)


1번 : 평균과 중앙치가 동일하게 분석될거다 -> 평균과 표준편차의 차이가 크지 않다/

2번 : 평균이 오른쪽으로 치우침 -> 이걸 평균으로 요약치를 해버리면 아무의미었는 그래프가 그려진다 그러니 이런경우 아웃라이어를 처리하고 해야하고, 천만원도 많으면 미디언으로 써야한다(연봉, 집값, 차값) 사람과 관련된 데이터는 이런 모양이 나오고 평균쓰면 안되고 중앙써야한다/

3번 : 대표치는 크게 두개쓴다 (평균, 중앙값) -> 평균을 쓰는 경우는 1번단하나이다, 3번도 미디언 써야한다/

4번 : 왼, 오 데이터를 나눠서 분석하는게 제일좋다/

+ 만약 내가 히스토그램을 안 그리고 해보면 어캐나올까?? 그냥 막 평균, 표준편차, 왜도, 첨도인 요약정보로 해버리니 쓸데없는 지표를 잡아버린거다 평균을 대표값으로 쓰면 안되는 데이터다 근데 평균을 다쓴다 그림 안그리고 ★ 결론 : 빅데이터 분석은 파이썬 코드가 하는게 아니다 해석을 충분히 하는게 빅데이터 분석이다./







- 피봇테이블 실습

olap이 dimension별 fact다라고 했는데 dimension이 시간, 공간, 구분이다 -> dimension의 특정 요소가 slice이고 특성의 조합이 dice이다./

=> 사용하는 이유

EDA를 이거로 하면 설명력이 생기고, 보고서 형식 가능, 거기다가 스토리 텔링에 상관관계분석까지 WOW 미쳤다 -> 피봇 테이블을 다루는게 데이터를 이해하는 거라서 EDA이다 + 나는 지금까지 파이썬만 EDA인 줄 알았는데 쓰기 쉽게 엑셀로 EDA하고 파이썬으로 전처리를 하면 훨씬 쉬울 거 같고 + 나중에 파이썬 피봇테이블을 익히는데도 도움이 됨 + 표는 설명하기에도 좋고 이해하기에도 좋아서 도움이 정말 정말 많이 됨!!!!!/

=> 이거로 상관계수 구해보자

주제 : 여성 배우들이 남성 배우보다 연봉을 적게 받는 다는 주장이 타당한지 아닌지 분석/

1) 여자 배우들의 salary의 합은 109다 남자는 455다 총합계는 564이다 > 전체 평균값은 8.5, 남자는 9.5억이다 > 성별이 수입에 영향을 미친다는 걸 알 수 있다/


※ 사용법 : 기준을 잡을 것을 행에 넣고 보고 싶은 값을 값과 열에 넣어라 ex) gross에 따라 남녀의 급여 평균을 확인해보자 = 성별에 따라서 임금의 평균을 보고 싶다고 했다 > 성별을 열에 셀러리를 값에 > 당연히 임금의 평균이니 값에 임금을 넣는거 ㅇㅋ -> 그러면 제일 큰 기준을 열 다음을 행 보고 싶은 값을 값에 넣는 거 같다 -> 여기서는 성별에 따른 걸 볼거니 아마 성별이 열에 제일 많이 있겠네/

2) 히스토그램 하나를 봤는데 성별에 따른 차이를 알 수 있다 이렇게 해야지 평균 표준 편차 쓰면 절대 안 된다. > dimension을 행과 열에 넣고 가운데에 fact에 대한 summary를 넣어야지/

★ 결론 : 피봇으로 통계적으로 인사이트를 얻고 전처리에 활용하라/


=> 기다리고 고대하던 상관계수 따지기

값 요약 기준을 개수로 하고 열합계 비율로 보면 조건부 확률이다, 얘네 값들이 다 비슷하면 조건부 확률의 독립으로 타겟변수 고칠 때 도메스틱 그로스 넣지마가 된다 = 상관관계 확인가능(이 데이터는 다르니깐 넣어도 되겠네) > 종속변수 salary를 값에 넣고 성별별 salary에 성별을 열에 넣고 나머지 독립변수 중 하나인 gross를 행에 넣었을 때 열 합계 비율이 비슷하면 그 독립변수를 feature에서 제외하라!!
>
여러분 = 피봇 테이블 배운 사람 = 도메스틱 그로스 빼겠지, 빅데이터의 그 누군가 어제까지의 나는 열 다 때려박는다./

- 과제

실제 하천 데이터로 피봇 분석해보자+R스튜디오 깔기/ 컴퓨터 잘하려면 이것 저것 툴을 다 같이 조합해서 써보고 포멧하고 노트북을 내 지식의 소모품으로 보자/

정성

stcode, year+Month(정량으로 보기 가능), 측정회차, high, mid, low, 조사기관명, 검사년월일, 채수년월일

정량

채수시각, height, amount, temp, hy, ox, bod, cod, sus, 전기, 그 외 다

 

(질문1)행에 변수 넣고 그룹 크게 잡고 > 열로 올리고 > 또 행에 넣을거 그룹 크게 잡고 나온 데이터 더블 클릭하면 비어있는게 없는 데이터이다/

질문 2 

- 유량을 기준으로 수온에 따른 유량의 개수를 파악하고자 (행 > 유량)/ (열 > 수온)/ (값 > 유량)으로 지정
- 유량 데이터의 개수가 각 그룹별로 10개 이상 들어있도록 그룹 단위 150
-> 교수님 피드백 : 구간이 너무 차이나면 좋지 않고 5개 이상은 되어야한다/ + 한 구간마다 10개 이상씩 되도록 해야한다 + 마지막에 큰 값에 엄청 많은 데이터가 있을테니 잘 조정을 해서 고르게 분포하도록 해야한다 = 구간 크기를 적절하게 잘 잡아야한다
☆ 결론 : 고르게 분포하게 만드는게 중요 -> 이렇게 분석을 하고 분석한 대로 전처리를 하면 df에서도 변화가 되어있을 것이다/

질문 3

- 질문의 이해 : dimension별 fact에 적용하여 정량적, 정성적 척도 별 다른 필드값에 따른 BOD 값 간의 상관관계가 높은 것 2가지 이상 제시( 나 이거 잘 못 잡은 거 같음 정량적 정성적 척도 별의 척도를 열에 넣고 다른 필드 값을 행에 넣는게 맞는 듯)

-> 정리 

1. 평균을 봐라, 2. 행과 열에 구간을 잡아서 구분을 지어라, 3. 종속변수를 예측하는데 독립변수를 적게 쓰는게 제일 좋다/

- 해설

- 1. 정성/량 데이터 분류
-> 정성 : stName, stcode, Month(정량으로 보기 가능), 측정회차, high, mid, low, 조사기관명, 검사년월일
-> 정량 : 채수시각, height, amount, temp, hy, ox, bod, cod, sus, 전기, 그 외

- 2. 정성별

stName 
stcode : 얘네 둘은 좀 아니지,,,
month : 단위 0.3/ 끝 2.5/ 열 합계 비율 flat/ 평균 3456월에 산소 요구량이 높더라 -> 구분 가능/
측정회차 : 단위 0.3/ 끝 2.5/ 열 합계 비율 flat/ 평균 flat/
high : 단위 0.3/ 끝 2.5/ 열 합계 비율 들쑥날쑥/ 평균 낙동강 한강 정도 볼만하네/
mid : /열 합계 비율 들쑬날쑥/ 평균 볼만해
low : 데이터가 10개 이상은 있어야하는데 이하인게 있어서 안됨/
조사기관명 : 볼만해
검사년월일 : 날짜 같은 경우에는 4계절, 월, 상/하반기로 나눠 보는 습관/
채수년월일 : 
-> 결론 : 어느 강이냐에 따라서 산소요구량이 다르더라/ 어느 기관이 조사했느냐도 값이 달라/ 

- 3. 정량별

할 필요없다 왜?? 상관계수가 알려주니깐 + 통계적 상관분석 있으니깐/

=> 알게된 점

정성은 상관계수로 하고, 정량을 피봇으로 한다/ 

 

> 피봇에서 열합계 비율 : 독립변수가 변함에 따라 종속변수의 개수 비교로 수치가 flat하면 상관이 없다, 들쑥날쑥이면 상관이 있다/

 

+ 연속형 변수도 구간에 따라 개수를 맞춰줘야 학습에 좋다 정규분포 그래프를 직사각형으로 만드는 작업이다/

 

※ 데이터 centered가 정규화였네(정규화에 단위 통일화도 있다) > zcentered는 뉴런에서 보는 거고 + 왜도와 첨도가 안 좋을 경우 하는 거 로그, 검색해서 함수 찾기/

-> 열 합계 비율별로 퍼센트가 다르면 상관관계가 높은 이유 : 개수를 값 요약 기준으로 두었기 때문에 column 값에 따른 빈도수로 생각 할 수 있다.

 

> 종속변수를 값에 넣고 남자와 여자별 임금일 때 성별을 행에 넣고 상관계수를 확인하고 싶은 변수를 열에 넣으면 그 행 별 열에 따른 값의 개수가 나오니 퍼센트가 높으면 많이 나온거고 낮으면 적게 나온거라 분포의 구분이 확실하고 모델 학습에 구분이 잘 될 것이다/

-> 피드백 : BOD를 행, 값에 넣고 BOD의 구간을 2번까지 한 것처럼 구간마다 적당한 개수를 넣고 평균을 보는 것이다 -> 타겟을 값과 행에 넣고 하라고 하시네,,/ ★ 그럼 내가 잘 못 한거다 : 이렇게 넣고 엑셀의 피드백을 보면 일단 두개의 변수를 비교하기 쉽고, 이때 평균을 보면 그래프가 상반기와 하반기의 차이가 뚜렸하다

 

(질문 : 근데 이러면 열 합계 평균은 안나오는데??) -> 그러면 새로운 열을 만들고 거기에 BOD가 어떠어떠하면 상반기, 저떠저떠하면 하반기로 라벨링하여 데이터를 넣을 수 있다 = 이것도 정량데이터를 범위를 잡는 좋은 방법이다/

 

 

- 워카 실습 영상

 

- 워카 실습

그래프를 봤는데 왼쪽으로 치우쳤자나 이 모양이면 망한 거다 > 전처리를 다 하고 워카로 가져와야한다 > normalize도 있고 (뉴메릭 투-> 노미널)도 있는데 이건 수치형을-> 명목형을 바꿔주는 놈이다 > 강가에 있냐 없냐로 0과1이 사실은 범주형이기 때문에 하는 처리다 > chas를 보면 뉴메릭으로 됨 > attributeselection 보면 우린 피봇 등으로 전처리를 다 했어야했다

 

> 그리고 영향을 미칠 변수를 선택하는 것으로 보면된다 > 결론 : 코드 넣고 돌리면 다 나온다,, 워카도 인공지능 시간에 배운 것처럼 그냥 모델 돌리는 거다 근데 전처리를 다 해가지고 와야한다 이거지 R, 파이썬도 다 이런 거다/

해석 : chas가 강 옆에라는 것으로 1이면 집 옆에 한강이 있는 거니 값이 올라갈 거다를 아는 거야 오 신기하네 

- 워카 순서

데이터 로딩 > 필요없는 데이터 삭제 > fittering 잘해야함(바꾸고 싶은 애의 인덱스 넘버를 줘야함) -> 꼭 bar 색깔이 흰색에서 다른 색으로 변해야하다(그래야 가능한 모델도 더 많아진다) > classify에서 모델 선택 -> 하이퍼파라미터 조정 > 데이터셋 split -> 교차검증도 되고 아에 split도 된다 > more option에서 plaintext > start 결과보기

1. 상관계수 coefficient : 이 모델이 주어진 데이터를 얼마나 잘 설명하는지, 높아야 좋은 거네 = 정확도라고 보면 됨
2. 회귀면 mae/ 분류면 혼돈행렬

 

Comments