Meilleurs projets d'apprentissage automatique en Python pour les débutants [2022]

Publié: 2021-01-03

Si vous souhaitez devenir un professionnel de l'apprentissage automatique, vous devez acquérir de l'expérience en utilisant ses technologies. La meilleure façon de le faire est de réaliser des projets. C'est pourquoi, dans cet article, nous partageons plusieurs projets d'apprentissage automatique en Python afin que vous puissiez rapidement commencer à tester vos compétences et acquérir une expérience précieuse.

Cependant, avant de commencer, assurez-vous que vous êtes familiarisé avec l'apprentissage automatique et son algorithme. Si vous n'avez jamais travaillé sur un projet auparavant, ne vous inquiétez pas car nous avons également partagé un tutoriel détaillé sur un projet :

Table des matières

L'ensemble de données Iris : pour les débutants

L'ensemble de données Iris est facilement l'un des projets d'apprentissage automatique les plus populaires en Python. Il est relativement petit, mais sa simplicité et sa taille compacte le rendent parfait pour les débutants. Si vous n'avez travaillé sur aucun projet d'apprentissage automatique en Python, vous devriez commencer par celui-ci. L'ensemble de données Iris est une collection de tailles de sépales et de pétales de fleurs de la fleur Iris. Il a trois classes, avec 50 instances dans chacune d'elles.

Nous avons fourni des exemples de code à divers endroits, mais vous ne devez l'utiliser que pour comprendre son fonctionnement. Implémenter le code sans le comprendre irait à l'encontre de la prémisse de la réalisation du projet. Assurez-vous donc de bien comprendre le code avant de l'implémenter.

Étape 1 : Importer les bibliothèques

La première étape de tout projet d'apprentissage automatique consiste à importer les bibliothèques. L'une des principales raisons pour lesquelles Python est si polyvalent est ses bibliothèques robustes. Les bibliothèques dont nous aurons besoin dans ce projet sont :

  • Pandas
  • Matplotlib
  • Sklearn
  • SciPy
  • NumPy

Il existe plusieurs méthodes pour importer des bibliothèques dans votre système, et vous devez utiliser une méthode particulière pour importer toutes les bibliothèques. Cela assurerait la cohérence et vous aiderait à éviter toute confusion. Notez que l'installation varie en fonction du système d'exploitation de votre appareil, alors gardez cela à l'esprit lors de l'importation de bibliothèques.

Code:

# Charger les bibliothèques

à partir de pandas importer read_csv

de pandas.plotting import scatter_matrix

de matplotlib importer pyplot

depuis sklearn.model_selection importer train_test_split

depuis sklearn.model_selection importer cross_val_score

à partir de sklearn.model_selection importer StratifiedKFold

de sklearn.metrics importer classification_report

depuis sklearn.metrics importer confusion_matrix

depuis sklearn.metrics importer precision_score

de sklearn.linear_model importer LogisticRegression

depuis sklearn.tree importer DecisionTreeClassifier

de sklearn.neighbors importer KNeighborsClassifier

de sklearn.discriminant_analysis importer LinearDiscriminantAnalysis

de sklearn.naive_bayes importer GaussianNB

depuis sklearn.svm importer SVC

Lire : Top 10 des idées de projets d'ensembles de données d'apprentissage automatique pour les débutants

Étape 2 : Charger l'ensemble de données

Après avoir importé les bibliothèques, il est temps de charger le jeu de données. Comme nous en avons discuté, nous utiliserons le jeu de données Iris dans ce projet. Vous pouvez le télécharger ici .

Assurez-vous de spécifier les noms de chaque colonne lors du chargement des données, et cela vous aidera plus tard dans le projet. Nous vous recommandons de télécharger le jeu de données, donc même si vous rencontrez des problèmes de connexion, votre projet ne sera pas affecté.

Code:

# Charger l'ensemble de données

URL = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv"

noms = ['longueur des sépales', 'largeur des sépales', 'longueur des pétales', 'largeur des pétales', 'classe']

jeu de données = read_csv(url, noms=noms)

Étape 3 : Résumer

Avant de commencer à utiliser le jeu de données, nous devons d'abord examiner les données qu'il contient. Nous allons commencer par vérifier la dimension de l'ensemble de données, qui nous montre que l'ensemble de données a cinq attributs et 150 instances.

Après avoir vérifié la dimension, vous devez examiner quelques lignes et colonnes de l'ensemble de données pour vous donner une idée générale de son contenu. Ensuite, vous devriez regarder le résumé statistique de l'ensemble de données et voir quelles mesures sont les plus répandues dans le même.

