www.provectus.com
A presentation of expertise we boast and services we render for partners across the board, around the globe.
© Provectus, Inc.
Нейросеть на python
www.provectus.com
О чем пойдет речь
• Немного вспомним нейросети
• Поговорим о хорошем инструменте для машинного обучения
• Поговорим о сервисе для хорошего инструмента для машинного обучения
• Посмотрим, как используя эти радости, на питоне, в несколько строчек запилить годный машинлернинг с предоставлением на фронтенд простенького интерфейса для использования.
www.provectus.com
Немного о нейросетях
• Один персептрон, или не один
• Функция активации
• Может быть немного математики х(у) = @#$%
www.provectus.com
Сферический персептрон в вакууме
www.provectus.com
Мозг здорового Крэнга
один нейрон много нейронов
www.provectus.com
Мозг Крэнга курильщика
www.provectus.com
немного математики
www.provectus.com
функции активации
www.provectus.com
и почему же ИИ еще не захватил мир?
www.provectus.com
Инструмент для машин лёнинга
• Apache Spark
• MLlib
www.provectus.com
Apache Spark™ is a fast and general engine for large-scale data processing.
www.provectus.com
Spark MLlib● Classification: logistic regression, naive Bayes,...● Regression: generalized linear regression, isotonic regression,...● Decision trees, random forests, and gradient-boosted trees● Recommendation: alternating least squares (ALS)● Clustering: K-means, Gaussian mixtures (GMMs),...● Topic modeling: latent Dirichlet allocation (LDA)● Feature transformations: standardization, normalization, hashing,...● Model evaluation and hyper-parameter tuning● ML Pipeline construction● ML persistence: saving and loading models and Pipelines● Survival analysis: accelerated failure time model● Frequent itemset and sequential pattern mining: FP-growth, association rules, PrefixSpan● Distributed linear algebra: singular value decomposition (SVD), principal component analysis (PCA),...● Statistics: summary statistics, hypothesis testing,...
www.provectus.com
Сервис для хорошего инструмента для машинного обучения
MistПрелестные возможности для работы со спарком
● Spark 2.0.0 support!● Spark Contexts orchestration● Super parallel mode: multiple Spark contexts in separate JVMs● HTTP & Messaging (MQTT) API● Scala & Python Spark jobs support● Support for Spark SQL and Hive● High Availability and Fault Tolerance● Self Healing after driver program failure● Powerful logging● Clear end-user API
https://github.com/Hydrospheredata/mist
www.provectus.com
Предсказываем погоду
• Данные сохраняем в паркет• Обучаем модельки нейросети по станциям• Предсказываем
www.provectus.com
у нас есть план, будем его придерживаться
фронтенд мист спарк
хадуп данные опогоде
тренер
данные весов
предсказатель
www.provectus.com
сохраняем в паркет
https://github.com/leonid133/python-spark-savetoparquet
noaa data
parquet
вытаскиваем нужные поляфильтруем плохие данныегруппируем по станциям…>>подготавливаем
www.provectus.com
тренируем модельку
from pyspark.ml.classification import MultilayerPerceptronClassifier
# Load training datatraining = spark.read.parquet("parquet_data")
mp = MultilayerPerceptronClassifier(blockSize=42, maxIter=300)
# Fit the modelmodel = pm.fit(training)model.save("model_name")
www.provectus.com
пишем джобу предсказатель
from mist.mist_job import MistJob
class SimpleContext(MistJob): def do_stuff(self, params):
points_dist = params.values() data = getdata_by_point(points_dist)
model = MultilayerPerceptronClassificationModel.load(data.modelel_path) prediction = model.transform(data.df)
answer_obj = answer_df_to_map(prediction) #делаем красивый мап с предсказанием result = answer_obj
return result
www.provectus.com
спрашиваем результат
HTTP или MQTT
POST http://localhost:2003/api/forecast{
“points”:{"lat": 56.1241, “lng”: 42.3457,...} “distance”: 254
}'
{"success":true,"payload": {
“point”:{“lat”:56.1241, “lng”:42.3457}“sun”:30,“cloud”:75,“temperature”:-25} ...
}, …}
www.provectus.com
Top Related