Skip to content

innerpyg/DataScope

Repository files navigation

πŸ“Š DataScope - κ³ κΈ‰ 데이터 뢄석 및 μ‹œκ°ν™” 도ꡬ

DataScopeλŠ” Streamlit 기반의 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μœΌλ‘œ, μ‚¬μš©μžκ°€ 데이터 νŒŒμΌμ„ μ—…λ‘œλ“œν•˜μ—¬ λ‹€μ–‘ν•œ μ‹œκ°ν™” 차트λ₯Ό μΈν„°λž™ν‹°λΈŒν•˜κ²Œ 확인할 수 μžˆλŠ” κ³ κΈ‰ 데이터 뢄석 λ„κ΅¬μž…λ‹ˆλ‹€.

  • mcp-shrimp-task-managerλ₯Ό μ΄μš©ν•΄ 100% VibeCoding으둜 μž‘μ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

🌟 μ£Όμš” κΈ°λŠ₯

πŸ“ˆ 데이터 μ‹œκ°ν™”

  • λ‹€μ–‘ν•œ 차트 νƒ€μž…: Scatter Plot, Box Plot, Histogram, Bar Chart, Correlation Heatmap, Parallel Coordinates, Line Chart, Sub Plots
  • μžλ™ 차트 선택: 데이터 νŠΉμ„±μ— λ”°λ₯Έ 졜적 차트 νƒ€μž… μžλ™ 선택
  • μΈν„°λž™ν‹°λΈŒ 차트: Plotly 기반 ν™•λŒ€/μΆ•μ†Œ, ν˜Έλ²„ 정보, λ²”λ‘€ μ‘°μž‘

πŸ“Š κ³ κΈ‰ 뢄석 κΈ°λŠ₯

  • 톡계 뢄석: κΈ°λ³Έ 톡계, 상관관계 뢄석, μ΄μƒμΉ˜ 탐지, 뢄포 뢄석
  • λ‹€λ³€λŸ‰ 뢄석: PCA, ν΄λŸ¬μŠ€ν„°λ§, 차원 μΆ•μ†Œ
  • μ‹œκ³„μ—΄ 뢄석: νŠΈλ Œλ“œ 뢄석, κ³„μ ˆμ„± 탐지, 이동평균
  • 데이터 μΈμ‚¬μ΄νŠΈ: μžλ™ μΈμ‚¬μ΄νŠΈ 생성 및 ꢌμž₯사항

⚑ μ„±λŠ₯ μ΅œμ ν™”

  • 캐싱 μ‹œμŠ€ν…œ: 반볡 μž‘μ—… μ„±λŠ₯ ν–₯상 (70-80% 속도 κ°œμ„ )
  • λ©”λͺ¨λ¦¬ μ΅œμ ν™”: DataFrame μžλ™ μ΅œμ ν™” (30-50% λ©”λͺ¨λ¦¬ μ ˆμ•½)
  • λŒ€μš©λŸ‰ 파일 지원: μ΅œλŒ€ 100MB 파일 처리
  • μ§„ν–‰λ₯  ν‘œμ‹œ: μ‹€μ‹œκ°„ μž‘μ—… μ§„ν–‰ 상황 λͺ¨λ‹ˆν„°λ§

🎨 μ‚¬μš©μž κ²½ν—˜

  • λ°˜μ‘ν˜• λ””μžμΈ: λͺ¨λ°”일/λ°μŠ€ν¬ν†± μ΅œμ ν™”
  • μ‚¬μš©μž μ„€μ •: ν…Œλ§ˆ, 차트 높이, μžλ™ μƒˆλ‘œκ³ μΉ¨ μ„€μ •
  • 직관적 μΈν„°νŽ˜μ΄μŠ€: μ½”λ”© 지식 없이도 μ‰½κ²Œ μ‚¬μš©
  • μ„±λŠ₯ λͺ¨λ‹ˆν„°λ§: λ‘œλ”© μ‹œκ°„, 뢄석 μ‹œκ°„ 좔적

πŸš€ λΉ λ₯Έ μ‹œμž‘

1. μ„€μΉ˜

# μ €μž₯μ†Œ 클둠
git clone https://github.com/innerpyg/DataScope.git
cd DataScope

# κ°€μƒν™˜κ²½ 생성 (ꢌμž₯)
python -m venv venv
source venv/bin/activate  # Linux/Mac

# μ˜μ‘΄μ„± μ„€μΉ˜
pip install -r requirements.txt

2. μ‹€ν–‰

# Streamlit μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ‹€ν–‰
streamlit run app.py

# λ˜λŠ” νŠΉμ • 포트둜 μ‹€ν–‰
streamlit run app.py --server.port 8501

