giseldo commited on
Commit
f34d18f
·
1 Parent(s): e6d4fdd

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/vectorizer_tfidf.pkl")
 
 
 
 
 
 
 
 
 
 
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
- title="Agile Task Story Point Estimator - TAWOS - Alloy",
 
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/vectorizer_tfidf.pkl")
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:2b41fefa5560f7e858462dad642e89e5274da92e03ab69291e18127a835fad5f
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