2014-06-13 5 views
6

Opracowałem klasyfikator spamu przy użyciu pand i scikit, ucząc się do momentu, w którym jest on gotowy do integracji z naszym systemem opartym na hadoopie. W tym celu muszę wyeksportować klasyfikator do bardziej powszechnego formatu niż marynowanie.Eksportowanie Scikit Learn Losowo Forest do użytku na platformie Hadoop

Predykcyjny model języka znaczników (PMML) jest moim preferowanym formatem eksportu. Gra bardzo dobrze z Kaskadą, z której już korzystamy. Jednak, co zaskakujące, nie mogę znaleźć żadnych bibliotek Pythona, które eksportują modele uczenia się scikita do PMML.

Czy ktoś miał doświadczenie w tym przypadku użycia? Czy istnieje jakaś alternatywa dla PMML, która zapewniałaby interoperacyjność pomiędzy nauką sci-kita a maczkiem? A co z solidną biblioteką eksportową PMML?

+0

Podobne pytanie pojawiło się w Quora http://www.quora.com/How-do-I-use-scikit-learn-w-Hadoop-and-Mapreduce – miraculixx

+0

Dzięki za dane wejściowe. Korzystanie z funkcji przesyłania strumieniowego API nie jest idealne, ale jeśli wszystko inne zawiedzie, być może będę musiała się do niego odwołać. –

+0

Klasyfikacja spamu jak w spamie e-mailowym? Jak do tego doszło przy losowym lesie? –

Odpowiedz

9

Możesz użyć Py2PMML, aby wyeksportować model do PMML, a następnie ocenić go na Hadoop przy użyciu JPMML-Cascading. JPMML jest open source, ale Py2PMML z Zementis wydaje się produktem komercyjnym. Poza tą alternatywą nie ma innych narzędzi do oceny modeli Scikit eksportowanych jako PMML na Java/Hadoop. Głównym zespołem ds. Badania scikit jest planning, aby zaimplementować eksporter PMML. Ale jeśli nie chcesz żadnych rozwiązań komercyjnych lub czekać na takiego narzędzia do realizacji wciąż masz kilka opcji, ale wymagają trochę Kodowanie:

  • Adaptacja projektu więc generuje kod Java/MapReduce zamiast C.
  • Za pomocą funkcji export_graphviz uzyskaj reprezentację DOT dla każdego drzewa decyzyjnego i napisz małego tłumacza Java.
  • Zapomnij o Javie i Hadoopie, użyj Apache Spark i oceń każdy z drzew decyzyjnych równolegle używając Pythona, Scikita i PySparku.

Mam nadzieję, że pomoże!

+2

Eksport modeli SkLearn do PMML może być teraz obsługiwany przez bibliotekę JPMML-SkLearn (https://github.com/jpmml/jpmml-sklearn). Jest o wiele bardziej odporny i łatwiejszy w pracy niż Py2PMML. – user1808924

Powiązane problemy