Chevron Left
Back to Machine Learning with Python

Learner Reviews & Feedback for Machine Learning with Python by IBM

4.7
stars
17,141 ratings

About the Course

Python is one of the most widely used programming languages in machine learning (ML), and many ML job listings require it as a core skill. This course equips aspiring machine learning practitioners with essential Python skills that help them stand out to employers. Throughout the course, you’ll dive into core ML concepts and learn about the iterative nature of model development. With Python libraries like Scikit-learn, you’ll gain hands-on experience with tools used for real-world applications. Plus, you’ll build a foundation in statistical methods like linear and logistic regression. You’ll explore supervised learning techniques with libraries such as Matplotlib and Pandas, as well as classification methods like decision trees, KNN, and SVM, covering key concepts like the bias-variance tradeoff. The course also covers unsupervised learning, including clustering and dimensionality reduction. With guidance on model evaluation, tuning techniques, and practical projects in Jupyter Notebooks, you’ll gain the Python skills that power your ML journey. ENROLL TODAY to enhance your resume with in-demand expertise!...

Top reviews

FO

Oct 8, 2020

I'm extremely excited with what I have learnt so far. As a newbie in Machine Learning, the exposure gained will serve as the much needed foundation to delve into its application to real life problems.

RC

Feb 6, 2019

The course was highly informative and very well presented. It was very easier to follow. Many complicated concepts were clearly explained. It improved my confidence with respect to programming skills.

Filter by:

101 - 125 of 3,001 Reviews for Machine Learning with Python

By Andrew G

•

Nov 22, 2024

the work was insightful, but the peer review of the final project is not working. They don't even look at the work and fail you for no reason.

By Michael S

•

Oct 11, 2020

I'm finishing this certificate program because it would be easier than starting another one from scratch. I've been disappointed with most of the courses and this is no exception. There are mistakes, typos, and poor grammar throughout the course. They have a system to report mistakes, but I should be getting paid to fix your course - not paying to fix it, right? The quizzes are an unnecessary waste of time (they ask very minute, arbitrary questions about videos that are just meant to give you a brief overview).

The labs are the most / only useful aspect of the course because that's where you learn actual code - but they don't explain HOW the code WORKS. They just say what the code does and then they show it to you. There's a difference, as any good teacher knows. This course was clearly created by data scientists, not teachers (and certainly not masters of the English language). I would recommend this certificate program if you already know python and data science and you are just trying to earn a badge that will look good on your resume.

By R. A

•

Apr 30, 2022

The course is very shallow. It never goes in depth with the algorythms, neither in a mathematical sense, nor in how they are implemented and best used. They don't even cover hyper-parameter optimization using cross-validationThis is not ok for a final course in the IDM Data Science Certificate, especially because Regression was already much better covered in the Data Analysis with Python Course. Moreoever, the Final Assignment features an unbalanced dataset, for which the course does not prepare students enough. If one tries to copy the methods used during the course without reasearching much about this on their own, they will train models that would be unacceptable in a real-world scenario. Worse still, the "model" answer provided does exactly that.

By Christian T

•

Apr 12, 2021

I learned a lot, but the final assignment is just a mess - on so many levels. My biggest takeway is that even well-rated courses with qualified instructors end up causing material issues. The quality of the final project implies that people will be trained here to create ML models that will have real world consequences and will not be properly understood or validated. And that's without looking at the huge number of typos, bad programming techniques, and more. Had to give up on the final project due to those difficulties after spending 10 hours of my very early mornings without any reasonable progress.

By Karan S

•

Sep 13, 2019

As am going along in this IBM certification, the quality of courses is getting depleted. This course has by far the worst standard in terms of quality of content and assignments. The worst part is that they encourage you to use IBM cloud services which are the worst and require improvement themselves. But the worst part was the peer guided assignment. With no clear instructions, peers that have no idea checking your assignments and long delay for waiting the grade for it, god help you! Don't waste money on this course. Hopefully, coursera takes actions against IBM if they don't update this course.

By Nic C

•

Jun 19, 2022

The capstone project in wk6 has too much technical problem in NS Labs. Same code that work perfectly in IBM cloud does not work in NS Labs due to compatibility problem. I cannot finish the capstone project in IBM cloud because I have used up all me free hours in IBM cloud. However, the provide notebook has too much problem in NS Labs. Very disappointed!

By Justin L

•

May 10, 2021

I hated that all the instruction was all math and none of it python. The instructor was completely uninspiring. You really should have instructors with some level of charisma. The course was littered with technical errors. This is the worst MOOC I've ever taken. It is a crime that people actually have to pay for this.

