Spaces:
Sleeping
Sleeping
ultima versao
Browse files
app.py
CHANGED
@@ -66,22 +66,32 @@ def calculaTFIDFSVM(titulo, descricao):
|
|
66 |
context = titulo + descricao
|
67 |
d = {"context": [context]}
|
68 |
df = pd.DataFrame(data=d, columns=["context"])
|
69 |
-
vectorizer = load("model/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
X = vectorizer.transform(df["context"])
|
71 |
-
|
72 |
story_points = model.predict(X)
|
73 |
return story_points
|
74 |
|
75 |
def calcula(titulo, descricao):
|
76 |
-
return calcula_MbR(titulo, descricao), calcula_neosp(titulo, descricao), calculaTFIDFSVM(titulo, descricao)
|
77 |
|
78 |
demo = gr.Interface(fn=calcula,
|
79 |
inputs=[gr.Textbox(placeholder="Título", label="Título"),
|
80 |
gr.Textbox(lines=10, placeholder="Descrição", label="Descrição")],
|
81 |
outputs=[gr.Textbox(label="Story Points Estimado MbR"),
|
82 |
gr.Textbox(label="Story Points Estimado NEOSP-SVR"),
|
83 |
-
gr.Textbox(label="Story Points Estimado TFIDF-SVR")
|
84 |
-
|
|
|
85 |
examples=[[titulo1, descricao1], [titulo2, descricao2], [titulo3, descricao3], [titulo4, descricao4], [titulo5, descricao5]]
|
86 |
)
|
87 |
|
|
|
66 |
context = titulo + descricao
|
67 |
d = {"context": [context]}
|
68 |
df = pd.DataFrame(data=d, columns=["context"])
|
69 |
+
vectorizer = load("model/vectorizer_tfidfsvm.pkl")
|
70 |
+
X = vectorizer.transform(df["context"])
|
71 |
+
story_points = model.predict(X)
|
72 |
+
return story_points
|
73 |
+
|
74 |
+
def calculaTFIDFLinear(titulo, descricao):
|
75 |
+
model = load("model/model_tawos_aloy_tfidflinear.pkl")
|
76 |
+
context = titulo + descricao
|
77 |
+
d = {"context": [context]}
|
78 |
+
df = pd.DataFrame(data=d, columns=["context"])
|
79 |
+
vectorizer = load("model/vectorizer_tfidflinear.pkl")
|
80 |
X = vectorizer.transform(df["context"])
|
|
|
81 |
story_points = model.predict(X)
|
82 |
return story_points
|
83 |
|
84 |
def calcula(titulo, descricao):
|
85 |
+
return calcula_MbR(titulo, descricao), calcula_neosp(titulo, descricao), calculaTFIDFSVM(titulo, descricao), calculaTFIDFLinear(titulo, descricao)
|
86 |
|
87 |
demo = gr.Interface(fn=calcula,
|
88 |
inputs=[gr.Textbox(placeholder="Título", label="Título"),
|
89 |
gr.Textbox(lines=10, placeholder="Descrição", label="Descrição")],
|
90 |
outputs=[gr.Textbox(label="Story Points Estimado MbR"),
|
91 |
gr.Textbox(label="Story Points Estimado NEOSP-SVR"),
|
92 |
+
gr.Textbox(label="Story Points Estimado TFIDF-SVR"),
|
93 |
+
gr.Textbox(label="Story Points Estimado TFIDF-Linear")],
|
94 |
+
title="Agile Task Story Point Estimator",
|
95 |
examples=[[titulo1, descricao1], [titulo2, descricao2], [titulo3, descricao3], [titulo4, descricao4], [titulo5, descricao5]]
|
96 |
)
|
97 |
|
gerar_modelos/gerar_modelos_tfidflinear.py
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from sklearn.feature_extraction.text import TfidfVectorizer
|
2 |
+
from sklearn.linear_model import LinearRegression
|
3 |
+
import pandas as pd
|
4 |
+
import nltk
|
5 |
+
from nltk.corpus import stopwords
|
6 |
+
from joblib import dump
|
7 |
+
|
8 |
+
# Carregando os dados
|
9 |
+
df = pd.read_csv("dataset/ALOY_deep-se.csv")
|
10 |
+
|
11 |
+
# Tirando os 5 Primeiros
|
12 |
+
df = df.iloc[5:df.shape[0]]
|
13 |
+
|
14 |
+
# Criando a coluna contexto = titulo + descricao
|
15 |
+
df["context"] = df["title"] + df["description"]
|
16 |
+
|
17 |
+
# Pré-processamento
|
18 |
+
nltk.download('stopwords')
|
19 |
+
stop = stopwords.words('english')
|
20 |
+
df['context'] = df['context'].apply(lambda x: ' '.join([word for word in x.split() if word not in (stop)]))
|
21 |
+
|
22 |
+
# Extração de features
|
23 |
+
vectorizer = TfidfVectorizer()
|
24 |
+
X = vectorizer.fit_transform(df["context"])
|
25 |
+
y = df["storypoint"]
|
26 |
+
|
27 |
+
# Modelos
|
28 |
+
model = LinearRegression()
|
29 |
+
model.fit(X, y)
|
30 |
+
|
31 |
+
dump(vectorizer, "model/vectorizer_tfidflinear.pkl")
|
32 |
+
dump(model, "model/model_tawos_aloy_tfidflinear.pkl")
|
33 |
+
|
34 |
+
|
35 |
+
|
36 |
+
|
gerar_modelos/gerar_modelos_tfidfsvm.py
CHANGED
@@ -28,7 +28,7 @@ y = df["storypoint"]
|
|
28 |
model = svm.SVR()
|
29 |
model.fit(X, y)
|
30 |
|
31 |
-
dump(vectorizer, "model/
|
32 |
dump(model, "model/model_tawos_aloy_tfidfsvm.pkl")
|
33 |
|
34 |
|
|
|
28 |
model = svm.SVR()
|
29 |
model.fit(X, y)
|
30 |
|
31 |
+
dump(vectorizer, "model/vectorizer_tfidfsvm.pkl")
|
32 |
dump(model, "model/model_tawos_aloy_tfidfsvm.pkl")
|
33 |
|
34 |
|
gerar_modelos/temp.py
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
from sklearn.dummy import DummyRegressor
|
2 |
-
import pandas as pd
|
3 |
-
from nltk.corpus import stopwords
|
4 |
-
from joblib import dump
|
5 |
-
|
6 |
-
# carregando os dados
|
7 |
-
df = pd.read_csv("dataset/ALOY_deep-se.csv")
|
8 |
-
|
9 |
-
print(df.shape)
|
10 |
-
|
11 |
-
df = df.iloc[1:df.shape[0]]
|
12 |
-
|
13 |
-
print(df.shape)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
model/model_tawos_aloy_tfidflinear.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:303f877f464839fa0f901c430ac518c5faccad753e8c59dd9c6e80a613c70bb6
|
3 |
+
size 28056
|
model/{vectorizer_tfidf.pkl → vectorizer_tfidflinear.pkl}
RENAMED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
size 102859
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:81af13f0ea1e088c522690d9d75968ad1a9307443066e6cc1af99cb2c22f109f
|
3 |
size 102859
|
model/vectorizer_tfidfsvm.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:81af13f0ea1e088c522690d9d75968ad1a9307443066e6cc1af99cb2c22f109f
|
3 |
+
size 102859
|