" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 54, in _check_solver\n",
" raise ValueError(\n",
"ValueError: Solver newton-cg supports only 'l2' or 'none' penalties, got elasticnet penalty.\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 71, in _check_solver\n",
" raise ValueError(\"penalty='none' is not supported for the liblinear solver\")\n",
"ValueError: penalty='none' is not supported for the liblinear solver\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 54, in _check_solver\n",
" raise ValueError(\n",
"ValueError: Solver lbfgs supports only 'l2' or 'none' penalties, got l1 penalty.\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\joblib\\_parallel_backends.py\", line 208, in apply_async\n",
" result = ImmediateResult(func)\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\joblib\\_parallel_backends.py\", line 597, in __init__\n",
" self.results = batch()\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\joblib\\parallel.py\", line 288, in __call__\n",
" return [func(*args, **kwargs)\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\joblib\\parallel.py\", line 288, in <listcomp>\n",
" return [func(*args, **kwargs)\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\utils\\parallel.py\", line 123, in __call__\n",
" return self.function(*args, **kwargs)\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 521, in _logistic_regression_path\n",
" alpha = (1.0 / C) * (1 - l1_ratio)\n",
"TypeError: unsupported operand type(s) for -: 'int' and 'NoneType'\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 64, in _check_solver\n",
" raise ValueError(\n",
"ValueError: Only 'saga' solver supports elasticnet penalty, got solver=liblinear.\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 54, in _check_solver\n",
" raise ValueError(\n",
"ValueError: Solver sag supports only 'l2' or 'none' penalties, got l1 penalty.\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 54, in _check_solver\n",
" raise ValueError(\n",
"ValueError: Solver sag supports only 'l2' or 'none' penalties, got elasticnet penalty.\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 54, in _check_solver\n",
" raise ValueError(\n",
"ValueError: Solver lbfgs supports only 'l2' or 'none' penalties, got elasticnet penalty.\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 54, in _check_solver\n",
" raise ValueError(\n",
"ValueError: Solver newton-cg supports only 'l2' or 'none' penalties, got l1 penalty.\n",
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_search.py:952: UserWarning: One or more of the test scores are non-finite: [ nan 0.87666667 0.92083333 nan nan 0.87416667\n",
" nan 0.87666667 0.864375 0.87645833 0.78208333 0.87854167\n",
" 0.72333333 0.87854167 0.85645833 nan nan nan\n",
" nan 0.87666667 nan 0.90375 0.85625 0.62895833\n",
" nan nan 0.85625 nan nan 0.87854167\n",
" 0.85645833 nan 0.87791667 0.90395833 0.87854167 nan\n",
" nan 0.87375 0.78208333 0.87666667 nan nan\n",
" 0.78208333 0.90270833 nan nan 0.85625 nan\n",
" 0.86583333 nan nan nan]\n",
" warnings.warn(\n",
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1173: FutureWarning: `penalty='none'`has been deprecated in 1.2 and will be removed in 1.4. To keep the past behaviour, set `penalty=None`.\n",
" warnings.warn(\n",
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1181: UserWarning: Setting penalty=None will ignore the C and l1_ratio parameters\n",
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\utils\\optimize.py:210: ConvergenceWarning: newton-cg failed to converge. Increase the number of iterations.\n",
File "c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\joblib\_parallel_backends.py", line 208, in apply_async
result = ImmediateResult(func)
File "c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\joblib\_parallel_backends.py", line 597, in __init__
self.results = batch()
File "c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\joblib\parallel.py", line 288, in __call__
return [func(*args, **kwargs)
File "c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\joblib\parallel.py", line 288, in <listcomp>
return [func(*args, **kwargs)
File "c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\utils\parallel.py", line 123, in __call__
return self.function(*args, **kwargs)
File "c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\linear_model\_logistic.py", line 521, in _logistic_regression_path
alpha = (1.0 / C) * (1 - l1_ratio)
TypeError: unsupported operand type(s) for -: 'int' and 'NoneType'
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\model_selection\_search.py:952: UserWarning: One or more of the test scores are non-finite: [ nan 0.87666667 0.92083333 nan nan 0.87416667
nan 0.87666667 0.864375 0.87645833 0.78208333 0.87854167
0.85645833 nan 0.87791667 0.90395833 0.87854167 nan
nan 0.87375 0.78208333 0.87666667 nan nan
0.78208333 0.90270833 nan nan 0.85625 nan
0.86583333 nan nan nan]
warnings.warn(
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\linear_model\_logistic.py:1173: FutureWarning: `penalty='none'`has been deprecated in 1.2 and will be removed in 1.4. To keep the past behaviour, set `penalty=None`.
warnings.warn(
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\linear_model\_logistic.py:1181: UserWarning: Setting penalty=None will ignore the C and l1_ratio parameters
warnings.warn(
Best Parameters: {'solver': 'newton-cg', 'penalty': 'none', 'max_iter': 100, 'C': 0.005994842503189409}
Best Score: 0.9225
Accuracy: 0.9325
Confusion Matrix:
[[557 31]
[ 50 562]]
Classification Report:
precision recall f1-score support
0 0.92 0.95 0.93 588
1 0.95 0.92 0.93 612
accuracy 0.93 1200
macro avg 0.93 0.93 0.93 1200
weighted avg 0.93 0.93 0.93 1200
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\utils\optimize.py:210: ConvergenceWarning: newton-cg failed to converge. Increase the number of iterations.
warnings.warn(
%% Cell type:markdown id: tags:
Predict
%% Cell type:code id: tags:
``` python
test_data=pd.read_csv('TestingDataBinary.csv')
```
%% Cell type:code id: tags:
``` python
# Preprocessing
X_new=test_data
X_new.replace([np.inf,-np.inf],0,inplace=True)
# Impute the missing values in the features data
X_imputed_new=imputer.transform(X_new)
# Scale the features data
X_scaled_new=scaler.transform(X_imputed_new)
# Apply PCA transformation
X_pca_new=pca.transform(X_scaled_new)
```
%% Cell type:code id: tags:
``` python
# Use the best estimator for predictions on the new data
y_pred_new=best_model.predict(X_pca_new)
# Save the predictions to a new column in the DataFrame
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\svm\\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" warnings.warn(\n",
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\svm\\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" warnings.warn(\n",
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\svm\\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 54, in _check_solver\n",
" raise ValueError(\n",
"ValueError: Solver newton-cg supports only 'l2' or 'none' penalties, got elasticnet penalty.\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 71, in _check_solver\n",
" raise ValueError(\"penalty='none' is not supported for the liblinear solver\")\n",
"ValueError: penalty='none' is not supported for the liblinear solver\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 54, in _check_solver\n",
" raise ValueError(\n",
"ValueError: Solver lbfgs supports only 'l2' or 'none' penalties, got l1 penalty.\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\joblib\\_parallel_backends.py\", line 208, in apply_async\n",
" result = ImmediateResult(func)\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\joblib\\_parallel_backends.py\", line 597, in __init__\n",
" self.results = batch()\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\joblib\\parallel.py\", line 288, in __call__\n",
" return [func(*args, **kwargs)\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\joblib\\parallel.py\", line 288, in <listcomp>\n",
" return [func(*args, **kwargs)\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\utils\\parallel.py\", line 123, in __call__\n",
" return self.function(*args, **kwargs)\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 521, in _logistic_regression_path\n",
" alpha = (1.0 / C) * (1 - l1_ratio)\n",
"TypeError: unsupported operand type(s) for -: 'int' and 'NoneType'\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 64, in _check_solver\n",
" raise ValueError(\n",
"ValueError: Only 'saga' solver supports elasticnet penalty, got solver=liblinear.\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 54, in _check_solver\n",
" raise ValueError(\n",
"ValueError: Solver sag supports only 'l2' or 'none' penalties, got l1 penalty.\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 54, in _check_solver\n",
" raise ValueError(\n",
"ValueError: Solver sag supports only 'l2' or 'none' penalties, got elasticnet penalty.\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 54, in _check_solver\n",
" raise ValueError(\n",
"ValueError: Solver lbfgs supports only 'l2' or 'none' penalties, got elasticnet penalty.\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 686, in _fit_and_score\n",
" File \"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py\", line 54, in _check_solver\n",
" raise ValueError(\n",
"ValueError: Solver newton-cg supports only 'l2' or 'none' penalties, got l1 penalty.\n",
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\model_selection\\_search.py:952: UserWarning: One or more of the test scores are non-finite: [ nan 0.87666667 0.92083333 nan nan 0.87416667\n",
" nan 0.87666667 0.864375 0.87645833 0.78208333 0.87854167\n",
" 0.72333333 0.87854167 0.85645833 nan nan nan\n",
" nan 0.87666667 nan 0.90375 0.85625 0.62895833\n",
" nan nan 0.85625 nan nan 0.87854167\n",
" 0.85645833 nan 0.87791667 0.90395833 0.87854167 nan\n",
" nan 0.87375 0.78208333 0.87666667 nan nan\n",
" 0.78208333 0.90270833 nan nan 0.85625 nan\n",
" 0.86583333 nan nan nan]\n",
" warnings.warn(\n",
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\svm\\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1173: FutureWarning: `penalty='none'`has been deprecated in 1.2 and will be removed in 1.4. To keep the past behaviour, set `penalty=None`.\n",
" warnings.warn(\n",
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\svm\\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" warnings.warn(\n",
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:458: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:1181: UserWarning: Setting penalty=None will ignore the C and l1_ratio parameters\n",
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\svm\\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\utils\\optimize.py:210: ConvergenceWarning: newton-cg failed to converge. Increase the number of iterations.\n",
"c:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\sklearn\\svm\\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.
warnings.warn(
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.
warnings.warn(
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.
Fitting 3 folds for each of 100 candidates, totalling 300 fits
File "c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\joblib\_parallel_backends.py", line 208, in apply_async
result = ImmediateResult(func)
File "c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\joblib\_parallel_backends.py", line 597, in __init__
self.results = batch()
File "c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\joblib\parallel.py", line 288, in __call__
return [func(*args, **kwargs)
File "c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\joblib\parallel.py", line 288, in <listcomp>
return [func(*args, **kwargs)
File "c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\utils\parallel.py", line 123, in __call__
return self.function(*args, **kwargs)
File "c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\linear_model\_logistic.py", line 521, in _logistic_regression_path
alpha = (1.0 / C) * (1 - l1_ratio)
TypeError: unsupported operand type(s) for -: 'int' and 'NoneType'
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\model_selection\_search.py:952: UserWarning: One or more of the test scores are non-finite: [ nan 0.87666667 0.92083333 nan nan 0.87416667
nan 0.87666667 0.864375 0.87645833 0.78208333 0.87854167
0.85645833 nan 0.87791667 0.90395833 0.87854167 nan
nan 0.87375 0.78208333 0.87666667 nan nan
0.78208333 0.90270833 nan nan 0.85625 nan
0.86583333 nan nan nan]
warnings.warn(
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\linear_model\_logistic.py:1173: FutureWarning: `penalty='none'`has been deprecated in 1.2 and will be removed in 1.4. To keep the past behaviour, set `penalty=None`.
warnings.warn(
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\linear_model\_logistic.py:1181: UserWarning: Setting penalty=None will ignore the C and l1_ratio parameters
warnings.warn(
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\linear_model\_logistic.py:458: ConvergenceWarning: lbfgs failed to converge (status=1):
STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.
Increase the number of iterations (max_iter) or scale the data as shown in:
Best hyperparameters: {'C': 100, 'solver': 'liblinear'}
Best accuracy score: 0.8968333333333334
Best Parameters: {'solver': 'newton-cg', 'penalty': 'none', 'max_iter': 100, 'C': 0.005994842503189409}
Best Score: 0.9225
Accuracy: 0.9325
Confusion Matrix:
[[557 31]
[ 50 562]]
Classification Report:
precision recall f1-score support
0 0.92 0.95 0.93 588
1 0.95 0.92 0.93 612
accuracy 0.93 1200
macro avg 0.93 0.93 0.93 1200
weighted avg 0.93 0.93 0.93 1200
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\utils\optimize.py:210: ConvergenceWarning: newton-cg failed to converge. Increase the number of iterations.
warnings.warn(
%% Cell type:markdown id: tags:
Predict
%% Cell type:code id: tags:
``` python
lr=LogisticRegression(C=100,solver='liblinear')
# Train the model on the training data
lr.fit(X_train,y_train)
test_data=pd.read_csv('TestingDataBinary.csv')
```
# Predict the labels for the test data
y_pred=lr.predict(X_test)
%% Cell type:code id: tags:
# Evaluate the model performance
print("Accuracy:",accuracy_score(y_test,y_pred))
```
``` python
# Preprocessing
X_new=test_data
X_new.replace([np.inf,-np.inf],0,inplace=True)
%% Output
# Impute the missing values in the features data
X_imputed_new=imputer.transform(X_new)
Accuracy: 0.9158333333333334
# Scale the features data
X_scaled_new=scaler.transform(X_imputed_new)
c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\svm\_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.
warnings.warn(
# Apply PCA transformation
X_pca_new=pca.transform(X_scaled_new)
```
%% Cell type:code id: tags:
``` python
# Normalize the features
test_df_scaled=scaler.transform(test_df)
# Select the top 15 features
test_df_selected=test_df_scaled[:,:top_n]
# Use the best estimator for predictions on the new data
y_pred_new=best_model.predict(X_pca_new)
# Use the chosen model to predict AQI scores for the test dataset