카테고리 없음
scikit-learn
yuuuun
2021. 8. 20. 15:18
반응형
train_test_split(data, label, test_size)
import pandas as pd
data = pd.read_csv('**.csv')
data = data[['col1', 'col2', 'col3']]
y = data['ans']
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.1)
RandomForestClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
clf = RandomForestClassifier(n_estimators=20, max_depth=5, random_state=0)
clf.fit(train_x, train_y)
pred = clf.predict(test_x)
print(accuracy_score(test_y, pred))
decision tree가 overfitting될 가능성이 높다는 약점을 가지고 있기 때문에 일반화된 트리를 만드는 방법 필요
-> 여러 개의 decision tree를 형성하고 새로운 데이터 포인트를 각 트리에 동시에 통과시켜 각 트리가 분류한 결과에서 튜표를 실시하여 가장 많은 들표한 결과를 최종 분류 결과
Bagging(Bootsrap(전체 데이터에서 무작위 복원 추출을 통해 여러 개의 학습 데이터 표본을 추출하는 것) Aggregating)을 통하여 전체 데이터 셋 중 n_estimators의 개수만큼 뽑아낸뒤 각 데이터셋을 여러개의 decision tree에 넣는다.
반응형