如何获得机器学习模型来学习函数的关系?

时间:2018-07-13 13:17:09

标签: python machine-learning deep-learning artificial-intelligence modeling

嘿,我是机器学习的新手,但是我很快就学到了。

我希望我的模型“了解”此功能的关系:

y = 2x

我的训练集如下:

   X_train = [1, 2, 3, ...., 99]
   y_train = [2,4,6,....., 198]

理想地,当执行类似

的操作时
classifier.predict(31)

结果应为62

这是一个模型学习的相当奇怪的例子,但是我需要了解机器学习的核心及其原理,因此,我自己进行一些“奇怪的”建模以真正了解我是否知道这个概念与否。

我使用了ANN,代码示例来自AI的Udemy课程:

from sklearn.model_selection import train_test_split
from keras.models import Sequential
from keras.layers import Dense
    X = np.arange(1,100,1)
    y = np.asarray([i*2 for i in X])

    X_train, X_test, y_train, y_test = train_test_split(X,y ,test_size =0.2)
    classifier = Sequential()

    classifier.add(Dense(units=1, kernel_initializer="uniform", activation="relu", input_dim=1))
    classifier.add(Dense(units=1, kernel_initializer = "uniform", activation="sigmoid"))
    classifier.compile(optimizer="adam", loss="binary_crossentropy", metrics=["accuracy"])

    classifier.fit(X_train,y_train, batch_size=1, epochs=100)

    while True:

        test_ = []
        test_.append([int(input("What number?"))])
        test_ = np.asarray(test_)

        result = classifier.predict(test_)
        print(result)

请随时告诉我,我应该使用哪种模型而不是ANN,以及您采用的方法是什么。

已经很期待您的回答。

2 个答案:

答案 0 :(得分:0)

您要执行的是回归任务,即预测实际价值的结果(在您的情况下,是函数值)。但是,您提出的模型正在执行的是分类-在这种情况下,具体是二进制分类-即,它将告诉您结果是否为“ X类”(结果范围为0到0)。 1)。如果您想寻找一个可以真正解决您描述的任务的模型,那么我将从更多的“经典机器学习”方法开始,例如linear regression

答案 1 :(得分:0)

我将使用线性回归。

机器学习的确是关于自变量和因变量(即函数)之间的关系。

通常,我从简单的模型开始。白盒模型,尤其是当我的数据和资源有限时。在小例子中,复杂的黑盒模型并不总是表现良好。

一个非常好的黑盒模型是随机森林。

相关问题