Machine Learning plugin for Rhino\grasshopper based on Python\ scikit-learn module.
This project aims to develop a machine learning plugin for Rhino\Grasshopper by making use of the well-known Python module (Scikit-learn) using Rhnio-Common C# and python programming language to bring sophisticated Machine-Learning supervised and unsupervised learning methods to be handy to regular designers and architects. It is open source and is released under BSD "simplified" licence.
This plugin is based on Python and scikit-learn, while scikit-learn depends on Numpy and scipy modules. Thus, it is important to ensure having these tools installed in your system and working properly. To install scikit-learn on your machine, you could follow instructions on this link: installing scikit-learn.
To install scikit-learn, It is highly recommended that you do this via python bundle, this comes with all required libraries, such as: Python(x,y), Anaconda and Canopy
After installing Python, numPy, SciPy, matplotlib and scikit-learn, Open grasshopper and drag and drop ANT.gha into grasshopper canvas, you will notice a new tap "ANT" has appeared. Then, initiate ANT component to make sure everything is working properly.
On the other hand, this plugin (in the present time) has been tested in Windows environment with python 2.7. If you are using earlier of latter versions, we highly recommend that you kindly submit any bug appears.
-
Create your own data CSV file as shown in the figure below, the first line consists of the features' labels, while the last column is the targets and each line represents a data instance used for trainine.
-
Add new CSV dataset component, Open your csv file using Openfile component, then, link data and targets from csv dataset outpust into any Machine learning component for instance: linear regression.
-
specify the working directore, for example "E:\ant\plugin\example\" (don't forget the backslash at the end of the directory path".
-
add prediction data by using merge component, (note: the total number of merged values must be equal to the number of features)
-
start fitting your data ( use boolean toggle component) .. Thats. all.
The same steps hold for Excel dataset:
Copyright (c) 2017, Mahmoud AbdelRahman [email protected]
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.