itsluckysharma01 commited on
Commit
bdf8e66
ยท
verified ยท
1 Parent(s): d3f5270

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +558 -547
README.md CHANGED
@@ -1,547 +1,558 @@
1
- # ๐ŸŒธ Interactive Iris Flower Prediction Web Application ๐ŸŒธ
2
-
3
- <<<<<<< HEAD
4
- A beautiful, modern web application that uses Machine Learning to predict Iris flower species with an enhanced interactive user interface, animated backgrounds, and stunning visual effects.
5
- =======
6
- Hare Checkout:=๐Ÿ‘‰ https://prediction-iris-flower-machine-learning.onrender.com ๐Ÿ‘ˆ๐Ÿซก
7
-
8
- This web is host on render and checkout https://render.com/ this.
9
- >>>>>>> 5402033a2086745c03342e8a3c63247b4ff7cd0a
10
-
11
- **Live Demo**: https://itsluckysharma01.github.io/Prediction_iris_Flower_Machine_Learning-Flask/ ๐Ÿ‘ˆ๐Ÿซก
12
-
13
-
14
- # ๐ŸŒธ Iris Flower Detection ML Project
15
-
16
- [![Python](https://img.shields.io/badge/Python-3.7+-blue.svg)](https://www.python.org/downloads/)
17
- [![Jupyter](https://img.shields.io/badge/Jupyter-Notebook-orange.svg)](https://jupyter.org/)
18
- [![Scikit-learn](https://img.shields.io/badge/Scikit--learn-ML-green.svg)](https://scikit-learn.org/)
19
- [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
20
-
21
- > **Author:** Lucky Sharma
22
- > **Project:** Machine Learning classification model to predict Iris flower species
23
-
24
- ## ๐Ÿ“‹ Table of Contents
25
-
26
- - [๐ŸŽฏ Project Overview](#-project-overview)
27
- - [๐ŸŒบ About the Iris Dataset](#-about-the-iris-dataset)
28
- - [๐Ÿš€ Quick Start](#-quick-start)
29
- - [๐Ÿ“Š Features](#-features)
30
- - [๐Ÿ”ง Installation](#-installation)
31
- - [๐Ÿ’ป Usage](#-usage)
32
- - [๐Ÿค– Model Performance](#-model-performance)
33
- - [๐Ÿ“ˆ Visualizations](#-visualizations)
34
- - [๐Ÿ”ฎ Making Predictions](#-making-predictions)
35
- - [๐Ÿ“ Project Structure](#-project-structure)
36
- - [๐Ÿ› ๏ธ Technologies Used](#๏ธ-technologies-used)
37
- - [๐Ÿ“Š Model Comparison](#-model-comparison)
38
- - [๐ŸŽจ Interactive Examples](#-interactive-examples)
39
- - [๐Ÿค Contributing](#-contributing)
40
- - [๐Ÿ“ License](#-license)
41
-
42
- ## ๐ŸŽฏ Project Overview
43
-
44
- This project implements a **Machine Learning classification model** to predict the species of Iris flowers based on their physical characteristics. The model analyzes four key features of iris flowers and classifies them into one of three species with high accuracy.
45
-
46
- ### ๐ŸŽฏ **What does this project do?**
47
- - Predicts iris flower species (Setosa, Versicolor, Virginica)
48
- - Analyzes flower measurements (sepal length/width, petal length/width)
49
- - Provides multiple ML algorithms comparison
50
- - Offers both interactive notebook and saved model for predictions
51
-
52
- ## ๐ŸŒบ About the Iris Dataset
53
-
54
- The famous **Iris dataset** contains measurements of 150 iris flowers from three different species:
55
-
56
- | Species | Count | Characteristics |
57
- |---------|-------|----------------|
58
- | ๐ŸŒธ **Iris Setosa** | 50 | Smaller petals, distinct features |
59
- | ๐ŸŒบ **Iris Versicolor** | 50 | Medium-sized features |
60
- | ๐ŸŒป **Iris Virginica** | 50 | Larger petals and sepals |
61
-
62
- ### ๐Ÿ“ **Features Measured:**
63
- - **Sepal Length** (cm)
64
- - **Sepal Width** (cm)
65
- - **Petal Length** (cm)
66
- - **Petal Width** (cm)
67
-
68
- ## ๐Ÿš€ Quick Start
69
-
70
- ### 1๏ธโƒฃ **Clone the Repository**
71
- ```bash
72
- git clone <your-repository-url>
73
- cd iris_flower_detection
74
- ```
75
-
76
- ### 2๏ธโƒฃ **Install Dependencies**
77
- ```bash
78
- pip install pandas numpy matplotlib seaborn scikit-learn jupyter
79
- ```
80
-
81
- ### 3๏ธโƒฃ **Run the Notebook**
82
- ```bash
83
- jupyter notebook iris_flower_Detection_ML-1.ipynb
84
- ```
85
-
86
- ### 4๏ธโƒฃ **Make a Quick Prediction**
87
- ```python
88
- import joblib
89
- import pandas as pd
90
-
91
- # Load the trained model
92
- model = joblib.load('iris_flower_model.pkl')
93
-
94
- # Make a prediction
95
- sample = [[5.1, 3.5, 1.4, 0.2]] # [sepal_length, sepal_width, petal_length, petal_width]
96
- prediction = model.predict(sample)
97
- print(f"Predicted species: {prediction[0]}")
98
- ```
99
-
100
- ## ๐Ÿ“Š Features
101
-
102
- ### ๐Ÿ” **Data Analysis**
103
- - โœ… Comprehensive data exploration
104
- - โœ… Missing value analysis
105
- - โœ… Statistical summaries
106
- - โœ… Data visualization
107
-
108
- ### ๐Ÿค– **Machine Learning Models**
109
- - โœ… **Logistic Regression** - Primary model
110
- - โœ… **Decision Tree Classifier** - Alternative approach
111
- - โœ… **K-Nearest Neighbors** - Distance-based classification
112
- - โœ… **Model comparison** and performance evaluation
113
-
114
- ### ๐Ÿ“ˆ **Visualizations**
115
- - โœ… Histograms for feature distributions
116
- - โœ… Scatter plots for feature relationships
117
- - โœ… Species distribution analysis
118
-
119
- ### ๐Ÿ’พ **Model Persistence**
120
- - โœ… Save models using **joblib**
121
- - โœ… Save models using **pickle**
122
- - โœ… Load and use pre-trained models
123
-
124
- ## ๐Ÿ”ง Installation
125
-
126
- ### **Requirements**
127
- ```txt
128
- pandas>=1.3.0
129
- numpy>=1.21.0
130
- matplotlib>=3.4.0
131
- seaborn>=0.11.0
132
- scikit-learn>=1.0.0
133
- jupyter>=1.0.0
134
- ```
135
-
136
- ### **Install via pip**
137
- ```bash
138
- pip install -r requirements.txt
139
- ```
140
-
141
- ### **Or install individually**
142
- ```bash
143
- pip install pandas numpy matplotlib seaborn scikit-learn jupyter
144
- ```
145
-
146
- ## ๐Ÿ’ป Usage
147
-
148
- ### ๐Ÿ““ **Interactive Notebook**
149
- Open `iris_flower_Detection_ML-1.ipynb` in Jupyter Notebook to:
150
- - Explore the complete data science workflow
151
- - Visualize data patterns
152
- - Train and compare different models
153
- - Make interactive predictions
154
-
155
- ### ๐Ÿ”ฎ **Using the Saved Model**
156
- ```python
157
- import joblib
158
- import pandas as pd
159
-
160
- # Load the pre-trained model
161
- model = joblib.load('iris_flower_model.pkl')
162
-
163
- # Create sample data
164
- sample_data = {
165
- 'sepal_length': [5.1],
166
- 'sepal_width': [3.5],
167
- 'petal_length': [1.4],
168
- 'petal_width': [0.2]
169
- }
170
-
171
- # Convert to DataFrame
172
- df = pd.DataFrame(sample_data)
173
-
174
- # Make prediction
175
- prediction = model.predict(df)
176
- print(f"Predicted Iris species: {prediction[0]}")
177
- ```
178
-
179
- ## ๐Ÿค– Model Performance
180
-
181
- ### ๐Ÿ“Š **Accuracy Results**
182
-
183
- | Algorithm | Training Accuracy | Test Accuracy |
184
- |-----------|------------------|---------------|
185
- | **Logistic Regression** | ~95-98% | ~95-98% |
186
- | **Decision Tree** | ~100% | ~95-97% |
187
- | **K-Nearest Neighbors (k=3)** | ~95-98% | ~95-98% |
188
-
189
- ### ๐ŸŽฏ **Why These Results?**
190
- - **High Accuracy**: Iris dataset is well-separated and clean
191
- - **Low Complexity**: Only 4 features make classification straightforward
192
- - **Balanced Dataset**: Equal samples for each class
193
-
194
- ## ๐Ÿ“ˆ Visualizations
195
-
196
- The project includes several visualization techniques:
197
-
198
- ### ๐Ÿ“Š **Available Plots**
199
- 1. **Histograms** - Feature distribution analysis
200
- 2. **Scatter Plots** - Relationship between features
201
- 3. **Pair Plots** - Multiple feature comparisons
202
- 4. **Box Plots** - Statistical summaries by species
203
-
204
- ### ๐ŸŽจ **Example Visualization Code**
205
- ```python
206
- import matplotlib.pyplot as plt
207
- import seaborn as sns
208
-
209
- # Create scatter plot
210
- plt.figure(figsize=(10, 6))
211
- sns.scatterplot(data=iris, x='sepal_length', y='sepal_width', hue='species')
212
- plt.title('Sepal Length vs Width by Species')
213
- plt.show()
214
- ```
215
-
216
- ## ๐Ÿ”ฎ Making Predictions
217
-
218
- ### ๐Ÿงช **Interactive Prediction Function**
219
- ```python
220
- def predict_iris_species(sepal_length, sepal_width, petal_length, petal_width):
221
- """
222
- Predict iris species based on measurements
223
-
224
- Parameters:
225
- - sepal_length: float (cm)
226
- - sepal_width: float (cm)
227
- - petal_length: float (cm)
228
- - petal_width: float (cm)
229
-
230
- Returns:
231
- - species: string (Setosa, Versicolor, or Virginica)
232
- """
233
- model = joblib.load('iris_flower_model.pkl')
234
-
235
- sample = [[sepal_length, sepal_width, petal_length, petal_width]]
236
- prediction = model.predict(sample)
237
-
238
- return prediction[0]
239
-
240
- # Example usage
241
- species = predict_iris_species(5.1, 3.5, 1.4, 0.2)
242
- print(f"Predicted species: {species}")
243
- ```
244
-
245
- ### ๐ŸŽฏ **Example Predictions**
246
-
247
- | Measurements | Predicted Species | Confidence |
248
- |-------------|------------------|------------|
249
- | [5.1, 3.5, 1.4, 0.2] | Setosa | High |
250
- | [5.9, 3.0, 5.1, 1.8] | Virginica | High |
251
- | [6.2, 2.8, 4.8, 1.8] | Virginica | Medium |
252
-
253
- ## ๐Ÿ“ Project Structure
254
-
255
- ```
256
- iris_flower_detection/
257
- โ”‚
258
- โ”œโ”€โ”€ ๐Ÿ““ iris_flower_Detection_ML-1.ipynb # Main Jupyter notebook
259
- โ”œโ”€โ”€ ๐Ÿค– iris_flower_model.pkl # Saved ML model (joblib)
260
- โ”œโ”€โ”€ ๐Ÿค– iris_model.pkl # Saved ML model (pickle)
261
- โ”œโ”€โ”€ ๐Ÿ“ README.md # This file
262
- โ””โ”€โ”€ ๐Ÿ“‹ requirements.txt # Python dependencies
263
- ```
264
-
265
- ## ๐Ÿ› ๏ธ Technologies Used
266
-
267
- ### ๐Ÿ **Core Libraries**
268
- - **pandas** - Data manipulation and analysis
269
- - **numpy** - Numerical computing
270
- - **scikit-learn** - Machine learning algorithms
271
-
272
- ### ๐Ÿ“Š **Visualization**
273
- - **matplotlib** - Basic plotting
274
- - **seaborn** - Statistical visualizations
275
-
276
- ### ๐Ÿ““ **Development Environment**
277
- - **Jupyter Notebook** - Interactive development
278
- - **Python 3.7+** - Programming language
279
-
280
- ### ๐Ÿ”ง **Model Management**
281
- - **joblib** - Model serialization (recommended)
282
- - **pickle** - Alternative model serialization
283
-
284
- ## ๐Ÿ“Š Model Comparison
285
-
286
- ### ๐Ÿ† **Algorithm Strengths**
287
-
288
- | Algorithm | Pros | Cons | Best For |
289
- |-----------|------|------|----------|
290
- | **Logistic Regression** | Fast, interpretable, probabilistic | Linear boundaries only | Quick baseline |
291
- | **Decision Tree** | Easy to understand, handles non-linear | Can overfit | Interpretability |
292
- | **K-Nearest Neighbors** | Simple, no training period | Sensitive to outliers | Small datasets |
293
-
294
- ### ๐ŸŽฏ **Recommendation**
295
- For the Iris dataset, **Logistic Regression** is recommended because:
296
- - โœ… High accuracy with fast training
297
- - โœ… Provides probability estimates
298
- - โœ… Less prone to overfitting
299
- - โœ… Good for deployment
300
-
301
- ## ๐ŸŽจ Interactive Examples
302
-
303
- ### ๐Ÿงช **Try These Samples**
304
-
305
- #### ๐ŸŒธ **Setosa Examples**
306
- ```python
307
- # Typical Setosa characteristics
308
- predict_iris_species(5.0, 3.0, 1.0, 0.5) # โ†’ Setosa
309
- predict_iris_species(4.8, 3.2, 1.4, 0.3) # โ†’ Setosa
310
- ```
311
-
312
- #### ๐ŸŒบ **Versicolor Examples**
313
- ```python
314
- # Typical Versicolor characteristics
315
- predict_iris_species(6.0, 2.8, 4.0, 1.2) # โ†’ Versicolor
316
- predict_iris_species(5.7, 2.9, 4.2, 1.3) # โ†’ Versicolor
317
- ```
318
-
319
- #### ๐ŸŒป **Virginica Examples**
320
- ```python
321
- # Typical Virginica characteristics
322
- predict_iris_species(6.5, 3.0, 5.2, 2.0) # โ†’ Virginica
323
- predict_iris_species(7.2, 3.2, 6.0, 1.8) # โ†’ Virginica
324
- ```
325
-
326
- ### ๐ŸŽฎ **Interactive Prediction Game**
327
- ```python
328
- def iris_guessing_game():
329
- """Fun interactive game to test your iris knowledge!"""
330
- samples = [
331
- ([5.1, 3.5, 1.4, 0.2], "Setosa"),
332
- ([6.7, 3.1, 4.4, 1.4], "Versicolor"),
333
- ([6.3, 2.9, 5.6, 1.8], "Virginica")
334
- ]
335
-
336
- for i, (measurements, actual) in enumerate(samples):
337
- print(f"\n๐ŸŒธ Sample {i+1}: {measurements}")
338
- user_guess = input("Guess the species (Setosa/Versicolor/Virginica): ")
339
- prediction = predict_iris_species(*measurements)
340
-
341
- print(f"Your guess: {user_guess}")
342
- print(f"ML Prediction: {prediction}")
343
- print(f"Actual: {actual}")
344
- print("โœ… Correct!" if user_guess.lower() == actual.lower() else "โŒ Try again!")
345
-
346
- # Run the game
347
- iris_guessing_game()
348
- ```
349
-
350
- ## ๐Ÿ”ฌ Advanced Usage
351
-
352
- ### ๐Ÿ“Š **Model Evaluation Metrics**
353
- ```python
354
- from sklearn.metrics import classification_report, confusion_matrix
355
-
356
- # Generate detailed performance report
357
- y_pred = model.predict(X_test)
358
- print("Classification Report:")
359
- print(classification_report(y_test, y_pred))
360
-
361
- print("\nConfusion Matrix:")
362
- print(confusion_matrix(y_test, y_pred))
363
- ```
364
-
365
- ### ๐ŸŽฏ **Cross-Validation**
366
- ```python
367
- from sklearn.model_selection import cross_val_score
368
-
369
- # Perform 5-fold cross-validation
370
- cv_scores = cross_val_score(model, X, y, cv=5)
371
- print(f"Cross-validation scores: {cv_scores}")
372
- print(f"Average CV score: {cv_scores.mean():.3f} (+/- {cv_scores.std() * 2:.3f})")
373
- ```
374
-
375
- ## ๐Ÿค Contributing
376
-
377
- ### ๐Ÿš€ **How to Contribute**
378
- 1. **Fork** the repository
379
- 2. **Create** a feature branch (`git checkout -b feature/AmazingFeature`)
380
- 3. **Commit** your changes (`git commit -m 'Add some AmazingFeature'`)
381
- 4. **Push** to the branch (`git push origin feature/AmazingFeature`)
382
- 5. **Open** a Pull Request
383
-
384
- ### ๐Ÿ’ก **Ideas for Contributions**
385
- - ๐ŸŽจ Add more visualization techniques
386
- - ๐Ÿค– Implement additional ML algorithms
387
- - ๐ŸŒ Create a web interface
388
- - ๐Ÿ“ฑ Build a mobile app
389
- - ๐Ÿ”ง Add hyperparameter tuning
390
- - ๐Ÿ“Š Include more evaluation metrics
391
-
392
- ## ๐ŸŽ“ Learning Resources
393
-
394
- ### ๐Ÿ“š **Learn More About**
395
- - [Iris Dataset History](https://en.wikipedia.org/wiki/Iris_flower_data_set)
396
- - [Scikit-learn Documentation](https://scikit-learn.org/stable/)
397
- - [Machine Learning Basics](https://www.coursera.org/learn/machine-learning)
398
- - [Data Science with Python](https://www.python.org/about/apps/)
399
-
400
- ### ๐ŸŽฏ **Next Steps**
401
- 1. Try other datasets (Wine, Breast Cancer, etc.)
402
- 2. Experiment with ensemble methods
403
- 3. Add feature engineering techniques
404
- 4. Deploy the model as a web service
405
- 5. Create a real-time prediction app
406
-
407
-
408
- ## โœจ New Enhanced Features
409
-
410
- ### ๐ŸŽจ Interactive Design
411
-
412
- - **Modern UI/UX**: Beautiful gradient backgrounds with glassmorphism effects
413
- - **Animated Background Video**: Looping flower videos for immersive experience
414
- - **Interactive Flower Cards**: Click-to-fill example values with hover effects
415
- - **Floating Particles**: Dynamic flower emojis floating across the screen
416
- - **Smooth Animations**: CSS keyframe animations for all elements
417
-
418
- ### ๐ŸŒบ Flower Showcase
419
-
420
- - **Real Flower Images**: Actual photographs of each iris species
421
- - **Visual Flower Display**: High-quality images showing true flower colors
422
- - **Detailed Information**: Comprehensive facts about each flower type with color names
423
- - **Interactive Examples**: Click any flower card to auto-fill the form
424
- - **Species-Specific Styling**: Unique colors and animations for each iris type
425
- - **Dynamic Backgrounds**: Background colors change based on predicted flower type
426
-
427
- ### ๐Ÿš€ Enhanced Functionality
428
-
429
- - **Form Validation**: Real-time input validation with visual feedback
430
- - **Number Inputs**: Proper numeric inputs with step controls
431
- - **Confidence Scoring**: Display prediction confidence percentages
432
- - **Error Handling**: Graceful error messages with helpful suggestions
433
- - **Responsive Design**: Works perfectly on desktop, tablet, and mobile
434
-
435
- ### ๐ŸŽญ Visual Effects
436
-
437
- - **Real Flower Photography**: High-quality images of actual iris flowers
438
- - **Dynamic Background Colors**: Background changes based on predicted flower species
439
- - **Background Videos**: Multiple fallback video sources for reliability
440
- - **Particle System**: Dynamic floating flower animations
441
- - **Confetti Effects**: Celebration animations for successful predictions
442
- - **Glow Effects**: Smooth glowing animations throughout the interface
443
- - **Hover Interactions**: Elements respond to user interactions
444
- - **Custom Favicon**: Beautiful iris flower favicon for all devices and sizes
445
- - **PWA Support**: Web app manifest for mobile installation
446
- - **Color-Themed Results**: Each flower type displays with its natural color scheme
447
-
448
- ## ๐ŸŽจ Favicon and Branding
449
-
450
- The application now includes a complete set of favicon files for optimal display across all devices and platforms:
451
-
452
- ### ๐ŸŒธ Design Elements
453
-
454
- - **Gradient backgrounds**: Beautiful purple to pink gradients matching the app theme
455
- - **Iris flower motifs**: Custom-designed flower shapes in the favicon
456
- - **Consistent branding**: All icons follow the same color scheme and design language
457
- - **Multiple sizes**: Optimized for different display contexts and resolutions
458
-
459
- ### ๐Ÿ“ฑ PWA Features
460
-
461
- - **Installable**: Users can install the app on their mobile devices
462
- - **Standalone mode**: App runs in full-screen mode when installed
463
- - **Custom theme colors**: Matches the application's visual design
464
- - **Optimized icons**: Perfect display in app drawers and home screens
465
-
466
- ## ๐Ÿ› ๏ธ Technical Features
467
-
468
- ### Machine Learning
469
-
470
- - `app.py` - The main Flask application
471
- - `iris_model.pkl` / `new_iris_model.pkl` - The trained machine learning model
472
- - `templates/` - Folder containing HTML templates
473
- - `form.html` - Input form for flower measurements
474
- - `result.html` - Page showing prediction results
475
- - `static/` - Folder containing static files
476
-
477
- ## How to Run
478
-
479
- 1. Double-click on `run_app.bat` or run `python app.py` in your terminal
480
- 2. Open your web browser and go to http://127.0.0.1:5000
481
- 3. Enter the flower measurements and click "Predict Flower Species"
482
-
483
- ## Sample Measurements
484
-
485
- ### Iris Setosa
486
-
487
- - Sepal Length: 5.1 cm
488
- - Sepal Width: 3.5 cm
489
- - Petal Length: 1.4 cm
490
- - Petal Width: 0.2 cm
491
-
492
- ### Iris Versicolor
493
-
494
- - Sepal Length: 6.0 cm
495
- - Sepal Width: 2.7 cm
496
- - Petal Length: 4.2 cm
497
- - Petal Width: 1.3 cm
498
-
499
- ### Iris Virginica
500
-
501
- - Sepal Length: 6.8 cm
502
- - Sepal Width: 3.0 cm
503
- - Petal Length: 5.5 cm
504
- - Petal Width: 2.1 cm
505
-
506
- ## Troubleshooting
507
-
508
- If you encounter issues:
509
-
510
- 1. Run `python test_app.py` to verify the model is working correctly
511
- 2. Check that you have all the required Python packages installed:
512
- - Flask
513
- - scikit-learn
514
- - joblib
515
- - numpy
516
- 3. Try generating a new model with `python create_new_model.py`
517
-
518
- ---
519
- ## ๐Ÿ“ License
520
-
521
- This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.
522
-
523
- ## ๐Ÿ™ Acknowledgments
524
-
525
- - **Ronald A. Fisher** - For creating the famous Iris dataset (1936)
526
- - **Scikit-learn Team** - For excellent machine learning tools
527
- - **Jupyter Team** - For the amazing notebook environment
528
- - **Python Community** - For the incredible ecosystem
529
-
530
- ---
531
- ---
532
-
533
- <div align="center">
534
-
535
- ### ๐ŸŒŸ **Star this repository if you found it helpful!** ๐ŸŒŸ
536
-
537
- **Made with โค๏ธ for the Machine Learning Community**
538
-
539
- </div>
540
-
541
- ---
542
-
543
- ## ๐ŸŽ‰ **Happy Coding!**
544
-
545
- *Remember: The best way to learn machine learning is by doing. Keep experimenting, keep learning!* ๐Ÿš€
546
-
547
- **Ready to explore the beautiful world of Iris flowers! ๐ŸŒธ๐Ÿค–โœจ**
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Iris Flower Prediction With MachineLearning
3
+ emoji: ๐Ÿ“Š
4
+ colorFrom: pink
5
+ colorTo: green
6
+ sdk: docker
7
+ pinned: false
8
+ license: apache-2.0
9
+ short_description: A beautiful,modern web application that uses MachineLearning
10
+ ---
11
+
12
+ # ๐ŸŒธ Interactive Iris Flower Prediction Web Application ๐ŸŒธ
13
+
14
+ <<<<<<< HEAD
15
+ A beautiful, modern web application that uses Machine Learning to predict Iris flower species with an enhanced interactive user interface, animated backgrounds, and stunning visual effects.
16
+ =======
17
+ Hare Checkout:=๐Ÿ‘‰ https://prediction-iris-flower-machine-learning.onrender.com ๐Ÿ‘ˆ๐Ÿซก
18
+
19
+ This web is host on render and checkout https://render.com/ this.
20
+ >>>>>>> 5402033a2086745c03342e8a3c63247b4ff7cd0a
21
+
22
+ **Live Demo**: https://itsluckysharma01.github.io/Prediction_iris_Flower_Machine_Learning-Flask/ ๐Ÿ‘ˆ๐Ÿซก
23
+
24
+
25
+ # ๐ŸŒธ Iris Flower Detection ML Project
26
+
27
+ [![Python](https://img.shields.io/badge/Python-3.7+-blue.svg)](https://www.python.org/downloads/)
28
+ [![Jupyter](https://img.shields.io/badge/Jupyter-Notebook-orange.svg)](https://jupyter.org/)
29
+ [![Scikit-learn](https://img.shields.io/badge/Scikit--learn-ML-green.svg)](https://scikit-learn.org/)
30
+ [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
31
+
32
+ > **Author:** Lucky Sharma
33
+ > **Project:** Machine Learning classification model to predict Iris flower species
34
+
35
+ ## ๐Ÿ“‹ Table of Contents
36
+
37
+ - [๐ŸŽฏ Project Overview](#-project-overview)
38
+ - [๐ŸŒบ About the Iris Dataset](#-about-the-iris-dataset)
39
+ - [๐Ÿš€ Quick Start](#-quick-start)
40
+ - [๐Ÿ“Š Features](#-features)
41
+ - [๐Ÿ”ง Installation](#-installation)
42
+ - [๐Ÿ’ป Usage](#-usage)
43
+ - [๐Ÿค– Model Performance](#-model-performance)
44
+ - [๐Ÿ“ˆ Visualizations](#-visualizations)
45
+ - [๐Ÿ”ฎ Making Predictions](#-making-predictions)
46
+ - [๐Ÿ“ Project Structure](#-project-structure)
47
+ - [๐Ÿ› ๏ธ Technologies Used](#๏ธ-technologies-used)
48
+ - [๐Ÿ“Š Model Comparison](#-model-comparison)
49
+ - [๐ŸŽจ Interactive Examples](#-interactive-examples)
50
+ - [๐Ÿค Contributing](#-contributing)
51
+ - [๐Ÿ“ License](#-license)
52
+
53
+ ## ๐ŸŽฏ Project Overview
54
+
55
+ This project implements a **Machine Learning classification model** to predict the species of Iris flowers based on their physical characteristics. The model analyzes four key features of iris flowers and classifies them into one of three species with high accuracy.
56
+
57
+ ### ๐ŸŽฏ **What does this project do?**
58
+ - Predicts iris flower species (Setosa, Versicolor, Virginica)
59
+ - Analyzes flower measurements (sepal length/width, petal length/width)
60
+ - Provides multiple ML algorithms comparison
61
+ - Offers both interactive notebook and saved model for predictions
62
+
63
+ ## ๐ŸŒบ About the Iris Dataset
64
+
65
+ The famous **Iris dataset** contains measurements of 150 iris flowers from three different species:
66
+
67
+ | Species | Count | Characteristics |
68
+ |---------|-------|----------------|
69
+ | ๐ŸŒธ **Iris Setosa** | 50 | Smaller petals, distinct features |
70
+ | ๐ŸŒบ **Iris Versicolor** | 50 | Medium-sized features |
71
+ | ๐ŸŒป **Iris Virginica** | 50 | Larger petals and sepals |
72
+
73
+ ### ๐Ÿ“ **Features Measured:**
74
+ - **Sepal Length** (cm)
75
+ - **Sepal Width** (cm)
76
+ - **Petal Length** (cm)
77
+ - **Petal Width** (cm)
78
+
79
+ ## ๐Ÿš€ Quick Start
80
+
81
+ ### 1๏ธโƒฃ **Clone the Repository**
82
+ ```bash
83
+ git clone <your-repository-url>
84
+ cd iris_flower_detection
85
+ ```
86
+
87
+ ### 2๏ธโƒฃ **Install Dependencies**
88
+ ```bash
89
+ pip install pandas numpy matplotlib seaborn scikit-learn jupyter
90
+ ```
91
+
92
+ ### 3๏ธโƒฃ **Run the Notebook**
93
+ ```bash
94
+ jupyter notebook iris_flower_Detection_ML-1.ipynb
95
+ ```
96
+
97
+ ### 4๏ธโƒฃ **Make a Quick Prediction**
98
+ ```python
99
+ import joblib
100
+ import pandas as pd
101
+
102
+ # Load the trained model
103
+ model = joblib.load('iris_flower_model.pkl')
104
+
105
+ # Make a prediction
106
+ sample = [[5.1, 3.5, 1.4, 0.2]] # [sepal_length, sepal_width, petal_length, petal_width]
107
+ prediction = model.predict(sample)
108
+ print(f"Predicted species: {prediction[0]}")
109
+ ```
110
+
111
+ ## ๐Ÿ“Š Features
112
+
113
+ ### ๐Ÿ” **Data Analysis**
114
+ - โœ… Comprehensive data exploration
115
+ - โœ… Missing value analysis
116
+ - โœ… Statistical summaries
117
+ - โœ… Data visualization
118
+
119
+ ### ๐Ÿค– **Machine Learning Models**
120
+ - โœ… **Logistic Regression** - Primary model
121
+ - โœ… **Decision Tree Classifier** - Alternative approach
122
+ - โœ… **K-Nearest Neighbors** - Distance-based classification
123
+ - โœ… **Model comparison** and performance evaluation
124
+
125
+ ### ๐Ÿ“ˆ **Visualizations**
126
+ - โœ… Histograms for feature distributions
127
+ - โœ… Scatter plots for feature relationships
128
+ - โœ… Species distribution analysis
129
+
130
+ ### ๐Ÿ’พ **Model Persistence**
131
+ - โœ… Save models using **joblib**
132
+ - โœ… Save models using **pickle**
133
+ - โœ… Load and use pre-trained models
134
+
135
+ ## ๐Ÿ”ง Installation
136
+
137
+ ### **Requirements**
138
+ ```txt
139
+ pandas>=1.3.0
140
+ numpy>=1.21.0
141
+ matplotlib>=3.4.0
142
+ seaborn>=0.11.0
143
+ scikit-learn>=1.0.0
144
+ jupyter>=1.0.0
145
+ ```
146
+
147
+ ### **Install via pip**
148
+ ```bash
149
+ pip install -r requirements.txt
150
+ ```
151
+
152
+ ### **Or install individually**
153
+ ```bash
154
+ pip install pandas numpy matplotlib seaborn scikit-learn jupyter
155
+ ```
156
+
157
+ ## ๐Ÿ’ป Usage
158
+
159
+ ### ๐Ÿ““ **Interactive Notebook**
160
+ Open `iris_flower_Detection_ML-1.ipynb` in Jupyter Notebook to:
161
+ - Explore the complete data science workflow
162
+ - Visualize data patterns
163
+ - Train and compare different models
164
+ - Make interactive predictions
165
+
166
+ ### ๐Ÿ”ฎ **Using the Saved Model**
167
+ ```python
168
+ import joblib
169
+ import pandas as pd
170
+
171
+ # Load the pre-trained model
172
+ model = joblib.load('iris_flower_model.pkl')
173
+
174
+ # Create sample data
175
+ sample_data = {
176
+ 'sepal_length': [5.1],
177
+ 'sepal_width': [3.5],
178
+ 'petal_length': [1.4],
179
+ 'petal_width': [0.2]
180
+ }
181
+
182
+ # Convert to DataFrame
183
+ df = pd.DataFrame(sample_data)
184
+
185
+ # Make prediction
186
+ prediction = model.predict(df)
187
+ print(f"Predicted Iris species: {prediction[0]}")
188
+ ```
189
+
190
+ ## ๐Ÿค– Model Performance
191
+
192
+ ### ๐Ÿ“Š **Accuracy Results**
193
+
194
+ | Algorithm | Training Accuracy | Test Accuracy |
195
+ |-----------|------------------|---------------|
196
+ | **Logistic Regression** | ~95-98% | ~95-98% |
197
+ | **Decision Tree** | ~100% | ~95-97% |
198
+ | **K-Nearest Neighbors (k=3)** | ~95-98% | ~95-98% |
199
+
200
+ ### ๐ŸŽฏ **Why These Results?**
201
+ - **High Accuracy**: Iris dataset is well-separated and clean
202
+ - **Low Complexity**: Only 4 features make classification straightforward
203
+ - **Balanced Dataset**: Equal samples for each class
204
+
205
+ ## ๐Ÿ“ˆ Visualizations
206
+
207
+ The project includes several visualization techniques:
208
+
209
+ ### ๐Ÿ“Š **Available Plots**
210
+ 1. **Histograms** - Feature distribution analysis
211
+ 2. **Scatter Plots** - Relationship between features
212
+ 3. **Pair Plots** - Multiple feature comparisons
213
+ 4. **Box Plots** - Statistical summaries by species
214
+
215
+ ### ๐ŸŽจ **Example Visualization Code**
216
+ ```python
217
+ import matplotlib.pyplot as plt
218
+ import seaborn as sns
219
+
220
+ # Create scatter plot
221
+ plt.figure(figsize=(10, 6))
222
+ sns.scatterplot(data=iris, x='sepal_length', y='sepal_width', hue='species')
223
+ plt.title('Sepal Length vs Width by Species')
224
+ plt.show()
225
+ ```
226
+
227
+ ## ๐Ÿ”ฎ Making Predictions
228
+
229
+ ### ๐Ÿงช **Interactive Prediction Function**
230
+ ```python
231
+ def predict_iris_species(sepal_length, sepal_width, petal_length, petal_width):
232
+ """
233
+ Predict iris species based on measurements
234
+
235
+ Parameters:
236
+ - sepal_length: float (cm)
237
+ - sepal_width: float (cm)
238
+ - petal_length: float (cm)
239
+ - petal_width: float (cm)
240
+
241
+ Returns:
242
+ - species: string (Setosa, Versicolor, or Virginica)
243
+ """
244
+ model = joblib.load('iris_flower_model.pkl')
245
+
246
+ sample = [[sepal_length, sepal_width, petal_length, petal_width]]
247
+ prediction = model.predict(sample)
248
+
249
+ return prediction[0]
250
+
251
+ # Example usage
252
+ species = predict_iris_species(5.1, 3.5, 1.4, 0.2)
253
+ print(f"Predicted species: {species}")
254
+ ```
255
+
256
+ ### ๐ŸŽฏ **Example Predictions**
257
+
258
+ | Measurements | Predicted Species | Confidence |
259
+ |-------------|------------------|------------|
260
+ | [5.1, 3.5, 1.4, 0.2] | Setosa | High |
261
+ | [5.9, 3.0, 5.1, 1.8] | Virginica | High |
262
+ | [6.2, 2.8, 4.8, 1.8] | Virginica | Medium |
263
+
264
+ ## ๐Ÿ“ Project Structure
265
+
266
+ ```
267
+ iris_flower_detection/
268
+ โ”‚
269
+ โ”œโ”€โ”€ ๐Ÿ““ iris_flower_Detection_ML-1.ipynb # Main Jupyter notebook
270
+ โ”œโ”€โ”€ ๐Ÿค– iris_flower_model.pkl # Saved ML model (joblib)
271
+ โ”œโ”€โ”€ ๐Ÿค– iris_model.pkl # Saved ML model (pickle)
272
+ โ”œโ”€โ”€ ๐Ÿ“ README.md # This file
273
+ โ””โ”€โ”€ ๐Ÿ“‹ requirements.txt # Python dependencies
274
+ ```
275
+
276
+ ## ๐Ÿ› ๏ธ Technologies Used
277
+
278
+ ### ๐Ÿ **Core Libraries**
279
+ - **pandas** - Data manipulation and analysis
280
+ - **numpy** - Numerical computing
281
+ - **scikit-learn** - Machine learning algorithms
282
+
283
+ ### ๐Ÿ“Š **Visualization**
284
+ - **matplotlib** - Basic plotting
285
+ - **seaborn** - Statistical visualizations
286
+
287
+ ### ๐Ÿ““ **Development Environment**
288
+ - **Jupyter Notebook** - Interactive development
289
+ - **Python 3.7+** - Programming language
290
+
291
+ ### ๐Ÿ”ง **Model Management**
292
+ - **joblib** - Model serialization (recommended)
293
+ - **pickle** - Alternative model serialization
294
+
295
+ ## ๐Ÿ“Š Model Comparison
296
+
297
+ ### ๐Ÿ† **Algorithm Strengths**
298
+
299
+ | Algorithm | Pros | Cons | Best For |
300
+ |-----------|------|------|----------|
301
+ | **Logistic Regression** | Fast, interpretable, probabilistic | Linear boundaries only | Quick baseline |
302
+ | **Decision Tree** | Easy to understand, handles non-linear | Can overfit | Interpretability |
303
+ | **K-Nearest Neighbors** | Simple, no training period | Sensitive to outliers | Small datasets |
304
+
305
+ ### ๐ŸŽฏ **Recommendation**
306
+ For the Iris dataset, **Logistic Regression** is recommended because:
307
+ - โœ… High accuracy with fast training
308
+ - โœ… Provides probability estimates
309
+ - โœ… Less prone to overfitting
310
+ - โœ… Good for deployment
311
+
312
+ ## ๐ŸŽจ Interactive Examples
313
+
314
+ ### ๐Ÿงช **Try These Samples**
315
+
316
+ #### ๐ŸŒธ **Setosa Examples**
317
+ ```python
318
+ # Typical Setosa characteristics
319
+ predict_iris_species(5.0, 3.0, 1.0, 0.5) # โ†’ Setosa
320
+ predict_iris_species(4.8, 3.2, 1.4, 0.3) # โ†’ Setosa
321
+ ```
322
+
323
+ #### ๐ŸŒบ **Versicolor Examples**
324
+ ```python
325
+ # Typical Versicolor characteristics
326
+ predict_iris_species(6.0, 2.8, 4.0, 1.2) # โ†’ Versicolor
327
+ predict_iris_species(5.7, 2.9, 4.2, 1.3) # โ†’ Versicolor
328
+ ```
329
+
330
+ #### ๐ŸŒป **Virginica Examples**
331
+ ```python
332
+ # Typical Virginica characteristics
333
+ predict_iris_species(6.5, 3.0, 5.2, 2.0) # โ†’ Virginica
334
+ predict_iris_species(7.2, 3.2, 6.0, 1.8) # โ†’ Virginica
335
+ ```
336
+
337
+ ### ๐ŸŽฎ **Interactive Prediction Game**
338
+ ```python
339
+ def iris_guessing_game():
340
+ """Fun interactive game to test your iris knowledge!"""
341
+ samples = [
342
+ ([5.1, 3.5, 1.4, 0.2], "Setosa"),
343
+ ([6.7, 3.1, 4.4, 1.4], "Versicolor"),
344
+ ([6.3, 2.9, 5.6, 1.8], "Virginica")
345
+ ]
346
+
347
+ for i, (measurements, actual) in enumerate(samples):
348
+ print(f"\n๐ŸŒธ Sample {i+1}: {measurements}")
349
+ user_guess = input("Guess the species (Setosa/Versicolor/Virginica): ")
350
+ prediction = predict_iris_species(*measurements)
351
+
352
+ print(f"Your guess: {user_guess}")
353
+ print(f"ML Prediction: {prediction}")
354
+ print(f"Actual: {actual}")
355
+ print("โœ… Correct!" if user_guess.lower() == actual.lower() else "โŒ Try again!")
356
+
357
+ # Run the game
358
+ iris_guessing_game()
359
+ ```
360
+
361
+ ## ๐Ÿ”ฌ Advanced Usage
362
+
363
+ ### ๐Ÿ“Š **Model Evaluation Metrics**
364
+ ```python
365
+ from sklearn.metrics import classification_report, confusion_matrix
366
+
367
+ # Generate detailed performance report
368
+ y_pred = model.predict(X_test)
369
+ print("Classification Report:")
370
+ print(classification_report(y_test, y_pred))
371
+
372
+ print("\nConfusion Matrix:")
373
+ print(confusion_matrix(y_test, y_pred))
374
+ ```
375
+
376
+ ### ๐ŸŽฏ **Cross-Validation**
377
+ ```python
378
+ from sklearn.model_selection import cross_val_score
379
+
380
+ # Perform 5-fold cross-validation
381
+ cv_scores = cross_val_score(model, X, y, cv=5)
382
+ print(f"Cross-validation scores: {cv_scores}")
383
+ print(f"Average CV score: {cv_scores.mean():.3f} (+/- {cv_scores.std() * 2:.3f})")
384
+ ```
385
+
386
+ ## ๐Ÿค Contributing
387
+
388
+ ### ๐Ÿš€ **How to Contribute**
389
+ 1. **Fork** the repository
390
+ 2. **Create** a feature branch (`git checkout -b feature/AmazingFeature`)
391
+ 3. **Commit** your changes (`git commit -m 'Add some AmazingFeature'`)
392
+ 4. **Push** to the branch (`git push origin feature/AmazingFeature`)
393
+ 5. **Open** a Pull Request
394
+
395
+ ### ๐Ÿ’ก **Ideas for Contributions**
396
+ - ๐ŸŽจ Add more visualization techniques
397
+ - ๐Ÿค– Implement additional ML algorithms
398
+ - ๐ŸŒ Create a web interface
399
+ - ๐Ÿ“ฑ Build a mobile app
400
+ - ๐Ÿ”ง Add hyperparameter tuning
401
+ - ๐Ÿ“Š Include more evaluation metrics
402
+
403
+ ## ๐ŸŽ“ Learning Resources
404
+
405
+ ### ๐Ÿ“š **Learn More About**
406
+ - [Iris Dataset History](https://en.wikipedia.org/wiki/Iris_flower_data_set)
407
+ - [Scikit-learn Documentation](https://scikit-learn.org/stable/)
408
+ - [Machine Learning Basics](https://www.coursera.org/learn/machine-learning)
409
+ - [Data Science with Python](https://www.python.org/about/apps/)
410
+
411
+ ### ๐ŸŽฏ **Next Steps**
412
+ 1. Try other datasets (Wine, Breast Cancer, etc.)
413
+ 2. Experiment with ensemble methods
414
+ 3. Add feature engineering techniques
415
+ 4. Deploy the model as a web service
416
+ 5. Create a real-time prediction app
417
+
418
+
419
+ ## โœจ New Enhanced Features
420
+
421
+ ### ๐ŸŽจ Interactive Design
422
+
423
+ - **Modern UI/UX**: Beautiful gradient backgrounds with glassmorphism effects
424
+ - **Animated Background Video**: Looping flower videos for immersive experience
425
+ - **Interactive Flower Cards**: Click-to-fill example values with hover effects
426
+ - **Floating Particles**: Dynamic flower emojis floating across the screen
427
+ - **Smooth Animations**: CSS keyframe animations for all elements
428
+
429
+ ### ๐ŸŒบ Flower Showcase
430
+
431
+ - **Real Flower Images**: Actual photographs of each iris species
432
+ - **Visual Flower Display**: High-quality images showing true flower colors
433
+ - **Detailed Information**: Comprehensive facts about each flower type with color names
434
+ - **Interactive Examples**: Click any flower card to auto-fill the form
435
+ - **Species-Specific Styling**: Unique colors and animations for each iris type
436
+ - **Dynamic Backgrounds**: Background colors change based on predicted flower type
437
+
438
+ ### ๐Ÿš€ Enhanced Functionality
439
+
440
+ - **Form Validation**: Real-time input validation with visual feedback
441
+ - **Number Inputs**: Proper numeric inputs with step controls
442
+ - **Confidence Scoring**: Display prediction confidence percentages
443
+ - **Error Handling**: Graceful error messages with helpful suggestions
444
+ - **Responsive Design**: Works perfectly on desktop, tablet, and mobile
445
+
446
+ ### ๐ŸŽญ Visual Effects
447
+
448
+ - **Real Flower Photography**: High-quality images of actual iris flowers
449
+ - **Dynamic Background Colors**: Background changes based on predicted flower species
450
+ - **Background Videos**: Multiple fallback video sources for reliability
451
+ - **Particle System**: Dynamic floating flower animations
452
+ - **Confetti Effects**: Celebration animations for successful predictions
453
+ - **Glow Effects**: Smooth glowing animations throughout the interface
454
+ - **Hover Interactions**: Elements respond to user interactions
455
+ - **Custom Favicon**: Beautiful iris flower favicon for all devices and sizes
456
+ - **PWA Support**: Web app manifest for mobile installation
457
+ - **Color-Themed Results**: Each flower type displays with its natural color scheme
458
+
459
+ ## ๐ŸŽจ Favicon and Branding
460
+
461
+ The application now includes a complete set of favicon files for optimal display across all devices and platforms:
462
+
463
+ ### ๐ŸŒธ Design Elements
464
+
465
+ - **Gradient backgrounds**: Beautiful purple to pink gradients matching the app theme
466
+ - **Iris flower motifs**: Custom-designed flower shapes in the favicon
467
+ - **Consistent branding**: All icons follow the same color scheme and design language
468
+ - **Multiple sizes**: Optimized for different display contexts and resolutions
469
+
470
+ ### ๐Ÿ“ฑ PWA Features
471
+
472
+ - **Installable**: Users can install the app on their mobile devices
473
+ - **Standalone mode**: App runs in full-screen mode when installed
474
+ - **Custom theme colors**: Matches the application's visual design
475
+ - **Optimized icons**: Perfect display in app drawers and home screens
476
+
477
+ ## ๐Ÿ› ๏ธ Technical Features
478
+
479
+ ### Machine Learning
480
+
481
+ - `app.py` - The main Flask application
482
+ - `iris_model.pkl` / `new_iris_model.pkl` - The trained machine learning model
483
+ - `templates/` - Folder containing HTML templates
484
+ - `form.html` - Input form for flower measurements
485
+ - `result.html` - Page showing prediction results
486
+ - `static/` - Folder containing static files
487
+
488
+ ## How to Run
489
+
490
+ 1. Double-click on `run_app.bat` or run `python app.py` in your terminal
491
+ 2. Open your web browser and go to http://127.0.0.1:5000
492
+ 3. Enter the flower measurements and click "Predict Flower Species"
493
+
494
+ ## Sample Measurements
495
+
496
+ ### Iris Setosa
497
+
498
+ - Sepal Length: 5.1 cm
499
+ - Sepal Width: 3.5 cm
500
+ - Petal Length: 1.4 cm
501
+ - Petal Width: 0.2 cm
502
+
503
+ ### Iris Versicolor
504
+
505
+ - Sepal Length: 6.0 cm
506
+ - Sepal Width: 2.7 cm
507
+ - Petal Length: 4.2 cm
508
+ - Petal Width: 1.3 cm
509
+
510
+ ### Iris Virginica
511
+
512
+ - Sepal Length: 6.8 cm
513
+ - Sepal Width: 3.0 cm
514
+ - Petal Length: 5.5 cm
515
+ - Petal Width: 2.1 cm
516
+
517
+ ## Troubleshooting
518
+
519
+ If you encounter issues:
520
+
521
+ 1. Run `python test_app.py` to verify the model is working correctly
522
+ 2. Check that you have all the required Python packages installed:
523
+ - Flask
524
+ - scikit-learn
525
+ - joblib
526
+ - numpy
527
+ 3. Try generating a new model with `python create_new_model.py`
528
+
529
+ ---
530
+ ## ๐Ÿ“ License
531
+
532
+ This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.
533
+
534
+ ## ๐Ÿ™ Acknowledgments
535
+
536
+ - **Ronald A. Fisher** - For creating the famous Iris dataset (1936)
537
+ - **Scikit-learn Team** - For excellent machine learning tools
538
+ - **Jupyter Team** - For the amazing notebook environment
539
+ - **Python Community** - For the incredible ecosystem
540
+
541
+ ---
542
+ ---
543
+
544
+ <div align="center">
545
+
546
+ ### ๐ŸŒŸ **Star this repository if you found it helpful!** ๐ŸŒŸ
547
+
548
+ **Made with โค๏ธ for the Machine Learning Community**
549
+
550
+ </div>
551
+
552
+ ---
553
+
554
+ ## ๐ŸŽ‰ **Happy Coding!**
555
+
556
+ *Remember: The best way to learn machine learning is by doing. Keep experimenting, keep learning!* ๐Ÿš€
557
+
558
+ **Ready to explore the beautiful world of Iris flowers! ๐ŸŒธ๐Ÿค–โœจ**