pystruct.models.
MultiClassClf
(n_features=None, n_classes=None, class_weight=None, rescale_C=False)[source]¶Formulate linear multiclass SVM in CS style in CRF framework.
Inputs x are simply feature arrays, labels y are 0 to n_classes.
Parameters:  n_features : int
n_classes : int, default=None
class_weight : None, or arraylike
rescale_C : bool, default=False


Notes
No bias / intercept is learned. It is recommended to add a constant one feature to the data.
It is also highly recommended to use n_jobs=1 in the learner when using this model. Trying to parallelize the trivial inference will slow the infernce down a lot!
Methods
batch_inference (X, w[, relaxed]) 

batch_joint_feature (X, Y[, Y_true]) 

batch_loss (Y, Y_hat) 

batch_loss_augmented_inference (X, Y, w[, ...]) 

continuous_loss (y, y_hat) 

inference (x, w[, relaxed, return_energy]) 
Inference for x using parameters w. 
initialize (X, Y) 

joint_feature (x, y[, y_true]) 
Compute joint feature vector of x and y. 
loss (y, y_hat) 

loss_augmented_inference (x, y, w[, relaxed, ...]) 
Lossaugmented inference for x and y using parameters w. 
max_loss (y) 
inference
(x, w, relaxed=None, return_energy=False)[source]¶Inference for x using parameters w.
Finds armin_y np.dot(w, joint_feature(x, y)), i.e. best possible prediction.
For an unstructured multiclass model (this model), this can easily done by enumerating all possible y.
Parameters:  x : ndarray, shape (n_features,)
w : ndarray, shape=(size_joint_feature,)
relaxed : ignored 

Returns:  y_pred : int

joint_feature
(x, y, y_true=None)[source]¶Compute joint feature vector of x and y.
Feature representation joint_feature, such that the energy of the configuration (x, y) and a weight vector w is given by np.dot(w, joint_feature(x, y)).
Parameters:  x : ndarray, shape=(n_features,)
y : int
y_true : int


Returns:  p : ndarray, shape (size_joint_feature,)

loss_augmented_inference
(x, y, w, relaxed=None, return_energy=False)[source]¶Lossaugmented inference for x and y using parameters w.
Minimizes over y_hat: np.dot(joint_feature(x, y_hat), w) + loss(y, y_hat)
Parameters:  x : ndarray, shape (n_features,)
y : int
w : ndarray, shape (size_joint_feature,)


Returns:  y_hat : int
