1234···9

1. statsmodels (통계 분석/회귀)

모듈 / 함수 주요 사용 범주 예시 / 설명
ols 선형회귀 ols('y ~ x1+ x2', data =df,).fit()
logit 로지스틱 회귀(분류) logit('y ~ x1 + x2 ', data =df).fit()
model.summary() 결과요약 회귀계수 t값, p값, 결정계수 출력
model.tvalues t검정통계량 각 변수의 t값
model.pvalues p-values(유의 확률) 유의미성 판단 (x < 0.05면 의미있음)
model.rsquared 결정계수 회귀 적합도 0~1, 높을수록 좋음
model.params 회귀계수(coef) 독립변수 영향력

 

2. sklearn.ensemble

(머신러닝 모델)

클래스 사용 범주 예시 / 설명
RandomForestClassifier 분류(문자/범주 예측) 다중분류(문자형 타겟, 라벨 인코딩 필요)
RandomForestRegressor 회귀(숫자 예측) 연속형 목표변수 예측

 

3. sklearn.metrics

(성능 평가)

함수 주요 사용 범주 예시 / 설
mean_squared_error(y, pred) 회귀: MSE MSE, squared=False면 RMSE
f1_score(y, pred, average=...) 분류: F1점수 macro, micro 등
accuracy_score(y, pred) 분류: 정확도 분류 맞춘 비율

 

4. sklearn.preprocessing

함수 / 클래스 사용 범주 설명 / 예시
StandardScaler 표준화 평균0, 표준편차 1로 변환
fit_trans
MinMaxScaler 정규화 0~1 사이로 변환
fit_transform(X)
RobustScaler 중앙값 정규화 이상치에 강함
중앙값(median) 기준 변
MaxAbsScaler 절댓값 정규화 -1 ~ 1 사이로 변환
음수 포함 가능
Normalizer 행(샘플) 단위 정규화 각 행의 벡터 크기를 1로 만듦 (주로 텍스트 벡터)

 

5. form scipy import stats

pearsonr(a, b) 피어슨상관계수 + p값 corr, p = pearsonr(x, y)
ttest_1samp 단일 표본 t검 한 집단의 평균이 특정 값과 같은지 가설
ttest_ind(a, b) 두 집단 평균 차 t검정 독립 2표본 t-검정
ttest_rel(대응 쌍체 표본t검정) 두 그룹 전후 비교  
f_oneway(a, b, ...) 분산분석 anova (일원배치법)
그냥 집단 간 평균차이(일원분산분석)만 필요:
3개 이상 그룹 평균차이 검정
anova_lm(model) 회귀분석, 다중요인(범주형 변수 등) 영향력까지 표로 보고 싶을  
shapiro 정규성 검정 p값이 0.05이상이면 정규분포로 봄
levene(a, b) 등분산 검정(Levene) 분산이 같은지 비

1. replace

df['f4'] = df['f4'].replace('ESFJ', 'ISFJ')

 

 

2. df.loc 를 이용한 방법

df.loc[df['f4'] == 'ESFJ', 'f4] = 'ISFJ'

 

3. np.where()

df['f4'] = np.where(df['f4'] == 'ESFJ', 'ISFJ', df['f4'])

 

df['근속년수'] = df.groupby(['부서명', '근무평가등급'])['근속년수'].transform(lambda x : x.fillna(x.mean()))

 

 

 

  • df.groupby(['부서명', '근무평가등급'])['근속년수']
    → 이건 '부서명+근무평가등급'으로 묶인 그룹별로 '근속년수'만 뽑아낸 것
  • transform(lambda x: x.fillna(x.mean()))
    → 각 그룹별 근속년수를 x로 받아서,
    → 그 그룹에서 NaN은 평균으로 채워줌

 

✅간단하게 정리

구문 의미
groupby(['부서명', '근무평가등급']) 그룹 나누기 (부서 + 등급 조합별로)
['근속년수'] 그룹 안에서 '근속년수' 열만 선택
transform() 그룹별 계산 결과를 원래 구조 유지하며 반환
x 각 그룹의 근속년수만 모인 시리즈
x.mean() 해당 그룹의 평균 근속년수
x.fillna(x.mean()) 그 그룹에서 NaN을 평균으로 채움

 

코드 의미
df.idxmax(axis = 1) 행 기준 → 각 행에서 가장 큰 열 이름
df.idxmax(axis = 0) 열 기준 → 각 열에서 가장 큰 행 인덱스

 

 

 

예시)

