본문 바로가기

728x90
반응형

분류 전체보기

(303)
[복습] Python | 분석 | 연관분석(2) 연관분석 연습문제 데이터 로딩 방법 1) order id가 1번인 경우 결합 시도 모든 order_id 에 대해 반복 방법 2) 방법 3) [ 연습 문제 ] 품질검사원 A의 과거 기록을 분석한 결과 적합품(양품)을 부적합품(불량품)으로 판정하는 비율은 2%, 부적합품(불량품)을 적합품(양품)으로 판정하는 비율은 1%이었다. 이 공장의 부적합품(불량품) 생산 비율은 1%이다. 검사원 A가 어떤 제품을 부적합품(불량)으로 판정하였을 경우 실제로 부적합품(불량)일 확률은? P(실제부적합|부적합예측) 정답 : 0.33 [ 연습 문제 풀이 ] P(부적합예측|실제적합) = 0.02 P(적합예측|실제적합) = 0.98 P(적합예측|실제부적합) = 0.01 P(부적합예측|실제부적합) = 0.99 P(실제부적합) = 0..
[복습] Python | 분석 | 연관분석(1) + 하루끝(20240214) 연관분석 - 비지도학습 - 장바구니 분석 = 서열 분석 - 각 장바구니 상품 간의 연관 규칙을 발견하는 모델링 기법 - 조건과 반응의 관계를 확률적으로 설명하는 기법 - 활용: 번들 상품, 진열 변경, 할인 쿠폰 발급, 추천 상품 노출 연관분석 데이터 셋(변경 전) 구매번호 상품명 수량 1 맥주 1 오징어 1 치즈 2 소주 2 맥주 2 라면 ↓ 코드로 연관분석 데이터 셋(변경 후) vlist = [['맥주', '오징어', '치즈'], ['소주', '맥주', '라면'], ['맥주', '오징어'], ['라면', '김치', '계란'], ['맥주', '소세지']] 평가 지표 1. 지지도(support) - 추천 연관 강도를 얼마나 지지할 수 있는 지에 대한 척도 - 너무 소수를 위한 추천 정책은 하지 않을 때 ..
[Python] imblearn 로딩 에러 sklearn과 imblearn 버전 호환 문제로 imblearn로딩시 에러 발생 1. sklearn 버전만 낮추기 pip uninstall scikit-learn -y pip uninstall scikit-learn -y #위 설치 에러나는 경우 한번 더 pip install scikit-learn==1.2.2 IDE 재시작 후 로딩 확인 import sklearn import imblearn 2. 둘 다 downgrade pip uninstall scikit-learn -y pip uninstall scikit-learn -y # 위 설치 에러나는 경우 한번 더 pip uninstall imbalanced-learn -y pip install scikit-learn==1.2.2 pip install ..
[복습] Python | 분석 | 상호작용(=교호작용, interaction effect) + 하루끝(20240213) - 설명변수들끼리의 교차곱 상태의 새로운 파생 변수 생성 기법 - 변수가 각각 종속변수에 영향을 주지는 않지만 두 개 이상의 변수가 교차곱 형태로 종속변수에 영향을 줄 수 있음 - 유효한 교호작용을 모를 경우 발생 가능한 모든 교호 작용을 출력 → 변수 중요도 확인(y가 factor) 또는 유의성 검정(y가 수치) 수행 - 스케일링 조정 후 변수 변환 필요 - 수치형 설명변수들에 대해 교차곱 생성이 의미를 가짐 예) y = x1 x2 x3 .... x10 x1^2 x2^2 ... x10^2 x1*x2 x1*x3 .... x1*x10 x1^3 x2^3 ... x10^3 x1*x2*x3 .... x1*x2*x10 예제 - iris data에서의 유의미한 interaction effect 찾기 1. 데이터 로..
[복습] Python | 분석 | 데이터 불균형(클래스 불균형) - 클래스 불균형: 분류 분석 시 각 클래스의 빈도 차이가 심한 경우 - 클래스 불균형이 심한 경우 다음의 문제 발생 1) 정확한 결정경계 생성이 어려움 → 과적합 발생 2) 예측 점수 신뢰도가 떨어짐 예) 100명 중 97명이 불합격, 3명이 합격인 경우 100명 모두 불합격이라고 해도 accuracy는 97%가 됨(실질적으로는 소수 클래스를 전혀 예측하지 못함 → 소수 클래스 accuracy 0%) - 다양한 측면에서의 분류 평가 지표를 확인할 필요가 있음. - 클래스 불균형일 경우 다수, 소수 클래스의 데이터를 조작하는 방식(언더, 오버 샘플링) 고려 가능 - 임계값 이동을 통해 소수 클래스 예측 비율을 조절하는 방식 고려 가능 - 기타 앙상블 기법이나 딥러닝 기법을 통해 클래스 불균형 문제를 해소..
[Python] 파이썬에서의 얕은 복사, 깊은 복사 파이썬은 객체 복사 시 얕은 복사와 깊은 복사 개념이 있음 파이썬의 객체 복사 유형 1) 얕은 복사(default) - 완전한 객체 복사가 이루어지지 않음 - 메모리를 공유하고 이름만 여러 개를 갖는 형태 2) 깊은 복사 - 완전히 물리적으로 분리된 객체 복사의 형태 - 객체 타입이 변경되거나 값이 재정의 될 때에는 깊은 복사가 수행됨 예) 리스트의 복사 메모리 주소값 확인 얕은 복사를 한 두 리스트의 주소 값이 같다. 같은 위치에 있다는 의미이다. shadow copy는 oracle에서 뷰와 같은 느낌이다. 즉, 물리적으로 분리되어 있지 않다. 물리적으로 분리하는 방법 deep copy 데이터프레임에서의 복사 emp_bak 파일도 바뀐 것을 확인할 수 있다.
[복습] Python | 분석 | 결측치 처리 - 결측치: NA, nan, ., ?, -, 공백 등으로 들어오는 데이터로, 정의되지 않은값, 잘못된 값 - 결측치 처리 1) 삭제 - 결측치를 포함한 행 삭제 - 결측치 비율이 높은 컬럼 삭제(30~40% 이상) 2) 대치 *** - 단순 대치: 한 번 대치 방법 1) 평균, 최빈값, 최대, 최소, 중앙값 등으로 대치 방법 2) 머신러닝 모델을 사용한 대치(knn imputer가 대표적. 편하기 때문에 사용하는 것이나 사용할 때 주의해야 할 점들이 있음) - 다중 대치: 여러 번 대치 ** knn imputer 대중성이 강한 방식이나 결측치의 끝판왕이 될 수늰 없음 knn 이라는 머신러닝 기법을 사용하여 NA를 예측하는 것으로, 적어도 knn 모델로 결측치를 대치하려면 knn의 특성을 알아야 함. kn..
[복습] Python | 분석 | 부스팅 이론(2) 지난 시간 cancer data로 GB, RF의 트리의 수렴 구간 확인(elbow point 확인) 1. 데이터 로딩 1) RF 2) GB
[복습] Python | 분석 | 부스팅 이론(1) + 하루끝(20240206) - 트리기반 모델에서의 강한 예측기를 만들어주는 기법 - 정의: 약한 학습기에서 강한 학습기를 만들어 최종 모형 평가 부스팅 트리는 서로 독립적이지 않다. 앞의 결과 트리가 뒤의 결과 트리에 영향을 주기 때문이다. 이전 트리 오차를 보완하는 두 번째 트리를 만드는 과정을 반복하는 기법이다. 즉, 이전 학습 결과 오차를 반영한 새로운 학습기를 만드는 과정인 것이다. 조금 더 복잡해지는 모델을 계속 반복하여 만들게 된다. - 서로 트리들이 상호 연관(오차를 보완하다보니 트리들끼리 독립적이지 않음 → parallel 효과 없음, 즉 CPU 코어를 갖고 job을 할당하여 마지막에 job을 합치게 되는데 서로 독립적이지 않은 모델들 가지고 parallel test를 하면 속도를 더 저하시키는 요인이 되기도 함. ..
[복습] Python | 분석 | 이미지 인식 (2) 지난 시간 이미지 인식 분류 모델링을 PCA + KNN 를 적용하여 풀이하여보자. 우선 지난 시간 내용을 간단히 정리하면, knn 은 이미지의 유사도 기반으로 분류과제를 해결할 때 과거에 많이 사용한 기법이다. 최근에는 NN 모델을 많이 사용한다. 머신러닝과 딥러닝의 차이는, 머신러닝은 데이터를 평탄화시켜야 하나 딥러닝은 2차원 이미지를 그대로 인식한다. 평탄화하여서도 머신러닝으로 분류 분석이 가능한데 왜 2차원 이미지 그대로 학습하는 것이 왜 학습 효과가 클까? 그 이유는 하나의 픽셀보다는 인근 픽셀의 신호를 인식하여야 할 필요가 있기 때문이다. KNN으로 각각의 픽셀끼리의 유사성을 기반으로 이미지를 추출하는 것도 의미가 없진 않지만 flatten 시키면 인근 신호의 의미있는 추출이 어려울 수 있다. ..

728x90
반응형