我正在尝试使用机器学习随机森林来解决回归问题。我使用的是 python 3.x,并且我的计算机上已经安装了 numpy、matplotlib 和 pandas 包。
我正在使用与视频完全相同的前 11 行 (https://www.youtube.com/watch?v=miI9rwH4Y4g)。
我的代码:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
dataset = pd.read_csv('testFile.csv')
X = dataset.iloc[:, 1:2].values
y = dataset.iloc[:, 2].values
我遇到以下错误:
Traceback (most recent call last):
File "D:\Cours\****************************************\RandomForestRegressionTest.py", line 9, in <module>
y = dataset.iloc[:, 2].values
File "C:\Users\******\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pandas\core\indexing.py", line 1367, in __getitem__
return self._getitem_tuple(key)
File "C:\Users\******\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pandas\core\indexing.py", line 1737, in _getitem_tuple
self._has_valid_tuple(tup)
File "C:\Users\******\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pandas\core\indexing.py", line 204, in _has_valid_tuple
if not self._has_valid_type(k, i):
File "C:\Users\******\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pandas\core\indexing.py", line 1672, in _has_valid_type
return self._is_valid_integer(key, axis)
File "C:\Users\******\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pandas\core\indexing.py", line 1713, in _is_valid_integer
raise IndexError("single positional indexer is out-of-bounds")
IndexError: single positional indexer is out-of-bounds
有什么帮助吗???
谢谢你
问题出在 csv 文件中。我使用Notepad++编辑了csv文件,并更改了所有“;”到“,”,它就起作用了。 这很奇怪,因为每个 csv 文件都使用“;”分隔符不是“,”。
我很惊讶,但也很高兴,因为我发现了错误(奇怪的错误)。
您应该尝试编辑 csv 文件。以csv格式保存并上传到笔记本中。如果是excel格式的话可以使用
pd.read_xlsx('filename.xlsx')
如果它是Excel格式,我认为你应该使用一些类似于这个pd.read_xlsx('filename')的命令。如果这不起作用,可以尝试传递 csv 文件的路径。确保它与项目位于同一目录中。