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
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -452,8 +452,8 @@ \subsubsection{Uso del proyecto}
452
452
Según la codificación realizada, todos los métodos accesibles de las clases esperan la entrada de objetos de tipo \texttt{DataFrame} de la librería de \texttt{Pandas}. Internamente en función de las operaciones que tenga que realizar, serán convertidos estos objetos a listas de Python o arreglos de \texttt{NumPy}. Independientemente de las operaciones internas, siempre la salida producida (en caso de tenerla) serán objetos de \texttt{Pandas}, no teniendo que ser necesariamente el mismo objeto de entrada modificado, en la mayor parte de las ocasiones serán objetos nuevos.
453
453
454
454
\begin{lstlisting}[language=Python, caption={Ejemplo de uso de IS-SSL}, label={lst:ejemplo}]
455
-
from ssl_dnx import TriTraining
456
-
from is_dnx import ENN
455
+
from SemiSupervisedLearningDNX import TriTraining
456
+
from InstanceSelectionDNX import ENN
457
457
from sklearn.naive_bayes import GaussianNB
458
458
from sklearn.neighbors import KNeighborsClassifier
Copy file name to clipboardExpand all lines: docs/tex/E_Manual_usuario.tex
+86Lines changed: 86 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -67,4 +67,90 @@ \subsection{Instalación}
67
67
68
68
\subsection{Manual del usuario}
69
69
70
+
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.
70
71
72
+
\subsubsection{Biblioteca de algoritmos de selección de instancias}
73
+
\textbf{Importar}
74
+
75
+
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:
76
+
77
+
\texttt{from InstanceSelectionDNX import ENN}
78
+
79
+
De esta forma podemos sustituir ENN por el algoritmo que deseemos de entre los disponibles y tenerlo a nuestra disposición para su uso.
80
+
81
+
Todos los algoritmos están codificados como \texttt{class} por lo tanto se debe de instanciar antes de poder hacer uso del mismo.
82
+
83
+
\textbf{Uso}
84
+
85
+
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.
86
+
87
+
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.
88
+
89
+
Tanto las entradas como las salidas deben ser objetos de tipo \texttt{DataFrame} de \texttt{Pandas}.
90
+
91
+
\begin{lstlisting}[language=python, caption={Ejemplo de uso de ENN}]]
92
+
from InstanceSelectionDNX import ENN
93
+
import pandas as pd
94
+
95
+
data = pd.DataFrame([[1, 2, 3, 4],
96
+
[4, 3, 2, 1],
97
+
[1, 2, 4, 3],
98
+
[2, 1, 3, 4]])
99
+
target = pd.DataFrame([0, 0, 1, 1])
100
+
101
+
model = ENN(nearest_neighbors=3, power_parameter=2)
102
+
103
+
data_red, label_red = model.filter(data, target)
104
+
\end{lstlisting}
105
+
106
+
\subsubsection{Biblioteca de algoritmos de aprendizaje semi-supervisado}
107
+
\textbf{Importar}
108
+
109
+
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.
114
+
115
+
Todos los algoritmos están codificados como \texttt{class} por lo tanto se debe de instanciar antes de poder hacer uso del mismo.
116
+
117
+
\textbf{Uso}
118
+
119
+
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}.
120
+
121
+
\begin{itemize}
122
+
\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.
123
+
\item\textbf{\texttt{Predict}:} recibe únicamente las instancias que se quieren etiquetar. Devuelve estas instancias etiquetadas.
124
+
\end{itemize}
125
+
126
+
Todas las entradas como las salidas deben ser objetos de tipo \texttt{DataFrame} de \texttt{Pandas}.
127
+
128
+
\begin{lstlisting}[language=Python, caption={Ejemplo de uso de IS-SSL}, label={lst:ejemplo}]
129
+
from SemiSupervisedLearningDNX import TriTraining
130
+
from sklearn.naive_bayes import GaussianNB
131
+
from sklearn.neighbors import KNeighborsClassifier
0 commit comments