File size: 11,823 Bytes
6be91de
072c6cf
57921a1
875d4ee
e508459
57921a1
 
6be91de
57921a1
6be91de
 
57921a1
 
6be91de
57921a1
 
6be91de
57921a1
 
6be91de
57921a1
6be91de
 
57921a1
 
 
 
 
 
6be91de
57921a1
6be91de
 
57921a1
 
 
 
6be91de
57921a1
 
6be91de
 
e508459
57921a1
 
e508459
 
57921a1
e508459
 
57921a1
 
e508459
 
 
 
 
 
57921a1
e508459
 
 
6be91de
57921a1
e508459
 
57921a1
 
e508459
57921a1
 
e508459
 
 
 
 
 
 
 
 
6be91de
57921a1
e508459
 
57921a1
 
e508459
57921a1
 
e508459
 
 
 
 
 
 
 
 
 
 
 
 
57921a1
 
e508459
 
57921a1
e508459
 
57921a1
 
e508459
 
 
 
 
 
 
 
 
 
b73752c
57921a1
e508459
 
57921a1
e508459
4d7cae1
57921a1
 
e508459
 
 
 
 
 
 
 
 
 
 
 
 
57921a1
e508459
 
57921a1
e508459
 
57921a1
 
e508459
 
 
 
 
 
 
 
 
 
 
 
 
57921a1
e508459
 
57921a1
e508459
 
57921a1
 
e508459
 
 
 
 
 
 
 
 
 
 
 
 
57921a1
e508459
 
57921a1
cbc1dde
 
 
 
 
 
 
 
 
 
 
 
 
 
e508459
 
cbc1dde
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57921a1
448a667
 
69de968
57921a1
69de968
a07da82
69de968
 
75c0ea6
57921a1
75c0ea6
 
448a667
69de968
75c0ea6
57921a1
 
75c0ea6
 
448a667
11d94a8
70d5347
448a667
69de968
 
a07da82
 
57921a1
69de968
57921a1
69de968
57921a1
69de968
 
57921a1
69de968
57921a1
69de968
57921a1
69de968
57921a1
69de968
57921a1
69de968
57921a1
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
import streamlit as st

# Introduction to Machine Learning
def introduction_to_ml():
    introduction_blog = '''
    ## ๐Ÿค– Introduction to Machine Learning (ML)
    Machine Learning (ML) is a subset of Artificial Intelligence (AI) that enables computers to learn from data and make predictions or decisions without being explicitly programmed. It has revolutionized many industries and plays a crucial role in technologies such as self-driving cars ๐Ÿš—, recommendation systems ๐Ÿ“ฑ, and facial recognition ๐Ÿ‘๏ธ.

    ### ๐ŸŒ Types of Machine Learning
    There are three main types of machine learning:

    1. **๐Ÿ”– Supervised Learning**: 
        Supervised learning algorithms learn from labeled data. The model is trained using a dataset where the input data and the correct output are both provided. The goal is to learn a mapping from inputs to outputs. Examples include linear regression ๐Ÿ“ˆ, logistic regression ๐Ÿง‘โ€๐Ÿ’ป, and decision trees ๐ŸŒณ.

    2. **๐ŸŒŒ Unsupervised Learning**: 
        In unsupervised learning, the algorithm is given data without any labeled outputs. The goal is to find hidden patterns or groupings in the data. Examples include clustering ๐Ÿง  (e.g., K-means) and dimensionality reduction techniques ๐Ÿ—๏ธ (e.g., PCA).

    3. **๐Ÿ… Reinforcement Learning**: 
        Reinforcement learning involves an agent that learns to make decisions by interacting with an environment to maximize a cumulative reward. It is widely used in robotics ๐Ÿค–, game AI ๐ŸŽฎ, and real-time decision-making systems.

    ### ๐Ÿš€ Popular Machine Learning Algorithms
    Some of the most commonly used ML algorithms include:

    - **๐Ÿ“‰ Linear Regression**: A simple algorithm used for predicting continuous values.
    - **๐Ÿ” Logistic Regression**: Used for binary classification problems.
    - **๐ŸŒณ Decision Trees**: A tree-like model used for both classification and regression tasks.
    - **๐Ÿ” K-Nearest Neighbors (KNN)**: A non-parametric method used for classification and regression.
    - **โšก Support Vector Machines (SVM)**: A powerful classifier that works well for high-dimensional spaces.
    - **๐Ÿง  Neural Networks**: A set of algorithms, modeled after the human brain, that are used for complex tasks like image and speech recognition.

    #### ๐ŸŒ Applications of Machine Learning
    Machine learning is used in a wide variety of fields, including:

    - **๐Ÿฅ Healthcare**: ML is used for predicting diseases, recommending treatments, and analyzing medical data.
    - **๐Ÿ’ฐ Finance**: Used for fraud detection, algorithmic trading, and risk analysis.
    - **๐Ÿ›๏ธ E-commerce**: ML powers recommendation systems, personalized marketing, and customer support chatbots.
    - **๐Ÿš˜ Self-driving Cars**: ML algorithms help autonomous vehicles navigate and make real-time decisions.

    ### ๐Ÿ”š Conclusion
    Machine learning continues to evolve, with new algorithms, techniques, and applications emerging regularly. As the amount of data grows ๐Ÿ“Š and computational power increases โšก, the potential of ML to impact industries and improve our daily lives is limitless.
    '''
    
    return introduction_blog

