The day ended with me still coding when the clock crossed midnight. The pleasure of creating a working program is intense and private–you made this. In the late afternoon on Wednesday, I completed my Kaggle first-attempt program in a Jupyter Book (I checked the spelling). I am always surprised when something is done, as I never expected it. This happens to me with code, model building, figure painting, and writing–suddenly, I am done. I was excited, and my hand had a slight tremor as I submitted the book to be processed and scored by the contest. I was under no illusions about my chances of success or even placing in the competition.
The first run failed, which surprised me as this contest result is a simple CSV file prediction. This is a major letdown, and the Kaggle website even suggests that the coder take a walk and calm down. While not quite to tears, I was ready to return to model building and other physical things for a moment. I was sure I missed something simple.
A review of my submission showed that 1) my program had replaced the case identifiers with standardized values and 2) I was sending real numbers and not integers for what an integer value is. Both are well, oops. I found that I was using the label rewriting on the key for the data. It was stupid but effective at hiding the data’s primary key, making my results nonsense (though this method can create a cross-reference for personal data obfuscation). A look at my other models later and a search on the Internet found code to force a column to an integer format. I resubmitted my model, and it failed. Another lesson: I saved my Jupyter book and ran it. It is hard to describe the elation when the work of days or weeks actually works.
While terrible (I have made no real effort to tune the input to the AI model), my score was surprisingly not at the bottom. I scored about 1/2 way, meaning my basic example is better than 1/2 of all the submitted successful work of other teams in the coding contest. I changed some parameters in how the AI works, with the positive results of increasing my score in the contest a few places higher. Later, around 10:30, I revised the code more and produced poor results by trying simpler AI models and a boosting model. I have tried these before in other code, and they easily fit into existing code. Most models use the same input structures, and I have seen code and written some that tour all the models and retain the best by evaluating each AI model and returning the best results. I fell back to my old reliable and easy-to-understand Random Forest of Trees AI model that simulates two thousand randomly created decision trees from the 58 features I supplied (and aligned), ranks them, and they vote on a solution.
One of the changes was that I forced some null data to zero after reading an article that suggested this would be good. The AI model reported a better model, but when I submitted it to the contest, I was not surprised to see the model sink by 50% when scored. That should not have worked in my mind, and it did not. It was one line of code in my data alignment code and was easy to back out.
I went to bed with options for improved code dancing in my brain. I slept well, likely walking through the code and data in my dreams. I don’t remember my dreams, but I was ready to code this morning!
Dear reader, I hope you have nodded off in my excited AI model descriptions; creating and mental gymnastics are my sports.
I showered, changed into my pajamas, and then returned to coding. Before this, I was at First United Methodist Church playing an intense board game, Concordia, a favorite of mine. Z and Andrew were my opponents in this resource management and deck-building game. Concordia is set in Roman times, with each player representing a family building a trading network in the first few centuries of the common era. The cards represent folks working for the family (or family members) who provide an action or two. Your turn is simply to play a card and do the action. But, the strategy and sequence of actions to be efficient are complex, and the options are manifold. Often, you find that you are one coin, step, or resource away from a brilliant play.

We played the basic map and included the Forum (this supplies some superpowers for the players and adds more zest to the game). Three players have plenty of room to run away to a corner with the basic map. Other maps constrain to support a lower player count, which means you are completing for cities, but we picked the initial map for our first play in some time. Let’s go easy.
In the play, Z went for cards and then found Z’s predilection to gather resources and organize them (Z is always the banker for us in the game, and all the coins are carefully stacked in piles), a distraction, which meant Z did not focus on building trade. Z soon found Andrew, and I blocked Z from the easy builds for trade outposts (represented by wooden-colored houses in the game). Andrew initially had trouble remembering how to play, got help from Z and me, understood again, and soon chased me across the board. Z finally remembered the solution to her issues, got all her colonists out, and ran to the board’s edges. Like in the days of the old, trade was most profitable on the outer edges of the empire.
As choir practice started, Andrew had to leave the game before we were done. Z was thrilled to take over Andrew’s position and keep her own. I was now playing a super-Z with two families. Here, fourteen-year-old energy was full-on as she jumped from each chair and played each position. I had misplayed and let Andrew (before Z took over) have a cloth city I could have built. Z-Andrew was spreading out fast but was building a whole providence, creating a powerhouse of resources, but not an end-of-game point-building count of difference providences. I ended the game, gaining 7 points, and won by about twenty points with a score of 120ish, a good showing.
Dondrea had a meeting after choir, and Z and I played Skull, which is so simple that Z had some trouble learning it. Z kept trying to add more to the game. It is a straightforward bluffing game, comes in a small box, and was invented at bars (it was initially made from a stack of coasters, and you can make it with stacks of four matching coasters). Soon, Z got it, and I started to win every game. Z is honest, but a sixty-year-old former IT corporate warrior has years of bluffing and detecting bluffing. Towards the end, Z started spotting my tells and winning more. More to come!
Skipping an uneventful afternoon, I had lunch with Steve and AJ before this. They were in the area for a meeting (they reside on the Oregon Coast), and we met for tacos in Hillsboro Old Town. We also had the smaller margaritas with excellent food at Amelia’s Rustic Mexican Restaurant. We talked about travel and other topics. We mostly enjoyed each other’s company, and Steve commented on my traveling alone. Years of corporate travel have made me very comfortable traveling alone. A skill I did not recognize until now. We will meet up again after my trip to New Orleans (with the hope that no new hurricane interrupts or adds spice to my trip). While a corporate warrior traveler, I experienced two hurricanes.
The morning was my usual routine of rising after 8 and writing the morning way. I had to rush, as I was meeting Steve and AJ at 11:30 and was only a few minutes late. This is unusual for me, but I find time less constraining now than before when five minutes meant a glare from a manager, project leader, or director. I was quickly forgiven, as they are pastors.
The coffee was glorious and liberal, and I added extra water to the French press as it disappeared too fast. Soon, I was typing fast and furious, caffeinated to the max. Breakfast was the easiest: just oatmeal, pumpkin spice flavor with pecans, and 1/2 a can of peaches with little sauce (the sugar sauce is unwelcome to my diabetes intake). While I would like to tell you that the liberal coffee had me dreaming of a world where petroleum-based engines join the coal steam engines in the museums next to the incandescent light bulbs, I focused on writing and getting to lunch with friends instead. Not every day can I appreciate fair trade products and think of the good one cup of excellent coffee that is properly paid for and does good for this world. Some days, one has to push through to connect with friends, which is good, too.
Thanks for reading.