SDS Brightics/Projects

[Samsung SDS Brightics]Brightics Studio로 데이터 분석하기 #2 공개 데이터 수집 + 분석

y•ᴗ•n_seo 2021. 6. 22. 16:34

 

 

 

안녕하세요!

이전 포스팅에서 이야기 드린 대로,

공개 데이터셋을 수집하고 분석하는 프로젝트 포스팅을 위해 다시 돌아왔답니다 :)

 

브라이틱스 스튜디오를 이용한

데이터 모델링 방법이나, 함수 사용 방법을 잘 모르겠다면,

 

https://yslog99.tistory.com/entry/Samsung-SDS-BrighticsBrightics-Studio%EB%A1%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D%ED%95%98%EA%B8%B0-1-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%AA%A8%EB%8D%B8%EB%A7%81

 

[Samsung SDS Brightics]Brightics Studio로 데이터 분석하기 #1 데이터 모델링

​ 안녕하세요! 슬슬 방학시즌이 돌아오고 있는데, 다들 계획은 알차게 세우고 계신가요...?! ​ 저는 공부 계획도, 놀러갈 계획도 착실히 세우는 중인데, 실현 가능할지는,,, 조금 두고 봐야 알듯

yslog99.tistory.com

 

요기를 참고하세욧!

⁽⁽◝( ˙ ꒳ ˙ )◜⁾⁾

 

그럼 이제 본격적으로 프로젝트를 진행해 보겠습니다@!

 

01. 분석 주제 및 목표 정하기

 

데이터 분석의 첫 단계는

" 분석 주제 및 목표 정하기" 입니다!

 

데이터 분석을 통해 얻고 싶은 정보가 무엇이냐에 따라서

준비해야하는 데이터의 양이나 종류, 수집 시기 등이 달라지겠지요?!

 

제가 원하는 정보를 만들기 위해 거기에 딱 맞는 데이터를 만들어 낼 수 있으면 참 좋겠지만,,,

머신러닝이나 딥러닝은 기본적으로 많은 양의 데이터를 요구하기 때문에

이번 프로젝트에서는 공개 데이터셋을 이용해 분석을 진행 해 볼게요!

( ᐛ )و

 

공개 데이터란?!

 

데이터 분석을 하려면, 제일 먼저, 분석 할 데이터가 필요하답니다!

그런 데.이.터 를 얻기 위한 방법은 여러가지가 있겠죠?!

 

직접 수집을 하실 수도 있고,

이미 모아져 있는 데이터를 다운 받으실 수 도 있습니다!

 

공개 데이터셋은 이미 모아져 있는 데이터 중에서,

"누구나 데이터베이스를 복사, 배포 및 표시 할 수 있다" 

조건을 가진 데이터를 의미해요 :)

 

 

라이센스 규정

 

데이터와 함께 표기된 [데이터 허락 조건] 이나, [라이센스] 규정 확인을 통해

이용할 수 있는 데이터인지, 이용할 수 없는 데이터인지

구분이 가능하답니다!

 

공개된 데이터가 아니라면 아무리 비영리 목적이라고 해도 마음대로 사용하실 수 없으니,

라이센스 항목은 분석을 진행하기 전에 꼭꼭 확인하셔야합니다!

 

 

02. 공개 데이터셋 수집하기

 

분석 목표를 정했다면, 그에 맞는 데이터셋을 구비해야겠죠~?!

 

분석 목표를 설정하는게 어려우시다면,

또는 분석 목표에 맞는 데이터셋을 찾기 힘드시다면,

 

지금의 우리는 공개된 데이터셋을 다운받아 이용할 것이기 때문에

데이터를 먼저 다운 받고 이에 맞는 분석을 진행하는 것도 하나의 방법이 될 수 있어요!

 

데이터 분석 분야에서는

목적에 맞는 정보를 수집하고 처리하는 것도 중요하지만,

모아진 데이터에서 유의미한 정보를 추출해내는 역량 역시도 아주 아주 중요하거든요!

 

관심이 가는 주제에 대한 공개 데이터셋을 확보하고

그것에서 어떤 중요한 정보를 분석 해 낼 수 있을지 고민하는 과정을 통해

훌륭한 데이터 분석가로 한발자국 더 나아갈 수 있다고 생각해요 :)

 

그러니까, 너무 어렵게 생각하지 마시구~~

같이 한발짝 한발짝 나아가 보자구요~!~!

💭(。•̀ᴗ-)✧

 

 

자아ㅏ 그러면 제가 가져온 데이터셋을 함께 살펴볼까요?!

위에서 라이센스 규정은 확인을 하였으니

데이터를 한번 살펴봅시다~!

데이터 파일 예시 1)
파일 이름 : mask-use-by-county
COUNTYFP,NEVER,RARELY,SOMETIMES,FREQUENTLY,ALWAYS
01001,0.053,0.074,0.134,0.295,0.444
01003,0.083,0.059,0.098,0.323,0.436
01005,0.067,0.121,0.12,0.201,0.491

