bootstrap 어디에서 들어봤을까요?
-> sns.barplot?
bootstrap?
-> 다양한 데이터셋으로 학습
현실세계의 선거에 비유한다면?
-> 출구조사
aggregating?
-> 집계
bootstrap + aggregating
-> 표본 추출 집계, 랜덤 포레스트
DecisionTree 의 단점
-> 랜덤성에 따라 매우 다름. 계층적 접근 방식이기 때문에 중간에 에러 발생하면 다음 단계로 에러가 계속 전파
-> 결과 또는 성능의 변동 폭이 크다는 결점
-> 일반화하여 사용하기 어렵다.
-> 과적합 가능성이 높습니다
DecisionTree 의 단점이 있음에도 불구하고 사용하는 이유?
-> 빠르고 단순해서 데이터 피처의 중요도 파악에 용이할거 같습니다.
-> 직관적입니다
-> 전반적으로 훑어 볼 수 있어서
임의화?
-> random
랜덤 부트스트래핑을 할 때 중복을 허용한다
n_estimators 값을 늘리면 왜 학습시간이 오래 걸릴까요?
-> 생성할 tree의 개수가 많아서
n_jobs 는 어떤 역할을 할까요?
-> 사용할 CPU의 코어 수
-1 은 무슨의미일까요?
-> 모든 코어 사용
왜 코어의 수를 지정하지 않고 –1을 사용할까요?
-> 사용중인 코어를 모를경우를 대비하기 위해
랜덤포레스트에서는 왜 tree를 시각화 할 수 없을까요?
-> 다수의 트리를 생성해서
사이킷런에서는 랜덤포레스트 시각화를 제공하고 있지 않지만 다른 도구로 시각화 할 수 있습니다.
보스턴 집값 데이터셋이 사이킷런에서 제외 되었어요. 왜 그랬을까요?
-> racial self-segregation 가정 등이 결과적으로 이 데이터셋을 윤리적으로 문제가 있는 데이터셋으로 만들게 되었다.
왜 RandomForestRegressor 를 사용해야 할까요?
-> 예측할 변수가 수치형 데이터여서입니다
학습과 예측을 해도 정답이 없기 때문에 채점을 할 수 없어요.
그럼 어떻게 하면 좋을까요?
-> 수치만 조금씩 바꾸고 문제 순서를 바꿔봅니다
공부 안 한게 test 에 나올 수 있다.
Hold-out Validation 의 장점?
-> 빠르게 결과를 추출해볼 수 있다
Fold == 모의고사
파란색 == 최종모의고사
연두색 == 공부용 모의고사
from sklearn.model_selection import cross_val_predict
y_predict = cross_val_predict(model, X_train, y_train, cv=5, n_jobs=-1, verbose=2)
y_predict[:5]
##
cv : fold 의 조각수
verbose = 0 : 로그를 찍지 않음
verbose = 1 : 로그를 찍음
verbose = 2 : 로그를 자세하게 찍음
accuracy 가 0 이면 어떻게 하면 좋을까요?
-> 차이를 구해야 한다.
abs == 절대값 == absolute