Giter Site home page Giter Site logo

ine5015_bigdata_analytics's People

Contributors

cat2lang avatar choijunhee avatar hwangtr avatar kang961105 avatar zhanghuiyan99 avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

zhanghuiyan99

ine5015_bigdata_analytics's Issues

결측치 계산 관련 문제...

=============== REFINE 3 ==============
F0 F1 ... F587 F589
count 1561.000000 1560.000000 ... 1566.000000 1566.000000
mean 3014.452896 2495.850231 ... 0.016475 99.670066
std 73.621787 80.407705 ... 0.008808 93.891919
min 2743.240000 2158.750000 ... 0.003200 0.000000
25% 2966.260000 2452.247500 ... 0.010600 44.368600
50% 3011.490000 2499.405000 ... 0.014800 71.900500
75% 3056.650000 2538.822500 ... 0.020300 114.749700
max 3356.350000 2846.440000 ... 0.079900 737.304800

[8 rows x 250 columns]

이 데이터에서 결측치 비율을 계산하여 3개의 세트를 만들고 싶은데
측정을 잘못한 것인지... transpose도 해보고 별별 부분을 다 건드려 봤는데
계속 0으로만 뜨네요

191d292

위 커밋 페이지에서 댓글로 피드백 주시면 감사하겠습니다.

데이터 전처리 아이디어

https://github.com/ChoiJunhee/INE5015_bigdata_analytics/blob/main/python/0526_files/rf3_c30_exc30_m30_main.csv


There is data that looks like 10 decimal places at the bottom.

Personally, this data seems to be a factor that will delay the operation in all steps of preprocessing.

Other data have an average of 4 decimal places. Is it okay to round like 4 or 5-6 digits?

I am curious about your opinion.


맨 하단에 보시면, 소수점 자리 10개정도 되어 보이는 데이터가 있습니다.

개인적으로 이러한 데이터들이 전처리의 모든 과정에서 연산을 지연시킬 요인으로 보입니다.

다른 데이터들은 평균 4자리의 소수점을 가지고 있는데, 4자리 혹은 5~6자리와 같이 round 처리 해도 괜찮을까요?

여러분의 의견이 궁금합니다.

@HwangTr @ChoiJunhee @zhanghuiyan99 @kang961105

마지막 발표 정리, 향후 계획 토의 요청

1조 ~ 7조의 발표를 다시 시청하고, 각 조의 진행 방법, 장/단점 및 교수님의 피드백을 정리하여

이 코멘트에다 남겨주시면, 그에 대해 서로 토의하는 시간을 가졌으면 합니다.

(데이터 전처리 과정에서의 선택한 알고리즘, 그에 따른 결과값, 시각화 데이터를 모두 고려해 맡은 조의 점수를 10점 만점으로 평가해 주시면, 조장님이 메일 발송 하는 것으로 했으면 좋겠습니다.)
카카오톡으로 투표 공지했습니다. 모두 확인해주세요.

토의의 주 내용은 다음 3가지 입니다.

  1. 이번 발표로 인해 우리가 부족한 부분은 무엇이고, 어떻게 진행해야 하는지.
  2. 각 조의 장단점을 보며 우리가 벤치마킹할 수 있는 부분은 있는지.
  3. 협업에 있어 부족한 부분이나 미숙했던 부분을 개선. 시험 일정과 같은 일정을 공유하는 등등..

기한 : 2021-06-03 (목) 오후 6:00

@ChoiJunhee 4조, 5조
@HwangTr 1조 7조
@kang961105 3조


English

watch the presentations of group 6, 7 again, and summarize each group's progress method, advantages, disadvantages, and professor's feedback.

you must leave it in this comment. we can take the time to discuss it with each other.

and... please evaluate the algorithm in the pre-processing process, results and visualization data, improvement contests, etc....

the main contents of the discussion is the following three.

1. what are the shortcomings of this announcement and how should we preoceed?

2. looking at the pros and cons of each group, is there anything we can benchmarking?

3. Is there a better way to collaborate, and I would like you to share your own test schedule.

DEADLINE : 2021-06-03 (THU) 18:00

@zhanghuiyan99 2조, 6조


7b2d0f1 커밋 내용도 한번 읽어주시면 감사하겠습니다.


프로젝트 README.md 파일을 관리하는 내용 관련....

프로젝트 진행 상황을 효과적으로 공유하고 이해 하기 위한 방법 중 하나로,

