Random-tree-Classfier

개요

: multinomial logit regression 함수를 사용하던 중, 이와 비슷한 방식인 Random-tree-classifier(decision tree classifier)을 찾았고 이 글은 이 방법에 대해 서술하려한다. 간단시로하게

1. 차이점

  1. 그러면 기존의 decision tree와 다른점이 무엇인가?
  • 없다. 각 가지(branch)에 해당하는 확률을 단순 logistic 처럼 classifier해서 분류해놓은 것 뿐이다.
  1. multi-logit 과 차이점은 무엇인가?
  • 이름에서도 알 수 있듯이, regression과 그렇지 않은 점의 차이정도 이다.
  • regression 특성상, 다중공선성이 존재하면 multi-logit의 퍼포먼스가 떨어진다.
  • 대신 같은 조건의 multi-logit보다 좋은 퍼포먼스를 보이려면 데이터가 그만큼 많이 필요하다.
  1. 그렇담 이글을 왜 작성하는가?
  • 내맴이다.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

## 세상에서 제일 만만한 iris data
iris = load_iris()

data = iris.data
target = iris.target

iris_df = pd.DataFrame(data, column = iris.feature_names)
iris_df['target'] = target

X = iris.data
y = iris.target

# 데이터를 훈련 세트와 테스트 세트로 나누기
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 랜덤 트리 분류기 생성
random_forest = RandomForestClassifier(n_estimators=100, random_state=42)

# 모델 훈련
random_forest.fit(X_train, y_train)

# 테스트 세트에 대한 예측
y_pred = random_forest.predict(X_test)

# 정확도 출력
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")
profile
Good afternoon, Good evening and Good night

0개의 댓글