909 KiB
909 KiB
In [ ]:
from pyexpat import features
# !!! Данный блок будет работать только в Google-Colab !!!
! gdown 10k8Hwn9kpK9SpK4IEj4-EaWQZqgYT5-Q
! pip install -r /content/requirements_2024_25_for_colab_small.txtIn [ ]:
import catboost
assert (catboost.__version__ == '1.2.7')In [ ]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.simplefilter("ignore")
sns.set(style="darkgrid")
%matplotlib inlineIn [ ]:
np.random.seed(1)
X1 = np.random.uniform(0, 5, 100)
X2 = np.random.uniform(0, 5, 100)
X = np.hstack((X1[:, None], X2[:, None]))
Y = np.where(X1 + X2 < 5, 0, 1)In [ ]:
from sklearn.linear_model import LogisticRegression
clf = LogisticRegression(penalty='l2')
clf.fit(X, Y)LogisticRegression()In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
LogisticRegression()
In [ ]:
from matplotlib.colors import ListedColormap
def plot_separating_surface(X, y, cls, view_support=False):
x_min = min(X[:, 0]) - 0.1
x_max = max(X[:, 0]) + 0.1
y_min = min(X[:, 1]) - 0.1
y_max = max(X[:, 1]) + 0.1
h = 0.005
cm = plt.cm.RdBu
cm_bright = ListedColormap(['#FF0000', '#0000FF'])
xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
np.arange(y_min, y_max, h))
Z = cls.predict(np.c_[xx.ravel(), yy.ravel()])
plt.figure(figsize=(8, 8))
plt.scatter(X[:, 0], X[:, 1], c=y, edgecolors='k', s=40, cmap=cm_bright)
if view_support:
plt.scatter(X[cls.support_, 0], X[cls.support_, 1],
c=y[cls.support_], edgecolors='k', s=150, cmap=cm_bright)
Z = Z.reshape(xx.shape)
plt.contourf(xx, yy, Z, cmap=cm, alpha=.3)
plt.title("Визуализация прогнозатора", size=15)
plt.xlabel(r'$x_1$', size=15)
plt.ylabel(r'$x_2$', size=15)In [ ]:
plot_separating_surface(X, Y, clf)In [ ]:
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.datasets import make_circles
X, y = make_circles(n_samples=500, factor=0.7, random_state=1024)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=50)
sc = StandardScaler()
X_train_scaled = sc.fit_transform(X_train)
X_test_scaled = sc.transform(X_test)
lg = LogisticRegression()
lg.fit(X_train_scaled, y_train)
plot_separating_surface(X_train_scaled, y_train, lg)In [ ]:
!gdown 1AgUMxgMK-eRjzthevCk9g-J_s2vpBFpeDownloading... From: https://drive.google.com/uc?id=1AgUMxgMK-eRjzthevCk9g-J_s2vpBFpe To: C:\Users\mozhu\PycharmProjects\ML_2024\Task6\Base\weatherAUS.csv 0%| | 0.00/14.1M [00:00<?, ?B/s] 4%|3 | 524k/14.1M [00:00<00:13, 1.04MB/s] 7%|7 | 1.05M/14.1M [00:01<00:12, 1.02MB/s] 11%|#1 | 1.57M/14.1M [00:01<00:12, 997kB/s] 15%|#4 | 2.10M/14.1M [00:02<00:11, 1.01MB/s] 19%|#8 | 2.62M/14.1M [00:02<00:11, 1.01MB/s] 22%|##2 | 3.15M/14.1M [00:03<00:10, 1.01MB/s] 26%|##6 | 3.67M/14.1M [00:03<00:10, 1.02MB/s] 30%|##9 | 4.19M/14.1M [00:04<00:09, 1.02MB/s] 33%|###3 | 4.72M/14.1M [00:04<00:09, 1.02MB/s] 37%|###7 | 5.24M/14.1M [00:05<00:08, 1.02MB/s] 41%|#### | 5.77M/14.1M [00:05<00:08, 1.02MB/s] 45%|####4 | 6.29M/14.1M [00:06<00:07, 1.02MB/s] 48%|####8 | 6.82M/14.1M [00:06<00:07, 1.02MB/s] 52%|#####2 | 7.34M/14.1M [00:07<00:06, 1.02MB/s] 56%|#####5 | 7.86M/14.1M [00:07<00:06, 1.02MB/s] 60%|#####9 | 8.39M/14.1M [00:08<00:05, 1.02MB/s] 63%|######3 | 8.91M/14.1M [00:08<00:05, 1.01MB/s] 67%|######6 | 9.44M/14.1M [00:09<00:04, 1.01MB/s] 71%|####### | 9.96M/14.1M [00:09<00:04, 1.01MB/s] 74%|#######4 | 10.5M/14.1M [00:10<00:04, 872kB/s] 78%|#######8 | 11.0M/14.1M [00:11<00:03, 906kB/s] 82%|########1 | 11.5M/14.1M [00:11<00:02, 931kB/s] 86%|########5 | 12.1M/14.1M [00:12<00:02, 945kB/s] 89%|########9 | 12.6M/14.1M [00:12<00:01, 959kB/s] 93%|#########2| 13.1M/14.1M [00:13<00:01, 953kB/s] 97%|#########6| 13.6M/14.1M [00:13<00:00, 956kB/s] 100%|##########| 14.1M/14.1M [00:14<00:00, 968kB/s] 100%|##########| 14.1M/14.1M [00:14<00:00, 987kB/s]
In [ ]:
df = pd.read_csv("weatherAUS.csv")
df.head(5)| Date | Location | MinTemp | MaxTemp | Rainfall | Evaporation | Sunshine | WindGustDir | WindGustSpeed | WindDir9am | ... | Humidity9am | Humidity3pm | Pressure9am | Pressure3pm | Cloud9am | Cloud3pm | Temp9am | Temp3pm | RainToday | RainTomorrow | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2008-12-01 | Albury | 13.4 | 22.9 | 0.6 | NaN | NaN | W | 44.0 | W | ... | 71.0 | 22.0 | 1007.7 | 1007.1 | 8.0 | NaN | 16.9 | 21.8 | No | No |
| 1 | 2008-12-02 | Albury | 7.4 | 25.1 | 0.0 | NaN | NaN | WNW | 44.0 | NNW | ... | 44.0 | 25.0 | 1010.6 | 1007.8 | NaN | NaN | 17.2 | 24.3 | No | No |
| 2 | 2008-12-03 | Albury | 12.9 | 25.7 | 0.0 | NaN | NaN | WSW | 46.0 | W | ... | 38.0 | 30.0 | 1007.6 | 1008.7 | NaN | 2.0 | 21.0 | 23.2 | No | No |
| 3 | 2008-12-04 | Albury | 9.2 | 28.0 | 0.0 | NaN | NaN | NE | 24.0 | SE | ... | 45.0 | 16.0 | 1017.6 | 1012.8 | NaN | NaN | 18.1 | 26.5 | No | No |
| 4 | 2008-12-05 | Albury | 17.5 | 32.3 | 1.0 | NaN | NaN | W | 41.0 | ENE | ... | 82.0 | 33.0 | 1010.8 | 1006.0 | 7.0 | 8.0 | 17.8 | 29.7 | No | No |
5 rows × 23 columns
In [ ]:
(df["Location"].value_counts())Location Canberra 3436 Sydney 3344 Darwin 3193 Melbourne 3193 Brisbane 3193 Adelaide 3193 Perth 3193 Hobart 3193 Albany 3040 MountGambier 3040 Ballarat 3040 Townsville 3040 GoldCoast 3040 Cairns 3040 Launceston 3040 AliceSprings 3040 Bendigo 3040 Albury 3040 MountGinini 3040 Wollongong 3040 Newcastle 3039 Tuggeranong 3039 Penrith 3039 Woomera 3009 Nuriootpa 3009 Cobar 3009 CoffsHarbour 3009 Moree 3009 Sale 3009 PerthAirport 3009 PearceRAAF 3009 Witchcliffe 3009 BadgerysCreek 3009 Mildura 3009 NorfolkIsland 3009 MelbourneAirport 3009 Richmond 3009 SydneyAirport 3009 WaggaWagga 3009 Williamtown 3009 Dartmoor 3009 Watsonia 3009 Portland 3009 Walpole 3006 NorahHead 3004 SalmonGums 3001 Katherine 1578 Nhil 1578 Uluru 1578 Name: count, dtype: int64
In [ ]:
df.shape(145460, 23)
In [ ]:
df.columnsIndex(['Date', 'Location', 'MinTemp', 'MaxTemp', 'Rainfall', 'Evaporation',
'Sunshine', 'WindGustDir', 'WindGustSpeed', 'WindDir9am', 'WindDir3pm',
'WindSpeed9am', 'WindSpeed3pm', 'Humidity9am', 'Humidity3pm',
'Pressure9am', 'Pressure3pm', 'Cloud9am', 'Cloud3pm', 'Temp9am',
'Temp3pm', 'RainToday', 'RainTomorrow'],
dtype='object')In [ ]:
df['RainTomorrow'].unique()array(['No', 'Yes', nan], dtype=object)
In [ ]:
df = df[df['RainTomorrow'] == df['RainTomorrow']]
df['RainTomorrow'].unique()array(['No', 'Yes'], dtype=object)
In [ ]:
df['RainTomorrow'] = df['RainTomorrow'].map({'Yes': 1., 'No': 0.})
df['RainToday'] = df['RainToday'].map({'Yes': 1., 'No': 0.})In [ ]:
print(df.shape)(142193, 23)
In [ ]:
df.info()<class 'pandas.core.frame.DataFrame'> Index: 142193 entries, 0 to 145458 Data columns (total 23 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Date 142193 non-null object 1 Location 142193 non-null object 2 MinTemp 141556 non-null float64 3 MaxTemp 141871 non-null float64 4 Rainfall 140787 non-null float64 5 Evaporation 81350 non-null float64 6 Sunshine 74377 non-null float64 7 WindGustDir 132863 non-null object 8 WindGustSpeed 132923 non-null float64 9 WindDir9am 132180 non-null object 10 WindDir3pm 138415 non-null object 11 WindSpeed9am 140845 non-null float64 12 WindSpeed3pm 139563 non-null float64 13 Humidity9am 140419 non-null float64 14 Humidity3pm 138583 non-null float64 15 Pressure9am 128179 non-null float64 16 Pressure3pm 128212 non-null float64 17 Cloud9am 88536 non-null float64 18 Cloud3pm 85099 non-null float64 19 Temp9am 141289 non-null float64 20 Temp3pm 139467 non-null float64 21 RainToday 140787 non-null float64 22 RainTomorrow 142193 non-null float64 dtypes: float64(18), object(5) memory usage: 26.0+ MB
In [ ]:
from sklearn.model_selection import train_test_splitIn [ ]:
y = df.RainTomorrow
X = df.drop(columns=["RainTomorrow"])
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=2024)In [ ]:
X_train.shape(99535, 22)
In [ ]:
numeric_data = X_train.select_dtypes([np.number])
numeric_data_median = numeric_data.median()
numeric_features = numeric_data.columns
X_train = X_train.fillna(numeric_data_median)
X_test = X_test.fillna(numeric_data_median)In [ ]:
len(numeric_features)17
In [ ]:
correlations = X_train[numeric_features].corrwith(y_train).sort_values(ascending=False)
plot = sns.barplot(y=correlations.index, x=correlations)
plot.set_title("Корреляции между вещественными признаками и целевой переменной", size=15)
plot.figure.set_size_inches(17, 10)In [ ]:
fig, axs = plt.subplots(figsize=(16, 5), nrows=1, ncols=2)
_ = sns.swarmplot(x="RainTomorrow", y="Sunshine", data=df.head(10000), ax=axs[0])
_ = sns.swarmplot(x="RainTomorrow", y="Humidity3pm", data=df.head(1000), ax=axs[1])In [ ]:
from sklearn.metrics import log_loss, roc_auc_scoreIn [ ]:
model = LogisticRegression(solver='lbfgs', max_iter=1000)
model.fit(X_train[numeric_features], y_train)LogisticRegression(max_iter=1000)In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
LogisticRegression(max_iter=1000)
In [ ]:
y_pred = model.predict_proba(X_test[numeric_features])[:, 1]
y_train_pred = model.predict_proba(X_train[numeric_features])[:, 1]
print("Test logloss = %.4f" % log_loss(y_test, y_pred))
print("Train logloss = %.4f" % log_loss(y_train, y_train_pred))
print("Test roc auc score = %.4f" % roc_auc_score(y_test, y_pred))
print("Train roc auc score = %.4f" % roc_auc_score(y_train, y_train_pred))Test logloss = 0.3635 Train logloss = 0.3695 Test roc auc score = 0.8603 Train roc auc score = 0.8564
In [ ]:
plt.figure(figsize=(7, 7))
sorted_weights = sorted(zip(model.coef_[0], numeric_features), reverse=True)
weights = [x[0] for x in sorted_weights]
features = [x[1] for x in sorted_weights]
_ = sns.barplot(y=features, x=weights).set_title("Гистограмма весов", size=15)In [ ]:
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train[numeric_features])
X_test_scaled = scaler.transform(X_test[numeric_features])In [ ]:
model = LogisticRegression(solver='lbfgs', max_iter=1000)
model.fit(X_train_scaled, y_train)LogisticRegression(max_iter=1000)In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
LogisticRegression(max_iter=1000)
In [ ]:
y_pred = model.predict_proba(X_test_scaled)[:, 1]
y_train_pred = model.predict_proba(X_train_scaled)[:, 1]
print("Test logloss = %.4f" % log_loss(y_test, y_pred))
print("Train logloss = %.4f" % log_loss(y_train, y_train_pred))
print("Test roc auc score = %.4f" % roc_auc_score(y_test, y_pred))
print("Train roc auc score = %.4f" % roc_auc_score(y_train, y_train_pred))Test logloss = 0.3589 Train logloss = 0.3637 Test roc auc score = 0.8652 Train roc auc score = 0.8623
In [ ]:
plt.figure(figsize=(7, 7))
sorted_weights = sorted(zip(model.coef_[0], numeric_features), reverse=True)
weights = [x[0] for x in sorted_weights]
features = [x[1] for x in sorted_weights]
_ = sns.barplot(y=features, x=weights).set_title("Гистограмма весов", size=15)In [ ]:
categorical = list(X_train.drop(columns=["Date"]).dtypes[X_train.dtypes == "object"].index)
X_train[categorical] = X_train[categorical].fillna("NotGiven")
X_test[categorical] = X_test[categorical].fillna("NotGiven")In [ ]:
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
from sklearn.pipeline import Pipeline
column_transformer = ColumnTransformer([
('ohe', OneHotEncoder(), categorical),
('scaling', StandardScaler(), numeric_features)
])
pipeline = Pipeline(steps=[
('ohe', column_transformer),
('classification', LogisticRegression(solver='lbfgs', max_iter=200))
])
model = pipeline.fit(X_train.drop(columns=["Date"]), y_train)
y_pred = model.predict_proba(X_test.drop(columns=["Date"]))[:, 1]
print("Test logloss = %.4f" % log_loss(y_test, y_pred))
print("Test roc auc score = %.4f" % roc_auc_score(y_test, y_pred))Test logloss = 0.3498 Test roc auc score = 0.8721
In [ ]:
list(np.logspace(2, 6, 5))[100.0, 1000.0, 10000.0, 100000.0, 1000000.0]
In [ ]:
from sklearn.model_selection import GridSearchCV
import numpy as np
column_transformer = ColumnTransformer([
('ohe', OneHotEncoder(), categorical),
('scaling', StandardScaler(), numeric_features)
])
pipeline = Pipeline(steps=[
('ohe', column_transformer),
('classification', LogisticRegression(tol=0.00000001))
])
param_grid = {
"classification__max_iter": list(map(int,np.logspace(3, 6, 5))),
"classification__solver": ['lbfgs', 'newton-cg'],
"classification__C": list(np.arange(0.1, 0.6, 0.1)),
# "classification__penalty": ['none','l2'],
}
gr = GridSearchCV(pipeline, param_grid, cv=5, n_jobs=-1, scoring='roc_auc')
model = gr.fit(X_train.drop(columns=["Date"]), y_train)
results=pd.DataFrame(model.cv_results_)
# y_pred = model.predict(X_test.drop(columns=["Date"]))
# print(y_pred)In [ ]:
print(model.best_params_)
print("Test logloss = %.4f" % log_loss(y_test, y_pred))
print("Test roc auc score = %.4f" % roc_auc_score(y_test, y_pred)){'classification__C': 0.1, 'classification__max_iter': 1000, 'classification__penalty': 'l2', 'classification__solver': 'newton-cg'}
Test logloss = 0.3498
Test roc auc score = 0.8721
In [ ]:
results.sort_values(by="mean_test_score", ascending=False)| mean_fit_time | std_fit_time | mean_score_time | std_score_time | param_classification__C | param_classification__max_iter | param_classification__solver | params | split0_test_score | split1_test_score | split2_test_score | split3_test_score | split4_test_score | mean_test_score | std_test_score | rank_test_score | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 3.594939 | 0.458304 | 0.164868 | 0.032512 | 0.1 | 5623 | newton-cg | {'classification__C': 0.1, 'classification__max_iter': 5623, 'classification__solver': 'newton-cg'} | 0.867347 | 0.868983 | 0.870583 | 0.868644 | 0.873923 | 0.869896 | 0.002262 | 1 |
| 5 | 3.245754 | 0.311483 | 0.150112 | 0.026728 | 0.1 | 31622 | newton-cg | {'classification__C': 0.1, 'classification__max_iter': 31622, 'classification__solver': 'newton-cg'} | 0.867347 | 0.868983 | 0.870583 | 0.868644 | 0.873923 | 0.869896 | 0.002262 | 1 |
| 7 | 3.501111 | 0.420182 | 0.165937 | 0.013190 | 0.1 | 177827 | newton-cg | {'classification__C': 0.1, 'classification__max_iter': 177827, 'classification__solver': 'newton-cg'} | 0.867347 | 0.868983 | 0.870583 | 0.868644 | 0.873923 | 0.869896 | 0.002262 | 1 |
| 9 | 3.312821 | 0.203438 | 0.172997 | 0.015427 | 0.1 | 1000000 | newton-cg | {'classification__C': 0.1, 'classification__max_iter': 1000000, 'classification__solver': 'newton-cg'} | 0.867347 | 0.868983 | 0.870583 | 0.868644 | 0.873923 | 0.869896 | 0.002262 | 1 |
| 1 | 3.268429 | 0.150067 | 0.163901 | 0.009364 | 0.1 | 1000 | newton-cg | {'classification__C': 0.1, 'classification__max_iter': 1000, 'classification__solver': 'newton-cg'} | 0.867347 | 0.868983 | 0.870583 | 0.868644 | 0.873923 | 0.869896 | 0.002262 | 1 |
| 0 | 4.508291 | 0.146109 | 0.156594 | 0.008510 | 0.1 | 1000 | lbfgs | {'classification__C': 0.1, 'classification__max_iter': 1000, 'classification__solver': 'lbfgs'} | 0.867347 | 0.868983 | 0.870583 | 0.868644 | 0.873923 | 0.869896 | 0.002262 | 6 |
| 2 | 5.074120 | 0.172969 | 0.159811 | 0.012056 | 0.1 | 5623 | lbfgs | {'classification__C': 0.1, 'classification__max_iter': 5623, 'classification__solver': 'lbfgs'} | 0.867347 | 0.868983 | 0.870583 | 0.868644 | 0.873923 | 0.869896 | 0.002262 | 6 |
| 4 | 5.477219 | 0.660987 | 0.166482 | 0.013652 | 0.1 | 31622 | lbfgs | {'classification__C': 0.1, 'classification__max_iter': 31622, 'classification__solver': 'lbfgs'} | 0.867347 | 0.868983 | 0.870583 | 0.868644 | 0.873923 | 0.869896 | 0.002262 | 6 |
| 6 | 5.327319 | 0.474824 | 0.155696 | 0.013844 | 0.1 | 177827 | lbfgs | {'classification__C': 0.1, 'classification__max_iter': 177827, 'classification__solver': 'lbfgs'} | 0.867347 | 0.868983 | 0.870583 | 0.868644 | 0.873923 | 0.869896 | 0.002262 | 6 |
| 8 | 5.082660 | 0.601089 | 0.157559 | 0.009131 | 0.1 | 1000000 | lbfgs | {'classification__C': 0.1, 'classification__max_iter': 1000000, 'classification__solver': 'lbfgs'} | 0.867347 | 0.868983 | 0.870583 | 0.868644 | 0.873923 | 0.869896 | 0.002262 | 6 |
| 15 | 3.058160 | 0.294788 | 0.166503 | 0.028733 | 0.2 | 31622 | newton-cg | {'classification__C': 0.2, 'classification__max_iter': 31622, 'classification__solver': 'newton-cg'} | 0.867362 | 0.868928 | 0.870573 | 0.868631 | 0.873878 | 0.869874 | 0.002248 | 11 |
| 19 | 3.102210 | 0.275121 | 0.156448 | 0.015349 | 0.2 | 1000000 | newton-cg | {'classification__C': 0.2, 'classification__max_iter': 1000000, 'classification__solver': 'newton-cg'} | 0.867362 | 0.868928 | 0.870573 | 0.868631 | 0.873878 | 0.869874 | 0.002248 | 11 |
| 17 | 3.268719 | 0.340584 | 0.159141 | 0.013200 | 0.2 | 177827 | newton-cg | {'classification__C': 0.2, 'classification__max_iter': 177827, 'classification__solver': 'newton-cg'} | 0.867362 | 0.868928 | 0.870573 | 0.868631 | 0.873878 | 0.869874 | 0.002248 | 11 |
| 13 | 3.059704 | 0.338614 | 0.167431 | 0.026594 | 0.2 | 5623 | newton-cg | {'classification__C': 0.2, 'classification__max_iter': 5623, 'classification__solver': 'newton-cg'} | 0.867362 | 0.868928 | 0.870573 | 0.868631 | 0.873878 | 0.869874 | 0.002248 | 11 |
| 11 | 2.999901 | 0.314353 | 0.161564 | 0.008450 | 0.2 | 1000 | newton-cg | {'classification__C': 0.2, 'classification__max_iter': 1000, 'classification__solver': 'newton-cg'} | 0.867362 | 0.868928 | 0.870573 | 0.868631 | 0.873878 | 0.869874 | 0.002248 | 11 |
| 14 | 6.327667 | 0.418129 | 0.164756 | 0.014605 | 0.2 | 31622 | lbfgs | {'classification__C': 0.2, 'classification__max_iter': 31622, 'classification__solver': 'lbfgs'} | 0.867362 | 0.868928 | 0.870573 | 0.868631 | 0.873878 | 0.869874 | 0.002248 | 16 |
| 16 | 5.988765 | 0.347370 | 0.175798 | 0.017905 | 0.2 | 177827 | lbfgs | {'classification__C': 0.2, 'classification__max_iter': 177827, 'classification__solver': 'lbfgs'} | 0.867362 | 0.868928 | 0.870573 | 0.868631 | 0.873878 | 0.869874 | 0.002248 | 16 |
| 12 | 5.780409 | 0.733486 | 0.153095 | 0.020617 | 0.2 | 5623 | lbfgs | {'classification__C': 0.2, 'classification__max_iter': 5623, 'classification__solver': 'lbfgs'} | 0.867362 | 0.868928 | 0.870573 | 0.868631 | 0.873878 | 0.869874 | 0.002248 | 16 |
| 18 | 6.218963 | 0.550002 | 0.160398 | 0.004238 | 0.2 | 1000000 | lbfgs | {'classification__C': 0.2, 'classification__max_iter': 1000000, 'classification__solver': 'lbfgs'} | 0.867362 | 0.868928 | 0.870573 | 0.868631 | 0.873878 | 0.869874 | 0.002248 | 16 |
| 10 | 6.204335 | 0.856147 | 0.143904 | 0.010592 | 0.2 | 1000 | lbfgs | {'classification__C': 0.2, 'classification__max_iter': 1000, 'classification__solver': 'lbfgs'} | 0.867362 | 0.868928 | 0.870573 | 0.868631 | 0.873878 | 0.869874 | 0.002248 | 16 |
| 20 | 6.188158 | 0.343305 | 0.177847 | 0.023823 | 0.3 | 1000 | lbfgs | {'classification__C': 0.30000000000000004, 'classification__max_iter': 1000, 'classification__solver': 'lbfgs'} | 0.867369 | 0.868903 | 0.870569 | 0.868627 | 0.873857 | 0.869865 | 0.002242 | 21 |
| 22 | 6.493763 | 0.905100 | 0.157970 | 0.020397 | 0.3 | 5623 | lbfgs | {'classification__C': 0.30000000000000004, 'classification__max_iter': 5623, 'classification__solver': 'lbfgs'} | 0.867369 | 0.868903 | 0.870569 | 0.868627 | 0.873857 | 0.869865 | 0.002242 | 21 |
| 28 | 6.516454 | 0.640200 | 0.171326 | 0.016684 | 0.3 | 1000000 | lbfgs | {'classification__C': 0.30000000000000004, 'classification__max_iter': 1000000, 'classification__solver': 'lbfgs'} | 0.867369 | 0.868903 | 0.870569 | 0.868627 | 0.873857 | 0.869865 | 0.002242 | 21 |
| 24 | 6.123650 | 0.455116 | 0.176829 | 0.025590 | 0.3 | 31622 | lbfgs | {'classification__C': 0.30000000000000004, 'classification__max_iter': 31622, 'classification__solver': 'lbfgs'} | 0.867369 | 0.868903 | 0.870569 | 0.868627 | 0.873857 | 0.869865 | 0.002242 | 21 |
| 26 | 5.676543 | 0.353486 | 0.147139 | 0.010447 | 0.3 | 177827 | lbfgs | {'classification__C': 0.30000000000000004, 'classification__max_iter': 177827, 'classification__solver': 'lbfgs'} | 0.867369 | 0.868903 | 0.870569 | 0.868627 | 0.873857 | 0.869865 | 0.002242 | 21 |
| 27 | 3.277087 | 0.317038 | 0.164307 | 0.025108 | 0.3 | 177827 | newton-cg | {'classification__C': 0.30000000000000004, 'classification__max_iter': 177827, 'classification__solver': 'newton-cg'} | 0.867369 | 0.868903 | 0.870569 | 0.868627 | 0.873857 | 0.869865 | 0.002242 | 26 |
| 29 | 2.859274 | 0.344828 | 0.156385 | 0.019292 | 0.3 | 1000000 | newton-cg | {'classification__C': 0.30000000000000004, 'classification__max_iter': 1000000, 'classification__solver': 'newton-cg'} | 0.867369 | 0.868903 | 0.870569 | 0.868627 | 0.873857 | 0.869865 | 0.002242 | 26 |
| 25 | 3.066653 | 0.257113 | 0.144786 | 0.010282 | 0.3 | 31622 | newton-cg | {'classification__C': 0.30000000000000004, 'classification__max_iter': 31622, 'classification__solver': 'newton-cg'} | 0.867369 | 0.868903 | 0.870569 | 0.868627 | 0.873857 | 0.869865 | 0.002242 | 26 |
| 23 | 3.088915 | 0.269694 | 0.163284 | 0.023207 | 0.3 | 5623 | newton-cg | {'classification__C': 0.30000000000000004, 'classification__max_iter': 5623, 'classification__solver': 'newton-cg'} | 0.867369 | 0.868903 | 0.870569 | 0.868627 | 0.873857 | 0.869865 | 0.002242 | 26 |
| 21 | 3.247651 | 0.513697 | 0.162852 | 0.009673 | 0.3 | 1000 | newton-cg | {'classification__C': 0.30000000000000004, 'classification__max_iter': 1000, 'classification__solver': 'newton-cg'} | 0.867369 | 0.868903 | 0.870569 | 0.868627 | 0.873857 | 0.869865 | 0.002242 | 26 |
| 33 | 3.380329 | 0.152825 | 0.155778 | 0.011507 | 0.4 | 5623 | newton-cg | {'classification__C': 0.4, 'classification__max_iter': 5623, 'classification__solver': 'newton-cg'} | 0.867369 | 0.868890 | 0.870562 | 0.868622 | 0.873849 | 0.869858 | 0.002240 | 31 |
| 37 | 3.225115 | 0.318642 | 0.161296 | 0.013668 | 0.4 | 177827 | newton-cg | {'classification__C': 0.4, 'classification__max_iter': 177827, 'classification__solver': 'newton-cg'} | 0.867369 | 0.868890 | 0.870562 | 0.868622 | 0.873849 | 0.869858 | 0.002240 | 31 |
| 35 | 3.225217 | 0.173962 | 0.155751 | 0.014079 | 0.4 | 31622 | newton-cg | {'classification__C': 0.4, 'classification__max_iter': 31622, 'classification__solver': 'newton-cg'} | 0.867369 | 0.868890 | 0.870562 | 0.868622 | 0.873849 | 0.869858 | 0.002240 | 31 |
| 39 | 3.278247 | 0.366075 | 0.156586 | 0.027581 | 0.4 | 1000000 | newton-cg | {'classification__C': 0.4, 'classification__max_iter': 1000000, 'classification__solver': 'newton-cg'} | 0.867369 | 0.868890 | 0.870562 | 0.868622 | 0.873849 | 0.869858 | 0.002240 | 31 |
| 31 | 3.062422 | 0.192526 | 0.158300 | 0.026043 | 0.4 | 1000 | newton-cg | {'classification__C': 0.4, 'classification__max_iter': 1000, 'classification__solver': 'newton-cg'} | 0.867369 | 0.868890 | 0.870562 | 0.868622 | 0.873849 | 0.869858 | 0.002240 | 31 |
| 34 | 5.746976 | 0.193833 | 0.168369 | 0.020759 | 0.4 | 31622 | lbfgs | {'classification__C': 0.4, 'classification__max_iter': 31622, 'classification__solver': 'lbfgs'} | 0.867369 | 0.868889 | 0.870562 | 0.868622 | 0.873849 | 0.869858 | 0.002240 | 36 |
| 32 | 5.957838 | 0.268363 | 0.147518 | 0.006013 | 0.4 | 5623 | lbfgs | {'classification__C': 0.4, 'classification__max_iter': 5623, 'classification__solver': 'lbfgs'} | 0.867369 | 0.868889 | 0.870562 | 0.868622 | 0.873849 | 0.869858 | 0.002240 | 36 |
| 36 | 6.434315 | 0.863096 | 0.166765 | 0.042122 | 0.4 | 177827 | lbfgs | {'classification__C': 0.4, 'classification__max_iter': 177827, 'classification__solver': 'lbfgs'} | 0.867369 | 0.868889 | 0.870562 | 0.868622 | 0.873849 | 0.869858 | 0.002240 | 36 |
| 38 | 5.852002 | 0.451367 | 0.163169 | 0.012807 | 0.4 | 1000000 | lbfgs | {'classification__C': 0.4, 'classification__max_iter': 1000000, 'classification__solver': 'lbfgs'} | 0.867369 | 0.868889 | 0.870562 | 0.868622 | 0.873849 | 0.869858 | 0.002240 | 36 |
| 30 | 6.087838 | 0.178105 | 0.150718 | 0.005899 | 0.4 | 1000 | lbfgs | {'classification__C': 0.4, 'classification__max_iter': 1000, 'classification__solver': 'lbfgs'} | 0.867369 | 0.868889 | 0.870562 | 0.868622 | 0.873849 | 0.869858 | 0.002240 | 36 |
| 40 | 6.492460 | 0.909012 | 0.159141 | 0.027942 | 0.5 | 1000 | lbfgs | {'classification__C': 0.5, 'classification__max_iter': 1000, 'classification__solver': 'lbfgs'} | 0.867368 | 0.868881 | 0.870559 | 0.868619 | 0.873841 | 0.869853 | 0.002238 | 41 |
| 42 | 6.452951 | 0.596886 | 0.169076 | 0.024734 | 0.5 | 5623 | lbfgs | {'classification__C': 0.5, 'classification__max_iter': 5623, 'classification__solver': 'lbfgs'} | 0.867368 | 0.868881 | 0.870559 | 0.868619 | 0.873841 | 0.869853 | 0.002238 | 41 |
| 44 | 6.243939 | 0.637473 | 0.168383 | 0.021860 | 0.5 | 31622 | lbfgs | {'classification__C': 0.5, 'classification__max_iter': 31622, 'classification__solver': 'lbfgs'} | 0.867368 | 0.868881 | 0.870559 | 0.868619 | 0.873841 | 0.869853 | 0.002238 | 41 |
| 46 | 6.395725 | 0.439159 | 0.177232 | 0.021989 | 0.5 | 177827 | lbfgs | {'classification__C': 0.5, 'classification__max_iter': 177827, 'classification__solver': 'lbfgs'} | 0.867368 | 0.868881 | 0.870559 | 0.868619 | 0.873841 | 0.869853 | 0.002238 | 41 |
| 48 | 5.119398 | 0.558995 | 0.064428 | 0.041514 | 0.5 | 1000000 | lbfgs | {'classification__C': 0.5, 'classification__max_iter': 1000000, 'classification__solver': 'lbfgs'} | 0.867368 | 0.868881 | 0.870559 | 0.868619 | 0.873841 | 0.869853 | 0.002238 | 41 |
| 41 | 3.143163 | 0.220217 | 0.184511 | 0.027615 | 0.5 | 1000 | newton-cg | {'classification__C': 0.5, 'classification__max_iter': 1000, 'classification__solver': 'newton-cg'} | 0.867368 | 0.868881 | 0.870559 | 0.868618 | 0.873841 | 0.869853 | 0.002238 | 46 |
| 43 | 3.118131 | 0.242155 | 0.159907 | 0.012866 | 0.5 | 5623 | newton-cg | {'classification__C': 0.5, 'classification__max_iter': 5623, 'classification__solver': 'newton-cg'} | 0.867368 | 0.868881 | 0.870559 | 0.868618 | 0.873841 | 0.869853 | 0.002238 | 46 |
| 45 | 3.053760 | 0.182356 | 0.148105 | 0.018770 | 0.5 | 31622 | newton-cg | {'classification__C': 0.5, 'classification__max_iter': 31622, 'classification__solver': 'newton-cg'} | 0.867368 | 0.868881 | 0.870559 | 0.868618 | 0.873841 | 0.869853 | 0.002238 | 46 |
| 47 | 3.023546 | 0.147036 | 0.162190 | 0.016610 | 0.5 | 177827 | newton-cg | {'classification__C': 0.5, 'classification__max_iter': 177827, 'classification__solver': 'newton-cg'} | 0.867368 | 0.868881 | 0.870559 | 0.868618 | 0.873841 | 0.869853 | 0.002238 | 46 |
| 49 | 2.658327 | 0.225790 | 0.097124 | 0.020557 | 0.5 | 1000000 | newton-cg | {'classification__C': 0.5, 'classification__max_iter': 1000000, 'classification__solver': 'newton-cg'} | 0.867368 | 0.868881 | 0.870559 | 0.868618 | 0.873841 | 0.869853 | 0.002238 | 46 |
