Skip to content

Instantly share code, notes, and snippets.

View ianlcassidy's full-sized avatar

Ian Cassidy ianlcassidy

View GitHub Profile
@ianlcassidy
ianlcassidy / features_container_model_prediction_pipeline.py
Last active January 15, 2020 19:15
An example of how to create a features container and model prediction pipeline
import numpy as np
from pydantic import ValidationError
from some.path.features import AnimalFeatures, FeatureIsNoneError
from some.other.path.models import ML_MODEL
from some.logger import log
def create_features() -> np.ndarray:
# instantiate the features container
@ianlcassidy
ianlcassidy / create_features_container.py
Last active May 11, 2023 10:20
A function to automatically convert a dataframe to a Pydantic features container
import typing as T
import pandas as pd
import numpy as np
def create_features_container_from_dataframe(
df: pd.DataFrame,
class_name: str = "Features",
) -> str:
@ianlcassidy
ianlcassidy / animal_features_example.py
Last active January 15, 2020 19:32
Example features container using Pydantic
import typing as T
import numpy as np
from pydantic import BaseModel
from pydantic.types import conint, confloat
class FeatureIsNoneError(Exception):
pass
from typing import Dict
import pandas as pd
from sklearn.metrics import euclidean_distances
def get_personalized_hotel_recommendations(df: pd.DataFrame, user_features: Dict) -> pd.DataFrame:
# features used to compute the similarity
features = ['distance', 'avg_rate', 'star_rating', 'user_rating']
import pandas as pd
from sklearn.metrics import euclidean_distances
from sklearn.preprocessing import StandardScaler
def get_hotel_recommendations(df: pd.DataFrame, anchor_id: int) -> pd.DataFrame:
# features used to compute the similarity
features = ['lat', 'lng', 'avg_rate', 'star_rating', 'user_rating']
# create the features - make the anchor be the first row in the dataframe
@ianlcassidy
ianlcassidy / flight_delays.ipynb
Created May 24, 2018 20:26
Get flight delays by querying splunk
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.