IA y Prediccion¶
DataSet¶
DataSet es el contenedor basico para pares X y Y.
from wsbuilder import DataSet
dataset = DataSet(
[[1, 2], [2, 3], [3, 4], [4, 5]],
[[0], [1], [1], [1]],
)
train, test = dataset.split(train_ratio=0.75, shuffle=False)
Metodos utiles:
sample_count(),feature_count(),target_count()copy(),as_xy()shuffle(),split(),batches()describe_features(),describe_targets()standardize(),normalize_min_max()
NeuralNetwork¶
La red neuronal es completamente Python puro.
from wsbuilder import NeuralNetwork
net = NeuralNetwork(
seed=7,
learning_rate=0.3,
loss="binary_cross_entropy",
task="classification",
)
net.add_dense(6, input_size=2, activation="tanh")
net.add_dense(1, activation="sigmoid")
history = net.fit(
[[0, 0], [0, 1], [1, 0], [1, 1]],
[[0], [1], [1], [0]],
epochs=5000,
batch_size=4,
shuffle=False,
)
Capacidades mas visibles:
fitpara regresion.fit_classificationpara etiquetas simbolicas.predict,predict_batch,predict_proba,predict_class.evaluate,accuracy,classification_metrics.predict_with_metricspara reportes de error y confianza.
DenseLayer¶
DenseLayer permite definir capas manuales y se usa como bloque interno del
NeuralNetwork.
Estadistica y error¶
Helpers exportados:
describe_data(values)evaluate_errors(expected, predicted, permissible_error=...)
Devuelven DataSummary y ErrorSummary, ambos con uncertainty().
Entrenamiento en background¶
from wsbuilder import TaskManager, submit_training_task
tasks = TaskManager(max_concurrent=1)
task = submit_training_task(
tasks,
net,
X,
labels,
classification=True,
epochs=1000,
batch_size=4,
shuffle=False,
name="ia-train",
)
history = task.get(timeout=5)
Predictor¶
Predictor es una utilidad matematica aparte para regresion lineal simple.
from wsbuilder import Predictor
predictor = Predictor()
predictor.fit([[1], [2], [3], [4]], [[2], [4], [6], [8]])
prediction, sigma, lower, upper = predictor.predict([5])
Es util cuando quieres prediccion rapida sin configurar una red neuronal.