My [day-wise] Python Learning journey
Python 3 Learning
- [Video] Basics concepts
 - [Video] Machine Learning
 - [Link] Selenium:Browser Automation
 
Python language reference
Python cheat sheets
- https://github.com/PrateekKumarSingh/CheatSheets
 - https://becominghuman.ai/cheat-sheets-for-ai-neural-networks-machine-learning-deep-learning-big-data-678c51b4b463
 
Python quick reference cards
- Print function
 - Comments
 - Math module and mathematical operations
 - Loop - For, While
 - if, else, elif
 
- Functions
 - Global and Local Variables
 - Install Modules
 
- Importing modules
 - Read, write, append files
 - Class
 - Getting User Input
 - Statistics Module
- 
- Mean, Median, Standard deviation, Variance
 
 
 - 
 - Tuples and Lists
 - Launching WebBrowser
 - Multi-Dimensional List
 - Reading CSV files
 - Try and Except
 
- Multiline print
 - Dictionaries
- Create, delete and nested with lists
 
 - Using Builtin functions
- Format(), int(), float(), round(), floor(), ceil()
 
 
- OS module
- Current working directory, new, remove directory and renaming files
 
 - Sys Module
- Passing cmdline arguments
 - Stderr, stdout
 - System-specific parameters and functions
 
 
- Basic URLLIB module usecases
- Requesting html response from a web url
 - Encoding the url parameters
 
 - Sending web requests using URLLIB module with custom headers
 - Dowloading JSON data from a URL
 
- Regular expressions
- Identifiers \d \D \w \W etc
 - Modifiers + $ ^ etc
 - Functions .findall() , .search() _
 
 
- List comprehensions and usecases
- Example of regular and list comprehension approach
 - UseCase-1 : performing operations on each item in the list
 - UseCase-2 : filtering elements of a list, eg - Null, empty strings, negative numbers etc
 - UseCase-3 : list flattening - convert a 2D list to 1D list
 
 - String manipulations
- Slicing a string
 - .split() and .join()
 - reversed()
 - .strip() , .lstrip() , .rstrip()
 - .rjust() .ljust(), .center()
 - UseCase - Printing data in tabular format using .center()
 
 
- MINI PROJECTS
- Dice Roll Simulator
 - Guess the Number
 - Hangman - Word guessing game
 
 
- 
Parsing websites
- Extracting data from withing the HTML tags of websites using reglar expression and web request
 
 - 
TKinter module to make windows forms
- Basic form with labels and buttons
 - Button onclick event handling
 - Change label text dynamically
 
 - 
MINI PROJECT
- Calclator GUI (Using Tkinter module)
 
 
- Tkinter module to create MENU in windows forms
 - Add drop down menu items under each menu
 - Add functionalities to drop down menu items
- File > Save [Opens a File Dialog box to save the file]
 - File > Exit
 - Tools > Show Image
 - Tools > Show Text
 
 - Threading Module
- Creating a thread
 - Thread lock() , acquire() , release()
 - Queue
 
 
- CX Freeze module
- Define setup files
 - Build executables (.exe) from Python scripts
 
 - MatPlotLib module
- Loading coordinates from a csv file
 - Plotting graph
 - Scatter graph
 - Bar graph
 - Defining title, label, grid and legends
 - Styling graphs
 
 
- Socket programming
- socket module
 - socket.AF_INET (Address Family = IPv4)
 - socket.SOCK_STREAM (Protocol = TCP) | socket.SOCK_DGRAM (Protocol = UDP)
 
 - Multi-threaded port scanner using socket programming
 - Listen\Bind ports
 - Client\Server system using socket programming
 
- 
Mini Project
- Chat System using Socket Programming
- Telnet.exe clients can connect to a chat room on port 5555 of the server and start chat with other users
 - Multi-threaded client/server chat system
 - Broadcast [1-to-all] adnd private [1-to-1] messages
 - Chat room admin can Kick user(s) out of chat room
 - Poke users in a chat room
 - Ability to leave the chat room
 
 
 - Chat System using Socket Programming
 
- Pandas module
- Convert dictionaries to Dataframes
 - Slicing dataframes
 - Making new columsn in dataframes
 
 - SKLearn and Quandl module
- Get financial and economic datasets using Quandl
 - Performing mathematical operations on dataframe columns
 - Dataframe functions - .head() .tail() .shift() .fillna() dropna()
 
 
- Train, test, predict data using Linear regression or Simple vector machine model
- Features vs labels
 - Training and predicting using a model
- Prepare training data and split in 2 parts, ~80% to train ~20% to test [ model_selection.train_test_split() ]
 - Define a classifier/model, like LinearRegression, SVM (Simple vector Machine) and then Train the classifier using .fit()
 - Test accuracy of the classifier with respect to test data from step 1 [~20% of data]
 - Predict -  Label = classifier.predict('Features')

 
 
 - Best fit line and how regression works
- What is slope(m) and intercept(b)
 - Linear Regression = mX + b
 
 
- What are Squared error?
 - Squared error vs Absolute errors
 - R-Squared / Coeffcient of determination
 - Classification with K-Nearest neighbor (KNN)
 
