본문 바로가기

Hello MLop/ML

(8)
MLop_ML_LightGBM_신용카드 이상 거래 예측 20221115 28일차 오늘 할 실습은 LightGBM을 활용한 신용카드 이상거래 예측이다. 데이터는 kaggle에서 가져왔으며 간단한 데이터 세트는 이러하다. LightGBM (Light Gradient-Boosting Machine)? Microsoft 에서 개발한 머신 러닝용 분산 그래디언트 부스팅 모델이다.결정 트리 알고리즘을 기반으로 만들어졌다. XGBoost의 많은 장점을 가지고 있는데이 둘의 가장 큰 차이점은 트리 구성에 있다. LightGBM은 대부분의 다른 구현처럼 트리를 레벨별로(행 단위로) 성장시키지 않는다. 아래 사진을 보자 왼쪽의 Leaf-Wise Growth가 LightGBM의 경우인데 오른쪽에 비해 leaf-node로 확장되는것을 볼 수 있다. 때문에 XGBoost보다 학습하..
MLop_ML_XGBoost_커플 성사 여부 예측 20221115 28일차 오늘 해볼 알고리즘은 XGBoost(eXtreme Gradient Boosting)을 사용한 커플 성사 여부 예측이다. 데이터는 kaggle에서 가져왔으며 먼저 XGBoost에 대하여 알아보자. XGBoost(eXtreme Gradient Boosting) 먼저 전체적인 개념을 이해하기 앞서 우리는 Gradient Boosting의 개념을 먼저 잡는게 개인적으로 중요하다고 생각한다. 개인적으로 나는 왜 발전을 시켜야 했을까? 어떤 포인트가 한계라고 느끼게 했을까? 그럼 어떤 방식으로 바뀌었길레 발전이 되었나? 를 중요하게 생각한다. 전체적인 흐름을 보자. 💡 결정트리모델은 각 특징을 조건으로 구분하여 트리 모양으로 나눈 후 결과를 도출한다. 하지만 트리 하나만으로는 정확도가 그리..
MLop_ML_RandomForest_중고차 가격 예측 20221114 27일차 오늘 할 내용은 RandomForest를 이용한 중고차 가격예측이다. 데이터는 kaggle에서 참조했다. 간단한 데이터 세트 정보이다. 💡 RandomForest의 사전적 의미 다수의 결정 트리들을 학습하는 앙상블 방법이다. 랜덤 포레스트는 검출, 분류, 그리고 회귀 등 다양한 문제에 활용되고 있다. ❗ 앙상블 방법 학습 알고리즘(learning algorithm)들을 따로 쓰는 경우에 비해 더 좋은 예측 성능을 얻기위해 다수의 학습 알고리즘을 사용하는 방법이다. 앙상블 방법은 랜덤 포레스트의 랜덤화 특성을 더욱 향상 시켜준다. 이러한 방법으로한 포레스트의 예측 결과는 모든 트리의 예측 결과들의 평균으로 얻는다. 간단하게 설명하면 결정트리의 한계점을 보완해 만들어진것이 랜덤 포레..
MLop_ML_DecisionTree_급여 예측 분류 22021110 23일차 오늘 포스팅할 내용은 DecisionTree, 결정트리이다. 불러온 데이터는 kaggle의 Salary Prediction Classification (급여 예측 분류) 이다. 간단한 데이터세트 정보이다. DecisionTree, 결정트리? 💡사전적 의미 의사 결정 규칙과 그 결과들을 트리 구조로 도식화한 의사 결정 지원 도구의 일종. 쉽게 풀이하자면, 분류해서 정리되는 과정이다. 이사를 예로 들면 좋을것 같은데 이사는 보통 현재 집의 물건들을 모두 패키징해서 새로운 집에 다시 정리하는 과정인데 이 과정이 사실 결정트리와 같다고 생각한다. 기존 집의 모든 나의 물건들을 새로운 집에 정리할 때 가장 먼저 하는 분류는 무었인가? 바로 위치이다. 거실이야? 안방이야? 주방이야? 화장실..
MLop_ML_NaiveBayes_SMS 스팸 수집 20221109 22일 차 오늘 적용할 모델은 NaiveBayes이다. 데이터는 kaggle에서 SMS Spam Collection Dataset을 가져왔다. 들어가기 앞서 Naive Bayes에 대해 알아보자. Naïve Bayes Classification란? 사전적 의미 : 특성들 사이의 독립을 가정하는 베이즈 정리를 적용한 확률 분류기 Naïve의 사전적 의미 = '(모자랄 정도로) 순진한' 사전적 의미를 덧붙여 해석하면 그냥 단순하고 순수하게 Bayes분석을 한다로 볼 수 있다. 왜 이런 뜻이 됐을까? 그 이유는 분류를 쉽고 빠르게 하기 위해 분류기에 사용하는 특징(feature)들이 서로 확률적으로 독립이라는 순수함이 가정으로 들어갔기 때문이다. 예를 들어 타이타닉 생존자 예측에서 생존률이 알..
MLop_ML_KNN_WineData 20221108 21일차 이번에 해볼것은 kaggle의 WindData에 KNN알고리즘을 적용시켜 보겠다. KNN 알고리즘이란? 내가 잘 이해했다면 KNN알고리즘은 다음과 같다고 생각한다. "원안에 누가 많아? 이게 많아? 그럼 너는 이거일 확률이 높아." 이다. 조금 학술적인 단어를 추가하면 데이터로부터 거리가 가까운 'K'개의 다른 데이터의 레이블을 참조하여 분류하는 알고리즘으로 거리를 측정할 때 '유클리디안 거리' 계산법을 사용한다. 💡 한가지 Tip은 원안에 들어오는 비교할 데이터 개수를 K개라고 할때 보통 홀수로 지정하는게 좋다. 왜냐하면 짝수일 경우 반반의 확률이 나올 수 있기 때문이다. ❗ 주의할 점 거리기반 모델이기 때문에 표준화가 필요함. 💡 정규화 적용(=스케일링) ▶ 최소 - 최대 정..
MLop_ML_로지스틱회귀_타이타닉 생존자 예측 20221108 21일차 오늘의 분석은 로지스틱 회귀분석이다. 다뤄볼 데이터는 kaggle에서 가져온 Titanic 데이터를 활용해 보았다. 앞서 한 선형회귀 분석의 보험료 측정에서는 어떤 요인이 결과에 영향을 미칠까의 문제였다. 즉, 쉽게 말하면 선형 회귀 분석은 결과에 요인이 영향을 미치냐 안미치냐 의 문제다. 로지스틱 회귀 분석은 결과가 1아니면 0이다. 즉, 죽거나 살거나, 가거나 멈추거나, 결과가 두 가지로 정해져 있다. 이러한 결과들을 요인이 결정하는데 영향을 미치느냐 마느냐다. 그렇다면 통계학적 용어를 대입해보면 결과는 종속변수(y, f(x), ...)로 대입해보고 요인을 독립변수(x, ax+b,...)로 대입해 보자. 선형 회귀분석은 독립변수가 종속변수의 값에 영향을 얼마나 끼치는지 분석하..
MLop_ML_선형회귀_보험료 예측 20221107 20일 차 머신러닝 수업 1일차 기본적인 과정을 끝마치고 프로젝트도 해보고 머신러닝의 세계로 발을 딛었다. 1일차라 간단하게 insurance.csv를 가지고 맛만 보는 시간을 가졌다. 처음으로 해보는 방식은 선형회귀를 통해 실습해 보았다. 중요 라이브러리를 import해주고 file_name에 실제 파일 이름을 변수로 저장 주소는 url이라는 변수에 저장 후 f 스트링을 통해 file_name을 넣어주고 pd.read_csv()를 통해 데이터를 확인해 보았다. .head()를 해본 결과 데이터가 잘 나온것을 확인할 수 있었다. .info()로 결측치 확인과 데이터 타입, 컬럼명을 확인하고 .describe()를 통해 각 컬럼별 데이터값의 통계량을 보았다. * 판다스의 숫자 데이터를 소숫..