5.Decision Tree Classification AND K-Neareast Nrighbour
Sun Nov 03 2024 13:27:38 GMT+0000 (Coordinated Universal Time)
#Decision Tree Classification from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score,classification_report,confusion_matrix import pandas as pd iris = load_iris() df = pd.DataFrame(data=iris.data, columns=iris.feature_names) df['species'] = iris.target print(df.head()) print(df.info()) X = df.drop('species', axis=1) y = df['species'] x_train,x_test,y_train,y_test = train_test_split(X,y,test_size=0.2,random_state=42) model = DecisionTreeClassifier() model.fit(x_train,y_train) y_pred = model.predict(x_test) accuracy = accuracy_score(y_test,y_pred) print("Accuracy:",accuracy) print("Classification Report:\n",classification_report(y_test,y_pred)) print("Confusion Matrix:\n",confusion_matrix(y_test,y_pred)) output: sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) \ 0 5.1 3.5 1.4 0.2 1 4.9 3.0 1.4 0.2 2 4.7 3.2 1.3 0.2 3 4.6 3.1 1.5 0.2 4 5.0 3.6 1.4 0.2 species 0 0 1 0 2 0 3 0 4 0 <class 'pandas.core.frame.DataFrame'> RangeIndex: 150 entries, 0 to 149 Data columns (total 5 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 sepal length (cm) 150 non-null float64 1 sepal width (cm) 150 non-null float64 2 petal length (cm) 150 non-null float64 3 petal width (cm) 150 non-null float64 4 species 150 non-null int64 dtypes: float64(4), int64(1) memory usage: 6.0 KB None Accuracy: 1.0 Classification Report: precision recall f1-score support 0 1.00 1.00 1.00 10 1 1.00 1.00 1.00 9 2 1.00 1.00 1.00 11 accuracy 1.00 30 macro avg 1.00 1.00 1.00 30 weighted avg 1.00 1.00 1.00 30 Confusion Matrix: [[10 0 0] [ 0 9 0] [ 0 0 11]] 2.#K-Neareast Nrighbour #K-Neareast Nrighbour import pandas as pd from sklearn.model_selection import train_test_split from sklearn.datasets import load_iris from sklearn.metrics import accuracy_score,classification_report,confusion_matrix from sklearn.neighbors import KNeighborsClassifier iris = load_iris() df = pd.DataFrame(data=iris.data,columns=iris.feature_names) df['species']=iris.target print(df.head()) print(df.info()) x = df.drop('species',axis=1) y = df['species'] x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.2,random_state=42) knn = KNeighborsClassifier(n_neighbors=1) knn.fit(x_train,y_train) y_pred = knn.predict(x_test) accuracy = accuracy_score(y_test,y_pred) print("Accuracy:",accuracy) print("Classification Report:\n",classification_report(y_test,y_pred)) print("Confusion Matrix:\n",confusion_matrix(y_test,y_pred)) output: ] #K-Neareast Nrighbour import pandas as pd from sklearn.model_selection import train_test_split from sklearn.datasets import load_iris from sklearn.metrics import accuracy_score,classification_report,confusion_matrix from sklearn.neighbors import KNeighborsClassifier iris = load_iris() df = pd.DataFrame(data=iris.data,columns=iris.feature_names) df['species']=iris.target print(df.head()) …print("Confusion Matrix:\n",confusion_matrix(y_test,y_pred)) sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) \ 0 5.1 3.5 1.4 0.2 1 4.9 3.0 1.4 0.2 2 4.7 3.2 1.3 0.2 3 4.6 3.1 1.5 0.2 4 5.0 3.6 1.4 0.2 species 0 0 1 0 2 0 3 0 4 0 <class 'pandas.core.frame.DataFrame'> RangeIndex: 150 entries, 0 to 149 Data columns (total 5 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 sepal length (cm) 150 non-null float64 1 sepal width (cm) 150 non-null float64 2 petal length (cm) 150 non-null float64 3 petal width (cm) 150 non-null float64 4 species 150 non-null int64 dtypes: float64(4), int64(1) memory usage: 6.0 KB None Accuracy: 1.0 Classification Report: precision recall f1-score support 0 1.00 1.00 1.00 10 1 1.00 1.00 1.00 9 2 1.00 1.00 1.00 11 accuracy 1.00 30 macro avg 1.00 1.00 1.00 30 weighted avg 1.00 1.00 1.00 30 Confusion Matrix: [[10 0 0] [ 0 9 0] [ 0 0 11]]
Comments