Skip to content
Snippets Groups Projects
Commit dc179203 authored by thibault.capt's avatar thibault.capt
Browse files

finish tp3

parent 42f78f72
No related branches found
No related tags found
No related merge requests found
# Import des bibliothèques nécessaires
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
from sklearn.tree import plot_tree
import matplotlib.pyplot as plt
# Chargement des données depuis un fichier CSV
file_path_iris = './Data/iris.csv'
df_iris = pd.read_csv(file_path_iris, names=['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'class'])
# Séparation des features et de la cible
X_iris = df_iris.drop('class', axis=1)
y_iris = df_iris['class']
# Division des données en ensembles d'entraînement et de test
X_train_iris, X_test_iris, y_train_iris, y_test_iris = train_test_split(X_iris, y_iris, test_size=0.2, random_state=42)
# Construction de l'arbre de décision avec des paramètres spécifiques
# Vous pouvez jouer avec les valeurs de min_samples_leaf et max_depth
clf_iris = DecisionTreeClassifier(min_samples_leaf=5, max_depth=3)
clf_iris.fit(X_train_iris, y_train_iris)
# Prédictions sur les ensembles d'entraînement et de test
y_train_pred_iris = clf_iris.predict(X_train_iris)
y_test_pred_iris = clf_iris.predict(X_test_iris)
# Mesure du taux de classification correcte
train_accuracy_iris = accuracy_score(y_train_iris, y_train_pred_iris)
test_accuracy_iris = accuracy_score(y_test_iris, y_test_pred_iris)
print(f'Taux de classification correcte (Entraînement): {train_accuracy_iris:.2f}')
print(f'Taux de classification correcte (Test): {test_accuracy_iris:.2f}')
# Visualisation de l'arbre de décision
plt.figure(figsize=(12, 8))
plot_tree(clf_iris, filled=True, feature_names=X_iris.columns, class_names=df_iris['class'].unique(), rounded=True)
plt.show()
# Import des bibliothèques nécessaires
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
from sklearn.tree import plot_tree
import matplotlib.pyplot as plt
# Chargement des données depuis un fichier CSV
file_path = './Data/student-data-train.csv'
df = pd.read_csv(file_path)
# Séparation des features et de la cible
X = df.drop('success', axis=1)
y = df['success']
# Division des 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) # Vous pouvez ajuster la taille du test si nécessaire
# Construction de l'arbre de décision avec des paramètres spécifiques
# Vous pouvez jouer avec les valeurs de min_samples_leaf et max_depth
clf = DecisionTreeClassifier(min_samples_leaf=5, max_depth=3)
clf.fit(X_train, y_train)
# Prédictions sur les ensembles d'entraînement et de test
y_train_pred = clf.predict(X_train)
y_test_pred = clf.predict(X_test)
# Mesure du taux de classification correcte
train_accuracy = accuracy_score(y_train, y_train_pred)
test_accuracy = accuracy_score(y_test, y_test_pred)
print(f'Taux de classification correcte (Entraînement): {train_accuracy:.2f}')
print(f'Taux de classification correcte (Test): {test_accuracy:.2f}')
# Visualisation de l'arbre de décision
plt.figure(figsize=(12, 8))
plot_tree(clf, filled=True, feature_names=X.columns, class_names=['0', '1'], rounded=True)
plt.show()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment