Эта статья является своего рода продолжением моей первой статьи Загрузка модели ANN (искусственной нейронной сети) в PowerBI для прогнозирования, если вы не читали эту статью, перейдите через это.

Моя предыдущая статья была о том, как использовать модели Deep Learning (искусственная нейронная сеть) в PowerBi для прогнозирования.

Теперь давайте посмотрим, как использовать модели машинного обучения в PowerBi для прогнозирования.

Необходимое условие

  • PowerBi Desktop
  • Анаконда
  • Питон
  • Sklearn

Возьмем классический пример классификации с набором данных Iris.

импортировать numpy как np
импортировать pandas как pd
импортировать matplotlib.pyplot как plt
импортировать seaborn как sns
cols = ['SepalLength','SepalWidth','PetalLength ','PetalWidth','Class']
data = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data', имена = столбцы)
data.head()

x = data.drop('Class', axis =1 )
y = data['Class']

from sklearn.model_selection import train_test_split
x_train, x_test , y_train, y_test = train_test_split(x,y,test_size=0.2)

from sklearn.svm import SVC
svn = SVC()
svn.fit(x_train, y_train)
прогнозы = svn.predict (x_test)
из sklearn.metrics импорта classification_report
print (classification_report (y_test, прогнозы))

Теперь, сохраняя модель машинного обучения, мы должны помнить одну вещь

PowerBi не принимает файлы pickle, поэтому сохраните модель машинного обучения как joblib

Теперь приступим к действию в PowerBi. В PowerBi я загружаю тот же набор данных Iris для прогнозирования. Вы можете сохранить кадр данных Iris в python в виде файла csv со следующим кодом.

data.drop("Класс",axis = 1, inplace=True)
data.to_csv("Iris.csv",header=True)

Откройте PowerBi и загрузите свой набор данных. Затем нажмите на данные преобразования

Вы перейдете в редактор Power Query и в редакторе Power Query нажмите Run Python Script

Вам будет предложено написать код для загрузки модели sklearn (ML), которую вы сохранили.

NB: Замените путь к модели в соответствии с путем, по которому вы сохранили свою модель.

# 'dataset' содержит входные данные для этого скрипта
import pandas
import joblib
# конвейер загрузки модели
model = joblib.load(r”C:\Users \Athul.Pannikkode\Downloads\irismodel.joblib")
dataset['prediction'] = model.predict(dataset[['SepalLength', 'SepalWidth', 'PetalLength',
'PetalWidth'] ])

После того, как вы написали свой код, нажмите «ОК», и после выполнения кода вы получите результат, аналогичный изображенному ниже.

Теперь нажмите на значок расширения.

Теперь нажмите ОК

Это даст вам результат, как на картинке ниже

Теперь просто нажмите кнопку «Закрыть и применить» вверху.

Подпишитесь на меня в LinkedIN

http://linkedin.com/in/pjathul

Подпишитесь на меня в Instagram

instagram.com/ai.pja