Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我的决策树ML算法训练越来越完美?_Python_Scikit Learn_Decision Tree - Fatal编程技术网

Python 为什么我的决策树ML算法训练越来越完美?

Python 为什么我的决策树ML算法训练越来越完美?,python,scikit-learn,decision-tree,Python,Scikit Learn,Decision Tree,我第一次测试了一个决策树,我的算法性能得到了一个完美的分数。这没有意义,因为我使用的数据集是一系列不同变量的AAPL股价,显然算法无法完美检测到这些变量 CSV: 我认为它可能不起作用的原因是,我在训练模型时基本上只是在输入答案,而当我尝试给模型打分时,它只是在重复这些答案 代码: 我还考虑过将CSV文件的顺序随机化,这可能会有所帮助,但我不确定我将如何做到这一点。我可以将代码顶部的df随机化,但我非常确定,这会使两个数据帧的结果产生同样的偏差,因此与我现在所做的没有区别。否则,我可以单独对数据

我第一次测试了一个决策树,我的算法性能得到了一个完美的分数。这没有意义,因为我使用的数据集是一系列不同变量的AAPL股价,显然算法无法完美检测到这些变量

CSV:

我认为它可能不起作用的原因是,我在训练模型时基本上只是在输入答案,而当我尝试给模型打分时,它只是在重复这些答案

代码:


我还考虑过将CSV文件的顺序随机化,这可能会有所帮助,但我不确定我将如何做到这一点。我可以将代码顶部的
df
随机化,但我非常确定,这会使两个数据帧的结果产生同样的偏差,因此与我现在所做的没有区别。否则,我可以单独对数据集进行随机排序,但我认为这会干扰模型训练或评分,因为测试数据不会与正确的数据关联?我不太确定。

很可能是您的型号安装过度了。我认为您没有将数据集分为两部分:一部分用于培训,另一部分用于测试。测试数据将帮助您了解您的模型是否过盈或过盈

有关更多信息:

Date,Open,High,Low,Close,Adj Close,Volume
2010-01-04,10430.6904296875,10604.9697265625,10430.6904296875,10583.9599609375,10583.9599609375,179780000
2010-01-05,10584.5595703125,10584.5595703125,10522.51953125,10572.01953125,10572.01953125,188540000
# Data Sorting
df = pd.read_csv('AAPL_test.csv')
df = df.drop('Date', axis=1)
df = df.dropna(axis='rows')
inputs = df.drop('Close', axis='columns')
target = df['Close']

print(inputs.dtypes)
print(target.dtypes)

# Changing dtypes
lab_enc = preprocessing.LabelEncoder()
target_encoded = lab_enc.fit_transform(target)

# Model
model = tree.DecisionTreeClassifier()
model.fit(inputs, target_encoded)

print(f'SCORE = {model.score(inputs, target_encoded)}')