I have the following situation:
I have collected data of users clicking on many different buttons. I then want to classify users not used in the training set. A scaled down example:
There are 20 buttons in an application
For each of these buttons, I want to train a classifier
A new user clicks on 5 buttons
Based on these 5 clicks, I want to use 5/20 models to vote on the class of the user
I know how to loop to create the different models for the different buttons, but I am at a loss as to how to use only the models that I need in later steps. Is this feasible in Rapidminer?
I am not sure why you would need 20 models to classify - unless each button click has a unique set of features which you want to model. If all you are trying to do is identify a users class based on which 5 buttons they click, i would imagine a single model would be able to do that.
Be that as it may, have you tried Store operator to save each model? Your high level process could do this:
Model development
**Validate** a model for a button
**Store** it using a macro name specified for the button e.g. button1
Model application
Loop Until (all 20 buttons are completed)
Retrieve Model for button1
Apply Model
Store prediction
End loop
Related
I am building a database for maintenance performed on lighting fixtures, each with their own unique serial number. I already have an excel document with all this data, but want to create a better system for managing the data.
The idea is that every time I service a unit, I have a new job #, and fill out a checklist and enter notes for that job. I have created a Job # table, with columns for serial #, date received, date completed, notes etc. I have also created a job form, which includes all the relevant info for that job#. The question I have now is how to create relatively efficient checklists that modify the background color of a text field.
For the first part of this, I need to have a drop down list with different model lights to choose from(each light has different feature sets to test), which, depending on which model I select, will display/generate a checklist, with about 25 items, that is unique to that model.
Then, when all the check boxes are checked for that specific checklist, I need the background color of a text field("Unit Good?") to change from red to green. These check lists need to be specific to the job #/record #, and I'm curious if there's a relatively easy/efficient way to do this.
At present I have about 150 jobs, and it will only increase over time.
My preference is to avoid VBA if possible, but if necessary, some pointers, or recommended tutorials would be highly useful.
I've built the underlying table and form, but haven't yet been able to figure out how to do the checklists.
Any help here would be extremely appreciated. I am happy to provide any additional information/documents if necessary.
Yes, this is possible and it can be done without VBA (although macros are required).
First, you need to create a couple more tables. I'm making the assumption that you only work on one light model per job (multiple models is possible but more complex). You will need to create three tables (two if you already have a table for your light models).
Light_Models will contain information about the light models you service, including their unique serial number.
Model_Checklist_Defaults will contain default checklist values for each light model
Job_Checklist will contain checklist values for a specific job based on the light model you serviced (this is where multiple light models in a job would add complexity). When you create a job for a specific light model, you need to copy the appropriate values from Model_Checklist_Defaults into Job_Checklist (this can be done by creating a query and calling it from a macro, I won't cover this here).
These tables need to be related in the following way Relationships image. I only included the bare minimum columns, you could add more as you need.
You need to create a form to present your checklist, and optionally, other job details. This form assumes that you have already created a job and selected a light model, but you could modify the form to create the job and checklist in one step.
The example form (Form image) has a jobNumber textbox that identifies the current job, a coloredField whose background color changes based on the checklist, and a subform that presents data in the Job_Checklist table filtered by the jobNumber textbox (this filtering is with linked fields in the subform Property image).
The final piece is configuring the coloredField background color and setting a macro on the form, jobNumber and subform to update the coloredField when checkboxes are clicked/unclicked.
This macro need to be set in several places (Macro image):
Form OnLoad event: this ensures that the coloredField updates based on the checklist when the form opens (in case you close and reopen, for example)
jobNumber AfterUpdate event: this field updates the checklist subform when its value changes, so you have to recheck the checklist values each time
subform OnExit event: this event is called after you have clicked into the subform (checking a box, for example) and then clicked on another field in the main form. This event catches the actual checkbox changes.
I am Building an AppMaker App. I have a ChainStores Data model which
has a One to Many relation with a Locations Data Model
I have one page with a list of ChainStores and another page with a list of Locations which should be based on the ChainStore selected.
I would like to have my second page Location to show the data based on what
is clicked on the first page ChainStores.
Thanks!!
You can try this documentation, it said that:
When you create a model, a query datasource is automatically created
with the same name as the model. Whenever, you change the model name,
any query datasource with the same name will also have its name
changed to match the new model name. You can create additional query
datasources for a model. In the model editor, click Add >
Datasource. A new datasource is created with a default name. Often
you will create additional query datasources because you want to have
different options selected for a single model such as having different
sort orders or different page sizes.
To edit an existing query datasource, open the model editor for the
data source. Then expand the Datasources tree item and select the
datasource.
You can also try to this tutorial.
This tutorial teaches you how to:
Create a data model and add fields to it. You learn data-related concepts—data models, fields, records, datasources, and data bindings.
Add form and table widgets to a page. You learn how to modify these widgets and how they work. You also learn the difference between
insert forms and edit forms.
I've been trying to whip up a simple MS-Access task-tracking application for personal use. My basic data model is a task-definition table (in which I can define daily tasks) and a task-result table (in which I can track which tasks I've performed on a given day).
I'm trying to build a form which
1) lists all daily tasks (sorted by time-of-day, an attribute of each task), and
2) next to each task, displays a widget that lets me mark the task as complete.
Here's the rub, though. I have three (and may add more) different types of tasks:
simple yes/no tasks (for which a single checkbox widget would work)
score-able tasks that allow me to track how well the task was done (for which a radio-button group would fit), and
"complex" tasks comprised of several yes/no sub-tasks (for which a multi-selection list-box would fit).
I've gotten as far as building the form so it lists all tasks in desired order, but I am 100% stuck on how to code the (conditional) data-entry widget. Though I've had no difficulty in implementing each widget individually, my best effort is a task list with just check-boxes, just radio group, or just list boxes. I have no idea how to tell the form to "look at" the type of each task and present the appropriate widget beside it.
I'm almost ready to throw in the towel and just hard-code all the tasks into the form, in a fixed order, along with their appropriate widget. Is there a way to implement this in a more elegant manner?
[an aside] I chose MS-Access somewhat arbitrarily, and am learning MS-Access forms as I go. If anyone feels I'm stuck by virtue of choosing the wrong tool for the job, feel free to let me know
As resolved in the comments to original question, it seems the main obstacle is the limitations of continuous forms. Because Access treats each column of continuous forms as an atomic element, there are very few options available to differentiate their presentation. The only tool that comes close is Conditional Formatting, and the closest approach to selectively hiding/showing fields is to hide text-box fields using text colors that "camouflage" them into the background color.
This limitation leads to my potential work-around.
To recap the objective: Within a given day, I want to list a [table-driven] set of tasks. Each task has options of "Yes/No", "Choose one of N choices", or "Choose 0 to N of N choices". Depending on the type of task, it should be rendered (respectively) as a single checkbox (yes/no), a radio button group (choose one), or an checkbox group (choose many).
(An aside: I realize, as I type this, that the first type is really a subclass of the third type, but that doesn't really make the core issue go away)
The proposed idea:
At the time the form is launched, a query can be run which will tell exactly which task will fall into exactly which position. In other words, before "drawing" today's tasks, the database can answer which task will be in position 1, which will be in position 2, and so on. Additionally, I can safely say that there will never be more than, say, 20 tasks (though the actual number of task on any given day can vary).
Which leads me to wonder: what if I designed the form with 20 "slots", and in each slot, had 3 overlaying presentations: one for Yes/No tasks, one for a "Choose one" tasks, and one for "Choose many" tasks. (60 total - sounds horrific, but I'd hope copy/paste would come to the rescue).
When Access renders the form, each slot would query for the "nth" task of the day (so the 1st slot would query for the first task, the 2nd slot for the second task, and so on). The "visible" option would then be set to "Yes" for only the presentation that matched the type of task returned by the query. So if the 3rd slot, querying for the 3rd task, received a task of the "yes/no" variety, only the "yes/no" prompt would be displayed.
For what it's worth, I do have a working version of my application already (though checking & unchecking check-boxes according to whether a task is labeled as "pick one" or "pick many" definitely grates on me). So if there's a reason to think this new approach won't work, I'd be happy to hear it before I throw any real development time at it.
I want to design an object for loading and showing customized data, for example, the object firstly loads all employees in database, then look up whether login user in the list, if so then show the login user, otherwise show dummy data "all employees"(means null). But another scenario is the component should "remember" last time user selected data and show in another page, any good design suggestion?
You describe four major pieces of function:
checking the user against a list
identifying one of two scenarios
remembering selected data
using the remembered selected data
Overall I don't think you've decomposed the problem enough yet to start thinking about design patterns - patterns become important once you've identified some candidate classes and start to look at how to decouple them. So my next step would be to design some classes to do these 4 tasks and then critically example the resulting Object model, see whether refinement is needed. THe first step: identify classes with clear interfaces and responsibilities.
I am new to Access programming and am trying to determine the correct way to bind unbound textbox controls for each row in a continuous form.
As an example:
Continuous Form to display a list of invoices from an Invoice table.
Table called InvoiceItems which contains equipment, rates and hours.
I need to have a form that has a row containing invoices with a column for all available equipment types.
I was planning on having unbound textboxes for each equipment type and then when each Invoice row is loaded, hook into something like an OnRowDataBound where I could dynamically populates the equipment textboxes with the appropriate data from the InvoiceItems table.
Example:
Tables:
Invoice: InvoiceID, Date
[1, 4/10/2011]
InvoiceItems: EquipmentID, Rate, Hours
[2, 40, 1]
[3, 20, 3]
Result:
InvoiceID | Date | Shovel | Plow | DumpTruck
==================================================
1 5/10/2011 3 1 0
2 2/11/2011 1 0 1
Then each textbox control would hook into the onDirty event to update the appropriate InvoiceItem line item.
You won't be able to do this in a continuous form or a datasheet view form since changing the ControlSource property on one row affects all rows.
It's unclear to my why you would even need this option but it sounds like your data/tables might not be designed properly or properly normalized. Usually I would build my tables so that EquipType is a value you can change to show what type of equipment this row is. It appears that somehow you are using different fields for each different equipment type.
Assuming that you insist on using your current design, you could possibly cobble together a solution using Union queries but your recordset will not be updateable.
Another suggestion is to make several different textboxes on your form and change the visible property on the fly. However, this is fraught with problems because you will only be showing one of them at a time on all rows. Furthermore, you'll have to show the correct one when they move to the next record but how are you going to determine which is the correct one to show?
Judging by what you've written, you must have experience programming in .Net. Access is a different beast and it works quite well if you play by its rules. Trying to get around some standard Access behavior or design will usually result in frustration for both the programmer and the user. I think this is a case where you will need to evaluate what you're trying to do and I recommend you start by making sure your table architecture is solid. Perhaps you've actually over-normalized and will need to go back and undo some of your normalization.