0
0 Комментариев

код программы, кросс-валидация считается немного не так, помогите исправить

import numpy as np
from pandas import DataFrame
import pandas as pd
import warnings
from sklearn import cross_validation
warnings.simplefilter('ignore') # отключим предупреждения Anaconda
data = pd.read_csv('C:\\Users\\Vika\\Downloads\\ENB2012.csv', ';')
data.head()
from sklearn.cross_validation import train_test_split, cross_val_score
kfold = 5 #количество подвыборок для валидации
itog_val = {} #список для записи результатов кросс валидации разных алгоритмов
X = data.values[::, 0:8]
y = data.values[::, 0:1]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
print ('обучающая выборка:\n', X_train[:9])
print ('\n')
print ('тестовая выборка:\n', X_test[:7])
from sklearn.ensemble import AdaBoostClassifier
clf = AdaBoostClassifier(n_estimators=70)
scores = cross_validation.cross_val_score(clf, X_train, (y_train.ravel()*1000).astype(int), cv=kfold)
itog_val['AdaBoostClassifier'] = scores.mean()
print ('итог', itog_val)
clf.fit(X_train, y_train)
clf.score(X_test, y_test)
clf.predict(X_test)
print ('AdaBoostClassifier:\n', X_test[:9])

ответ всегда только такой
итог {'AdaBoostClassifier': 1.0}

исходная выборка https://ru.files.fm/u/aempdy95


Добавить комментарий