質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.02%

  • Python 3.x

    4088questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

ランダムフォレストで、テストデータの予測時に、エラーが発生して苦慮しています。

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 186

akakage13

score 80

ランダムフォレストで、テストデータの予測時に、エラーが発生して苦慮しています。

# -*- coding: utf-8 -*-

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import LeaveOneOut
from sklearn.ensemble import RandomForestClassifier

import scipy as sp
import sklearn
import seaborn as sns
from matplotlib import  pyplot as plt
import sklearn.cross_validation

#############magichan改訂版

#訓練データ
gakusyuu_data = pd.read_csv("area_tr_1.csv" , sep=",")

# 特徴データとラベルデータを取り出す
gakusyuu_data_except_arrival = gakusyuu_data.drop("arrival", axis=1)

features = gakusyuu_data_except_arrival.as_matrix()
targets = gakusyuu_data['arrival'].as_matrix()

#############予測

#モデルを作ります

model = RandomForestClassifier(
    n_estimators=10, 
    criterion='gini', 
    max_depth=None, 
    min_samples_split=2, 
    min_samples_leaf=1, 
    max_features='auto', 
    max_leaf_nodes=None, 
    bootstrap=True, 
    oob_score=False, 
    n_jobs=1, 
    random_state=None, 
    verbose=0, 


model.fit(features, targets)


# テストデータ読み込み
test_df = pd.read_csv("area_test_1.csv", sep=",")
# テストデータ作成
test_data = test_df[['area_1','area_2','area_3','area_4','area_5','area_6','area_7','area_8','area_9','area_10','area_11','area_12','area_13']].as_matrix()
# 予測
arrival = model.predict(test_data)
print(arrival)
# 結果をテストデータに反映
test_df['arrival'] = arrival
print(test_df)

訓練データの内容は下記の通りです

area_1    area_2    area_3    area_4    area_5    area_6    area_7    area_8    area_9    area_10    area_11    area_12    area_13    arrival
9    6    1    10    5    16    14    57    2    1800    1    466    0    0
9    6    2    1    6    16    2    54    2    1400    1    472    0    0
9    6    1    2    6    16    14    56    2    1200    1    502    4    1
9    6    1    6    6    16    10    56    2    1800    2    452    0    0
9    6    1    1    6    16    11    54    2    1200    2    468    -4    0
8    5    1    10    4    16    4    56    1    1400    1    486    6    0
8    5    1    5    5    16    6    56    2    1200    1    520    -2    0
8    5    1    7    5    15    7    55    2    1400    1    462    -8    0
8    5    1    4    6    18    18    56    1    1600    1    490    10    0
8    5    1    12    5    13    9    57    2    1800    1    466    -2    1
8    5    1    6    5    16    1    56    2    1800    1    512    -6    0
8    5    1    5    5    16    6    56    1    1200    1    486    0    0
8    5    1    2    6    16    14    56    2    1800    1    498    -2    0
4    5    1    12    5    16    9    57    1    1200    1    488    0    0
4    5    1    7    5    15    10    55    2    1200    2    472    -2    0
8    5    1    11    4    18    5    56    1    1200    1    480    -6    0
8    5    1    2    6    11    3    56    2    1800    1    500    4    0
8    5    2    12    5    15    7    57    2    1800    1    468    0    0
8    5    2    3    6    13    7    56    2    1900    1    452    -4    0
4    4    1    3    6    15    5    56    2    1800    1    520    -4    0
4    4    1    1    6    11    2    54    2    1800    1    472    -12    0


テストデータの内容は下記の通りです

area_1    area_2    area_3    area_4    area_5    area_6    area_7    area_8    area_9    area_10    area_11    area_12    area_13
7    7    4    11    4    18    14    56    1    1200    1    484    -2


上記のソースコードを動かしますと

SyntaxError  invalid syntax というエラーが発生します。

構文が間違っているとのエラーなのですが、

私としては構文が間違っていないと考えています。

何か、単純な間違いをしているのでしょうか?

先輩方の ご助言、よろしくお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+2

単純なミスかと。

モデル生成時の RandomForestClassifier() 呼び出しの箇所にて 閉じ括弧が抜けております。

#モデルを作ります

model = RandomForestClassifier(
    n_estimators=10, 
    criterion='gini', 
    max_depth=None, 
    min_samples_split=2, 
    min_samples_leaf=1, 
    max_features='auto', 
    max_leaf_nodes=None, 
    bootstrap=True, 
    oob_score=False, 
    n_jobs=1, 
    random_state=None, 
    verbose=0, 
) # <-- 追加

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/01 08:28

    magichan様、早々の御教示、本当にありがとうございました。
    とてもスッキリしました。
    今後ともよろしくお願いいたします。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 91.02%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Python 3.x

    4088questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。