Skip to content

Instantly share code, notes, and snippets.

@orico
Created April 18, 2018 14:23
Show Gist options
  • Save orico/38a89ccfa40893ddf9d0c187a8006d43 to your computer and use it in GitHub Desktop.
Save orico/38a89ccfa40893ddf9d0c187a8006d43 to your computer and use it in GitHub Desktop.
AL-BaseModel
class BaseModel(object):
def __init__(self):
pass
def fit_predict(self):
pass
class SvmModel(BaseModel):
model_type = 'Support Vector Machine with linear Kernel'
def fit_predict(self, X_train, y_train, X_val, X_test, c_weight):
print ('training svm...')
self.classifier = SVC(C=1, kernel='linear', probability=True,
class_weight=c_weight)
self.classifier.fit(X_train, y_train)
self.test_y_predicted = self.classifier.predict(X_test)
self.val_y_predicted = self.classifier.predict(X_val)
return (X_train, X_val, X_test, self.val_y_predicted,
self.test_y_predicted)
class LogModel(BaseModel):
model_type = 'Multinominal Logistic Regression'
def fit_predict(self, X_train, y_train, X_val, X_test, c_weight):
print ('training multinomial logistic regression')
train_samples = X_train.shape[0]
self.classifier = LogisticRegression(
C=50. / train_samples,
multi_class='multinomial',
penalty='l1',
solver='saga',
tol=0.1,
class_weight=c_weight,
)
self.classifier.fit(X_train, y_train)
self.test_y_predicted = self.classifier.predict(X_test)
self.val_y_predicted = self.classifier.predict(X_val)
return (X_train, X_val, X_test, self.val_y_predicted,
self.test_y_predicted)
class RfModel(BaseModel):
model_type = 'Random Forest'
def fit_predict(self, X_train, y_train, X_val, X_test, c_weight):
print ('training random forest...')
self.classifier = RandomForestClassifier(n_estimators=500, class_weight=c_weight)
self.classifier.fit(X_train, y_train)
self.test_y_predicted = self.classifier.predict(X_test)
self.val_y_predicted = self.classifier.predict(X_val)
return (X_train, X_val, X_test, self.val_y_predicted, self.test_y_predicted)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment