IA¶
WSBuilder incluye herramientas sencillas de data science y redes neuronales hechas desde cero.
Bloques¶
DataSetDataSummaryErrorSummaryDenseLayerNeuralNetworkPredictordescribe_dataevaluate_errorssubmit_training_task
Datos¶
from wsbuilder import DataSet, describe_data, evaluate_errors
dataset = DataSet([[1, 2], [2, 3], [3, 4]], [[0], [1], [1]])
train, test = dataset.split(train_ratio=0.67, shuffle=True, seed=42)
summary = describe_data([1.0, 1.2, 0.9, 1.1])
errors = evaluate_errors([10.0, 11.0], [9.8, 11.4], permissible_error=0.5)
Red neuronal¶
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")
Entrenamiento:
history = net.fit_classification(
[[0, 0], [0, 1], [1, 0], [1, 1]],
["no", "yes", "yes", "no"],
epochs=3000,
batch_size=4,
shuffle=False,
)
Prediccion simple¶
Predictor ofrece una alternativa aun mas ligera para regresion lineal basica:
from wsbuilder import Predictor
model = Predictor()
model.fit([[1, 2], [2, 3], [3, 4]], [[2], [3], [4]])
pred, std, lim_inf, lim_sup = model.predict([4, 5])
Trabajo en background¶
from wsbuilder import TaskManager, submit_training_task
tasks = TaskManager(max_concurrent=1)
task = submit_training_task(tasks, net, [[0, 0], [0, 1]], ["no", "yes"], classification=True)
history = task.get(timeout=10)
Recomendacion¶
Si quieres usar estas piezas en serio, manten el entrenamiento pequeno y determinista. Para uso mas amplio, el modulo sirve mejor como base educativa o prototipo rapido que como reemplazo de librerias especializadas.