Welcome to my Python for Machine Learning learning repository.
This repository documents my hands-on journey from fundamental Python programming to machine learning-ready coding, utilizing Jupyter Notebooks, practice sets, and modular mini-projects.
Core Python programming concepts:
- Control flow (if-else statements, for loops, while loops, nested loops, loop control mechanisms)
- Data structures (lists, tuples, sets, frozensets, dictionaries, strings)
- String operations and practice exercises
- Functions and arguments
- Lambda functions, list comprehensions, and dictionary comprehensions
- Sequence sum patterns
- Modules and operators
- Decorators
- Namespace and scope management
- Classification of Python errors
- Implementation of try, except, else, and finally blocks
- Creating and handling custom exceptions
- Text file operations (read, write, append) and context management using the
withstatement - Binary file operations
- Serialization and deserialization
- Pickling and unpickling Python objects
Object-Oriented Programming principles:
- Classes and objects (Part 1 & 2)
- Reference variables and user-defined data types
- Inheritance hierarchies
- Encapsulation and data hiding
- Abstraction
- Polymorphism
- Object aggregation and the
super()function
Practice notebooks dedicated to:
- Fundamental logic and level-1 problem solving
- List and dictionary manipulation exercises
- List comprehension practice
- Decorator practicals
- OOP practice
- Exception handling practicals
Functional mini-projects developed during the learning phase:
- Standard Calculator and Calculator V2
- ATM System simulation
- Library Management project
- DinosaursPedia
- Google Account Creation & Login simulation
Fundamental array computing:
- Array creation and attributes
- Basic indexing and slicing
- Iteration and array reshaping
- Array stacking and splitting
- Dedicated notebooks for reinforcing core NumPy concepts.
In-depth exploration of advanced array operations and mathematical computing:
- Advanced Indexing: Techniques for complex array selection and multi-dimensional slicing.
- Array Broadcasting: Operational rules, implementation examples, and computational error resolution.
- Handling Missing Values: Identification, filtering, and management of NaN/null data points within numerical arrays.
- Plotting Graphs: Integrating array data with visualization operations.
- Set Functions: Advanced operations including union, intersection, and unique value extraction on arrays.
- Extra Methods (Part 1 & 2): Comprehensive coverage of specialized NumPy utility functions for extended statistical and mathematical operations.
Comprehensive coverage of the Pandas library for data manipulation and analysis:
- Series: Creation, indexing, slicing, math methods, and extended series operations (Part 1 & 2)
- DataFrames: Introduction, creation, and structural understanding
- Indexing & Selection: Editing the index, selecting columns, rows, and combined selections
- Math Methods: Statistical and mathematical operations on DataFrames
- Plotting: Visualizing Series data with built-in plot methods
- Python Integration: Using Python functionality within Pandas workflows
- Python 3
- Jupyter Notebook
- Git & GitHub
To establish a robust foundation in Python programming tailored for Data Science and Machine Learning, bridging the gap between theoretical syntax and real-world analytical projects.
Maintained by Ayush Suthar