Creating data from ARFF file
from aiuna import *
d = file("iris.arff").data
print(d.Xd)
"""
['sepallength', 'sepalwidth', 'petallength', 'petalwidth']
"""
print(d.X[:5])
"""
[[5.1 3.5 1.4 0.2]
[4.9 3. 1.4 0.2]
[4.7 3.2 1.3 0.2]
[4.6 3.1 1.5 0.2]
[5. 3.6 1.4 0.2]]
"""
print(d.y[:5])
"""
['Iris-setosa' 'Iris-setosa' 'Iris-setosa' 'Iris-setosa' 'Iris-setosa']
"""
from pandas import DataFrame
print(DataFrame(d.y).value_counts())
"""
Iris-setosa 50
Iris-versicolor 50
Iris-virginica 50
dtype: int64
"""
cessing a data field as a pandas DataFrame
#from aiuna import *
#d = dataset.data # 'iris' is the default dataset
#df = d.X_pd
#print(df.head())
#...
#mycol = d.X_pd["petal length (cm)"]
#print(mycol[:5])
#...
Creating data from numpy arrays
from aiuna import *
import numpy as np
X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
y = np.array([0, 1, 1])
d = new(X=X, y=y)
print(d)
"""
{
"uuid": "06NLDM4mLEMrHPOaJvEBqdo",
"uuids": {
"changed": "3Sc2JjUPMlnNtlq3qdx9Afy",
"X": "13zbQMwRwU3WB8IjMGaXbtf",
"Y": "1IkmDz3ATFmgzeYnzygvwDu"
},
"step": {
"id": "06NLDM4mLEMrHPOT2pd5lzo",
"desc": {
"name": "New",
"path": "aiuna.step.new",
"config": {
"hashes": {
"X": "586962852295d584ec08e7214393f8b2",
"Y": "f043eb8b1ab0a9618ad1dc53a00d759e"
}
}
}
},
"changed": [
"X",
"Y"
],
"X": [
"[[1 2 3]",
" [4 5 6]",
" [7 8 9]]"
],
"Y": [
"[[0]",
" [1]",
" [1]]"
]
}
"""
Checking history
from aiuna import *
d = dataset.data # 'iris' is the default dataset
print(d.history)
"""
{
"02o8BsNH0fhOYFF6JqxwaLF": {
"name": "New",
"path": "aiuna.step.new",
"config": {
"hashes": {
"X": "19b2d27779bc2d2444c11f5cc24c98ee",
"Y": "8baa54c6c205d73f99bc1215b7d46c9c",
"Xd": "0af9062dccbecaa0524ac71978aa79d3",
"Yd": "04ceed329f7c3eb43f93efd981fde313",
"Xt": "60d4f429fcd642bbaf1d976002479ea2",
"Yt": "4660adc31e2c25d02cb751dcb96ecfd3"
}
}
}
}
"""
del d["X"]
print(d.history)
"""
{
"02o8BsNH0fhOYFF6JqxwaLF": {
"name": "New",
"path": "aiuna.step.new",
"config": {
"hashes": {
"X": "19b2d27779bc2d2444c11f5cc24c98ee",
"Y": "8baa54c6c205d73f99bc1215b7d46c9c",
"Xd": "0af9062dccbecaa0524ac71978aa79d3",
"Yd": "04ceed329f7c3eb43f93efd981fde313",
"Xt": "60d4f429fcd642bbaf1d976002479ea2",
"Yt": "4660adc31e2c25d02cb751dcb96ecfd3"
}
}
},
"06fV1rbQVC1WfPelDNTxEPI": {
"name": "Del",
"path": "aiuna.step.delete",
"config": {
"field": "X"
}
}
}
"""
d["Z"] = 42
print(d.Z, type(d.Z))
"""
[[42]] <class 'numpy.ndarray'>
"""
print(d.history)
"""
{
"02o8BsNH0fhOYFF6JqxwaLF": {
"name": "New",
"path": "aiuna.step.new",
"config": {
"hashes": {
"X": "19b2d27779bc2d2444c11f5cc24c98ee",
"Y": "8baa54c6c205d73f99bc1215b7d46c9c",
"Xd": "0af9062dccbecaa0524ac71978aa79d3",
"Yd": "04ceed329f7c3eb43f93efd981fde313",
"Xt": "60d4f429fcd642bbaf1d976002479ea2",
"Yt": "4660adc31e2c25d02cb751dcb96ecfd3"
}
}
},
"06fV1rbQVC1WfPelDNTxEPI": {
"name": "Del",
"path": "aiuna.step.delete",
"config": {
"field": "X"
}
},
"05eIWbfCJS7vWJsXBXjoUAh": {
"name": "Let",
"path": "aiuna.step.let",
"config": {
"field": "Z",
"value": 42
}
}
}
"""
Part of the effort spent in the present code was kindly supported by Fapesp under supervision of Prof. André C. P. L. F. de Carvalho at CEPID-CeMEAI (Grants 2013/07375-0 – 2019/01735-0).
The novel ideias presented here are a result of a years-long process of drafts, thinking, trial/error and rewrittings from scratch in several languages from Delphi, passing through Haskell, Java and Scala to Python - including frustration with well stablished libraries at the time. The fundamental concepts were lightly borrowed from basic category theory concepts like algebraic data structures that permeate many recent tendencies, e.g., in programming language design.
For more details, refer to https://github.com/davips/kururu