嘿,我是机器学习的新手,但是我很快就学到了。
我希望我的模型“了解”此功能的关系:
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,以及您采用的方法是什么。
已经很期待您的回答。
答案 0 :(得分:0)
您要执行的是回归任务,即预测实际价值的结果(在您的情况下,是函数值)。但是,您提出的模型正在执行的是分类-在这种情况下,具体是二进制分类-即,它将告诉您结果是否为“ X类”(结果范围为0到0)。 1)。如果您想寻找一个可以真正解决您描述的任务的模型,那么我将从更多的“经典机器学习”方法开始,例如linear regression。
答案 1 :(得分:0)
我将使用线性回归。
机器学习的确是关于自变量和因变量(即函数)之间的关系。
通常,我从简单的模型开始。白盒模型,尤其是当我的数据和资源有限时。在小例子中,复杂的黑盒模型并不总是表现良好。
一个非常好的黑盒模型是随机森林。