{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Generating Synthetic Data\n", "\n", "MLJ has a set of functions that generate random data sets, closely resembling functions of the same name in [scikit-learn](https://scikit-learn.org/stable/datasets/index.html#generated-datasets). They are great for testing machine learning models (e.g., testing user-defined composite models; see [Composing Models](@ref))" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "using MLJ, VegaLite, DataFrames" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generating Gaussian blobs\n", "\n", "```@docs\n", "make_blobs\n", "```" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "

3 rows × 4 columns

x1x2x3y
Float64Float64Float64Cat…
15.306017.335489.94462
25.147575.88138.840962
33.341189.3661712.15292
" ], "text/latex": [ "\\begin{tabular}{r|cccc}\n", "\t& x1 & x2 & x3 & y\\\\\n", "\t\\hline\n", "\t& Float64 & Float64 & Float64 & Cat…\\\\\n", "\t\\hline\n", "\t1 & 5.30601 & 7.33548 & 9.9446 & 2 \\\\\n", "\t2 & 5.14757 & 5.8813 & 8.84096 & 2 \\\\\n", "\t3 & 3.34118 & 9.36617 & 12.1529 & 2 \\\\\n", "\\end{tabular}\n" ], "text/plain": [ "3×4 DataFrame\n", "│ Row │ x1 │ x2 │ x3 │ y │\n", "│ │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │ \u001b[90mCat…\u001b[39m │\n", "├─────┼─────────┼─────────┼─────────┼──────┤\n", "│ 1 │ 5.30601 │ 7.33548 │ 9.9446 │ 2 │\n", "│ 2 │ 5.14757 │ 5.8813 │ 8.84096 │ 2 │\n", "│ 3 │ 3.34118 │ 9.36617 │ 12.1529 │ 2 │" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X, y = make_blobs(100, 3; centers=2, cluster_std=[1.0, 3.0])\n", "dfBlobs = DataFrame(X)\n", "dfBlobs.y = y\n", "first(dfBlobs, 3)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "application/vnd.vegalite.v4+json": { "data": { "values": [ { "x1": 5.306005021959495, "x2": 7.335482624189757, "x3": 9.944601000458027, "y": 2 }, { "x1": 5.147568921504009, "x2": 5.8813034532746995, "x3": 8.840963053930292, "y": 2 }, { "x1": 3.3411808726853685, "x2": 9.366172631347517, "x3": 12.152884110801548, "y": 2 }, { "x1": 2.6932427492747086, "x2": 3.8755332877752684, "x3": 9.270813880679283, "y": 2 }, { "x1": 0.6770531437203839, "x2": 10.264623631901205, "x3": 5.085967793710564, "y": 2 }, { "x1": 5.968852193249184, "x2": 8.357575341247632, "x3": 8.872844466144551, "y": 2 }, { "x1": -4.39743258847105, "x2": 0.22579121587189077, "x3": 2.9775513794984425, "y": 1 }, { "x1": 4.09852883091066, "x2": 7.612602535987916, "x3": 8.060627087119165, "y": 2 }, { "x1": -7.324367023029809, "x2": 0.0778041721398871, "x3": 2.0349068187426385, "y": 1 }, { "x1": -8.745561356435438, "x2": 2.5529094716793113, "x3": 1.5204328242390648, "y": 1 }, { "x1": 7.616977847853697, "x2": 9.82225276655119, "x3": 7.172031495878239, "y": 2 }, { "x1": 8.071772326373031, "x2": 8.983164044631483, "x3": 8.557783745260094, "y": 2 }, { "x1": -7.046450150439305, "x2": 0.24482682433383396, "x3": 0.3932962560518285, "y": 1 }, { "x1": -4.705496488341051, "x2": -0.45049666203100913, "x3": 1.9262734168981595, "y": 1 }, { "x1": 11.595152560575603, "x2": 9.228140189126826, "x3": 9.288065928559037, "y": 2 }, { "x1": -6.069424960021441, "x2": 1.2911725382085457, "x3": 1.0907380932065402, "y": 1 }, { "x1": -5.7449277814355835, "x2": 1.0472264031263927, "x3": 0.16999694438193202, "y": 1 }, { "x1": 1.1113880031932513, "x2": 11.133362944448933, "x3": 9.214199993916857, "y": 2 }, { "x1": 6.159361484032356, "x2": 3.3863641163542564, "x3": 7.53031742921594, "y": 2 }, { "x1": -8.105345303776742, "x2": 0.5952895660270243, "x3": 1.7554179358559807, "y": 1 }, { "x1": -6.423032897347717, "x2": 0.5814779750175166, "x3": 3.085181299091594, "y": 1 }, { "x1": 8.372217288708146, "x2": 6.63661376428365, "x3": 10.84923190020915, "y": 2 }, { "x1": -5.348993383818792, "x2": 0.3297705489333681, "x3": 1.5587688704737914, "y": 1 }, { "x1": 2.085881445011414, "x2": 7.9335745372738335, "x3": 6.05406927966831, "y": 2 }, { "x1": -9.017987265056075, "x2": 1.8509357716604753, "x3": 0.0913476444073924, "y": 1 }, { "x1": 9.646253407877666, "x2": 5.80000520980094, "x3": 8.972265910935798, "y": 2 }, { "x1": 8.864702033702638, "x2": 8.92532437360878, "x3": 8.900877681863578, "y": 2 }, { "x1": 0.18156583554744632, "x2": 13.549088006915632, "x3": 7.285014638622502, "y": 2 }, { "x1": 1.1439631988552952, "x2": 8.310479261886254, "x3": 9.460835048564668, "y": 2 }, { "x1": -6.496162315707228, "x2": 0.7798105520168815, "x3": 1.6795365742316954, "y": 1 }, { "x1": -4.942995188595747, "x2": 0.4505625884730579, "x3": 1.2216877281296248, "y": 1 }, { "x1": 0.9927022823824796, "x2": 11.965635610307858, "x3": 6.59138407635763, "y": 2 }, { "x1": 4.037814391736782, "x2": 5.694494099269116, "x3": 9.530437252586479, "y": 2 }, { "x1": -7.022998297300603, "x2": 0.052246945630883945, "x3": 3.186839613706088, "y": 1 }, { "x1": -6.33290824566598, "x2": 3.4766182520062405, "x3": 2.525264364835934, "y": 1 }, { "x1": -5.885140734550758, "x2": 1.2215416489037356, "x3": 2.493864702782236, "y": 1 }, { "x1": -7.813223110136804, "x2": 0.23525894794594449, "x3": 2.3814224877045964, "y": 1 }, { "x1": 8.304706959809739, "x2": 6.574644565329651, "x3": 10.016530896276773, "y": 2 }, { "x1": -6.603423692500952, "x2": 1.425112146628306, "x3": 0.8244441447758177, "y": 1 }, { "x1": 5.519754886868661, "x2": 6.480775124256417, "x3": 6.503306958983235, "y": 2 }, { "x1": 7.514858472294074, "x2": 9.001407841014714, "x3": 9.811963528463925, "y": 2 }, { "x1": -6.123682614912434, "x2": 1.227163884479407, "x3": 3.5355119070179524, "y": 1 }, { "x1": -6.726198326624127, "x2": 0.4092968630902092, "x3": 2.3954114685515053, "y": 1 }, { "x1": 5.930194311170686, "x2": 10.72008381949118, "x3": 6.86470761326764, "y": 2 }, { "x1": 4.106202272427967, "x2": 6.580252386026229, "x3": 8.164325778675643, "y": 2 }, { "x1": -3.317973494422599, "x2": 10.912676814784314, "x3": 3.8953603521967715, "y": 2 }, { "x1": 6.909354062954444, "x2": 5.0462303493528715, "x3": 12.058630792439827, "y": 2 }, { "x1": 3.0718701931049344, "x2": 7.367189629352266, "x3": 7.31926454176149, "y": 2 }, { "x1": -5.984616236345019, "x2": 1.521501511114606, "x3": 2.2892600135996544, "y": 1 }, { "x1": 5.49440038119045, "x2": 8.299688301816495, "x3": 7.640181394759286, "y": 2 }, { "x1": 1.94809604268616, "x2": 14.10842713282619, "x3": 1.8126501801237964, "y": 2 }, { "x1": -8.018951433514307, "x2": -0.14395932002221212, "x3": 3.1714601355230707, "y": 1 }, { "x1": 7.445510067342759, "x2": 2.048325157857418, "x3": 12.350596266460862, "y": 2 }, { "x1": 6.7997073839834, "x2": 6.248836131705375, "x3": 6.062424512606552, "y": 2 }, { "x1": -5.01437330203226, "x2": 0.8863392889119668, "x3": 1.0448890951995615, "y": 1 }, { "x1": -5.690331552772256, "x2": 0.4227513966241664, "x3": 1.7938515639111308, "y": 1 }, { "x1": -6.416782685318507, "x2": 0.4677530983954018, "x3": 1.9298335856148408, "y": 1 }, { "x1": -6.724581625064847, "x2": 1.071390768637628, "x3": 0.010015938629739152, "y": 1 }, { "x1": -4.993266900110802, "x2": 0.6802932861694558, "x3": 0.7781437764257733, "y": 1 }, { "x1": 10.579278179278752, "x2": 14.017196007306799, "x3": 6.618059604222563, "y": 2 }, { "x1": -6.907622479405076, "x2": 0.7024973864090679, "x3": 1.437015733177828, "y": 1 }, { "x1": -7.006771533069767, "x2": 0.06122210887553037, "x3": 1.2912968442745845, "y": 1 }, { "x1": -7.417712978154991, "x2": 1.1938244408633398, "x3": 1.4153950234578692, "y": 1 }, { "x1": 6.461708647462787, "x2": 6.362326553372559, "x3": 3.6333771701021025, "y": 2 }, { "x1": 5.805648358564471, "x2": 6.915095182581987, "x3": 4.201497474748288, "y": 2 }, { "x1": -6.167624147587743, "x2": 0.5810652676434077, "x3": 2.194440109706654, "y": 1 }, { "x1": 1.0867390890964237, "x2": 13.428551195047657, "x3": 2.114490759258274, "y": 2 }, { "x1": 6.073832196564226, "x2": 9.262124089761777, "x3": 7.214356250800773, "y": 2 }, { "x1": -7.023691799257531, "x2": 2.1259607415695045, "x3": 3.066403827273544, "y": 1 }, { "x1": -6.066202061212535, "x2": -0.3499305761941507, "x3": 1.7616878518799626, "y": 1 }, { "x1": -6.9600298177887625, "x2": 1.1603286676752858, "x3": 2.2958061252417594, "y": 1 }, { "x1": -6.838167309401546, "x2": 1.128604338975403, "x3": 2.2180103336448695, "y": 1 }, { "x1": 9.046786149782797, "x2": 10.234066855370795, "x3": 7.287214057986282, "y": 2 }, { "x1": 3.757268865767819, "x2": 8.367724450303331, "x3": 6.872632413480283, "y": 2 }, { "x1": -2.7341183060205756, "x2": 6.375070057367467, "x3": 11.75140673036356, "y": 2 }, { "x1": -6.680099152743671, "x2": 1.0233772778875447, "x3": 2.0903190377434813, "y": 1 }, { "x1": 6.831981924130954, "x2": 6.959582329903835, "x3": 7.3768596542269425, "y": 2 }, { "x1": -6.509179841060516, "x2": 0.43981444843331874, "x3": 2.2104958957226026, "y": 1 }, { "x1": 0.11350607972926241, "x2": 9.599540589097526, "x3": 3.5284608613258026, "y": 2 }, { "x1": 2.6713741129457, "x2": 12.39558366743411, "x3": 6.579381228370869, "y": 2 }, { "x1": -5.525790421154029, "x2": 1.6679081000809108, "x3": 1.686566619576914, "y": 1 }, { "x1": 4.412278147541436, "x2": 12.400023042361985, "x3": 7.627176318873834, "y": 2 }, { "x1": -6.2940462712919265, "x2": 0.7010010269441812, "x3": 3.105554381298532, "y": 1 }, { "x1": -5.00586372428988, "x2": 1.4289343309266256, "x3": 2.034829163708235, "y": 1 }, { "x1": -7.005120953894531, "x2": 0.3762386917608474, "x3": 1.6388536125619892, "y": 1 }, { "x1": -5.640186654696778, "x2": 0.1697165413221181, "x3": 3.0447935484190976, "y": 1 }, { "x1": -7.926168775237008, "x2": 0.28087436813656774, "x3": 1.6883969652247877, "y": 1 }, { "x1": -5.9288954177643305, "x2": 0.5069727367142964, "x3": 0.9633394865473247, "y": 1 }, { "x1": 2.35487952738382, "x2": 7.125062279061147, "x3": 6.113245425203135, "y": 2 }, { "x1": -5.199101651306389, "x2": 1.1615957466336222, "x3": 2.2130749590766348, "y": 1 }, { "x1": -5.845188039061578, "x2": 0.6062148079988804, "x3": 2.4124295012622223, "y": 1 }, { "x1": 5.706468508158918, "x2": 10.558914570024262, "x3": 4.552052458812694, "y": 2 }, { "x1": 3.0919754182494783, "x2": 9.204285616073179, "x3": 9.058192770669272, "y": 2 }, { "x1": 8.02444912973628, "x2": 8.24945263157183, "x3": 4.699164177191914, "y": 2 }, { "x1": -6.446671601336954, "x2": 2.489917331971359, "x3": 2.3908297780791345, "y": 1 }, { "x1": 8.880477907180222, "x2": 7.554181597572289, "x3": 5.584436336204944, "y": 2 }, { "x1": -12.607510334560356, "x2": 8.610727493054435, "x3": 15.99470940274475, "y": 1 }, { "x1": 1.0250686299014449, "x2": 2.924546519579291, "x3": 7.228835230974251, "y": 2 }, { "x1": -5.647135589823031, "x2": 0.24647446204594714, "x3": 1.671781045300742, "y": 1 }, { "x1": -7.695274267358119, "x2": -0.6810815053343753, "x3": 1.1778108940061394, "y": 1 } ] }, "encoding": { "color": { "field": "y", "type": "nominal" }, "x": { "field": "x1", "type": "quantitative" }, "y": { "field": "x2", "type": "quantitative" } }, "mark": "point" }, "image/png": "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", "image/svg+xml": [ "\n", "\n", "-10-50510x1051015x212y\n" ], "text/plain": [ "@vlplot(\n", " mark=\"point\",\n", " encoding={\n", " x={\n", " field=\"x1\"\n", " },\n", " y={\n", " field=\"x2\"\n", " },\n", " color={\n", " field=\"y\",\n", " type=\"nominal\"\n", " }\n", " },\n", " data={\n", " values=...\n", " }\n", ")" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfBlobs |> @vlplot(:point, x=:x1, y=:x2, color = :\"y:n\") " ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "application/vnd.vegalite.v4+json": { "data": { "values": [ { "x1": 5.306005021959495, "x2": 7.335482624189757, "x3": 9.944601000458027, "y": 2 }, { "x1": 5.147568921504009, "x2": 5.8813034532746995, "x3": 8.840963053930292, "y": 2 }, { "x1": 3.3411808726853685, "x2": 9.366172631347517, "x3": 12.152884110801548, "y": 2 }, { "x1": 2.6932427492747086, "x2": 3.8755332877752684, "x3": 9.270813880679283, "y": 2 }, { "x1": 0.6770531437203839, "x2": 10.264623631901205, "x3": 5.085967793710564, "y": 2 }, { "x1": 5.968852193249184, "x2": 8.357575341247632, "x3": 8.872844466144551, "y": 2 }, { "x1": -4.39743258847105, "x2": 0.22579121587189077, "x3": 2.9775513794984425, "y": 1 }, { "x1": 4.09852883091066, "x2": 7.612602535987916, "x3": 8.060627087119165, "y": 2 }, { "x1": -7.324367023029809, "x2": 0.0778041721398871, "x3": 2.0349068187426385, "y": 1 }, { "x1": -8.745561356435438, "x2": 2.5529094716793113, "x3": 1.5204328242390648, "y": 1 }, { "x1": 7.616977847853697, "x2": 9.82225276655119, "x3": 7.172031495878239, "y": 2 }, { "x1": 8.071772326373031, "x2": 8.983164044631483, "x3": 8.557783745260094, "y": 2 }, { "x1": -7.046450150439305, "x2": 0.24482682433383396, "x3": 0.3932962560518285, "y": 1 }, { "x1": -4.705496488341051, "x2": -0.45049666203100913, "x3": 1.9262734168981595, "y": 1 }, { "x1": 11.595152560575603, "x2": 9.228140189126826, "x3": 9.288065928559037, "y": 2 }, { "x1": -6.069424960021441, "x2": 1.2911725382085457, "x3": 1.0907380932065402, "y": 1 }, { "x1": -5.7449277814355835, "x2": 1.0472264031263927, "x3": 0.16999694438193202, "y": 1 }, { "x1": 1.1113880031932513, "x2": 11.133362944448933, "x3": 9.214199993916857, "y": 2 }, { "x1": 6.159361484032356, "x2": 3.3863641163542564, "x3": 7.53031742921594, "y": 2 }, { "x1": -8.105345303776742, "x2": 0.5952895660270243, "x3": 1.7554179358559807, "y": 1 }, { "x1": -6.423032897347717, "x2": 0.5814779750175166, "x3": 3.085181299091594, "y": 1 }, { "x1": 8.372217288708146, "x2": 6.63661376428365, "x3": 10.84923190020915, "y": 2 }, { "x1": -5.348993383818792, "x2": 0.3297705489333681, "x3": 1.5587688704737914, "y": 1 }, { "x1": 2.085881445011414, "x2": 7.9335745372738335, "x3": 6.05406927966831, "y": 2 }, { "x1": -9.017987265056075, "x2": 1.8509357716604753, "x3": 0.0913476444073924, "y": 1 }, { "x1": 9.646253407877666, "x2": 5.80000520980094, "x3": 8.972265910935798, "y": 2 }, { "x1": 8.864702033702638, "x2": 8.92532437360878, "x3": 8.900877681863578, "y": 2 }, { "x1": 0.18156583554744632, "x2": 13.549088006915632, "x3": 7.285014638622502, "y": 2 }, { "x1": 1.1439631988552952, "x2": 8.310479261886254, "x3": 9.460835048564668, "y": 2 }, { "x1": -6.496162315707228, "x2": 0.7798105520168815, "x3": 1.6795365742316954, "y": 1 }, { "x1": -4.942995188595747, "x2": 0.4505625884730579, "x3": 1.2216877281296248, "y": 1 }, { "x1": 0.9927022823824796, "x2": 11.965635610307858, "x3": 6.59138407635763, "y": 2 }, { "x1": 4.037814391736782, "x2": 5.694494099269116, "x3": 9.530437252586479, "y": 2 }, { "x1": -7.022998297300603, "x2": 0.052246945630883945, "x3": 3.186839613706088, "y": 1 }, { "x1": -6.33290824566598, "x2": 3.4766182520062405, "x3": 2.525264364835934, "y": 1 }, { "x1": -5.885140734550758, "x2": 1.2215416489037356, "x3": 2.493864702782236, "y": 1 }, { "x1": -7.813223110136804, "x2": 0.23525894794594449, "x3": 2.3814224877045964, "y": 1 }, { "x1": 8.304706959809739, "x2": 6.574644565329651, "x3": 10.016530896276773, "y": 2 }, { "x1": -6.603423692500952, "x2": 1.425112146628306, "x3": 0.8244441447758177, "y": 1 }, { "x1": 5.519754886868661, "x2": 6.480775124256417, "x3": 6.503306958983235, "y": 2 }, { "x1": 7.514858472294074, "x2": 9.001407841014714, "x3": 9.811963528463925, "y": 2 }, { "x1": -6.123682614912434, "x2": 1.227163884479407, "x3": 3.5355119070179524, "y": 1 }, { "x1": -6.726198326624127, "x2": 0.4092968630902092, "x3": 2.3954114685515053, "y": 1 }, { "x1": 5.930194311170686, "x2": 10.72008381949118, "x3": 6.86470761326764, "y": 2 }, { "x1": 4.106202272427967, "x2": 6.580252386026229, "x3": 8.164325778675643, "y": 2 }, { "x1": -3.317973494422599, "x2": 10.912676814784314, "x3": 3.8953603521967715, "y": 2 }, { "x1": 6.909354062954444, "x2": 5.0462303493528715, "x3": 12.058630792439827, "y": 2 }, { "x1": 3.0718701931049344, "x2": 7.367189629352266, "x3": 7.31926454176149, "y": 2 }, { "x1": -5.984616236345019, "x2": 1.521501511114606, "x3": 2.2892600135996544, "y": 1 }, { "x1": 5.49440038119045, "x2": 8.299688301816495, "x3": 7.640181394759286, "y": 2 }, { "x1": 1.94809604268616, "x2": 14.10842713282619, "x3": 1.8126501801237964, "y": 2 }, { "x1": -8.018951433514307, "x2": -0.14395932002221212, "x3": 3.1714601355230707, "y": 1 }, { "x1": 7.445510067342759, "x2": 2.048325157857418, "x3": 12.350596266460862, "y": 2 }, { "x1": 6.7997073839834, "x2": 6.248836131705375, "x3": 6.062424512606552, "y": 2 }, { "x1": -5.01437330203226, "x2": 0.8863392889119668, "x3": 1.0448890951995615, "y": 1 }, { "x1": -5.690331552772256, "x2": 0.4227513966241664, "x3": 1.7938515639111308, "y": 1 }, { "x1": -6.416782685318507, "x2": 0.4677530983954018, "x3": 1.9298335856148408, "y": 1 }, { "x1": -6.724581625064847, "x2": 1.071390768637628, "x3": 0.010015938629739152, "y": 1 }, { "x1": -4.993266900110802, "x2": 0.6802932861694558, "x3": 0.7781437764257733, "y": 1 }, { "x1": 10.579278179278752, "x2": 14.017196007306799, "x3": 6.618059604222563, "y": 2 }, { "x1": -6.907622479405076, "x2": 0.7024973864090679, "x3": 1.437015733177828, "y": 1 }, { "x1": -7.006771533069767, "x2": 0.06122210887553037, "x3": 1.2912968442745845, "y": 1 }, { "x1": -7.417712978154991, "x2": 1.1938244408633398, "x3": 1.4153950234578692, "y": 1 }, { "x1": 6.461708647462787, "x2": 6.362326553372559, "x3": 3.6333771701021025, "y": 2 }, { "x1": 5.805648358564471, "x2": 6.915095182581987, "x3": 4.201497474748288, "y": 2 }, { "x1": -6.167624147587743, "x2": 0.5810652676434077, "x3": 2.194440109706654, "y": 1 }, { "x1": 1.0867390890964237, "x2": 13.428551195047657, "x3": 2.114490759258274, "y": 2 }, { "x1": 6.073832196564226, "x2": 9.262124089761777, "x3": 7.214356250800773, "y": 2 }, { "x1": -7.023691799257531, "x2": 2.1259607415695045, "x3": 3.066403827273544, "y": 1 }, { "x1": -6.066202061212535, "x2": -0.3499305761941507, "x3": 1.7616878518799626, "y": 1 }, { "x1": -6.9600298177887625, "x2": 1.1603286676752858, "x3": 2.2958061252417594, "y": 1 }, { "x1": -6.838167309401546, "x2": 1.128604338975403, "x3": 2.2180103336448695, "y": 1 }, { "x1": 9.046786149782797, "x2": 10.234066855370795, "x3": 7.287214057986282, "y": 2 }, { "x1": 3.757268865767819, "x2": 8.367724450303331, "x3": 6.872632413480283, "y": 2 }, { "x1": -2.7341183060205756, "x2": 6.375070057367467, "x3": 11.75140673036356, "y": 2 }, { "x1": -6.680099152743671, "x2": 1.0233772778875447, "x3": 2.0903190377434813, "y": 1 }, { "x1": 6.831981924130954, "x2": 6.959582329903835, "x3": 7.3768596542269425, "y": 2 }, { "x1": -6.509179841060516, "x2": 0.43981444843331874, "x3": 2.2104958957226026, "y": 1 }, { "x1": 0.11350607972926241, "x2": 9.599540589097526, "x3": 3.5284608613258026, "y": 2 }, { "x1": 2.6713741129457, "x2": 12.39558366743411, "x3": 6.579381228370869, "y": 2 }, { "x1": -5.525790421154029, "x2": 1.6679081000809108, "x3": 1.686566619576914, "y": 1 }, { "x1": 4.412278147541436, "x2": 12.400023042361985, "x3": 7.627176318873834, "y": 2 }, { "x1": -6.2940462712919265, "x2": 0.7010010269441812, "x3": 3.105554381298532, "y": 1 }, { "x1": -5.00586372428988, "x2": 1.4289343309266256, "x3": 2.034829163708235, "y": 1 }, { "x1": -7.005120953894531, "x2": 0.3762386917608474, "x3": 1.6388536125619892, "y": 1 }, { "x1": -5.640186654696778, "x2": 0.1697165413221181, "x3": 3.0447935484190976, "y": 1 }, { "x1": -7.926168775237008, "x2": 0.28087436813656774, "x3": 1.6883969652247877, "y": 1 }, { "x1": -5.9288954177643305, "x2": 0.5069727367142964, "x3": 0.9633394865473247, "y": 1 }, { "x1": 2.35487952738382, "x2": 7.125062279061147, "x3": 6.113245425203135, "y": 2 }, { "x1": -5.199101651306389, "x2": 1.1615957466336222, "x3": 2.2130749590766348, "y": 1 }, { "x1": -5.845188039061578, "x2": 0.6062148079988804, "x3": 2.4124295012622223, "y": 1 }, { "x1": 5.706468508158918, "x2": 10.558914570024262, "x3": 4.552052458812694, "y": 2 }, { "x1": 3.0919754182494783, "x2": 9.204285616073179, "x3": 9.058192770669272, "y": 2 }, { "x1": 8.02444912973628, "x2": 8.24945263157183, "x3": 4.699164177191914, "y": 2 }, { "x1": -6.446671601336954, "x2": 2.489917331971359, "x3": 2.3908297780791345, "y": 1 }, { "x1": 8.880477907180222, "x2": 7.554181597572289, "x3": 5.584436336204944, "y": 2 }, { "x1": -12.607510334560356, "x2": 8.610727493054435, "x3": 15.99470940274475, "y": 1 }, { "x1": 1.0250686299014449, "x2": 2.924546519579291, "x3": 7.228835230974251, "y": 2 }, { "x1": -5.647135589823031, "x2": 0.24647446204594714, "x3": 1.671781045300742, "y": 1 }, { "x1": -7.695274267358119, "x2": -0.6810815053343753, "x3": 1.1778108940061394, "y": 1 } ] }, "encoding": { "color": { "field": "y", "type": "nominal" }, "x": { "field": "x1", "type": "quantitative" }, "y": { "field": "x3", "type": "quantitative" } }, "mark": "point" }, "image/png": "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", "image/svg+xml": [ "\n", "\n", "-10-50510x1051015x312y\n" ], "text/plain": [ "@vlplot(\n", " mark=\"point\",\n", " encoding={\n", " x={\n", " field=\"x1\"\n", " },\n", " y={\n", " field=\"x3\"\n", " },\n", " color={\n", " field=\"y\",\n", " type=\"nominal\"\n", " }\n", " },\n", " data={\n", " values=...\n", " }\n", ")" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfBlobs |> @vlplot(:point, x=:x1, y=:x3, color = :\"y:n\") " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generating concentric circles\n", "\n", "```@docs\n", "make_circles\n", "```" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/html": [ "

3 rows × 3 columns

x1x2y
Float64Float64Cat…
1-0.342997-0.006299560
21.020850.04372881
3-0.218680.9580611
" ], "text/latex": [ "\\begin{tabular}{r|ccc}\n", "\t& x1 & x2 & y\\\\\n", "\t\\hline\n", "\t& Float64 & Float64 & Cat…\\\\\n", "\t\\hline\n", "\t1 & -0.342997 & -0.00629956 & 0 \\\\\n", "\t2 & 1.02085 & 0.0437288 & 1 \\\\\n", "\t3 & -0.21868 & 0.958061 & 1 \\\\\n", "\\end{tabular}\n" ], "text/plain": [ "3×3 DataFrame\n", "│ Row │ x1 │ x2 │ y │\n", "│ │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │ \u001b[90mCat…\u001b[39m │\n", "├─────┼───────────┼─────────────┼──────┤\n", "│ 1 │ -0.342997 │ -0.00629956 │ 0 │\n", "│ 2 │ 1.02085 │ 0.0437288 │ 1 │\n", "│ 3 │ -0.21868 │ 0.958061 │ 1 │" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X, y = make_circles(100; noise=0.05, factor=0.3)\n", "dfCircles = DataFrame(X)\n", "dfCircles.y = y\n", "first(dfCircles, 3)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "application/vnd.vegalite.v4+json": { "data": { "values": [ { "x1": -0.3429973289986776, "x2": -0.006299563562939361, "y": 0 }, { "x1": 1.020851097085077, "x2": 0.043728796294943945, "y": 1 }, { "x1": -0.21867985215237407, "x2": 0.9580608508854831, "y": 1 }, { "x1": 0.9625640311412708, "x2": 0.21084553537124323, "y": 1 }, { "x1": -0.2374389587127787, "x2": 0.9803255854713364, "y": 1 }, { "x1": -0.24595828848918444, "x2": 0.9111329686909976, "y": 1 }, { "x1": -0.6153573100129112, "x2": -0.7174777312043913, "y": 1 }, { "x1": 0.29983681490799097, "x2": -0.16393266640813678, "y": 0 }, { "x1": -0.6632463716368422, "x2": -0.8001109689169298, "y": 1 }, { "x1": -1.0100656696395762, "x2": 0.09435336737910159, "y": 1 }, { "x1": -0.08936277940202794, "x2": 0.31082908269227055, "y": 0 }, { "x1": 0.0014616299487905382, "x2": 0.2912518595769784, "y": 0 }, { "x1": 0.32794851838748895, "x2": 0.00982268552859051, "y": 0 }, { "x1": 0.17351832880979648, "x2": 0.30214573327773553, "y": 0 }, { "x1": 0.22716768591438416, "x2": -0.11774922836321489, "y": 0 }, { "x1": -0.679973863644328, "x2": 0.7221401632284198, "y": 1 }, { "x1": 0.9520012124705264, "x2": 0.2534620436014916, "y": 1 }, { "x1": -0.29464854561206044, "x2": -0.15685435652734164, "y": 0 }, { "x1": 0.2700982666499536, "x2": 0.00888445334085276, "y": 0 }, { "x1": 0.18592993013624848, "x2": 0.09115204832655024, "y": 0 }, { "x1": -0.2935080433318936, "x2": 0.1412751463717719, "y": 0 }, { "x1": 0.7978191852896912, "x2": 0.6162813194908285, "y": 1 }, { "x1": -0.22254688768213504, "x2": 0.1605507152220613, "y": 0 }, { "x1": -0.15881180400189826, "x2": -0.9822445412304502, "y": 1 }, { "x1": -0.8563020605700551, "x2": -0.43527403789979235, "y": 1 }, { "x1": 0.32978189481436077, "x2": -0.9789875458306052, "y": 1 }, { "x1": -0.7706670237593738, "x2": 0.606821111398671, "y": 1 }, { "x1": -0.4659477289814586, "x2": 0.9435043814406232, "y": 1 }, { "x1": -0.11003684705292904, "x2": -0.9689640456114402, "y": 1 }, { "x1": -0.23107183282863042, "x2": 0.059953932947462346, "y": 0 }, { "x1": 0.6330557548781504, "x2": -0.8626540953154966, "y": 1 }, { "x1": 0.42427802614154514, "x2": 0.9201088595955302, "y": 1 }, { "x1": -0.5147670225012002, "x2": -0.842291406477388, "y": 1 }, { "x1": -0.01993920866796471, "x2": 0.28221604812323003, "y": 0 }, { "x1": 0.709895106742534, "x2": -0.6157240147949496, "y": 1 }, { "x1": 0.2065567105053752, "x2": -0.08766340966874338, "y": 0 }, { "x1": 0.44803825736454, "x2": 0.9554995429808866, "y": 1 }, { "x1": -0.25080081682843997, "x2": -0.9449314723920158, "y": 1 }, { "x1": -0.15046593100431926, "x2": -0.29935140872031396, "y": 0 }, { "x1": 0.9103006206565706, "x2": -0.47309282712544315, "y": 1 }, { "x1": 0.24875943962936292, "x2": 0.9395316192709823, "y": 1 }, { "x1": 0.5565044880529034, "x2": 0.8547081318747849, "y": 1 }, { "x1": 0.16269085289063295, "x2": 0.27477718218329916, "y": 0 }, { "x1": -0.9629756398871605, "x2": 0.08201822136517878, "y": 1 }, { "x1": -0.10563104657650116, "x2": -0.23703709130305953, "y": 0 }, { "x1": 0.8754787545857909, "x2": -0.5021627706867883, "y": 1 }, { "x1": 0.9750663880678216, "x2": -0.08368111134366801, "y": 1 }, { "x1": 1.0182378700635522, "x2": 0.36229863353152647, "y": 1 }, { "x1": -0.315687363784698, "x2": 0.20279779525392258, "y": 0 }, { "x1": -0.2831956070540199, "x2": -0.1592405085003608, "y": 0 }, { "x1": 0.16026997020032946, "x2": 0.31023859757986355, "y": 0 }, { "x1": 0.6072258206079085, "x2": -0.7912818372492608, "y": 1 }, { "x1": -0.20535694466674845, "x2": -0.25656850846296153, "y": 0 }, { "x1": -0.9641499344391675, "x2": -0.14049208516067613, "y": 1 }, { "x1": -0.6112661531754814, "x2": -0.8715321600810764, "y": 1 }, { "x1": -0.08293498344071384, "x2": -0.4129736360639079, "y": 0 }, { "x1": 1.0385999790988483, "x2": -0.14017000537719834, "y": 1 }, { "x1": -1.0076641324920224, "x2": 0.027335332349792345, "y": 1 }, { "x1": 0.29817424822287086, "x2": 0.04286355625553197, "y": 0 }, { "x1": 0.013231245537377022, "x2": 0.20147488297588945, "y": 0 }, { "x1": 0.3668421122289275, "x2": -0.04557981331553901, "y": 0 }, { "x1": -0.37401001184436083, "x2": 0.9203530401307064, "y": 1 }, { "x1": -0.9267344270799769, "x2": 0.1793091020021044, "y": 1 }, { "x1": 0.026954417409516207, "x2": 0.33310043765475605, "y": 0 }, { "x1": -0.18268204747176656, "x2": 0.23856662483059662, "y": 0 }, { "x1": -0.1894173950825171, "x2": -0.14474247785644406, "y": 0 }, { "x1": -0.5425176533238742, "x2": -0.805946500350001, "y": 1 }, { "x1": -0.9650769024788493, "x2": -0.02232220001476625, "y": 1 }, { "x1": 0.7112706527628312, "x2": -0.7211592660571973, "y": 1 }, { "x1": -0.28491815276811977, "x2": -0.07054596159092547, "y": 0 }, { "x1": 0.2756079094350364, "x2": 0.20235536126443116, "y": 0 }, { "x1": 0.2240703193325335, "x2": 0.9519657879984283, "y": 1 }, { "x1": 0.9519454027127411, "x2": -0.45357197969470997, "y": 1 }, { "x1": -0.3333244695089689, "x2": -0.2077895015728271, "y": 0 }, { "x1": 0.14365013577653737, "x2": 0.05716772625951774, "y": 0 }, { "x1": -0.2650023883873516, "x2": 0.022792590129607198, "y": 0 }, { "x1": 0.20635596343573775, "x2": -0.013425305228230607, "y": 0 }, { "x1": 0.055374276623968224, "x2": 0.24613958883085488, "y": 0 }, { "x1": -0.25047895138585263, "x2": -0.11926289997230519, "y": 0 }, { "x1": -0.30135495282946084, "x2": 0.18616473647811618, "y": 0 }, { "x1": 0.14532109194406506, "x2": -1.040895677739072, "y": 1 }, { "x1": 0.7081062660338171, "x2": 0.6874607762309212, "y": 1 }, { "x1": 0.8390174045057971, "x2": 0.4620999203625478, "y": 1 }, { "x1": -0.22652408835373633, "x2": 0.16854637046802926, "y": 0 }, { "x1": 0.19740525848569687, "x2": 0.13072625650144903, "y": 0 }, { "x1": 0.26732684137604423, "x2": -0.13719514797253204, "y": 0 }, { "x1": 0.3116056484318315, "x2": 0.06498420835031596, "y": 0 }, { "x1": -0.24960279415133863, "x2": 0.05663660712253064, "y": 0 }, { "x1": -0.23582753668725392, "x2": 0.18412066290791876, "y": 0 }, { "x1": -0.23403324429917724, "x2": 0.8403381480195693, "y": 1 }, { "x1": 0.8784733597241043, "x2": 0.6607865891460041, "y": 1 }, { "x1": -0.2675150513505535, "x2": -0.22733219426709703, "y": 0 }, { "x1": 0.13987364887016432, "x2": -0.32668574207030815, "y": 0 }, { "x1": 0.3460921745748985, "x2": -1.0154928903409635, "y": 1 }, { "x1": 0.16520144729846079, "x2": 1.034839139002008, "y": 1 }, { "x1": 0.24883005682836432, "x2": 0.08659666670503414, "y": 0 }, { "x1": 0.020733754198625186, "x2": -0.273474754725191, "y": 0 }, { "x1": -0.06869982763841025, "x2": 0.2517322619869118, "y": 0 }, { "x1": -1.017808261449678, "x2": 0.3029801396536927, "y": 1 }, { "x1": -0.014847635093359055, "x2": 0.22143466631904055, "y": 0 } ] }, "encoding": { "color": { "field": "y", "type": "nominal" }, "x": { "field": "x1", "type": "quantitative" }, "y": { "field": "x2", "type": "quantitative" } }, "mark": "circle" }, "image/png": "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", "image/svg+xml": [ "\n", "\n", "-1.0-0.50.00.51.0x1-1.0-0.50.00.51.0x201y\n" ], "text/plain": [ "@vlplot(\n", " mark=\"circle\",\n", " encoding={\n", " x={\n", " field=\"x1\"\n", " },\n", " y={\n", " field=\"x2\"\n", " },\n", " color={\n", " field=\"y\",\n", " type=\"nominal\"\n", " }\n", " },\n", " data={\n", " values=...\n", " }\n", ")" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfCircles |> @vlplot(:circle, x=:x1, y=:x2, color = :\"y:n\") " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Sampling from two interleaved half-circles\n", "\n", "```@docs\n", "make_moons\n", "```" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/html": [ "

3 rows × 3 columns

x1x2y
Float64Float64Cat…
11.24069-0.66751
21.241-0.6322591
30.06990981.062160
" ], "text/latex": [ "\\begin{tabular}{r|ccc}\n", "\t& x1 & x2 & y\\\\\n", "\t\\hline\n", "\t& Float64 & Float64 & Cat…\\\\\n", "\t\\hline\n", "\t1 & 1.24069 & -0.6675 & 1 \\\\\n", "\t2 & 1.241 & -0.632259 & 1 \\\\\n", "\t3 & 0.0699098 & 1.06216 & 0 \\\\\n", "\\end{tabular}\n" ], "text/plain": [ "3×3 DataFrame\n", "│ Row │ x1 │ x2 │ y │\n", "│ │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │ \u001b[90mCat…\u001b[39m │\n", "├─────┼───────────┼───────────┼──────┤\n", "│ 1 │ 1.24069 │ -0.6675 │ 1 │\n", "│ 2 │ 1.241 │ -0.632259 │ 1 │\n", "│ 3 │ 0.0699098 │ 1.06216 │ 0 │" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X, y = make_moons(100; noise=0.05)\n", "dfHalfCircles = DataFrame(X)\n", "dfHalfCircles.y = y\n", "first(dfHalfCircles, 3)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "application/vnd.vegalite.v4+json": { "data": { "values": [ { "x1": 1.2406942174734734, "x2": -0.6675000804338371, "y": 1 }, { "x1": 1.2410015086743167, "x2": -0.6322593736369718, "y": 1 }, { "x1": 0.06990981037877807, "x2": 1.0621620146552546, "y": 0 }, { "x1": -0.8594317246594768, "x2": 0.5050126274320409, "y": 0 }, { "x1": 0.8913714672722427, "x2": -0.7230636748651124, "y": 1 }, { "x1": -0.11665520774672355, "x2": 0.217942948971188, "y": 1 }, { "x1": 1.7000198867946492, "x2": -0.5047520760933171, "y": 1 }, { "x1": 0.20836468972948344, "x2": 1.001857305257787, "y": 0 }, { "x1": -0.7214408823537237, "x2": 0.5753991624309904, "y": 0 }, { "x1": 2.005258940360532, "x2": 0.255014724581191, "y": 1 }, { "x1": -0.5172104956756103, "x2": 0.894446068889573, "y": 0 }, { "x1": 1.2601388729129317, "x2": -0.7584764057619642, "y": 1 }, { "x1": 0.756228663752844, "x2": 0.5706802966510527, "y": 0 }, { "x1": 0.9379203571124439, "x2": 0.4398660204799998, "y": 0 }, { "x1": 0.13500405333614585, "x2": -0.134146618139435, "y": 1 }, { "x1": 0.4511498641919731, "x2": -0.5076768658992339, "y": 1 }, { "x1": 0.8306170628655811, "x2": -0.7538665408619786, "y": 1 }, { "x1": -0.8304235853329202, "x2": 0.4621579957951099, "y": 0 }, { "x1": 0.46318715610804073, "x2": 0.850339835687557, "y": 0 }, { "x1": -0.1344689233821857, "x2": 0.9490067076633847, "y": 0 }, { "x1": 0.031965039830572126, "x2": -0.2045227706231068, "y": 1 }, { "x1": 0.3885406964860613, "x2": 0.9080135079237913, "y": 0 }, { "x1": -0.974505194344145, "x2": 0.34656019315759395, "y": 0 }, { "x1": 0.1438441554968986, "x2": -0.16236452653746059, "y": 1 }, { "x1": 0.12813431522308014, "x2": -0.2690447807905186, "y": 1 }, { "x1": 1.2938798775353157, "x2": -0.7035549855936218, "y": 1 }, { "x1": -0.6302207967178417, "x2": 0.7824117699501971, "y": 0 }, { "x1": -0.008704996496725384, "x2": 0.08940894489853825, "y": 1 }, { "x1": 1.3169684333413518, "x2": -0.6572897539840402, "y": 1 }, { "x1": -0.9332465104265187, "x2": 0.21874001494465423, "y": 0 }, { "x1": 0.27542680493350324, "x2": -0.35149358013403253, "y": 1 }, { "x1": 0.9190916777834303, "x2": 0.3811838191561983, "y": 0 }, { "x1": 0.007820344077088643, "x2": 0.18752871031031082, "y": 1 }, { "x1": -0.9461105686507629, "x2": 0.253107980182658, "y": 0 }, { "x1": 0.9010389590651727, "x2": -0.6641776962617305, "y": 1 }, { "x1": -0.8594234021683481, "x2": 0.4100651239702702, "y": 0 }, { "x1": 1.0819189417880468, "x2": -0.5869965297536287, "y": 1 }, { "x1": 0.6369940453428288, "x2": 0.7325765823751375, "y": 0 }, { "x1": -0.5006208853162406, "x2": 0.8388452250863161, "y": 0 }, { "x1": 1.036360940479515, "x2": -0.7469945691192094, "y": 1 }, { "x1": 0.7590166631159238, "x2": -0.5905994964892134, "y": 1 }, { "x1": -0.07254469302597488, "x2": 0.03267905546933966, "y": 1 }, { "x1": 1.9965625649036154, "x2": 0.11021264190841462, "y": 1 }, { "x1": 1.9780164324432536, "x2": 0.09354461214889419, "y": 1 }, { "x1": -0.9920860606058769, "x2": 0.2500555193591608, "y": 0 }, { "x1": 1.8181351466415165, "x2": -0.05980380929674341, "y": 1 }, { "x1": 0.2580670518614272, "x2": 0.9526771397299082, "y": 0 }, { "x1": 1.6682176632658834, "x2": -0.34209493011103237, "y": 1 }, { "x1": 0.04419050184214756, "x2": 0.0038000959574060033, "y": 1 }, { "x1": 0.3722842064188983, "x2": -0.42565442794834263, "y": 1 }, { "x1": -0.060340789411243406, "x2": 0.3186224374148551, "y": 1 }, { "x1": -0.9271489561658299, "x2": 0.1895608933324988, "y": 0 }, { "x1": 0.8919818543347324, "x2": 0.42601455321717685, "y": 0 }, { "x1": 0.9572769659783547, "x2": -0.5915801891502274, "y": 1 }, { "x1": -0.42302485905763504, "x2": 0.9418416273800865, "y": 0 }, { "x1": -0.02700944338855181, "x2": 0.8832396767374034, "y": 0 }, { "x1": 1.070286925514923, "x2": 0.23066474523043926, "y": 0 }, { "x1": 0.4378403909500951, "x2": 1.0052147297799667, "y": 0 }, { "x1": 0.8285573744934454, "x2": -0.7255282602578935, "y": 1 }, { "x1": 0.02394960823879346, "x2": -0.07774622722328649, "y": 1 }, { "x1": 0.774970451725866, "x2": 0.6662959610909432, "y": 0 }, { "x1": 1.7633655144424822, "x2": -0.4743784076687701, "y": 1 }, { "x1": -1.0123286161196665, "x2": 0.09722689107239875, "y": 0 }, { "x1": 1.7929182192544169, "x2": -0.3070946235199431, "y": 1 }, { "x1": 1.3672405408248658, "x2": -0.5946502912623468, "y": 1 }, { "x1": -0.7374687708135843, "x2": 0.663319133986389, "y": 0 }, { "x1": 0.46426958884451336, "x2": -0.527841524915178, "y": 1 }, { "x1": -1.0411389013790964, "x2": 0.08818585090514085, "y": 0 }, { "x1": -0.8280497824809255, "x2": 0.46848448553091987, "y": 0 }, { "x1": 0.00825342417445183, "x2": 1.0375494136557097, "y": 0 }, { "x1": -0.8545221210960231, "x2": 0.6493234608697885, "y": 0 }, { "x1": -0.42056750697057993, "x2": 0.8863193492861382, "y": 0 }, { "x1": 1.9725813454835974, "x2": -0.025281198422860224, "y": 1 }, { "x1": -0.32875383551062515, "x2": 0.8127421841321913, "y": 0 }, { "x1": 0.5072867395438626, "x2": 0.816319733468487, "y": 0 }, { "x1": 0.9660722412765478, "x2": -0.6999256194148809, "y": 1 }, { "x1": 0.21419993288074352, "x2": 1.0227412476417808, "y": 0 }, { "x1": -0.2523311656461151, "x2": 0.9976019379177721, "y": 0 }, { "x1": 1.5319756660203723, "x2": -0.5310079604750354, "y": 1 }, { "x1": 0.8885281499040026, "x2": 0.40257591427890743, "y": 0 }, { "x1": 0.1962344076598182, "x2": -0.2998458681983232, "y": 1 }, { "x1": 0.5159268253607452, "x2": -0.5351538356318559, "y": 1 }, { "x1": -0.20958319519246094, "x2": 0.9895391400564701, "y": 0 }, { "x1": 1.9167630156114612, "x2": -0.17201129221609, "y": 1 }, { "x1": -0.5664099254747955, "x2": 0.8057659685679476, "y": 0 }, { "x1": -0.03741146699731375, "x2": 0.1863830383705885, "y": 1 }, { "x1": -0.7630995766586226, "x2": 0.6203680667979695, "y": 0 }, { "x1": 0.9704886316424353, "x2": 0.25363412314854367, "y": 0 }, { "x1": 1.2784450172811785, "x2": -0.6724363425235614, "y": 1 }, { "x1": 0.8898907336925174, "x2": 0.4203863376456201, "y": 0 }, { "x1": 0.9225483388670838, "x2": 0.37143481915881243, "y": 0 }, { "x1": 1.4376438297701843, "x2": -0.720172316644443, "y": 1 }, { "x1": -0.4835469689296842, "x2": 0.7552999338728068, "y": 0 }, { "x1": -0.06262882308861609, "x2": 1.048085128668148, "y": 0 }, { "x1": 1.9434972847835554, "x2": 0.20209614481597143, "y": 1 }, { "x1": -0.5395211642571712, "x2": 0.8879771723238109, "y": 0 }, { "x1": 0.21271607890479852, "x2": -0.2687112624602331, "y": 1 }, { "x1": 1.9307409031697218, "x2": -0.0533880260750533, "y": 1 }, { "x1": 1.3096063915759464, "x2": -0.6007925755906534, "y": 1 }, { "x1": -0.538846734372177, "x2": 0.8112859643202828, "y": 0 } ] }, "encoding": { "color": { "field": "y", "type": "nominal" }, "x": { "field": "x1", "type": "quantitative" }, "y": { "field": "x2", "type": "quantitative" } }, "mark": "circle" }, "image/png": "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", "image/svg+xml": [ "\n", "\n", "-1012x1-0.50.00.51.0x201y\n" ], "text/plain": [ "@vlplot(\n", " mark=\"circle\",\n", " encoding={\n", " x={\n", " field=\"x1\"\n", " },\n", " y={\n", " field=\"x2\"\n", " },\n", " color={\n", " field=\"y\",\n", " type=\"nominal\"\n", " }\n", " },\n", " data={\n", " values=...\n", " }\n", ")" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfHalfCircles |> @vlplot(:circle, x=:x1, y=:x2, color = :\"y:n\") " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Regression data generated from noisy linear models\n", "\n", "```@docs\n", "make_regression\n", "```" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/html": [ "

3 rows × 6 columns

x1x2x3x4x5y
Float64Float64Float64Float64Float64Float64
10.4438210.136731-1.10758-0.5044431.087490.215017
2-0.7274960.8432990.468311-0.922993-0.297077-0.59015
3-0.412518-1.260380.9327220.116239-0.570425-0.712242
" ], "text/latex": [ "\\begin{tabular}{r|cccccc}\n", "\t& x1 & x2 & x3 & x4 & x5 & y\\\\\n", "\t\\hline\n", "\t& Float64 & Float64 & Float64 & Float64 & Float64 & Float64\\\\\n", "\t\\hline\n", "\t1 & 0.443821 & 0.136731 & -1.10758 & -0.504443 & 1.08749 & 0.215017 \\\\\n", "\t2 & -0.727496 & 0.843299 & 0.468311 & -0.922993 & -0.297077 & -0.59015 \\\\\n", "\t3 & -0.412518 & -1.26038 & 0.932722 & 0.116239 & -0.570425 & -0.712242 \\\\\n", "\\end{tabular}\n" ], "text/plain": [ "3×6 DataFrame\n", "│ Row │ x1 │ x2 │ x3 │ x4 │ x5 │ y │\n", "│ │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │ \u001b[90mFloat64\u001b[39m │\n", "├─────┼───────────┼──────────┼──────────┼───────────┼───────────┼───────────┤\n", "│ 1 │ 0.443821 │ 0.136731 │ -1.10758 │ -0.504443 │ 1.08749 │ 0.215017 │\n", "│ 2 │ -0.727496 │ 0.843299 │ 0.468311 │ -0.922993 │ -0.297077 │ -0.59015 │\n", "│ 3 │ -0.412518 │ -1.26038 │ 0.932722 │ 0.116239 │ -0.570425 │ -0.712242 │" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X, y = make_regression(100, 5; noise=0.5, sparse=0.2, outliers=0.1)\n", "dfRegression = DataFrame(X)\n", "dfRegression.y = y\n", "first(dfRegression, 3)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Julia 1.4.2", "language": "julia", "name": "julia-1.4" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.4.2" } }, "nbformat": 4, "nbformat_minor": 4 }