Struct smartnoise_runtime::proto::Resize [−][src]
Resize Component
Resizes the data in question to be consistent with a provided sample size, n
.
The library does not, in general, assume that the sample size of the data being analyzed is known. This introduces a number of problems around how to calculate statistics that are a function of the sample size.
To address this problem, the library asks the user to provide n
, an estimate of the true sample size based on their own beliefs about the data or a previous differentially private count of the number of rows in the data. This component then either subsamples or appends to the data in order to make it consistent with the provided n
.
Note that lower/upper/categorical arguments must be provided, or lower/upper/categorical properties must be known on data.
Note that if using categories constraint, data are treated as categorical regardless of atomic type.
This struct represents an abstract computation. Arguments are provided via the graph. Additional options are set via the fields on this struct. The return is the result of the resize on the arguments.
Arguments
data
- Array - The data to be resized. Atomic type of data must match atomic type of categories. If categories not populated, data are treated as numeric and any necessary imputation is done according to a continuous distribution.number_rows
- Array - An estimate of the number of rows in the data. This could be the guess of the user, or the result of a DP release. Cannot be set with minimum_rows.number_columns
- Array - An estimate of the number of columns in the data. This must be the guess of the user, if not previously known (optional). A non-empty value must be positive. A non-empty value is incompatiable with an attempt to resize number of columns and results in an error.lower
- Array - A lower bound on data elements for each column. This value must be less than upper.upper
- Array - An upper bound on data elements for each column. This value must be greater than lower.categories
- Jagged - The set of categories you want to be represented for each column of the data, if the data is categorical. Atomic type of data must match atomic type of categories.weights
- Jagged - Optional. The weight of each category when imputing. Uniform weights are used if not specified.distribution
- String - The distribution to be used when imputing records.shift
- Array - The expectation of the Gaussian distribution used for imputation (used only ifdistribution = Gaussian
).scale
- Array - The standard deviation of the Gaussian distribution used for imputation (used only ifdistribution = Gaussian
).sample_proportion
- Array - The proportion of underlying data that may be used to construct the new data. May be > 1.minimum_rows
- Array - Only add synthetic data if the actual row count is less than this number. No sampling is performed. Cannot be set withnumber_rows
Returns
Value
- Array - A resized version of data consistent with the providedn
Trait Implementations
impl Clone for Resize
[src]
impl Component for Resize
[src]
pub fn propagate_property(
&self,
_privacy_definition: &Option<PrivacyDefinition>,
public_arguments: IndexMap<IndexKey, &Value, RandomState>,
properties: IndexMap<IndexKey, ValueProperties, RandomState>,
_node_id: u32
) -> Result<Warnable<ValueProperties>, Error>
[src]
&self,
_privacy_definition: &Option<PrivacyDefinition>,
public_arguments: IndexMap<IndexKey, &Value, RandomState>,
properties: IndexMap<IndexKey, ValueProperties, RandomState>,
_node_id: u32
) -> Result<Warnable<ValueProperties>, Error>
impl Debug for Resize
[src]
impl Default for Resize
[src]
impl Evaluable for Resize
[src]
fn evaluate(
&self,
privacy_definition: &Option<PrivacyDefinition>,
arguments: NodeArguments
) -> Result<ReleaseNode>
[src]
&self,
privacy_definition: &Option<PrivacyDefinition>,
arguments: NodeArguments
) -> Result<ReleaseNode>
impl Expandable for Resize
[src]
pub fn expand_component(
&self,
_privacy_definition: &Option<PrivacyDefinition>,
component: &Component,
_public_arguments: &IndexMap<IndexKey, &Value, RandomState>,
properties: &IndexMap<IndexKey, ValueProperties, RandomState>,
component_id: u32,
maximum_id: u32
) -> Result<ComponentExpansion, Error>
[src]
&self,
_privacy_definition: &Option<PrivacyDefinition>,
component: &Component,
_public_arguments: &IndexMap<IndexKey, &Value, RandomState>,
properties: &IndexMap<IndexKey, ValueProperties, RandomState>,
component_id: u32,
maximum_id: u32
) -> Result<ComponentExpansion, Error>
impl Message for Resize
[src]
pub fn encode_raw<B>(&self, buf: &mut B) where
B: BufMut,
[src]
B: BufMut,
pub fn merge_field<B>(
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
[src]
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
pub fn encoded_len(&self) -> usize
[src]
pub fn clear(&mut self)
[src]
pub fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
B: BufMut,
pub fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
B: BufMut,
pub fn decode<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
[src]
Self: Default,
B: Buf,
pub fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
[src]
Self: Default,
B: Buf,
pub fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]
B: Buf,
pub fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]
B: Buf,
impl PartialEq<Resize> for Resize
[src]
pub fn eq(&self, other: &Resize) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl StructuralPartialEq for Resize
[src]
Auto Trait Implementations
impl RefUnwindSafe for Resize
impl Send for Resize
impl Sync for Resize
impl Unpin for Resize
impl UnwindSafe for Resize
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Az for T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CheckedAs for T
[src]
pub fn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
[src]
T: CheckedCast<Dst>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> OverflowingAs for T
[src]
pub fn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
[src]
T: OverflowingCast<Dst>,
impl<T> SaturatingAs for T
[src]
pub fn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
[src]
T: SaturatingCast<Dst>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> UnwrappedAs for T
[src]
pub fn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
[src]
T: UnwrappedCast<Dst>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,
impl<T> WrappingAs for T
[src]
pub fn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
[src]
T: WrappingCast<Dst>,