Enfin, vous devez vérifier la distribution des classes dans l'ensemble de données. Cela signifie que vous devrez vérifier combien d'instances relèvent de chaque classe. Voici le code pour résumer notre ensemble de données :

# résumer les données

à partir de pandas importer read_csv

# Charger l'ensemble de données

URL = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv"

noms = ['longueur des sépales', 'largeur des sépales', 'longueur des pétales', 'largeur des pétales', 'classe']

jeu de données = read_csv(url, noms=noms)

# façonner

print(dataset.shape)

# diriger

impression(dataset.head(20))

# description

print(dataset.describe())

# répartition des classes

print(dataset.groupby('class').size())

Étape 4 : Visualisez les données

Après avoir résumé l'ensemble de données, vous devez le visualiser pour une meilleure compréhension et analyse. Vous pouvez utiliser des tracés univariés pour analyser chaque attribut en détail et des tracés multivariés pour étudier les relations de chaque entité. La visualisation des données est un aspect crucial des projets d'apprentissage automatique car elle aide à trouver les informations essentielles présentes dans l'ensemble de données.

Étape 5 : Évaluation de l'algorithme

Après avoir visualisé les données, nous évaluerons plusieurs algorithmes pour trouver le meilleur modèle pour notre projet. Tout d'abord, nous allons créer un ensemble de données de validation que nous retirerons de l'original. Ensuite, nous utiliserons une validation croisée 10 fois et créerons divers modèles. Comme déjà discuté, nous visons à prédire l'espèce à travers les mesures des fleurs. Vous devez utiliser différents types d'algorithmes et choisir celui qui donne les meilleurs résultats. Vous pouvez tester SVM (Support Vector Machines), KNN (K-Nearest Neighbors), LR (Logistic Regression) et autres.

Dans notre implémentation, nous avons trouvé que SVM était le meilleur modèle. Voici le code :

à partir de pandas importer read_csv

de matplotlib importer pyplot

depuis sklearn.model_selection importer train_test_split

depuis sklearn.model_selection importer cross_val_score

à partir de sklearn.model_selection importer StratifiedKFold

de sklearn.linear_model importer LogisticRegression

depuis sklearn.tree importer DecisionTreeClassifier

de sklearn.neighbors importer KNeighborsClassifier

de sklearn.discriminant_analysis importer LinearDiscriminantAnalysis

de sklearn.naive_bayes importer GaussianNB

depuis sklearn.svm importer SVC

# Charger l'ensemble de données

URL = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv"

noms = ['longueur des sépales', 'largeur des sépales', 'longueur des pétales', 'largeur des pétales', 'classe']

jeu de données = read_csv(url, noms=noms)

# Ensemble de données de validation fractionné

array = dataset.values

X = tableau[:,0:4]

y = tableau[:,4]

X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0.20, random_state=1, shuffle=True)

# Algorithmes de vérification ponctuelle

modèles = []

models.append(('LR', LogisticRegression(solver='liblinear', multi_class='ovr')))

modèles.append(('LDA', LinearDiscriminantAnalysis()))

modèles.append(('KNN', KNeighborsClassifier()))

modèles.append(('CART', DecisionTreeClassifier()))

models.append(('NB', GaussianNB()))

modèles.append(('SVM', SVC(gamma='auto')))

# évaluer chaque modèle à tour de rôle

résultats = []

noms = []

pour le nom, le modèle dans les modèles :

kfold = StratifiedKFold(n_splits=10, random_state=1, shuffle=True)

cv_results = cross_val_score(model, X_train, Y_train, cv=kfold, scoring='accuracy')

résultats.append(cv_results)

noms.append(nom)

print('%s: %f (%f)' % (nom, cv_results.mean(), cv_results.std()))

# Comparer les algorithmes

pyplot.boxplot(results, labels=names)

pyplot.title('Comparaison d'algorithmes')

pyplot.show()

Étape 6 : Prédire

Après avoir évalué différents algorithmes et choisi le meilleur, il est temps de prédire les résultats. Nous allons d'abord utiliser notre modèle sur l'ensemble de données de validation pour tester sa précision. Après cela, nous le testerons sur l'ensemble du jeu de données.

Voici le code pour exécuter notre modèle sur l'ensemble de données :

# faire des prédictions

à partir de pandas importer read_csv

depuis sklearn.model_selection importer train_test_split

de sklearn.metrics importer classification_report

depuis sklearn.metrics importer confusion_matrix

depuis sklearn.metrics importer precision_score

depuis sklearn.svm importer SVC

# Charger l'ensemble de données

URL = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv"

noms = ['longueur des sépales', 'largeur des sépales', 'longueur des pétales', 'largeur des pétales', 'classe']

jeu de données = read_csv(url, noms=noms)

# Ensemble de données de validation fractionné

array = dataset.values

X = tableau[:,0:4]

y = tableau[:,4]

X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0.20, random_state=1)