# Supervised Learning
def supervised_learning():
    supervised = '''
    ### ๐Ÿ”– Supervised Learning
    Supervised learning algorithms learn from labeled data. The model is trained using a dataset where the input data and the correct output are both provided. The goal is to learn a mapping from inputs to outputs.
    
    **๐Ÿ“š Example**: 
    - **๐Ÿ“ˆ Linear Regression**: Used to predict a continuous value, such as predicting house prices ๐Ÿ .
    ```python
    from sklearn.linear_model import LinearRegression
    X = [[1], [2], [3], [4], [5]]  # Features
    y = [1, 2, 2.5, 4, 5]  # Target
    model = LinearRegression()
    model.fit(X, y)
    predictions = model.predict([[6]])  # Predict for 6 hours of study ๐Ÿ“š
    ```
    '''
    return supervised

# Unsupervised Learning
def unsupervised_learning():
    unsupervised = '''
    ### ๐ŸŒŒ Unsupervised Learning
    In unsupervised learning, the algorithm is given data without any labeled outputs. The goal is to find hidden patterns or groupings in the data. Examples include clustering ๐Ÿง  (e.g., K-means) and dimensionality reduction techniques ๐Ÿ—๏ธ (e.g., PCA).
    
    **๐Ÿ“š Example**:
    - **๐Ÿ”„ K-Means Clustering**: Grouping data points into clusters based on similarity.
    ```python
    from sklearn.cluster import KMeans
    X = [[1, 2], [1.5, 1.8], [5, 8], [8, 8], [1, 0.6], [9, 11]]
    kmeans = KMeans(n_clusters=2)
    kmeans.fit(X)
    labels = kmeans.predict(X)
    ```
    '''
    return unsupervised

# Reinforcement Learning
def reinforcement_learning():
    reinforcement = '''
    ### ๐Ÿ… Reinforcement Learning
    Reinforcement learning involves an agent that learns to make decisions by interacting with an environment to maximize a cumulative reward. It is widely used in robotics ๐Ÿค–, game AI ๐ŸŽฎ, and real-time decision-making systems.
    
    **๐Ÿ“š Example**: 
    - **๐Ÿ”„ Q-Learning**: A reinforcement learning algorithm where an agent learns to maximize rewards by updating Q-values.
    ```python
    import numpy as np
    Q = np.zeros((5, 5))  # Example Q-table for 5 states and 5 actions
    alpha = 0.1  # Learning rate
    gamma = 0.9  # Discount factor
    reward = 10
    state = 0
    action = 1
    next_state = 1
    Q[state, action] = Q[state, action] + alpha * (reward + gamma * np.max(Q[next_state]) - Q[state, action])
    ```
    '''
    return reinforcement

# Linear Regression
def linear_regression():
    linear = '''
    ### ๐Ÿ“‰ Linear Regression
    Linear regression is used to predict a continuous value based on one or more input features. It finds the best-fit line to minimize the error between the predicted and actual values.

    **๐Ÿ“š Example**: 
    - **๐Ÿ  Predicting House Prices**: Predict the price of a house based on its features such as size and location.
    ```python
    from sklearn.linear_model import LinearRegression
    X = [[1], [2], [3], [4], [5]]  # Features (e.g., years of experience)
    y = [1, 2, 2.5, 4, 5]  # Target (e.g., salary)
    model = LinearRegression()
    model.fit(X, y)
    predictions = model.predict([[6]])  # Predict for 6 years of experience
    ```
    '''
    return linear

# Logistic Regression
def logistic_regression():
    logistic = '''
    ### ๐Ÿ” Logistic Regression
    Logistic regression is used for binary classification tasks, where the goal is to predict one of two outcomes, such as pass/fail or spam/not spam.

    **๐Ÿ“š Example**:
    - **๐Ÿ“ง Predicting Spam Emails**: Classifying emails as spam or not spam.
    ```python
    from sklearn.linear_model import LogisticRegression
    from sklearn.datasets import load_iris
    data = load_iris()
    X = data.data
    y = (data.target == 0).astype(int)  # Binary classification (class 0 vs others)
    model = LogisticRegression()
    model.fit(X, y)
    predictions = model.predict(X)
    ```
    '''
    return logistic

