我想創(chuàng)建一個sklearn包含兩個步驟的管道:自定義轉換器功能Keras 分類模型這是我的數(shù)據(jù)集(當然,我提供了一個簡化的子集來顯示數(shù)據(jù)格式):x_trainarray([[[0.45977011, 0.16666667, 0.18373494, ..., 0.33333333, 0.71317829, 0.7246617 ], [0.6091954 , 0.25 , 0.28313253, ..., 0.33333333, 0.66666667, 0.73101353], [0.25287356, 0.75 , 0.34337349, ..., 0.16666667, 0.62790698, 0.62137531], ..., [0.6091954 , 0.58333333, 0.20481928, ..., 0.33333333, 0.62015504, 0.65009666], [0.41954023, 0.91666667, 0.30722892, ..., 0.33333333, 0.71317829, 0.76719138], [0.31609195, 0.41666667, 0.46987952, ..., 0.33333333, 0.5503876 , 0.71306269]], [[0.6091954 , 0.25 , 0.28313253, ..., 0.33333333, 0.66666667, 0.73101353], [0.25287356, 0.75 , 0.34337349, ..., 0.16666667, 0.62790698, 0.62137531], [0.54022989, 0.5 , 0.34337349, ..., 0.33333333, 0.57364341, 0.66238608], ..., [0.41954023, 0.91666667, 0.30722892, ..., 0.33333333, 0.71317829, 0.76719138], [0.31609195, 0.41666667, 0.46987952, ..., 0.33333333, 0.5503876 , 0.71306269], [0.44252874, 0.75 , 0.48192771, ..., 0.41666667, 0.62015504, 0.65023474]], [[0.25287356, 0.75 , 0.34337349, ..., 0.16666667, 0.62790698, 0.62137531], [0.54022989, 0.5 , 0.34337349, ..., 0.33333333, 0.57364341, 0.66238608], [0.3908046 , 0.33333333, 0.34939759, ..., 0.41666667, 0.58914729, 0.70450152], ..., [0.31609195, 0.41666667, 0.46987952, ..., 0.33333333, 0.5503876 , 0.71306269], [0.44252874, 0.75 , 0.48192771, ..., 0.41666667, 0.62015504, 0.65023474], [0.60344828, 0.41666667, 0.46686747, ..., 0.25 , 0.66666667, 0.61391881]]]火車array([[1., 0., 0.], [1., 0., 0.], [1., 0., 0.]], dtype=float32)
1 回答

蝴蝶刀刀
TA貢獻1801條經驗 獲得超8個贊
該方法Transformer().fit()應返回self。
因為你的Transformer對象是無狀態(tài)的,它可能更容易使用sklearn.preprocessing.FunctionTransformer。您可以使用轉換函數(shù)實例化該類。類似于以下內容(未經測試):
import sklearn.preprocessing
def _rec_plot(s, eps=0.10, steps=10):
d = pdist(s[:,None])
d = np.floor(d/eps)
d[d>steps] = steps
Z = squareform(d)
return Z
def fun(x, y=None):
return np.apply_along_axis(_rec_plot, 1, x).astype('float16')
transformer = sklearn.preprocessing.FunctionTransformer(func=fun)
我還建議不要使用語法,from module import *因為這會污染您的命名空間。當我第一次閱讀您的問題時,我想知道問題是不是因為所有不必要的導入而導致函數(shù)名稱沖突。
添加回答
舉報
0/150
提交
取消