【发布时间】:2015-02-12 02:00:30
【问题描述】:
我正在尝试将 Python 的随机森林 ML(机器学习)算法与 *.csv 文件一起使用,这是 *csv.file 中的信息
DateTime;Status;Energy
28-02-2014 19:30:00;True;10,1
28-02-2011 06:15:00;False;15,6;
28-02-2011 06:30:00;False;15,2;
28-02-2011 06:45:00;False;15,6;
......
我需要使用哪些包或库(随机森林模型)来分析这些信息?
我的代码:
from sklearn.ensemble import RandomForestClassifier
from numpy import genfromtxt, savetxt
def main():
dataset = genfromtxt(open("C:\\Users\\PVanDro\\Desktop\\Ddata\\Building0.csv"), delimiter=';', dtype='f8')[1:]
target = [x[0] for x in dataset]
train = [x[1:] for x in dataset]
rf = RandomForestClassifier(n_estimators=100)
rf.fit(train, target)
savetxt("C:\\Users\\PVanDro\\Desktop\\Ddata\\Building0_0.csv", delimiter=';', fmt='%f')
if __name__=='__main__':
main()
但我有错误:
File "C:/Users/PVanDro/Desktop/Folder for test/RandomForestExamples1/MainFile.py", line 17, in main
rf.fit(train, target)
File "C:\Python27\lib\site-packages\sklearn\ensemble\forest.py", line 224, in fit
X, = check_arrays(X, dtype=DTYPE, sparse_format="dense")
File "C:\Python27\lib\site-packages\sklearn\utils\validation.py", line 283, in check_arrays
_assert_all_finite(array)
File "C:\Python27\lib\site-packages\sklearn\utils\validation.py", line 43, in _assert_all_finite
" or a value too large for %r." % X.dtype)
ValueError: Input contains NaN, infinity or a value too large for dtype('float32').
我该如何解决这些错误?
【问题讨论】:
-
您可能想要编辑您的问题并添加一些您尝试过的代码。
-
你的问题解决了吗?
-
先生。康科拉托!我仍然有这个问题。你有什么理想的解决方法吗?
-
根据您的错误,您的数据中的代码似乎与您的 dtype='f8' 不一致。您是否正在尝试像解析浮点数一样解析日期值?
-
康科拉托先生!我正在尝试解析日期值: "fName = pd.read_csv("C:\\Users\\PVanDro\\Desktop\\Ddata\\Building0.csv", index_col=False, decimal=',', sep =';', header=0)" 但我无法创建图形。你有我可以使用的理想或其他包或库吗?
标签: python random-forest