방금 Documents, Ipnyb, Python 폴더에 대해 Readme.md 파일을 수정하였습니다.

앞으로 커밋할 때 변경점을 조금이라도 적어 주시길 바랍니다.

각 하위 폴더에 대한 README.md 파일도 곧 수정할 예정입니다.

직접 관리하고 싶은 폴더가 있으시면 코멘트 남겨 주시길 바랍니다.
예) 내가 만든 작업물 혹은 작업에 대한 내용 전체 등등등...


As one of the ways to effectively share and understand the progress of the project,

I just modified the Readme.md file for the Documents, Ipnyb, and Python folders.

Please write down any changes when committing in the future.

The README.md file for each subfolder will be updated soon.

If you have a folder you want to manage yourself, please leave a comment.
Ex) My work or the entire contents of my work, etc...

#7 데이터 전처리 과정에서의 시각화 데이터 요청

완성본은 아니지만, python 파일을 실행해 보시면

각 정제 단계에 맞추어 데이터 프레임이 나옵니다.
(데이터 프레임을 엑셀처럼 만들라는 것이 아닙니다.)

정제 과정에 있어서의 변화를 효과적으로 전달하기 위한 시각화 데이터를 요청합니다.

데이터 전처리 과정 _ 메인 이슈

데이터 전처리 과정은 #5 이슈에서 아래와 같이 크게 3가지로 나누었습니다.

