`
# -- coding: utf-8 --
训练一个CART树机器学习模型
def onehot(num):
num,out=str(num),[]
for i in range(80):
out.append(0)
for i in range(len(num)):
out[10*(7-i)+int(num[i])]=1
return out
import random
trainx,trainy=[],[]
for i in range(8):
trainy.append([])
for j in range(10000000):
x1,x2=random.randint(0, 108),random.randint(0,108)
trainx.append(onehot(x1)+onehot(x2))
y=str(x1+x2)
for i in range(8):
trainy[i].append(0)
for i in range(len(y)):
trainy[7-i][-1]=(int(y[len(y)-i-1]))
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
models=[]
for i in range(8):
X_train,X_test,y_train,y_test=train_test_split(trainx,trainy[i],test_size=0.2,random_state=0)
model=DecisionTreeClassifier(max_depth=1000)
model.fit(X_train,y_train)
print(model.score(X_test, y_test))
models.append(model)
ip=input()
A,B=int(ip[0]),int(ip[1])
for i in range(8):
print(models[i].predict([onehot(A)+onehot(B)])[0],end=”“)
`