# Faire des prédictions sur le jeu de données de validation

modèle = SVC(gamma='auto')

model.fit(X_train, Y_train)

prédictions = model.predict(X_validation)

# Évaluer les prédictions

print(accuracy_score(Y_validation, prédictions))

print(confusion_matrix(Y_validation, prédictions))

print(classification_report(Y_validation, prédictions))

C'est ça. Vous avez maintenant terminé un projet d'apprentissage automatique en Python en utilisant l'ensemble de données Iris.

Projets d'apprentissage automatique supplémentaires en Python

Le jeu de données Iris est principalement destiné aux débutants. Si vous avez une certaine expérience de travail sur des projets d'apprentissage automatique en Python, vous devriez consulter les projets ci-dessous :

1. Utilisez ML pour prédire les cours des actions

Le marché des actions est un excellent endroit pour appliquer des algorithmes d'apprentissage automatique. Les entreprises utilisent des algorithmes d'IA et des technologies basées sur ML pour effectuer des analyses techniques depuis un certain temps déjà. Vous pouvez également créer un modèle ML qui prédit les cours des actions.

Cependant, pour travailler sur ce projet, vous devrez utiliser plusieurs techniques, notamment l'analyse de régression, l'analyse prédictive, la modélisation statistique et l'analyse des actions. Vous pouvez obtenir les données nécessaires sur les sites Web officiels des bourses. Ils partagent des données sur les performances passées des actions. Vous pouvez utiliser ces données pour former et tester votre modèle.

En tant que débutant, vous pouvez vous concentrer sur une entreprise en particulier et prédire sa valeur boursière pendant trois mois. De même, si vous souhaitez rendre le projet difficile, vous pouvez utiliser plusieurs entreprises et étendre vos délais de prédiction.

Ce que vous apprendrez de ce projet :

Ce projet vous familiarisera avec les applications de l'IA et du ML dans le secteur financier. Vous pouvez également étudier l'analyse prédictive à travers ce projet et essayer différents algorithmes.

2. Écrire un algorithme d'apprentissage automatique à partir de zéro

Si vous êtes débutant et que vous n'avez travaillé sur aucun projet d'apprentissage automatique en Python, vous pouvez également commencer par celui-ci. Dans ce projet, vous devez créer un algorithme ML à partir de zéro. Faire ce projet vous aidera à comprendre toutes les bases des fonctions de l'algorithme tout en vous apprenant à convertir des formules mathématiques en code d'apprentissage automatique.

Savoir comment convertir des concepts mathématiques en code ML est crucial, car vous devrez l'implémenter plusieurs fois à l'avenir. Au fur et à mesure que vous aborderez des problèmes plus avancés, vous devrez vous appuyer sur cette compétence. Vous pouvez choisir n'importe quel algorithme en fonction de votre familiarité avec ses concepts. Il serait préférable de commencer par un algorithme simple si vous manquez d'expérience.

Ce que vous apprendrez de ce projet :

Vous vous familiariserez avec les concepts mathématiques de l'intelligence artificielle et de l'apprentissage automatique.

3. Créer un lecteur d'écriture manuscrite

Il s'agit d'un projet de vision par ordinateur. La vision par ordinateur est le secteur de l'intelligence artificielle lié à l'analyse d'images. Dans ce projet, vous allez créer un modèle ML capable de lire l'écriture manuscrite. La lecture signifie que le modèle doit être capable de reconnaître ce qui est écrit sur le papier. Vous devrez utiliser un réseau de neurones dans ce projet pour vous familiariser avec l'apprentissage en profondeur et ses concepts pertinents.

Vous devrez d'abord pré-traiter l'image et supprimer les sections inutiles ; en d'autres termes, effectuez un nettoyage des données sur l'image pour plus de clarté. Après cela, vous devrez effectuer une segmentation et un redimensionnement de l'image afin que l'algorithme puisse lire correctement les caractères. Une fois que vous avez terminé le prétraitement et la segmentation, vous pouvez passer à l'étape suivante, la classification. Un algorithme de classification distinguera les caractères présents dans le texte et les placera dans leurs catégories respectives.

