2016-08-31 6 views
-1

私は10×10の層別シャッフルスプリットクロスバリデーションを行っています。 私のコードでわかるように、最後には10の結果が得られます。私はこれらの10の結果の平均が欲しい。そこで変数xSSSmeanを追加しました。しかし、これはすべてのループで変わります。最終的には、それはちょうどラスの価値を蓄えていたでしょう。では、どうやって10個の値を保存して、これらの平均値を印刷することができますか?Pythonで1変数に多くの値を格納する方法はありますか?

############10x10 SSS################################## 
from sklearn.cross_validation import StratifiedShuffleSplit 
for i in range(10): 
    sss = StratifiedShuffleSplit(y, 10, test_size=0.1, random_state=0) 
    scoresSSS = cross_validation.cross_val_score(clf, x, y , cv=sss) 
    print("Accuracy x fold SSS_RF: %0.2f (+/- %0.2f)" % (scoresSSS.mean(), scoresSSS.std()* 2)) 
    xSSSmean = "%0.2f" % scoresSSS.mean() 

print (xSSSmean.mean) 



Accuracy x fold SSS_RF: 0.95 (+/- 0.10) 
Accuracy x fold SSS_RF: 0.93 (+/- 0.15) 
Accuracy x fold SSS_RF: 0.96 (+/- 0.09) 
Accuracy x fold SSS_RF: 0.93 (+/- 0.12) 
Accuracy x fold SSS_RF: 0.94 (+/- 0.11) 
Accuracy x fold SSS_RF: 0.94 (+/- 0.14) 
Accuracy x fold SSS_RF: 0.93 (+/- 0.15) 
Accuracy x fold SSS_RF: 0.94 (+/- 0.13) 
Accuracy x fold SSS_RF: 0.94 (+/- 0.09) 
Accuracy x fold SSS_RF: 0.95 (+/- 0.10) 
0.95 
+7

リストに入れて? – jonrsharpe

+1

平均値を平均したいですか?もしそうなら、それをリストに追加し、 '.mean()'関数を呼び出します。 – albert

+0

なぜリストではなく配列ですか? – Aizzaac

答えて

2
xSSSmean = [] #I create an empty list 
for i in range(10): 
    sss = StratifiedShuffleSplit(y, 10, test_size=0.1, random_state=0) 
    scoresSSS = cross_validation.cross_val_score(clf, x, y , cv=sss) 
    print("Accuracy x fold SSS_RF: %0.2f (+/- %0.2f)" % (scoresSSS.mean(), scoresSSS.std()* 2)) #2 decimales 
    xSSSmean.append(scoresSSS.mean()) #I fill the list with the "scoresSSS.mean" values 


print(np.mean(xSSSmean)) #I get the average of the xSSSmean list. 
関連する問題