머신러닝

    Machine Learning_피처 엔지니어링

    Machine Learning_피처 엔지니어링

    barplot함수를 사용해 등급별 객실 요금의 중간값 분포를 알아보았다. 생존자 비율이 높은 1등석, 2등석을 보면 생존자들이 지불한 객실 요금이 높은 패턴을 보인다. 남녀 성별에 따른 생존율 분포이다. 시본 histplot함수의 옵션을 조정한다. multiple 속성에 stack 옵션을 설정하여 막대 그래프를 누적하여 나타낸다. 남성의 생존율이 낮고 여성의 생존율이 상대적으로 높다. Name 열을 선택하고 str 속성을 적용하면 문자열을 직접 추출할 수 있다. split 메소드를 적용하면 이름을 나타내는 문자열을 쉼표를 기준으로 분할한다. 또한 성을 나타내는 Family Name 부분[1]을 나눌 수 있고, 타이틀 추출이 가능하다. violinplot 함수를 통해 타이틀별 생존 여부에 따른 승객 나이 ..

    Machine Learning_타이타닉 생존자 예측

    Machine Learning_타이타닉 생존자 예측

    matrix 함수를 통해 데이터프레임의 어느 위치에 결측값이 있는지 확인할 수 있다. 목표 변수인 Survived 열과 상관 계수가 높은 피처는 Pclass와 Fare이다. 객실 등급과 객실 요금을 뜻하는 두 피처의 상관 계수는 -0.55로 매우 강한 음의 상관 관계가 있다. 따라서 객실 등급에 따라 객실 요금이 달라지는 것을 알 수 있다. 숫자형 데이터를 가진 열을 추출하고, data_num에 저장한다. fillna 메소드를 사용하여 'Age'열의 결측값을 평균값으로, 'Fare'열의 결측값은 가장 빈도수가 많은 값으로 대체한다. 정밀도(Precision)가 높다는 것은 실제 False를 True로 잘못 예측하는 오류가 작다는 뜻이다. 재현율(Recall)이 높다는 것은 실제 True를 False로 잘..

    MachineLearning_회귀(Regression)

    MachineLearning_회귀(Regression)

    판다스 데이터프레임에 corr 메소드를 적용하면 숫자 데이터를 갖는 변수 간의 상관 계수를 계산한다. 시본의 heatmap 함수를 사용하면 상관 계수 테이블을 시각화 할 수 있다. 목표 변수인 Target 열은 RM 변수와 상관 계수가 0.69이고, LSTAT 변수와 -0.73으로 높은 편이다. 행 기준으로는 Target을 제외한 나머지 변수를 모두 선택하고, 열 기준으로는 Target을 선택한다. abs는 상관계수 값을 모두 양의 값으로 바꾼다. LSTAT와 RM의 선형 관계가 뚜렷하다. LSTAT와 RM은 목표 변수인 Target과 강한 선형 관계를 갖기 때문에 이 둘을 학습데이터(X_data)로 선택한다. 선형회귀 모델의 coef_ 속성으로부터 각 피처에 대한 회귀계수 값을 얻고 intercept_..

    MachineLearning_교차 검증

    MachineLearning_교차 검증

    1. Hold-out 학습 데이터 일부를 검증 데이터로 사용하는 방법을 홀드 아웃 교차 검증이라고 한다. 검증 데이터는 모델 학습에 사용되지 않은 데이터이므로 모델의 일반화 성능을 평가하는데 쓰인다. 검증 정확도가 훈련 정확도보다 낮기 때문에 훈련 데이터에 과대적합이 발생되었다. 즉 , 새로운 데이터 성능과 예측력이 낮아진다. 2. K-fold K-fold 교차 검증은 홀드아웃 방법을 여러 번 반복하는 방법이다. 전체 데이터를 k개의 부분 집합으로 나누고, 그 중에서 첫 번째 부분 집합을 검증용으로 사용하고 나머지 k-1개의 집합을 모델 훈련에 사용한다. 그 다음 두번째 부분집합(Fold2)을 검증용으로 사용하여 모델 성능을 평가한다. 데이터를 서로 겹치지 않게 분할하여 모두 k번 검증하므로 모델 일반화..

    MachineLearning_앙상블 모델

    MachineLearning_앙상블 모델

    앙상블 모델은 여러 모델을 결합하여 성능을 높이는 방법이다. 하나의 모델 예측에 의존하는 것보다 여러 모델을 종합해서 보면 모델의 예측력이 좋아지기 때문이다. 1. 보팅 모두 같은 데이터를 학습하는 서로 다른 알고리즘이다. 여러 개의 모델이 예측한 값 중에서 다수결로 최종 분류 클래스를 정한다. 정확도가 개선되는 동시에 개별 모델에 비해 학습 시간이 오래걸린다. 2. 배깅 의사결정나무는 한 개의 트리를 사용한다. 반면 랜덤 포레스트는 트리 모델을 여러 개 사용하여 각 모델의 개별 예측값을 보팅을 통해 결정한다. 이처럼 같은 종류의 알고리즘 모델을 여러 개 결합하여 예측하는 방법을 배깅이라고 한다. 3. 부스팅 여러개의 가벼운 모델을 순차적으로 학습한다. 잘못 예측한 데이터에 대한 예측 오차를 줄일 수 있..

    MachineLearning_로지스틱 회귀&의사결정나무

    MachineLearning_로지스틱 회귀&의사결정나무

    로지스틱 회귀(Logistic Regression)는 회귀라는 이름으로 되어있지만 실제로 분류알고리즘에 속한다. 시그모이드 함수의 출력값(0~1)을 각 분류 클래스에 속하게 될 확률 값으로 사용한다. 확률이 1에 가까우면 해당클래스로 분류하고, 0에 가까우면 아니라고 분류한다. LogisticRegression은 기보넞ㄱ으로 릿지 회귀와 같이 계수의 제곱을 규제한다. 이런 규제를 L2규제라고도 한다. 이진분류에서는 시그모이드 함수를 이용해 Z를 0과 1 사이값으로 변환한다. 이와 달리, 다중 분류는 소프트맥스 함수로 Z값을 확률로 변환한다. 첫 번째 열은 클래스 0의 예측 확률, 두번째 열은 클래스 1의 예측 확률, 세번째 열은 클래스 2의 예측 확률이다. 첫 번째 행의 값을 보면 0번째 열의 예측 확률..