머신러닝 12

[스터디] 2일차 머신러닝-지도학습

오늘은 1차에 이어서 머신러닝 지도학습 분류를 이어서 스터디하도록 하겠습니다😊ㅎㅎ 지도 학습의 알고리즘 종류 랜덤 포레스트(Random Forest) 랜덤 포레스트(Random Forest)는 앙상블(Ensemble) 학습 방법 중 하나입니다. 이 모델은 여러 개의 결정 트리(Decison Tree)를 조합하여 더 강력한 분류 모델을 구축한 것 입니다. 랜덤 포레스트는 과적합(Overfitting)을 줄이고 예측 성능을 향상 시키는데 효과적이지만 의사결정나무를 사용했기 때문에 과적합이 일어나기는 한다. 한마디로 랜덤 포레스트는 기존 의사결정 나무를 앙상블 기법을 이용하여 더 강력한 모델로 구축한 것이고 의사 결정 나무보다 과적합이 줄고 예측 성능이 향상된 모델이다. 장점 다양한 종류의 데이터에 대해 높은..

스터디 2024.03.22

[머신러닝&딥러닝] 비선형 활성화 함수(Activation Funtions)

비선형 활성화 함수(Activation Funtions) ✨참고 https://wikidocs.net/60683 06-06 비선형 활성화 함수(Activation function) 비선형 활성화 함수(Activation function)는 입력을 받아 수학적 변환을 수행하고 출력을 생성하는 함수입니다. 앞서 배운 시그모이드 함수나 소프트맥스 함수는 대표적인… wikidocs.net 비선형 활성화 함수(Activation function)는 입력을 받아 수학적 변환을 수행하고 출력을 생성하는 함수입니다. 비선형 활성화 함수는 신경망의 성능을 향상시키기 위해 사용되며 선형 함수는 입력값과 가중치를 곱한 결과를 그대로 출력하기 때문에 신경망에서 여러개의 활성화 함수를 사용한다면 최종 출력값은 입력값과 가중치의..

[머신러닝&딥러닝] 논리회귀(단층 퍼셉트론)

논리 회귀(단층 퍼셉트론)로 AND 문제 풀기 위 문제가 주어졌을 때 논리회귀를 이용하여 AND 문제를 풀어보자. X = torch.FloatTensor([[0, 0], [0, 1], [1, 0], [1, 1]]) y = torch.FloatTensor([[0], [0], [0], [1]]) 우선 위 이미지처럼 [A,B]를 Input 값이라고 가정했을때 각 A, B를 x로 Output을 y로 선언해준다. AND 문제란 두 값이 전부 1일때 값이 1 로 출력되어야한다. model = nn.Sequential( nn.Linear(2, 1), nn.Sigmoid() ) nn.Sequential을 사용하여 nn.Linear 선형 레이어와 Sigmoid() 함수를 이용하여 신경망을 정의해줍니다. optimizer..

[머신러닝&딥러닝] 논리회귀(Logistic Regression)

단항 논리회귀(Logistic Regression) ✨ 참고 https://wikidocs.net/57805 04-01 로지스틱 회귀(Logistic Regression) 일상 속 풀고자하는 많은 문제 중에서는 두 개의 선택지 중에서 정답을 고르는 문제가 많습니다. 예를 들어 시험을 봤는데 이 시험 점수가 합격인지 불합격인지가 궁금할 수도 있고, … wikidocs.net 일상 속 풀고자하는 많은 문제 중에서는 두 개의 선택지중에 정답을 고르는 문제가 많다. 예를 들어 시험을 봤는데 시험 결과가 합격인지 불합격인지, 메일을 받았을 때 해당 메일이 스팸메일인지 정상 메일인지 이렇게 둘 중 하나를 결정하는 문제를 이진 분류(Binry Classification)라고 하는데 이 이진 분류를 풀기위한 대표적인 ..

[머신러닝&딥러닝] 파이토치(PyTorch) 주요 함수