데이터 파일 예시 2 )
파일 이름 : Provisional_COVID-19_Death_Counts_in_the_United_States_by_County
FIPSCountyCode, DeathsCOVID19
2013,
2020,204
2050,27

COUNTYFP: 카운티 FIPS 코드
"다른 사람과 6 피트 이내에있을 때 공공 장소에서 얼마나 자주 마스크를 착용합니까?"라는 질문에 대해
NEVER: 해당 카운티에서 절대로 쓰지 않는다 라고 답할 예상 비율
RARELY: 해당 카운티에서 드물게 라고 답할 예상 비율
SOMETIMES: 해당 카운티에서 때때로 라고 답할 예상 비율
FREQUENTLY: 해당 카운티에서 자주 라고 답할 예상 비율
ALWAYS: 해당 카운티에서 항상 이라고 답할 예상 비율

FIPSCountyCode : 카운티 FIPS 코드
DeathsCOVID19 : 카운티 내 COVID19로 인한 사망자 수

 

저는 요런 데이터셋을 활용해서

미국의 각 카운티 별 마스크 착용 빈도를 바탕으로

코로나 확진 추이를 예측해보도록 하겠습니다!

 

 

03. 데이터 분석하기

 

머신러닝을 통한 데이터 분석의 종류는 크게

군집, 추천, 회기, 분류

요러케 네가지가 존재하죠!

 

이 내용은 이전 포스팅에서 자세하게 다루어 놓았답니다 :)

 

https://yslog99.tistory.com/entry/Samsung-SDS-Brightics-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%82%AC%EC%9D%B4%EC%96%B8%ED%8B%B0%EC%8A%A4%ED%8A%B8-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D-%EA%B7%B8%EA%B2%8C-%EB%AD%94%EB%8D%B0-01-%EA%B8%B0%EC%B4%88-%EA%B0%9C%EB%85%90%ED%8E%B8

 

[Samsung SDS Brightics] 데이터 사이언티스트? 데이터 분석? 그게 뭔데!? #01. 기초 개념편

안뇽하세요! 제가 열.심.히 데이터 분석 프로젝트를 업로딩 하고 있는데, 다들 잘 따라오고 계신가요!? ​ 부디 제가 잘 하고 있는거였으면 좋겠구먼요... ​ 오늘은 데이터 사이언티스트 라던가

yslog99.tistory.com

 

 

이번에는 마스크 사용 빈도 수치를 통해 코로나 확진 추이를 예측하는 프로젝트니까,

회기(regression) 모델을 사용해야겠죠?!?!

 

먼저, 브라이틱스 스튜디오를 실행 해 봅시다@!

브라이틱스 아이콘을 클릭하고

머신러닝 버전으로 실행 해줍시다!

지난번에 만든 모델이 있네요 ㅎㅎ

새로운 모델을 제작해야하니까,

New 버튼을 클릭해 모델 이름을 설정하고,

빈 프로젝트를 생성해 봅시다!

그리고,,,

짠! 이렇게 새로운 모델이 생성되었답니다ㅎㅎ

원래라면 하나하나 차근차근 모델을 만들어 나갔을텐데,,,

정말 많은 시행착오를 거치며 썼다 지웠다를 반복하는 바람에,,,

중간과정이,, 사라졌습니다,,

대신 차근차근 함수별로 설명해 드릴테니까

걱정하지 마세요!

03- 1. 데이터 불러오기

첫 번째로, 빈 공간을 아무데나 더블 클릭해서

Read CSV 함수를 생성 해 봅시다~!

제가 가진 데이터가 .csv 형태라서

Load 함수가 아닌, Read CSV 함수를 이용했답니다!

mask-use-by-county.csv

마스크 사용 빈도 파일이 있는 파일 경로를 Path 칸에 입력하고,

Run 을 클릭하시면 데이터가 로드 됩니다!

Provisional_COVID-19_Death_Counts_in_the_United_States_by_County.csv

 

COVID19 사망자 수 파일 역시 같은 방법으로

새로운 Read CSV 함수를 생성하고,

COVID 사망자 수 파일이 있는 파일 경로를 Path 칸에 입력한 후

Run 을 클릭하시면 데이터가 로드됩니다!

03- 2. 데이터 병합하기

각각의 데이터의 로드가 완료 되었다면,

마스크 사용 빈도 파일COVID19 사망자 수 파일을 합쳐주어야겠죠!?

여기에는 Join 함수를 이용합니다!

이렇게 Join Type 선택 칸을 통해 결합 유형을 선택하고

Left Keys 와 Right Keys 칸에 병합할 때 참조할 열을 선택 해 주시면 됩니다!

저는 위와같이 설정하여

A 와 B 테이블의 교집합하고,

