Beruflich Dokumente
Kultur Dokumente
import numpy as np
import warnings
warnings.filterwarnings('ignore')
le = LabelEncoder()
train_y = le.fit_transform(train_y)
test_y = le.transform(test_y)
KNN
Base Model 1
In [4]: knn = KNeighborsClassifier()
param_dist = {'n_neighbors': [1, 20],
'weights': ['uniform', 'distance'],
'algorithm': ['auto', 'ball_tree', 'kd_tree', 'brute'],
'leaf_size': randint(10, 50),
'p': [1, 2]
}
knn_cv.fit(train_X, train_y)
def show_scores(score_dict):
return pd.DataFrame.from_dict(score_comparisons, orient='index', columns=['score']
show_scores(score_comparisons)
Out[7]:
score
knn 0.702703
SVM Classifier
Base Model 2
In [8]: svc = SVC()
param_dist = {'C': np.linspace(0.01, 3000, 5000),
'kernel': ['linear', 'poly', 'rbf', 'sigmoid'],
'degree': randint(1, 10),
'class_weight': ['balanced', None],
'random_state': [42]
}
svc_cv.fit(train_X, train_y)
Out[11]:
score
knn 0.702703
svc 0.837838
In [14]: # # Plot the decision boundary. For that, we will assign a color to each
# # point in the mesh [x_min, x_max]x[y_min, y_max].
# x_min, x_max = train_X.iloc[:, 0].min() - 1, train_X.iloc[:, 0].max() + 1
# y_min, y_max = train_X.iloc[:, 1].min() - 1, train_X.iloc[:, 1].max() + 1
# xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
# np.arange(y_min, y_max, h))
# neg_padding = 0.7
# plt.xlim(x_min + neg_padding, x_max - neg_padding)
# plt.ylim(y_min + neg_padding, y_max - neg_padding)
# plt.show()
# neg_padding = 0.7
# plt.xlim(x_min + neg_padding, x_max - neg_padding)
# plt.ylim(y_min + neg_padding, y_max - neg_padding)
# plt.show()
Stacking KNN & SVC
In [17]: # Get predictions on training & test sets
train_pred_knn = pd.Series(knn_cv.predict(train_X))
train_pred_svc = pd.Series(svc_cv.predict(train_X))
test_pred_knn = pd.Series(knn_cv.predict(test_X))
test_pred_svc = pd.Series(svc_cv.predict(test_X))
In [18]: lr = LogisticRegression()
lr_cv.fit(df, train_y)
Out[22]:
score
knn 0.702703
svc 0.837838
stacked_lr 0.702703