-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feat] Streamlit 앱에 실험 데이터 분석을 위한 기능 추가 #41
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
작업하느라 고생하셨습니다. 코멘트 확인 부탁드립니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Element ID가 달라지면서 세션에 저장됐던 변수 값을 읽지 못하는 것 확인 - key_manager 관련 코드 삭제 - 탭 별로 렌더링 모듈화 시, 탭 이름을 인자로 넣도록 변경
현재 @eyeol 가 언급한 버그 및 기타 검색 관련 버그 수정했습니다. 관련 내용 PR 설명에 보완하겠습니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수정 내용 확인했습니다. 고생하셨습니다.
📝 Summary
데이터 관련 실험 시, 새로운 열이 생길 가능성이 높습니다.
현재 Streamlit 앱의
데이터 탐색 > 문제 형태로 확인
기능을 바탕으로 새로운 탭과 레이아웃을 추가합니다.실험 데이터를 위한 파일 업로더,
실험 데이터
탭,실험 데이터 > 문제 형태로 확인
기능을 추가했습니다.✅ Checklist
[ ] 문서 업데이트가 포함되었습니다.📄 Description
1. 데이터 경로
기본 데이터 로드와 유사하게, 데이터 경로를 환경 변수로 관리합니다.
# .env STREAMLIT_EXPERIMENT_DATA_PATH={your_experiment_result_path}
2. 새로운 파일 업로더 및 탭 생성
기본 학습 데이터를
df
변수에 저장, 실험 데이터를exp_df
변수에 저장하여 따로 관리합니다.따라서 새로운 파일 업로더와 탭 기능을 추가합니다.
3.
→ 탭 별로 key 값을 따로 관리하도록 수정key_manager
객체 생성탭 별로 고유한
Element ID
를 생성하도록 탭 이름을 인자로 렌더링 함수에 넘겨줬습니다.추후 Streamlit 앱 기능 추가 및 재사용 시
StreamlitDuplicateElementKey
에러를 방지할 수 있습니다.4. 렌더링 모듈화
display_data_tab
함수로 기존tab2
렌더링 구조를 모듈화하여 새로운 탭인tab4
에서 재사용하도록 코드를 수정합니다.5. 전체 열을 순회하면서 새로운 열 렌더링
실험 데이터 탐색 > 문제 형태로 확인
실험 데이터 칼럼 이름 정보를 전부 순회하면서 기본 데이터 칼럼에 없을 경우, 렌더링하는 기능을 추가했습니다.
💡 Notice (Optional)
해당 기능이 제대로 동작하기 위해서는 데이터 저장 및 환경 변수 세팅이 필요합니다.
Description의 1. 데이터 경로에 세팅 방법을 작성했습니다.
Streamlit 앱 기능과 관련 없지만, Streamlit 기능 개발에 용이한 vscode 설정 파일을 추가했습니다.
![스크린샷 2024-11-23 오후 2 55 01](https://private-user-images.githubusercontent.com/104420634/389176408-bd4ff6a1-c3bd-4e57-9dee-046a1b42caca.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMjg3NjUsIm5iZiI6MTczOTAyODQ2NSwicGF0aCI6Ii8xMDQ0MjA2MzQvMzg5MTc2NDA4LWJkNGZmNmExLWMzYmQtNGU1Ny05ZGVlLTA0NmExYjQyY2FjYS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwOFQxNTI3NDVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mMjYwZTM2M2ZhYTkxOWFiNTgxMWFlOGM3MmIwY2NlMzdkNzY4NWQ3MDJhY2ExOTQ0OGRlOTVmNzQzMDhlYTkwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.2lmkwP94xzxT58kXSCLwp5VKqBtCet_xwucU6MWlv3s)
analysis_dashboard.py에서 코드 라인에 breakpoint를 잡고 vscode 상단에 디버깅을 선택합니다.
🔗 Related Issue(s)
close #39