카운티의 FIPS 코드를 참조하는 병합을 진행하였습니다!

03- 3. null 값을 갖는 열 삭제하기

여기서 잠깐!!

DeathsCOVID19 변수에 null 이라고 표시된 것이 보이시죠?!

이건 데이터 값이 존재하지 않는다는 것인데요,,

이대로 다른 함수들를 실행시켜보면

이렇게! 다 잘 진행 되다가 !!

Linear Regression 함수에서 null 값으로 인한 오류가 생성됩니다.

따라서

Delete Missing Data 함수를 통해 null 값을 갖는 열을 없애주는 작업이 필요합니다!

이렇게 Input Cloumn 칸에

DeathsCOVID19 를 선택해서 null 값을 삭제해 줍니다.

03- 4. 필요한 열만 골라내기

이제는 분석에 필요한 데이터만 골라내서 분석을 진행해야겠죠~?!

Select Cloumn 함수를 이용하면

로드된 데이터들 중에서 필요한 열만을 골라올 수 있습니다!

저는 COVID19로 인한 사망자 수와,

마스크를 "절대" 사용하지 않는다고 이야기한 비율의 상관관계를 살펴보기 위해

위와 같이 두 열을 추출하였습니다.

주황색 박스가 쳐진 부분을 클릭하면

다양한 종류의 그래프를 선택할 수 있고,

각 그래프에 대해 변수를 직접 설정해가며 그려볼 수 있습니다!

03- 5. train / test data 분할하기

이제 거의 다와갑니다!

선형 회기를 위해선 Train data 와 Test data 로의 분할이 필요한데요,

함수에서 추천하고 있는대로 7:3 으로 분할하도록 하겠습니다!

03- 6. 선형 회기 분석하기

데이터 분할까지 완료되었다면 Linear Regression 함수를 통해

선형 회기 분석이 가능합니다!

위와같이 X(설명변수)에 해당하는 마스크 착용 빈도수(Never)를 Feature Columns에,

Y(반응변수)에 해당하는 사망자 수(DeathsCOVID19)를 Label Column에 넣어줍니다!

그러면 오른쪽에 분석 결과가 나온답니다@!

04. 데이터 분석 결과

자 이제 대망의 결과 분석입니다@!

* R-squared

R-squared 값이 0.028로 나왔네요@!

이는 이 모델에서 X가 Y를 2.8% 만큼 설명해줄 수 있다는 것을 의미합니다.

2.8% 면 아주 낮은 수준이기 때문에

이 분석 결과에 따르면

마스크를 착용하는 빈도와

코로나로 인해 사망하는 사람의 수는

거의 관련이 없다고 생각할 수 있겠네요..

아, 참 R-squared 값은 참고로,

선택한 모델이 좋은지 나쁜지 여부나.

데이터와 예측이 편향되어 있는지 여부를 알려주지 않기 때문에

값이 작다고 나쁜 모델이거나,

값이 크다고 좋은 모델이라고 이야기할 수는 없답니다 :)

* Prob(F-statistic) P-value

위 표의 Prob(F-statistic) 을 보시면,

F 통계량에 대한 P값이 0.05보다 작기 때문에,

유의하다는 것을 알 수 있습니다.

* Never 회귀계수에 대한P-value

P > |t| 칸을 보시면 Never 회귀계수에 대한 p-value가 0.05보다 작으므로

5%유의수준에서 회귀계수가 유의하다는 것을 확인하실 수 있습니다!

*회귀식 도출

coef(회귀계수 추정치)를 통해서는 회기식을 만들 수 있는데요,

위 표에 따르면

(COVID19 로 인한 사망자 수) = 471.47 - 2716.07 * (NEVER을 택한 비율)

요런 식을 도출할 수 있겠습니다!


오늘의 분석은 여기까지 입니다 :)

다음번에는 또 다른 분석으로 찾아올게욥

다사다난했던 이번주,

앙뇽!

∠( ᐛ 」∠)_


* 해당 게시글은 Brightics 서포터즈 활동의 일환으로 작성되었습니다.

게시글 관련 문의 및 소통을 원하신다면 댓글을 남겨주세요 :)

브라이틱스 사용 중 문의사항은 brightics@samsung.com 으로 연락주세요!

#삼성SDSBrightics #BrighticsStudio #브라이틱스 #모델링 #코딩없이분석하기#데이터분석 #빅데이터 #데이터사이언티스트 #데이터분석툴 #데이터분석플랫폼 #데이터분석툴체험하기 #분석모델제작하기 #무료데이터분석툴 #오픈소스 #삼성SDS #삼성SDS서포터즈 #Brightics서포터즈 #Brightics서포터즈2기 #공개데이터 #데이터셋 #공개데이터셋수집 #공개데이터셋분석하기 #데이터사이언티스트 #DS #데이터컨설팅 #데이터컨설턴트