파이토치(PyTorch)의 주요 함수 torch.ones() ones()는 1의 값을 갖는 tensor를 생성하는 함수이다. 💻 코드 a = torch.ones(2, 3) print(a) ✔결과 tensor([[1., 1., 1.], [1., 1., 1.]]) torch.zeros() zeros()는 0의 값을 갖는 tensor를 생성하는 함수이다. 💻 코드 b = torch.zeros(2 ,3) print(b) ✔결과 tensor([[0., 0., 0.], [0., 0., 0.]]) torch.full() full((행,렬,) 값)은 옵션으로 입력한 값으로 tensor를 생성하는 함수이다. 💻 코드 c = torch.full((2, 3), 10) print(c) ✔결과 tensor([[10, 10, 1..

[머신러닝&딥러닝] 앙상블(Ensemble)

앙상블(Ensemble) Ensemble Learning 여러개의 머신러닝 모델을 이용해 최적의 답을 찾아내는 기법을 사용하는 모델 test 데이터에 대해 다양한 의견(예측값)을 수렴하기 위해 overfitting(과적합)이 잘 되는 모델을 기본적으로 사용하며, Tree기반 모델(Boosting, RandomForest)을 자주 사용한다. 앙상블은 overfitting(과적합) 감소 효과가 있으며, 개별 모델 성능이 잘 나오지 않을 때 앙상블 학습을 이용하면 성능이 향상될 수 있다. 앙상블 학습의 유형은 보팅(Voting), 배깅(Bagging), 부스팅(Boosting), 스태킹(Stacking)이 있다. 1. 보팅(Voting) 서로 다른 알고리즘 model을 조합해서 사용한다. 모델에 대해 투표로 ..

[머신러닝&딥러닝] 선형회귀(Linear Regression)

Rent 데이터 import numpy as np import pandas as pd import seaborn as sns rent_df = pd.read_csv('/content/drive/MyDrive/KDT 시즌2/8. 머신러닝 딥러닝/data/rent.csv') rent_df rent 데이터를 불러온다. rent_df.info() RangeIndex: 4746 entries, 0 to 4745 Data columns (total 12 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Posted On 4746 non-null object 1 BHK 4743 non-null float64 2..

[머신러닝&딥러닝] 타이타닉 데이터(Titanic Data)

타이타닉 데이터(Titanic Data) 타이타닉 데이터 링크 https://bit.ly/fc-ml-titanic import numpy as np import pandas as pd df = pd.read_csv("https://bit.ly/fc-ml-titanic") df 타이타닉 데이터셋을 출력한 결과 타이타닉 데이터셋 컬럼명 PassengerId: 승객 아이디 Survived: 생존 여부(0: 사망, 1: 생존) Pclass: 좌석 등급 Name: 이름 Sex: 성별 Age: 나이 SibSp: 형제, 자매, 배우자 수 Parch: 부모, 자식 수 Ticket: 티켓 번호 Fare: 요금 Cabin: 선실 Embarked: 탑승 항구 해당 타이타닉 데이터를 그대로 사용할 수 없어 데이터 전처리를 해..

[머신러닝 과제] Type_of_Loan 원핫인코딩 과제

Type_of_Loan 원핫인코딩 과제 문제 해당 데이터프레임에 있는 Type_of_Loan(대출 상품 타입) 컬럼을 중복제거 후 각 대출 상품에 대한 이름으로 컬럼을 만들고 대출상품이 있는 경우 해당 컬럼에 1을 저장 내가 작성한 코드 # Type_of_Loan의 모든 대출 상품을 변수에 모두 저장 # 각 대출 상품에 대한 이름으로 컬럼을 만들고 대출 상품이 있는 겨웅 해당 컬럼에 1을 저장(원 핫 인코딩 방식) loan_types = [] for i in credit_df['Type_of_Loan']: if str(i) == 'nan': pass else: val = str(i).replace('and ', '') arr2 = val.split(', ') for j in arr2: if j in lo..

[머신러닝&딥러닝] 아이리스 데이터셋(Iris DataSet)

아이리스 데이터셋(Iris DataSet) 아이리스 데이터셋(Iris DataSet)은 머신러닝 및 데이터 분석에서 많이 사용되는 유명한 데이터셋 중 하나이다. 이 데이터셋은 1936년에 영국의 통계학자와 생물학자인 Ronald A. Fisher에 의해 소개되었다. 아이리스 데이터셋은 세 종류의 붓꽃(Iris)에 대한 측정값을 포함하고 있습니다. 각 붓꽃의 종류는 다음과 같습니다. 각 붓꽃에 종류 Setosa: 0 Versicolor: 1 Virginica: 2 각 붓꽃에 대해 측정된 특성 꽃받침 길이(Sepal Length) 꽃받침 너비(Sepal Width) 꽃잎 길이(Petal Length) 꽃잎 너비(Petal Width) feature_names = iris["feature_names"] 사이킷..