{ "info": { "author": "Ruochi Zhang", "author_email": "zrc720@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# SKNet\n\n## Introduction\nSKNet is a new type of neural network that is simple in structure but complex in neuron. Each of its neuron is a traditional estimator such as SVM, RF, etc. \n\n## Fetaures \nWe think that such a network has many applicable scenarios. \n- We don't have enough samples to train neural networks. \n- We hope to improve the accuracy of the model by means of emsemble. \n- We hope to learn some new features. \n- We want to save a lot of parameter adjustment time while getting a stable and good model.\n\n\n## Installation\n\n```python3\npip install sknet\n```\n\n\n## Example\n\n### Computation Graph\n\n![](./computation_graph.png)\n\n### Code\n\n```python\nfrom sknet.sequential import Layer,Sequential,SKNeuron\n\nfrom sklearn.ensemble import RandomForestRegressor\nfrom sklearn.ensemble import AdaBoostRegressor\nfrom sklearn.ensemble import ExtraTreesRegressor\nfrom sklearn.svm import LinearSVR\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.ensemble import GradientBoostingRegressor\nfrom sklearn.neighbors import KNeighborsRegressor\n\n\nfrom sklearn.datasets import load_breast_cancer\nfrom sklearn.model_selection import train_test_split\n\n\ndata = load_breast_cancer()\nfeatures = data.data\ntarget = data.target\n\nX_train, X_test, y_train, y_test = train_test_split(features, target, test_size=0.2, random_state=42)\n\n\n\nlayer1 = Layer([\n SKNeuron(RandomForestRegressor,params = {\"random_state\": 0}),\n SKNeuron(GradientBoostingRegressor,params = {\"random_state\": 0}),\n SKNeuron(AdaBoostRegressor,params = {\"random_state\": 0}),\n SKNeuron(KNeighborsRegressor),\n SKNeuron(ExtraTreesRegressor,params = {\"random_state\": 0}),\n])\n\nlayer2 = Layer([\n SKNeuron(AdaBoostRegressor,params = {\"random_state\": 0}),\n SKNeuron(LinearSVR,params = {\"random_state\": 0}),\n])\n\nlayer3 = Layer([\n SKNeuron(LogisticRegression,params = {\"random_state\": 0}),\n])\n\n\nmodel = Sequential([layer1,layer2,layer3],n_splits = 5)\ny_pred = model.fit_predict(X_train,y_train, X_test)\nprint(model.score(y_test,y_pred))\n\n\n# acc = 0.9736842105263158\n```\n\n## Todo\n- Two or three level stacking\n- multi-processing\n- features proxy", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/zhangruochi/SKNet", "keywords": "stack,sklearn", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "SKNet", "package_url": "https://pypi.org/project/SKNet/", "platform": "any", "project_url": "https://pypi.org/project/SKNet/", "project_urls": { "Homepage": "https://github.com/zhangruochi/SKNet" }, "release_url": "https://pypi.org/project/SKNet/0.0.1/", "requires_dist": null, "requires_python": "", "summary": "a library used for stacking based on scikit-learn", "version": "0.0.1" }, "last_serial": 5703645, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "07921edaff56bcc6bf221e70196adb93", "sha256": "ffcb669c4a20230b3ccef30ca837915ae0b14bbe13129ac97ec66cb4cca3fc11" }, "downloads": -1, "filename": "SKNet-0.0.1.tar.gz", "has_sig": false, "md5_digest": "07921edaff56bcc6bf221e70196adb93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3240, "upload_time": "2019-08-20T14:28:42", "url": "https://files.pythonhosted.org/packages/7e/1a/b533ba48054794b41898f4cccd18387586a6b4c568975e696c3ae5692e71/SKNet-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "07921edaff56bcc6bf221e70196adb93", "sha256": "ffcb669c4a20230b3ccef30ca837915ae0b14bbe13129ac97ec66cb4cca3fc11" }, "downloads": -1, "filename": "SKNet-0.0.1.tar.gz", "has_sig": false, "md5_digest": "07921edaff56bcc6bf221e70196adb93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3240, "upload_time": "2019-08-20T14:28:42", "url": "https://files.pythonhosted.org/packages/7e/1a/b533ba48054794b41898f4cccd18387586a6b4c568975e696c3ae5692e71/SKNet-0.0.1.tar.gz" } ] }