# ν—€λ“œλ¦¬μŠ€ λͺ¨λ“œλ‘œ μ‹€ν–‰ (μ„œλ²„ 배포용)
streamlit run app.py --server.headless true --server.port 8501

3. μ‚¬μš©λ²•

  1. 파일 μ—…λ‘œλ“œ: μ›Ή λΈŒλΌμš°μ €μ—μ„œ http://localhost:8501 접속 ν›„ 데이터 파일 μ—…λ‘œλ“œ
  2. 데이터 확인: '데이터 미리보기' νƒ­μ—μ„œ μ—…λ‘œλ“œλœ 데이터 확인
  3. μ‹œκ°ν™”: 'μ‹œκ°ν™”' νƒ­μ—μ„œ λ‹€μ–‘ν•œ 차트 생성 및 탐색
  4. 뢄석: '톡계 뢄석' νƒ­μ—μ„œ κ³ κΈ‰ 뢄석 μˆ˜ν–‰

πŸ“ 지원 파일 ν˜•μ‹

ν˜•μ‹ ν™•μž₯자 μ„€λͺ…
CSV .csv μ‰Όν‘œλ‘œ κ΅¬λΆ„λœ κ°’ 파일
TXT .txt νƒ­μœΌλ‘œ κ΅¬λΆ„λœ κ°’ 파일
Excel .xlsx, .xls Microsoft Excel 파일

πŸ“Š 지원 차트 νƒ€μž…

차트 νƒ€μž… μ„€λͺ… 졜적 데이터
Scatter Plot 두 λ³€μˆ˜ κ°„μ˜ 관계 μˆ˜μΉ˜ν˜• 데이터 2개
Box Plot 데이터 뢄포 및 μ΄μƒμΉ˜ μˆ˜μΉ˜ν˜• + λ²”μ£Όν˜•
Histogram 단일 λ³€μˆ˜μ˜ 뢄포 μˆ˜μΉ˜ν˜• 데이터 1개
Bar Chart λ²”μ£Όν˜• 데이터 λΉˆλ„ λ²”μ£Όν˜• 데이터
Correlation Heatmap λ³€μˆ˜ κ°„ 상관관계 μˆ˜μΉ˜ν˜• 데이터 λ‹€μˆ˜
Parallel Coordinates 닀차원 데이터 μ‹œκ°ν™” μˆ˜μΉ˜ν˜• 데이터 λ‹€μˆ˜
Line Chart μ‹œκ³„μ—΄ 데이터 μ‹œκ°„ + μˆ˜μΉ˜ν˜•
Sub Plots 볡합 차트 λ‹€μ–‘ν•œ 데이터 νƒ€μž…

πŸ“¦ μ˜μ‘΄μ„± νŒ¨ν‚€μ§€

streamlit>=1.28.0      # μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ν”„λ ˆμž„μ›Œν¬
pandas>=2.0.0          # 데이터 처리 및 뢄석
numpy>=1.24.0          # 수치 계산
plotly>=5.15.0         # μΈν„°λž™ν‹°λΈŒ μ‹œκ°ν™”
scipy>=1.10.0          # κ³Όν•™ 계산
seaborn>=0.12.0        # 톡계 μ‹œκ°ν™”
openpyxl>=3.1.0        # Excel 파일 처리
xlrd>=2.0.0            # Excel 파일 읽기
scikit-learn>=1.3.0    # λ¨Έμ‹ λŸ¬λ‹ μ•Œκ³ λ¦¬μ¦˜
psutil>=5.9.0          # μ‹œμŠ€ν…œ λͺ¨λ‹ˆν„°λ§

πŸ—οΈ ν”„λ‘œμ νŠΈ ꡬ쑰

