목록Python (43)
DeseoDeSeo
⛤ 회귀 계수( Regression coefficients ) : 독립변수의 값에 영향 독립 변수 개수 회귀 계수의 결합 1개 : 단일 회귀 선형 : 선형 회귀 여러개 : 다중 회귀 비선형 : 비선형 회귀 회귀분석 : 시간에 따라 변화하는 데이터, 영향, 가설적 실험, 인과 관계 모델링 등에서 많이 사용. 종속 변수(목표)와 하나 이상의 독립변수(예측변수) 간 미래 사건을 예측하는 방법 ➜ 연속형 변수들에 대해 두 변수 사이의 모형을 구한 뒤 적합도를 측정해 내는 분석법 ➜ 수치적 가치를 추정 연속 숫자를 포함하는 머신러닝 문제 해결에 필수적, 딥 러닝 이론의 기초 선형 모델 (Linear Model) : 입력 특성에 대한 선형함수를 만들어 예측을 수행 다양한 선형 모델이 존재 (= 선을 그을 수 있는 ..
1. 유방암 데이터를 활용하여 Ensembl 모델을 학습해보자. wisconsin의 유방암 데이터 셋을 활용 총 569건의 데이터(악성-212개, 양성 - 357개) 데이터 셋 불러오기 from sklearn.datasets import load_breast_cancer cancer_data = load_breast_cancer() cancer_data ➤ 데이터 형태 : 딕셔너리구조에 텍스트, 여러가지 형태를 담고 있음 ➜ bunch 형태 딕셔너리 구조에서 데이터 확인 : 키 값들을 확인 ➤ keys() cancer_data.keys() print(cancer_data['DESCR']) 분류에 사용할 특성 확인 ➜ 학습에 사용할 데이터의 이름, 개수 확인 print(cancer_data.feature_..
⛧ 하이퍼 파라미터( Hyperparameter ) : 최적의 훈련모델을 구현하기 위해 모델에 설정하는 변수 ( 학습률, 훈련 반복횟수, 가중치 초기화 등을 결정함.) ➜ 하이퍼파라미터 튜닝 기법을 적용하여 훈련 모델의 최적값들을 찾을 수 있음. 하이퍼 파라미터 튜닝 : n_estimators를 50 ~ 81까지 바꿔가면서 평과 결과를 확인 for i in range(50,81): forest_model1 = RandomForestClassifier(n_estimators=i) # 교차 검증으로 평가 result = cross_val_score(forest_model1,x_train, y_train, cv=5).mean() print(f'n_estimators:{i}.score: {result}') 1...
Ensemble : 여러개의 모델이 예측한 값을 결합하여 정확한 최종 예측을 도출하는 기법 - 단일 모델에 비해 높은 성능과 신뢰성을 얻을 수 있음. - 데이터의 양이 적은 것에 대비 충분한 학습 효과를 거둘 수 있음. - 보팅 (voting) : 여러개의 다른 종류의 모델이 예측한 결과를 투표 혹은 평균을 통해 최종 결정하는 방식 하드보팅 : 다수결 소프트보팅 : 각 확률의 평균 - 배깅 (Bagging) : 여러개의 같은 종류의 모델이 예측한 결과를 투표 혹은 평균을 통해 최종 결정하는 방식 ex) 랜덤 포레스트 : 여러개의 결정 트리 모델로 예측한 값을 소프트 보팅을 통해 최종 선택하는 배깅의 대표적 모델 ( ==> 서로 다른 방향(알고리즘)으로 과대적합된 트리를 많이 만들고 평균을 내어 일반화 시..
Ensemble ( 앙상블 ) : 여러개의 모델이 예측한 값을 결합하여 정확한 최종 예측을 도출하는 기법 -> 한 명의 전문가보다 여러명의 집단지성을 이용하여 문제를 해결하는 방식. 1. 전처리된 파일 불러오기 import pandas as pd # 같은 위치에 있으므로 파일명만 집어넣으면 된다. x_train = pd.read_csv("x_train.csv") y_train = pd.read_csv("y_train.csv") x_test = pd.read_csv("x_test.csv") x_train.shape, y_train.shape, x_test.shape 2. 앙상블 모델 사용하기 머신러닝에서 성능이 좋은 모델 여러개의 DecisionTree를 사용하는 모델 2.1 RandomForest모델 사..
Age에 따른 생존/ 사망 시각화 데이터의 분포를 확인할 때 여러가지 시각화 방법을 활용하는데, 그 중에 하나인 바이올린 플롯을 활용 plt.figure(figsize=(15,5)) # x축 : 15, y축 : 5 sns.violinplot(data=train, x='Sex', y='Age', hue='Survived', split =True) # 중심을 기준으로 양쪽이 같기에, 한쪽면만 봄. plt.show() - 중앙의 선을 기준으로 왼쪽은 사망, 오른쪽은 생존자의 수 - 20~40대 사이에 사망 多 - 어린아이 중에서는 남자아이가 여자아이에 비해 많이 생존했음. - fare(요금)에 따른 생존/사망 시각화 해보기. plt.figure(figsize=(15,5)) # x축 : 15, y축 : 5 sn..