{"id":17695597,"url":"https://github.com/rafat3000/glass-classification","last_synced_at":"2026-04-12T05:34:50.154Z","repository":{"id":259086602,"uuid":"870066945","full_name":"Rafat3000/Glass-Classification","owner":"Rafat3000","description":"Classification data and using ANN model ","archived":false,"fork":false,"pushed_at":"2024-10-09T12:21:38.000Z","size":80,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T23:43:53.012Z","etag":null,"topics":["adam","adam-optimizer","ann","keras","labelencoder","matloptlib","pandas","scaler","sklearn","tensorflow"],"latest_commit_sha":null,"homepage":"https://www.kaggle.com/code/rafatalzakout/glass-classification/edit","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rafat3000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-09T11:39:49.000Z","updated_at":"2024-10-13T21:41:22.000Z","dependencies_parsed_at":"2024-10-23T01:16:08.384Z","dependency_job_id":null,"html_url":"https://github.com/Rafat3000/Glass-Classification","commit_stats":null,"previous_names":["rafat3000/glass-classification"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rafat3000%2FGlass-Classification","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rafat3000%2FGlass-Classification/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rafat3000%2FGlass-Classification/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rafat3000%2FGlass-Classification/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rafat3000","download_url":"https://codeload.github.com/Rafat3000/Glass-Classification/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246395572,"owners_count":20770240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adam","adam-optimizer","ann","keras","labelencoder","matloptlib","pandas","scaler","sklearn","tensorflow"],"created_at":"2024-10-24T14:06:11.788Z","updated_at":"2025-12-30T23:15:55.975Z","avatar_url":"https://github.com/Rafat3000.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Alt text](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQfphFb2f596llWPYet-MSq84Ri1EhrBmfRUg\u0026s)\n# Glass Classification using Neural Network\n\n## Dataset Information\nThe dataset used for this model is related to the classification of different types of glass based on various physical and chemical attributes. The attributes include:\n- RI: Refractive Index\n- Na: Sodium content\n- Mg: Magnesium content\n- Al: Aluminum content\n- Si: Silicon content\n- K: Potassium content\n- Ca: Calcium content\n- Ba: Barium content\n- Fe: Iron content\n- Type: Type of glass (Target)\n\n## Libraries and Data Loading\n```python\nimport pandas as pd\n\n# Load Data \nfile_path = \"/kaggle/input/glass/glass.csv\"\ndata = pd.read_csv(file_path) \ndata.head()\nSample output:\n\nRI\tNa\tMg\tAl\tSi\tK\tCa\tBa\tFe\tType\n1.5210\t13.64\t4.49\t1.10\t71.78\t0.06\t8.75\t0.0\t0.0\t1\n1.5176\t13.89\t3.60\t1.36\t72.73\t0.48\t7.83\t0.0\t0.0\t1\n1.5161\t13.53\t3.55\t1.54\t72.99\t0.39\t7.78\t0.0\t0.0\t1\npython\nCopy code\n# Check distribution of the target variable\ndata['Type'].value_counts()\nOutput:\n\nyaml\nCopy code\nType\n2    76\n1    70\n7    29\n3    17\n5    13\n6     9\nName: count, dtype: int64\nData Preprocessing\n\nSplitting Features and Target\npython\nCopy code\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.preprocessing import StandardScaler\n\n# Split Features and Target\nX = data.drop('Type', axis=1)\ny = data['Type'] - 1  # Adjust target to zero-based indexing\n\n# Scaling features using Standard Scaler\nscaler = StandardScaler()\nX_scaled = scaler.fit_transform(X)\n\n# Split data into training and test sets\nX_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)\nBuilding the Neural Network\n\nUsing TensorFlow and Keras to build an Artificial Neural Network (ANN) for classification.\n\npython\nCopy code\nfrom tensorflow.keras.models import Sequential\nfrom tensorflow.keras.layers import Dense\n\n# Build Sequential model\nmodel = Sequential()\n\n# Add input layer and first hidden layer\nmodel.add(Dense(128, input_dim=X_train.shape[1], activation='relu'))\n\n# Add more hidden layers\nmodel.add(Dense(128, activation='relu'))\nmodel.add(Dense(128, activation='relu'))\nmodel.add(Dense(256, activation='relu'))\nmodel.add(Dense(128, activation='relu'))\n\n# Add output layer with 7 units (for the 7 glass types) and softmax activation\nmodel.add(Dense(7, activation='softmax'))\n\n# Model summary\nmodel.summary()\nModel Compilation\npython\nCopy code\n# Compile the model\nmodel.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])\nTraining the Model\npython\nCopy code\n# Train the model\nhistory = model.fit(X_train, y_train, epochs=100, batch_size=10, validation_split=0.2)\nSample training output:\n\narduino\nCopy code\nEpoch 1/100\n14/14 ━━━━━━━━━━━━━━━━━━━━ 2s 25ms/step - accuracy: 0.2974 - loss: 1.8536 - val_accuracy: 0.4286 - val_loss: 1.5107\nEpoch 2/100\n14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - accuracy: 0.6038 - loss: 1.3588 - val_accuracy: 0.4857 - val_loss: 1.3663\n...\nEpoch 100/100\n14/14 ━━━━━━━━━━━━━━━━━━━━ 0s 6ms/step - accuracy: 0.9985 - loss: 0.0211 - val_accuracy: 0.6857 - val_loss: 4.4292\nConclusion\n\nThe model achieves a high training accuracy, though the validation accuracy suggests overfitting. Further hyperparameter tuning or regularization might improve the model's performance on unseen data.\n\nvbnet\nCopy code\n\nThis Markdown structure covers the key sections of the code, including data loading, preprocessing, model building, training, and evaluation.\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafat3000%2Fglass-classification","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frafat3000%2Fglass-classification","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafat3000%2Fglass-classification/lists"}