Loading...
2022. 4. 8. 22:00

로지스틱 회귀(Logistic Regression)

로지스틱 회귀(Logistic Regression) - 독립 변수의 선형 결합을 이용하여 사건의 발생 가능성을 예측하는 데 사용되는 통계 기법 로지스틱 회귀 목적 - 일반적인 회귀 분석의 목표와 동일하게 종속 변수와 독립 변수간의 관계를 구체적인 함수로 나타내어 향후 예측 모델에 사용하는 것. - 이는 독립 변수의 선형 결합으로 종속 변수를 설명한다는 관점에서는 선형 회귀 분석과 유사 - 하지만 로지스틱 회귀는 선형 회귀 분석과는 다르게 종속 변수가 범주형 데이터를 대상으로 하며 입력 데이터가 주어졌을 때 해당 데이터의 결과가 특정 분류가 나뉘기 때문에 일종의 분류(Classification) 기법으로 볼 수 있음 로지스틱 회귀는 종속 변수가 이항형 문제(유효한 범주의 개수가 두 개인 경우)를 지칭할 때..

2022. 4. 7. 21:48

SVM(서포트 벡터 머신) 알고리즘

서포트 벡터 머신(SVM, Support Vector Machine) SVM이란 두 개의 그룹(데이터)을 분리하는 방법으로 데이터들과 거리가 가장 먼 초평면(Hyperplane)을 선택하여 분리하는 방법 - 데이터를 분리하기 위해 직선이 필요 - 직선이 한쪽 데이터로 치우쳐져 있으면 데이터에 변동이나 노이즈가 있을 때 제대로 구분하지 못할 수 있음 - 이러한 문제점을 해결하기 위해 margin(마진)을 이용 Optimal Hyperplane(초평면) Support Vector은 데이터를 의미 margin은 초평면과 가장 가까이 있는 데이터와의 거리를 의미 마진을 최대로 만드는 직선을 계산하여 데이터를 분류하는 방법이 서포트 벡터 머신(SVM) - C값은 사용자가 설정하는 파라미터 - C값을 크게 설정하면..

2022. 4. 6. 20:29

Tree-based Model(트리 기반 모델)

1. 트리 기반 모델 트리 기반 의사 결정 모델은 Feature space를 여러 개의 영역으로 나누는 것을 목표로 동작하는 알고리즘. Feature space를 평균(회귀) 또는 모드(분류)를 기반으로 주어진 관찰에 대한 예측 수행 2. 트리 기반 모델의 평가 척도 트리 기반 의사 결정 모델은 Impurity(불순도)로 측정되며 설정된 불순도 기준에 따라 변수가 Stopping Criteria(중지 기준)에 도달할 때까지 반복적으로 분할 1) 불순도 측정 척도 [1] Entropy 엔트로피 - 샘플이 완전 균질하면 엔트로피는 0, 샘플이 마구 섞여 있으면 엔트로피가 1이 됨. 엔트로피는 중간에서 최댓값을 가지며 그 값은 1이고 극값은 0으로 최솟값을 가진다. 즉, 데이터가 서로 다른 종류끼리 섞여있으면..

2021. 10. 10. 13:22

스태킹, 블렌딩 기법(Stacking or Blending Methods)

스태킹은 Stacked Generalizaion의 줄임말로, 여러 가지 머신러닝 기법으로 만들어진 예측기들의 예측을 취합하는 방법이다. 보팅처럼 간단한 함수를 사용하는 대신 이러한 여러 예측기의 예측을 입력으로 받아들여 이들을 취합하는 모델을 훈련하는 것이 기본적인 아이디어이다. 이전 레이어의 모델에서 만들어진 결과가 다음 레이어의 모델을 훈련하는 데이터로 사용되도록 여러 레이어로 만들어진 앙상블 기법이라서 쌓는다는 의미의 스태킹이라는 이름이 붙은 것이다. 이전 레이어 모델이 만든 결과들을 훈련 데이터로 입력받아 만들어진 모델은 메타 러너(Meta Learner) 또는 블렌더(Blender)라고 불린다. 이전 레이어의 결과들을 뒤섞는다는 의미에서 붙여진 이름이다. 넷플릭스 대회에서 수상한 벨코어 프래그매..

