def tSNE_method(axes, user_xaxis, user_yaxis, clusters): """ Навчання за методом t-SNE та підготовка результатів для друку на виводу графіку """ # Визначення моделі та швидкості навчання model = TSNE() # навчання моделі transformed = model.fit_transform(iris_df.data) model = KMeans(n_clusters=clusters) model.fit(transformed) # Передбачення на всьому наборі даних all_predictions = model.predict(transformed) # Розділення набору даних x_axis = transformed[:, user_xaxis] y_axis = transformed[:, user_yaxis] axes[1][0].scatter(x_axis, y_axis, c=all_predictions) axes[1][0].set_xlabel('Метод К-середніх зі зменш. розм.') return 'Передбачені міткі (Метод К-cередніх зі зменш. розм.):\n {}'.format( all_predictions)
print(cv_score) cv_score.mean() # mean accuracy value of validation sets cv_score.std() ###### Stratified Cross Validation from sklearn.model_selection import StratifiedKFold skfolds = StratifiedKfold(n_splits = 5, random_state = 42) for tr_idx, te_idx in skfolds.split(X_train, y_train): X_train_fold = X_train[tr_idx] X_test_fold = X_train[te_idx] y_train_fold = y_train[tr_idx] y_test_fold = y_train[te_idx] model.fit(X_train_fold, y_train_fold) pred_fold = model.predict(X_test_fold) print("Accuracy score: ", mean(pred_fold == y_test_fold)) ############# 2) Regularized Regression ############# ###### Elastic-Net from sklearn.linear_model import ElasticNet elas = ElasticNet() myParam = {'l1_ratio': np.linspace(0, 1, 30)} gm_cv = GridSearchCV(elas, myParam, cv = 5) gm_cv.fit(X_train, y_train) y_pred = gm_cv.predict(X_test) gm_cv.best_score_ gm_cv.best_params_ print("Tuned ElasticNet l1 ratio: {}".format(gm_cv.best_params_))