def test_imputer(self): try: model = Imputer(missing_values='NaN', strategy='mean', axis=0) except TypeError: model = Imputer(missing_values=np.nan, strategy='mean') model.axis = 0 data = [[1, 2], [np.nan, 3], [7, 6]] model.fit(data) from onnxmltools.convert.coreml.convert import convert import coremltools # noqa try: model_coreml = coremltools.converters.sklearn.convert(model) except ValueError as e: if 'not supported' in str(e): # Python 2.7 + scikit-learn 0.22 return model_onnx = convert(model_coreml.get_spec()) self.assertTrue(model_onnx is not None) dump_data_and_model(np.array(data, dtype=np.float32), model, model_onnx, basename="CmlImputerMeanFloat32")
# 王哥的编程 # 卡鲁帅的一 # 时间: 2020/12/3 21:51 import pandas as pd from sklearn.impute import SimpleImputer as Imputer df = pd.DataFrame([["XXL", 8, "black", "class 1", 22], ["L", np.nan, "gray", "class 2", 20], ["XL", 10, "blue", "class 2", 19], ["M", np.nan, "orange", "class 1", 17], ["M", 11, "green", "class 3", np.nan], ["M", 7, "red", "class 1", 22]]) df.columns = ["size", "price", "color", "class", "boh"] imr = Imputer( missing_values='NaN', strategy='mean' ) #allowed_strategies = ["mean", "median", "most_frequent", "constant"] imr.axis = 0 df["price"] = imr.fit_transform(df[["price"]]) df["boh"] = imr.fit_transform(df[["boh"]]) df