- 
Euclidean distance
 - 
Making your own k-NN (k-Nearest Neighbor) algorithm in python
 - 
Comparing the accuracy and confidence of your algorithm with SKLearn module's neighbors.KNeighborsClassifier()
 - 
Accuracy vs confidence in k-NN algorithm
 
- SKLearn Support Vector Machine (SVM) classifier
 - Making your own Support Vector Machine (SVM) algorithm in python [Courtesy: 
]
 
- Browser Automation using Selenium web driver with Python
 - Python Web Scraping
- Using URLLib module and Regular expressions
 - Using Beautiful Soup module
 
 
- Soft Marging Support vector machines, kernels and CVXOPT
 - SKLearn KMeans() classifier and clustering data sets
 
- Applying SKLearn KMeans classifier on Titanic data set to see if it can classify survivors and deads accurately
 - Making your own custom K_Means() classifier algorithm in python
 - Applying custom K_Means() algorithm on Titanic data set
 
.Root
|   README.md
|   
+---.vscode
|       launch.json
|       tasks.json
|       
+---Python Basics
|   |   01_Print_Function.py
|   |   02_Comment.py
|   |   03_Math.py
|   |   04_Variables.py
|   |   05_While_Loop.py
|   |   06_For_Loop.py
|   |   07_If_Else.py
|   |   08_Function.py
|   |   09_Global_Local_Variable.py
|   |   10_Install_Modules.py
|   |   11_Import_modules.py
|   |   12_Write_Append_Read_File.py
|   |   13_Class.py
|   |   14_User_Input.py
|   |   15_Statistics_Module.py
|   |   16_Tuples_List.py
|   |   17_Using_WebBrowser.py
|   |   18_MultiDimensional_List.py
|   |   19_Reading_CSV.py
|   |   20_Try_Except.py
|   |   21_Multiline_print.py
|   |   22_Dictionaries.py
|   |   23_Builtin_Functions.py
|   |   24_OS_Module.py
|   |   25_SYS_Module.py
|   |   26_URLLIB_Module_Basic.py
|   |   27_URLLIB_Module_Custom_Headers.py
|   |   28_URLLIB_Module_with_JSON.py
|   |   29_Regular_Expressions.py
|   |   30_List_Comprehensions.py
|   |   31_String_Manipulations.py
|   |   32_Parsing_Websites.py
|   |   33_TKINTER_Module.py
|   |   34_TKINTER_Add_Menu.py
|   |   35_Threading_Module.py
|   |   36_Threading_Advanced.py
|   |   37_CX_Freeze_and_Making_Exes.py
|   |   38_MatPlotLib_Module.py
|   |   39_Sockets_Programming.py
|   |   40_Multithreaded_Port_Scanner.py
|   |   41_Listen_And_Bind_Ports.py
|   |   42_Client_Server_Systems_With_Sockets.py
|   |   debug.log
|   |   
|   +---MiniProjects
|   |       1_Dice_Roll_Simulator.py
|   |       2_Guess_The_Number.py
|   |       3_Hangman.py
|   |       4_Calculator_GUI.py
|   |       5_Chat_System_On_Socket_Programming.py
|   |       readme.md
|   |       
|   +---Resources
|   |       Python_3_Tips.jpg
|   |       
|   \---SampleFiles
|           coordinates1.csv
|           coordinates2.csv
|           example.csv
|           GetHREF.py
|           picture.jpg
|           RequestWithHeader.txt
|           
+---Python Machine Learning
|   |   01_Pandas_Module.py
|   |   02_Sklearn_and_Quandl_module.py
|   |   03_Regression_Train_Test_Predict.py
|   |   04_Best_Fit_Line_and_Regression.py
|   |   05_Classification_with_SKLEARN_K_Nearest_Neighbor_Algorithm.py
|   |   06_KNN_Algorithm_using_Python.py
|   |   07_Test_Accuracy_of_kNN_Classifier_on_Cancer_Data.py
|   |   08_Classification_with_SKLEARN_Support_Vector_Machine_Algorithm.py
|   |   09_Creating_a_SVM_from_scratch.py
|   |   10_Soft_Margin_SVM_and_Kernels_with_CVXOPT.py
|   |   11_Clustering_DataSets_with_KMeans_Algorithm.py
|   |   12_KMeans_on_Titanic_DataSet.py
|   |   13_Creating_KMeans_from_scratch.py
|   |   14_Custom_KMeans_Algorithm_on_Titanic_dataset.py
|   |   
|   +---MiniProjects
|   |       01_Twitter.py
|   |       
|   +---Resources
|   |       Basic_Algebra.pdf
|   |       Python_For_DataScience.jpg_large
|   |       R_and_Python_DataScience.jpg
|   |       
|   \---SampleFiles
|           breast-cancer-wisconsin.txt
|           Euclidean_Distance.jpg
|           Intro to Regression.pdf
|           linearregression.pickle
|           StockPrediction.png
|           titanic.xls
|           
+---Python Selenium
|       01_Selenium_With_Python.py
|       
+---Python Web Scraping
|       01_Using_URLLIB_and_REGEX.py
|       02_Using_Beautiful_Soup.py