2021. 10. 9. 14:07

Boosting 알고리즘

부스팅 기법이란 여러 개의 약한 머신러닝 기법을 차례대로 학습하는 과정에서 오류를 개선해 가면서 최종 성능을 높여 가는 앙상블 기법이다. 부스팅 기법은 여러 나무를 병렬 방식으로 학습하는 랜덤 포레스트 등의 방식보다는 느릴 수밖에 없다. 그 이유는 여러 나무 또는 머신러닝 기법들을 직렬 방식으로 순차적으로 학습하기 때문이다. 그래서 속도의 문제를 해결하기 위해 새로운 부스팅 모델들이 개발되는데, 그것이 바로 XGBoost, LightGBM, CatBoost이다. 이번 글에서는 위의 세 가지 부스팅 기법이 속도의 문제와 더불어 과적합의 문제를 어떻게 해결하는지에 대해서 알아볼 것이다. XGBOOST 캐글 경연 대회에서 두각을 나타내면서 널리 알려져 각광을 받은 알고리즘으로, 특히 분류에서 뛰어난 예측 성능..

2021. 9. 24. 16:49

파이썬 데이터 분석 실무 테크닉 100 -최적화(4)

테크닉 067 : 최적 생산 계획이 제약 조건을 만족하는지 확인하자 이전 글에 이어 최적 생산 계획이 제약 조거늘 만족하는지 확인할 것이다. 최적화 문제를 풀 때 가장 주의할 점은 최적화 계산을 한 결과를 이해하지 않고 그냥 받아들이면 안 된다는 것이다. 생산 최적화에 있어 결과를 이해하는 방법에는 먼저 제약 조건으로 규정한 "각 원료의 사용량"이 어느 정도이고 그것이 "재고를 효율적으로 이용하고 있는가"를 알아보는 방법이다. def condition_stock(df_plan, df_material, df_stock): flag = np.zeros(len(df_material.columns)) for i in range(len(df_material.columns)): temp_sum = 0 for j i..

2021. 9. 23. 18:12

파이썬 데이터 분석 실무 테크닉 100 -최적화(3)

테크닉 051~060을 통해 최적의 물류 계획을 세우기 위한 흐름을 배워보았다. 만약 "당신이 가지고 있는 데이터 분석 기술을 이용해서 우리 회사의 경영 현황을 계산해주세요"라는 의뢰를 받으면 그 업무를 어떻게 수행할까? 이 장에서는 몇 개의 라이브러리를 이용해 최적화 계산을 진행할 것이다. 고객 요청 회사의 제조에서 물류까지의 전체 흐름 중 어디에 비용 개선 가능성이 있는지 분석해 주셨으면 합니다. 전제조건 : 대리점(P, Q)가 있고 판매되는 상품군(제품 A, B)에는 일정 수요가 예측되어 있어, 이 수요량을 근거로 공장(공장 X, Y)에서의 생산량을 결정한다. 각 공장에서 대리점으로까지의 운송비, 재고 비용들을 고려해서 결정 테크닉 061 : 운송 최적화 문제를 풀어보자 운송 최적화 문제를 풀어볼 ..

2021. 9. 14. 21:37

파이썬 데이터 분석 실무 테크닉 100 -최적화(2)

테크닉 056 : 운송 경로 정보를 불러오자 이번 글에는 본격적으로 물류 데이터를 이용해 최적화를 진행해 볼 것이다. # 데이터 불러오기 df_tr = pd.read_csv('data/6장/trans_route.csv', index_col = '공장') df_tr.head() 결과를 보면 어느 창고에서 어느 공장으로의 물류가 많은지는 알 수 있다. 그러면 네트워크 가시화를 이용해 운송 경로를 가시화해 보자. df_pos = pd.read_csv('data/6장/trans_route_pos.csv') # 객체 생성 G = nx.Graph() # 노드 설정 for i in range(len(df_pos.columns)): G.add_node(df_pos.columns[i]) # 엣지 설정 및 가중치 리스트화..