# Visual Simulator for Mastering Fundamental Concepts of Machine Learning
## 3 System Design with Examples
### Creating New Models  
The first option of the software system offered to the user is to create a new model. This option opens the window for loading and analysis of datasets presented in Figure 2. It presents the form for loading the input dataset and choosing relevant attributes. It is the window of the file system that gives the user the possibility to choose the file for loading. The data that load must be in the CSV (Comma-separated values) form. There can be only one output variable in the software system. The file must be such that the last column is the value that is predicted, while all the previous columns are input values. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline \multirow{2}{*}{**Tool Name**} & **Simplicity of** & **Inclusion of Selected** & **Open Source** & **Good Control** & \\  & **User Interface** & **Algorithms** & **Software** & **Execution** & **Covered Topics** \\ \hline \multirow{3}{*}{Weka} & \multirow{3}{*}{2} & Linear regression, Decision & \multirow{3}{*}{yes} & \multirow{3}{*}{3} & Data preprocessing, \\  & & trees, k-nearest neighbors & & & Clustering \\ \multirow{3}{*}{Keel} & \multirow{3}{*}{3} & Linear regression, & \multirow{3}{*}{yes} & Data preprocessing, \\  & & Decision trees, & & Classification, Regression, \\  & & k-nearest neighbors & & & Classification, Regression, \\ \multirow{3}{*}{JMP} & \multirow{3}{*}{2} & Linear regression, & \multirow{3}{*}{no} & \multirow{3}{*}{2} & Data preprocessing, \\  & & Decision trees, & & Classification, Regression, \\ \multirow{3}{*}{Decision Trees} & \multirow{3}{*}{5} & Decision trees & & Classification-Decision \\ \cline{1-1}  & & & & trees \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Analysis of the existing tools and their characteristics. After the input dataset is loaded, the field on the left-hand side will display all the attributes that exist in the dataset. The user can perform a simple selection of all the relevant attributes that they wish to involve in the learning process. All the remaining attributes will be ignored. The software system automatically pre-processes selected input data by filling in incomplete or undefined attribute values. For numerical values, the system fills the inadequate value with the middle value of all the remaining rows in the table. For the values of the categorical type, a new category labeled \"other\" is created, and all the inadequate data are filled in with it. If the user wants additional information on some of the attributes, they can open a window with information by double-clicking on the desired attribute, after which they are shown a window with statistical information on the attribute values in a dataset. Figure 3 shows the window with additional information on the attribute \"city\", whose values are categorical and represent the city in which the real estate is located. Statistical information contains the number of lines in the dataset, the number of unique categorical values, the most frequent attribute value, and the number of its occurrences. Figure 4 shows the window with additional information on the \"number of rooms\" attribute whose values are numerical and represent the number of rooms of the real estate. Statistical information contains the total sum of values of all rows, the average value, standard deviation, minimal and maximal value, and the most frequent value in the lowest 23%, middle 50%, and top 75% of the rows from the dataset. Figure 1: The start screen of the software system. Figure 2: Form for loading datasets and choosing relevant attributes. It is very important to analyze input data so as to decide which data should be taken into consideration when creating a model. To additionally encourage system users to analyze data before they start the process of creating a model, in addition to statistics the system also shows appropriate graphs obtained based on the value of the selected attribute. Figure 5 shows the frequency of the ten most common values of the attribute \"city\".