2014-12-13 3 views
-2

Я пытаюсь использовать Python, Random Forest ML (машинного обучения) алгоритм с файлом * .csv, и это информация находится внутри, что * csv.filePython и Random Forest Алгоритм

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'). 

Как я могу исправить ошибки?

+1

Возможно, вы захотите изменить свой вопрос и добавить код, который вы попробовали. –

+0

Вы решили проблему? –

+0

Г-н Конколато! У меня все еще была эта проблема. У вас есть идеальное решение? – user2863110

ответ

2

Это great tutorial, который объясняет, что вы ищете. Вот пример кода для тестирования.

from sklearn.ensemble import RandomForestClassifier 
from numpy import genfromtxt, savetxt 

def main(): 
    #create the training & test sets, skipping the header row with [1:] 
    dataset = genfromtxt(open('Data/train.csv','r'), delimiter=',', dtype='f8')[1:]  
    target = [x[0] for x in dataset] 
    train = [x[1:] for x in dataset] 
    test = genfromtxt(open('Data/test.csv','r'), delimiter=',', dtype='f8')[1:] 

    #create and train the random forest 
    #multi-core CPUs can use: rf = RandomForestClassifier(n_estimators=100, n_jobs=2) 
    rf = RandomForestClassifier(n_estimators=100) 
    rf.fit(train, target) 

    savetxt('Data/submission2.csv', rf.predict(test), delimiter=',', fmt='%f') 

if __name__=="__main__": 
    main() 

После того, как вы создали свой новый, скажем, интеллектуальный набор данных, вы можете использовать множество библиотек для визуализации этих данных с графикой. Вот некоторые из них:

  1. Bokeh - Python, на основе визуализации библиотеки для веб-представлений
  2. D3 - Еще один веб-база JavaScript библиотека для визуализации данных. Here - один пример, который вы можете использовать с CSV.
  3. Ploty - базирующийся Python визуализации

Есть больше, но Вы можете опрашивать Google для этого. ;)

+0

Спасибо! Г-н Конколато, но где у меня может быть файл train.csv? – user2863110

+0

Просто переименуйте или поместите свои данные в свой * csv-файл, который вы упомянули выше, в новый «train.csv» и сохраните его. –