<jupyter_start><jupyter_text>Data Description:The dataset consists of different columns with information regarding whether a website is a phising website or not.The columns are :having_IP_Address [-1  1] URL_Length [ 1  0 -1]Shortining_Service [ 1 -1]having_At_Symbol [ 1 -1]double_slash_redirecting [-1  1]Prefix_Suffix [-1  1]having_Sub_Domain [-1  0  1]SSLfinal_State [-1  1  0]Domain_registeration_length [-1  1]Favicon [ 1 -1]port [ 1 -1]HTTPS_token [-1  1]Request_URL [ 1 -1]URL_of_Anchor [-1  0  1]Links_in_tags [ 1 -1  0]SFH [-1  1  0]Submitting_to_email [-1  1]Abnormal_URL [-1  1]Redirect [0 1]on_mouseover [ 1 -1]RightClick [ 1 -1]popUpWidnow [ 1 -1]Iframe [ 1 -1]age_of_domain [-1  1]DNSRecord [-1  1]web_traffic [-1  0  1]Page_Rank [-1  1]Google_Index [ 1 -1]Links_pointing_to_page [ 1  0 -1]Statistical_report [-1  1]Result [-1  1]<jupyter_code>data.info()
data.describe()<jupyter_output><empty_output><jupyter_text>Let's check if there are any missing values:<jupyter_code>data.isna().sum()<jupyter_output><empty_output><jupyter_text>Great! There are no missing values.Also, the data already contains categorical values encoded. So we don't need to do that. let's see the data distribution of the respective columns:<jupyter_code>plot.figure(figsize=(15,50), facecolor='white')
plotnumber =1

for column in data.drop(['Result'],axis=1):
    ax = plot.subplot(12,3,plotnumber)
    sns.countplot(data[column])
    plot.xlabel(column,fontsize=10)
    plotnumber+=1
plot.show()
plot.figure(figsize=(15,50), facecolor='white')
plotnumber =1

for column in data.drop(['Result'],axis=1):
    ax = plot.subplot(12,3,plotnumber)
    sns.violinplot(data= data,x=data[column],y =data["Result"] )
    plot.xlabel(column,fontsize=10)
    plotnumber+=1
plot.show()<jupyter_output><empty_output><jupyter_text>Well the data looks decently distributed from the violin plot above. Let's check how balanced our dataset is:<jupyter_code>sns.countplot(data['Result'])<jupyter_output><empty_output><jupyter_text>Great! our dataset is balanced. We can go ahead with training our model.<jupyter_code><jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.12588401697312587, 'fraction_numerical': 0.04431871758604432, 'mean_word_length': 5.715189873417722, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '15355', 'license': 'MIT', 'n_tokens_mistral': 798, 'n_tokens_neox': 761, 'n_words': 187, 'path': 'docs/EDA/Phising.ipynb', 'repo_name': 'sethusaim/Phising-Classification-Azure', 'size': '2121'}