이번 이슈에서는 assignees 분들이 해주셔야 하는 일을 간략하게 적어 보았습니다.
(하나의 예시 라고 생각하시고, Reference를 참고하여 자유롭게 데이터를 가공해 주세요.

빅데이터 분석기사 Reference
EDA에 대한 Reference


데이터 전처리 (due : 2021/05/23)

요청에 따라 기한을 연장했습니다... 한번 더.....


1. 데이터 분석

  • Raw-data 에 해당하는 SECOM 파일을 그래프나, 통계적 수치를 통해 직관적인 이해
  • 직접적인 데이터 확인을 통해 Feature의 개별적인 속성을 확인합니다.
  • 여기서 데이터 시각화 과정은 매우 중요합니다. Feature의 특성, 상관관계, 패턴 등을 명확히 알 수 있어야 합니다.
  • 데이터에 대한 전반적인 이해가 되었고, 목표를 이루었다 판단되면 2단계를 진행합니다.

-Intuitive understanding of SECOM files corresponding to raw-data through graphs or statistical figures
-Understand the individual properties of the feature
-The data visualization process is very important here. Characteristics, correlations, patterns, etc. must be clearly visible.
-If you have a general understanding of the data and you are determined to have achieved your goal, proceed to step 2.


2. 데이터 가공

  • 개별적인 데이터 관찰도 중요하지만, 시간상 여유가 없어 적절한 요약 통계 지표를 만들어 봅니다. (이 때도 데이터 시각화 과정을 거친다면, 더 직관적인 이해가 되겠죠?)
  • 결측치와 이상치를 정의해야 합니다. 현재 올라온 모델링 구조에서는 결측치와 이상치를 정의하고, 보정하는 과정에서 주관이 과다 포함되어, 근거가 부족한 상황입니다. 이를 참고하여 우리가 얻어야 하는 데이터 셋이 무엇인지, 어떻게 데이터를 가공할 것인지를 생각하고 구현하시길 바랍니다.

_-Observation of individual data is also important, but there is not enough time to make an appropriate summary statistical index. (If you go through the data visualization process at this time, it will make a more intuitive understanding, right?)

-Missing and outliers must be defined. In the currently uploaded modeling structure, there is insufficient evidence because subjectivity is excessive in the process of defining and correcting missing values and outliers.

Please refer to this to think and implement what data set we need to obtain and how to process the data._


3. 데이터 보정

  • 위 과정에서 결측치, 이상치 등 없애도 되는 Feature는 없애고, 필요한 Feature는 여러가지 방법 (oversampling 등등)을 통해 데이터 셋을 완성 시킵니다.

  • 해당 과정에서는 통계적 기법, 트리 기반 기법, 최적화 기법, GAN 기법 등을 사용하면 됩니다.

-In the above process, features that can be eliminated such as missing values and outliers are removed, and necessary features are completed through various methods (oversampling, etc.) to complete the data set.

-In this course, you can use statistical techniques, tree-based techniques, optimization techniques, and GAN techniques.


@ChoiJunhee @zhanghuiyan99 @kang961105
위 3명은 각각 제한 기간 안에 데이터 전처리 과정을 레포트로 남겨주시거나, 주피터 노트북 파일, 파이썬 파일 등으로 서로 확인할 수 있도록 자료를 업로드 해주시길 바랍니다.
데이터 시각화 파일 (대강 테스트용 말고...) 요청은 새 issue를 만들어 assignees에 @HwangTr 을 추가하여 요청할 수 있습니다.

Please upload the data so that you can check the data preprocessing process in a report file, Jupiter notebook file, Python file, etc. within the limited period.

Requests for data visualization files (not roughly for testing...) can be requested by creating a new issue and adding @HwangTr to assignees.

@HwangTr
데이터 분석과 데이터 가공 과정에서 중요한 부분을 시각화 하여 자료를 만들어 주시길 바랍니다. 전처리 과정 중에 요청 할 것같은 부분을 예상해 미리 자료를 준비해 주셔도 좋고, 분석과 가공, 보정처리 도중에 올라오는 issue 를 통해 자료를 제공하셔도 좋습니다.


궁금한 사항이 있으면 언제든 댓글을 남겨주시길 바랍니다.

개인적으로는 데이터 전처리 파일을 .py 으로 업로드 해주셨으면 좋겠습니다.
수시로 commit 을 해두다 보면 서로 서로 얻어 가는 것들이 많겠죠?

버전 업데이트 일정


ver 0.2


  1. 지금 까지 나온 총 8단계의 데이터 전처리 + 시각화 자동으로 할 수 있도록 구현 중입니다.
    (특히 아웃라이어 - 스케일링 이 과정을 데이터 클리닝으로 이름 변경, 표준화 등을 이용하여 스케일링과 이상치 제거를 동시에 시도할 계획입니다.)

  2. 시각화 데이터의 그래프 종류는 단계별로 중요한 피쳐들을 찾을 수 있도록 설정 중입니다.

예상 업데이트 시기 (06/05~06/07)




ver 0.3 업데이트 (최종 발표용)


  1. 알고리즘을 전반적으로 살펴보며 더 높은 accuracy와 recall을 지향 하겠습니다.

  2. 최종 보고서 제출용 파일과 보고서 초안 포함, 파이썬 폴더에 업로드 하겠습니다.

예상 업데이트 시기 (06/11~06/13)




#19 - 종강 이후 성능 향상 업데이트 예정


[3주차] 일정 공유_수정3

3주차

06.14 월요일 :
(@zhanghuiyan99) IoT 이해와 활용 시험
(@zhanghuiyan99) 화요일 시험 대비
(@ChoiJunhee ) 화요일 시험 대비

06.15 화요일 :
(@zhanghuiyan99 ) 이산수학 기말고사
(@ChoiJunhee ) 멀티미디어 정보처리 기말고사 (14:00~15:30 ?? 16:00 ~ 17:30)

06.15 화요일 : [ 프로젝트 최종 발표 ]

06.16 수요일 : 빅데이터 애널리틱스 종강

최종 보고서 / 최종 발표 자료 구성에 대해 토의해 봅시다.

[토의] 모델링 작업 분배 및 진행 계획

[데이터 처리]

< 데이터 전처리 >

  1. 데이터 분석
  2. 데이터 가공
  3. 데이터 보정

[시각화 과정]

< 데이터 시각화 >
전처리가 이루어진 데이터들을 직관적으로 알 수 있도록
데이터와 그 과정, 관계 등을 시각화 해야 합니다.

[ 모델링 과정 ]

< 모델 개발 >
다양한 관점을 갖되, 검증된 이론을 토대로
여러가지 모델을 시도, 개발

< 모델 튜닝 >
모델 개발의 연장선

< 모델 검증 >
여러 테스트셋을 통해 모델의 성능을 향상

총 3가지의 과정으로 나누어 보았습니다.

우선 데이터 전처리에서는 수업중에 배웠던 내용, 기존에 사용한 전처리 방법 등을 활용합니다.

모델링 과정에서는 '다양한 시도'를 하여 가장 성능이 좋은 모델을 구현하면 됩니다.

데이터 시각화 과정에서는 위에 나와있듯 개발 과정에 있어 필요한 부분의 시각화 자료를 만드시면 됩니다.
(plt, seaborn 등을 활용합니다.)

인원 분배

데이터 전처리 : 1.5명
모델링 과정 : 1.5명
데이터 시각화 : 1명

저는 전처리와 모델링 과정에 있어 전반적인 기여를 하려 합니다.

각자 원하는 과정을 오늘 내로 댓글 남겨주시면 감사하겠습니다.

(읽어보면 좋은 글)
https://doorbw.tistory.com/229
https://brunch.co.kr/@data/10

모델링 진행 이외에도 필요한 작업

남은 한달여의 시간동안 4개월 분량의 작업을 밀도있게 진행하기 위해 시작했으니

프로그래밍 경험이나, 데이터 사이언스에 대한 지식이 부족하면 따라오기 어려울 수 있습니다.

그러므로 스스로의 이해도도 높이고, 본격적으로 모델 개편 이전까지
프로젝트 진행에 도움이 될 수 있도록 개념적 부분을 위주로 Documentation 해주시면 좋겠습니다.

  • 앙상블 기법 전반적인 지식 정리

  • Scikit-learn imputation

  • Bayesian Ridge

  • Scaling and Scaler

  • RFE, RFECV

  • SMOTE

  • Seaborn

etc...

아래는 프로젝트 진행에 있어 도움이 될만한 자료입니다.
IterativeImputer
https://scikit-learn.org/stable/modules/generated/sklearn.impute.IterativeImputer.html

Bayesian Ridge
https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.BayesianRidge.html
https://runebook.dev/ko/docs/scikit_learn/modules/generated/sklearn.linear_model.bayesianridge
https://wikidocs.net/25991

RFE / RFECV
https://process-mining.tistory.com/138
https://scikit-learn.org/stable/auto_examples/feature_selection/plot_rfe_with_cross_validation.html#sphx-glr-auto-examples-feature-selection-plot-rfe-with-cross-validation-py

SMOTE
https://mkjjo.github.io/python/2019/01/04/smote_duplicate.html

SCALER
https://mkjjo.github.io/python/2019/01/10/scaler.html

SEABORN
https://wikidocs.net/86290

일정 공유/정리

일정

1주차

06.05 토요일 :
(@ChoiJunhee ) (09:00 ~ 18:00 근무 외 일정 없음)

06.06 일요일 :
(@ChoiJunhee ) 비대면 시험이 있습니다.


2주차

06.07 월요일 :

06.08 화요일 :
(@ChoiJunhee) 09:30 ~ 14:30 병원 예약 및 수요일 시험 대비

06.09 수요일 :
(@ChoiJunhee) (월차) 시프로그래밍, 컴퓨터 네트워크 시험

06.10 목요일 :
(@ChoiJunhee ) (09:00 ~ 18:00 근무 외 일정 없음)

06.11 금요일 :
(@ChoiJunhee ) (09:00 ~ 18:00 근무 외 일정 없음)

06.12 토요일 :
(@ChoiJunhee ) (09:00 ~ 18:00 근무 외 일정 없음)

06.13 일요일 :
(@zhanghuiyan99) 월요일 시험 대비




3주차

06.14 월요일 :
(@zhanghuiyan99) IoT 이해와 활용 시험
(@zhanghuiyan99) 화요일 시험 대비
(@ChoiJunhee ) 화요일 시험 대비

06.15 화요일 :
(@zhanghuiyan99 ) 이산수학 기말고사
(@ChoiJunhee ) 멀티미디어 정보처리 기말고사



[ 프로젝트 최종 발표 ]

06.16 수요일 : 빅데이터 애널리틱스 종강


06.17 목요일 :
(@zhanghuiyan99) 계량 경영 기말고사
(@zhanghuiyan99) 금요일 시험 대비
(@ChoiJunhee ) 운영체제 기말고사

06.18 금요일 :
(@zhanghuiyan99) 전략경영론 기말고사

데이터 모델링 과정 _ 메인 이슈

#7 데이터 전처리 과정 이슈를 선행해야 합니다.

#5 이슈에 따라 아래의 레퍼런스를 토대로 총 4개의 과정으로 나누어 보았습니다.

빅데이터 분석기사 Reference


데이터 모델링 (due : 2021/05/23 20:00)


1. 데이터 분석 및 분석 기법 선정

  • 데이터 전처리 과정에서 얻은 통계나 수치 등을 활용
  • 모델링에 있어 예측 방법 중 여러 가지를 시도
  • 시도 과정과 결과물을 기록 및 기법 선정 (상위 2가지 방법)

1. Data analysis and analysis technique selection
Using statistics or figures obtained during data preprocessing
Try several of the prediction methods in modeling
Record the trial process and results and select a technique (top 2 methods)

2. 데이터 분석 모델 선정

  • 다수의 모델을 결합하는 앙상블 기법을 사용
  • 단, 모델 결합에 대해서는 각자 근거를 가지고 여러 방법 시도
  • 마지막으로 데이터 모델을 선정 (상위 2가지 방법)

2. Data analysis model selection
Using an ensemble technique that combines multiple models
However, for model combination, try several methods with their own rationale.
Finally, select a data model (top 2 methods)

3. 데이터 모델링 과정

  • 적절한 하이퍼 파라미터 조절을 통해 성능 개선
  • 사실 이 부분에 대해서는 저는 아직 잘 모릅니다. 조속히 수정하겠습니다.

3. Data modeling process
Improved performance through appropriate hyper-parameter adjustment
Actually, I don't know much about this part yet. I will fix it soon.

4. 데이터 모델링 검증

  • confusion matrix 사용, 4가지 점수와 학습과정에 따른 향상도 기록
  • 테스트 데이터 셋을 전체 데이터 셋에서 다양한 과정으로 제작할 계획

4. Data modeling verification
Using a confusion matrix, recording 4 scores and progress according to the learning process
Plan to produce test data set in various processes from the entire data set


데이터 모델링에서 모든 과정은 주피터 노트북 파일 보다 각자 .py 파일을 업로드 하여
commit -> push -> coding -> commit 을 권장합니다. (요약 : git 사용 권장)

A python file is recommended rather than a Jupiter notebook
it is recommended to upload to git to record the commit-push process.


@ChoiJunhee @zhanghuiyan99 @kang961105
각 단계별로 진행이 완료 되었을 때, issue를 열어 각자 상위 2개 방법 (총 6개)에서
순위를 매기고 1~3등 방법을 각각 맡아 다음 단계로 진행하시면 됩니다.

When the progress of each step is completed, open an issue and each of the top two methods (6 total)
We can rank them and take each the 1st~3rd place respectively and proceed to the next step.

@HwangTr
이 과정에서 1단계라도 진행되지 않으면 시각화가 어려우니 그 동안 데이터 모델링 관련 자료 수집을 하면 됩니다.
파일은 Document / paper 혹은 Document / report 등에 업로드 해주시면 됩니다.


궁금한 사항은 댓글 혹은 이슈 부탁드립니다.

@kang961105 0.1.8버전에서 SECOM 원 데이터 확인 결과

@kang961105 0.1.8버전에서 SECOM 원 데이터 확인 결과

F209 피쳐는 0으로만 세팅되어 있었습니다...

결측치 처리, 이상치 처리로 걸러지지 않는 것은 당연한데

왜 표준편차 처리에서 걸러지지 않았는지 궁금하네요...

이번 0.1.8 업데이트에서는 첫 번째 표준편차 필터링에서 기준을 조금 더 높여서 적용해 보도록 하겠습니다.

그리고 Feature Selection 관련 여러가지 방법론 들을 보고 있는데

기존에 사용했던 Wrapper Method 중 하나인 RFE를 포함하여

Embedded Method를 추가로 사용해 볼 계획입니다.

Originally posted by @ChoiJunhee in #25 (comment)

0.2 업데이트 예정

현재 0.1.8 작업중이며 추가할 기능은 아래와 같습니다.

  1. Feature Selection (단, 데이터셋 세 종류에 적합한 알고리즘 확인 필요)
  2. Fail 데이터 오버샘플링 결과와, Pass 데이터 언더샘플링 결과 비교
  3. 최종까지 선별된 Feature들을 활용한 학습 방향 제시

히스토그램

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
a = np.random.randn(100)
s = pd.Series(a)
plt.hist(s)
plt.show()
sns.distplot(fail)
plt.show()
sns.distplot(pass)
plt.show()

data=np.random.normal(size=(10,4))
lables = ['pass','fail']
plt.boxplot(data,labels=lables)
plt.show()
df = pd.DataFrame(data, columns=lables)
sns.boxplot(data=df)
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
uci-secom.csv_long = sns.load_dataset("uci-secom.csv")
uci-secom.csv = uci-secom.csv_long.pivot(’fail’,’pass’)
f, ax = plt.subplots(figsize=(9, 6))
sns.heatmap(uci-secom.csv)

Closed Issue

낮술하다 올ㄹ림

  1. 팀원들이 이슈에는 관심이 있을까요?

  2. 단톡에다 말해도 읽지도 않고...

  3. 갠톡으로 전달해도 읽씹당하고...

  4. 이슈 올려서 확인 요청해도 뭐...

0531_csv 저장 문제

pass/fail 로 나누는 과정에서 문제가 있는지

쓸데 없는 행이 추가가 되는 문제가 있는데...

혹시 제가 잘못 사용하고 있는 부분을 알려주시면 감사하겠습니다...

직접 수정해주셔도 좋아요

csv read error

문제 : step4에서 pass, fail이 제대로 나뉘었는지 구분을 못하겠음...

현재 절반 진행된 코드가 있는데

pass/fail이 잘 나뉘었는지, 코드에 맞는 결과물이 나왔는지,

step4에 있는 시각화 이미지들을 보고 문제가 있는지

코드 리뷰 한번씩 부탁드립니다.


I have a code half done right now.

Whether pass/fail is well separated, and whether the results match the code,

Look at the visualization images in step 4 and see if there are any problems

Please my code review (and visualization images) once.

Pre-Released 0.2.0 버전 관련 요청

커밋 메시지에도 남기긴 했으나 이슈로도 한번 더 공지합니다.

27a55fa


두 가지 Feature Selection 방법을 사용하였고,

KBest 방식의 데이터 프레임은 열 이름이 날아가서 새로 인덱스 번호가 부여된 것입니다.
고쳐야 하는데 조금 헷갈리는 부분이 있어 아직 회사라서... 퇴근하고 나면... 오늘 내로는 어려울 것 같습니다.
(Feature 번호랑 혼동하시면 안됩니다. 시각화 혹은 피쳐를 확인하실 때 유의하시길 바랍니다.)

#12
step 6, 7에 대한 CSV 파일들을 확인하신 후, 각 방법을 비교할 수 있는 시각화 이미지 데이터를 요청합니다.

월요일까지 최종 보고서, 발표자료를 제출해야 하는데 최소한 금요일 21:00, 늦어도 금요일 자정까지는 보내주셔야 합니다.

시각화 부분에 어려움이 있는 팀원들을 위해 이번에 요청하는 데이터의 퀄리티는 고려하지 않겠습니다.


추가 업데이트 예정은 0.2.1 버전에서 Oversampling 결과와 DownSampling 결과를 비교할 예정이고

0.2.2 에서 최종 발표에 적합한 부분을 제외하고 주석 처리해 제출할 예정입니다.

프로젝트 진행 방식 변경안

  1. 데이터 전처리, 데이터 모델링, 데이터 튜닝등 시스템 자원이나 프로그래밍이 필요한 부분은 대부분 제가 맡겠습니다.

  2. @HwangTr 님은 데이터 시각화에 주력하여 남은 프로젝트를 진행합니다.

  3. @zhanghuiyan99 님은 데이터 전처리, 데이터 모델링, 데이터 튜닝에서 사용되는 여러 알고리즘이나 방법들을 조사하여 프로그래밍에 사용될 기능들의 정보를 정리해 주시길 바랍니다.

  4. @kang961105 프로그래밍 과정에서 있는 버그, 리팩토링 등 성능 향상에 대한 피드백을 주시고, @zhanghuiyan99 님과 @HwangTr 님의 자료에 대한 피어리뷰를 부탁드립니다.

3. @zhanghuiyan99 hopes to organize information on functions to be used in programming by investigating
various algorithms and methods used in data preprocessing, data modeling, and model tuning.

4. @kang961105 Please give us feedback on performance improvements such as bugs and refactorings
in the programming process, and ask for peer review of @zhanghuiyan99 and @HwangTr's files.

지금 진행하고 있는 전처리->모델링 과정에서 여러 방법 들을 사용하여 다양한 시각의 데이터를 얻을 수 있도록 개발 방향을 바꾸어 진행하겠습니다.

위와 같이 변경하고자 하는데, 동의하시거나 다른 의견 있으시면 댓글 남겨주시길 바랍니다.
I would like to change as above, but if you agree or have any other opinions, please leave a comment.

0.1.6 update 관련 질문

[최준희] [오전 10:49] 오늘 오후 내로 Feature Selection까지 구현한 버전 올리도록 하겠습니다. 내일~내일모레는 병원 방문이랑 시험이 있어 아마 안산 내려가서 머물 예정이라 업데이트가 어렵습니다...

[최준희] [오후 1:47] 방금 0.1.6 커밋 올렸습니다. 주 된 내용은 Feature Selection 이전 자잘한 버그 수정 및 스케일링 알고리즘 선정, 그리고 오타로 인해 데이터 셋을 전부 다시 계산했습니다.

이전에 올렸던 버전에서 특정한 수치를 선정한 근거가 되는 이미지 데이터는 0.2 Major 이전에 업로드 하고, 질문하고 싶은 내용이 하나 있는데

[최준희] [오후 1:48] 스케일 과정에서 Normalize를 추가 사용해야 하는건지, 아니면 지금처럼 MinMax와 Standardzation 을 사용해야 하는건지 잘 모르겠는데 제 생각에는 각 피쳐간 독립적이고 각 데이터는 1차원이라 생각해서 필요 없어 보여 제거했습니다.

[최준희] [오후 1:49] 마지막으로 MinMax 스케일링을 거친 데이터들 중 0 아니면 1에 매우 가깝거나 그냥 0, 1인 데이터들이 있는데 결측치 처리 하듯이 일정 비율 이상 가진 피쳐는 제거할 계획인데 다른 의견 있으면 어느 경로로든 알려주시길 바랍니다.

카톡에 올렸던 내용 그대로 가져왔습니다.

질문 1. Normalize 스케일링을 시도해야 하는가?

질문 2. MinMax 스케일링을 진행한 데이터셋 중 ( 0 아니면 1에 매우 가깝거나 그냥 0, 1인 데이터) 노이즈와 같이 생각하고 제거 혹은 Imputation을 다시 진행해야 하는가?

리팩토링 과정 도움 요청

#2 이슈에 대해 도움을 요청합니다.

해당 파일은 ipnyb 폴더에 Refine 이라는 이름으로 들어있습니다.

제가 질문을 적어둔 주석이 2개인가 3개인가 되는데

그 부분에 대해 답변 해주시면 감사하겠습니다.

데이터 시각화 요청용 이슈

현재 제가 표준편차 0 또는 0에 가까운 표준편차를 가진 열과 이상치 전처리 대한 시각화를 진행 중입니다.

데이터 전처리 전 후의 모습에 대하여 현재 진행하려는 방식이 표준편차는 마커 형태, 즉 점 도표 형식으로 각 feature의 표준편차 분포를 보여주고 이후 전처리된 형태로 보여주려고 합니다.

또한 이상치에 대해선 heatmap 형태를 이용할려고 합니다.

혹시 다른 방법으로의 시각화 방식이 생각나신다면 알려주시면 감사하겠습니다.

또 제가 하는 방식에서 개선점이 있다면 그 부분에 대해서도 알려주시면 감사하겠습니다.

heatmap에 대해서는 저희가 가진 feature의 개수 , 즉 열의 개수가 많아 시각적으로 보았을 때 이상치 부분이 뚜렷하게 나오지 않고 있어 이 부분에 대해서도 괜찮은 생각이 있다면 알려주시면 감사하겠습니다.

비대면 토의 일정

현재 진행중인 프로젝트에 대해 의견을 나누고자 합니다.

05/23일 부터 05/24일 사이에 각자 '불가능한 시간' 을 적어주세요.

취합 후 시간 공지하도록 하겠습니다.

(이 내용은 카카오톡 공지로 올라갈 예정입니다.)

월요일 마감을 위한 회의

@HwangTr

@zhanghuiyan99

Everyone doesn't have much time due to the exam schedule, so I would like to ask for your help, even today.

The above has been notified several times through KakaoTalk, e-mail, and git issues.

Please check the KakaoTalk group chat room.

발표자료 1, 2, 3 비교 분석 정리

[due to : 2021-05-20 오후 11:00]

녹화본과 발표자료 등을 토대로, 타 조(4개)를 포함하여 자료를 정리합니다.
(주로 저희 팀과의 차이를와 부족함을 비교하며 정리해주시면 감사하겠습니다.)

토론 1, 2, 3에서 가장 높은 점수를 받은 4개 팀(이하 A, B, C, D)을 포함합니다.
토론 1, 2에 대한 녹화본이 필요하신 분들은 코멘트 남겨주세요.

(팀을 선택하고 댓글로 선택한 팀을 적어 주시거나, 아래의 체크리스트를 활용)

~~ - [ ] A (토론1 - 3조, 토론 2 - 6조) ~~

  • B (토론 1 - 1조, 토론 2 - 3조)
    ~~ - [ ] C (토론 1 - 2조, 토론 2 - 4조) ~~
    ~~ - [x] D (토론 1 - 6조, 토론 2 - 5조) ~~

(토론 3 발표는 아직 나오지 않았으나, A, B는 6조 C, D는 3조를 해주시면 됩니다.)

오해의 소지가 있어 위 문구를 삭제합니다.

결측치 데이터 관련 토의

image

현재 커밋된 파일을 보시면 알다시피 결측치 데이터는 Scikit-learn에서 제공하는 Imputue 메소드를 사용하고 있습니다.

https://scikit-learn.org/stable/modules/generated/sklearn.impute.IterativeImputer.html

위 공식 사이트 문서에 보면 하이퍼 파라미터 값을 조절할 수 있게 되어 있는데

현재는 조절이 되어 있지 않은 상태입니다.

CUDA 연산이 지원되지 않는 관계로 Imputation 한번 할 때마다 약 10여분씩 걸리는 상황이라, 브루트 포스와 같은 방법으로는 최적의 값을 구하기 어려울 것 같습니다.

그래서 해당 Imputer의 파라미터를 조절할 적절한 자료나, 실험 결과 등을 알려주셨으면 좋겠습니다.

@zhanghuiyan99 @kang961105

QnA 예상 리스트

  • STEP 1에서 일정 계수 미만의 표준편차라 하였는데, 0.5 로 특정한 이유는?

Feature들의 분포를 보았을 때, (0.1.4 버전? 거기에 이미지가 있습니다.) 여러 수치로 테스트를 진행하였는데 이 정도 수치가 개인적으로 가장 안정적인 결과를 얻을 수 있을 것 같아 설정했다.

개발 과정에 있어 시각화 데이터는 개발자의 직관에 도움이 된다 생각하기 때문에, 시각화 데이터를 github에서 보시고 추가적인 의문이 있다면 메일 남겨주시길 바랍니다. 이는 Step 3의 상관 계수를 지정한 이유와 동일합니다.

  • 결측치 비율을 0.6으로 한 이유는?

Impute과정에서 iteration을 늘려 이 부분에서는 최대한 Feature들을 보존하는 방향으로 진행하고 싶었다. SECOM 데이터가 내용이 완전한, 좋은 데이터셋이 아니기 때문에 이 단계 만큼은 최대한의 margin을 두었다.

  • IQR 에서 Fail 데이터의 가중치를 다르게 설정한 이유는?

결과적으로 동일하게 다시 변경하였으나, 가중치를 다르게 설정하여 IQR의 범위를 늘려 Fail 데이터를 최대한 보존하고 싶었다.

  • 변화에 대한 시각화 데이터가 빠져있다.

ㅋㅋ ㅈㅅ!

  • MinMax와 Standard는 큰 차이가 없었는데, 왜 MinMax를 선택했는가?

스케일링 결과의 범위가 다르다. 01으로 바꿔주는 MinMax와 달리 Standard는 표준편차에 맞추어 진행하기 떄문에 범위가 더 넓다. -> 그냥 01로 해주는게 더 좋아 보였다.

  • SKB와 RFE를 비교할 때, 결과물은 오버피팅이 의심된다. 과연 이 것이 두 알고리즘의 성능차를 대표할 수 있는가?

RFE는 Brute Force와 유사하게 모든 조건, 모든 특성의 조합을 시도하고 가장 좋은 셋을 구하기 때문에 오버피팅 여부와는 관계가 없을 것 같았다.

  • 언더 샘플링은 왜 진행하지 않았나?

100여개의 데이터셋을 Test/Train으로 나누어 학습하고 예측하는 것은 결과적으로 의미가 없는 행동이라 생각했다.

  • 2번째 상관관계 제거 이후 성능 감소는 어떻게 된 것인가?

저 데이터도 오버피팅이 의심되는 데이터셋으로 진행하였기 때문이다. 오버피팅이 되어있는 모델에 상관관계를 제거한 데이터를 넣어 생기는 현상으로 추정된다. 향후 수정된 버전에서 시도해 보았으나, Feature Selection이 진행되었기 때문에 큰 의미가 없었다.

추가적인 질문은 댓글 남겨주세요.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.