Artificial intelligence 计算的人工智能算法

Artificial intelligence 计算的人工智能算法,artificial-intelligence,Artificial Intelligence,我正试图用人工智能算法来取代一个识别正确数量的系统。如果数量是数字的倍数,则该数量将被视为“是”,如果数量不是倍数,则该数量将被视为“否”。此外,它使用的另一个因素是>和

我正试图用人工智能算法来取代一个识别正确数量的系统。如果数量是数字的倍数,则该数量将被视为“是”,如果数量不是倍数,则该数量将被视为“否”。此外,它使用的另一个因素是>和<一个数字。我尝试使用scikit学习随机分类器算法,但没有针对乘法器进行训练。你能推荐一种最适合这种情况的算法吗。谢谢

我尝试使用scikit学习随机分类器算法

import sklearn
import seaborn as sns
import pandas as pd
import numpy as np
from sklearn import datasets
from sklearn.neural_network import MLPClassifier
from sklearn import tree
from sklearn.preprocessing import scale
import matplotlib.pyplot as plt
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import confusion_matrix, classification_report
from sklearn.preprocessing import StandardScaler, LabelEncoder
from sklearn.model_selection import train_test_split
%matplotlib inline
from sklearn import svm
from TFANN import ANNR
from google.colab import files
files.upload()
data=pd.read_csv('qty.csv')

data.head()
data.info()
validate=LabelEncoder()
data['Type']=validate.fit_transform(data['Type'])
data['ans']=validate.fit_transform(data['ans'])



data.head()
sns.countplot(data['ans'])
X=data.drop('ans', axis=1)
y = data['ans']

X_train, X_test, y_train, y_test= train_test_split(X,y,test_size=0.2, random_state=42)
#sc=StandardScaler()
#X_train=sc.fit_transform(X_train)
#X_test=sc.fit_transform(X_test)
print(X_train)
rfc = RandomForestClassifier(n_estimators=200)
rfc.fit(X_train,y_train)
pred_rfc=rfc.predict([[0,12,20]])
#print(X_test)
print (pred_rfc)
如果我想预测下面12的倍数,它不会像预期的那样在这里输入代码。如何使用AI算法来训练倍数?
pred_rfc=rfc.predict([[0,122400]])

在这种情况下,我将从进一步定义问题开始。您是否需要它仅对训练集中的倍数、指定范围内的所有倍数或无约束的所有倍数起作用

如果您只需要它来处理训练集中的值,那么大多数ML算法都可以正常工作。如果您需要它处理指定范围内的所有值,那么大多数ML算法也可以正常工作,但有些可能需要一些额外的改进。如果您需要它为所有倍数工作,那么您需要集中精力选择合适的底层模型


像您在这里使用的随机林不会在训练数据的极端(高和低)之外表现得很好,因为基础模型不会在训练数据的极端之外进行推断。然而,有很多替代模型可以精确匹配倍数,例如正弦波。正弦波的周期决定值达到
1
的频率,因此,如果您从数据中了解到正确的周期,那么您可以预测所有倍数,并取得一定程度的成功。

感谢您的回答。我想让ti为所有倍数工作。当我尝试将上述代码用于训练集之外的倍数时,结果是不正确的。你能详细介绍一下正弦波吗。非常感谢。