무작위 숲으로 경마를 예측하다

이것은 기계 학습으로 지방 경마를 예측하다의 속편이다.
지난번 예측에서 k-NN을 사용했기 때문에 이번에는 랜덤 숲으로 예측했습니다.

랜덤 숲이 뭐예요?


랜덤 숲은 많은 결정 트리를 만들어 예측하는 방법이다.분류 문제라면 각 결정 트리의 예측류의 다수결을 취하고 회귀 문제라면 평균치를 예측치로 한다.

바진과는 뭐가 달라요?


여러 개의 결정 트리를 사용하는 방법에는 바킨이라는 방법이 있다.
바킨은 데이터 집합에서 복원 추출하여 B조의 데이터 집합을 만든다.
B개의 결정 트리를 통해 각 데이터 집합에 대해 학습하고 예측합니다.
바진에서 각 결정 트리의 차이는 데이터 조합의 차이일 뿐이고 랜덤 숲에서 바진을 제외하고 각 결정 트리가 사용하는 특징량을 랜덤으로 선택한다.

실시


에서 기술한 장면은 다음 절차를 이용하여 명세표를 작성하여 개념 디자인에서 체량의 둘레를 분석하도록 한다.
·n_estimators
트리 개수를 결정하는 것은 이 scikit-learn 의 매개 변수입니다.
k-NN에서 최적 인자를 구하는 것과 같이 다음과 같이 설치합니다.
df = pd.read_csv(data_csv)
df = df.dropna(how="any")
train_X, test_X, train_y, test_y = train_test_split(
    df.loc[:,'velocity1':'dhweight'], df.result, test_size=0.2)
accuracy = []
n_estimators = np.arange(1,50)
for n in n_estimators:
    model =  RandomForestClassifier(n_estimators=n, random_state=42)
    model.fit(train_X, train_y)                 # モデル作成実行
    pred_y = model.predict(test_X)              # 予測実行
    accuracy.append(accuracy_score(test_y, pred_y)) # 精度格納
plt.plot(n_estimators, accuracy)
plt.show()

나무의 수를 10개로 결정할 때 가장 좋은 정밀도가 있다.
조정해야 할 다른 매개 변수가 몇 개 더 있지만 우선RandomForestClassifier(), 다른 것은 기본값을 사용하여 예측한다.
외상
환불
회수율
랜덤 숲
3000엔
2340엔
78%
응, 미묘해.수법을 바꾸기 전에 특징량을 잘 추출할 필요가 있을 것 같다.
다음에 주성분 분석!

좋은 웹페이지 즐겨찾기