{"metadata":{"kernelspec":{"name":"python3","display_name":"Python 3","language":"python"},"language_info":{"name":"python","version":"3.10.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":59093,"databundleVersionId":7469972,"sourceType":"competition"}],"dockerImageVersionId":30664,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# **Harmful Brain Activity Classification / Ridge regression model and Linear regression model**\n\n## **Written by:** Aarish Asif Khan\n\n## **Date:** 24 February 2024","metadata":{}},{"cell_type":"code","source":"# Import libraries\nimport pandas as pd \nimport numpy as np \nimport matplotlib.pyplot as plt \nimport seaborn as sns \n\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.pipeline import Pipeline\n\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.linear_model import Ridge, LinearRegression\n\nfrom sklearn.preprocessing import LabelEncoder\nfrom sklearn.metrics import mean_squared_error, mean_absolute_error, mean_absolute_percentage_error","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Load the dataset\ntrain_data = pd.read_csv(\"/kaggle/input/hms-harmful-brain-activity-classification/train.csv\")\n\n# Print the 5 rows of the dataset\ntrain_data.head()","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Define features (X) and target variable (y)\nX = train_data[['eeg_label_offset_seconds', 'spectrogram_label_offset_seconds']]\ny = train_data['expert_consensus']","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Split the data into training and testing sets\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Encode the target variable into numerical format\nlabel_encoder = LabelEncoder()\ny_train_encoded = label_encoder.fit_transform(y_train)\ny_test_encoded = label_encoder.transform(y_test)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Define and train the Ridge Regression model\nridge_reg = Ridge(alpha=1.0)\nridge_reg.fit(X_train, y_train_encoded)\n\n# Make predictions\nridge_reg_predictions = ridge_reg.predict(X_test)\n\n# Evaluate Ridge Regression (mape)\nridge_reg_mape = mean_absolute_percentage_error(y_test_encoded, ridge_reg_predictions)\nridge_reg_mse = mean_squared_error(y_test_encoded, ridge_reg_predictions)\nridge_reg_mae = mean_absolute_error(y_test_encoded, ridge_reg_predictions)\n\nprint(\"Ridge Regression MAPE:\", ridge_reg_mape)\nprint(\"Ridge Regression MSE:\", ridge_reg_mse)\nprint(\"Ridge Regression MAE:\", ridge_reg_mae)\n","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pipeline = Pipeline([\n    ('scaler', StandardScaler()),\n    ('linear_reg', LinearRegression())\n])\n\npipeline.fit(X_train, y_train_encoded)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Make predictions\nlinear_reg_predictions = pipeline.predict(X_test)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.preprocessing import LabelEncoder\n\n# Encode the target variable into numerical format\nlabel_encoder = LabelEncoder()\ny_train_encoded = label_encoder.fit_transform(y_train)\ny_test_encoded = label_encoder.transform(y_test)\n\n# Define and train the Linear Regression model using a pipeline\npipeline = Pipeline([\n    ('scaler', StandardScaler()),\n    ('linear_reg', LinearRegression())\n])\n\npipeline.fit(X_train, y_train_encoded)\n\n# Evaluate Linear Regression (mape)\nlinear_reg_mape = mean_absolute_percentage_error(y_test_encoded, linear_reg_predictions)\nlinear_reg_predictions = pipeline.predict(X_test)\nlinear_reg_mse = mean_squared_error(y_test_encoded, linear_reg_predictions)\nlinear_reg_rmse = np.sqrt(linear_reg_mse)\nlinear_reg_mae = mean_absolute_error(y_test_encoded, linear_reg_predictions)\n\nprint('Linear Regression Mean Absolute Percentage Error:', linear_reg_mape)\nprint(\"Linear Regression MSE:\", linear_reg_mse)\nprint(\"Linear Regression MAE:\", linear_reg_mae)","metadata":{"trusted":true},"execution_count":null,"outputs":[]}]}