년도 절도 사기 방화 폭행 ...
2014 0.55 0.62 0.47 0.61 ...
2015 0.53 0.68 0.44 0.65 ...
... ... ... ... ... ...

 

 

# 검거율.idxmax(axis=1)

print(검거율.idxmax(axis=1))

년도
2014    사기
2015    폭행
2016    사기
...

 

# 검거율.idxmax(axis=0)

절도    2017
사기    2015
방화    2019
...

 

내가 나중에 가보려고 만든 빵지순례표

 

순번 매장 명장 분점,
체인점
1 박찬회화과자 , 브리앙과자점 박찬회 명장  
2 브레댄코 /(개인 베이커리 없음) 임헌양 명장
3 리치몬드 과자점 (서울 마포) - 성산본점 권상범 명장  
4 봉베이커리 () 김종익 명장  
5 코른베르그과자점 (서울 송파) 서정웅 명장
6 김영모 과자 (서울 서초) - 서초 본점 김영모 명장
7 안스베이커리 (인천) - 구월본점 안창현 명장
8 함스브로트 과자점 (서울 도봉) 함상훈 명장  
9 홍종흔 베이커리 홍종흔 명장
10 명장텐 (경기 고양) 송영광 명장 + 시흥 1
11 어썸브레드 팬트리 (경기 화도), 빵준사, 명장시대 박준서 명장  
12 빵과당신 (경기 평택) 인재홍 명장  
13 이흥용과자 (부산) - 부산 본점 이흥용 명장 ✅ 부산에 4곳
14 김덕규 과자점 (경남 김해) 김덕규 명장  
15 엘리제 과자점 (서울 노원구),  (경기 남양주) 최형일 명장
16 베비에르 (광주광역시) 마옥천 명장
17 랑콩뜨레 (울산) 이석원 명장

 

 

 

http://kmasterhand.or.kr/master/?s=list&midx=10&srctype=&srcValue=%EC%A0%9C%EB%B9%B5&page=2

 

대한민국명장회

 

kmasterhand.or.kr

 

 

http://kmasterhand.or.kr/

 

대한민국명장회

 

kmasterhand.or.kr

 

1. train_test_split

 

  • 전체 데이터를 훈련(train) 세트와 테스트(test) 세트로 나누는 함수
  • 모델을 훈련용 데이터로 학습하고, 테스트용 데이터로 평가할 수 있게 해줌
from sklearn.metrics import train_test_split
train = df[['target', 'fbs', 'thalach', 'chol', 'sex']][:800]

train, test = train_test_split(train, test_size=0.2, random_state = 123)

 

 

2. 정확도 (Accuracy)

  • 전체 데이터 중에서 맞춘 비율
  • 정확도는 1에 가까울수록 좋은 성능을 보임
from sklearn.metrics import accuracy_score

accuracy = accuracy_score(test, pred)

 

 

from statsmodels.formula.api import logit

# formula방식
model = logit('target ~ fbs + thalach + chol + sex', data=train).fit()

# 예측
pred = model.predict(test)
pred = (pred > 0.5).astype(int)

# 정확도 계산
accuracy = (pred == test['target']).mean()

3. 오분류율 (Error Rate)

  • 전체 중에서 틀린 예측의 비율
from sklearn.metrics import accuracy_score

accuracy = accuracy_score(test, pred)
error_rate = 1 - accuracy

 

4. 정밀도 (Precision)

from sklearn.metrics import precision_score

precision = precision_score(test, pred)

 

 

5. MSE (Mean Squared Error)

 

  • 예측값과 실제값 차이의 제곱 평균
  • 값이 0에 가까울수록 예측이 정확함

 

from sklearn.metrics import mean_squared_error

mse = mean_squared_error(y_true, y_pred)
print("MSE:", round(mse, 3))

 

6. RMSE (Root Mean Squared Error)

 

  • MSE의 단위가 제곱이기 때문에, 원래 단위로 맞추기 위해 제곱근을 씀
  • 값이 작을수록 좋음
from sklearn.metrics import mean_squared_error

rmse = mean_squared_error(y_true, y_pred, squared=False)
print("RMSE:", round(rmse, 3))

 

 

