Spaces:
Sleeping
Sleeping
rxhulshxrmx
commited on
Upload 5 files
Browse files- course-search-system-v2.py +143 -0
- course_data.csv +52 -0
- gradio-interface.py +55 -0
- readme.txt +28 -0
- requirements-gradio.txt +4 -0
course-search-system-v2.py
ADDED
@@ -0,0 +1,143 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import pandas as pd
|
2 |
+
import numpy as np
|
3 |
+
from sentence_transformers import SentenceTransformer
|
4 |
+
from typing import List, Dict, Tuple
|
5 |
+
import re
|
6 |
+
|
7 |
+
class CourseSearchSystem:
|
8 |
+
def __init__(self):
|
9 |
+
# Initialize the embedding model
|
10 |
+
self.model = SentenceTransformer('all-MiniLM-L6-v2')
|
11 |
+
self.courses_df = None
|
12 |
+
self.course_embeddings = None
|
13 |
+
|
14 |
+
def preprocess_text(self, text: str) -> str:
|
15 |
+
"""Clean and standardize text data"""
|
16 |
+
if pd.isna(text):
|
17 |
+
return ""
|
18 |
+
text = str(text)
|
19 |
+
text = re.sub(r'[^\w\s]', ' ', text)
|
20 |
+
text = ' '.join(text.split())
|
21 |
+
return text.lower()
|
22 |
+
|
23 |
+
def prepare_course_data(self, df: pd.DataFrame) -> pd.DataFrame:
|
24 |
+
"""Prepare and clean course data"""
|
25 |
+
free_courses = df[df['Course Name'].str.contains('Free', case=False, na=False)]
|
26 |
+
|
27 |
+
free_courses = free_courses.fillna({
|
28 |
+
'Course Time': 0,
|
29 |
+
'Ratings': 4.6,
|
30 |
+
'Difficulty': 'Beginner',
|
31 |
+
'Key Takeaways': 'Course details not available.'
|
32 |
+
})
|
33 |
+
|
34 |
+
free_courses['search_text'] = free_courses.apply(
|
35 |
+
lambda x: f"{x['Course Name']} {x['Key Takeaways']} {x['Difficulty']}",
|
36 |
+
axis=1
|
37 |
+
)
|
38 |
+
|
39 |
+
free_courses['search_text'] = free_courses['search_text'].apply(self.preprocess_text)
|
40 |
+
|
41 |
+
return free_courses
|
42 |
+
|
43 |
+
def load_and_prepare_data(self, df: pd.DataFrame):
|
44 |
+
"""Load and prepare the course data and generate embeddings"""
|
45 |
+
self.courses_df = self.prepare_course_data(df)
|
46 |
+
self.course_embeddings = self.model.encode(
|
47 |
+
self.courses_df['search_text'].tolist(),
|
48 |
+
show_progress_bar=True
|
49 |
+
)
|
50 |
+
|
51 |
+
def generate_response(self, query: str, results: List[Dict]) -> str:
|
52 |
+
"""Generate a natural language response with course recommendations"""
|
53 |
+
response_parts = []
|
54 |
+
|
55 |
+
# Introduction
|
56 |
+
response_parts.append(f"I've searched through Analytics Vidhya's free courses related to '{query}' and found some excellent matches. Here are the most relevant courses:")
|
57 |
+
|
58 |
+
# Course details
|
59 |
+
for i, result in enumerate(results, 1):
|
60 |
+
course_section = f"\n### {i}. {result['course_name']}\n"
|
61 |
+
|
62 |
+
# Add rating visualization
|
63 |
+
rating = result['ratings']
|
64 |
+
stars = "⭐" * int(rating) + ("½" if rating % 1 >= 0.5 else "")
|
65 |
+
course_section += f"**Rating:** {stars} ({rating})\n"
|
66 |
+
|
67 |
+
# Add difficulty and duration
|
68 |
+
course_section += f"**Difficulty:** {result['difficulty']}\n"
|
69 |
+
if result['course_time']:
|
70 |
+
course_section += f"**Duration:** {result['course_time']} hours\n"
|
71 |
+
|
72 |
+
# Add key takeaways if available
|
73 |
+
if result['key_takeaways'] and result['key_takeaways'] != 'Course details not available.':
|
74 |
+
course_section += "\n**Key Takeaways:**\n"
|
75 |
+
takeaways = result['key_takeaways'].split('.,')
|
76 |
+
for takeaway in takeaways:
|
77 |
+
# Clean up the takeaway text
|
78 |
+
cleaned_takeaway = takeaway.strip('. ,')
|
79 |
+
if cleaned_takeaway:
|
80 |
+
course_section += f"- {cleaned_takeaway}\n"
|
81 |
+
|
82 |
+
# Add course link
|
83 |
+
course_section += f"\n🔗 [Access the course here]({result['url']})\n"
|
84 |
+
|
85 |
+
response_parts.append(course_section)
|
86 |
+
|
87 |
+
# Add conclusion
|
88 |
+
response_parts.append("\nEach of these courses is free and available on the Analytics Vidhya platform. Would you like me to provide more specific details about any of these courses or help you find courses on a different topic?")
|
89 |
+
|
90 |
+
return "\n".join(response_parts)
|
91 |
+
|
92 |
+
def search_courses(self, query: str, top_k: int = 5) -> str:
|
93 |
+
"""Search for courses and return formatted response"""
|
94 |
+
# Preprocess query
|
95 |
+
query = self.preprocess_text(query)
|
96 |
+
|
97 |
+
# Generate query embedding
|
98 |
+
query_embedding = self.model.encode([query])[0]
|
99 |
+
|
100 |
+
# Calculate similarities
|
101 |
+
similarities = np.dot(self.course_embeddings, query_embedding)
|
102 |
+
|
103 |
+
# Get top k results
|
104 |
+
top_indices = np.argsort(similarities)[-top_k:][::-1]
|
105 |
+
|
106 |
+
results = []
|
107 |
+
for idx in top_indices:
|
108 |
+
course = self.courses_df.iloc[idx]
|
109 |
+
results.append({
|
110 |
+
'course_name': course['Course Name'],
|
111 |
+
'key_takeaways': course['Key Takeaways'],
|
112 |
+
'course_time': course['Course Time'],
|
113 |
+
'ratings': course['Ratings'],
|
114 |
+
'difficulty': course['Difficulty'],
|
115 |
+
'similarity_score': similarities[idx],
|
116 |
+
'url': course['Website']
|
117 |
+
})
|
118 |
+
|
119 |
+
# Generate formatted response
|
120 |
+
return self.generate_response(query, results)
|
121 |
+
|
122 |
+
def test_search_system(df: pd.DataFrame):
|
123 |
+
"""Test the search system with sample queries"""
|
124 |
+
search_system = CourseSearchSystem()
|
125 |
+
search_system.load_and_prepare_data(df)
|
126 |
+
|
127 |
+
test_queries = [
|
128 |
+
"machine learning for beginners",
|
129 |
+
"natural language processing",
|
130 |
+
"computer vision courses",
|
131 |
+
"data preprocessing tutorials",
|
132 |
+
"generative AI learning"
|
133 |
+
]
|
134 |
+
|
135 |
+
for query in test_queries:
|
136 |
+
print(f"\nTesting query: '{query}'\n")
|
137 |
+
response = search_system.search_courses(query, top_k=3)
|
138 |
+
print(response)
|
139 |
+
print("\n" + "="*80 + "\n")
|
140 |
+
|
141 |
+
if __name__ == "__main__":
|
142 |
+
df = pd.read_csv('course_data.csv')
|
143 |
+
test_search_system(df)
|
course_data.csv
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Course Name,Key Takeaways,Course Time,Ratings,Difficulty,Website
|
2 |
+
GenAI Applied to Quantitative Finance: For Control Implementation,"Learn how to apply advanced AI techniques to convert textual data, such as news articles, into actionable trading signals for predicting commodity prices., Understand the importance of a well-structured architecture that includes robust keyword extraction, sentiment mining, graph generation, and time series forecasting to drive predictive accuracy., Explore opportunities for further improvements, such as integrating large language models (LLMs), enhancing robustness, and achieving full automation in trading signal generation.",1,4.7,Intermediate,https://courses.analyticsvidhya.com/courses/genai-applied-to-quantitative-finance-for-control-implementation
|
3 |
+
"Navigating LLM Tradeoffs: Techniques for Speed, Cost, Scale & Accuracy","ML Engineers and Data Scientists seeking to optimize LLMs for efficient deployment., AI Enthusiasts interested in learning practical techniques to balance LLM performance, cost, and scalability., Professionals in MLOps aiming to understand different deployment strategies for LLMs, including cloud, containerized, and serverless options.",1,4.8,Beginner,https://courses.analyticsvidhya.com/courses/navigating-llm-tradeoffs-techniques-for-speed-cost-scale-and-accuracy
|
4 |
+
Creating Problem-Solving Agents using GenAI for Action Composition,"Beginners in AI and ML looking to understand agentic systems and their real-world applications., Tech enthusiasts and developers interested in learning the basics of creating intelligent, problem-solving agents., Professionals exploring multi-agent systems for automation and dynamic task orchestration in various domains.",1,4.7,Beginner,https://courses.analyticsvidhya.com/courses/creating-problem-solving-agents-using-genai-for-action-composition
|
5 |
+
Improving Real World RAG Systems: Key Challenges & Practical Solutions,"AI/ML professionals aiming to enhance RAG system performance and solve real-world challenges., Developers/Engineers building search, conversational, or generative AI systems needing better data retrieval and context handling., Researchers/Enthusiasts seeking hands-on experience with advanced RAG techniques and agentic systems.",1,4.8,Beginner,https://courses.analyticsvidhya.com/courses/improving-real-world-rag-systems-key-challenges
|
6 |
+
Framework to Choose the Right LLM for your Business,"Business leaders seeking to implement AI-driven solutions efficiently., Data scientists exploring LLMs for industry-specific applications., Tech professionals involved in AI integration and decision-making processes.",1,4.7,Beginner,https://courses.analyticsvidhya.com/courses/choosing-the-right-LLM-for-your-business
|
7 |
+
Building Smarter LLMs with Mamba and State Space Model,"AI and ML professionals looking to specialize in State Space Models and Mamba architecture., Data scientists interested in exploring advanced Generative AI models and architectures., NLP practitioners who want to integrate SSMs like Mamba in their workflows and use cases.",,,,https://courses.analyticsvidhya.com/courses/building-smarter-llms-with-mamba-and-state-space-model
|
8 |
+
Generative AI - A Way of Life - Free Course,"Utilize leading AI tools like ChatGPT, Microsoft Copilot, and DALL·E3 to create text and image content, enhancing your ability to innovate and streamline your creative processes., Explore practical use cases across various industries, from marketing to finance, and apply ethical best practices, ensuring you are well-equipped to implement AI solutions responsibly and effectively.",6,4.7,Beginner,https://courses.analyticsvidhya.com/courses/genai-a-way-of-life
|
9 |
+
Building LLM Applications using Prompt Engineering - Free Course,"Learn to effectively build and implement different LLM applications, Understand and apply few-shot, one-shot, and zero-shot prompting, Gain expertise in building chatbots using enterprise data through advanced prompt engineering methods",2.1,4.6,Beginner ,https://courses.analyticsvidhya.com/courses/building-llm-applications-using-prompt-engineering-free
|
10 |
+
Building Your First Computer Vision Model - Free Course,"Learn Computer Vision techniques and build real-world CV Models., Hands-On Experience: Engage with exercises designed to reinforce your learning and apply concepts in real-world scenarios.",0.34,4.6,Beginner,https://courses.analyticsvidhya.com/courses/building-your-first-computer-vision-model
|
11 |
+
Bagging and Boosting ML Algorithms - Free Course,"Lear to effectively use Bagging and Boosting Algorithms, Hands-On Experience: Engage in practical exercises to reinforce learning and apply concepts, ensuring you gain the skills to utilize these algorithms",,,,https://courses.analyticsvidhya.com/courses/bagging-boosting-ML-Algorithms
|
12 |
+
MidJourney: From Inspiration to Implementation - Free Course,"Understand MidJourney Tools: Gain a practical understanding of how to use MidJourney for creative projects., Find Inspiration: Learn how to draw inspiration from various sources to fuel your creativity., Explore Alternatives: Discover alternative tools to broaden your creative toolkit.",0.33,4.6,Intermediate,https://courses.analyticsvidhya.com/courses/midjourney_from_inspiration_to_implementation
|
13 |
+
Understanding Linear Regression - Free Course,"Learn Linear Regression technique and build real-world Machine Learning Models., Hands-On Experience: Engage with exercises designed to reinforce your learning and apply concepts in real-world scenarios.",,,,https://courses.analyticsvidhya.com/courses/free-understanding-linear-regression
|
14 |
+
The Working of Neural Networks - Free Course,"Utilize leading AI tools like ChatGPT, Microsoft Copilot, and DALL·E3 to create text and image content, enhancing your ability to innovate and streamline your creative processes., Hands-On Experience: Engage with exercises designed to reinforce your learning and apply concepts in real-world scenarios.",,,,https://courses.analyticsvidhya.com/courses/The%20Working%20of%20Neural%20Networks
|
15 |
+
The A to Z of Unsupervised ML - Free Course,"Learn machine learning techniques and build real-world Unsupervised ML Models., Hands-On Experience: Engage with exercises designed to reinforce your learning and apply concepts in real-world scenarios.",0.52,4.6,Intermediate,https://courses.analyticsvidhya.com/courses/free-unsupervised-ml-guide
|
16 |
+
Building Your first RAG System using LlamaIndex - Free Course,"Learn the steps involved in building a RAG system using Llamaindex., Hands-On Experience: Engage with exercises designed to reinforce your learning and apply concepts in real-world scenarios.",1.1,4.8,Intermediate,https://courses.analyticsvidhya.com/courses/building-first-rag-systems-using-llamaindex
|
17 |
+
Data Preprocessing on a Real-World Problem Statement - Free Course,"Learn data preprocessing tasks, Hands-On Experience: Engage with exercises designed to reinforce your learning and apply concepts in real-world scenarios",,,,https://courses.analyticsvidhya.com/courses/data-preprocessing
|
18 |
+
Exploring Stability.AI - Free Course,"Learn to effectively use and customize SD WebUI and the Automatic1111 WebUI., Hands-On Experience: Engage in practical exercises to reinforce learning and apply concepts, ensuring you gain the skills to utilize Stability.AI tools confidently.",1,4.5,Beginner ,https://courses.analyticsvidhya.com/courses/exploring-stability-ai
|
19 |
+
Building a Text Classification Model with Natural Language Processing - Free Course,"Acquire practical skills in building NLP models using PyTorch, Career Readiness: Prepare to apply NLP across industries, equipping yourself for roles in data science, AI, and text analysis with hands-on exercises.",1.1,4.7,Intermediate,https://courses.analyticsvidhya.com/courses/free-building-textclassification-natural-language-processing
|
20 |
+
Getting Started with Large Language Models,"Learn Large Language Model techniques and build real-world NLP applications., Hands-On Experience: Engage with exercises designed to reinforce your learning and apply concepts in real-world scenarios.",1.2,4.5,Beginner,https://courses.analyticsvidhya.com/courses/getting-started-with-llms
|
21 |
+
Introduction to Generative AI,"Learn to effectively use text and image generation tools to create diverse and innovative content, Engage in practical exercises to reinforce learning and apply generative AI concepts",,,,https://courses.analyticsvidhya.com/courses/introduction-to-generative-ai
|
22 |
+
Nano Course: Dreambooth-Stable Diffusion for Custom Images,"Finetune Dreambooth on the custom dataset discussing each step in detail, Understand the training process of dreambooth, Learn Tricks to Name Your Concept Uniquely in dreambooth, Overview of Stable Diffusion, its journey and training process., Understand the difference between stable diffusion and dreambooth",1,4.6,Advanced,https://courses.analyticsvidhya.com/courses/nano-course-dreambooth-stable-diffusion-for-custom-images
|
23 |
+
Free Comprehensive Learning Path for Deep Learning in 2023,,,,,https://courses.analyticsvidhya.com/courses/a-comprehensive-learning-path-for-deep-learning-in-2023
|
24 |
+
Comprehensive Learning Path to become Data Scientist in 2023,"Beginner friendly course: This is a beginner-friendly course and has no prerequisites., Curated list of resources to follow: All the necessary topics are covered in the course, in an orderly manner with links to relevant resources and hackathons., Updated skillset for 2023: The knowledge of Machine Learning models is important but that won’t set you apart. We have included some of the top unique skills you’ll require to become a data scientist in 2023., Assignments to test yourself: What’s the best way to test your knowledge? Each module comes with assignments and MCQs to give your memory a boost.",2,4.8,Beginner ,https://courses.analyticsvidhya.com/courses/a-comprehensive-learning-path-to-become-a-data-scientist-in-twenty-twenty-four
|
25 |
+
Nano Course: Building Large Language Models for Code,"Learn how to train LLMs for code fom scratch, Deep dive into StarCoder journey, Understand algorithms and techniques used at each step involved in development of StarCoder, Learn best practices to train your own StarCoder model on data, Explore the model architecture, training and evaluation frameworks for Code LLMs",0.38,4.7,Intermediate,https://courses.analyticsvidhya.com/courses/building-large-language-models-for-code
|
26 |
+
Certified AI & ML BlackBelt+ Program,"End to End Approach - Our programs have no pre-requisite, they start from basics and prepare you for industry by building your portfolio of industry relevant projects., Monthly 30 minutes call with mentor to track your progress and provide you guidance, Sharable digital certificate enabled by Blockchain for each course and for complete program on completion of program, 24 month access with complete support. More time would enable you to do more projects and pace your learnings., Benefit of bulk pricing - get upto 30% off compared to buying the courses individually, No Questions asked money back guarantee (7 days), Mentorship sessions - 105+, AIConf - 8+(65+hrs)",,,,https://courses.analyticsvidhya.com//bundles/certified-ai-ml-blackbelt-plus
|
27 |
+
Machine Learning Certification Course for Beginners,"Python libraries like Numpy, Pandas, etc. to analyze your data efficiently., Importance of Statistics and Exploratory Data Analysis (EDA) in the data science field., Linear Regression, Logistic Regression, and Decision Trees for building machine learning models., Understand how to solve Classification and Regression problems using machine learning, How to evaluate your machine learning models using the right evaluation metrics?, Improve and enhance your machine learning model’s accuracy through feature engineering",,,,https://courses.analyticsvidhya.com/courses/machine-learning-summer-training
|
28 |
+
AI Ethics by Fractal,,,,,https://courses.analyticsvidhya.com/courses/ai-ethics-fractal
|
29 |
+
A Comprehensive Learning Path to Become a Data Engineer in 2022,"Beginner friendly course: The course assumes no prerequisites and is meant for beginners, Curated list of resources to follow: All the necessary topics are covered in the course, in an orderly manner with links to relevant resources., Updated skillset for 2022: The knowledge of Data Engineering is important but that won’t set you apart. We have included some of the top unique skills you’ll require to become a data engineer in 2022.",,,,https://courses.analyticsvidhya.com/courses/a-comprehensive-learning-path-to-become-a-data-engineer-in-2022
|
30 |
+
Certified Business Analytics Program,"Easy to understand content: The biggest challenge beginners face is that most of the courses explain business analytics as a complex subject. Not us! We simplify the subject with easy to understand videos and help you build intuition around business analytics concepts, Experienced Instructors: All the material in this program was created by instructors who bring immense industry experience of business analytics. Combined between us, we have more than a decade of teaching experience, Industry Relevant: All the courses in this program have been vetted by industry experts. This ensures relevance in the industry and enables you with the content which matters most, Real life problems: All the projects in the Certified Business Analytics Program are modelled on real-world scenarios. We mean it when we say “industry relevant”!",,,,https://courses.analyticsvidhya.com/bundles/certified-business-analytics-program
|
31 |
+
Certified Machine Learning Program - Analytics Vidhya,"Structured thinking mindset to tackle data science challenges, Learn the most popular language to work with Structured and Unstructured Data, The most common language in the machine learning world to extract data – SQL, Learn the art of exploratory data analysis to extract valuable insights, Use simple and advanced time series forecasting models for deep learning, Explore recommender systems and its applications in the industry, Master machine learning algorithms end-to-end, Deploy Machine Learning models into production, Work on plenty of machine learning projects to enhance your industry value, Methods to explain Machine Learning model to your customer",,,,https://courses.analyticsvidhya.com/bundles/certified-machine-learning-master-s-program-mlmp
|
32 |
+
Certified Natural Language Processing Master's Program,"All the necessary aspects of programming with Python including libraries like Pandas, regular expressions and data structures, Pre-requisites of Statistics and Probability to help you understand Data Science and NLP from scratch, All required concepts of Data Science and Machine Learning including model building, evaluation metrics and optimisation of models, Various NLP concepts including Word embedings, TF-IDF, Topic Modeling, NER, Regular expressions, Various problems in NLP space and giving a detailed walkthrough of creating solutions for them., In-depth lectures and tutorials with techniques such as Deep Learning and tools such as Spacy",,,,https://courses.analyticsvidhya.com/bundles/certified-natural-language-processing-master-s-program
|
33 |
+
Train in Job-Ready Computer Vision Program-Analytics Vidhya,"Understand the basics of Python programming, How to use Python for Data Science, Learn core Machine Learning concepts required for Deep Learning, Key topics of Deep Learning such as Neural Networks, Forward and Backward Propogation, TensorFlow vs. PyTorch vs. Keras, Basics of Deep Learning, Implementing DL models in Keras and PyTorch, Learn how to solve Computer Vision problems using Deep Learning, including image classification, image generation and image segmentation, Work on various real-life projects, Build your deep learning portfolio for your dream industry role",,,,https://courses.analyticsvidhya.com/bundles/certified-computer-vision-masters-program
|
34 |
+
Applied Machine Learning Course - Top ML Course online,"Understand how Machine Learning and Data Science are disrupting multiple industries today, Linear, Logistic Regression, Decision Tree and Random Forest algorithms for building machine learning models, Understand how to solve Classification and Regression problems in machine learning, Ensemble Modeling techniques like Bagging, Boosting, Support Vector Machines (SVM) and Kernel Tricks., Learn dimensionality reduction techniques like Principal Component Analysis (PCA) and t-SNE, Evaluate your machine learning models and improve them through Feature Engineering, Learn Unsupervised Machine Learning Techniques like k-means clustering and Hierarchical Clustering, Learn how to work with different kinds of data for machine learning problems (tabular, text, unstructured), Improve and enhance your machine learning model’s accuracy through feature engineering",,,,https://courses.analyticsvidhya.com/courses/applied-machine-learning-beginner-to-professional
|
35 |
+
Nail Data Science Interviews with Expert-Designed Courses,,,,,https://courses.analyticsvidhya.com/courses/ace-data-science-interviews
|
36 |
+
Writing Powerful Data Science Articles,,,,,https://courses.analyticsvidhya.com/courses/writing-powerful-data-science-articles
|
37 |
+
Machine Learning Certification Course for Beginners,"Python libraries like Numpy, Pandas, etc. to analyze your data efficiently., Importance of Statistics and Exploratory Data Analysis (EDA) in the data science field., Linear Regression, Logistic Regression, and Decision Trees for building machine learning models., Understand how to solve Classification and Regression problems using machine learning, How to evaluate your machine learning models using the right evaluation metrics?, Improve and enhance your machine learning model’s accuracy through feature engineering",6,4.8,Beginner,https://courses.analyticsvidhya.com/courses/machine-learning-certification-course-for-beginners
|
38 |
+
Data Science Career Conclave,,,,,https://courses.analyticsvidhya.com/courses/data-science-career-conclave
|
39 |
+
Open-source data science projects - Analytics Vidhya,,,4.6,Advanced,https://courses.analyticsvidhya.com/courses/top-data-science-projects-for-analysts-and-data-scientists
|
40 |
+
Github Course for Data Scientists - Analytics Vidhya,"Learn the value and the in’s and out’s of Git and GitHub in this comprehensive guide for beginners, No prerequisites required - start from scratch and understand how Git and GitHub work, How you can use Git and GitHub to make your data science projects easier to track, You will add an essential data scientist skill to your portfolio after the course - version control!",,,,https://courses.analyticsvidhya.com/courses/getting-started-with-git-and-github-for-data-science-professionals
|
41 |
+
Jazz Up Data Science Knowledge with Tips & Python Hacks,,,,,https://courses.analyticsvidhya.com/courses/data-science-hacks-tips-and-tricks
|
42 |
+
Introduction to Business Analytics for professionals,,1,4.6,Beginner ,https://courses.analyticsvidhya.com/courses/introduction-to-analytics
|
43 |
+
Advanced Pytorch Tutorial for Deep learning-Analytics Vidhya,,1,4.6,Beginner ,https://courses.analyticsvidhya.com/courses/introduction-to-pytorch-for-deeplearning
|
44 |
+
Introduction to NLP Basics - Analytics Vidhya,,5,4.7,Beginner ,https://courses.analyticsvidhya.com/courses/intro-to-nlp
|
45 |
+
Explore Decision Tree Algorithm in Machine Learning Course,"Introduction to Decision Trees - The course starts with basics of Decision Trees, the philosophy behind decision tree algorithm and why they are so popular among data scientists, Terminologies related to decision trees - Don't worry if you don't know anything about Decision Trees - that is the whole point about this course. What is a Leaf Node? Parent Node? Pruning? We will teach you all of these terminologies related to decision tree in a practical manner., Different splitting criterion for decision tree like Gini, chi-square The course teaches you different splitting criteria like Gini, Information Gain, chi-square and how do they impact the decision tree model, Implementation of decision tree in Python - The course will tell you several best practices you should keep in mind while implementing Decision Tree algorithm",,,,https://courses.analyticsvidhya.com/courses/getting-started-with-decision-trees
|
46 |
+
Introduction to Python for Data Science - Analytics Vidhya,,1,4.8,Beginner,https://courses.analyticsvidhya.com/courses/introduction-to-data-science
|
47 |
+
Access Loan Prediction Using machine learning Python ,,,4.7,Intermediate,https://courses.analyticsvidhya.com/courses/loan-prediction-practice-problem-using-python
|
48 |
+
Big Mart Sales Prediction Using R Course | Analytics Vidhya,,,4.6,Intermediate,https://courses.analyticsvidhya.com/courses/big-mart-sales-prediction-using-r
|
49 |
+
Twitter Sentiment Analysis Using Python - Analytics Vidhya,,,4.7,Intermediate,https://courses.analyticsvidhya.com/courses/twitter-sentiment-analysis
|
50 |
+
Grasp Understanding on Pandas in Python - Free Course,"Beginners in Python who are curious about Pandas and how to use it for data analysis and data manipulation, Anyone who wants to start their data science career (Pandas is the first library you’ll import!), Anyone looking to get into a data analyst role using Python programming, Anyone who wants to jump from Excel into Python",,,,https://courses.analyticsvidhya.com/courses/pandas-for-data-analysis-in-python
|
51 |
+
Explore SVM Implementation in Python - A free Course,"Anyone who wants to start their machine learning career and is looking to learn the different machine learning algorithms, Anyone who wants to become a data scientist or a machine learning engineer, Anyone interested in learning how a classic machine learning algorithm like SVM works!",,,,https://courses.analyticsvidhya.com/courses/support-vector-machine-svm-in-python-and-r
|
52 |
+
Model Evaluation in Machine Learning Metrics,,,,,https://courses.analyticsvidhya.com/courses/evaluation-metrics-for-machine-learning-models
|
gradio-interface.py
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
import pandas as pd
|
3 |
+
from course_search import CourseSearchSystem
|
4 |
+
|
5 |
+
# Initialize the search system
|
6 |
+
df = pd.read_csv('course_data.csv')
|
7 |
+
search_system = CourseSearchSystem()
|
8 |
+
search_system.load_and_prepare_data(df)
|
9 |
+
|
10 |
+
def search_courses(query: str, num_results: int) -> str:
|
11 |
+
"""Search function for Gradio interface"""
|
12 |
+
if not query.strip():
|
13 |
+
return "Please enter a search query to find relevant courses!"
|
14 |
+
|
15 |
+
return search_system.search_courses(query, top_k=num_results)
|
16 |
+
|
17 |
+
# Create Gradio interface
|
18 |
+
with gr.Blocks(title="Analytics Vidhya Free Course Search") as iface:
|
19 |
+
gr.Markdown("""
|
20 |
+
# 📚 Analytics Vidhya Free Course Search
|
21 |
+
Find the perfect free course from Analytics Vidhya's collection using natural language search.
|
22 |
+
Simply describe what you're looking for!
|
23 |
+
""")
|
24 |
+
|
25 |
+
with gr.Row():
|
26 |
+
with gr.Column():
|
27 |
+
query_input = gr.Textbox(
|
28 |
+
label="What would you like to learn?",
|
29 |
+
placeholder="E.g., 'machine learning for beginners' or 'computer vision projects'",
|
30 |
+
lines=2
|
31 |
+
)
|
32 |
+
num_results = gr.Slider(
|
33 |
+
minimum=1,
|
34 |
+
maximum=10,
|
35 |
+
value=3,
|
36 |
+
step=1,
|
37 |
+
label="Number of results to show"
|
38 |
+
)
|
39 |
+
search_button = gr.Button("🔍 Search Courses", variant="primary")
|
40 |
+
|
41 |
+
output = gr.Markdown(label="Search Results")
|
42 |
+
|
43 |
+
search_button.click(
|
44 |
+
fn=search_courses,
|
45 |
+
inputs=[query_input, num_results],
|
46 |
+
outputs=output
|
47 |
+
)
|
48 |
+
|
49 |
+
gr.Markdown("""
|
50 |
+
---
|
51 |
+
Made with ❤️ using Sentence Transformers and Gradio
|
52 |
+
""")
|
53 |
+
|
54 |
+
if __name__ == "__main__":
|
55 |
+
iface.launch()
|
readme.txt
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Analytics Vidhya Free Course Search
|
2 |
+
|
3 |
+
This is a smart search system for finding free courses on Analytics Vidhya's platform. It uses natural language processing to understand your query and find the most relevant courses.
|
4 |
+
|
5 |
+
## Features
|
6 |
+
|
7 |
+
- Natural language search
|
8 |
+
- Detailed course information including:
|
9 |
+
- Course ratings
|
10 |
+
- Difficulty level
|
11 |
+
- Duration
|
12 |
+
- Key takeaways
|
13 |
+
- Direct links to courses
|
14 |
+
- Adjustable number of results
|
15 |
+
- Markdown-formatted output
|
16 |
+
|
17 |
+
## How to Use
|
18 |
+
|
19 |
+
1. Enter your learning interests or requirements in the search box
|
20 |
+
2. Adjust the number of results you want to see
|
21 |
+
3. Click "Search Courses"
|
22 |
+
4. Browse through the recommended courses with their details
|
23 |
+
|
24 |
+
## Technical Details
|
25 |
+
|
26 |
+
- Built using Sentence Transformers for semantic search
|
27 |
+
- Uses the all-MiniLM-L6-v2 model for embeddings
|
28 |
+
- Implemented with Gradio for the user interface
|
requirements-gradio.txt
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
gradio==3.50.2
|
2 |
+
sentence-transformers==2.2.2
|
3 |
+
pandas==1.5.3
|
4 |
+
numpy==1.24.3
|