By George D

•

Mar 15, 2021

Peer reviews are very inconsistent. Submitted a project 4 times following some minor change from one to the other... only to be 2 points from passing. They want you to have an IBM cloud account and push watson services for this only to have the code crash while compiling. No way to reach instructors.

What a waste of time.

By Aitekenov S

•

Aug 29, 2022

Whoever is from the CIS countries beware of IBM's faulty practices.

It contains tons of marketing for IBM products. Without those products you won't finish many assignments. Moreover, IBM blocked my country from the ability to create an account on their services. So, I can not even finish those courses.

By ubaid m w

•

Oct 22, 2018

In lab there are many funtion , libiraries Which have been used first time with out any description , then I have to search for each and every funtion or lib which is way time consuming which make this course worst courses in my list.

By Noorullah Y

•

Dec 29, 2024

the course was very poor, it only had basic predict and fit functions, not telling why we use for what exactly, and a very generic high level view of ML algorithms. wasted my money

By Nishan P

•

Nov 5, 2020

Instructor are going to fast. They are literally reading the slides without proper implementation of the ideas and algorithm explained. Even I can do that, absolute waste of money

By Karol S

•

May 2, 2020

wrong grading on quizes (multiple choice questions which are graded 0 or 1), not clear instructions, who write this course? One of the worst courses i took in years

By JoaquĂ­n R

•

Mar 17, 2020

The course was going well with the videos and labs, until the capstone peer-reviewed area. Disastrous instructions, poor supervision and assistance. I am appalled.

By YUN H

•

Mar 16, 2020

Insufficient explanation, bad lab experience, and the final assignment was a nightmare.

Video is short, so you got to figure out things by yourself.

By Luiz P F

•

Oct 17, 2020

Videos and assignments are very repetitive. It induces students to copy dull code rather than think about solutions

By Kshitij K

•

Aug 16, 2020

Everything taught int his course ends with a line "unfortunately it is out of the scope of this course"

By Syed A

•

May 12, 2020

outdated notebooks, had to google everything anyway

By Tummala. L S s

•

Nov 25, 2021

we are not able to get ceritficate

By Amb P M S

•

Apr 18, 2025

