├── 100_days_AI ├── 1st_day.md ├── 2nd_day.md ├── 3rd.md ├── 4th_day.md ├── 5th.md ├── 6th.md └── 7th.md ├── README.md └── ai.webp /100_days_AI/1st_day.md: -------------------------------------------------------------------------------- 1 | # Day 1: Introduction to AI 2 | 3 | Welcome to Day 1 of your 100-day AI learning journey! Today, you will be introduced to the fundamentals of Artificial Intelligence, including its history, applications, and future potential. 4 | 5 | ## Objectives 6 | 7 | - Understand the basics of Artificial Intelligence 8 | - Learn about the history and evolution of AI 9 | - Explore various applications of AI in different industries 10 | - Write a short essay on the current state and future of AI 11 | 12 | ## Tasks 13 | 14 | 1. **Read about AI Basics** 15 | - Start by reading an overview of Artificial Intelligence on [Wikipedia](https://en.wikipedia.org/wiki/Artificial_intelligence). 16 | - Understand the definition of AI, its goals, and subfields. 17 | 18 | 2. **Explore the History of AI** 19 | - Read about the history and evolution of AI on [Wikipedia](https://en.wikipedia.org/wiki/History_of_artificial_intelligence). 20 | - Learn about key milestones in AI development, from early theories to modern advancements. 21 | 22 | 3. **Understand AI Applications** 23 | - Explore various applications of AI in different industries. Read articles and case studies from the following sources: 24 | - [AI Applications in Healthcare](https://builtin.com/artificial-intelligence/artificial-intelligence-healthcare) 25 | - [AI Applications in Finance](https://emerj.com/ai-sector-overviews/ai-in-finance/) 26 | - [AI Applications in Retail](https://www.forbes.com/sites/forbestechcouncil/2021/02/09/11-examples-of-artificial-intelligence-in-retail/?sh=5e3242f929a7) 27 | - [AI Applications in Autonomous Vehicles](https://builtin.com/artificial-intelligence/ai-autonomous-vehicles) 28 | 29 | 4. **Watch AI Introduction Videos** 30 | - Watch the following videos to get a visual and engaging introduction to AI: 31 | - [What is Artificial Intelligence?](https://www.youtube.com/watch?v=2ePf9rue1Ao) 32 | - [Artificial Intelligence for Beginners](https://www.youtube.com/watch?v=JMUxmLyrhSk) 33 | 34 | 5. **Write a Short Essay** 35 | - Write a 500-word essay on the current state and future of AI. Include the following points: 36 | - Definition and basic concepts of AI 37 | - Key historical milestones 38 | - Current applications and impact of AI in various industries 39 | - Potential future developments and ethical considerations 40 | 41 | ## Resources 42 | 43 | - **Reading Materials**: 44 | - [Artificial Intelligence Overview](https://en.wikipedia.org/wiki/Artificial_intelligence) 45 | - [History of Artificial Intelligence](https://en.wikipedia.org/wiki/History_of_artificial_intelligence) 46 | - [AI Applications in Healthcare](https://builtin.com/artificial-intelligence/artificial-intelligence-healthcare) 47 | - [AI Applications in Finance](https://emerj.com/ai-sector-overviews/ai-in-finance/) 48 | - [AI Applications in Retail](https://retalon.com/blog/ai-in-the-retail-market-shaping-an-industry-examples-use-cases) 49 | - [AI Applications in Autonomous Vehicles](https://www.embedded.com/the-role-of-artificial-intelligence-in-autonomous-vehicles/) 50 | 51 | - **Videos**: 52 | - [What is Artificial Intelligence?](https://www.youtube.com/watch?v=2ePf9rue1Ao) 53 | - [Artificial Intelligence for Beginners](https://www.youtube.com/watch?v=JMUxmLyrhSk) 54 | 55 | ## Tips for Success 56 | 57 | - Take notes as you read and watch the materials. This will help reinforce your learning. 58 | - Reflect on how AI impacts your daily life and the world around you. 59 | - Keep your essay concise and focused, using clear examples to illustrate your points. 60 | 61 | ## Conclusion 62 | 63 | By the end of Day 1, you should have a solid understanding of the basics of Artificial Intelligence, its history, and its various applications. This foundational knowledge will set the stage for the more advanced topics you will explore in the coming days. 64 | 65 | Happy Learning! 66 | -------------------------------------------------------------------------------- /100_days_AI/2nd_day.md: -------------------------------------------------------------------------------- 1 | ## Day 2: AI in the Real World 2 | 3 | Welcome to Day 2 of your 100-day AI learning journey! Today, we'll explore various applications of AI in different industries to give you a broader understanding of how AI is shaping the world around us. 4 | 5 | ### Objectives: 6 | 1. Understand the impact of AI in different sectors. 7 | 2. Recognize real-world AI applications. 8 | 3. Watch the "AI For Everyone" course by Andrew Ng. 9 | 10 | ### Topics to Explore: 11 | 12 | #### 1. AI Applications in Various Industries 13 | AI is transforming numerous industries, and here are some key areas to consider: 14 | - **Healthcare:** AI is used for diagnosing diseases, personalized treatment plans, and medical imaging. 15 | - *Example:* IBM Watson Health provides AI-driven insights to help doctors diagnose and treat patients more effectively. 16 | - **Finance:** AI helps in fraud detection, algorithmic trading, and personalized banking services. 17 | - *Example:* JPMorgan Chase uses AI to detect fraud by analyzing transaction patterns. 18 | - **Retail:** AI enhances customer experience through recommendation systems, inventory management, and chatbots. 19 | - *Example:* Amazon's recommendation engine uses AI to suggest products based on customer behavior. 20 | - **Manufacturing:** AI optimizes production lines, predictive maintenance, and quality control. 21 | - *Example:* General Electric uses AI for predictive maintenance to reduce downtime in manufacturing. 22 | - **Transportation:** AI powers autonomous vehicles, traffic management systems, and logistics planning. 23 | - *Example:* Tesla's Autopilot feature uses AI to assist with driving tasks. 24 | - **Entertainment:** AI is involved in content recommendation, personalized entertainment experiences, and even content creation. 25 | - *Example:* Netflix uses AI to recommend shows and movies to users based on their viewing history. 26 | 27 | #### 2. Watch "AI For Everyone" by Andrew Ng 28 | 29 | "AI For Everyone" by Andrew Ng is an excellent introductory course that provides a broad overview of AI. It is designed for people with no prior knowledge of AI and focuses on practical applications and implications. 30 | 31 | **Course Details:** 32 | - **Instructor:** Andrew Ng, a pioneer in AI and co-founder of Coursera. 33 | - **Duration:** Approximately 6 hours to complete. 34 | - **Structure:** 35 | - **Module 1: What is AI?** 36 | - Introduction to AI and its capabilities. 37 | - Understanding the difference between AI, machine learning, and deep learning. 38 | - **Module 2: Building AI Projects** 39 | - How to start an AI project in your organization. 40 | - Key steps in implementing AI solutions. 41 | - Evaluating the feasibility of AI projects. 42 | - **Module 3: AI in Practice** 43 | - Real-world case studies of AI applications in different industries. 44 | - Best practices for deploying AI systems. 45 | - **Module 4: AI and Society** 46 | - Ethical considerations in AI. 47 | - The impact of AI on jobs and the economy. 48 | - How to navigate AI transformations in businesses. 49 | 50 | **[Click here to watch "AI For Everyone" on Coursera](https://www.coursera.org/learn/ai-for-everyone)** 51 | 52 | ### Activities: 53 | 1. **Read:** Explore articles and case studies on AI applications in your industry of interest. Websites like [Towards Data Science](https://towardsdatascience.com/) and [Medium](https://medium.com/) have numerous articles. 54 | 2. **Watch:** Complete at least one module of the "AI For Everyone" course. Here’s a suggested approach: 55 | - **Module 1: What is AI?** 56 | - Watch the videos and take notes on key concepts such as the definition of AI, the differences between AI, machine learning, and deep learning, and the capabilities of AI. 57 | - **Module 2: Building AI Projects** 58 | - Understand the steps involved in starting and implementing an AI project, including evaluating the feasibility and key considerations for successful deployment. 59 | - **Module 3: AI in Practice** 60 | - Study real-world case studies to see how AI is being used in different industries. Note the best practices highlighted for deploying AI systems. 61 | - **Module 4: AI and Society** 62 | - Reflect on the ethical implications of AI, its impact on jobs and the economy, and how businesses can navigate AI transformations. 63 | 64 | 3. **Reflect:** Think about how AI could be applied to a problem or process you're familiar with. Write a short paragraph summarizing your thoughts. Consider the following questions: 65 | - What industry are you interested in? 66 | - What specific problem or process in that industry could benefit from AI? 67 | - How would you approach implementing an AI solution for that problem? 68 | 69 | ### Summary: 70 | Today, you learned about the diverse applications of AI across various industries and took the first step in understanding the real-world impact of AI. By watching Andrew Ng's "AI For Everyone" course, you will gain a comprehensive introduction to AI concepts and practical knowledge on how AI can be applied in different contexts. 71 | 72 | Remember to take notes, reflect on what you learn, and think about how these concepts could apply to your own interests and career. Tomorrow, we'll dive into the basics of machine learning, the core technology behind many AI applications. See you on Day 3! 73 | 74 | **Happy learning!** 75 | -------------------------------------------------------------------------------- /100_days_AI/3rd.md: -------------------------------------------------------------------------------- 1 | ## Day 3: Python Basics 2 | 3 | Welcome to Day 3 of your 100-day AI learning journey! Today, we will start learning Python, a powerful and versatile programming language widely used in AI and data science. 4 | 5 | ### Objectives: 6 | 1. Understand Python syntax. 7 | 2. Learn basic programming concepts in Python. 8 | 3. Follow along with the "Python for Beginners" course. 9 | 10 | ### Topics to Explore: 11 | 12 | #### 1. Python Syntax 13 | Python syntax is designed to be readable and straightforward. Key elements include: 14 | 15 | - **Variables:** Used to store data values. 16 | ```python 17 | x = 5 18 | y = "Hello, World!" 19 | ``` 20 | ## Data Types 21 | Common types include integers, floats, strings, and booleans. 22 | 23 | ```python 24 | age = 25 # int 25 | price = 19.99 # float 26 | name = "Alice" # str 27 | is_student = True # bool 28 | ``` 29 | ## Comments 30 | Used to explain code, ignored by the interpreter. 31 | ```python 32 | # This is a comment 33 | ``` 34 | ## Indentation 35 | Python uses indentation to define blocks of code. 36 | ```python 37 | if age > 18: 38 | print("You are an adult.") 39 | ``` 40 | 41 | - **Control Flow:** 42 | 43 | - If-else statements: Used to make decisions in your code. 44 | ```python 45 | if age > 18: 46 | print("You are an adult.") 47 | else: 48 | print("You are a minor.") 49 | ``` 50 | 51 | - For loops: Used to iterate over a sequence (like a list, tuple, or string). 52 | ```python 53 | for i in range(5): 54 | print(i) 55 | ``` 56 | 57 | - While loops: Repeats as long as a condition is true. 58 | ```python 59 | count = 0 60 | while count < 5: 61 | print(count) 62 | count += 1 63 | ``` 64 | 65 | - **Functions:** 66 | 67 | - Defining a function: A reusable block of code. 68 | ```python 69 | def greet(name): 70 | print(f"Hello, {name}!") 71 | ``` 72 | 73 | - Calling a function: 74 | ```python 75 | greet("Alice") 76 | ``` 77 | 78 | #### 3. Follow Along with "Python for Beginners" 79 | 80 | "Python for Beginners" is an excellent resource to start your Python journey. This course covers all the basics and helps you build a strong foundation in Python programming. 81 | 82 | ### Course Details: 83 | 84 | - **Duration:** Approximately 4-6 hours. 85 | - **Structure:** 86 | - Module 1: Introduction to Python 87 | - Setting up your development environment. 88 | - Writing your first Python program. 89 | - Module 2: Basic Syntax and Data Types 90 | - Understanding variables, data types, and basic operations. 91 | ### Course Details: 92 | 93 | - Module 3: Control Flow 94 | - Writing if-else statements, loops, and understanding logical conditions. 95 | - Module 4: Functions 96 | - Creating and using functions to make your code modular and reusable. 97 | 98 | ### Activities: 99 | 100 | - **Read:** Go through the first few chapters of "Automate the Boring Stuff with Python" by Al Sweigart. This book is available for free online and is a great resource for beginners. 101 | - **Watch:** Complete at least the first two modules of the "Python for Beginners" course. Follow along with the exercises and code examples. 102 | - **Practice:** Write simple Python programs to reinforce what you’ve learned. Here are a few ideas: 103 | - Print the numbers 1 to 10. 104 | - Write a program that asks for the user's name and greets them. 105 | - Create a function that takes two numbers and returns their sum. 106 | 107 | ### Summary: 108 | Today, you learned the basics of Python syntax and programming concepts. By following along with the "Python for Beginners" course and practicing on your own, you’re laying a strong foundation for your AI journey. 109 | 110 | Remember to practice regularly and build small projects to solidify your understanding. Tomorrow, we'll continue with more advanced Python concepts. See you on Day 4! 111 | 112 | Happy coding! 113 | -------------------------------------------------------------------------------- /100_days_AI/4th_day.md: -------------------------------------------------------------------------------- 1 | ## Day 4: Python Basics - Part 2 2 | 3 | ### Tasks 4 | 1. **Continue Learning Python Basics** 5 | - **Control Flow Statements** 6 | - Understand how to use `if`, `else`, and `elif` statements to control the flow of your program. 7 | - Example: 8 | ```python 9 | x = 10 10 | if x > 0: 11 | print("x is positive") 12 | elif x == 0: 13 | print("x is zero") 14 | else: 15 | print("x is negative") 16 | ``` 17 | - **Loops** 18 | - Learn the difference between `for` and `while` loops and when to use each. 19 | - **For Loop Example:** 20 | ```python 21 | for i in range(5): 22 | print(i) 23 | ``` 24 | - **While Loop Example:** 25 | ```python 26 | count = 0 27 | while count < 5: 28 | print(count) 29 | count += 1 30 | ``` 31 | - **Functions** 32 | - Learn how to define and call functions. 33 | - Understand function parameters and return values. 34 | - Example: 35 | ```python 36 | def greet(name): 37 | return "Hello, " + name 38 | 39 | print(greet("Alice")) 40 | ``` 41 | - Explore recursion and scope in functions. 42 | - **Recursive Function Example:** 43 | ```python 44 | def factorial(n): 45 | if n == 0: 46 | return 1 47 | else: 48 | return n * factorial(n - 1) 49 | 50 | print(factorial(5)) 51 | ``` 52 | 53 | 2. **Write Small Programs to Solidify Your Understanding** 54 | - Implement small programs that make use of loops, functions, and data structures. 55 | - Examples: 56 | - **Factorial Program (Iterative and Recursive):** 57 | ```python 58 | def factorial_iterative(n): 59 | result = 1 60 | for i in range(1, n + 1): 61 | result *= i 62 | return result 63 | 64 | def factorial_recursive(n): 65 | if n == 0 or n == 1: 66 | return 1 67 | else: 68 | return n * factorial_recursive(n - 1) 69 | 70 | number = int(input("Enter a number: ")) 71 | print("Factorial (Iterative):", factorial_iterative(number)) 72 | print("Factorial (Recursive):", factorial_recursive(number)) 73 | ``` 74 | 75 | - **Bubble Sort Program:** 76 | ```python 77 | def bubble_sort(arr): 78 | n = len(arr) 79 | for i in range(n): 80 | for j in range(0, n-i-1): 81 | if arr[j] > arr[j+1]: 82 | arr[j], arr[j+1] = arr[j+1], arr[j] 83 | return arr 84 | 85 | numbers = [64, 34, 25, 12, 22, 11, 90] 86 | print("Sorted array is:", bubble_sort(numbers)) 87 | ``` 88 | 89 | - **Word Count Program:** 90 | ```python 91 | def word_count(text): 92 | words = text.split() 93 | word_dict = {} 94 | for word in words: 95 | if word in word_dict: 96 | word_dict[word] += 1 97 | else: 98 | word_dict[word] = 1 99 | return word_dict 100 | 101 | sample_text = "hello world hello" 102 | print("Word count:", word_count(sample_text)) 103 | ``` 104 | 105 | 3. **Explore Python Data Structures** 106 | - Learn about lists, tuples, sets, and dictionaries. 107 | - **Lists:** 108 | - Example: 109 | ```python 110 | fruits = ["apple", "banana", "cherry"] 111 | for fruit in fruits: 112 | print(fruit) 113 | ``` 114 | - **Tuples:** 115 | - Example: 116 | ```python 117 | coordinates = (10, 20) 118 | print(coordinates[0]) 119 | ``` 120 | - **Sets:** 121 | - Example: 122 | ```python 123 | unique_numbers = {1, 2, 3, 3, 4} 124 | print(unique_numbers) 125 | ``` 126 | - **Dictionaries:** 127 | - Example: 128 | ```python 129 | student_grades = {"Alice": 90, "Bob": 85, "Charlie": 92} 130 | for student, grade in student_grades.items(): 131 | print(student, grade) 132 | ``` 133 | 134 | ### Resources 135 | - **Python Loops and Control Flow** 136 | - [Python Loops Tutorial](https://www.w3schools.com/python/python_for_loops.asp) 137 | - [Python Control Flow](https://docs.python.org/3/tutorial/controlflow.html) 138 | 139 | - **Python Functions** 140 | - [Functions in Python](https://www.programiz.com/python-programming/function) 141 | - [Scope and Lifetime of Variables in Python](https://www.geeksforgeeks.org/scope-resolution-in-python-legb-rule/) 142 | 143 | - **Data Structures** 144 | - [Python Data Structures](https://docs.python.org/3/tutorial/datastructures.html) 145 | - [GeeksforGeeks - Python Data Structures](https://www.geeksforgeeks.org/python-data-structures/) 146 | 147 | ### Summary 148 | By the end of Day 4, you should have a solid understanding of Python loops, functions, and basic data structures. Practice these concepts through small programs to reinforce your learning. Use the resources provided to deepen your understanding and continue building a strong foundation in Python. 149 | -------------------------------------------------------------------------------- /100_days_AI/5th.md: -------------------------------------------------------------------------------- 1 | # Day 5: Python Basics - Part 3 2 | 3 | ## Goal 4 | Practice with Python modules and libraries to strengthen your programming skills and complete more exercises on HackerRank Python. 5 | 6 | ## Step-by-Step Guide 7 | 8 | ### 1. Review Basic Concepts 9 | - **Functions**: Understand how to define and call functions in Python. Functions help organize your code into reusable blocks. 10 | - **Loops**: Familiarize yourself with `for` and `while` loops. Loops are used to execute a block of code multiple times. 11 | - **Data Structures**: Learn about lists, dictionaries, sets, and tuples. These structures help you store and organize data efficiently. 12 | 13 | ### 2. Learn About Python Modules and Libraries 14 | - **Modules**: Reusable pieces of code (functions, classes, variables) that can be imported into your program to provide additional functionality. 15 | - **Libraries**: Collections of modules that offer a wide range of capabilities for different tasks. 16 | 17 | ### 3. Explore Key Python Libraries 18 | - **os**: This module provides a way to interact with the operating system, allowing you to handle files, directories, and execute system commands. 19 | - **sys**: The sys module provides access to some variables used or maintained by the Python interpreter and to functions that interact strongly with the interpreter. 20 | - **math**: This module provides mathematical functions like square roots, factorials, and trigonometric operations. 21 | - **random**: The random module is used to generate random numbers, which can be useful for simulations, games, and testing. 22 | - **datetime**: This module supplies classes for manipulating dates and times, allowing you to handle time-related tasks. 23 | - **re**: The re module provides support for working with regular expressions, which are useful for string matching and manipulation. 24 | - **json**: This module is used to parse JSON (JavaScript Object Notation), a popular data format for exchanging data between a server and a web application. 25 | - **csv**: The csv module is used to read from and write to CSV (Comma Separated Values) files, which are a common format for tabular data. 26 | - **statistics**: This module provides functions for calculating mathematical statistics of numeric data. 27 | - **collections**: The collections module provides specialized container datatypes, such as namedtuples, deque, Counter, and OrderedDict. 28 | - **itertools**: This module provides functions that create iterators for efficient looping, such as generating permutations and combinations. 29 | - **functools**: The functools module is for higher-order functions that act on or return other functions, such as decorators and partial functions. 30 | - **operator**: This module exports a set of efficient functions corresponding to the intrinsic operators of Python, such as addition, subtraction, and item getters for sorting. 31 | 32 | ### 4. Practice Exercises 33 | 34 | #### 4.1 Using the `os` Module 35 | - **Task**: Write a Python script that lists all files and directories in the current directory. 36 | 37 | ```python 38 | import os 39 | 40 | def list_files_and_directories(): 41 | path = '.' 42 | files = os.listdir(path) 43 | for file in files: 44 | print(file) 45 | 46 | list_files_and_directories() 47 | ### 5. HackerRank Exercises 48 | Complete the following exercises on [HackerRank Python](https://www.hackerrank.com/domains/python): 49 | ``` 50 | #### 4.2 Using the `sys` Module 51 | - **Task**: Write a Python script that prints the Python version you are using. 52 | ```python 53 | import sys 54 | 55 | def print_python_version(): 56 | print(f"Python version: {sys.version}") 57 | 58 | print_python_version() 59 | ``` 60 | #### 4.3 Using the `math` Module 61 | - **Task**: Write a Python script that calculates the factorial of a number. 62 | ```python 63 | import math 64 | 65 | def calculate_factorial(number): 66 | return math.factorial(number) 67 | 68 | num = 5 69 | print(f"The factorial of {num} is {calculate_factorial(num)}") 70 | ``` 71 | #### 4.4 Using the `random` Module 72 | - **Task**: Write a Python script that generates a list of 5 random numbers between 1 and 100. 73 | ```python 74 | import random 75 | 76 | def generate_random_numbers(): 77 | random_numbers = [random.randint(1, 100) for _ in range(5)] 78 | return random_numbers 79 | 80 | print(generate_random_numbers()) 81 | ``` 82 | #### 4.5 Using the `datetime` Module 83 | - **Task**: Write a Python script that prints the current date and time 84 | ```python 85 | from datetime import datetime 86 | 87 | def print_current_datetime(): 88 | now = datetime.now() 89 | print(f"Current date and time: {now}") 90 | 91 | print_current_datetime() 92 | ``` 93 | #### 4.6 Using the `re` Module 94 | - **Task**: Write a Python script that finds all email addresses in a given text. 95 | ```python 96 | import re 97 | 98 | def find_emails(text): 99 | email_pattern = r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' 100 | emails = re.findall(email_pattern, text) 101 | return emails 102 | 103 | text = "Please contact us at support@example.com or sales@example.com." 104 | print(find_emails(text)) 105 | ``` 106 | #### 4.7 Using the `json` Module 107 | - **Task**: Write a Python script that parses JSON data and prints specific information. 108 | ```python 109 | import json 110 | 111 | def parse_json(data): 112 | parsed_data = json.loads(data) 113 | for key, value in parsed_data.items(): 114 | print(f"{key}: {value}") 115 | 116 | json_data = '{"name": "John", "age": 30, "city": "New York"}' 117 | parse_json(json_data) 118 | ``` 119 | #### 4.8 Using the `csv` Module 120 | - **Task**: Write a Python script that reads data from a CSV file and prints each row. 121 | ```python 122 | import csv 123 | 124 | def read_csv_file(file_path): 125 | with open(file_path, mode='r') as file: 126 | csv_reader = csv.reader(file) 127 | for row in csv_reader: 128 | print(row) 129 | 130 | file_path = 'data.csv' 131 | read_csv_file(file_path) 132 | ``` 133 | #### 4.9 Using the `statistics` Module 134 | - **Task**: Write a Python script that calculates the mean and median of a list of numbers. 135 | ```python 136 | import statistics 137 | 138 | def calculate_statistics(numbers): 139 | mean = statistics.mean(numbers) 140 | median = statistics.median(numbers) 141 | return mean, median 142 | 143 | numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 144 | mean, median = calculate_statistics(numbers) 145 | print(f"Mean: {mean}, Median: {median}") 146 | ``` 147 | #### 4.10 Using the `collections` Module 148 | - **Task**: Write a Python script that counts the frequency of elements in a list using collections.Counter. 149 | ```python 150 | from collections import Counter 151 | 152 | def count_elements(lst): 153 | counter = Counter(lst) 154 | return counter 155 | 156 | lst = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple'] 157 | print(count_elements(lst)) 158 | ``` 159 | ##### 4.11 Using the `itertools` Module 160 | - **Task**: Write a Python script that generates all possible permutations of a list of numbers. 161 | ```python 162 | import itertools 163 | 164 | def generate_permutations(lst): 165 | permutations = list(itertools.permutations(lst)) 166 | return permutations 167 | 168 | lst = [1, 2, 3] 169 | print(generate_permutations(lst)) 170 | ``` 171 | #### 4.12 Using the `functools` Module 172 | - **Task**: Write a Python script that uses functools.reduce to compute the product of a list of numbers. 173 | ```python 174 | from functools import reduce 175 | 176 | def multiply_elements(lst): 177 | product = reduce(lambda x, y: x * y, lst) 178 | return product 179 | 180 | lst = [1, 2, 3, 4] 181 | print(multiply_elements(lst)) 182 | ``` 183 | #### 4.13 Using the `operator` Module 184 | - **Task**: Write a Python script that sorts a list of tuples based on the second element using operator.itemgetter. 185 | ```python 186 | from operator import itemgetter 187 | 188 | def sort_tuples(lst): 189 | sorted_lst = sorted(lst, key=itemgetter(1)) 190 | return sorted_lst 191 | 192 | lst = [(1, 'banana'), (2, 'apple'), (3, 'orange')] 193 | print(sort_tuples(lst)) 194 | ``` 195 | ## Summary 196 | - **Review**: Basic Python concepts. 197 | - **Learn**: Key Python libraries and how to use them. 198 | - **Practice**: Solve exercises using Python modules and libraries. 199 | - **HackerRank**: Complete additional exercises to reinforce your learning. 200 | 201 | Feel free to ask if you need help with any specific exercise or concept! 202 | -------------------------------------------------------------------------------- /100_days_AI/6th.md: -------------------------------------------------------------------------------- 1 | # Day 6: Introduction to NumPy 2 | 3 | ## Introduction to NumPy 4 | 5 | ### What is NumPy? 6 | NumPy (Numerical Python) is a powerful library for numerical computing in Python. It provides support for arrays, matrices, and many mathematical functions to operate on these data structures efficiently. NumPy is widely used in data science, machine learning, and scientific computing due to its performance and ease of use. 7 | 8 | ### Key Features of NumPy 9 | - **N-Dimensional Array**: NumPy's primary feature is its N-dimensional array object, ndarray, which is a powerful and versatile data structure. 10 | - **Mathematical Functions**: Provides a wide range of mathematical functions to perform operations on arrays. 11 | - **Broadcasting**: Allows for vectorized operations on arrays of different shapes. 12 | - **Linear Algebra**: Supports linear algebra operations, including matrix multiplication and decomposition. 13 | - **Random Sampling**: Tools for generating random numbers and sampling from distributions. 14 | 15 | ## Installing and Importing NumPy 16 | 17 | ### Installing NumPy 18 | Ensure you have NumPy installed. You can install it using pip if it's not already installed: 19 | ```sh 20 | pip install numpy 21 | ``` 22 | ### Importing NumPy 23 | Import the NumPy library in your Python script: 24 | ```p 25 | import numpy as np 26 | ``` 27 | ### Creating Arrays 28 | Create a NumPy array from a Python list: 29 | ```python 30 | array = np.array([1, 2, 3, 4, 5]) 31 | print("Array:", array) 32 | ``` 33 | ### Array Operations 34 | Perform basic arithmetic operations on NumPy arrays: 35 | ```python 36 | array = np.array([1, 2, 3, 4, 5]) 37 | print("Array:", array) 38 | 39 | # Add 10 to each element 40 | print("Array + 10:", array + 10) 41 | 42 | # Multiply each element by 2 43 | print("Array * 2:", array * 2) 44 | 45 | # Square each element 46 | print("Array squared:", array ** 2) 47 | ``` 48 | ### Array Indexing and Slicing 49 | Access elements and subarrays using indexing and slicing: 50 | ```python 51 | array = np.array([1, 2, 3, 4, 5]) 52 | 53 | # Access the first element 54 | print("First element:", array[0]) 55 | 56 | # Access elements from index 1 to 3 57 | print("Elements from index 1 to 3:", array[1:4]) 58 | 59 | # Access the last element 60 | print("Last element:", array[-1]) 61 | ``` 62 | ### Reshaping Arrays 63 | Reshape an array to a different dimension: 64 | ```python 65 | array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]) 66 | reshaped_array = array.reshape(3, 3) 67 | print("Reshaped array (3x3):\n", reshaped_array) 68 | ``` 69 | ### Sum, Mean, and Standard Deviation 70 | Use NumPy's built-in mathematical functions: 71 | ```python 72 | array = np.array([1, 2, 3, 4, 5]) 73 | 74 | # Calculate the sum of all elements 75 | print("Sum:", np.sum(array)) 76 | 77 | # Calculate the mean of all elements 78 | print("Mean:", np.mean(array)) 79 | 80 | # Calculate the standard deviation 81 | print("Standard Deviation:", np.std(array)) 82 | ``` 83 | ### Exercise 1: Create a 4x4 Identity Matrix 84 | ```python 85 | identity_matrix = np.eye(4) 86 | print("4x4 Identity Matrix:\n", identity_matrix) 87 | ``` 88 | ### Exercise 2: Generate an Array of 10 Random Numbers Between 0 and 1 89 | ```python 90 | random_array = np.random.random(10) 91 | print("Array of 10 random numbers between 0 and 1:\n", random_array) 92 | ``` 93 | ### Exercise 3: Create a 3x3 Matrix with Values Ranging from 0 to 8 94 | ```python 95 | matrix = np.arange(9).reshape(3, 3) 96 | print("3x3 Matrix with values ranging from 0 to 8:\n", matrix) 97 | ``` 98 | ### Exercise 4: Create a Random Vector of Size 10 and Sort It 99 | ```python 100 | random_vector = np.random.random(10) 101 | sorted_vector = np.sort(random_vector) 102 | print("Random vector of size 10:\n", random_vector) 103 | print("Sorted vector:\n", sorted_vector) 104 | ``` 105 | # Additional Resources 106 | 107 | - Refer to the official [NumPy Documentation](https://numpy.org/doc/stable/) for more in-depth information and examples. 108 | 109 | ## Summary 110 | - **Learn**: Understand the basics of NumPy for numerical computing. 111 | - **Follow**: Complete the NumPy Quickstart Tutorial. 112 | - **Implement**: Practice basic operations with NumPy arrays. 113 | 114 | Feel free to ask if you need help with any specific exercise or concept! 115 | -------------------------------------------------------------------------------- /100_days_AI/7th.md: -------------------------------------------------------------------------------- 1 | # Day 7: Introduction to Pandas 2 | 3 | ## Goals 4 | - Understand the basics of Pandas and its importance in data manipulation. 5 | - Learn to create, manipulate, and analyze data using Pandas DataFrames and Series. 6 | - Practice fundamental data manipulation tasks using Pandas. 7 | 8 | ## Tasks 9 | 10 | ### 1. Introduction to Pandas 11 | - **Overview:** Pandas is a high-level data manipulation tool developed by Wes McKinney. It is built on the Numpy package and its key data structure is called DataFrame. DataFrames allow you to store and manipulate tabular data in rows of observations and columns of variables. Pandas is crucial for data analysis in Python because of its ability to handle large datasets efficiently and its integration with other Python libraries like NumPy and Matplotlib. 12 | 13 | ### 2. Pandas Series 14 | - **Concepts to Explore:** 15 | - **Definition:** A Series is a one-dimensional array-like object capable of holding any data type (integers, strings, floating point numbers, Python objects, etc.). It has a sequence of values and an associated array of data labels, called its index. 16 | - **Creation:** Learn how to create a Series from different data types such as lists, dictionaries, and numpy arrays. 17 | - **Basic Operations:** 18 | - **Indexing:** Access elements using index labels. 19 | - **Slicing:** Retrieve multiple elements using slice notation. 20 | - **Vectorized Operations:** Perform operations on entire Series without using loops. 21 | - **Functions and Methods:** Commonly used functions like `.head()`, `.tail()`, `.describe()`, and methods like `.sum()`, `.mean()`, `.max()`, etc. 22 | 23 | 24 | ```python 25 | import pandas as pd 26 | 27 | # Creating a Series from a list 28 | data = [1, 3, 5, 7, 9] 29 | series = pd.Series(data) 30 | print(series) 31 | 32 | # Accessing elements 33 | print(series[0]) # First element 34 | print(series[1:4]) # Slicing 35 | 36 | # Creating a Series from a dictionary 37 | data_dict = {'a': 10, 'b': 20, 'c': 30} 38 | series_dict = pd.Series(data_dict) 39 | print(series_dict) 40 | ``` 41 | 42 | ### 3. Pandas DataFrame 43 | - **Concepts to Explore:** 44 | - **Definition:** A DataFrame is a two-dimensional, size-mutable, potentially heterogeneous tabular data structure with labeled axes (rows and columns). 45 | - **Creation:** Understand how to create DataFrames from various data structures like dictionaries, lists of lists, and numpy arrays. 46 | - **Basic Operations:** 47 | - **Selecting Data:** Methods to select rows and columns using `.loc[]`, `.iloc[]`, and simple indexing. 48 | - **Adding/Removing Columns:** Techniques to add new columns and remove existing ones. 49 | - **Filtering Data:** Use boolean indexing to filter DataFrame rows based on column values. 50 | - **Data Cleaning:** Handle missing values using `.dropna()`, `.fillna()`, and other techniques to ensure data quality. 51 | ```python 52 | # Creating a DataFrame from a dictionary 53 | data = { 54 | 'Name': ['John', 'Anna', 'Peter', 'Linda'], 55 | 'Age': [28, 24, 35, 32], 56 | 'City': ['New York', 'Paris', 'Berlin', 'London'] 57 | } 58 | df = pd.DataFrame(data) 59 | print(df) 60 | 61 | # Selecting columns 62 | print(df['Name']) 63 | 64 | # Adding a new column 65 | df['Country'] = ['USA', 'France', 'Germany', 'UK'] 66 | print(df) 67 | 68 | # Filtering data 69 | filtered_df = df[df['Age'] > 30] 70 | print(filtered_df) 71 | ``` 72 | ### 4. Data Manipulation with Pandas 73 | - **Skills to Develop:** 74 | - **Merging and Joining:** Learn how to combine multiple DataFrames using merge and join operations. 75 | - **Merge:** Use `.merge()` to combine DataFrames based on a common column or index. 76 | - **Join:** Use `.join()` to combine DataFrames based on index. 77 | - **Grouping and Aggregation:** Group data using `.groupby()` and perform aggregate operations like `.sum()`, `.mean()`, `.count()`. 78 | - **Reshaping Data:** 79 | - **Pivot Tables:** Create pivot tables using `.pivot_table()` to summarize data. 80 | - **Stack and Unstack:** Use `.stack()` and `.unstack()` to reshape the layout of DataFrames. 81 | - **Data Cleaning:** Practice handling missing data, removing duplicates, fixing incorrect data types, and using `.replace()` for data standardization. 82 | ```python 83 | # Merging DataFrames 84 | df1 = pd.DataFrame({ 85 | 'ID': [1, 2, 3], 86 | 'Name': ['Alice', 'Bob', 'Charlie'] 87 | }) 88 | df2 = pd.DataFrame({ 89 | 'ID': [1, 2, 4], 90 | 'Score': [85, 90, 78] 91 | }) 92 | merged_df = pd.merge(df1, df2, on='ID', how='inner') 93 | print(merged_df) 94 | 95 | # Grouping and Aggregation 96 | grouped = df.groupby('City').agg({'Age': 'mean'}) 97 | print(grouped) 98 | ``` 99 | 100 | ### 5. Mini-Project: Data Analysis with Pandas 101 | - **Project Overview:** 102 | - Use the Netflix Movies and TV Shows dataset to perform a comprehensive data analysis. Begin with data loading and proceed with cleaning, manipulation, and visualization tasks. 103 | - **Dataset:** [Netflix Movies and TV Shows](https://www.kaggle.com/shivamb/netflix-shows) 104 | 105 | - **Steps:** 106 | - **Loading the Dataset:** Load the dataset into a Pandas DataFrame using `pd.read_csv()`. 107 | - **Data Cleaning and Preprocessing:** 108 | - Handle missing values by either dropping rows/columns or filling them with appropriate values. 109 | - Convert data types if necessary to ensure consistency and correctness. 110 | - **Exploratory Data Analysis (EDA):** 111 | - Summarize statistics for numerical columns using `.describe()`. 112 | - Visualize distributions of key features using Matplotlib or Seaborn for more advanced plots. 113 | - **Analysis:** 114 | - Identify the most common genres using `.str.split()` and `.explode()` to handle lists within cells. 115 | - Analyze the number of shows released each year with `.value_counts()` and `.sort_index()`. 116 | - Compare the number of movies vs. TV shows using `.value_counts()` on the `type` column. 117 | - **Visualization:** 118 | - Create bar plots, histograms, and pie charts to visualize your findings and make the analysis more interpretable. 119 | ```python 120 | # Loading the Netflix dataset 121 | url = 'https://raw.githubusercontent.com/prasertcbs/basic-dataset/master/netflix_titles.csv' 122 | netflix_df = pd.read_csv(url) 123 | 124 | # Data cleaning and preprocessing 125 | netflix_df = netflix_df.dropna(subset=['release_year']) # Drop rows with missing release_year values 126 | netflix_df['rating'] = netflix_df['rating'].fillna('Not Rated') # Fill missing rating values with 'Not Rated' 127 | 128 | # Exploratory Data Analysis 129 | print(netflix_df.describe()) 130 | 131 | # Visualization (using Matplotlib) 132 | import matplotlib.pyplot as plt 133 | 134 | netflix_df['release_year'].hist(bins=30) 135 | plt.title('Release Year Distribution') 136 | plt.xlabel('Year') 137 | plt.ylabel('Frequency') 138 | plt.show() 139 | 140 | # Most common genres 141 | genres = netflix_df['listed_in'].str.split(', ').explode() 142 | common_genres = genres.value_counts().head(10) 143 | print(common_genres) 144 | 145 | # Number of shows released each year 146 | release_year_counts = netflix_df['release_year'].value_counts().sort_index() 147 | release_year_counts.plot(kind='bar', figsize=(10, 5)) 148 | plt.title('Number of Shows Released Each Year') 149 | plt.xlabel('Year') 150 | plt.ylabel('Count') 151 | plt.show() 152 | 153 | # Compare movies vs TV shows 154 | content_type_counts = netflix_df['type'].value_counts() 155 | content_type_counts.plot(kind='pie', autopct='%1.1f%%', figsize=(7, 7)) 156 | plt.title('Movies vs TV Shows') 157 | plt.show() 158 | ``` 159 | 160 | ## Resources 161 | - **Pandas Documentation:** [Official Pandas Documentation](https://pandas.pydata.org/docs/) 162 | - **Video Tutorials:** 163 | - [Exploratory Data Analysis with Pandas Python](https://www.youtube.com/watch?v=xi0vhXFPegw) 164 | - [Pandas Full Course](https://www.youtube.com/watch?v=PcvsOaixUh8) 165 | - **Dataset:** [Netflix Movies and TV Shows dataset](https://www.kaggle.com/shivamb/netflix-shows) 166 | 167 | ## Conclusion 168 | - By the end of Day 7, you should be comfortable with basic and intermediate Pandas operations, capable of handling real-world data analysis tasks effectively. Ensure you practice regularly and explore additional resources to deepen your understanding. 169 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 100 Days in AI: From Beginner to Advanced 2 | ![100 Days in AI Challenge](ai.webp) 3 | 4 | Welcome to the 100 Days in AI journey! This roadmap will guide you through a comprehensive learning path, from the basics to advanced concepts in Artificial Intelligence. 5 | 6 | ## Table of Contents 7 | 8 | 1. [Introduction](#introduction) 9 | 2. [Prerequisites](#prerequisites) 10 | 3. [Day-by-Day Roadmap](#day-by-day-roadmap) 11 | 4. [Resources](#resources) 12 | 5. [Additional Recommendations](#additional-recommendations) 13 | 6. [Conclusion](#conclusion) 14 | 15 | ## Introduction 16 | 17 | This roadmap is designed to help you gain a solid understanding of AI over the course of 100 days. Each day will include specific tasks, resources, and exercises to ensure a structured learning experience. 18 | 19 | ## Prerequisites 20 | 21 | Before you begin, make sure you have the following: 22 | 23 | - Basic programming knowledge (preferably in Python) 24 | - Understanding of high school level mathematics 25 | - A computer with internet access 26 | - Willingness to learn and experiment 27 | 28 | ## Day-by-Day Roadmap 29 | 30 | ### Days 1-10: Introduction to AI and Python for AI 31 | - **Day 1**: Introduction to AI 32 | - Read about the history and applications of AI 33 | - [AI Overview](https://en.wikipedia.org/wiki/Artificial_intelligence) 34 | - Write a short essay on the current state and future of AI 35 | - **Day 2**: AI in the Real World 36 | - Explore different AI applications in various industries 37 | - Watch [AI For Everyone by Andrew Ng](https://www.coursera.org/learn/ai-for-everyone) 38 | - **Day 3**: Python Basics - Part 1 39 | - Learn Python syntax and basic programming concepts 40 | - [Python for Beginners](https://www.learnpython.org/) 41 | - Complete basic exercises on [HackerRank Python]([https://www.hackerrank.com/domains/tutorials/10-days-of-python](https://www.hackerrank.com/domains/python)) 42 | - **Day 4**: Python Basics - Part 2 43 | - Continue learning Python basics: loops, functions, and data structures 44 | - Write small programs to solidify your understanding 45 | - **Day 5**: Python Basics - Part 3 46 | - Practice with Python modules and libraries 47 | - Complete more exercises on [HackerRank Python]([https://www.hackerrank.com/domains/tutorials/10-days-of-python](https://www.hackerrank.com/domains/python)) 48 | - **Day 6**: Introduction to NumPy 49 | - Learn NumPy for numerical computing 50 | - Follow [NumPy Quickstart Tutorial](https://numpy.org/doc/stable/user/quickstart.html) 51 | - Implement basic operations with NumPy arrays 52 | - **Day 7**: Introduction to Pandas 53 | - Learn Pandas for data manipulation 54 | - Follow [Pandas Documentation](https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html) 55 | - Practice data manipulation with Pandas 56 | - **Day 8**: Introduction to Matplotlib 57 | - Learn Matplotlib for data visualization 58 | - Follow [Matplotlib Pyplot Tutorial](https://matplotlib.org/stable/tutorials/introductory/pyplot.html) 59 | - Create basic plots and visualizations 60 | - **Day 9**: Data Analysis with Python 61 | - Combine NumPy, Pandas, and Matplotlib for data analysis 62 | - Work on a mini-project using a dataset from [Kaggle](https://www.kaggle.com/) 63 | - **Day 10**: Review and Practice 64 | - Review Python basics, NumPy, Pandas, and Matplotlib 65 | - Complete exercises and mini-projects to reinforce learning 66 | 67 | ### Days 11-20: Mathematics for AI 68 | - **Day 11**: Introduction to Linear Algebra 69 | - Learn about vectors and vector operations 70 | - [Khan Academy Linear Algebra](https://www.khanacademy.org/math/linear-algebra) 71 | - **Day 12**: Matrix Operations 72 | - Study matrix multiplication, determinants, and inverses 73 | - Practice problems on [MIT OpenCourseWare](https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/) 74 | - **Day 13**: Eigenvalues and Eigenvectors 75 | - Understand eigenvalues and eigenvectors 76 | - Watch [3Blue1Brown's Essence of Linear Algebra series]([https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MIZDIzcOa8JQKyFpnwI](https://www.youtube.com/watch?v=fNk_zzaMoSs&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab)) 77 | - **Day 14**: Applications of Linear Algebra 78 | - Explore applications of linear algebra in AI 79 | - Implement linear algebra concepts in Python 80 | - **Day 15**: Review and Practice 81 | - Review linear algebra concepts 82 | - Solve practice problems and implement in Python 83 | - **Day 16**: Introduction to Calculus 84 | - Learn about derivatives and their applications 85 | - [Khan Academy Calculus](https://www.khanacademy.org/math/calculus-1) 86 | - **Day 17**: Integrals and Their Applications 87 | - Study integrals and their applications 88 | - Practice problems on [Brilliant.org](https://www.brilliant.org/) 89 | - **Day 18**: Introduction to Probability 90 | - Learn basic probability concepts 91 | - [Khan Academy Probability](https://www.khanacademy.org/math/statistics-probability) 92 | - **Day 19**: Probability Distributions 93 | - Study different probability distributions 94 | - Apply probability concepts in Python 95 | - **Day 20**: Review and Practice 96 | - Review calculus and probability concepts 97 | - Solve practice problems and implement in Python 98 | 99 | ### Days 21-30: Introduction to Machine Learning 100 | - **Day 21**: Introduction to Machine Learning 101 | - Learn about supervised and unsupervised learning 102 | - Watch introductory videos on [Sebastian Raschka]([https://www.youtube.com](https://www.youtube.com/watch?v=OgK8JFjkSto&list=PLTKMiZHVd_2KyGirGEvKlniaWeLOHhUF3)/) 103 | - **Day 22**: Linear Regression 104 | - Understand linear regression and its applications 105 | - [Andrew Ng's ML Course](https://www.coursera.org/learn/machine-learning) 106 | - Implement linear regression in Python 107 | - **Day 23**: Logistic Regression 108 | - Study logistic regression for classification problems 109 | - Implement logistic regression in Python 110 | - **Day 24**: Decision Trees 111 | - Learn about decision trees and their applications 112 | - Implement decision trees in Python 113 | - **Day 25**: Model Evaluation 114 | - Understand model evaluation metrics 115 | - [Scikit-Learn Documentation](https://scikit-learn.org/stable/) 116 | - Evaluate machine learning models in Python 117 | - **Day 26**: Introduction to Scikit-Learn 118 | - Learn about Scikit-Learn and its features 119 | - Follow [Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow](https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/) 120 | - **Day 27**: Building ML Models with Scikit-Learn 121 | - Build and train machine learning models using Scikit-Learn 122 | - Complete exercises and projects 123 | - **Day 28**: Hyperparameter Tuning 124 | - Learn about hyperparameter tuning techniques 125 | - Implement hyperparameter tuning in Python 126 | - **Day 29**: Working with Real-World Data 127 | - Explore and preprocess real-world datasets 128 | - Participate in a Kaggle competition 129 | - **Day 30**: Review and Practice 130 | - Review machine learning concepts and Scikit-Learn 131 | - Complete exercises and projects to reinforce learning 132 | 133 | ### Days 31-50: Deep Learning Fundamentals 134 | - **Day 31**: Introduction to Neural Networks 135 | - Learn about perceptrons and neural network architecture 136 | - [Deep Learning Book](https://www.deeplearningbook.org/) 137 | - **Day 32**: Activation Functions 138 | - Study different activation functions and their applications 139 | - Implement activation functions in Python 140 | - **Day 33**: Forward and Backpropagation 141 | - Understand forward and backpropagation algorithms 142 | - Implement forward and backpropagation in Python 143 | - **Day 34**: Training Neural Networks 144 | - Learn about training neural networks and optimization techniques 145 | - Implement training algorithms in Python 146 | - **Day 35**: Neural Network Architectures 147 | - Explore different neural network architectures 148 | - Watch [Deep Learning Specialization by Andrew Ng](https://www.coursera.org/specializations/deep-learning) 149 | - **Day 36**: Introduction to TensorFlow 150 | - Learn about TensorFlow and its features 151 | - [TensorFlow Documentation](https://www.tensorflow.org/tutorials) or [PyTorch](https://pytorch.org/tutorials/beginner/pytorch_with_examples.html) 152 | - **Day 37**: Building Models with TensorFlow 153 | - Build and train neural network models using TensorFlow 154 | - Complete tutorials and exercises 155 | - **Day 38**: Introduction to Keras 156 | - Learn about Keras and its features 157 | - [Keras Documentation](https://keras.io/) 158 | - **Day 39**: Building Models with Keras 159 | - Build and train neural network models using Keras 160 | - Complete tutorials and exercises 161 | - **Day 40**: Model Evaluation and Tuning 162 | - Evaluate and tune deep learning models 163 | - Implement evaluation and tuning techniques in Python 164 | - **Day 41**: Introduction to Convolutional Neural Networks (CNNs) 165 | - Learn about CNN architecture and applications 166 | - [CS231n: CNNs for Visual Recognition](http://cs231n.stanford.edu/) 167 | - **Day 42**: Building CNNs with TensorFlow 168 | - Implement CNNs for image classification using TensorFlow 169 | - Complete tutorials and exercises 170 | - **Day 43**: Building CNNs with Keras 171 | - Implement CNNs for image classification using Keras 172 | - Complete tutorials and exercises 173 | - **Day 44**: Transfer Learning 174 | - Learn about transfer learning and its applications 175 | - Implement transfer learning in Python 176 | - **Day 45**: Introduction to Recurrent Neural Networks (RNNs) 177 | - Study RNN architecture and applications 178 | - [CS224n: NLP with Deep Learning](http://web.stanford.edu/class/cs224n/) 179 | - **Day 46**: Building RNNs with TensorFlow 180 | - Implement RNNs for sequence modeling using TensorFlow 181 | - Complete tutorials and exercises 182 | - **Day 47**: Building RNNs with Keras 183 | - Implement RNNs for sequence modeling using Keras 184 | - Complete tutorials and exercises 185 | - **Day 48**: Long Short-Term Memory (LSTM) Networks 186 | - Learn about LSTM networks and their applications 187 | - Implement LSTM networks in Python 188 | - **Day 49**: Introduction to Generative Models 189 | - Study Generative Adversarial Networks (GANs) and Variational Autoencoders (VAEs) 190 | - [GAN Tutorial](https://www.tensorflow.org/tutorials/generative/dcgan) 191 | - **Day 50**: Building GANs and VAEs 192 | - Implement GANs and VAEs using TensorFlow and Keras 193 | - Complete tutorials and exercises 194 | 195 | ### Days 51-70: Advanced Deep Learning 196 | - **Day 51**: Advanced CNN Architectures 197 | - Learn about advanced CNN architectures (e.g., ResNet, Inception) 198 | - Implement advanced CNNs in Python 199 | - **Day 52**: Object Detection and Segmentation 200 | - Study object detection and segmentation techniques 201 | - Implement object detection and segmentation in Python 202 | - **Day 53**: Advanced RNN Architectures 203 | - Learn about advanced RNN architectures (e.g., GRU, BiLSTM) 204 | - Implement advanced RNNs in Python 205 | - **Day 54**: Sequence-to-Sequence Models 206 | - Study sequence-to-sequence models and their applications 207 | - Implement sequence-to-sequence models in Python 208 | - **Day 55**: Attention Mechanisms 209 | - Learn about attention mechanisms and their applications 210 | - Implement attention mechanisms in Python 211 | - **Day 56**: Introduction to NLP with Deep Learning 212 | - Explore NLP applications with deep learning 213 | - Build NLP models using TensorFlow and Keras 214 | - **Day 57**: Text Classification 215 | - Implement text classification models in Python 216 | - Complete tutorials and exercises 217 | - **Day 58**: Named Entity Recognition (NER) 218 | - Learn about NER and its applications 219 | - Implement NER models in Python 220 | - **Day 59**: Sentiment Analysis 221 | - Study sentiment analysis techniques 222 | - Implement sentiment analysis models in Python 223 | - **Day 60**: Transformers and BERT 224 | - Learn about transformers and BERT 225 | - Implement transformers and BERT models in Python 226 | - **Day 61**: Introduction to Reinforcement Learning (RL) 227 | - Study RL basics and algorithms 228 | - [Spinning Up in Deep RL](https://spinningup.openai.com/en/latest/) 229 | - **Day 62**: Q-Learning 230 | - Learn about Q-learning and its applications 231 | - Implement Q-learning in Python 232 | - **Day 63**: Deep Q-Networks (DQN) 233 | - Study DQN and its applications 234 | - Implement DQN in Python 235 | - **Day 64**: Policy Gradients 236 | - Learn about policy gradients and their applications 237 | - Implement policy gradients in Python 238 | - **Day 65**: Advanced RL Algorithms 239 | - Study advanced RL algorithms (e.g., A3C, PPO) 240 | - Implement advanced RL algorithms in Python 241 | - **Day 66**: AI Ethics and Safety 242 | - Explore ethical considerations and bias in AI 243 | - Watch videos and read articles on AI ethics 244 | - Write an essay on ethical implications of AI 245 | - **Day 67**: Bias and Fairness in AI 246 | - Learn about bias and fairness in AI 247 | - Implement techniques to mitigate bias in AI models 248 | - **Day 68**: AI Safety Measures 249 | - Study AI safety measures and practices 250 | - Implement safety measures in AI models 251 | - **Day 69**: AI and Society 252 | - Explore the impact of AI on society 253 | - Participate in discussions and write a report on AI and society 254 | - **Day 70**: Review and Practice 255 | - Review advanced deep learning and RL concepts 256 | - Complete exercises and projects to reinforce learning 257 | 258 | ### Days 71-90: Specialized AI Topics 259 | - **Day 71**: AI in Healthcare 260 | - Explore AI applications in healthcare 261 | - Analyze case studies and implement healthcare AI models 262 | - **Day 72**: AI in Finance 263 | - Study AI applications in finance 264 | - Implement finance-related AI models 265 | - **Day 73**: AI in Autonomous Systems 266 | - Learn about AI applications in autonomous systems 267 | - Analyze case studies and implement autonomous AI models 268 | - **Day 74**: AI in Natural Language Processing (NLP) 269 | - Explore advanced NLP applications 270 | - Build advanced NLP models using TensorFlow and Keras 271 | - **Day 75**: AI in Computer Vision 272 | - Study advanced computer vision applications 273 | - Implement advanced computer vision models in Python 274 | - **Day 76**: AI in Robotics 275 | - Explore AI applications in robotics 276 | - Analyze case studies and implement robotics AI models 277 | - **Day 77**: AI in Game Development 278 | - Study AI applications in game development 279 | - Implement AI models for game development 280 | - **Day 78**: AI in Recommendation Systems 281 | - Learn about recommendation systems and their applications 282 | - Implement recommendation systems in Python 283 | - **Day 79**: AI in Speech Recognition 284 | - Study AI applications in speech recognition 285 | - Implement speech recognition models in Python 286 | - **Day 80**: AI in Anomaly Detection 287 | - Explore AI applications in anomaly detection 288 | - Implement anomaly detection models in Python 289 | - **Day 81**: AI in Practice - Part 1 290 | - Analyze real-world AI case studies 291 | - Identify key takeaways and best practices 292 | - **Day 82**: AI in Practice - Part 2 293 | - Explore AI applications in different industries 294 | - Write a report on AI applications in your industry of interest 295 | - **Day 83**: AI Project Planning 296 | - Choose an AI project and define project goals 297 | - Gather data and plan project milestones 298 | - **Day 84**: Data Collection and Preprocessing 299 | - Collect and preprocess data for your AI project 300 | - Implement data preprocessing techniques in Python 301 | - **Day 85**: Feature Engineering 302 | - Learn about feature engineering and its importance 303 | - Implement feature engineering techniques in Python 304 | - **Day 86**: Model Selection 305 | - Select appropriate models for your AI project 306 | - Implement model selection techniques in Python 307 | - **Day 87**: Model Training and Evaluation 308 | - Train and evaluate models for your AI project 309 | - Implement training and evaluation techniques in Python 310 | - **Day 88**: Model Optimization 311 | - Optimize models for your AI project 312 | - Implement optimization techniques in Python 313 | - **Day 89**: Model Deployment 314 | - Deploy models for your AI project 315 | - Implement deployment techniques in Python 316 | - **Day 90**: Project Review and Presentation 317 | - Review and finalize your AI project 318 | - Prepare a presentation and project report 319 | 320 | ### Days 91-100: Capstone Project 321 | - **Day 91**: Project Planning 322 | - Choose a capstone project and define project goals 323 | - Plan project milestones and deliverables 324 | - **Day 92**: Data Collection and Preprocessing 325 | - Collect and preprocess data for your capstone project 326 | - Implement data preprocessing techniques in Python 327 | - **Day 93**: Feature Engineering 328 | - Perform feature engineering for your capstone project 329 | - Implement feature engineering techniques in Python 330 | - **Day 94**: Model Selection and Training 331 | - Select and train models for your capstone project 332 | - Implement training techniques in Python 333 | - **Day 95**: Model Evaluation and Optimization 334 | - Evaluate and optimize models for your capstone project 335 | - Implement evaluation and optimization techniques in Python 336 | - **Day 96**: Model Deployment 337 | - Deploy models for your capstone project 338 | - Implement deployment techniques in Python 339 | - **Day 97**: Project Review 340 | - Review and finalize your capstone project 341 | - Prepare a detailed project report 342 | - **Day 98**: Project Presentation Preparation 343 | - Prepare a presentation for your capstone project 344 | - Create presentation slides and visualizations 345 | - **Day 99**: Project Presentation 346 | - Present your capstone project to an audience 347 | - Gather feedback and refine your presentation 348 | - **Day 100**: Reflection and Future Planning 349 | - Reflect on your 100-day AI journey 350 | - Plan your future learning and projects in AI 351 | 352 | ## Resources 353 | 354 | - **Books**: 355 | - [Deep Learning by Ian Goodfellow, Yoshua Bengio, and Aaron Courville](https://www.deeplearningbook.org/) 356 | - [Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow by Aurélien Géron](https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/) 357 | 358 | - **Online Courses**: 359 | - [Coursera: Machine Learning by Andrew Ng](https://www.coursera.org/learn/machine-learning) 360 | - [Udacity: Deep Learning Nanodegree](https://www.udacity.com/course/deep-learning-nanodegree--nd101) 361 | 362 | - **Websites**: 363 | - [Towards Data Science](https://towardsdatascience.com/) 364 | - [Kaggle](https://www.kaggle.com/) 365 | 366 | ## Additional Recommendations 367 | 368 | - **Join AI communities**: Participate in forums like [AI Stack Exchange](https://ai.stackexchange.com/) and [Reddit's r/MachineLearning](https://www.reddit.com/r/MachineLearning/) 369 | - **Practice regularly**: Engage in challenges on platforms like [Kaggle](https://www.kaggle.com/) and [HackerRank](https://www.hackerrank.com/domains/tutorials/10-days-of-ai) 370 | - **Stay updated**: Follow AI news and research papers on [ArXiv](https://arxiv.org/) and [AI conferences](https://conferenceindex.org/conferences/artificial-intelligence) 371 | 372 | ## Conclusion 373 | 374 | By following this roadmap, you'll gain a strong foundation in AI and be prepared to tackle advanced topics and real-world projects. Stay dedicated, practice consistently, and enjoy the learning journey! 375 | 376 | Happy Learning! 377 | -------------------------------------------------------------------------------- /ai.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/h9-tect/100days_AI/d6b8bd2bcd4f003890cecb843111d29ccdebe58b/ai.webp --------------------------------------------------------------------------------