# Decision Trees
def decision_trees():
    decision = '''
    ### ๐ŸŒณ Decision Trees
    Decision trees split the data into subsets based on feature values, creating a tree-like model. It is used for both classification and regression tasks.

    **๐Ÿ“š Example**:
    - **๐ŸŒธ Classifying Iris Species**: A decision tree can be used to classify different species of Iris flowers.
    ```python
    from sklearn.tree import DecisionTreeClassifier
    from sklearn.datasets import load_iris
    data = load_iris()
    X = data.data
    y = data.target
    model = DecisionTreeClassifier()
    model.fit(X, y)
    predictions = model.predict(X)
    ```
    '''
    return decision

# K-Nearest Neighbors (KNN)
def knn():
    knn = '''
    ### ๐Ÿ” K-Nearest Neighbors (KNN)
    KNN is a simple, non-parametric algorithm that classifies data based on the majority vote of its nearest neighbors.

    **๐Ÿ“š Example**:
    - **๐Ÿ“Š Classifying a Data Point**: Predict the class of a data point based on its nearest neighbors.
    ```python
    from sklearn.neighbors import KNeighborsClassifier
    from sklearn.datasets import load_iris
    data = load_iris()
    X = data.data
    y = data.target
    model = KNeighborsClassifier(n_neighbors=3)
    model.fit(X, y)
    predictions = model.predict(X)
    ```
    '''
    return knn

# Support Vector Machines (SVM)
def svm():
    svm = '''
    ### โšก Support Vector Machines (SVM)
    SVM is a powerful classifier that works well for high-dimensional data. It tries to find the hyperplane that best separates the data points of different classes.

    **๐Ÿ“š Example**:
    - **๐ŸŒธ Classifying Iris Flowers**: An SVM can be used to classify Iris flowers into different species.
    ```python
    from sklearn.svm import SVC
    from sklearn.datasets import load_iris
    data = load_iris()
    X = data.data
    y = data.target
    model = SVC(kernel='linear')
    model.fit(X, y)
    predictions = model.predict(X)
    ```
    '''
    return svm

# Neural Networks
def neural_networks():
    neural = '''
    ### ๐Ÿง  Neural Networks
    Neural networks are modeled after the human brain, with layers of interconnected nodes (neurons) used for tasks like image and speech recognition.

    **๐Ÿ“š Example**:
    - **1๏ธโƒฃ2๏ธโƒฃ3๏ธโƒฃ Classifying Handwritten Digits**: A simple neural network can be used to classify digits from the MNIST dataset.
    ```python
    from sklearn.neural_network import MLPClassifier
    from sklearn.datasets import load_iris
    data = load_iris()
    X = data.data
    y = data.target
    model = MLPClassifier(hidden_layer_sizes=(10,), max_iter=1000)
    model.fit(X, y)
    predictions = model.predict(X)
    ```
    '''
    return neural

# Sidebar for content navigation with emojis
st.sidebar.header("๐Ÿ“š Contents")

# Show Introduction first in the sidebar
page = st.sidebar.radio("๐Ÿ“– Select a Topic", 
                        ["Introduction", "Types of Machine Learning", "Popular Algorithms"])

# Conditional options based on sidebar selection
if page == "Types of Machine Learning":
    types_of_ml = st.sidebar.radio("๐Ÿ“Š Types of Machine Learning", 
                                   ["๐Ÿ”ธ Supervised Learning", "๐Ÿ”ธ Unsupervised Learning", "๐Ÿ”ธ Reinforcement Learning"])
else:
    types_of_ml = None

if page == "Popular Algorithms":
    popular_algorithms = st.sidebar.radio("๐Ÿš€ Popular Algorithms", 
                                          ["๐Ÿ”— Linear Regression", "๐Ÿ“ˆ Logistic Regression", "๐ŸŒณ Decision Trees", 
                                           "๐Ÿ” K-Nearest Neighbors (KNN)", "โšก Support Vector Machines (SVM)", "๐Ÿง  Neural Networks"])
else:
    popular_algorithms = None

# Main content area
st.markdown("<h1 style='text-align: center; color: orange;'>Machine Learning (ML)</h1>", unsafe_allow_html=True)

# Display content based on the selected page
if page == "Introduction":
    st.markdown(introduction_to_ml())

elif types_of_ml == "๐Ÿ”ธ Supervised Learning":
    st.markdown(supervised_learning())
elif types_of_ml == "๐Ÿ”ธ Unsupervised Learning":
    st.markdown(unsupervised_learning())
elif types_of_ml == "๐Ÿ”ธ Reinforcement Learning":
    st.markdown(reinforcement_learning())

elif popular_algorithms == "๐Ÿ”— Linear Regression":
    st.markdown(linear_regression())
elif popular_algorithms == "๐Ÿ“ˆ Logistic Regression":
    st.markdown(logistic_regression())
elif popular_algorithms == "๐ŸŒณ Decision Trees":
    st.markdown(decision_trees())
elif popular_algorithms == "๐Ÿ” K-Nearest Neighbors (KNN)":
    st.markdown(knn())
elif popular_algorithms == "โšก Support Vector Machines (SVM)":
    st.markdown(svm())
elif popular_algorithms == "๐Ÿง  Neural Networks":
    st.markdown(neural_networks())