In [7]:
# Random forest

# モジュール:サンプルデータ>訓練検証分割>モデル 
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier

# データのインスタンスを作成
iris = load_iris()

# キーを確認
iris.keys()
#dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names', 'filename'])

# input dataとtarget data として抽出する
X, y = iris.data, iris.target

# 訓練・検証データに分割する
X_train, X_test, y_train, y_test = train_test_split(X, y ,test_size=0.3, random_state=0)


# ランダムフォレストをインスタンス化する 100個の決定木
forest = RandomForestClassifier(n_estimators=100,random_state=0)
forest

'''
RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
            max_depth=None, max_features='auto', max_leaf_nodes=None,
            min_impurity_decrease=0.0, min_impurity_split=None,
            min_samples_leaf=1, min_samples_split=2,
            min_weight_fraction_leaf=0.0, n_estimators=100, n_jobs=None,
            oob_score=False, random_state=0, verbose=0, warm_start=False)
'''

# 訓練する
forest.fit(X_train, y_train)
Out[7]:
RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
            max_depth=None, max_features='auto', max_leaf_nodes=None,
            min_impurity_decrease=0.0, min_impurity_split=None,
            min_samples_leaf=1, min_samples_split=2,
            min_weight_fraction_leaf=0.0, n_estimators=100, n_jobs=None,
            oob_score=False, random_state=0, verbose=0, warm_start=False)
In [20]:
# 予測する
y_predicted = forest.predict(X_test)
y_predicted

# 正解率を算出する
import pandas as pd
df = pd.DataFrame(y_test,y_predicted)#, y_test, y_predicted)

result = df.index == df[0]


score = sum(result)/len(result)
'''
0.9777777777777777
'''
score
Out[20]:
0.9777777777777777
In [21]:
result
Out[21]:
array([ True,  True,  True,  True,  True,  True,  True,  True,  True,
        True,  True,  True,  True,  True,  True,  True,  True,  True,
        True,  True,  True,  True,  True,  True,  True,  True,  True,
        True,  True,  True,  True,  True,  True,  True,  True,  True,
        True, False,  True,  True,  True,  True,  True,  True,  True])
In [ ]: