sklearn을 사용하여 K-fold로 의사 결정 트리를 적용하고 누군가가 평균 점수를 표시하도록 도울 수 있습니다.Sklearn을 사용한 K-Fold 교차 유효성 검사 방법
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import KFold
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import confusion_matrix,classification_report
dta=pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/blood-transfusion/transfusion.data")
X=dta.drop("whether he/she donated blood in March 2007",axis=1)
X=X.values # convert dataframe to numpy array
y=dta["whether he/she donated blood in March 2007"]
y=y.values # convert dataframe to numpy array
kf = KFold(n_splits=10)
KFold(n_splits=10, random_state=None, shuffle=False)
clf_tree=DecisionTreeClassifier()
for train_index, test_index in kf.split(X):
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
clf=clf_tree.fit(X_train,y_train)
print("classification_report_tree",
classification_report(y_test,clf_tree.predict(X_test)))
코드를 잘 이해할 수 있도록 코드에 설명을 추가 할 수 있습니까 – Saineshwar
평균 점수 란 무엇입니까? 정확성 만 원하니? 또는 리콜, 정밀도 및 f1 (분류 보고서를 인쇄 할 때). –
K fold로 의사 결정 트리를 실행하고 전체적인 정확도를 보여주고 싶습니다. k 배는 10이며 10 회 실행하고 각 실행 시간마다 10 정확도를 부여합니다. 훈련의 전반적인 정확도를 나타내는 방법 –