This project provides a web-interface,as well as a programmatic-apifor various machine learning algorithms.
Supported algorithms:
Please adhere to contributing.md
,when contributing code. Pull requests that deviate from thecontributing.md
,could be labelledas invalid
, and closed (without merging to master). These best practiceswill ensure integrity, when revisions of code, or issues need to be reviewed.
Note: support, and philantropy can be inquired,to further assist with development.
Fork this project, using of the following methods:
To proceed with the installation for this project, users will need to decidewhether to use the rancher ecosystem, or use docker-compose
. The former willlikely be less reliable, since the corresponding install script, may not worknicely across different operating systems. Additionally, this project willassume rancher as the primary method to deploy, and run the application. So,when using the docker-compose
alternate, keep track what the correspondingendpointsshould be.
If users choose rancher, both docker and rancher must be installed.Installing docker must be done manually, to fulfill a set of dependencies.Once completed, rancher can be installed, and automatically configured, by simplyexecuting a provided bash script, from the docker quickstart terminal:
cd /path/to/machine-learning
./install-rancher
Note: the installation, and the configuration of rancher, has been outlinedif more explicit instructions are needed.
If users choose to forgo rancher, and use the docker-compose
, then simplyinstall docker
, as well as docker-compose
. This will allow the applicationto be deployed from any terminal console:
cd /path/to/machine-learning
docker-compose up
Note: the installation, and the configuration of docker-compose
, has been outlinedif more explicit instructions are needed.
Both the web-interface, and the programmatic-api, have correspondingunit testswhich can be reviewed, and implemented. It is important to remember,the installation of this application will dictate the endpoint. Morespecifically, if the application was installed via rancher, then theendpoint will take the form of https://192.168.99.101:XXXX
. However,if the docker-compose up
alternate was used, then the endpoint willlikely change to https://localhost:XXXX
, or https://127.0.0.1:XXXX
.
The web-interface,can be accessed within the browser on https://192.168.99.101:8080
:
The following sessions are available:
data_new
: store the provided dataset(s), within the implemented sqldatabase.data_append
: append additional dataset(s), to an existing representation(from an earlier data_new
session), within the implemented sql database.model_generate
: using previous stored dataset(s) (from an earlierdata_new
, or data_append
session), generate a corresponding model intomodel_predict
: using a previous stored model (from an earliermodel_predict
session), from the implemented nosql datastore, along withuser supplied values, generate a corresponding prediction.When using the web-interface, it is important to ensure the csv, xml, or jsonfile(s), representing the corresponding dataset(s), are properly formatted.Dataset(s) poorly formatted will fail to create respective json datasetrepresentation(s). Subsequently, the dataset(s) will not succeed being storedinto corresponding database tables. This will prevent any models, and subsequentpredictions from being made.
The following dataset(s), show acceptable syntax:
Note: each dependent variable value (for JSON datasets), is an array(square brackets), since each dependent variable may have multipleobservations.
The programmatic-interface, or set of API, allow users to implement thefollowing sessions:
data_new
: store the provided dataset(s), within the implemented sqldatabase.data_append
: append additional dataset(s), to an existing representation(from an earlier data_new
session), within the implemented sql database.model_generate
: using previous stored dataset(s) (from an earlierdata_new
, or data_append
session), generate a corresponding model intomodel_predict
: using a previous stored model (from an earliermodel_predict
session), from the implemented nosql datastore, along withuser supplied values, generate a corresponding prediction.A post request, can be implemented in python, as follows:
import requests
endpoint = 'https://192.168.99.101:9090/load-data'
headers = {
'Authorization': 'Bearer ' + token,
'Content-Type': 'application/json'
}
requests.post(endpoint, headers=headers, data=json_string_here)
Note: more information, regarding how to obtain a valid token
, can be furtherreviewed, in the /login
documentation.
Note: various data
attributes can be nested in above POST
request.
It is important to remember that the docker-compose.development.yml
,has defined two port forwards, each assigned to its corresponding reverseproxy. This allows port 8080
on the host, to map into the webserver-web
container. A similar case for the programmatic-api, uses port 9090
on thehost.
定义 机器学习:对于一个具体的任务T,通过学习得到的经验E,不断的调整以优化它的性能P。(例如:对于判断邮件是否为垃圾邮件的任务,通过学习分类后得到的正确的或错误的标签,不断调整来尽可能使大部分标签正确) 分类 Supervised learning 监督学习:给定的数据集有确定的标签,根据这些标签来进行学习,多用于回归(房价的预测)和分类(肿瘤良性判断) 英文单词(malignant:恶性,be
machineLearning(机器学习)包含supervised Learning和unsupervised Learning,其中监督学习又包含线性回归(Regress)用来处理连续(continues)的线性问题。分类问题 (classification)主要用来处理离散的(discrete)的问题。 unsupervised Learning非监督的学习,主要包含聚类算法。 所要使用的工具
基础概念 supervised learning 监督学习 classfication registion unsupervised learning 无监督学习 cluster Dimensionality reduction(PCA) reinforcement learning 加强学习 samples(instances,observations) 样本 features(attribut
Topic: 最小二乘法代数求解 实战 最小二乘法矩阵求解 实战 使用 scikit-learn 进行线性回归预测 本文为实战篇,理论篇:线性回归理论 一、最小二乘法代数求解 实战 步骤: 定义数据集, 使用 numpy 绘制图形, 使用matplotlib 定义拟合直线函数,平方损失函数,计算求解 绘制图像 测试用例,预测结果 # 1. 导入数据集 import inline as inline
Public datasets for machine learning http://homepages.inf.ed.ac.uk/rbf/IAPR/researchers/MLPAGES/mldat.htm Weka datasets http://www.cs.waikato.ac.nz/ml/weka/datasets.html
What is Machine Learning? Supervised learning Unsupervised Learning 1. What is Machine Learning? Arthur Samuel described it as: "The field of study that gives computers the ability to learn without be
Supervised learning is tasked with learning a function from labeled training data in order to predict the value of any valid input. Common examples of supervised learning include classifying e-mail me
机器学习的算法分为两大类:监督学习和无监督学习。 监督学习即在机器学习的过程中提供对错指示。一般是在数据组中包含最终结果(0,1),通过算法让机器减少误差。这一类学习主要应用于分类与预测(Regression & Classify)。监督学习从给定的训练数据集中学习出一个目标函数,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求包括输入和输出,也可以说包括特征和目标,训练集中的
学习意味着通过学习或经验获得知识或技能。 基于此,我们可以定义机器学习(ML)如下 - 它可以被定义为计算机科学领域,更具体地说是人工智能的应用,其为计算机系统提供了学习数据和从经验改进而无需明确编程的能力。 基本上,机器学习的主要焦点是允许计算机自动学习而无需人为干预。 现在问题是如何开始和完成这种学习? 它可以从数据的观察开始。 数据可以是一些示例,指令或一些直接经验。 然后在此输入的基础上,
machine – 与硬件相关的功能 machine 模块包含与特定开发板上的硬件相关的特定函数。 在这个模块中的大多数功能允许实现直接和不受限制地访问和控制系统上的硬件块(如CPU,定时器,总线等)。如果使用不当,会导致故障,死机,崩溃,在极端的情况下,硬件会损坏。 需要注意的是,由于不同开发板的硬件资源不同,MicroPython 移植所能控制的硬件也是不一样的。因此对于控制硬件的例程来说,在
Machine Learning Projects This repository contains mini projects in machine learning with jupyter notebook files.Go to the projects folder and see the readme for detailed instructions about the projec
Machine Learning for OpenCV This is the Jupyter notebook version of the following book: Michael Beyeler Machine Learning for OpenCV Intelligent Image Processing with Python 14 July 2017 Packt Publishi
Machine Learning and Data Science Applications in Industry Sov.ai Research Lab (Sponsorship) Animated Investment Management Research at Sov.ai — Sponsoring open source AI, Machine learning, and Data S
Homemade Machine Learning You might be interested in �� Interactive Machine Learning Experiments For Octave/MatLab version of this repository please check machine-learning-octave project. This reposit