본문 바로가기

분류 전체보기339

[Pandas] cut(), qcut()을 이용한 데이터 구간화 🍐 cut( ) : 데이터 수에 관계없이 같은 길이로 나눔 pd.cut(구간화하고 싶은 컬럼, bins = 구간수, labels = ['라벨명1', '라벨명2'...]) [예제1] copied_data = df.copy() copied_data['binning'] = pd.cut(copied_data['box_off_num'], bins = 3) copied_data.head(3) [예제2] copied_data = df.copy() copied_data['binning'] = pd.cut(copied_data['box_off_num'], bins = 3, labels = ["A", "B", "C"]) copied_data.head(3) 🍐 qcut( ) : 각 구간에 동일한 수의 데이터가 들어가도록 나.. 2023. 9. 7.
[Pandas] groupby , 다중 열 정렬 데이터프레임 다중 열 정렬(1) .sort_values(by = ['열1', '열2'...] ) three_columns = df[['time', 'num_staff', 'num_actor']].copy() sorted_df = three_columns.sort_values(by = ['time', 'num_staff']) sorted_df.head(3) 데이터프레임 다중 열 정렬(2) four_columns = df[['time', 'num_staff', 'num_actor', 'box_off_num']].copy() sorted_dataframe = four_columns.sort_values(by = ['box_off_num', 'time'], ascending = True) sorted_dataf.. 2023. 9. 7.
여러 개의 그래프 그리기 예제(반복문 사용) 1. 여러 개의 그래프 그리기 - 시각화 할 변수 선택 - fig 만들기 fig=plt.figure(figsize=(20,10), dpi = 100) : matplotlib의 figure를 생성하고, 그림의 크기를 가로 20 인치, 세로 10 인치로 설정하며, 해상도는 100 dpi로 설정합니다. axs=fig.subplots(2,4) : 2x4 형태의 서브플롯 그리드를 생성합니다. 즉, 2행 4열의 그리드를 생성하여 총 8개의 그래프를 그릴 수 있는 공간을 만듭니다. lm_features 변수에 각 그래프에 사용할 특징들을 리스트로 정의합니다. fig=plt.figure(figsize=(20,10), dpi = 100) axs=fig.subplots(2,4) lm_features = ['temperat.. 2023. 9. 7.
M1 환경설정 XGBoost & LightGBM with Streamlit in Python https://dschloe.github.io/python/2023/09/m1_settings_xgboost_lightgbm/#%ED%85%8C%EC%8A%A4%ED%8A%B8 M1 환경설정 XGBoost & LightGBM with Streamlit in Python 개요 M1에서 Python 환경설정을 해본다. XGBoost & LightGBM 및 Streamlit 설치를 진행한다. 아나콘다 설치 m1 버전의 아나콘다를 설치한다. 깃헙 레포 생성 먼저 github repo를 생성한다. Conda 가상환경 설정 git dschloe.github.io https://stackoverflow.com/questions/58479686/permissionerror-errno-1-operation-not-per.. 2023. 9. 7.
결정계수(coefficient of determination ) 결정계수(R-squared)란? 회귀모델의 적합도를 측정하는 지표 종속변수의 변동성을 독립변수로 설명하는 비율로, 모델이 얼마나 데이터의 변동성을 설명하는지를 나타냄 0과 1 사이의 범위를 가지며, 1에 가까울수록 모델이 데이터 변동성을 더 잘 설명하고 있음을 의미 예를 들어, 결정계수가 0.78 이라면, 모델이 종속 변수의 변동 중 약 78%를 설명할 수 있다는 것 단, 결정계수는 단일 지표로서 모델의 전반적인 성능을 평가하기에는 제한적이므로 다른 평가 지표와 함께 고려하는 것이 좋음 결정 계수 구하기 SST : (실제값 - 평균값)을 제곱한 평균 SSR : (실제값 - 예측값)을 제곱한 평균 결정 계수 구하는 코드 예시 import numpy as np SSE = np.sum((val_y - pred.. 2023. 9. 1.
statsmodels 회귀분석 파이썬에서 회귀분석은 statsmodels 라이브러리를 사용 * OLS(Ordinary Least Squares) * 잔차제곱합(RSS : Residual Sum of Squares)을 최소화하는 방식 1. from_formula( ) 함수를 이용하여 정의한 공식(formula) 을 활용해 회귀분석 정의 가능 formula = """ MEDV ~ scale(CRIM) + scale(ZN) + scale(INDUS) + scale(NOX) + scale(RM) + scale(AGE) + scale(DIS) + scale(RAD) + scale(TAX) + scale(PTRATIO) + scale(B) + scale(LSTAT) """ 2. sm.OLS.from_formula() 메서드를 사용하여 선형 회귀.. 2023. 9. 1.
streamlit 배포 준비(2) Streamlit 대시보드 구조 streamlit 대시보드를 만드는 구조는 다음과 같다 기본적으로 app.py 에서 전체적인 틀을 관리한다 세부사항은 run_eda_app.py 와 같이 따로 파일을 만들어 함수(메서드)를 정의하고, 이를 app.py에 호출하여 사용하는 것이다 🚀 즉, 원하는 대시보드의 구조를 미리 구상해놓고 각각의 기능을 함수로 구현하고 이를 app.py에 종합하여 구현한다 예제 run_eda_app.py 작성 아래 파일에는 run_eda_app() 메서드가 작성되어 있다. 탐색적 자료 분석 메뉴에서 실행시킬 함수라고 생각하면 된다. # -*- coding:utf-8 -*- import streamlit as st import pandas as pd import matplotlib.py.. 2023. 9. 1.
streamlit 배포 준비(1) 1. 깃허브에 repository 생성 스트림릿 관련 파일을 관리할 Repository를 생성 터미널을 열어 다음을 입력하여 로컬 저장서와 연결 : git clone + 저장소 주소 2. 로컬에서 파일 작성 로컬에서 vs code를 열어, 간단하게 app.py 작성(아래 이미지 참고) requirements.txt 를 생성 : numpy, streamlit 작성 3. streamlit 접속 로그인 하고, 깃허브 주소와 연동 New app 클릭 4. Deploy an app 내용 입력 깃허브에 생성한 저장소를 선택해준다 위에서 만든 파일(app.py) 를 입력해준다 Advanced settings... 로 이동(클릭) 5. Advanced settings 파이썬 버전 지정 아래 Secrets는 DB등을 연.. 2023. 9. 1.
[scatter_matrix] 여러 피쳐간 산점도 한번에 보기 라이브러리 임포트 from pandas.plotting import scatter_matrix import matplotlib.pyplot as plt %matplotlib inline 산점도 그리기(여러 피쳐를 한번에) attributes = ['주간통화시간', '주간통화요금', '주간통화횟수'] # 산점도 한번에 그리기 scatter_matrix(train[attributes], figsize = (10, 10), alpha = 0.1) 결과 예시 2023. 8. 31.
728x90