L'apprentissage automatique avec Python est un domaine passionnant et largement utilisé dans de nombreux secteurs comme la finance, la santé, l'industrie, et bien d'autres. Python, grâce à ses bibliothèques populaires comme scikit-learn, TensorFlow, Keras, PyTorch, et pandas, offre une plateforme robuste et flexible pour développer des modèles d'apprentissage automatique. Voici un aperçu des étapes de base pour commencer l'apprentissage automatique avec Python. Étapes principales d'un projet d'apprentissage automatique Importation des bibliothèques nécessaires D'abord, vous devez importer les bibliothèques de base que vous utiliserez dans votre projet. python Copier Modifier import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score, confusion_matrix Chargement des données En général, les données sont stockées sous forme de fichiers CSV, Excel, ou autres formats. Vous pouvez charger ces données à l'aide de pandas. python Copier Modifier data = pd.read_csv('dataset.csv') Exploration des données Une fois que vous avez chargé les données, vous devez explorer et nettoyer les données, par exemple en supprimant les valeurs manquantes, en encodant les variables catégorielles, etc. python Copier Modifier data.info() # Informations générales sur les données data.head() # Afficher les premières lignes du dataset Préparation des données Vous pouvez diviser vos données en variables indépendantes (features) et variables dépendantes (target), puis les diviser en ensembles d'entraînement et de test. python Copier Modifier X = data.drop('target_column', axis=1) # Features y = data['target_column'] # Target X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) Standardisation des données La standardisation des données est une étape clé pour de nombreux algorithmes d'apprentissage automatique (comme la régression linéaire, SVM, etc.) afin de mettre toutes les variables sur la même échelle. python Copier Modifier scaler = StandardScaler() X_train = scaler.fit_transform(X_train) X_test = scaler.transform(X_test) Création et entraînement du modèle Ici, nous utilisons un modèle de régression logistique comme exemple. Cependant, vous pouvez utiliser d'autres modèles comme les arbres de décision, les forêts aléatoires, etc. python Copier Modifier model = LogisticRegression() model.fit(X_train, y_train) Évaluation du modèle Après avoir entraîné votre modèle, vous pouvez évaluer ses performances en utilisant des métriques telles que l'accuracy, la matrice de confusion, etc. python Copier Modifier y_pred = model.predict(X_test) print("Accuracy:", accuracy_score(y_test, y_pred)) print("Confusion Matrix:\n", confusion_matrix(y_test, y_pred)) Exemple complet : Régression logistique pour la classification Voici un exemple complet avec un jeu de données fictif : python Copier Modifier import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score, confusion_matrix # Charger les données (ici un jeu de données fictif) data = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data', header=None) # Nommer les colonnes data.columns = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'species'] # Diviser les données en features (X) et target (y) X = data.drop('species', axis=1) y = data['species'] # Diviser les données en jeu d'entraînement et test (80% entraînement, 20% test) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Standardisation des données scaler = StandardScaler() X_train = scaler.fit_transform(X_train) X_test = scaler.transform(X_test) # Créer un modèle de régression logistique model = LogisticRegression(max_iter=200) # Entraîner le modèle model.fit(X_train, y_train) # Prédictions y_pred = model.predict(X_test) # Évaluer le modèle print("Accuracy:", accuracy_score(y_test, y_pred)) print("Confusion Matrix:\n", confusion_matrix(y_test, y_pred)) Quelques algorithmes d'apprentissage automatique courants : Régression Linéaire Utilisée pour prédire une valeur continue. Exemple : Prédire les prix des maisons. Régression Logistique Utilisée pour les tâches de classification binaire. Exemple : Prédire si un client achètera un produit ou non. Arbres de Décision Utilisés pour la classification ou la régression. Exemple : Prédire la classe d'un client en fonction de ses caractéristiques. Forêts Aléatoires (Random Forest) Un ensemble d'arbres de décision, plus robuste et précis. Exemple : Classification de clients en fonction de divers facteurs. SVM (Support Vector Machines) Utilisé pour la classification, particulièrement dans des cas non linéaires. Exemple : Reconnaissance d'images ou détection de fraude. K-NN (K-Nearest Neighbors) Utilisé pour la classification ou la régression en se basant sur les voisins les plus proches. Exemple : Prédiction du type de maladie d'un patient en fonction des résultats d'autres patients similaires. Clustering (K-Means, DBSCAN) Utilisé pour diviser un ensemble de données en clusters ou groupes similaires. Exemple : Segmentation de clients dans un marché. Ressources pour aller plus loin : Scikit-learn Documentation : https://scikit-learn.org/stable/ TensorFlow Documentation : https://www.tensorflow.org/ Keras Documentation : https://keras.io/ PyTorch Documentation : https://pytorch.org/ Cela te donne un bon point de départ pour travailler sur des projets d'apprentissage automatique avec Python. Si tu as des questions spécifiques ou si tu veux que je t’aide à développer un projet particulier, fais-le moi savoir ! Vous avez dit : Apprentissage automatique avec Python ChatGPT a dit : L'apprentissage automatique (ou machine learning) avec Python est l'un des domaines les plus populaires et largement utilisés dans la science des données. Grâce à des bibliothèques puissantes et bien développées, Python est devenu un choix privilégié pour l'implémentation d'algorithmes d'apprentissage automatique, qu'il s'agisse de classification, régression, clustering ou même d'algorithmes plus avancés comme les réseaux neuronaux. 1. Environnement et bibliothèques nécessaires Voici les bibliothèques Python les plus populaires utilisées dans le domaine de l'apprentissage automatique : pandas : pour la manipulation de données (lecture, nettoyage, transformation). NumPy : pour les calculs numériques et la gestion des matrices. scikit-learn : pour la mise en œuvre des algorithmes d'apprentissage automatique classiques. matplotlib et seaborn : pour la visualisation des données. TensorFlow et PyTorch : pour l'apprentissage profond (deep learning). Keras : une API de haut niveau pour la création et l'entraînement de réseaux neuronaux. Pour commencer, assure-toi d'installer ces bibliothèques : bash Copier Modifier pip install pandas numpy scikit-learn matplotlib seaborn tensorflow 2. Étapes générales d'un projet d'apprentissage automatique Voici les étapes clés que tu suivras dans un projet typique d'apprentissage automatique avec Python : 1. Chargement et exploration des données En premier lieu, tu dois charger et explorer les données pour comprendre leur structure et détecter d'éventuelles anomalies. python Copier Modifier import pandas as pd # Chargement des données depuis un fichier CSV data = pd.read_csv('dataset.csv') # Afficher les premières lignes print(data.head()) # Informations sur les types de données et les valeurs manquantes print(data.info()) 2. Préparation des données Avant de créer un modèle, il faut préparer les données : nettoyer les valeurs manquantes, convertir les variables catégorielles en numériques, normaliser ou standardiser les données, etc. python Copier Modifier # Remplacer les valeurs manquantes par la moyenne (exemple) data.fillna(data.mean(), inplace=True) # Convertir les variables catégorielles en numériques (si nécessaire) data = pd.get_dummies(data, drop_first=True) # Diviser les données en features (X) et target (y) X = data.drop('target_column', axis=1) y = data['target_column'] 3. Séparation des données en ensembles d'entraînement et de test Pour évaluer la performance du modèle, on divise généralement les données en deux ensembles : un ensemble d'entraînement (pour entraîner le modèle) et un ensemble de test (pour évaluer la performance du modèle sur de nouvelles données). python Copier Modifier from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) 4. Sélection du modèle et entraînement Ensuite, on sélectionne un algorithme d'apprentissage automatique. Voici un exemple avec un modèle de régression logistique pour une tâche de classification binaire. python Copier Modifier from sklearn.linear_model import LogisticRegression # Créer le modèle model = LogisticRegression() # Entraîner le modèle model.fit(X_train, y_train) 5. Évaluation du modèle Après avoir entraîné le modèle, il est crucial d'évaluer sa performance. Pour cela, on peut utiliser des métriques comme l'accuracy, la matrice de confusion, ou le score F1. python Copier Modifier from sklearn.metrics import accuracy_score, confusion_matrix # Prédictions y_pred = model.predict(X_test) # Évaluation print("Accuracy:", accuracy_score(y_test, y_pred)) print("Confusion Matrix:\n", confusion_matrix(y_test, y_pred)) 6. Amélioration du modèle Une fois un modèle de base implémenté, il faut souvent l'ajuster en optimisant des hyperparamètres (par exemple, en utilisant la recherche sur grille), en ajoutant des caractéristiques pertinentes ou en utilisant des techniques avancées de validation croisée. 3. Exemple d'un projet complet Imaginons que tu veuilles construire un modèle de régression logistique pour prédire si un client va acheter un produit en fonction de certaines caractéristiques. Voici un exemple complet : python Copier Modifier import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score, confusion_matrix from sklearn.preprocessing import StandardScaler # Charger les données data = pd.read_csv('customers.csv') # Exploration rapide des données print(data.head()) # Préparation des données (exemple) X = data.drop('buy_product', axis=1) y = data['buy_product'] # Diviser les données en ensembles d'entraînement et de test X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Standardisation des données scaler = StandardScaler() X_train = scaler.fit_transform(X_train) X_test = scaler.transform(X_test) # Créer et entraîner le modèle model = LogisticRegression() model.fit(X_train, y_train) # Prédictions y_pred = model.predict(X_test) # Évaluer le modèle print("Accuracy:", accuracy_score(y_test, y_pred)) print("Confusion Matrix:\n", confusion_matrix(y_test, y_pred)) 4. Autres Algorithmes d'Apprentissage Automatique Voici quelques autres algorithmes courants que tu pourrais utiliser en fonction de la tâche que tu souhaites accomplir : Régression linéaire (pour les tâches de régression) Arbres de décision et forêts aléatoires (pour la classification et la régression) K-NN (K-Nearest Neighbors) (pour la classification ou la régression) SVM (Support Vector Machines) (pour la classification) Réseaux neuronaux (pour l'apprentissage profond) 5. Visualisation des Résultats Utiliser matplotlib ou seaborn pour visualiser les résultats et mieux comprendre la performance du modèle. python Copier Modifier import matplotlib.pyplot as plt import seaborn as sns # Tracer la matrice de confusion sns.heatmap(confusion_matrix(y_test, y_pred), annot=True, fmt='d', cmap='Blues') plt.xlabel('Prédictions') plt.ylabel('Valeurs réelles') plt.title('Matrice de confusion') plt.show() 6. Aller Plus Loin Validation croisée : Pour éviter le surapprentissage, on peut utiliser la validation croisée, une méthode qui divise les données en plusieurs sous-ensembles pour évaluer la performance du modèle de manière plus robuste. python Copier Modifier from sklearn.model_selection import cross_val_score scores = cross_val_score(model, X, y, cv=5) print("Mean cross-validation score: ", scores.mean()) Optimisation des hyperparamètres : Utiliser GridSearchCV ou RandomizedSearchCV pour rechercher les meilleurs paramètres pour ton modèle. python Copier Modifier from sklearn.model_selection import GridSearchCV param_grid = {'C': [0.1, 1, 10], 'solver': ['liblinear', 'saga']} grid_search = GridSearchCV(LogisticRegression(), param_grid, cv=5) grid_search.fit(X_train, y_train) print("Meilleurs paramètres : ", grid_search.best_params_) Ressources Supplémentaires Cours et tutoriels : Coursera: Machine Learning by Andrew Ng Kaggle: Datasets et notebooks Documentation des bibliothèques : Scikit-learn Documentation TensorFlow Documentation PyTorch Documentation Tu peux aussi explorer des projets plus avancés comme l'apprentissage profond (deep learning) avec TensorFlow ou PyTorch, qui sont particulièrement adaptés pour des tâches complexes telles que la vision par ordinateur, le traitement du langage naturel, et la reconnaissance vocale.

