Skip to content

Instantly share code, notes, and snippets.

@johannesjh
Last active August 24, 2023 20:49
Show Gist options
  • Save johannesjh/956179856957348e4fad48514b9824fc to your computer and use it in GitHub Desktop.
Save johannesjh/956179856957348e4fad48514b9824fc to your computer and use it in GitHub Desktop.
beancount fava machine learning
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"source": [
"# Beancount Machine Learning\n",
"\n",
"This notebook develops a code example \n",
" for how to apply machine learning (using scikit-learn) to beancount transaction data, \n",
" with the specific purpose of developing a smart importer\n",
" with the ability to predict account names based on an imported transaction's properties \n",
" such as payee, narrative, and date."
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"## Introduction\n",
"\n",
"The usage scenario is \n",
"that a user wants to import transactions for a specific account, \n",
" e.g., from a CSV file that she downloaded from a bank. \n",
"Since only one of two account names is typically known \n",
"for any transaction that is to be imported, \n",
"a smart importer shall predict and suggest \n",
"the other, unknown account name to the user.\n",
"\n",
"The prediction of account names \n",
"is implemented using machine learning \n",
"based on previous transactions.\n",
"It involves the following steps:\n",
"\n",
"* Data preparation: The following code takes beancount transactions as input and prepares this data so it can be used for machine learning.\n",
"* Machine learning algorithm: Both textual and numerical transaction features (e.g., payee, narration, day of week) are used to train a classifier that predicts account names.\n",
"* Machine learning implementation: This notebook uses the scikit-learn library to implement machine learning. More specifically, it uses feature unions to aggregate textual and numerical features, which are piped to an SVC classifier."
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"## Todos / Open Issues\n",
"\n\n",
"### Avoid Suggesting Closed Accounts\n",
"\n",
"* The list of suggestions should include \n",
" _every_ account found in the beancount data \n",
" (not just those accounts related to the current import), \n",
"* but the list should exclude closed accounts.\n",
"\n\n",
"### Incremental Learning\n",
"\n",
"Motivation: \n",
"When a user works through the import process, \n",
" it would be nice if the importer could \n",
" continuously learn from user input.\n",
"\n",
"Solution:\n",
"Use an algorithm that supports incremental learning.\n",
"See, e.g.,\n",
"\n",
"* Official scikit-learn documentation, [Incremental learning](http://scikit-learn.org/stable/modules/scaling_strategies.html#incremental-learning)\n",
"* Stackoverflow, [Does the SVM in sklearn support incremental (online) learning?](https://stackoverflow.com/q/23056460)\n",
"\n\n",
"### Progress Indicators\n",
"\n",
"Motivation: \n",
"Training a machine model can take a long time; \n",
"it would therefore make sense to display a progress indicator in the UI.\n",
"\n",
"Solution:\n",
"This seems to be easiest when using incremental learning, \n",
" as explained in \n",
" [scikit-learn github issue #7574](https://github.com/scikit-learn/scikit-learn/issues/7574#issuecomment-315313779)\n",
"\n\n",
"### Integration into beancount or fava\n",
"\n",
"Ultimately, the goal is to integrate this code \n",
" into beancount or fava \n",
" in some way or another that still needs to be defined,\n",
"e.g.,\n",
" as a beancount importer\n",
" and/or as a new fava GUI feature. \n",
"\n"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"## Data preparation\n",
"\n",
"The following steps generate and prepare example data.\n"
],
"metadata": {}
},
{
"cell_type": "code",
"source": [
"# Generate example data for subsequent machine learning\n",
"\n",
"def read_beancount_data():\n",
" '''\n",
" reads beancount data and returns it as string.\n",
" note: in real-world usage, this method would normally read a beancount file,\n",
" but for the purpose of this demo, we will create example data on the fly.\n",
" '''\n",
" from beancount.scripts.example import write_example_file\n",
" import io\n",
" import datetime\n",
"\n",
" today = datetime.date.today()\n",
" default_years = 5\n",
" f = io.StringIO()\n",
" write_example_file(datetime.date(1980, 5, 12),datetime.date(today.year - default_years, 1, 1),datetime.date.today(),True,f)\n",
" beancount_data_string = f.getvalue()\n",
" return beancount_data_string\n",
"\n",
"beancount_data_string = read_beancount_data()\n",
"beancount_data_string_length = len(beancount_data_string.splitlines())\n",
"print('Generated {} lines of example data'.format(beancount_data_string_length))\n",
"# print(beancount_data_string)"
],
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Generated 13864 lines of example data\n"
]
}
],
"execution_count": 1,
"metadata": {
"scrolled": true
}
},
{
"cell_type": "code",
"source": [
"# Parse the example data\n",
"\n",
"def parse_entries(beancount_data_string: str):\n",
" '''\n",
" parses a beancount data string into a list of beancount transactions.\n",
" '''\n",
" from beancount.parser import parser\n",
" from beancount import loader\n",
" from beancount.core.data import Transaction\n",
" \n",
" # parse the example data string into beancount objects\n",
" # \n",
" # Note that the beancount.loader.load_string function not just parses the string of beancount input, \n",
" # but also interprets the input, e.g., by executing plugins, completing omitted amounts etc.\n",
" # This is in contrast to beancount.parser.parser.parse_string, \n",
" # which would only parse the input and return data that exactly matches the input. \n",
" entries, errors, options = loader.load_string(beancount_data_string)\n",
"\n",
" # Don't tolerate errors.\n",
" if errors:\n",
" oss = io.StringIO()\n",
" printer.print_errors(errors, file=oss)\n",
" raise Exception(\"Error, could not parse the beancount file correctly. {}\".format(oss.getvalue()))\n",
" \n",
" return [ e for e in entries if isinstance(e, Transaction) ]\n",
"\n",
"parsed_transactions = parse_entries(beancount_data_string)\n",
"print ('Parsed {} transactions from example data.'.format(len(parsed_transactions)))\n",
"# print(parsed_transactions[0])"
],
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Parsed 2244 transactions from example data.\n"
]
}
],
"execution_count": 2,
"metadata": {}
},
{
"cell_type": "code",
"source": [
"# Filter the example data by account.\n",
"\n",
"# Since one importer is for just one account, we can omit all those transactions \n",
"# from the machine learning that do not involve that account.\n",
"\n",
"from typing import List\n",
"from beancount.core.data import Transaction\n",
"\n",
"def filter_transactions_by_account(transactions: List[Transaction], account: str):\n",
" '''\n",
" filters transactions to only include those involving a specific account.\n",
" '''\n",
"\n",
" def involves_account(transaction: Transaction, account: str):\n",
" '''\n",
" returns true if the transactions involes a specific account,\n",
" i.e., if any one of the transaction's postings uses the specified account name.\n",
" '''\n",
" return any([posting.account == account for posting in transaction.postings])\n",
"\n",
" return [t for t in transactions if involves_account(t, account)]\n",
"\n\n",
"account = 'Assets:US:BofA:Checking'\n",
"# print(involves_account(parsed_transactions[1], 'Assets:US:BofA:Checking'))\n",
"\n",
"account_transactions = filter_transactions_by_account(parsed_transactions, account)\n",
"print ('A total of {} transactions involve the account {}.'.format(len(account_transactions), account))"
],
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"A total of 601 transactions involve the account Assets:US:BofA:Checking.\n"
]
}
],
"execution_count": 3,
"metadata": {
"inputHidden": false,
"outputHidden": false
}
},
{
"cell_type": "code",
"source": [
"# Filter scarce data (optional step)\n",
"\n",
"# Optionally and only for evaluating the machine learning algorithm,\n",
"# we can omit scarce data that cannot be split into training and test datasets.\n",
"\n",
"def filter_transactions(transactions, min_popularity=3, max_postings=2, debug=False):\n",
" '''\n",
" This function filters transactions to ease the evaluation of machine learning performance.\n",
" Note: There is no need to use this filter in a real-world scenario,\n",
" because this filter is only meant for evaluation purposes.\n",
" '''\n",
" \n",
" # 1. count the number of occurrences of each account\n",
" from collections import Counter\n",
" accounts_in_postings = [posting.account \n",
" for transaction in transactions \n",
" for posting in transaction.postings]\n",
" occurrences = Counter(accounts_in_postings)\n",
" if debug: \n",
" print('Equity:Opening-Balances occurs {} times.'\n",
" .format(occurrences['Equity:Opening-Balances']))\n",
"\n",
" # 2. filter the list of transaction:\n",
" # * remove all transactions involving accounts with less than <min_popularity> occurrences.\n",
" # * also remove transactions with more than <max_postings> postings.\n",
" def is_popular(transaction):\n",
" return all([occurrences[posting.account] >= min_popularity for posting in transaction.postings])\n",
" \n",
" def has_max_postings(transaction):\n",
" return len(transaction.postings) <= max_postings\n",
" \n",
" filtered_transactions = [transaction for transaction in transactions \n",
" if is_popular(transaction) & has_max_postings(transaction)]\n",
" if debug: \n",
" t = transactions[0]\n",
" print(\"This transaction: {} \\n...is {}popular\"\n",
" .format(t, 'not ' if not is_popular(t) else ''))\n",
" \n",
" # 3. return the filtered list of transactions:\n",
" return filtered_transactions\n",
"\n\n",
"transactions_cl = filter_transactions(account_transactions)\n",
"print ('After filtering, there are {} transactions remaining.'.format(len(transactions_cl)))"
],
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"After filtering, there are 447 transactions remaining.\n"
]
}
],
"execution_count": 4,
"metadata": {
"scrolled": true
}
},
{
"cell_type": "code",
"source": [
"# Convert the list of beancount transactions into a data structure\n",
"# more suitable for machine learning.\n",
"\n",
"transactions, accounts = zip(*[\n",
" ({\n",
" 'date_day': transaction.date.day, \n",
" 'date_month': transaction.date.month, \n",
" 'payee': transaction.payee, \n",
" 'narration': transaction.narration\n",
" }, posting.account) \n",
" for transaction in transactions_cl \n",
" for posting in transaction.postings \n",
" if posting.account != account])\n",
"\n",
"print(\"example transaction and account:\")\n",
"print(transactions[0], accounts[0])"
],
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"example transaction and account:\n",
"{'date_day': 4, 'date_month': 1, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'} Expenses:Financial:Fees\n"
]
}
],
"execution_count": 5,
"metadata": {
"inputHidden": false,
"outputHidden": false
}
},
{
"cell_type": "markdown",
"source": [
"## Machine Learning\n",
"\n",
"The following code splits the example data into two datasets, \n",
"one for training the machine learning algorithm, \n",
"the other for evaluation the accuracy of the machine learning's predictions.\n",
"\n",
"As for the actual machine learning, multiple features of a transaction \n",
"(including the narration, payee, day of week and day of month)\n",
"are joined into a feature union. \n",
"A classifier is then trained to predict account names based on these features."
],
"metadata": {}
},
{
"cell_type": "code",
"source": [
"# Machine learning: Use feature union to combine multiple features\n",
"\n",
"import numpy as np\n",
"from sklearn.base import BaseEstimator, TransformerMixin\n",
"from sklearn.pipeline import FeatureUnion\n",
"from sklearn.pipeline import Pipeline\n",
"from sklearn.svm import SVC\n",
"from sklearn.feature_extraction.text import TfidfVectorizer\n",
"from sklearn.feature_extraction.text import CountVectorizer\n",
"from sklearn.metrics import accuracy_score\n",
"from sklearn.metrics import f1_score\n",
"from sklearn.metrics import classification_report\n",
"from sklearn.model_selection import train_test_split\n",
"\n\n",
"# Helper classes\n",
"\n",
"class ItemSelector(BaseEstimator, TransformerMixin):\n",
" \"\"\"For data grouped by feature, select subset of data at a provided key.\n",
"\n",
" The data is expected to be stored in a 2D data structure, where the first\n",
" index is over features and the second is over samples. i.e.\n",
"\n",
" >> len(data[key]) == n_samples\n",
"\n",
" Please note that this is the opposite convention to scikit-learn feature\n",
" matrixes (where the first index corresponds to sample).\n",
"\n",
" ItemSelector only requires that the collection implement getitem\n",
" (data[key]). Examples include: a dict of lists, 2D numpy array, Pandas\n",
" DataFrame, numpy record array, etc.\n",
"\n",
" >> data = {'a': [1, 5, 2, 5, 2, 8],\n",
" 'b': [9, 4, 1, 4, 1, 3]}\n",
" >> ds = ItemSelector(key='a')\n",
" >> data['a'] == ds.transform(data)\n",
"\n",
" ItemSelector is not designed to handle data grouped by sample. (e.g. a\n",
" list of dicts). If your data is structured this way, consider a\n",
" transformer along the lines of `sklearn.feature_extraction.DictVectorizer`.\n",
"\n",
" Parameters\n",
" ----------\n",
" key : hashable, required\n",
" The key corresponding to the desired value in a mappable.\n",
" \"\"\"\n",
" def __init__(self, key):\n",
" self.key = key\n",
"\n",
" def fit(self, x, y=None):\n",
" return self\n",
"\n",
" def transform(self, data_dict):\n",
" return data_dict[self.key]\n",
" \n",
"class StatusPrinter(BaseEstimator, TransformerMixin):\n",
" def __init__(self):\n",
" pass\n",
"\n",
" def fit(self, x, y=None):\n",
" return self\n",
"\n",
" def transform(self, data):\n",
" print(data)\n",
" return data\n",
" \n",
"class ArrayCaster(BaseEstimator, TransformerMixin):\n",
" def fit(self, x, y=None):\n",
" return self\n",
"\n",
" def transform(self, data):\n",
" print(data.shape)\n",
" print(np.transpose(np.matrix(data)).shape)\n",
" return np.transpose(np.matrix(data))\n",
"\n",
" \n",
"# Machine learning pipeline\n",
"\n",
"pipeline = Pipeline([\n",
" # Use FeatureUnion to combine the features from subject and body\n",
" ('union', FeatureUnion(\n",
" transformer_list=[\n",
"\n",
" # Pipeline for narration\n",
" ('narrationA', Pipeline([\n",
" ('selector', ItemSelector(key='narration')),\n",
"# ('tfidf', TfidfVectorizer(min_df=2)),\n",
" ('countvectorizer', CountVectorizer(ngram_range=(1, 3))),\n",
"# ('printer', StatusPrinter()),\n",
"# ('logisticregression', LogisticRegression()),\n",
" ])),\n",
"\n",
" # Pipeline day\n",
" ('date_dayA', Pipeline([\n",
" ('selector', ItemSelector(key='date_day')),\n",
"# ('svc', SVC()),\n",
" ('caster', ArrayCaster()) # need for issues with data shape\n",
" ])),\n",
"\n\n",
" # Pipeline month (DAY AND MONTH SHOULD BE IN ONE ESTIMATOR)\n",
" ('date_month', Pipeline([\n",
" ('selector', ItemSelector(key='date_month')),\n",
"# ('svc', SVC()),\n",
" ('caster', ArrayCaster())\n",
" ])),\n",
"\n",
" ],\n",
"\n",
" # weight components in FeatureUnion\n",
" transformer_weights={\n",
" 'narration': 0.8,\n",
" 'date_day': 0.5,\n",
" 'date_month': 0.1,\n",
" },\n",
" )),\n",
"\n",
" # Use a SVC classifier on the combined features\n",
" ('svc', SVC(kernel='linear')),\n",
"])\n",
"\n\n",
"# Split into training data and test data\n",
"X_train, X_test, y_train, y_test = train_test_split(transactions, accounts, random_state=0)\n",
"# X_train = transactions\n",
"# y_train = accounts\n",
"\n",
"# Learn from training data\n",
"transactionkeys = ['narration', 'date_day', 'date_month']\n",
"tdict = {k: np.array([t[k] for t in X_train]) for k in transactionkeys}\n",
"print([len(tdict[k]) for k in transactionkeys])\n",
"pipeline.fit(tdict, y_train)\n",
"\n",
"# Predict test data and measure the accuracy of this prediction\n",
"tdict = {k: np.array([t[k] for t in X_test]) for k in transactionkeys}\n",
"pred = pipeline.predict(tdict)\n",
"\n",
"print('accuracy:', accuracy_score(y_test, pred))\n",
"print('micro f1 score:', f1_score(y_test, pred, average='micro'))\n",
"print('macro f1 score:', f1_score(y_test, pred, average='macro'))\n",
"print('classification report')\n",
"print(classification_report(y_test, pred))\n"
],
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"[335, 335, 335]\n",
"(335,)\n",
"(335, 1)\n",
"(335,)\n",
"(335, 1)\n",
"(112,)\n",
"(112, 1)\n",
"(112,)\n",
"(112, 1)\n",
"accuracy: 1.0\n",
"micro f1 score: 1.0\n",
"macro f1 score: 1.0\n",
"classification report\n",
" precision recall f1-score support\n",
"\n",
" Assets:US:ETrade:Cash 1.00 1.00 1.00 3\n",
" Expenses:Financial:Fees 1.00 1.00 1.00 14\n",
" Expenses:Home:Electricity 1.00 1.00 1.00 17\n",
" Expenses:Home:Internet 1.00 1.00 1.00 17\n",
" Expenses:Home:Phone 1.00 1.00 1.00 19\n",
" Expenses:Home:Rent 1.00 1.00 1.00 22\n",
"Liabilities:AccountsPayable 1.00 1.00 1.00 3\n",
" Liabilities:US:Chase:Slate 1.00 1.00 1.00 17\n",
"\n",
" avg / total 1.00 1.00 1.00 112\n",
"\n"
]
}
],
"execution_count": 6,
"metadata": {}
},
{
"cell_type": "code",
"source": [
"# optimize parameters\n",
"#param_grid = {'logisticregression__C': [0.001, 0.01, 0.1, 1, 10, 100],\n",
"# 'countvectorizer__ngram_range': [(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6)]}\n",
"#grid = GridSearchCV(pipe, param_grid, cv=5)\n",
"#grid.fit(X_train, y_train)\n",
"#print('Best cross-validation score: ', grid.best_score_)\n",
"#print('Best parameters:', grid.best_params_)\n",
"#scores = grid.cv_results_['mean_test_score']\n",
"#print(scores)"
],
"outputs": [],
"execution_count": null,
"metadata": {
"inputHidden": false,
"outputHidden": false
}
},
{
"cell_type": "code",
"source": [
"# Print a summary of predicted account names\n",
"def pretty_print_suggested_accounts():\n",
" '''\n",
" Prints the predictions made by machine learning,\n",
" as well as if the predictions were correct.\n",
" '''\n",
" print('Machine learning suggested the following accounts based on transaction data:')\n",
" for item, predicted_label, correct_label in zip(X_test, pred, y_test):\n",
" print('\\n{}'.format(item))\n",
" if predicted_label != correct_label: print(' ✗ {label}'.format(label=predicted_label)) \n",
" print(' ✓ {label}'.format(label=correct_label))\n",
"\n",
"pretty_print_suggested_accounts()\n"
],
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Machine learning suggested the following accounts based on transaction data:\n",
"\n",
"{'date_day': 9, 'date_month': 9, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 9, 'date_month': 6, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 18, 'date_month': 12, 'payee': None, 'narration': 'Transfering accumulated savings to other account'}\n",
" ✓ Assets:US:ETrade:Cash\n",
"\n",
"{'date_day': 8, 'date_month': 5, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 8, 'date_month': 11, 'payee': None, 'narration': 'Transfering accumulated savings to other account'}\n",
" ✓ Assets:US:ETrade:Cash\n",
"\n",
"{'date_day': 6, 'date_month': 10, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 4, 'date_month': 3, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
" ✓ Expenses:Financial:Fees\n",
"\n",
"{'date_day': 4, 'date_month': 7, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
" ✓ Expenses:Financial:Fees\n",
"\n",
"{'date_day': 4, 'date_month': 10, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
" ✓ Expenses:Financial:Fees\n",
"\n",
"{'date_day': 18, 'date_month': 3, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 7, 'date_month': 12, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 21, 'date_month': 9, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 22, 'date_month': 9, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 3, 'date_month': 3, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 19, 'date_month': 7, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 11, 'date_month': 4, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 9, 'date_month': 8, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 6, 'date_month': 1, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 19, 'date_month': 2, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 22, 'date_month': 4, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 23, 'date_month': 1, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 6, 'date_month': 7, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 20, 'date_month': 4, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 18, 'date_month': 7, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 6, 'date_month': 11, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 8, 'date_month': 5, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 20, 'date_month': 10, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 20, 'date_month': 11, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 8, 'date_month': 2, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 21, 'date_month': 3, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 8, 'date_month': 10, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 23, 'date_month': 7, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 9, 'date_month': 1, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 9, 'date_month': 10, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 8, 'date_month': 10, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 4, 'date_month': 3, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
" ✓ Expenses:Financial:Fees\n",
"\n",
"{'date_day': 4, 'date_month': 11, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
" ✓ Expenses:Financial:Fees\n",
"\n",
"{'date_day': 9, 'date_month': 4, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 8, 'date_month': 10, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 23, 'date_month': 7, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 4, 'date_month': 1, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 21, 'date_month': 7, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 9, 'date_month': 4, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 8, 'date_month': 12, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 4, 'date_month': 12, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
" ✓ Expenses:Financial:Fees\n",
"\n",
"{'date_day': 19, 'date_month': 1, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 19, 'date_month': 10, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 3, 'date_month': 3, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 20, 'date_month': 10, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 6, 'date_month': 7, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 23, 'date_month': 2, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 27, 'date_month': 3, 'payee': None, 'narration': 'STATE TAX & FINANC PYMT'}\n",
" ✓ Liabilities:AccountsPayable\n",
"\n",
"{'date_day': 3, 'date_month': 2, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 8, 'date_month': 12, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 9, 'date_month': 8, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 23, 'date_month': 11, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 9, 'date_month': 3, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 23, 'date_month': 4, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 23, 'date_month': 8, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 23, 'date_month': 4, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 9, 'date_month': 11, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 4, 'date_month': 6, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
" ✓ Expenses:Financial:Fees\n",
"\n",
"{'date_day': 4, 'date_month': 10, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 18, 'date_month': 6, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 19, 'date_month': 6, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 11, 'date_month': 8, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 3, 'date_month': 2, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 23, 'date_month': 3, 'payee': None, 'narration': 'STATE TAX & FINANC PYMT'}\n",
" ✓ Liabilities:AccountsPayable\n",
"\n",
"{'date_day': 6, 'date_month': 3, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 7, 'date_month': 8, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 5, 'date_month': 7, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 20, 'date_month': 2, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 4, 'date_month': 3, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
" ✓ Expenses:Financial:Fees\n",
"\n",
"{'date_day': 12, 'date_month': 10, 'payee': None, 'narration': 'Transfering accumulated savings to other account'}\n",
" ✓ Assets:US:ETrade:Cash\n",
"\n",
"{'date_day': 8, 'date_month': 8, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 8, 'date_month': 4, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 4, 'date_month': 9, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
" ✓ Expenses:Financial:Fees\n",
"\n",
"{'date_day': 8, 'date_month': 11, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 8, 'date_month': 10, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 5, 'date_month': 5, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 23, 'date_month': 8, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 9, 'date_month': 1, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 21, 'date_month': 11, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 4, 'date_month': 5, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
" ✓ Expenses:Financial:Fees\n",
"\n",
"{'date_day': 5, 'date_month': 1, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 20, 'date_month': 8, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 6, 'date_month': 10, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 20, 'date_month': 1, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 20, 'date_month': 4, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 3, 'date_month': 9, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 11, 'date_month': 9, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 3, 'date_month': 1, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 8, 'date_month': 5, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 9, 'date_month': 8, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 4, 'date_month': 8, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
" ✓ Expenses:Financial:Fees\n",
"\n",
"{'date_day': 4, 'date_month': 2, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 18, 'date_month': 1, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 27, 'date_month': 3, 'payee': None, 'narration': 'FEDERAL TAXPYMT'}\n",
" ✓ Liabilities:AccountsPayable\n",
"\n",
"{'date_day': 8, 'date_month': 1, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 3, 'date_month': 5, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 8, 'date_month': 7, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 8, 'date_month': 2, 'payee': 'EDISON POWER', 'narration': ''}\n",
" ✓ Expenses:Home:Electricity\n",
"\n",
"{'date_day': 4, 'date_month': 8, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 22, 'date_month': 1, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 22, 'date_month': 6, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
" ✓ Expenses:Home:Internet\n",
"\n",
"{'date_day': 18, 'date_month': 9, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 9, 'date_month': 11, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
" ✓ Liabilities:US:Chase:Slate\n",
"\n",
"{'date_day': 4, 'date_month': 2, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
" ✓ Expenses:Financial:Fees\n",
"\n",
"{'date_day': 4, 'date_month': 2, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
" ✓ Expenses:Home:Rent\n",
"\n",
"{'date_day': 4, 'date_month': 3, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
" ✓ Expenses:Financial:Fees\n",
"\n",
"{'date_day': 18, 'date_month': 4, 'payee': 'Verizon Wireless', 'narration': ''}\n",
" ✓ Expenses:Home:Phone\n",
"\n",
"{'date_day': 4, 'date_month': 12, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
" ✓ Expenses:Financial:Fees\n"
]
}
],
"execution_count": 7,
"metadata": {
"inputHidden": false,
"outputHidden": false
}
},
{
"cell_type": "markdown",
"source": [
"## Ranked Suggestions\n",
"\n",
"Motivation: \n",
"Ideally, we don't want machine learning to output \n",
" just one predicted account per transaction,\n",
"but a ranked list of accounts.\n",
"This list could populate a dropdown box in the import GUI.\n",
"\n",
"Technical solution:\n",
"SVC's `decision_function` returns distance values (similar to probability values, but scaled differently) for each class, \n",
"as explained [on stackoverflow](https://stackoverflow.com/questions/17017882/scikit-learn-predict-proba-gives-wrong-answers)\n",
"and as documented [in the scikit-learn documentation](http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC.decision_function).\n",
"\n",
"Tutorials / solutions from related work:\n",
"\n",
"* [Scikit classification comparison/ranking](https://stackoverflow.com/a/29786886) ...stackoverflow question and answer pointing to the `predict_proba` function.\n",
"* [Scikit-learn predict_proba gives wrong answers](https://stackoverflow.com/questions/17017882/scikit-learn-predict-proba-gives-wrong-answers) ...clarification on how to use the `predict_proba` function correctly, or how to use the `decision_function` instead, which gives better results than `predict_proba` on small datasets, and it is consistent with the `predict` function.\n",
"* [SVC Scores and probabilities](http://scikit-learn.org/stable/modules/svm.html#scores-and-probabilities) ...official scikit-learn documentation about the `predict_proba` function in the context of SVM classifiers.\n",
"* [How does sklearn.svm.svc's function predict_proba() work internally?](https://stackoverflow.com/q/15111408) ...explanation of the internal, mathematical workings.\n",
"\n"
],
"metadata": {}
},
{
"cell_type": "code",
"source": [
"# calculate ranked suggestions, suitable for displaying in the GUI\n",
"\n",
"def get_suggestions():\n",
" '''\n",
" This function creates a ranked list of suggested account names\n",
" for each transaction in the test data.\n",
" '''\n",
" \n",
" # get values from the SVC decision function:\n",
" decision_values = pipeline.decision_function(tdict)\n",
" \n",
" # add a human-readable class label to each value, and sort by value:\n",
" suggestions = [sorted(list(zip(distance_values, pipeline.classes_)), \n",
" key=lambda x: x[0], reverse=True) \n",
" for distance_values in decision_values]\n",
" return suggestions \n",
"\n\n",
"# get suggestions and add the original transaction data\n",
"suggestions = get_suggestions()\n",
"transactions_with_suggestions = list(zip(X_test, suggestions))\n",
"\n",
"# print transactions with suggestions:\n",
"for transaction_with_suggestions in transactions_with_suggestions:\n",
" print('\\nimported transaction:')\n",
" print(transaction_with_suggestions[0])\n",
" print('ranked list of suggested accounts for the above transaction:')\n",
" for suggestion in transaction_with_suggestions[1]:\n",
" print(suggestion)\n",
"\n"
],
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"(112,)\n",
"(112, 1)\n",
"(112,)\n",
"(112, 1)\n",
"\n",
"imported transaction:\n",
"{'date_day': 9, 'date_month': 9, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1040924769795408, 'Expenses:Home:Electricity')\n",
"(6.0496533021035015, 'Liabilities:US:Chase:Slate')\n",
"(5.006157313183472, 'Expenses:Home:Rent')\n",
"(3.9912500088470133, 'Expenses:Financial:Fees')\n",
"(3.3629872060815624, 'Expenses:Home:Phone')\n",
"(1.6996984531948178, 'Expenses:Home:Internet')\n",
"(0.84751701189763295, 'Liabilities:AccountsPayable')\n",
"(-0.06135577228754107, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 9, 'date_month': 6, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1203184466369933, 'Liabilities:US:Chase:Slate')\n",
"(6.0745981446623061, 'Expenses:Home:Electricity')\n",
"(4.9974361138137899, 'Expenses:Home:Rent')\n",
"(3.978961557078903, 'Expenses:Financial:Fees')\n",
"(3.3586458031708699, 'Expenses:Home:Phone')\n",
"(1.6973674812315582, 'Expenses:Home:Internet')\n",
"(0.84567738683005722, 'Liabilities:AccountsPayable')\n",
"(-0.073004933424476934, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 18, 'date_month': 12, 'payee': None, 'narration': 'Transfering accumulated savings to other account'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0951636221273251, 'Assets:US:ETrade:Cash')\n",
"(6.1326984302440737, 'Expenses:Home:Phone')\n",
"(4.9710117813190786, 'Expenses:Home:Internet')\n",
"(3.9636429714761308, 'Liabilities:AccountsPayable')\n",
"(3.1035639647754563, 'Expenses:Home:Electricity')\n",
"(2.0085613563890758, 'Liabilities:US:Chase:Slate')\n",
"(0.87142855989785784, 'Expenses:Home:Rent')\n",
"(-0.14607068622899827, 'Expenses:Financial:Fees')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 5, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1011770255618032, 'Expenses:Home:Electricity')\n",
"(6.0523572456664292, 'Liabilities:US:Chase:Slate')\n",
"(5.0189992607122687, 'Expenses:Home:Rent')\n",
"(4.0043781838210455, 'Expenses:Financial:Fees')\n",
"(3.3855934851174379, 'Expenses:Home:Phone')\n",
"(1.666571882108179, 'Expenses:Home:Internet')\n",
"(0.83248694929791511, 'Liabilities:AccountsPayable')\n",
"(-0.061564032285078563, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 11, 'payee': None, 'narration': 'Transfering accumulated savings to other account'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0972165568499541, 'Assets:US:ETrade:Cash')\n",
"(6.0743581627553782, 'Expenses:Home:Electricity')\n",
"(5.0356006715655237, 'Liabilities:US:Chase:Slate')\n",
"(3.9998416290282122, 'Expenses:Home:Rent')\n",
"(2.985232992614991, 'Expenses:Financial:Fees')\n",
"(2.3587797429268034, 'Expenses:Home:Phone')\n",
"(0.63975470688982572, 'Expenses:Home:Internet')\n",
"(-0.19078446263068921, 'Liabilities:AccountsPayable')\n",
"\n",
"imported transaction:\n",
"{'date_day': 6, 'date_month': 10, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938577096214415, 'Expenses:Home:Rent')\n",
"(6.0762594215856298, 'Expenses:Home:Electricity')\n",
"(5.0543382363218097, 'Liabilities:US:Chase:Slate')\n",
"(4.0161166436254607, 'Expenses:Financial:Fees')\n",
"(3.4292771966150903, 'Expenses:Home:Phone')\n",
"(1.5993790489185973, 'Expenses:Home:Internet')\n",
"(0.8001535461793079, 'Liabilities:AccountsPayable')\n",
"(-0.069381802867337583, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 3, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938526526633865, 'Expenses:Financial:Fees')\n",
"(6.0569564454803935, 'Expenses:Home:Rent')\n",
"(5.0821831835091986, 'Expenses:Home:Electricity')\n",
"(4.0564716118138682, 'Liabilities:US:Chase:Slate')\n",
"(3.4752287562885491, 'Expenses:Home:Phone')\n",
"(1.533523275091708, 'Expenses:Home:Internet')\n",
"(0.77035602247661628, 'Liabilities:AccountsPayable')\n",
"(-0.068571947323720628, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 7, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938549018022243, 'Expenses:Financial:Fees')\n",
"(6.0569557884385867, 'Expenses:Home:Rent')\n",
"(5.0821779232176407, 'Expenses:Home:Electricity')\n",
"(4.0564715994597318, 'Liabilities:US:Chase:Slate')\n",
"(3.4752306560140855, 'Expenses:Home:Phone')\n",
"(1.5335241608801315, 'Expenses:Home:Internet')\n",
"(0.76993276010639655, 'Liabilities:AccountsPayable')\n",
"(-0.06814778991879708, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 10, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938565886563527, 'Expenses:Financial:Fees')\n",
"(6.0569552956572323, 'Expenses:Home:Rent')\n",
"(5.0821739779989716, 'Expenses:Home:Electricity')\n",
"(4.0564715901941293, 'Liabilities:US:Chase:Slate')\n",
"(3.475232080808238, 'Expenses:Home:Phone')\n",
"(1.5335248252214495, 'Expenses:Home:Internet')\n",
"(0.76961531332873179, 'Liabilities:AccountsPayable')\n",
"(-0.067829671865104385, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 18, 'date_month': 3, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1595107476405548, 'Expenses:Home:Phone')\n",
"(5.9978282921961155, 'Expenses:Home:Internet')\n",
"(4.9872318301823997, 'Liabilities:AccountsPayable')\n",
"(4.1303867728005494, 'Expenses:Home:Electricity')\n",
"(3.0253179397555838, 'Liabilities:US:Chase:Slate')\n",
"(1.8730728181229281, 'Expenses:Financial:Fees')\n",
"(0.89058668436326893, 'Expenses:Home:Rent')\n",
"(-0.063935085061400734, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 7, 'date_month': 12, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1257262905233709, 'Liabilities:US:Chase:Slate')\n",
"(6.0687488308063742, 'Expenses:Home:Electricity')\n",
"(5.023117709225061, 'Expenses:Home:Rent')\n",
"(4.0052257790128989, 'Expenses:Financial:Fees')\n",
"(3.4038650102819976, 'Expenses:Home:Phone')\n",
"(1.6311174393177641, 'Expenses:Home:Internet')\n",
"(0.81413584333485256, 'Liabilities:AccountsPayable')\n",
"(-0.071936902502319461, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 21, 'date_month': 9, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0972066767733955, 'Expenses:Home:Internet')\n",
"(6.091689060944625, 'Expenses:Home:Phone')\n",
"(5.032956911536882, 'Liabilities:AccountsPayable')\n",
"(4.1391410174911023, 'Expenses:Home:Electricity')\n",
"(3.0172061275980044, 'Liabilities:US:Chase:Slate')\n",
"(1.8520618273395886, 'Expenses:Home:Rent')\n",
"(0.83368491949257495, 'Expenses:Financial:Fees')\n",
"(-0.06394654117617346, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 22, 'date_month': 9, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1303323620716093, 'Expenses:Home:Internet')\n",
"(6.069080882183215, 'Expenses:Home:Phone')\n",
"(5.04841023650682, 'Liabilities:AccountsPayable')\n",
"(4.1420617292003987, 'Expenses:Home:Electricity')\n",
"(3.0145021963892127, 'Liabilities:US:Chase:Slate')\n",
"(1.8392205368525985, 'Expenses:Home:Rent')\n",
"(0.82055449537970504, 'Expenses:Financial:Fees')\n",
"(-0.064162438583559536, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 3, 'date_month': 3, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1323827309055732, 'Expenses:Home:Rent')\n",
"(6.0555039799711041, 'Expenses:Financial:Fees')\n",
"(5.0675064919679675, 'Expenses:Home:Electricity')\n",
"(4.0624500515679234, 'Liabilities:US:Chase:Slate')\n",
"(3.4970984083796353, 'Expenses:Home:Phone')\n",
"(1.5000004428942122, 'Expenses:Home:Internet')\n",
"(0.7545342804173798, 'Liabilities:AccountsPayable')\n",
"(-0.069476386103795792, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 19, 'date_month': 7, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1369044686046808, 'Expenses:Home:Phone')\n",
"(6.0309548632827532, 'Expenses:Home:Internet')\n",
"(5.0022618927821174, 'Liabilities:AccountsPayable')\n",
"(4.133302224218288, 'Expenses:Home:Electricity')\n",
"(3.0226139961926557, 'Liabilities:US:Chase:Slate')\n",
"(1.8777447368344724, 'Expenses:Home:Rent')\n",
"(0.85994464314889585, 'Expenses:Financial:Fees')\n",
"(-0.063726825063863055, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 11, 'date_month': 4, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1149105903964784, 'Liabilities:US:Chase:Slate')\n",
"(6.0804421982266783, 'Expenses:Home:Electricity')\n",
"(4.9717538613607122, 'Expenses:Home:Rent')\n",
"(4.3134284957852786, 'Expenses:Home:Phone')\n",
"(2.9526995842837445, 'Expenses:Financial:Fees')\n",
"(1.7636184089337756, 'Expenses:Home:Internet')\n",
"(0.87679566795504238, 'Liabilities:AccountsPayable')\n",
"(-0.073648806941710679, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 9, 'date_month': 8, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1040937920524305, 'Expenses:Home:Electricity')\n",
"(6.0496533051920354, 'Liabilities:US:Chase:Slate')\n",
"(5.0061574774439235, 'Expenses:Home:Rent')\n",
"(3.9912494465623038, 'Expenses:Financial:Fees')\n",
"(3.3629867311501784, 'Expenses:Home:Phone')\n",
"(1.6996982317477118, 'Expenses:Home:Internet')\n",
"(0.84762282749018769, 'Liabilities:AccountsPayable')\n",
"(-0.061461811638771922, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 6, 'date_month': 1, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938591879655055, 'Expenses:Home:Rent')\n",
"(6.0762712572416371, 'Expenses:Home:Electricity')\n",
"(5.0543382641186172, 'Liabilities:US:Chase:Slate')\n",
"(4.0161115830630756, 'Expenses:Financial:Fees')\n",
"(3.4292729222326326, 'Expenses:Home:Phone')\n",
"(1.5993770558946447, 'Expenses:Home:Internet')\n",
"(0.8011058865123023, 'Liabilities:AccountsPayable')\n",
"(-0.070336157028415655, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 19, 'date_month': 2, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1369020939477599, 'Expenses:Home:Phone')\n",
"(6.0309537560472224, 'Expenses:Home:Internet')\n",
"(5.0027909707448934, 'Liabilities:AccountsPayable')\n",
"(4.1333087995827364, 'Expenses:Home:Electricity')\n",
"(3.0226140116353264, 'Liabilities:US:Chase:Slate')\n",
"(1.8599418317253489, 'Expenses:Financial:Fees')\n",
"(0.87774555813673028, 'Expenses:Home:Rent')\n",
"(-0.064257021820017579, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 22, 'date_month': 4, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1303312548360802, 'Expenses:Home:Internet')\n",
"(6.0690785075262932, 'Expenses:Home:Phone')\n",
"(5.0489393144695951, 'Liabilities:AccountsPayable')\n",
"(4.1420683045648472, 'Expenses:Home:Electricity')\n",
"(3.0145022118318838, 'Liabilities:US:Chase:Slate')\n",
"(1.8392213581548562, 'Expenses:Home:Rent')\n",
"(0.82055168395615807, 'Expenses:Financial:Fees')\n",
"(-0.064692635339714047, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 23, 'date_month': 1, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1634562757929787, 'Expenses:Home:Internet')\n",
"(6.0647100862171968, 'Liabilities:AccountsPayable')\n",
"(5.0464689039707284, 'Expenses:Home:Phone')\n",
"(4.1449929614928127, 'Expenses:Home:Electricity')\n",
"(3.011798289888695, 'Liabilities:US:Chase:Slate')\n",
"(1.80741957298916, 'Expenses:Financial:Fees')\n",
"(0.8263805604492207, 'Expenses:Home:Rent')\n",
"(-0.065226650800792541, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 6, 'date_month': 7, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938582024027967, 'Expenses:Home:Rent')\n",
"(6.0762633668042989, 'Expenses:Home:Electricity')\n",
"(5.0543382455874122, 'Liabilities:US:Chase:Slate')\n",
"(4.0161149567713323, 'Expenses:Financial:Fees')\n",
"(3.4292757718209379, 'Expenses:Home:Phone')\n",
"(1.5993783845772793, 'Expenses:Home:Internet')\n",
"(0.80047099295697277, 'Liabilities:AccountsPayable')\n",
"(-0.069699920921030306, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 20, 'date_month': 4, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1142948650491151, 'Expenses:Home:Phone')\n",
"(6.0640798842396517, 'Expenses:Home:Internet')\n",
"(5.01803266452972, 'Liabilities:AccountsPayable')\n",
"(4.1362268811462535, 'Expenses:Home:Electricity')\n",
"(3.0199100742494669, 'Liabilities:US:Chase:Slate')\n",
"(1.8649039391288369, 'Expenses:Home:Rent')\n",
"(0.84681253218189778, 'Expenses:Financial:Fees')\n",
"(-0.064260840524941923, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 18, 'date_month': 7, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1595126473660908, 'Expenses:Home:Phone')\n",
"(5.9978291779845394, 'Expenses:Home:Internet')\n",
"(4.9868085678121803, 'Liabilities:AccountsPayable')\n",
"(4.1303815125089915, 'Expenses:Home:Electricity')\n",
"(3.025317927401447, 'Liabilities:US:Chase:Slate')\n",
"(1.8905860273214627, 'Expenses:Home:Rent')\n",
"(0.87307506726176576, 'Expenses:Financial:Fees')\n",
"(-0.063510927656477076, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 6, 'date_month': 11, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.09385754536099, 'Expenses:Home:Rent')\n",
"(6.0762581065127401, 'Expenses:Home:Electricity')\n",
"(5.0543382332332758, 'Liabilities:US:Chase:Slate')\n",
"(4.0161172059101702, 'Expenses:Financial:Fees')\n",
"(3.4292776715464743, 'Expenses:Home:Phone')\n",
"(1.5993792703657035, 'Expenses:Home:Internet')\n",
"(0.80004773058675271, 'Liabilities:AccountsPayable')\n",
"(-0.069275763516106661, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 5, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1230223809343185, 'Liabilities:US:Chase:Slate')\n",
"(6.0716787480258985, 'Expenses:Home:Electricity')\n",
"(5.0102775685612313, 'Expenses:Home:Rent')\n",
"(3.9920914189070631, 'Expenses:Financial:Fees')\n",
"(3.3812535070008973, 'Expenses:Home:Phone')\n",
"(1.6642415744862376, 'Expenses:Home:Internet')\n",
"(0.83032987745267439, 'Liabilities:AccountsPayable')\n",
"(-0.072895075368321738, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 20, 'date_month': 10, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1142977146374218, 'Expenses:Home:Phone')\n",
"(6.0640812129222859, 'Expenses:Home:Internet')\n",
"(5.01739777097439, 'Liabilities:AccountsPayable')\n",
"(4.1362189907089162, 'Expenses:Home:Electricity')\n",
"(3.0199100557182614, 'Liabilities:US:Chase:Slate')\n",
"(1.8649029535661275, 'Expenses:Home:Rent')\n",
"(0.84681590589015421, 'Expenses:Financial:Fees')\n",
"(-0.063624604417556546, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 20, 'date_month': 11, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1142981895688049, 'Expenses:Home:Phone')\n",
"(6.0640814343693918, 'Expenses:Home:Internet')\n",
"(5.0172919553818351, 'Liabilities:AccountsPayable')\n",
"(4.1362176756360265, 'Expenses:Home:Electricity')\n",
"(3.0199100526297271, 'Liabilities:US:Chase:Slate')\n",
"(1.864902789305676, 'Expenses:Home:Rent')\n",
"(0.84681646817486356, 'Expenses:Financial:Fees')\n",
"(-0.063518565066325597, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 2, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1011809707804723, 'Expenses:Home:Electricity')\n",
"(6.0523572549320317, 'Liabilities:US:Chase:Slate')\n",
"(5.0043764969669171, 'Expenses:Financial:Fees')\n",
"(4.018999753493623, 'Expenses:Home:Rent')\n",
"(3.385592060323285, 'Expenses:Home:Phone')\n",
"(1.6665712177668617, 'Expenses:Home:Internet')\n",
"(0.83280439607557999, 'Liabilities:AccountsPayable')\n",
"(-0.061882150338771306, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 21, 'date_month': 3, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0972053480907604, 'Expenses:Home:Internet')\n",
"(6.0916862113563193, 'Expenses:Home:Phone')\n",
"(5.0335918050922128, 'Liabilities:AccountsPayable')\n",
"(4.1391489079284405, 'Expenses:Home:Electricity')\n",
"(3.0172061461292095, 'Liabilities:US:Chase:Slate')\n",
"(1.8336815457843185, 'Expenses:Financial:Fees')\n",
"(0.85206281290229802, 'Expenses:Home:Rent')\n",
"(-0.064582777283558643, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 10, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1230223654916474, 'Liabilities:US:Chase:Slate')\n",
"(6.0716721726614509, 'Expenses:Home:Electricity')\n",
"(5.010276747258974, 'Expenses:Home:Rent')\n",
"(3.9920942303306104, 'Expenses:Financial:Fees')\n",
"(3.3812558816578182, 'Expenses:Home:Phone')\n",
"(1.6642426817217668, 'Expenses:Home:Internet')\n",
"(0.82980079948989993, 'Liabilities:AccountsPayable')\n",
"(-0.072364878612167297, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 23, 'date_month': 7, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.163457604475612, 'Expenses:Home:Internet')\n",
"(6.0640751926618677, 'Liabilities:AccountsPayable')\n",
"(5.0464717535590351, 'Expenses:Home:Phone')\n",
"(4.1449850710554745, 'Expenses:Home:Electricity')\n",
"(3.01179827135749, 'Liabilities:US:Chase:Slate')\n",
"(1.8263795748865113, 'Expenses:Home:Rent')\n",
"(0.80742294669741632, 'Expenses:Financial:Fees')\n",
"(-0.064590414693407011, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 9, 'date_month': 1, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1041029975626584, 'Expenses:Home:Electricity')\n",
"(6.0496533268117751, 'Liabilities:US:Chase:Slate')\n",
"(4.9912455105693381, 'Expenses:Financial:Fees')\n",
"(4.0061586272670846, 'Expenses:Home:Rent')\n",
"(3.3629834066304891, 'Expenses:Home:Phone')\n",
"(1.6996966816179704, 'Expenses:Home:Internet')\n",
"(0.84836353663807296, 'Liabilities:AccountsPayable')\n",
"(-0.062204087097388235, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 9, 'date_month': 10, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.120318434282856, 'Liabilities:US:Chase:Slate')\n",
"(6.0745928843707473, 'Expenses:Home:Electricity')\n",
"(4.9974354567719832, 'Expenses:Home:Rent')\n",
"(3.9789638062177404, 'Expenses:Financial:Fees')\n",
"(3.3586477028964072, 'Expenses:Home:Phone')\n",
"(1.6973683670199815, 'Expenses:Home:Internet')\n",
"(0.84525412445983739, 'Liabilities:AccountsPayable')\n",
"(-0.072580776019553345, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 10, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1011704501973547, 'Expenses:Home:Electricity')\n",
"(6.052357230223758, 'Liabilities:US:Chase:Slate')\n",
"(5.0189984394100104, 'Expenses:Home:Rent')\n",
"(4.0043809952445928, 'Expenses:Financial:Fees')\n",
"(3.3855958597743587, 'Expenses:Home:Phone')\n",
"(1.6665729893437082, 'Expenses:Home:Internet')\n",
"(0.83195787133514065, 'Liabilities:AccountsPayable')\n",
"(-0.061033835528924101, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 3, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938526526633865, 'Expenses:Financial:Fees')\n",
"(6.0569564454803935, 'Expenses:Home:Rent')\n",
"(5.0821831835091986, 'Expenses:Home:Electricity')\n",
"(4.0564716118138682, 'Liabilities:US:Chase:Slate')\n",
"(3.4752287562885491, 'Expenses:Home:Phone')\n",
"(1.533523275091708, 'Expenses:Home:Internet')\n",
"(0.77035602247661628, 'Liabilities:AccountsPayable')\n",
"(-0.068571947323720628, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 11, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938571509410613, 'Expenses:Financial:Fees')\n",
"(6.0569551313967809, 'Expenses:Home:Rent')\n",
"(5.0821726629260819, 'Expenses:Home:Electricity')\n",
"(4.0564715871055945, 'Liabilities:US:Chase:Slate')\n",
"(3.4752325557396224, 'Expenses:Home:Phone')\n",
"(1.5335250466685548, 'Expenses:Home:Internet')\n",
"(0.76950949773617694, 'Liabilities:AccountsPayable')\n",
"(-0.067723632513873491, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 9, 'date_month': 4, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1040990523439893, 'Expenses:Home:Electricity')\n",
"(6.0496533175461717, 'Liabilities:US:Chase:Slate')\n",
"(5.0061581344857302, 'Expenses:Home:Rent')\n",
"(3.9912471974234665, 'Expenses:Financial:Fees')\n",
"(3.362984831424642, 'Expenses:Home:Phone')\n",
"(1.6996973459592881, 'Expenses:Home:Internet')\n",
"(0.84804608986040741, 'Liabilities:AccountsPayable')\n",
"(-0.061885969043695414, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 10, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1230223654916474, 'Liabilities:US:Chase:Slate')\n",
"(6.0716721726614509, 'Expenses:Home:Electricity')\n",
"(5.010276747258974, 'Expenses:Home:Rent')\n",
"(3.9920942303306104, 'Expenses:Financial:Fees')\n",
"(3.3812558816578182, 'Expenses:Home:Phone')\n",
"(1.6642426817217668, 'Expenses:Home:Internet')\n",
"(0.82980079948989993, 'Liabilities:AccountsPayable')\n",
"(-0.072364878612167297, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 23, 'date_month': 7, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.163457604475612, 'Expenses:Home:Internet')\n",
"(6.0640751926618677, 'Liabilities:AccountsPayable')\n",
"(5.0464717535590351, 'Expenses:Home:Phone')\n",
"(4.1449850710554745, 'Expenses:Home:Electricity')\n",
"(3.01179827135749, 'Liabilities:US:Chase:Slate')\n",
"(1.8263795748865113, 'Expenses:Home:Rent')\n",
"(0.80742294669741632, 'Expenses:Financial:Fees')\n",
"(-0.064590414693407011, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 1, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1195417689394862, 'Expenses:Home:Rent')\n",
"(6.0423724312888156, 'Expenses:Financial:Fees')\n",
"(5.0704298338230434, 'Expenses:Home:Electricity')\n",
"(4.0597461265362007, 'Liabilities:US:Chase:Slate')\n",
"(3.4744892797554559, 'Expenses:Home:Phone')\n",
"(1.5331256852982151, 'Expenses:Home:Internet')\n",
"(0.77019923657242706, 'Liabilities:AccountsPayable')\n",
"(-0.069904362213643587, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 21, 'date_month': 7, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0972062338791835, 'Expenses:Home:Internet')\n",
"(6.0916881110818561, 'Expenses:Home:Phone')\n",
"(5.0331685427219925, 'Liabilities:AccountsPayable')\n",
"(4.1391436476368817, 'Expenses:Home:Electricity')\n",
"(3.0172061337750726, 'Liabilities:US:Chase:Slate')\n",
"(1.8520621558604917, 'Expenses:Home:Rent')\n",
"(0.83368379492315614, 'Expenses:Financial:Fees')\n",
"(-0.064158619878634929, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 9, 'date_month': 4, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1040990523439893, 'Expenses:Home:Electricity')\n",
"(6.0496533175461717, 'Liabilities:US:Chase:Slate')\n",
"(5.0061581344857302, 'Expenses:Home:Rent')\n",
"(3.9912471974234665, 'Expenses:Financial:Fees')\n",
"(3.362984831424642, 'Expenses:Home:Phone')\n",
"(1.6996973459592881, 'Expenses:Home:Internet')\n",
"(0.84804608986040741, 'Liabilities:AccountsPayable')\n",
"(-0.061885969043695414, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 12, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1230223593145796, 'Liabilities:US:Chase:Slate')\n",
"(6.0716695425156715, 'Expenses:Home:Electricity')\n",
"(5.0102764187380711, 'Expenses:Home:Rent')\n",
"(3.9920953549000289, 'Expenses:Financial:Fees')\n",
"(3.3812568315205862, 'Expenses:Home:Phone')\n",
"(1.6642431246159783, 'Expenses:Home:Internet')\n",
"(0.82958916830479046, 'Liabilities:AccountsPayable')\n",
"(-0.072152799909705537, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 12, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938577132257707, 'Expenses:Financial:Fees')\n",
"(6.0569549671363294, 'Expenses:Home:Rent')\n",
"(5.0821713478531922, 'Expenses:Home:Electricity')\n",
"(4.0564715840170606, 'Liabilities:US:Chase:Slate')\n",
"(3.4752330306710064, 'Expenses:Home:Phone')\n",
"(1.533525268115661, 'Expenses:Home:Internet')\n",
"(0.76940368214362176, 'Liabilities:AccountsPayable')\n",
"(-0.067617593162642584, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 19, 'date_month': 1, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1369016190163741, 'Expenses:Home:Phone')\n",
"(6.03095353460012, 'Expenses:Home:Internet')\n",
"(5.0028967863374465, 'Liabilities:AccountsPayable')\n",
"(4.1333101146556261, 'Expenses:Home:Electricity')\n",
"(3.0226140147238607, 'Liabilities:US:Chase:Slate')\n",
"(1.8599412694406394, 'Expenses:Financial:Fees')\n",
"(0.87774572239718174, 'Expenses:Home:Rent')\n",
"(-0.064363061171248348, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 19, 'date_month': 10, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1369058933988327, 'Expenses:Home:Phone')\n",
"(6.0309555276240721, 'Expenses:Home:Internet')\n",
"(5.001944446004452, 'Liabilities:AccountsPayable')\n",
"(4.1332982789996189, 'Expenses:Home:Electricity')\n",
"(3.0226139869270527, 'Liabilities:US:Chase:Slate')\n",
"(1.8777442440531178, 'Expenses:Home:Rent')\n",
"(0.85994633000302412, 'Expenses:Financial:Fees')\n",
"(-0.063408707010170345, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 3, 'date_month': 3, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1323827309055732, 'Expenses:Home:Rent')\n",
"(6.0555039799711041, 'Expenses:Financial:Fees')\n",
"(5.0675064919679675, 'Expenses:Home:Electricity')\n",
"(4.0624500515679234, 'Liabilities:US:Chase:Slate')\n",
"(3.4970984083796353, 'Expenses:Home:Phone')\n",
"(1.5000004428942122, 'Expenses:Home:Internet')\n",
"(0.7545342804173798, 'Liabilities:AccountsPayable')\n",
"(-0.069476386103795792, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 20, 'date_month': 10, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1142977146374218, 'Expenses:Home:Phone')\n",
"(6.0640812129222859, 'Expenses:Home:Internet')\n",
"(5.01739777097439, 'Liabilities:AccountsPayable')\n",
"(4.1362189907089162, 'Expenses:Home:Electricity')\n",
"(3.0199100557182614, 'Liabilities:US:Chase:Slate')\n",
"(1.8649029535661275, 'Expenses:Home:Rent')\n",
"(0.84681590589015421, 'Expenses:Financial:Fees')\n",
"(-0.063624604417556546, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 6, 'date_month': 7, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938582024027967, 'Expenses:Home:Rent')\n",
"(6.0762633668042989, 'Expenses:Home:Electricity')\n",
"(5.0543382455874122, 'Liabilities:US:Chase:Slate')\n",
"(4.0161149567713323, 'Expenses:Financial:Fees')\n",
"(3.4292757718209379, 'Expenses:Home:Phone')\n",
"(1.5993783845772793, 'Expenses:Home:Internet')\n",
"(0.80047099295697277, 'Liabilities:AccountsPayable')\n",
"(-0.069699920921030306, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 23, 'date_month': 2, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1634564972400838, 'Expenses:Home:Internet')\n",
"(6.0646042706246428, 'Liabilities:AccountsPayable')\n",
"(5.0464693789021124, 'Expenses:Home:Phone')\n",
"(4.144991646419923, 'Expenses:Home:Electricity')\n",
"(3.0117982868001607, 'Liabilities:US:Chase:Slate')\n",
"(1.8074201352738695, 'Expenses:Financial:Fees')\n",
"(0.82638039618876913, 'Expenses:Home:Rent')\n",
"(-0.065120611449561508, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 27, 'date_month': 3, 'payee': None, 'narration': 'STATE TAX & FINANC PYMT'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1865866821346946, 'Liabilities:AccountsPayable')\n",
"(6.26579324235892, 'Expenses:Home:Internet')\n",
"(4.9352317672335015, 'Expenses:Home:Phone')\n",
"(4.1550952467245699, 'Expenses:Home:Electricity')\n",
"(2.998937222976473, 'Liabilities:US:Chase:Slate')\n",
"(1.7541051139171109, 'Expenses:Financial:Fees')\n",
"(0.77400944647308423, 'Expenses:Home:Rent')\n",
"(-0.069758721818353991, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 3, 'date_month': 2, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1323828951660246, 'Expenses:Home:Rent')\n",
"(6.0555034176863947, 'Expenses:Financial:Fees')\n",
"(5.0675078070408572, 'Expenses:Home:Electricity')\n",
"(4.0624500546564573, 'Liabilities:US:Chase:Slate')\n",
"(3.4970979334482513, 'Expenses:Home:Phone')\n",
"(1.500000221447106, 'Expenses:Home:Internet')\n",
"(0.75464009600993487, 'Liabilities:AccountsPayable')\n",
"(-0.069582425455026645, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 12, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1230223593145796, 'Liabilities:US:Chase:Slate')\n",
"(6.0716695425156715, 'Expenses:Home:Electricity')\n",
"(5.0102764187380711, 'Expenses:Home:Rent')\n",
"(3.9920953549000289, 'Expenses:Financial:Fees')\n",
"(3.3812568315205862, 'Expenses:Home:Phone')\n",
"(1.6642431246159783, 'Expenses:Home:Internet')\n",
"(0.82958916830479046, 'Liabilities:AccountsPayable')\n",
"(-0.072152799909705537, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 9, 'date_month': 8, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1040937920524305, 'Expenses:Home:Electricity')\n",
"(6.0496533051920354, 'Liabilities:US:Chase:Slate')\n",
"(5.0061574774439235, 'Expenses:Home:Rent')\n",
"(3.9912494465623038, 'Expenses:Financial:Fees')\n",
"(3.3629867311501784, 'Expenses:Home:Phone')\n",
"(1.6996982317477118, 'Expenses:Home:Internet')\n",
"(0.84762282749018769, 'Liabilities:AccountsPayable')\n",
"(-0.061461811638771922, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 23, 'date_month': 11, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1634584902640368, 'Expenses:Home:Internet')\n",
"(6.0636519302916483, 'Liabilities:AccountsPayable')\n",
"(5.0464736532845702, 'Expenses:Home:Phone')\n",
"(4.1449798107639166, 'Expenses:Home:Electricity')\n",
"(3.0117982590033532, 'Liabilities:US:Chase:Slate')\n",
"(1.8263789178447052, 'Expenses:Home:Rent')\n",
"(0.80742519583625394, 'Expenses:Financial:Fees')\n",
"(-0.064166257288483575, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 9, 'date_month': 3, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1203184559025958, 'Liabilities:US:Chase:Slate')\n",
"(6.0746020898809743, 'Expenses:Home:Electricity')\n",
"(4.9974366065951443, 'Expenses:Home:Rent')\n",
"(3.9789598702247746, 'Expenses:Financial:Fees')\n",
"(3.3586443783767175, 'Expenses:Home:Phone')\n",
"(1.6973668168902409, 'Expenses:Home:Internet')\n",
"(0.84599483360772165, 'Liabilities:AccountsPayable')\n",
"(-0.073323051478169574, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 23, 'date_month': 4, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1634569401342949, 'Expenses:Home:Internet')\n",
"(6.064392639439534, 'Liabilities:AccountsPayable')\n",
"(5.0464703287648804, 'Expenses:Home:Phone')\n",
"(4.1449890162741436, 'Expenses:Home:Electricity')\n",
"(3.0117982806230925, 'Liabilities:US:Chase:Slate')\n",
"(1.8263800676678659, 'Expenses:Home:Rent')\n",
"(0.80742125984328816, 'Expenses:Financial:Fees')\n",
"(-0.064908532747099984, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 23, 'date_month': 8, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.163457825922718, 'Expenses:Home:Internet')\n",
"(6.0639693770693137, 'Liabilities:AccountsPayable')\n",
"(5.0464722284904182, 'Expenses:Home:Phone')\n",
"(4.1449837559825857, 'Expenses:Home:Electricity')\n",
"(3.0117982682689557, 'Liabilities:US:Chase:Slate')\n",
"(1.8263794106260598, 'Expenses:Home:Rent')\n",
"(0.80742350898212578, 'Expenses:Financial:Fees')\n",
"(-0.064484375342176367, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 23, 'date_month': 4, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1634569401342949, 'Expenses:Home:Internet')\n",
"(6.064392639439534, 'Liabilities:AccountsPayable')\n",
"(5.0464703287648804, 'Expenses:Home:Phone')\n",
"(4.1449890162741436, 'Expenses:Home:Electricity')\n",
"(3.0117982806230925, 'Liabilities:US:Chase:Slate')\n",
"(1.8263800676678659, 'Expenses:Home:Rent')\n",
"(0.80742125984328816, 'Expenses:Financial:Fees')\n",
"(-0.064908532747099984, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 9, 'date_month': 11, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1203184311943222, 'Liabilities:US:Chase:Slate')\n",
"(6.0745915692978576, 'Expenses:Home:Electricity')\n",
"(4.9974352925115317, 'Expenses:Home:Rent')\n",
"(3.9789643685024498, 'Expenses:Financial:Fees')\n",
"(3.3586481778277903, 'Expenses:Home:Phone')\n",
"(1.6973685884670877, 'Expenses:Home:Internet')\n",
"(0.84514830886728265, 'Liabilities:AccountsPayable')\n",
"(-0.072474736668322437, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 6, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938543395175149, 'Expenses:Financial:Fees')\n",
"(6.0569559526990382, 'Expenses:Home:Rent')\n",
"(5.0821792382905304, 'Expenses:Home:Electricity')\n",
"(4.0564716025482657, 'Liabilities:US:Chase:Slate')\n",
"(3.4752301810827015, 'Expenses:Home:Phone')\n",
"(1.5335239394330256, 'Expenses:Home:Internet')\n",
"(0.77003857569895173, 'Liabilities:AccountsPayable')\n",
"(-0.068253829270027988, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 10, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1195402905954221, 'Expenses:Home:Rent')\n",
"(6.0423774918511999, 'Expenses:Financial:Fees')\n",
"(5.070417998167037, 'Expenses:Home:Electricity')\n",
"(4.0597460987393923, 'Liabilities:US:Chase:Slate')\n",
"(3.4744935541379132, 'Expenses:Home:Phone')\n",
"(1.5331276783221681, 'Expenses:Home:Internet')\n",
"(0.76924689623943276, 'Liabilities:AccountsPayable')\n",
"(-0.068950008052565528, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 18, 'date_month': 6, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1595121724347077, 'Expenses:Home:Phone')\n",
"(5.9978289565374334, 'Expenses:Home:Internet')\n",
"(4.9869143834047351, 'Liabilities:AccountsPayable')\n",
"(4.1303828275818812, 'Expenses:Home:Electricity')\n",
"(3.0253179304899809, 'Liabilities:US:Chase:Slate')\n",
"(1.8905861915819142, 'Expenses:Home:Rent')\n",
"(0.8730745049770563, 'Expenses:Financial:Fees')\n",
"(-0.063616967007707984, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 19, 'date_month': 6, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1369039936732968, 'Expenses:Home:Phone')\n",
"(6.0309546418356472, 'Expenses:Home:Internet')\n",
"(5.0023677083746731, 'Liabilities:AccountsPayable')\n",
"(4.1333035392911777, 'Expenses:Home:Electricity')\n",
"(3.0226139992811896, 'Liabilities:US:Chase:Slate')\n",
"(1.8777449010949241, 'Expenses:Home:Rent')\n",
"(0.85994408086418639, 'Expenses:Financial:Fees')\n",
"(-0.063832864415093907, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 11, 'date_month': 8, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1149105780423421, 'Liabilities:US:Chase:Slate')\n",
"(6.0804369379351195, 'Expenses:Home:Electricity')\n",
"(4.9717532043189063, 'Expenses:Home:Rent')\n",
"(4.3134303955108155, 'Expenses:Home:Phone')\n",
"(2.9527018334225819, 'Expenses:Financial:Fees')\n",
"(1.7636192947221998, 'Expenses:Home:Internet')\n",
"(0.87637240558482232, 'Liabilities:AccountsPayable')\n",
"(-0.073224649536787187, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 3, 'date_month': 2, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1323828951660246, 'Expenses:Home:Rent')\n",
"(6.0555034176863947, 'Expenses:Financial:Fees')\n",
"(5.0675078070408572, 'Expenses:Home:Electricity')\n",
"(4.0624500546564573, 'Liabilities:US:Chase:Slate')\n",
"(3.4970979334482513, 'Expenses:Home:Phone')\n",
"(1.500000221447106, 'Expenses:Home:Internet')\n",
"(0.75464009600993487, 'Liabilities:AccountsPayable')\n",
"(-0.069582425455026645, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 23, 'date_month': 3, 'payee': None, 'narration': 'STATE TAX & FINANC PYMT'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1247733822549426, 'Liabilities:AccountsPayable')\n",
"(6.133290501166063, 'Expenses:Home:Internet')\n",
"(5.0256644822791463, 'Expenses:Home:Phone')\n",
"(4.1434123998873833, 'Expenses:Home:Electricity')\n",
"(3.0097529478116383, 'Liabilities:US:Chase:Slate')\n",
"(1.8066268103685905, 'Expenses:Financial:Fees')\n",
"(0.82537460842104537, 'Expenses:Home:Rent')\n",
"(-0.068895132188809757, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 6, 'date_month': 3, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938588594446026, 'Expenses:Home:Rent')\n",
"(6.0762686270958577, 'Expenses:Home:Electricity')\n",
"(5.0543382579415495, 'Liabilities:US:Chase:Slate')\n",
"(4.0161127076324945, 'Expenses:Financial:Fees')\n",
"(3.4292738720954015, 'Expenses:Home:Phone')\n",
"(1.599377498788856, 'Expenses:Home:Internet')\n",
"(0.80089425532719216, 'Liabilities:AccountsPayable')\n",
"(-0.070124078325953826, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 7, 'date_month': 8, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1257263028775073, 'Liabilities:US:Chase:Slate')\n",
"(6.068754091097933, 'Expenses:Home:Electricity')\n",
"(5.0231183662668668, 'Expenses:Home:Rent')\n",
"(4.0052235298740611, 'Expenses:Financial:Fees')\n",
"(3.4038631105564612, 'Expenses:Home:Phone')\n",
"(1.6311165535293406, 'Expenses:Home:Internet')\n",
"(0.81455910570507251, 'Liabilities:AccountsPayable')\n",
"(-0.072361059907243064, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 5, 'date_month': 7, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1066994928897866, 'Expenses:Home:Rent')\n",
"(6.0292453808842019, 'Expenses:Financial:Fees')\n",
"(5.0733426550950025, 'Expenses:Home:Electricity')\n",
"(4.0570421767962035, 'Liabilities:US:Chase:Slate')\n",
"(3.4518839505823498, 'Expenses:Home:Phone')\n",
"(1.5662526992790649, 'Expenses:Home:Internet')\n",
"(0.78501766798703487, 'Liabilities:AccountsPayable')\n",
"(-0.069484023513644258, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 20, 'date_month': 2, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1142939151863471, 'Expenses:Home:Phone')\n",
"(6.0640794413454397, 'Expenses:Home:Internet')\n",
"(5.0182442957148305, 'Liabilities:AccountsPayable')\n",
"(4.1362295112920329, 'Expenses:Home:Electricity')\n",
"(3.0199100804265351, 'Liabilities:US:Chase:Slate')\n",
"(1.8468114076124791, 'Expenses:Financial:Fees')\n",
"(0.86490426764974004, 'Expenses:Home:Rent')\n",
"(-0.064472919227403683, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 3, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938526526633865, 'Expenses:Financial:Fees')\n",
"(6.0569564454803935, 'Expenses:Home:Rent')\n",
"(5.0821831835091986, 'Expenses:Home:Electricity')\n",
"(4.0564716118138682, 'Liabilities:US:Chase:Slate')\n",
"(3.4752287562885491, 'Expenses:Home:Phone')\n",
"(1.533523275091708, 'Expenses:Home:Internet')\n",
"(0.77035602247661628, 'Liabilities:AccountsPayable')\n",
"(-0.068571947323720628, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 12, 'date_month': 10, 'payee': None, 'narration': 'Transfering accumulated savings to other account'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0962469278691795, 'Assets:US:ETrade:Cash')\n",
"(6.0860423246654554, 'Expenses:Home:Electricity')\n",
"(5.0247849498188923, 'Liabilities:US:Chase:Slate')\n",
"(4.2683465529497742, 'Expenses:Home:Phone')\n",
"(2.9484766313407027, 'Expenses:Home:Rent')\n",
"(1.9327107338788021, 'Expenses:Financial:Fees')\n",
"(0.77225722663557839, 'Expenses:Home:Internet')\n",
"(-0.12886534715838444, 'Liabilities:AccountsPayable')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 8, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1011730803431341, 'Expenses:Home:Electricity')\n",
"(6.0523572364008267, 'Liabilities:US:Chase:Slate')\n",
"(5.0189987679309143, 'Expenses:Home:Rent')\n",
"(4.0043798706751739, 'Expenses:Financial:Fees')\n",
"(3.3855949099115898, 'Expenses:Home:Phone')\n",
"(1.6665725464494969, 'Expenses:Home:Internet')\n",
"(0.83216950252025046, 'Liabilities:AccountsPayable')\n",
"(-0.061245914231385902, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 4, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1011783406346929, 'Expenses:Home:Electricity')\n",
"(6.0523572487549639, 'Liabilities:US:Chase:Slate')\n",
"(5.0189994249727201, 'Expenses:Home:Rent')\n",
"(4.004377621536336, 'Expenses:Financial:Fees')\n",
"(3.3855930101860534, 'Expenses:Home:Phone')\n",
"(1.6665716606610732, 'Expenses:Home:Internet')\n",
"(0.8325927648904704, 'Liabilities:AccountsPayable')\n",
"(-0.061670071636309436, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 9, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938560263716433, 'Expenses:Financial:Fees')\n",
"(6.0569554599176838, 'Expenses:Home:Rent')\n",
"(5.0821752930718613, 'Expenses:Home:Electricity')\n",
"(4.0564715932826632, 'Liabilities:US:Chase:Slate')\n",
"(3.475231605876854, 'Expenses:Home:Phone')\n",
"(1.5335246037743435, 'Expenses:Home:Internet')\n",
"(0.76972112892128663, 'Liabilities:AccountsPayable')\n",
"(-0.067935711216335251, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 11, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.101169135124465, 'Expenses:Home:Electricity')\n",
"(6.0523572271352242, 'Liabilities:US:Chase:Slate')\n",
"(5.018998275149559, 'Expenses:Home:Rent')\n",
"(4.0043815575293022, 'Expenses:Financial:Fees')\n",
"(3.3855963347057423, 'Expenses:Home:Phone')\n",
"(1.6665732107908144, 'Expenses:Home:Internet')\n",
"(0.83185205574258581, 'Liabilities:AccountsPayable')\n",
"(-0.060927796177693193, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 10, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1011704501973547, 'Expenses:Home:Electricity')\n",
"(6.052357230223758, 'Liabilities:US:Chase:Slate')\n",
"(5.0189984394100104, 'Expenses:Home:Rent')\n",
"(4.0043809952445928, 'Expenses:Financial:Fees')\n",
"(3.3855958597743587, 'Expenses:Home:Phone')\n",
"(1.6665729893437082, 'Expenses:Home:Internet')\n",
"(0.83195787133514065, 'Liabilities:AccountsPayable')\n",
"(-0.061033835528924101, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 5, 'date_month': 5, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1066998214106896, 'Expenses:Home:Rent')\n",
"(6.029244256314783, 'Expenses:Financial:Fees')\n",
"(5.0733452852407819, 'Expenses:Home:Electricity')\n",
"(4.0570421829732721, 'Liabilities:US:Chase:Slate')\n",
"(3.4518830007195813, 'Expenses:Home:Phone')\n",
"(1.5662522563848531, 'Expenses:Home:Internet')\n",
"(0.78522929917214501, 'Liabilities:AccountsPayable')\n",
"(-0.069696102216106004, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 23, 'date_month': 8, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.163457825922718, 'Expenses:Home:Internet')\n",
"(6.0639693770693137, 'Liabilities:AccountsPayable')\n",
"(5.0464722284904182, 'Expenses:Home:Phone')\n",
"(4.1449837559825857, 'Expenses:Home:Electricity')\n",
"(3.0117982682689557, 'Liabilities:US:Chase:Slate')\n",
"(1.8263794106260598, 'Expenses:Home:Rent')\n",
"(0.80742350898212578, 'Expenses:Financial:Fees')\n",
"(-0.064484375342176367, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 9, 'date_month': 1, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1041029975626584, 'Expenses:Home:Electricity')\n",
"(6.0496533268117751, 'Liabilities:US:Chase:Slate')\n",
"(4.9912455105693381, 'Expenses:Financial:Fees')\n",
"(4.0061586272670846, 'Expenses:Home:Rent')\n",
"(3.3629834066304891, 'Expenses:Home:Phone')\n",
"(1.6996966816179704, 'Expenses:Home:Internet')\n",
"(0.84836353663807296, 'Liabilities:AccountsPayable')\n",
"(-0.062204087097388235, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 21, 'date_month': 11, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0972071196676074, 'Expenses:Home:Internet')\n",
"(6.091690010807393, 'Expenses:Home:Phone')\n",
"(5.0327452803517723, 'Liabilities:AccountsPayable')\n",
"(4.1391383873453229, 'Expenses:Home:Electricity')\n",
"(3.0172061214209358, 'Liabilities:US:Chase:Slate')\n",
"(1.8520614988186856, 'Expenses:Home:Rent')\n",
"(0.83368604406199376, 'Expenses:Financial:Fees')\n",
"(-0.06373446247371152, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 5, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938537772328054, 'Expenses:Financial:Fees')\n",
"(6.0569561169594905, 'Expenses:Home:Rent')\n",
"(5.0821805533634201, 'Expenses:Home:Electricity')\n",
"(4.0564716056367995, 'Liabilities:US:Chase:Slate')\n",
"(3.4752297061513175, 'Expenses:Home:Phone')\n",
"(1.5335237179859196, 'Expenses:Home:Internet')\n",
"(0.77014439129150647, 'Liabilities:AccountsPayable')\n",
"(-0.068359868621258868, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 5, 'date_month': 1, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1067004784524963, 'Expenses:Home:Rent')\n",
"(6.029242007175946, 'Expenses:Financial:Fees')\n",
"(5.0733505455323398, 'Expenses:Home:Electricity')\n",
"(4.0570421953274085, 'Liabilities:US:Chase:Slate')\n",
"(3.451881100994044, 'Expenses:Home:Phone')\n",
"(1.56625137059643, 'Expenses:Home:Internet')\n",
"(0.78565256154236462, 'Liabilities:AccountsPayable')\n",
"(-0.070120259621029635, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 20, 'date_month': 8, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1142967647746529, 'Expenses:Home:Phone')\n",
"(6.0640807700280721, 'Expenses:Home:Internet')\n",
"(5.0176094021595015, 'Liabilities:AccountsPayable')\n",
"(4.1362216208546956, 'Expenses:Home:Electricity')\n",
"(3.0199100618953301, 'Liabilities:US:Chase:Slate')\n",
"(1.8649032820870306, 'Expenses:Home:Rent')\n",
"(0.84681478132073529, 'Expenses:Financial:Fees')\n",
"(-0.063836683120018098, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 6, 'date_month': 10, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938577096214415, 'Expenses:Home:Rent')\n",
"(6.0762594215856298, 'Expenses:Home:Electricity')\n",
"(5.0543382363218097, 'Liabilities:US:Chase:Slate')\n",
"(4.0161166436254607, 'Expenses:Financial:Fees')\n",
"(3.4292771966150903, 'Expenses:Home:Phone')\n",
"(1.5993790489185973, 'Expenses:Home:Internet')\n",
"(0.8001535461793079, 'Liabilities:AccountsPayable')\n",
"(-0.069381802867337583, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 20, 'date_month': 1, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1142934402549631, 'Expenses:Home:Phone')\n",
"(6.0640792198983338, 'Expenses:Home:Internet')\n",
"(5.0183501113073845, 'Liabilities:AccountsPayable')\n",
"(4.1362308263649226, 'Expenses:Home:Electricity')\n",
"(3.0199100835150694, 'Liabilities:US:Chase:Slate')\n",
"(1.8468108453277696, 'Expenses:Financial:Fees')\n",
"(0.86490443191019151, 'Expenses:Home:Rent')\n",
"(-0.064578958578634341, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 20, 'date_month': 4, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1142948650491151, 'Expenses:Home:Phone')\n",
"(6.0640798842396517, 'Expenses:Home:Internet')\n",
"(5.01803266452972, 'Liabilities:AccountsPayable')\n",
"(4.1362268811462535, 'Expenses:Home:Electricity')\n",
"(3.0199100742494669, 'Liabilities:US:Chase:Slate')\n",
"(1.8649039391288369, 'Expenses:Home:Rent')\n",
"(0.84681253218189778, 'Expenses:Financial:Fees')\n",
"(-0.064260840524941923, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 3, 'date_month': 9, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1323817453428644, 'Expenses:Home:Rent')\n",
"(6.0555073536793609, 'Expenses:Financial:Fees')\n",
"(5.0674986015306294, 'Expenses:Home:Electricity')\n",
"(4.0624500330367184, 'Liabilities:US:Chase:Slate')\n",
"(3.497101257967941, 'Expenses:Home:Phone')\n",
"(1.500001771576847, 'Expenses:Home:Internet')\n",
"(0.75389938686205005, 'Liabilities:AccountsPayable')\n",
"(-0.068840149996410374, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 11, 'date_month': 9, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1149105749538082, 'Liabilities:US:Chase:Slate')\n",
"(6.0804356228622307, 'Expenses:Home:Electricity')\n",
"(4.9717530400584549, 'Expenses:Home:Rent')\n",
"(4.3134308704421986, 'Expenses:Home:Phone')\n",
"(2.9527023957072913, 'Expenses:Financial:Fees')\n",
"(1.7636195161693058, 'Expenses:Home:Internet')\n",
"(0.87626658999226736, 'Liabilities:AccountsPayable')\n",
"(-0.07311861018555621, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 3, 'date_month': 1, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.132383059426477, 'Expenses:Home:Rent')\n",
"(6.0555028554016852, 'Expenses:Financial:Fees')\n",
"(5.0675091221137469, 'Expenses:Home:Electricity')\n",
"(4.062450057744992, 'Liabilities:US:Chase:Slate')\n",
"(3.4970974585168673, 'Expenses:Home:Phone')\n",
"(1.5000000000000002, 'Expenses:Home:Internet')\n",
"(0.75474591160248972, 'Liabilities:AccountsPayable')\n",
"(-0.069688464806257566, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 5, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1011770255618032, 'Expenses:Home:Electricity')\n",
"(6.0523572456664292, 'Liabilities:US:Chase:Slate')\n",
"(5.0189992607122687, 'Expenses:Home:Rent')\n",
"(4.0043781838210455, 'Expenses:Financial:Fees')\n",
"(3.3855934851174379, 'Expenses:Home:Phone')\n",
"(1.666571882108179, 'Expenses:Home:Internet')\n",
"(0.83248694929791511, 'Liabilities:AccountsPayable')\n",
"(-0.061564032285078563, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 9, 'date_month': 8, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1203184404599247, 'Liabilities:US:Chase:Slate')\n",
"(6.0745955145165267, 'Expenses:Home:Electricity')\n",
"(4.997435785292887, 'Expenses:Home:Rent')\n",
"(3.9789626816483215, 'Expenses:Financial:Fees')\n",
"(3.3586467530336384, 'Expenses:Home:Phone')\n",
"(1.6973679241257704, 'Expenses:Home:Internet')\n",
"(0.84546575564494697, 'Liabilities:AccountsPayable')\n",
"(-0.072792854722015091, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 8, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938554640869338, 'Expenses:Financial:Fees')\n",
"(6.0569556241781353, 'Expenses:Home:Rent')\n",
"(5.082176608144751, 'Expenses:Home:Electricity')\n",
"(4.056471596371197, 'Liabilities:US:Chase:Slate')\n",
"(3.47523113094547, 'Expenses:Home:Phone')\n",
"(1.5335243823272373, 'Expenses:Home:Internet')\n",
"(0.76982694451384148, 'Liabilities:AccountsPayable')\n",
"(-0.068041750567566159, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 2, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1195416046790347, 'Expenses:Home:Rent')\n",
"(6.0423729935735251, 'Expenses:Financial:Fees')\n",
"(5.0704285187501537, 'Expenses:Home:Electricity')\n",
"(4.0597461234476659, 'Liabilities:US:Chase:Slate')\n",
"(3.4744897546868403, 'Expenses:Home:Phone')\n",
"(1.5331259067453209, 'Expenses:Home:Internet')\n",
"(0.77009342097987221, 'Liabilities:AccountsPayable')\n",
"(-0.069798322862412665, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 18, 'date_month': 1, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.159509797777786, 'Expenses:Home:Phone')\n",
"(5.9978278493019035, 'Expenses:Home:Internet')\n",
"(4.9874434613675103, 'Liabilities:AccountsPayable')\n",
"(4.1303894029463288, 'Expenses:Home:Electricity')\n",
"(3.025317945932652, 'Liabilities:US:Chase:Slate')\n",
"(1.8730716935535094, 'Expenses:Financial:Fees')\n",
"(0.89058701288417197, 'Expenses:Home:Rent')\n",
"(-0.064147163763862189, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 27, 'date_month': 3, 'payee': None, 'narration': 'FEDERAL TAXPYMT'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1574543046719121, 'Liabilities:AccountsPayable')\n",
"(6.2708253035159709, 'Expenses:Home:Internet')\n",
"(4.9532625290363503, 'Expenses:Home:Phone')\n",
"(4.1566731781842208, 'Expenses:Home:Electricity')\n",
"(3.0009825588764611, 'Liabilities:US:Chase:Slate')\n",
"(1.7548990011070993, 'Expenses:Financial:Fees')\n",
"(0.77501506998035641, 'Expenses:Home:Rent')\n",
"(-0.069111945372370739, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 1, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1230223932884558, 'Liabilities:US:Chase:Slate')\n",
"(6.0716840083174572, 'Expenses:Home:Electricity')\n",
"(5.010278225603038, 'Expenses:Home:Rent')\n",
"(3.9920891697682257, 'Expenses:Financial:Fees')\n",
"(3.38125160727536, 'Expenses:Home:Phone')\n",
"(1.6642406886978145, 'Expenses:Home:Internet')\n",
"(0.83075313982289434, 'Liabilities:AccountsPayable')\n",
"(-0.073319232773245313, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 3, 'date_month': 5, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1323824023846703, 'Expenses:Home:Rent')\n",
"(6.055505104540523, 'Expenses:Financial:Fees')\n",
"(5.0675038618221881, 'Expenses:Home:Electricity')\n",
"(4.0624500453908547, 'Liabilities:US:Chase:Slate')\n",
"(3.4970993582424037, 'Expenses:Home:Phone')\n",
"(1.5000008857884237, 'Expenses:Home:Internet')\n",
"(0.75432264923226999, 'Liabilities:AccountsPayable')\n",
"(-0.069264307401333963, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 7, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1011743954160238, 'Expenses:Home:Electricity')\n",
"(6.0523572394893606, 'Liabilities:US:Chase:Slate')\n",
"(5.0189989321913657, 'Expenses:Home:Rent')\n",
"(4.0043793083904644, 'Expenses:Financial:Fees')\n",
"(3.3855944349802058, 'Expenses:Home:Phone')\n",
"(1.6665723250023909, 'Expenses:Home:Internet')\n",
"(0.83227531811280553, 'Liabilities:AccountsPayable')\n",
"(-0.061351953582616824, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 8, 'date_month': 2, 'payee': 'EDISON POWER', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1011809707804723, 'Expenses:Home:Electricity')\n",
"(6.0523572549320317, 'Liabilities:US:Chase:Slate')\n",
"(5.0043764969669171, 'Expenses:Financial:Fees')\n",
"(4.018999753493623, 'Expenses:Home:Rent')\n",
"(3.385592060323285, 'Expenses:Home:Phone')\n",
"(1.6665712177668617, 'Expenses:Home:Internet')\n",
"(0.83280439607557999, 'Liabilities:AccountsPayable')\n",
"(-0.061882150338771306, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 8, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1195406191163251, 'Expenses:Home:Rent')\n",
"(6.0423763672817818, 'Expenses:Financial:Fees')\n",
"(5.0704206283128155, 'Expenses:Home:Electricity')\n",
"(4.0597461049164609, 'Liabilities:US:Chase:Slate')\n",
"(3.4744926042751452, 'Expenses:Home:Phone')\n",
"(1.5331272354279559, 'Expenses:Home:Internet')\n",
"(0.76945852742454257, 'Liabilities:AccountsPayable')\n",
"(-0.069162086755027302, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 22, 'date_month': 1, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1303305904947631, 'Expenses:Home:Internet')\n",
"(6.0690770827321403, 'Expenses:Home:Phone')\n",
"(5.0492567612472596, 'Liabilities:AccountsPayable')\n",
"(4.1420722497835163, 'Expenses:Home:Electricity')\n",
"(3.0145022210974868, 'Liabilities:US:Chase:Slate')\n",
"(1.8205499971020298, 'Expenses:Financial:Fees')\n",
"(0.83922185093621093, 'Expenses:Home:Rent')\n",
"(-0.065010753393406576, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 22, 'date_month': 6, 'payee': 'Wine-Tarner Cable', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1303316977302913, 'Expenses:Home:Internet')\n",
"(6.0690794573890621, 'Expenses:Home:Phone')\n",
"(5.0487276832844854, 'Liabilities:AccountsPayable')\n",
"(4.1420656744190678, 'Expenses:Home:Electricity')\n",
"(3.0145022056548156, 'Liabilities:US:Chase:Slate')\n",
"(1.8392210296339533, 'Expenses:Home:Rent')\n",
"(0.82055280852557677, 'Expenses:Financial:Fees')\n",
"(-0.064480556637252037, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 18, 'date_month': 9, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1595135972288597, 'Expenses:Home:Phone')\n",
"(5.9978296208787505, 'Expenses:Home:Internet')\n",
"(4.9865969366270706, 'Liabilities:AccountsPayable')\n",
"(4.1303788823632122, 'Expenses:Home:Electricity')\n",
"(3.0253179212243784, 'Liabilities:US:Chase:Slate')\n",
"(1.8905856988005596, 'Expenses:Home:Rent')\n",
"(0.87307619183118446, 'Expenses:Financial:Fees')\n",
"(-0.063298848954015385, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 9, 'date_month': 11, 'payee': 'Chase:Slate', 'narration': 'Paying off credit card'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1203184311943222, 'Liabilities:US:Chase:Slate')\n",
"(6.0745915692978576, 'Expenses:Home:Electricity')\n",
"(4.9974352925115317, 'Expenses:Home:Rent')\n",
"(3.9789643685024498, 'Expenses:Financial:Fees')\n",
"(3.3586481778277903, 'Expenses:Home:Phone')\n",
"(1.6973685884670877, 'Expenses:Home:Internet')\n",
"(0.84514830886728265, 'Liabilities:AccountsPayable')\n",
"(-0.072474736668322437, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 2, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.093852090378677, 'Expenses:Financial:Fees')\n",
"(6.0569566097408449, 'Expenses:Home:Rent')\n",
"(5.0821844985820883, 'Expenses:Home:Electricity')\n",
"(4.0564716149024029, 'Liabilities:US:Chase:Slate')\n"
]
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"(3.4752282813571647, 'Expenses:Home:Phone')\n",
"(1.5335230536446021, 'Expenses:Home:Internet')\n",
"(0.77046183806917135, 'Liabilities:AccountsPayable')\n",
"(-0.068677986674951536, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 2, 'payee': 'RiverBank Properties', 'narration': 'Paying the rent'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1195416046790347, 'Expenses:Home:Rent')\n",
"(6.0423729935735251, 'Expenses:Financial:Fees')\n",
"(5.0704285187501537, 'Expenses:Home:Electricity')\n",
"(4.0597461234476659, 'Liabilities:US:Chase:Slate')\n",
"(3.4744897546868403, 'Expenses:Home:Phone')\n",
"(1.5331259067453209, 'Expenses:Home:Internet')\n",
"(0.77009342097987221, 'Liabilities:AccountsPayable')\n",
"(-0.069798322862412665, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 3, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938526526633865, 'Expenses:Financial:Fees')\n",
"(6.0569564454803935, 'Expenses:Home:Rent')\n",
"(5.0821831835091986, 'Expenses:Home:Electricity')\n",
"(4.0564716118138682, 'Liabilities:US:Chase:Slate')\n",
"(3.4752287562885491, 'Expenses:Home:Phone')\n",
"(1.533523275091708, 'Expenses:Home:Internet')\n",
"(0.77035602247661628, 'Liabilities:AccountsPayable')\n",
"(-0.068571947323720628, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 18, 'date_month': 4, 'payee': 'Verizon Wireless', 'narration': ''}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.1595112225719388, 'Expenses:Home:Phone')\n",
"(5.9978285136432206, 'Expenses:Home:Internet')\n",
"(4.9871260145898457, 'Liabilities:AccountsPayable')\n",
"(4.1303854577276597, 'Expenses:Home:Electricity')\n",
"(3.0253179366670495, 'Liabilities:US:Chase:Slate')\n",
"(1.8905865201028174, 'Expenses:Home:Rent')\n",
"(0.8730733804076376, 'Expenses:Financial:Fees')\n",
"(-0.063829045710169896, 'Assets:US:ETrade:Cash')\n",
"\n",
"imported transaction:\n",
"{'date_day': 4, 'date_month': 12, 'payee': 'BANK FEES', 'narration': 'Monthly bank fee'}\n",
"ranked list of suggested accounts for the above transaction:\n",
"(7.0938577132257707, 'Expenses:Financial:Fees')\n",
"(6.0569549671363294, 'Expenses:Home:Rent')\n",
"(5.0821713478531922, 'Expenses:Home:Electricity')\n",
"(4.0564715840170606, 'Liabilities:US:Chase:Slate')\n",
"(3.4752330306710064, 'Expenses:Home:Phone')\n",
"(1.533525268115661, 'Expenses:Home:Internet')\n",
"(0.76940368214362176, 'Liabilities:AccountsPayable')\n",
"(-0.067617593162642584, 'Assets:US:ETrade:Cash')\n"
]
}
],
"execution_count": 8,
"metadata": {
"inputHidden": false,
"outputHidden": false
}
},
{
"cell_type": "code",
"source": [],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": true
}
}
],
"metadata": {
"kernel_info": {
"name": "python3"
},
"kernelspec": {
"name": "python3",
"language": "python",
"display_name": "Python 3"
},
"language_info": {
"name": "python",
"version": "3.6.3",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"nteract": {
"version": "0.3.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment