我正在玩tf.keras并在两个具有相同权重初始化的Model对象上运行一些predict()方法。
导入numpy为np导入张量流为tf来自tensorflow.keras.layers ……
关于机器学习的事情是,它并不总是以完全相同的方式学习。它涉及很多概率,因此在更大的范围内,结果将倾向于收敛到一个值,但是单个运行可以并且将给出不同的结果。
更多信息在这里
使用相同的输入数据运行很多是绝对正常的 给出不同的输出。这主要是由于内部随机性 这种机器学习技术(例如:ANN,Decision Trees 建筑算法等)。
- Nabil Belgasmi,Universitédela Manouba
没有具体的方法或技术。结果和 性能评估取决于几个因素:数据 类型,归纳函数参数,训练集(监督), 重要的是比较使用度量的结果 测量,如召回,精度,F_measure,ROC曲线或其他 图形方法。
- JésusAntonio Motta拉瓦尔大学
的 编辑 强> predict()函数采用一个或多个数据实例的数组。
下面的示例演示了如何对具有未知预期结果的多个数据实例进行回归预测。
# example of making predictions for a regression problem from keras.models import Sequential from keras.layers import Dense from sklearn.datasets import make_regression from sklearn.preprocessing import MinMaxScaler # generate regression dataset X, y = make_regression(n_samples=100, n_features=2, noise=0.1, random_state=1) scalarX, scalarY = MinMaxScaler(), MinMaxScaler() scalarX.fit(X) scalarY.fit(y.reshape(100,1)) X = scalarX.transform(X) y = scalarY.transform(y.reshape(100,1)) # define and fit the final model model = Sequential() model.add(Dense(4, input_dim=2, activation='relu')) model.add(Dense(4, activation='relu')) model.add(Dense(1, activation='linear')) model.compile(loss='mse', optimizer='adam') model.fit(X, y, epochs=1000, verbose=0) # new instances where we do not know the answer Xnew, a = make_regression(n_samples=3, n_features=2, noise=0.1, random_state=1) Xnew = scalarX.transform(Xnew) # make a prediction ynew = model.predict(Xnew) # show the inputs and predicted outputs for i in range(len(Xnew)): print("X=%s, Predicted=%s" % (Xnew[i], ynew[i]))
运行该示例会进行多次预测,然后并排打印输入和预测以供审阅。
X=[0.29466096 0.30317302], Predicted=[0.17097184] X=[0.39445118 0.79390858], Predicted=[0.7475489] X=[0.02884127 0.6208843 ], Predicted=[0.43370453]
资源