DataScope/
β”œβ”€β”€ app.py                 # 메인 Streamlit μ• ν”Œλ¦¬μΌ€μ΄μ…˜
β”œβ”€β”€ requirements.txt       # Python μ˜μ‘΄μ„±
β”œβ”€β”€ README.md             # ν”„λ‘œμ νŠΈ λ¬Έμ„œ
β”œβ”€β”€ .gitignore            # Git λ¬΄μ‹œ 파일
β”œβ”€β”€ utils/                # μœ ν‹Έλ¦¬ν‹° λͺ¨λ“ˆ
β”‚   β”œβ”€β”€ __init__.py       # λͺ¨λ“ˆ μ΄ˆκΈ°ν™”
β”‚   β”œβ”€β”€ data_processor.py # 데이터 처리 및 검증
β”‚   β”œβ”€β”€ visualizer.py     # 데이터 μ‹œκ°ν™”
β”‚   └── analyzer.py       # κ³ κΈ‰ 뢄석 κΈ°λŠ₯
β”œβ”€β”€ data/                 # μƒ˜ν”Œ 데이터
β”‚   β”œβ”€β”€ sample_data.csv   # κΈ°λ³Έ μƒ˜ν”Œ 데이터
β”‚   └── complex_sample_data.csv # 볡합 μƒ˜ν”Œ 데이터
β”œβ”€β”€ docs/                 # λ¬Έμ„œ
β”‚   β”œβ”€β”€ user_manual.md    # μ‚¬μš©μž 맀뉴얼
β”‚   β”œβ”€β”€ developer_guide.md # 개발자 κ°€μ΄λ“œ
β”‚   └── deployment_guide.md # 배포 κ°€μ΄λ“œ
└── tests/                # ν…ŒμŠ€νŠΈ 파일
    β”œβ”€β”€ test_data_processor.py
    β”œβ”€β”€ test_visualizer.py
    └── test_analyzer.py

πŸ”§ κ³ κΈ‰ μ„€μ •

ν™˜κ²½ λ³€μˆ˜ μ„€μ •

# 개발 ν™˜κ²½
export STREAMLIT_SERVER_PORT=8501
export STREAMLIT_SERVER_HEADLESS=true
export STREAMLIT_SERVER_MAX_UPLOAD_SIZE=100

# ν”„λ‘œλ•μ…˜ ν™˜κ²½
export STREAMLIT_SERVER_PORT=8501
export STREAMLIT_SERVER_HEADLESS=true
export STREAMLIT_SERVER_MAX_UPLOAD_SIZE=100
export STREAMLIT_SERVER_ENABLE_CORS=false
export STREAMLIT_SERVER_ENABLE_XSRF_PROTECTION=true

πŸš€ 배포 κ°€μ΄λ“œ

둜컬 배포

  1. μœ„μ˜ "λΉ λ₯Έ μ‹œμž‘" μ„Ήμ…˜ μ°Έμ‘°
  2. streamlit run app.py λͺ…λ ΉμœΌλ‘œ μ‹€ν–‰

μ„œλ²„ 배포 (Linux)

# μ‹œμŠ€ν…œ μ„œλΉ„μŠ€λ‘œ 등둝
sudo cp datascope.service /etc/systemd/system/ # μˆ˜μ • ν•„μš”
sudo systemctl enable datascope
sudo systemctl start datascope

πŸ› νŠΈλŸ¬λΈ”μŠˆνŒ…

일반적인 문제

1. "streamlit: command not found" 였λ₯˜

# 해결방법: pip둜 streamlit μž¬μ„€μΉ˜
pip install streamlit
# λ˜λŠ”
python -m pip install streamlit

2. λ©”λͺ¨λ¦¬ λΆ€μ‘± 였λ₯˜

# 해결방법: λ©”λͺ¨λ¦¬ μ΅œμ ν™” μ‹€ν–‰
# μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ 'κ³ κΈ‰ κΈ°λŠ₯' β†’ 'μ„±λŠ₯ μ΅œμ ν™”' νƒ­ μ‚¬μš©

3. μ°¨νŠΈκ°€ ν‘œμ‹œλ˜μ§€ μ•ŠμŒ

# 해결방법: λΈŒλΌμš°μ € μΊμ‹œ 클리어
# λ˜λŠ” λ‹€λ₯Έ λΈŒλΌμš°μ €λ‘œ ν…ŒμŠ€νŠΈ

둜그 확인

# Streamlit 둜그 확인
streamlit run app.py --logger.level=debug

# μ‹œμŠ€ν…œ 둜그 확인 (Linux)
journalctl -u datascope -f

πŸ“„ λΌμ΄μ„ μŠ€

이 ν”„λ‘œμ νŠΈλŠ” MIT λΌμ΄μ„ μŠ€ ν•˜μ— λ°°ν¬λ©λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ LICENSE νŒŒμΌμ„ μ°Έμ‘°ν•˜μ„Έμš”.

πŸ™ κ°μ‚¬μ˜ 말


DataScope

  • 데이터 뢄석을 λ”μš± 직관적이고 κ°•λ ₯ν•˜κ²Œ λ§Œλ“€μ–΄μ£ΌλŠ” λ„κ΅¬μž…λ‹ˆλ‹€! πŸš€
  • 100% VibeCoding으둜 μž‘μ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • λ³Έ repository에 LICENSE λ“± 기타 λ¬Έμ œκ°€ μžˆλŠ” 경우 μ–Έμ œλ“  issue μž‘μ„± λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published