복습: 대출 결정
Coddy Machine Learning 여정의 지도 학습 섹션에 포함된 레슨. 58개 중 31번째.
챌린지
중급이 장에서 약속했던 농장 대출을 기억하나요? 소액 대출 기금은 농부들에게 설명할 수 있는 트리를 원합니다. 시작 코드는 과거 대출 데이터를 분할합니다.
- 깊이 1부터 트리를 키우며(
random_state=0), 각 테스트 정확도를 출력하세요. 직전 깊이보다 성능이 나아지지 않는 첫 번째 깊이에서 멈추세요. - 성능이 향상된 마지막 깊이를 유지하세요. 그 깊이와 해당 트리의 질문을 출력하세요.
- 아래와 같이 가장 중요한 특성 두 개를 출력하세요.
다른 기금의 경우:
Depth 1: test accuracy 0.650
Depth 2: test accuracy 0.850
Depth 3: test accuracy 0.833
Keep depth 2
|--- savings_usd <= 154.50
| |--- earlier_loans <= 0.50
| | |--- class: 0
| |--- earlier_loans > 0.50
| | |--- class: 1
|--- savings_usd > 154.50
| |--- earlier_loans <= 0.50
| | |--- class: 1
| |--- earlier_loans > 0.50
| | |--- class: 1
Most important: savings_usd (0.563)
Next: earlier_loans (0.437)직접 해보기
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier, export_text
# 소규모 농가에 제공한 과거 소액 대출: repaid의 1은 대출금이 전액 상환되었음을 의미합니다
loans = pd.read_csv("loans.csv")
features = ["amount_usd", "income_usd", "years_farming", "earlier_loans", "savings_usd", "group_size"]
X_train, X_test, y_train, y_test = train_test_split(loans[features], loans["repaid"], test_size=0.25, random_state=0)
# 아래에 코드를 작성하세요
지도 학습의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러