Vous pouvez utiliser l'activation sigmoïde du journal pour former votre algorithme ML pour ce projet.

Ce que vous apprendrez de ce projet :

Vous étudierez la vision par ordinateur et les réseaux de neurones. La réalisation de ce projet vous permettra également de vous familiariser avec la reconnaissance et l'analyse d'images.

4. Un prédicteur de ventes

Le secteur de la vente au détail a de nombreuses applications pour l'IA et l'apprentissage automatique. Dans ce projet, vous découvrirez une de ces applications, à savoir la prévision des ventes de produits.

Un ensemble de données répandu parmi les passionnés d'apprentissage automatique est l'ensemble de données de vente BigMart. Elle compte plus de 1559 produits répartis dans ses différents points de vente dans 10 villes. Vous pouvez utiliser l'ensemble de données pour créer un modèle de régression. Selon les points de vente, votre modèle doit prédire les ventes potentielles de produits particuliers au cours de l'année à venir. Cet ensemble de données a des attributs spécifiques pour chaque point de vente et produit afin de comprendre rapidement leurs propriétés et la relation entre les deux.

Ce que vous apprendrez de ce projet :

Travailler sur ce projet vous familiarisera avec les modèles de régression et l'analyse prédictive. Vous découvrirez également les applications de l'apprentissage automatique dans le secteur de la vente au détail.

En savoir plus sur l'apprentissage automatique et Python

Nous espérons que vous avez trouvé cette liste de projets d'apprentissage automatique en Python utile. Si vous avez des questions ou des réflexions, veuillez nous en informer via la section des commentaires. Nous serions ravis de répondre à vos questions.

Apprenez des cours de science des données dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Voici quelques ressources supplémentaires pour étudier l'apprentissage automatique et Python.

  • Tutoriel Python
  • Apprentissage automatique contre. L'apprentissage en profondeur
  • Applications d'apprentissage automatique

D'autre part, si vous souhaitez obtenir une expérience d'apprentissage plus personnalisée, vous pouvez suivre un cours d'IA et de ML. Vous apprendrez des experts de l'industrie à travers des vidéos, des missions et des projets.

L'apprentissage automatique est-il un bon choix de carrière ?

Si vous êtes féru de technologies émergentes et d'actualités connexes, vous devez déjà avoir entendu parler de la quatrième révolution industrielle provoquée par la technologie d'apprentissage automatique. Selon les rapports, le marché mondial de l'apprentissage automatique devrait atteindre une valeur de 543 milliards INR d'ici 2023. Cependant, l'écart entre la demande et l'offre de professionnels compétents en apprentissage automatique est passé à près de 125 %. Cela indique que pour un professionnel de l'apprentissage automatique doté de la bonne combinaison de compétences, le marché du travail est plein de promesses. Que vous aspiriez à devenir ingénieur en apprentissage automatique, ingénieur de recherche ou chercheur scientifique, ce sera sans aucun doute une carrière enrichissante pour vous.

Un nouveau sac peut-il un travail d'apprentissage automatique?

Même si la plupart des emplois d'apprentissage automatique nécessitent aujourd'hui des professionnels expérimentés, les options pour les débutants augmentent également, en raison de l'énorme demande du marché. Cela peut être difficile pour les débutants, mais il n'est certainement pas impossible d'obtenir un travail d'apprentissage automatique. Si vous pouvez maîtriser les compétences requises, planifier comment bien performer et apprendre rapidement des joueurs expérimentés sur le terrain, vous pouvez également décrocher le travail de vos rêves. Vous pouvez envisager des options comme obtenir des certifications pertinentes pour ajouter plus de valeur, vous inscrire à des cours d'apprentissage automatique sur des plateformes fiables, essayer des projets pratiques, suivre les dernières nouvelles et tendances technologiques et rejoindre des communautés en ligne.

Combien gagne un ingénieur en machine learning ?

Le salaire moyen d'un ingénieur en apprentissage automatique en Inde est d'environ 8,2 lakhs INR par an, selon les données de glassdoor.in. Désormais, le revenu moyen dépend de plusieurs facteurs tels que les compétences, les certifications, l'expérience, l'emplacement, etc. Mais avec plus d'expérience de travail, vous pouvez vous attendre à augmenter vos revenus. Par exemple, les ingénieurs seniors en apprentissage automatique peuvent gagner entre 13 et 15 lakhs INR en moyenne.