By Oritseweyinmi H A

•

May 12, 2020

Great course! Get ready to learn, code, debug, sweat, learn some more, fix your code, then finally smile when your ML models work smoothly.

That last statement described my workflow during the final assignment/project of this course.

Quite simply, this course was brilliant because not only did it bring everything we've learned so far together but it also built upon the last course and properly introduced us to Machine Learning and its applications. In his videos, Saeed successfully breaks down complex topics into digestible byte-sized content and ensures that you intuitively understand what is going on.

One of the best pieces of advice I have received in regards to my learning and in life in general is to make sure you have a strong grasp of the fundamentals and these become building blocks to much more complex topics. That in a nutshell is what I believe this course has done for me.

To those who are reading this review, trying to decide whether or not to take this course... just do it! What are you waiting for? No seriously? This might be one of the best decisions you make this year.

If you've been racing through the other courses up to this point, I advise you to slow down once you get here and really try to digest what Saeed has taught here.

Watch the videos, pause, take notes, rewind, continue watching, learn, code. Iterate.

By INAM U

•

Feb 22, 2023

Dear Coursera and IBM,

I am writing to express my deep gratitude for the opportunity to learn new skills and knowledge through your world-class platform. As someone from a rural area in Pakistan, access to quality education can be limited, and I feel truly blessed to have been given the chance to learn on such a reputable platform.

