Skip to content

kleber0a0m/classificacao_de_genero_IA

Repository files navigation

Classificação de gênero usando Inteligência Artificial

Essa aplicação é capaz de informar seu gênero (Masculino ou Feminino) a partir de 7 perguntas, são elas:

  • Cabelo longo?
  • Largura da testa(cm)
  • Altura da testa(cm)
  • Nariz longo?
  • Nariz comprido?
  • Lábios finos?
  • Distância entre nariz e lábios?

Veja mais aqui:

Clique aqui

Processo de desenvolvimento:

Essa aplicação utiliza aprendizagem de máquina, e o modelo foi treinado utilizando um Dataset de domino púlico disponivel no kaggle.

Segue um trecho do Dataset:

long_hair forehead_width_cm forehead_height_cm nose_wide nose_long lips_thin distance_nose_to_lip_long gender
1 11.8 6.1 1 0 1 1 Male
0 14 5.4 0 0 1 0 Female
0 11.8 6.3 1 1 1 1 Male
0 14.4 6.1 0 1 1 1 Male
1 13.5 5.9 0 0 0 0 Female
1 13 6.8 1 1 1 1 Male

Para o modelo de treinamendo da inteligencia artificial foi utilizado a biblioteca de codigo aberto scikit-learn Segue o codigo ultilizado para criação do modelo pkl utilizando o Dataset:

from sklearn import tree,datasets
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import numpy as np
import pandas as pd
url = "gender_classification_v7.csv"
data = pd.read_csv(url)

print('---------------data.info()-------------------')
data.info()
print('---------------data.head-------------------')
data.head
x = data.drop("gender",axis=1) #features
y = data['gender'] #labels
print('---------------print(x)-------------------')
print(x)

x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3, random_state=42)

clf = tree.DecisionTreeClassifier()
clf = clf.fit(x_train, y_train)

predictions=clf.predict(x_test)
print('----------------------------------')
print("Preditos: ",predictions[:20])
print("Real:     ",y_test[:20].values)

print("Acurácia: ",accuracy_score(y_test,predictions))

print(clf.predict([[1,1,1,1,1,1,1]]))
print(clf.predict([[9,9,9,9,9,9,9]]))
print(clf.predict([[3,3,3,3,3,3,3]]))
print(clf.predict([[900,900,900,900,900,900,900]]))
a = int(input('long_hair: '))
b = int(input('forehead_width_cm: '))
c = int(input('forehead_height_cm: '))
d = int(input('nose_wide: '))
e = int(input('nose_long: '))
f = int(input('lips_thin: '))
g = int(input('distance_nose_to_lip_long: '))
pred = clf.predict([[a,b,c,d,e,f,g]])
print(pred)
#print(lookup_iris_name[pred[0]])

import pickle
pickle.dump(clf, open('model.pkl','wb'))

Parte do Dataset foi utilizada para o treinamento da IA e parte foi usada para testar o modelo, foi obtido 95.46% de acurácia.

O model.pkl exportado anteriomente foi colocado em produção utilizando flask e está hospedado gratuitamento no heroku.

Vídeo Explicativo:

Clique aqui

Feito por: Kléber Albino Moreira e Antonio Augusto Ferreira Felix

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published