क्या हम अल्टेयर में छवि डेटा की साजिश कर सकते हैं?


10

मैं वेदी में छवि डेटा की साजिश करने की कोशिश कर रहा हूं, विशेष रूप से जेक वीडीपी की पुस्तक - https://jakevdp.github.io/PythonDataScienceHandbook/05.07 -support-vector-machines.html से इस लिंक में चेहरा पहचान उदाहरण को दोहराने की कोशिश कर रहा हूं ।

किसी को भी किस्मत में छवि डेटा की साजिश रचने था?

जवाबों:


16

Altair में एक छवि चिह्न होता है जिसका उपयोग यदि आप किसी URL पर उपलब्ध चित्रों को प्लॉट करना चाहते हैं; उदाहरण के लिए:

import altair as alt
import pandas as pd

source = pd.DataFrame.from_records([
      {"x": 0.5, "y": 0.5, "img": "https://vega.github.io/vega-datasets/data/ffox.png"},
      {"x": 1.5, "y": 1.5, "img": "https://vega.github.io/vega-datasets/data/gimp.png"},
      {"x": 2.5, "y": 2.5, "img": "https://vega.github.io/vega-datasets/data/7zip.png"}
])

alt.Chart(source).mark_image(
    width=50,
    height=50
).encode(
    x='x',
    y='y',
    url='img'
)

यहां छवि विवरण दर्ज करें

Altair छवियों के रूप में 2-आयामी डेटा सरणियों को प्रदर्शित करने के लिए अनुकूल नहीं है, क्योंकि व्याकरण मुख्य रूप से संरचित सारणीबद्ध डेटा के साथ काम करने के लिए डिज़ाइन किया गया है। हालांकि, समतल रूपांतरों और खिड़की के परिवर्तनों के संयोजन का उपयोग करना संभव है ।

आपके द्वारा जुड़े पृष्ठ से डेटा का उपयोग करने का एक उदाहरण यहां दिया गया है:

import altair as alt
import pandas as pd
from sklearn.datasets import fetch_lfw_people
faces = fetch_lfw_people(min_faces_per_person=60)

data = pd.DataFrame({
    'image': list(faces.images[:12])  # list of 2D arrays
})

alt.Chart(data).transform_window(
    index='count()'           # number each of the images
).transform_flatten(
    ['image']                 # extract rows from each image
).transform_window(
    row='count()',            # number the rows...
    groupby=['index']         # ...within each image
).transform_flatten(
    ['image']                 # extract the values from each row
).transform_window(
    column='count()',         # number the columns...
    groupby=['index', 'row']  # ...within each row & image
).mark_rect().encode(
    alt.X('column:O', axis=None),
    alt.Y('row:O', axis=None),
    alt.Color('image:Q',
        scale=alt.Scale(scheme=alt.SchemeParams('greys', extent=[1, 0])),
        legend=None
    ),
    alt.Facet('index:N', columns=4)
).properties(
    width=100,
    height=120
)

यहां छवि विवरण दर्ज करें


साभार @jakevdp आप और आपकी किताबें अद्भुत हैं। क्या हम altair-viz में नए फीचर्स की उम्मीद कर सकते हैं जो हमें डेटा को सीधे पैंदा डेटाफ्रेम में बदलने के लिए बिना किसी खराबी के सीधे कल्पना करने की अनुमति देगा या क्या हम लंबे समय तक matplotlib पर भरोसा करने वाले हैं?
अर्जन-हदा

नहीं, अल्टेयर के व्याकरण को संरचित, सारणीबद्ध डेटा से बहुत निकटता से बांधा गया है। मैं अनलिमिटेड बहुआयामी सरणियों के रूप में निर्दिष्ट डेटा का समर्थन करने का अनुमान नहीं लगाता।
13
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.