import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import classification_report, confusion_matrix, precision_recall_curve, auc, roc_curve
from sklearn.tree import DecisionTreeClassifier, export_graphviz
import graphviz
data = pd.read_csv("/home/umesh/Desktop/icfoss/bcdata.csv")
data.drop(['Unnamed: 32'], axis=1, inplace=True)
data.drop(['id'], axis=1, inplace=True)
data.diagnosis.value_counts()
data.diagnosis = [1 if each == "M" else 0 for each in data.diagnosis]
y = data.diagnosis.values
x = data.drop(['diagnosis'], axis=1)
x = (x - np.min(x) ) / ( np.max(x) - np.min(x) ).values
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size = 0.3 , random_state = 1)
from sklearn.tree import DecisionTreeClassifier, export_graphviz
import graphviz
clf = DecisionTreeClassifier()
clf = clf.fit(x_train, y_train)
dot_data = export_graphviz(clf, out_file=None,
feature_names=x.columns,
filled=True, rounded=True,
special_characters=True)
graph = graphviz.Source(dot_data)
graph.view()