나는 임의의 포레스트를 만들었고 나는 가방 점수를 찾고 싶다.하지만 bag out of 나의 점수는 1.0이 나오고 있지만 그것은 1보다 작아야한다. 나의 샘플 크기 20000 요소로 구성되어 있습니다. 여기에 파이썬 코드입니다. 변경 사항을 알려주십시오. 여기 X는 데이터 집합의 수가 적고 Z는 참 레이블을 포함합니다.sklearn의 랜덤 포레스트 분류기를 사용하여 bagging하기
import csv
import numpy as np
from sklearn import preprocessing
from sklearn import cross_validation
from sklearn.ensemble import RandomForestClassifier
with open('C:\Users\Harsh Bhandari\Desktop\letter.csv') as f:
reader = csv.reader(f, delimiter='\t')
data = [(col1, int(col2), int(col3), int(col4),int(col5),int(col6),int(col7),int(col8),int(col9),int(col10),int(col11),int(col12),int(col13),int(col14),int(col15),int(col16),int(col17))
for col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12,col13,col14,col15,col16,col17 in reader]
X=[]
Y=[]
i=0
while i<20000:
t=data[i][1:]
X.append(t)
t=data[i][0]
Y.append(t)
i=1+i
X=np.asarray(X)
Y=np.asarray(Y)
le = preprocessing.LabelEncoder()
Z=le.fit_transform(Y)
clf = RandomForestClassifier(n_estimators=100,oob_score=True)
clf=clf.fit(X,Z)
a=clf.predict(X)
scores=clf.score(X,a)
print scores