を取得:は、私は次のPythonコードを持っているのPython
from sklearn.datasets import load_iris
iris = load_iris()
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression()
from sklearn.model_selection import StratifiedKFold
for n_splits in [2, 3, 5]:
skf = StratifiedKFold(n_splits=n_splits, shuffle=False, random_state=0)
X, y = iris.data, iris.target
for train_index, test_index in skf.split(X, y):
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
logreg_fit = LogisticRegression().fit(X_train, y_train)
logreg_scores = logreg_fit.score(X_test, y_test)
print('{}-fold STRATIFIED Cross-validation scores: {:.3f}'.format(
n_splits, logreg_scores))
(Pythonの本と機械学習入門からと「http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.StratifiedKFold.html#sklearn.model_selection.StratifiedKFold.split」)は、このの出力は次のようになります。
2-fold STRATIFIED Cross-validation scores: 0.947
2-fold STRATIFIED Cross-validation scores: 0.947
3-fold STRATIFIED Cross-validation scores: 0.961
3-fold STRATIFIED Cross-validation scores: 0.922
3-fold STRATIFIED Cross-validation scores: 0.958
5-fold STRATIFIED Cross-validation scores: 1.000
5-fold STRATIFIED Cross-validation scores: 0.967
5-fold STRATIFIED Cross-validation scores: 0.933
5-fold STRATIFIED Cross-validation scores: 0.900
5-fold STRATIFIED Cross-validation scores: 1.000
私はこのように、すなわち、それぞれの折り目のため をリスト形式で出力を取得したいと思います:
2-fold STRATIFIED Cross-validation scores: [ 0.947 0.947]
3-fold STRATIFIED Cross-validation scores: [ 0.961 0.922 0.958]
5-fold STRATIFIED Cross-validation scores: [ 1.000 0.967 0.933 0.900 1.000]
私は本当にありがとうと思います。どうもありがとう。
。これはscore()関数が返すもので、そこを見るための努力をしています。私はスコアが平均精度、単一の値であり、リストではないというこのページを見つけました。あなたが望むものを見つけるためにscikitのドキュメントを読んでください。一般的にPythonではなくそのパッケージに関する質問を投稿できない場合は、 – Chris
あなたが試したことを教えてください。 – KyleKnoepfel
ChrisとKyleKnoepfelに感謝します。以下のSheshnathが提供するソリューションは私の質問に完全に答え、リスト形式で必要な出力を得ることができます – einoven