password_strength / pass_str.py
IbraheemAlquraishy's picture
init
23dd196
raw
history blame
No virus
1.26 kB
import pandas as pd
import numpy as np
import getpass
import joblib
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
def word(password):
character=[]
for i in password:
character.append(i)
return character
data = pd.read_csv("data.csv")
data=data.dropna()
data["strength"]=data["strength"].map({0:"weak",1:"meduim",2:"strong"})
def new():
x = np.array(data["password"])
y = np.array(data["strength"])
tdif = TfidfVectorizer(tokenizer=word)
x = tdif.fit_transform(x)
xtrain, xtest, ytrain, ytest = train_test_split(x, y, test_size=0.05, random_state=42)
x = np.array(data["password"])
y = np.array(data["strength"])
tdif = TfidfVectorizer(tokenizer=word)
x = tdif.fit_transform(x)
joblib.dump(tdif,"tdif.joblib")
model = RandomForestClassifier()
model.fit(xtrain, ytrain)
joblib.dump(model, "passmodel.joblib")
m=joblib.load("passmodel.joblib")
td=joblib.load("tdif.joblib")
user = input("Enter Password: ")
data = td.transform([user])
output = m.predict(data)
print(output)