지금까지 선형회귀와 로지스틱회귀를 배웠는데, 이 외에 자주 쓰는 분류와 회귀에 대한 알고리즘들을 학습하는 시간을 가졌다. ✳️ 의사결정나무(Decision Tree, DT): 의사결정규칙을 나무 구조로 나타내어 전체 자료를 몇 개의 소집단으로 분류하거나 예측을 수행하는 분석 방법 💟 명칭루트 노드(Root Node) : 의사결정나무의 시작점. 최초의 분할조건리프 노드(Leaf Node) : 루트 노드로부터 파생된 중간 혹은 최종 노드분류기준(criteria) : sex는 여성인 경우 0, 남성인 경우 1로 인코딩. 여성인 경우 좌측 노드로, 남성인 경우 우측 노드로 분류불순도(impurity)불순도 측정 방법 중 하나인 지니 계수는 0과 1사이 값으로 0이 완벽한 순도(모든 샘플이 하나의 클래스)..
타이타닉 데이터를 이용하고, 살아남은 승객을 예측하는 모델을 만들어서 train과 test를 구분 지어두고 train 데이터로 모델을 학습 시킨 뒤, test 데이터에 적용하여 결과를 토대로 얼마나 예측을 잘 해냈는지 캐글에서 확인해보기! import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns먼저 필요한 라이브러리들을 불러온다. ✳️ 데이터 로드 & 분리train / test 데이터 분리train_df = pd.read_csv('C:/Users/82109/OneDrive/문서/ML/titanic/train.csv')test_df = pd.read_csv('C:/Users/82109/OneDri..
import pandas as pdtitanic_df = pd.read_csv('C:/Users/82109/OneDrive/문서/ML/titanic/train.csv', encoding='utf-8')titanic_df.head(3)변수 설명PassengerId: 승객 식별자(Primary Key)Survival : 사망(0) 생존(1)Pclass: 티켓 등급(1,2,3 등급)Name: 이름Sex: 성별Age: 나이SibSp: 승객의 형제와 배우자 수Parch: 승객의 부모님과 자식 수*컬럼명에 오류가 있지만, 추후에 위 2가지 변수는 Family로 더하여 사용할 예정Ticket: 티켓 번호Fare: 요금Cabin: 객실 이름Embarked: 승선한 항구 C(Cherbourg), Q(Queenstown)..
✳️ 로지스틱회귀 (Logistic Regression) 독립변수 Y의 선형 결합을 이용해 사건의 발생 가능성을 예측하는 데 사용되는 통계 기법 🤔 로지스틱회귀 이론 얘는 왜 나온건데!?X가 연속형 변수이고, Y가 특정 값이 될 확률이라고 설정한다면, 왼쪽 그림과 같이 선형으로 설명하긴 쉽지 않아!확률은 0과 1사이 인데, 예측 값이 확률 범위를 넘어갈 수 있는 문제가 있다!하지만 오른쪽 그림처럼 S자 형태의 함수를 적용하면 잘 설명한다고 할 수 있다!! ✳️ 로짓의 개념💟 오즈비 (odds ratio): 실패 확률 대비 성공 확률예) 게임이 이길 확률이 80%라면 오즈비는 80%/20% = 4이다. 따라서 1번 실패하면 4번은 이긴다. 그러나 오즈비는 바로 쓸 수 없다..!P는 확률 값으로 0,1..
✳️ 선형 회귀의 가정선형회귀는 이해하기 쉽고 방법도 쉽지만 X와 Y 변수 간의 선형적 관계가 좋아야만 좋은 성능을 나타낸다. 1️⃣ 선형성 (Linearity): 종속 변수(Y)와 독립 변수(X) 간에 선형 관계가 존재해야 함. 2️⃣ 등분산성 (Homoscedasticity): 오차의 분산이 모든 수준의 독립 변수에 대해 일정해야 함.즉, 오차가 특정 패턴을 보여서는 안되며, 독립 변수의 값에 상관 없이 일정해야 한다. 3️⃣ 정규성 (Normality): 오차 항은 정규 분포를 따라야 함 4️⃣ 독립성 (Independence): X변수는 서로 독립적이어야 함다중공선성 문제회귀분석에서 독립변수(X)간의 강한 상관관계가 나타나는 것을 다중공선성(Multicolinearity)문제 다중공선성 해결..
✳️ 다중선형회귀 실습다중선형회귀 : 단순선형회귀와 같은 개념이지만 독립변수 X가 여러개인 분석기법 앞 글에 단순선형회귀 실습에 이어서, tips 데이터들 중 범주형 데이터들을 이용해서 다중선형회귀를 실습해보도록 한다.https://se0ehe.tistory.com/151 [머신러닝 기초] 단순선형회귀 실습✳️ 단순선형회귀 실습 - 임의데이터선형회귀에 대해 실습을 하기위해 필요한 라이브러리들이 없기 때문에 설치하고 시작! pip install scikit-learn! pip install numpy! pip install pandas! pip install matplotlib! pse0ehe.tistory.com tips_df.head(3) 🤖 성별 데이터를 이용범주형 데이터이기 때문에 encodin..
✳️ 단순선형회귀 실습 - 임의데이터선형회귀에 대해 실습을 하기위해 필요한 라이브러리들이 없기 때문에 설치하고 시작! pip install scikit-learn! pip install numpy! pip install pandas! pip install matplotlib! pip install seaborn 그리고 라이브러리들을 import 해준다.import sklearn import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns ✏️ 데이터 생성이전 글에 대해서 키와 몸무게로 예시를 들었던 것을 살려서 실습에도 비슷한 데이터로 다뤄보기 위해 데이터를 생성해보자!weights = [87, 81, ..
✳️ 선형회귀 (Linear Regression): 데이터를 가장 잘 대변하는 최적의 선을 찾는 과정 💡 이론을 위한 사례키(Y)와 몸무게(X) 간의 데이터weights = [87,81,82,92,90,61,86,66,69,69]heights = [187,174,179,192,188,160,179,168,168,174] 키와 몸무게 간의 산점도와 예측 해볼 수 있는 선형 그래프 키와 몸무게의 분포를 보니 두 변수 사이에 일정하게 증가하는 패턴이 나타나는 것으로 가늠할 수 있다.그래서 몸무게를 알면 키를 예측할 수 있지 않을까? 라고 생각할 수 있다.실제로 각 값의 분포에 대해 선을 여러 경우로 그릴 수 있는데, 이때 가장 데이터의 분포를 잘 대변하는 선을 그리는 것이 선형회귀인 것이다. 🤔 여러 선들..
✳️ 머신러닝머신러닝(Machine Learning, ML): 기술 통계 등을 통하여 집계된 정보로 의사결정을 했던 과거와 달리 데이터 수집과 처리 기술의 발전으로 대용량 데이터의 패턴을 인식하고 이를 바탕으로 예측, 분류하는 방법론AI: 인간의 지능을 요구하는 업무를 수행하기 위한 시스템Machine Learning: 관측된 패턴을 기반으로 의사 결정을 하기 위한 알고리즘Deep Learning: 인공신경망을 이용한 머신러닝Data science: AI를 포괄하여 통계학과 컴퓨터공학을 바탕으로 발전한 융합학문Data Analysis: 데이터 집계, 통계 분석, 머신러닝을 포함한 행위 💟 머신러닝 종류Supervised Leaning(지도 학습)Unsupervised Learning(비지도 학습)Re..
✳️ 피어슨 상관관계 ⭐ 피어슨 상관계수 - 선형적인 관계가 예상 될 때 사용두 연속형 변수 간의 선형 관계를 측정하는 지표-1에서 1 사이의 값을 가지며1은 완전한 양의 선형 관계-1은 완전한 음의 선형 관계0은 선형 관계가 없음을 의미 X와 Y의 선형 관계를 보여줌그래프에서 점들이 직선적으로 퍼져 있으며, 상관계수는 0.99로 매우 강한 양의 선형 관계를 나타냄 ☑️ 실습import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsfrom scipy.stats import pearsonr# 예시 데이터 생성np.random.seed(0)study_hours = np.random.rand(100) * 10..