Esempio n. 1
0
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_))