«Слишком большой код» в Android Studio при использовании экспортированной модели sklearn - PullRequest
3 голосов
/ 08 октября 2019

В настоящее время я пытаюсь экспортировать модель из sklearn в Android. Для этого я использую библиотеку sklearn-porter ( sklearn-porter ).

Это создает класс Java из обученной модели, которая выглядит следующим образом:

class DecisionTreeClassifier {

   public static int predict(double[] features) {
        int[] classes = new int[2];

        if (features[350] <= 0.5156863033771515) {
            if (features[568] <= 0.0019607844296842813) {
                if (features[430] <= 0.0019607844296842813) {
                    if (features[405] <= 0.009803921915590763) {
...
}

Этот файл имеет размер около 1 МБ, поэтому в Android Studio возникает ошибка «Слишком большой код».

Есть ли решение этой проблемы?

1 Ответ

2 голосов
/ 09 октября 2019

Когда вы выполняете портер с export_data=True, вы также получаете небольшой класс Java, который считывает параметры DecisionTree из файла .json:

porter = Porter(clf, language='java')
output = porter.export(export_data=True)
print(output)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...