diff --git a/doc/conf.py b/doc/conf.py index c0a3b4de901a7d30971c0414e39d58ae2cde6b80..7f2b4eb81ac333e5540daaeaa4695e536577bef2 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -103,7 +103,7 @@ pygments_style = 'sphinx' # The theme to use for HTML and HTML Help pages. Major themes that come with # Sphinx are currently 'default' and 'sphinxdoc'. -html_theme = 'default' +html_theme = 'scikit-learn' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the @@ -111,23 +111,23 @@ html_theme = 'default' #html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] +html_theme_path = ['themes'] # The name for this set of Sphinx documents. If None, it defaults to # "<project> v<release> documentation". #html_title = None # A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None +html_short_title = 'scikits.learn' # The name of an image file (relative to this directory) to place at the top # of the sidebar. -#html_logo = None +html_logo = 'logos/scikit-learn-logo-small.png' # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. -#html_favicon = None +html_favicon = 'logos/favicon.ico' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, diff --git a/doc/images/plot_digits_classification.png b/doc/images/plot_digits_classification.png new file mode 100644 index 0000000000000000000000000000000000000000..e56cf364a35710695308660f384e9c43be7d94a8 Binary files /dev/null and b/doc/images/plot_digits_classification.png differ diff --git a/doc/index.rst b/doc/index.rst index a951e80af87ec605090ba43191aeb6098912fd39..b32c329f326f4015d9fbc859240c610c1e8284ad 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -1,36 +1,6 @@ -.. raw:: html - - <style type="text/css"> - li.toctree-l1 { - padding: 0.5em 0 1em 0 ; - list-style-type: none; - font-size: 150% ; - } - - li.toctree-l2 { - font-size: 70% ; - list-style-type: square; - } - - li.toctree-l3 { - font-size: 85% ; - list-style-type: circle; - } - - div.bodywrapper h1 { - text-align: center; - font-size: 300% ; - color: #000; - border: none; - background-color: #FFFFFF; - padding: 3px 0 0 0; - margin: 0 0 -16px 0; - } - - </style> =========================================== -Scikits.learn: machine learning in Python +scikits.learn: machine learning in python =========================================== .. |banner1| image:: auto_examples/cluster/images/plot_affinity_propagation.png @@ -38,7 +8,7 @@ Scikits.learn: machine learning in Python :target: auto_examples/cluster/plot_affinity_propagation.html -.. |banner2| image:: auto_examples/svm/images/plot_custom_kernel.png +.. |banner2| image:: auto_examples/glm/images/plot_lasso_lars.png :height: 150 :target: auto_examples/svm/plot_custom_kernel.html @@ -75,10 +45,22 @@ Scikits.learn: machine learning in Python engineering**. + +:Features: + * **Solid**: :ref:`supervised-learning`: classification, regression + + * **Work in progress**: :ref:`unsupervised-learning`: :ref:`clustering`, + :ref:`gmm`, manifold learning, ICA + + * **Planed**: Gaussian graphical models, matrix factorization + +:License: + Open source, commercially usable: **BSD license** (3 clause) + + .. raw:: html - <small> - <a href="auto_examples/plot_digits_classification.html"><img src="_images/plot_digits_classification.png" align="right" style="width: 400px"/></a> + <div class="example_digits"> :ref:`A simple Example: recognizing hand-written digits <example_plot_digits_classification.py>` :: @@ -101,22 +83,15 @@ Scikits.learn: machine learning in Python pl.subplot(2, 4, index+5) pl.imshow(image, cmap=pl.cm.gray_r) pl.title('Prediction: %i' % classifier.predict(image.ravel())) - -.. raw:: html - - </small> +.. image:: images/plot_digits_classification.png + :height: 140 + :target: auto_examples/plot_digits_classification.html -:Features: - * **Solid**: :ref:`supervised-learning`: classification, regression - - * **Work in progress**: :ref:`unsupervised-learning`: :ref:`clustering`, - :ref:`gmm`, manifold learning, ICA +.. raw:: html - * **Planed**: Gaussian graphical models, matrix factorization + </div> -:License: - Open source, commercially usable: **BSD license** (3 clause) User guide ====================== @@ -131,16 +106,39 @@ User guide :maxdepth: 3 install + +Tutorial +======== + +.. toctree:: + :maxdepth: 2 + tutorial + +Reference +========= + +.. toctree:: + :maxdepth: 2 + supervised_learning unsupervised_learning model_selection cross_validation + modules/classes + +Gallery +======= .. toctree:: :maxdepth: 2 auto_examples/index - modules/classes + +Developement +============ +.. toctree:: + :maxdepth: 2 + developers/index performance diff --git a/doc/logos/favicon.ico b/doc/logos/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..80d4aa51e352a38566f1a6addb60794fe381bfdc Binary files /dev/null and b/doc/logos/favicon.ico differ diff --git a/doc/logos/scikit-learn-logo-small.png b/doc/logos/scikit-learn-logo-small.png new file mode 100644 index 0000000000000000000000000000000000000000..7cc5fbde5dd7646d51001f5ec92db0182f60c3e3 Binary files /dev/null and b/doc/logos/scikit-learn-logo-small.png differ diff --git a/doc/modules/glm.rst b/doc/modules/glm.rst index 93d74dadc25fbd0cb2c6c45685ed5657617c4d49..36bb1f77eff5e013641c681a88be6738fdb4d772 100644 --- a/doc/modules/glm.rst +++ b/doc/modules/glm.rst @@ -29,7 +29,6 @@ responses predicted by the linear approximation. .. figure:: ../auto_examples/glm/images/plot_ols.png :target: ../auto_examples/glm/plot_ols.html :scale: 50% - :align: center :class:`LinearRegression` will take in its `fit` method arrays X, y and will store the coefficients :math:`w` of the linear model in its diff --git a/doc/support.rst b/doc/support.rst new file mode 100644 index 0000000000000000000000000000000000000000..d05ec89ab1fc4434ac619e44645248f26a356442 --- /dev/null +++ b/doc/support.rst @@ -0,0 +1,24 @@ +There are several ways to get in touch with the developers + +Mailing List +============ + +Main mailing list is `scikit-learn-general +<https://lists.sourceforge.net/lists/listinfo/scikit-learn-general>`_. There +is also a commit list, where updates to the main repo get notified: `scikit-learn-commits <https://lists.sourceforge.net/lists/listinfo/scikit-learn-commits>`_ + + + +Bug tracker +=========== + +If you think you've encoutered a bug, please report it to the issue tracker: + +http://sourceforge.net/apps/trac/scikit-learn/report/1 + +IRC +=== +Some devs like to hang out on channel #learn on irc.freenode.net + +If you do not have an irc client or are behind a firewall this web +client works fine: http://webchat.freenode.net diff --git a/doc/templates/layout.html b/doc/templates/layout.html deleted file mode 100644 index 88b01661ed19fa307be285982fc5f7f1ad573537..0000000000000000000000000000000000000000 --- a/doc/templates/layout.html +++ /dev/null @@ -1,36 +0,0 @@ -{% extends '!layout.html' %} - -{%- if pagename == 'index' %} - {%- block sidebartoc %} - <br/> <!-- These 'br' should die once we have the logo --> - <br/> - <br/> - <hr/> - <h3>Quick links</h3> - <h4><a href="https://sourceforge.net/projects/scikit-learn/files/"> - Download packages</a></h3> - <h4><a href="https://lists.sourceforge.net/lists/listinfo/scikit-learn-general"> - Mailing list</a></h3> - <h3><a href="{{ pathto(master_doc) }}">{{ _('Table Of Contents') }}</a></h3> - - {{ toc }} - {%- endblock %} - {%- set next = False %} - {%- block relbar1 %} - {%- endblock %} -{%- endif %} - -{%- block sidebarsourcelink %} -{% endblock %} - -{%- block sidebarsearch %} - <hr/> -{{ super() }} -{%- if show_source and has_source and sourcename %} -<hr/> -<small><a href="{{ pathto('_sources/' + sourcename, true)|e }}" - rel="nofollow">{{ _('Show this page source') }}</a> -</small> -{%- endif %} -{% endblock %} - diff --git a/doc/themes/scikit-learn/layout.html b/doc/themes/scikit-learn/layout.html new file mode 100644 index 0000000000000000000000000000000000000000..27b58ca1047f823ba1db40e6bb9ee55e53f4b4d5 --- /dev/null +++ b/doc/themes/scikit-learn/layout.html @@ -0,0 +1,108 @@ +{# + scikit-learn/layout.html + ~~~~~~~~~~~~~~~~~ + + Layout for scikit-learn, after a design made by Angel Soler + (http://webylimonada.org) + + :copyright: Fabian Pedregosa + :license: BSD +#} +{% extends "basic/layout.html" %} + +{% block header %} + <div class="header-wrapper"> + <div class="header"> + {%- if logo %} + <p class="logo"><a href="{{ pathto(master_doc) }}"> + <img src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/> + </a> + </p> + {%- endif %} + + + + {%- block navbar -%} + <div class="navbar"> + <ul> + <li><a href="http://sourceforge.net/projects/scikit-learn/files/">download</a></li> + <li><a href="{{pathto('support')}}">support</a></li> + <li><a href="{{pathto('modules/classes')}}">reference</a></li> + <li><a href="{{pathto('auto_examples/index')}}">gallery</a></li> + <li><a href="{{pathto('developers/index')}}">development</a></li> + </ul> + + <form class="search" action="{{ pathto('search') }}" method="get"> + <input id="search_input" + type="text" name="q" size="18" value=" search..." + onfocus="if(this.value==this.defaultValue)this.value='';this.style.color='black'" + onblur="if(this.value=='') { this.value=this.defaultValue;this.style.color='#cccccc'}"/> + <input type="submit" value="{{ _('Go') }}" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> + </div> <!-- end navbar --> + {%- endblock -%} + + + </div> + </div> +{% endblock %} + +{% block content %} + <div class="content-wrapper"> + + <!-- <div id="blue_tile"></div> --> + + <div class="sphinxsidebar"> + + {%- if pagename != 'index' %} + <div class="rel"> + {%- for rellink in rellinks|reverse %} + <a href="{{ pathto(rellink[0]) }}" title="{{ rellink[1]|striptags|e }}" + {{ accesskey(rellink[2]) }}>{{ rellink[3] }}</a> + {%- if not loop.last %}{{ reldelim2 }}{% endif %} + {%- endfor %} + </div> + {% endif %} + + <h3><a href="{{ pathto(master_doc) }}">{{ _('Table Of Contents') }}</a></h3> + {{ toc }} + + </div> + + <div class="content"> + {%- block document %} + {{ super() }} + {%- endblock %} + <div class="clearer"></div> + </div> + </div> +{% endblock %} + +{% block footer %} + <div class="footer-wrapper"> + <div class="footer"> + <div class="left"> + {%- for rellink in rellinks|reverse %} + <a href="{{ pathto(rellink[0]) }}" title="{{ rellink[1]|striptags|e }}" + {{ accesskey(rellink[2]) }}>{{ rellink[3] }}</a> + {%- if not loop.last %}{{ reldelim2 }}{% endif %} + {%- endfor %} + {%- if show_source and has_source and sourcename %} + <br/> + <a href="{{ pathto('_sources/' + sourcename, true)|e }}" + rel="nofollow">{{ _('Show Source') }}</a> + {%- endif %} + </div> + + <div class="right"> + {{ super() }} + </div> + <div class="clearer"></div> + </div> + </div> +{% endblock %} + +{% block relbar1 %}{% endblock %} +{% block relbar2 %}{% endblock %} diff --git a/doc/themes/scikit-learn/static/nature.css_t b/doc/themes/scikit-learn/static/nature.css_t new file mode 100644 index 0000000000000000000000000000000000000000..1f5b7173490d6af70cac3e77b1e6140b3c56cf40 --- /dev/null +++ b/doc/themes/scikit-learn/static/nature.css_t @@ -0,0 +1,368 @@ +/* + * nature.css_t + * ~~~~~~~~~~~~ + * + * Sphinx stylesheet -- nature theme. + * + * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +@import url("basic.css"); +/* -- page layout ----------------------------------------------------------- */ + +body { + font-family: Helvetica, Arial, sans-serif; + font-size: 100%; + background-color: #4eacc5; + margin: 0; + padding: 0; +} + +div.header-wrapper { + background-color: #ffffff; + max-width: 1024px; + min-height: 50px; + margin-left: auto; + margin-right: auto; + border-radius: 15px; + -moz-border-radius: 15px; + margin-top: 10px; +} + + +p.logo { + margin-top: auto; + margin-left: 20px; + float: left; + margin: 0 0 0 20px; +} + +span.legend { + font-family: Verdana; + font-size: 13px; + position: relative; + left: -35px; + top: -3px; +} + +div.navbar { + padding-top: 13px; + margin-left: 230px; +} + +div.navbar ul { + background-color: #ff9c34; + color: white; + border-radius: 5px; + -moz-border-radius: 5px; + list-style: none; +} + +div.navbar ul, div.navbar li { + display: inline; + padding: 4px 15px 5px 15px; +} + +div.navbar ul li a, +div.navbar ul li a:link, +div.navbar ul li a:visited, +div.navbar ul li a:hover { + color: white; + text-decoration: none; + font-weight: bold; + font-size: 14px; +} + +div.navbar ul li a:hover { + color: #EEE; +} + +/* #search_top { */ +/* margin-top: 12px; */ +/* margin-right: 20px; */ +/* display: inline; */ +/* } */ + +form.search { + margin-left: 15px; + display: inline; +} +#search_input { + color: #CCC; +} + +div.content-wrapper { + background-color: #ffffff; + color: #3E4349; + max-width: 1024px; + margin-top: 10px; + margin-left: auto; + margin-right: auto; + border-radius: 15px; + -moz-border-radius: 15px; +} + +div.content { + margin-left: 200px; + padding-bottom: 10px; +} + +div.example_digits { + max-width: 700px; + font-size: 85%; +} + + +div.document { + padding-left: 240px; + padding-right: 20px; +} + +hr { + border: 1px solid #B1B4B6; +} + + +div.body { + font-size: 0.9em; + margin: 10px; +} + +div.footer { + color: #555; + width: 100%; + padding: 13px 0; + text-align: center; + font-size: 75%; +} + +div.footer a { + color: #444; + text-decoration: underline; +} + +div.related { + background-color: #6BA81E; + line-height: 32px; + color: #fff; + text-shadow: 0px 1px 0 #444; + font-size: 0.9em; +} + +div.related a { + color: #E2F3CC; +} + +div.rel { + padding: 15px 15px 0 15px; +} + +div.sphinxsidebar h3, +div.sphinxsidebar h4 { + margin: 0; + padding: 5px 10px; + text-shadow: 1px 1px 0 white +} + + +div.sphinxsidebar p { + padding: 5px 20px; +} + +div.sphinxsidebar p.topless { +} + +div.sphinxsidebar ul { + margin: 10px 20px; + padding: 0; + color: #000; +} + +div.sphinxsidebar ul ul { + margin-right: 0; +} + +div.sphinxsidebar a { + color: #444; +} + + +div.sphinxsidebar { + width: 170px; + float: left; + margin-left: 0; + background-color: inherit; + border-top-left-radius: 15px; + -moz-border-radius:15px; + border-top-width: 0; + border-left-width: 0; + border-bottom-width: 0; +} + +div.sphinxsidebar h3 { + margin-top: 10px; + text-align: center; + font-size: 16px; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar { + font-size: 80%; + line-height: 1.5em; +} + + +input { + border: 1px solid #ccc; + display: inline-block; + text-shadow: none; + font-family: Arial; + font-size: 1em; +} + +div.sphinxsidebar input[type=text]{ + margin-left: 20px; +} + +/* -- body styles ----------------------------------------------------------- */ + +a { + color: #355F7C; + text-decoration: none; +} + +a:hover { + color: #355F7C; + text-decoration: underline; +} + +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: Arial, sans-serif; + background-color: #BED4EB; + font-weight: normal; + color: #212224; +} + +div.body h1, +div.body h2, +div.body h3 { + padding: 10px; + text-align: center; + border-radius: 10px; +} + +div.bodywrapper h1 { + margin: 0 -10px 0 -10px; + text-align: center; + background-color: #cde8ef; + font-family: Helvetica, Arial, sans-serif; + font-size: 250%; + border-radius: 0 15px 0 15px; + -moz-border-radius: 0 15px 0 15px; +} + + + +div.body h3 { + font-size: 120%; + background-color: #D8DEE3; + padding: 5px; + border-radius: 10px; + +} +div.body h4 { font-size: 110%; background-color: #D8DEE3; } +div.body h5 { font-size: 100%; background-color: #D8DEE3; } +div.body h6 { font-size: 100%; background-color: #D8DEE3; } + +a.headerlink { + color: #c60f0f; + font-size: 0.8em; + padding: 0 4px 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + background-color: #c60f0f; + color: white; +} + +div.body p, div.body dd, div.body li { + line-height: 1.5em; +} + +div.admonition p.admonition-title + p { + display: inline; +} + +div.highlight{ + background-color: white; +} + +div.note { + background-color: #eee; + border: 1px solid #ccc; +} + +div.seealso { + background-color: #ffc; + border: 1px solid #ff6; +} + +div.topic { + background-color: #eee; +} + +div.warning { + background-color: #ffe4e4; + border: 1px solid #f66; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre { + padding: 10px; + background-color: White; + color: #222; + line-height: 1.2em; + border: 1px solid #C6C9CB; + font-size: 1.1em; + margin: 1.5em 0 1.5em 0; + -webkit-box-shadow: 1px 1px 1px #d8d8d8; + -moz-box-shadow: 1px 1px 1px #d8d8d8; +} + +div.highlight-python pre { + overflow-y: hidden; +} + +tt { + background-color: #ecf0f3; + color: #222; + /* padding: 1px 2px; */ + font-size: 1.1em; + font-family: monospace; +} + +.viewcode-back { + font-family: Arial, sans-serif; +} + +div.viewcode-block:target { + background-color: #f4debf; + border-top: 1px solid #ac9; + border-bottom: 1px solid #ac9; +} diff --git a/doc/themes/scikit-learn/theme.conf b/doc/themes/scikit-learn/theme.conf new file mode 100644 index 0000000000000000000000000000000000000000..1cc40044646bb73870088ddc88543c58a3ca083e --- /dev/null +++ b/doc/themes/scikit-learn/theme.conf @@ -0,0 +1,4 @@ +[theme] +inherit = basic +stylesheet = nature.css +pygments_style = tango