Human Interactions¶
How human experts interact with the system is very crucial. Norm aims to deliver an easy and conversational experience that is able to handle complex modeling tasks. Mutual initiative is the key to streamline the complicated tasks like model debugging and knowledge discovering.
Data Munging¶
Load¶
It loads data from different sources.
Source | Example |
---|---|
mysql | data = load("select * from table", source="mysql") |
spark | data = load("select * from table", source="spark") |
file | data = load("/tmp/table.csv", source="file", mode="csv") |
s3 | data = load("bucket/path", source="s3", mode="csv") |
Insert¶
It inserts loaded data to a function, e.g., Insert(Acquire, data)
. By default, all records from the data become
positive records of Acquire
. However, we can set negative records as well by providing annotations, e.g.,
Insert(Acquire, data, annotations)
, where annotations are a list of floats between [0,1].
It raises conflicts if the data already exists and differs if the policy is strict.
The policy could be overwrite, ignore, average, duplicate and etc.
Update¶
It updates the function with the data.
Delete¶
It delete the records from the data, e.g., Delete(Acquire(google, microsoft))
Annotate¶
It updates the value to a query result, e.g., Annotate(Acquire(google, microsoft), False)
, where False
evaluates to 0. Or one can use Acquire(google, microsoft) = False
to annotate a record.
Visualize¶
It draws graphs for a function, e.g.,
Visualize(Acquire(microsoft, ?comp2, created_on=?time>t'2009') & Develop(comp2, *tech),
type='trending', y=tech, x=time)
Machine Learning¶
Train¶
It trains a function using loaded data, e.g., Train(Acquire, data, annotations, <other parameters>)
.
Test¶
It tests a function using loaded data, e.g., Test(Acquire, data, annotations, <other parameters>)
.
Explain¶
It explains why a function generates such query results
Version Control¶
Commit¶
It commits the existing changes to the current session, e.g., Commit()
or Commit(Acquire)
.
Rollback¶
It reverts the existing changes to the last commit, e.g., Rollback()
.
Merge¶
It merges the changes in current session to master, e.g., Merge(Acquire)
. If the user is the owner of the function,
it merges automatically. Otherwise, a request is issued to the owner. After the owner review the changes, merge will
proceed