You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/tex/D_Manual_programador.tex
+1
Original file line number
Diff line number
Diff line change
@@ -304,6 +304,7 @@ \subsection{Estructura de directorios}
304
304
La estructura del repositorio es la siguiente:
305
305
\begin{itemize}
306
306
\item\texttt{/}: raíz del proyecto, aquí se encuentra el README, la licencia, los ficheros de configuración de PIP, los ficheros de configuración de las pruebas de integración y despliegue continuo (CI-CD); y, el fichero de requisitos.
307
+
\item\texttt{experimentation/*}: ficheros con los que se ha realizado la experimentación y generación de resultados.
307
308
\item\texttt{/datasets/*}: conjuntos de datasets en formatos \texttt{csv} y \texttt{arff}, normalizados y no normalizados.
308
309
\item\texttt{/docs/}: documentación del proyecto.
309
310
\item\texttt{/docs/img/}: imágenes utilizadas en la documentación.
A continuación se presenta el manual de usuario de las bibliotecas de algoritmos desarrolladas. Permitiendo a cualquier usuario comprender \texttt{IS-SSL} y poder hacer uso de las mismas.
249
250
\subsection{Requisitos de usuarios}
@@ -262,7 +263,7 @@ \subsection{Instalación}
262
263
El proceso de instalación de cualquiera de las dos bibliotecas es muy sencillo, siendo integrable en cualquier fichero de requerimientos, ya sea para \texttt{PIP} o \texttt{Conda}.
263
264
264
265
Las dos bibliotecas se encuentran publicadas en PyPI\footnote{\textit{Python Package Index} es un repositorio de \textit{software} para el lenguaje de programación de Python.} desde su versión 1.0, la cual fue una primea versión alpha estable con los primeros algoritmos publicados.
265
-
La versión 3.0 es la versión estable (la final) que se ha publicado.
266
+
La versión 3.3 es la versión estable (la final) que se ha publicado.
266
267
267
268
\imagenFlotante{../img/anexos/manual-usuario/PyPI-IS}{Vista de la biblioteca de algoritmos de selección de instancias en PyPI.}{PyPI-IS}
268
269
\imagenFlotante{../img/anexos/manual-usuario/PyPI-SSL}{Vista de la biblioteca de algoritmos de aprendizaje semi-supervisado en PyPI.}{PyPI-SSL}
@@ -289,8 +290,7 @@ \subsection{Manual del usuario}
289
290
A continuación se documentan las funcionalidades de las bibliotecas, desde su importación, a uso y especificación de los diferentes parámetros de entrada y salida esperados. A modo de resumen se puede destacar que todos los algoritmos siguen la misma estructura interna luego el aprendizaje y familizarización es relativamente rápido.
290
291
291
292
\subsubsection{Biblioteca de algoritmos de selección de instancias}
292
-
\textbf{Importar}
293
-
293
+
\textbf{Importar}\\
294
294
Para poder trabajar con los algoritmos de selección de instancias se deben de importar en el fichero en el que se quieran utilizar. Para ello se importan como cualquier otro paquete de Python, supongamos que queremos utilizar el algoritmo ENN, lo importaremos de la siguiente manera:
295
295
296
296
\texttt{from InstanceSelectionDNX import ENN}
@@ -299,8 +299,7 @@ \subsubsection{Biblioteca de algoritmos de selección de instancias}
299
299
300
300
Todos los algoritmos están codificados como \texttt{class} por lo tanto se debe de instanciar antes de poder hacer uso del mismo.
301
301
302
-
\textbf{Uso}
303
-
302
+
\textbf{Uso}\\
304
303
Como se ha comentado al comienzo, todos los algoritmos poseen la misma estructura. Todos ellos poseen el método \texttt{filter} de tal manera que una vez se haya instanciado se podrá llamar al método y se obtendrá como resultado el conjunto de datos reducido.
305
304
306
305
Todos los algoritmos en su instanciación reciben aquellos parámetros que son necesarios para la configuración y su uso posterior, mientras que cuando se realiza el filtrado únicamente reciben el conjunto de datos dividido, por un lado los atributos y por otro lado la clase.
@@ -323,27 +322,21 @@ \subsubsection{Biblioteca de algoritmos de selección de instancias}
323
322
\end{lstlisting}
324
323
325
324
\subsubsection{Biblioteca de algoritmos de aprendizaje semi-supervisado}
326
-
\textbf{Importar}
327
-
325
+
\textbf{Importar}\\
328
326
De manera análoga a la otra biblioteca, importaremos el paquete y seleccionaremos cuál es el algoritmo que se desea utilizar, por ejemplo:
Pudiendo sustituir TriTraining por el algoritmo deseado.\\
334
330
Todos los algoritmos están codificados como \texttt{class} por lo tanto se debe de instanciar antes de poder hacer uso del mismo.
335
331
336
-
\textbf{Uso}
337
-
332
+
\textbf{Uso}\\
338
333
Los algoritmos siguen la misma estructura interna que los propios de \texttt{Scikit-Learn}, por lo que una vez instanciados (con sus respectivos parámetros de configuración) bastará con llamar al método \texttt{fit} de cada uno de ellos, así como para predecir al método correspondiente, denominado \texttt{predict}.
339
334
340
335
\begin{itemize}
341
336
\item\textbf{\texttt{fit}:} recibe como argumentos dos parámetros, las instancias y las etiquetas o clases, siendo -1 aquellas que se desconozcan y se quieran utilizar para entrenar el algoritmo.
342
337
\item\textbf{\texttt{predict}:} recibe únicamente las instancias que se quieren etiquetar. Devuelve estas instancias etiquetadas.
343
338
\end{itemize}
344
339
345
-
Todas las entradas como las salidas deben ser objetos de tipo \texttt{DataFrame} de \texttt{Pandas}.
346
-
347
340
\begin{lstlisting}[language=Python, caption={Ejemplo de uso de IS-SSL}, label={lst:ejemplossl}]
348
341
from SemiSupervisedLearningDNX import TriTraining
349
342
from sklearn.naive_bayes import GaussianNB
@@ -373,7 +366,6 @@ \subsubsection{Biblioteca de algoritmos de aprendizaje semi-supervisado}
373
366
y_pred = model.predict(X_test)
374
367
375
368
\end{lstlisting}
376
-
\vfill
377
369
\subsubsection{Ejemplo de uso combinado de ambas bibliotecas}
378
370
\begin{lstlisting}[language=Python, caption={Ejemplo de uso de IS-SSL}, label={lst:ejemplo}]
0 commit comments