7. F1-Score

 

  • **정밀도(Precision)**와 **재현율(Recall)**의 조화 평균
  • 불균형 데이터(예: 1이 적은 경우)에서 모델 성능 평가에 유리
from sklearn.metrics import f1_score

f1 = f1_score(y_true, y_pred)
print("F1-Score:", round(f1, 3))

 

 

기본은 binary classification (0 vs 1)
다중 분류일 땐 average='macro' 또는 average='weighted' 추가

 

# 다중 분류 예시
f1_macro = f1_score(y_true, y_pred, average='macro')
import numpy as np
import pandas as pd 

df = pd.read_csv('/kaggle/input/bigdata-csvfile/Sleep_health_and_lifestyle_dataset.csv')

df = df.select_dtypes(include = 'numbers')
corr = df.corr()

 

df.select_dtypes(include='number')  # 숫자형 컬럼만 추출
df.select_dtypes(include='object')  # 문자형 컬럼만 추출
df.select_dtypes(include='category')  # 범주형만 추출

# 여러 타입도 선택 가능

df.select_dtypes(include=['int64', 'float64'])

1. pandas.DataFrame.corr()

df['col'].corr() # 기본값 피어슨 상관계수
df['col'].corr(method = 'spearman') # 순위 기반 상관계수 스피어만 (서열형에 적합)
df['col'].corr(method = 'kendall') # 켄달 순위 상관계수
'pearson' 기본값, 연속형 변수 간 선형관계
'spearman' 순위형 또는 비선형 관계 탐색
'kendall' 순위형 변수 간 관계 (robust)

 

 

 

2. scipy.stats.pearsonr(x, y)

from scipy.stats import pearsonr

corr, pval = pearsonr(df['소득'], df['주택가격'])
print(corr)     # 상관계수
print(pval)     # 유의확률(p-value)

 

 

📕 비교표

항목 .corr() stats.pearsonr(x, y)
상관계수 계산 방식 피어슨(기본값), spearman, kendall 피어슨(고정)
p-value 제공 여부 ❌ 없음 ✅ 있음
NaN처리 자동 무시 에러발생 (dropna 필요)
다변수 분석 지원 ✅ (DataFrame 전체 상관 행렬 ❌ (1:1 변수 비교만 가능)
주로 언제 사용하나 변수 간 전체 상관 구조 파악할 때 특정 변수 간 통계적 유의성 확인할 때
import warnings

warnings.filterwarnings('ignore')  # 경고 메시지 무시

 

 

  • warnings.filterwarnings('ignore')는 실행 중 발생하는 모든 경고 메시지를 무시(출력하지 않음)하는 함수
  • 파이썬 내장 라이브러리 warnings의 기능
  • 실제 오류(에러)는 무시하지 않고, 경고(warning)만 무시
    • 에러(error)는 여전히 화면에 출력됨 (코드 중단)
    • warning(경고)만 화면에서 숨겨줌
  • 실기/실무에서 코드 output을 깔끔하게 할 때 자주 사용

 

‼️ 차이점은 ddof (자유도)의 기본값 차이

 

np.std() (NumPy의 표준편차)

  • 기본값 ddof = 0

 

Series.std() (Pandas의 표준편차)

  • 기본값 ddof = 1

 

🚩 즉, 두 함수의 기본 자유도 차이(ddof)로 결과가 달라질 수 있음!

 

  • 실제 값 차이 예시
    (n=5일 때, 단순 예시)
    • 모집단: 분모가 5 (n)
    • 표본: 분모가 4 (n-1)
  • 실기/실무에서 표본 표준편차(ddof=1)가 기본입니다.

 

 

np.std() (NumPy의 표준편차) Series.std() (Pandas의 표준편차)
기본값 ddof = 0 기본값 ddof = 1

 

 

  • "어떤 방식의 표준편차를 요구하는지"
    • 공식 예시에서 pandas로 했는지, numpy로 했는지, ddof=0 또는 1인지 확인
  • 정답이 소수점 단위까지 요구될 때는,
    무조건 pandas의 std()로 통일하거나
    np.std(..., ddof=1)로 맞춰주는 것이 안전함!

 

 

❌np.var() 도 pandas().var()과 다름

  • np.var() 도 ddof = 1을 꼭 기입
  • pandas는 기본값