The courses and instructors provided by Coursera and IBM Skills Network have been nothing short of exceptional. I am especially grateful for the professionalism and well-formatted courses, which have allowed me to easily navigate and learn at my own pace.

I believe that the skills and knowledge I have gained through Coursera and IBM Skills Network will be invaluable in my personal and professional life, and I am excited to apply them to make a positive impact in my community.

Once again, I cannot express my appreciation enough for the opportunity to learn through your platform. Thank you for everything that you do.

By George U

•

May 14, 2020

I love every bit of this course. It is very informative and the explanation by the instructor is second to none. He explained most of the concepts especially using real life scenarios like customer segmentation, detection of cancer and many more. Using these real life examples in the explanation made me understand the course very well and also appreciate machine learning. It will be very easy with anyone with mathematical background though people that are not mathematical inclined may have some difficulties understanding some of the concepts. Nevertheless, going through the lab section will make you understand the concepts very well even if you didn't get all the theoretical concepts. The final project was also centered based on what was taught and easy to follow by anyone that paid apt attention to the lectures and followed duly in the lab exercises. Kudos to the instructor.

By Alpesh G

•

Aug 25, 2021

The course start with introduction to Machine Learning, with various industrial examples and applications along with libraries used for Machine Learning. Understood how supervised machine learning is different from unsupervised machine learning. Then learnt the concept of Linear, Non-linear, Simple and Multiple regression, and their applications, also how to evaluate your regression model, and calculate its accuracy.  

Practiced with different classification algorithms, such as KNN, Decision Trees, Logistic Regression and SVM. Introduced with main idea behind recommendation engines, then understood two main types of recommendation engines, namely, content-based and collaborative filtering. The course ends with Peer Graded Assignment to apply all the ML modeling learned.

Thanks to IBM and Coursera for this great learning experience.

By Amulya G

•

Sep 2, 2024

I recently enrolled in the Machine Learning with Python course as part of the IBM Data Science Professional Certificate on Coursera, and I couldn’t be more pleased with the experience! The course content is well-structured, providing a clear understanding of machine learning fundamentals along with hands-on practice. The instructors explain complex topics in a simplified way, making it accessible for learners at all levels. I especially appreciate the real-world examples and the use of Python libraries like scikit-learn, which solidified my understanding of various algorithms. The course strikes a great balance between theory and application, allowing me to build and evaluate machine learning models confidently. Whether you're new to machine learning or looking to deepen your knowledge, this course is a fantastic choice!