Instalējiet Plesk operētājsistēmā CentOS 7
Vai izmantojat citu sistēmu? Plesk ir patentēts tīmekļa mitinātāja vadības panelis, kas ļauj lietotājiem administrēt savas personīgās un/vai klientu vietnes, datu bāzes
Tradicionālās pieejas datu analīzei nav iespējams izmantot, ja datu kopas sasniedz noteiktu lielumu. Mūsdienīga alternatīva milzīgo datu kopu analīzei ir mašīnmācīšanās metožu izmantošana. Mašīnmācība spēj radīt precīzus rezultātus, izmantojot ātru un efektīvu algoritmu.
Apache PredictionIO ir atvērtā koda mašīnmācīšanās serveris, ko izmanto, lai izveidotu prognozēšanas dzinējus jebkuram mašīnmācīšanās uzdevumam. Tas saīsina mašīnmācīšanās lietojumprogrammas laiku no laboratorijas līdz ražošanai, izmantojot pielāgojamas programmas veidnes, kuras var ātri izveidot un izvietot. Tas nodrošina datu vākšanas un apkalpošanas komponentus, kā arī pamatā esošo tehnoloģiju kopsavilkumus, lai atklātu API, kas ļauj izstrādātājiem koncentrēties uz transformācijas komponentiem. Kad PredictionIO dzinēja serveris ir izvietots kā tīmekļa pakalpojums, tas var reaģēt uz dinamiskiem vaicājumiem reāllaikā.
Apache PredictionIO sastāv no dažādiem komponentiem.
Šajā apmācībā mēs izmantosim 192.0.2.1
kā servera publisko IP adresi. Aizstājiet visus gadījumus 192.0.2.1
ar savu Vultr publisko IP adresi.
Atjauniniet savu bāzes sistēmu, izmantojot rokasgrāmatu Kā atjaunināt CentOS 7 . Kad sistēma ir atjaunināta, turpiniet instalēt Java.
Daudzām PredictionIO sastāvdaļām ir nepieciešama JDK jeb Java izstrādes komplekta 8. versija. Tā atbalsta gan OpenJDK, gan Oracle Java. Šajā apmācībā mēs instalēsim OpenJDK versiju 8.
OpenJDK var viegli instalēt, jo pakotne ir pieejama noklusējuma YUM repozitorijā.
sudo yum -y install java-1.8.0-openjdk-devel
Pārbaudiet Java versiju, lai pārliecinātos, ka tā ir instalēta pareizi.
java -version
Jūs saņemsiet līdzīgu rezultātu.
[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
Lai varētu turpināt, mums būs jāiestata JAVA_HOME
un JRE_HOME
vides mainīgie. Atrodiet savā sistēmā JAVA izpildāmā faila absolūto ceļu.
readlink -f $(which java)
Jūs redzēsit līdzīgu izvadi.
[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/bin/java
Tagad iestatiet JAVA_HOME
un JRE_HOME
vides mainīgo atbilstoši Java direktorija ceļam.
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre" >> ~/.bash_profile
Izpildiet bash_profile
failu.
source ~/.bash_profile
Tagad varat palaist echo $JAVA_HOME
komandu, lai pārbaudītu, vai vides mainīgais ir iestatīts.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
Apache nodrošina PredictionIO avota failus, kurus var lejupielādēt un apkopot lokāli. Izveidojiet jaunu pagaidu direktoriju, lai lejupielādētu un apkopotu avota failu.
mkdir /tmp/pio_sourcefiles && cd /tmp/pio_sourcefiles
Lejupielādējiet PredictionIO avota failu arhīvu, izmantojot jebkuru Apache Mirror vietni .
wget http://apache.mirror.vexxhost.com/incubator/predictionio/0.12.0-incubating/apache-predictionio-0.12.0-incubating.tar.gz
Izņemiet arhīvu un apkopojiet avotu, lai izveidotu PredictionIO izplatīšanu.
tar xf apache-predictionio-0.12.0-incubating.tar.gz
./make-distribution.sh
Iepriekš minētais sadalījums tiks veidots atbilstoši noklusējuma atkarību versijām, kas ir Scala 2.11.8
, Spark 2.1.1
, Hadoop 2.7.3
un ElasticSearch 5.5.2
. Pagaidiet, līdz tiks pabeigta būvēšana. Atkarībā no sistēmas veiktspējas, tā pabeigšana prasīs apmēram desmit minūtes.
Piezīme . Varat brīvi izmantot jaunāko atbalstīto atkarību versiju, taču, iespējams, izveides laikā tiks parādīti brīdinājumi, jo dažas funkcijas var būt novecojušas. Palaidiet ./make-distribution.sh -Dscala.version=2.11.11 -Dspark.version=2.1.2 -Dhadoop.version=2.7.4 -Delasticsearch.version=5.5.3
, aizstājot versijas numuru pēc jūsu izvēles.
Kad būvēšana būs veiksmīgi pabeigta, beigās tiks parādīts šāds ziņojums.
...
PredictionIO-0.12.0-incubating/python/pypio/__init__.py
PredictionIO-0.12.0-incubating/python/pypio/utils.py
PredictionIO-0.12.0-incubating/python/pypio/shell.py
PredictionIO binary distribution created at PredictionIO-0.12.0-incubating.tar.gz
PredictionIO binārie faili tiks saglabāti PredictionIO-0.12.0-incubating.tar.gz
arhīvā. Izvelciet /opt
direktorijā esošo arhīvu un norādiet īpašumtiesības pašreizējam lietotājam.
sudo tar xf PredictionIO-0.12.0-incubating.tar.gz -C /opt/
sudo chown -R $USER:$USER /opt/PredictionIO-0.12.0-incubating
Iestatiet PIO_HOME
vides mainīgo.
echo "export PIO_HOME=/opt/PredictionIO-0.12.0-incubating" >> ~/.bash_profile
source ~/.bash_profile
Izveidojiet jaunu direktoriju, lai instalētu PredictionIO atkarības, piemēram HBase
, Spark
un Elasticsearch
.
mkdir /opt/PredictionIO-0.12.0-incubating/vendors
Lejupielādējiet Scala versiju 2.11.8 un izvelciet to vendors
direktorijā.
wget https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
tar xf scala-2.11.8.tgz -C /opt/PredictionIO-0.12.0-incubating/vendors
Lejupielādējiet Apache Hadoop versiju 2.7.3 un izvelciet to vendors
direktorijā.
wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
tar xf hadoop-2.7.3.tar.gz -C /opt/PredictionIO-0.12.0-incubating/vendors
Apache Spark ir PredictionIO noklusējuma apstrādes dzinējs. Lejupielādējiet Spark versiju 2.1.1 un izvelciet to vendors
direktorijā.
wget https://archive.apache.org/dist/spark/spark-2.1.1/spark-2.1.1-bin-hadoop2.7.tgz
tar xf spark-2.1.1-bin-hadoop2.7.tgz -C /opt/PredictionIO-0.12.0-incubating/vendors
Lejupielādējiet Elasticsearch versiju 5.5.2 un izvelciet to vendors
direktorijā.
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.2.tar.gz
tar xf elasticsearch-5.5.2.tar.gz -C /opt/PredictionIO-0.12.0-incubating/vendors
Visbeidzot, lejupielādējiet HBase versiju 1.2.6 un izvelciet to vendors
direktorijā.
wget https://archive.apache.org/dist/hbase/stable/hbase-1.2.6-bin.tar.gz
tar xf hbase-1.2.6-bin.tar.gz -C /opt/PredictionIO-0.12.0-incubating/vendors
Atveriet hbase-site.xml
konfigurācijas failu, lai konfigurētu HBase darbam savrupā vidē.
nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-site.xml
Atrodiet tukšo konfigurācijas bloku un aizstājiet to ar šādu konfigurāciju.
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/user/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/data</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/user/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/zookeeper</value>
</property>
</configuration>
HBase automātiski izveidos datu direktoriju. Rediģējiet HBase vides failu, lai iestatītu JAVA_HOME
ceļu.
nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-env.sh
Atceliet 27. rindiņas komentāru un iestatiet Java instalācijas JAVA_HOME
ceļu jre
. Jūs varat atrast ceļu uz JAVA izpildāmo failu, izmantojot readlink -f $(which java)
komandu.
# The java implementation to use. Java 1.7+ required.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre
Tāpat komentējiet rindiņas numurus 46 un 47, jo tie nav nepieciešami JAVA 8.
# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
Noklusējuma konfigurācija PredictionIO vides failā pio-env.sh
pieņem, ka mēs izmantojam PostgreSQL vai MySQL. Tā kā esam izmantojuši HBase un Elasticsearch, mums būs jāmaina gandrīz katra faila konfigurācija. Vislabāk ir izveidot esošā faila dublējumu un izveidot jaunu PredictionIO vides failu.
mv /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh.bak
Tagad izveidojiet jaunu failu PredictionIO vides konfigurācijai.
nano /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh
Aizpildiet failu ar šādu konfigurāciju.
# PredictionIO Main Configuration
#
# This section controls core behavior of PredictionIO. It is very likely that
# you need to change these to fit your site.
# SPARK_HOME: Apache Spark is a hard dependency and must be configured.
SPARK_HOME=$PIO_HOME/vendors/spark-2.1.1-bin-hadoop2.7
# POSTGRES_JDBC_DRIVER=$PIO_HOME/lib/postgresql-42.0.0.jar
# MYSQL_JDBC_DRIVER=$PIO_HOME/lib/mysql-connector-java-5.1.41.jar
# ES_CONF_DIR: You must configure this if you have advanced configuration for
# your Elasticsearch setup.
ES_CONF_DIR=$PIO_HOME/vendors/elasticsearch-5.5.2/config
# HADOOP_CONF_DIR: You must configure this if you intend to run PredictionIO
# with Hadoop 2.
HADOOP_CONF_DIR=$PIO_HOME/vendors/spark-2.1.1-bin-hadoop2.7/conf
# HBASE_CONF_DIR: You must configure this if you intend to run PredictionIO
# with HBase on a remote cluster.
HBASE_CONF_DIR=$PIO_HOME/vendors/hbase-1.2.6/conf
# Filesystem paths where PredictionIO uses as block storage.
PIO_FS_BASEDIR=$HOME/.pio_store
PIO_FS_ENGINESDIR=$PIO_FS_BASEDIR/engines
PIO_FS_TMPDIR=$PIO_FS_BASEDIR/tmp
# PredictionIO Storage Configuration
#
# This section controls programs that make use of PredictionIO's built-in
# storage facilities. Default values are shown below.
#
# For more information on storage configuration please refer to
# http://predictionio.incubator.apache.org/system/anotherdatastore/
# Storage Repositories
# Default is to use PostgreSQL
PIO_STORAGE_REPOSITORIES_METADATA_NAME=pio_meta
PIO_STORAGE_REPOSITORIES_METADATA_SOURCE=ELASTICSEARCH
PIO_STORAGE_REPOSITORIES_EVENTDATA_NAME=pio_event
PIO_STORAGE_REPOSITORIES_EVENTDATA_SOURCE=HBASE
PIO_STORAGE_REPOSITORIES_MODELDATA_NAME=pio_model
PIO_STORAGE_REPOSITORIES_MODELDATA_SOURCE=LOCALFS
# Storage Data Sources
# PostgreSQL Default Settings
# Please change "pio" to your database name in PIO_STORAGE_SOURCES_PGSQL_URL
# Please change PIO_STORAGE_SOURCES_PGSQL_USERNAME and
# PIO_STORAGE_SOURCES_PGSQL_PASSWORD accordingly
# PIO_STORAGE_SOURCES_PGSQL_TYPE=jdbc
# PIO_STORAGE_SOURCES_PGSQL_URL=jdbc:postgresql://localhost/pio
# PIO_STORAGE_SOURCES_PGSQL_USERNAME=pio
# PIO_STORAGE_SOURCES_PGSQL_PASSWORD=pio
# MySQL Example
# PIO_STORAGE_SOURCES_MYSQL_TYPE=jdbc
# PIO_STORAGE_SOURCES_MYSQL_URL=jdbc:mysql://localhost/pio
# PIO_STORAGE_SOURCES_MYSQL_USERNAME=pio
# PIO_STORAGE_SOURCES_MYSQL_PASSWORD=pio
# Elasticsearch Example
PIO_STORAGE_SOURCES_ELASTICSEARCH_TYPE=elasticsearch
PIO_STORAGE_SOURCES_ELASTICSEARCH_HOSTS=localhost
PIO_STORAGE_SOURCES_ELASTICSEARCH_PORTS=9200
PIO_STORAGE_SOURCES_ELASTICSEARCH_SCHEMES=http
PIO_STORAGE_SOURCES_ELASTICSEARCH_CLUSTERNAME=pio
PIO_STORAGE_SOURCES_ELASTICSEARCH_HOME=$PIO_HOME/vendors/elasticsearch-5.5.2
# Optional basic HTTP auth
# PIO_STORAGE_SOURCES_ELASTICSEARCH_USERNAME=my-name
# PIO_STORAGE_SOURCES_ELASTICSEARCH_PASSWORD=my-secret
# Elasticsearch 1.x Example
# PIO_STORAGE_SOURCES_ELASTICSEARCH_TYPE=elasticsearch
# PIO_STORAGE_SOURCES_ELASTICSEARCH_CLUSTERNAME=<elasticsearch_cluster_name>
# PIO_STORAGE_SOURCES_ELASTICSEARCH_HOSTS=localhost
# PIO_STORAGE_SOURCES_ELASTICSEARCH_PORTS=9300
# PIO_STORAGE_SOURCES_ELASTICSEARCH_HOME=$PIO_HOME/vendors/elasticsearch-1.7.6
# Local File System Example
PIO_STORAGE_SOURCES_LOCALFS_TYPE=localfs
PIO_STORAGE_SOURCES_LOCALFS_PATH=$PIO_FS_BASEDIR/models
# HBase Example
PIO_STORAGE_SOURCES_HBASE_TYPE=hbase
PIO_STORAGE_SOURCES_HBASE_HOME=$PIO_HOME/vendors/hbase-1.2.6
# AWS S3 Example
# PIO_STORAGE_SOURCES_S3_TYPE=s3
# PIO_STORAGE_SOURCES_S3_BUCKET_NAME=pio_bucket
# PIO_STORAGE_SOURCES_S3_BASE_PATH=pio_model
Saglabājiet failu un izejiet no redaktora.
Atveriet Elasticsearch konfigurācijas failu.
nano /opt/PredictionIO-0.12.0-incubating/vendors/elasticsearch-5.5.2/config/elasticsearch.yml
Atceliet rindiņas komentārus un iestatiet klastera nosaukumu tieši tādu pašu kā tas, kas norādīts PredictionIO vides failā. Iepriekš pio
minētajā konfigurācijā ir iestatīts klastera nosaukums .
# Use a descriptive name for your cluster:
#
cluster.name: pio
Tagad pievienojiet $PIO_HOME/bin
direktoriju mainīgajam PATH, lai PredictionIO izpildāmie faili tiktu izpildīti tieši.
echo "export PATH=$PATH:$PIO_HOME/bin" >> ~/.bash_profile
source ~/.bash_profile
Šajā brīdī jūsu serverī ir veiksmīgi instalēta PredictionIO.
Varat palaist visus pakalpojumus pakalpojumā PredictionIO, piemēram, Elasticsearch, HBase un Event serveri, izmantojot vienu komandu.
pio-start-all
Jūs redzēsit šādu izvadi.
[user@vultr ~]$ pio-start-all
Starting Elasticsearch...
Starting HBase...
starting master, logging to /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/bin/../logs/hbase-user-master-vultr.guest.out
Waiting 10 seconds for Storage Repositories to fully initialize...
Starting PredictionIO Event Server...
Izmantojiet šo komandu, lai pārbaudītu PredictionIO servera statusu.
pio status
Jūs redzēsit šādu izvadi.
[user@vultr ~]$ pio status
[INFO] [Management$] Inspecting PredictionIO...
[INFO] [Management$] PredictionIO 0.12.0-incubating is installed at /opt/PredictionIO-0.12.0-incubating
[INFO] [Management$] Inspecting Apache Spark...
[INFO] [Management$] Apache Spark is installed at /opt/PredictionIO-0.12.0-incubating/vendors/spark-2.1.1-bin-hadoop2.7
[INFO] [Management$] Apache Spark 2.1.1 detected (meets minimum requirement of 1.3.0)
[INFO] [Management$] Inspecting storage backend connections...
[INFO] [Storage$] Verifying Meta Data Backend (Source: ELASTICSEARCH)...
[INFO] [Storage$] Verifying Model Data Backend (Source: LOCALFS)...
[INFO] [Storage$] Verifying Event Data Backend (Source: HBASE)...
[INFO] [Storage$] Test writing to Event Store (App Id 0)...
[INFO] [HBLEvents] The namespace pio_event doesn't exist yet. Creating now...
[INFO] [HBLEvents] The table pio_event:events_0 doesn't exist yet. Creating now...
[INFO] [HBLEvents] Removing table pio_event:events_0...
[INFO] [Management$] Your system is all ready to go.
Kā redzams iepriekš minētajos ziņojumos, mūsu sistēma ir gatava lietošanai dzinēja veidnes ieviešanai un datu prognozēšanai.
PredictionIO veidņu galerijā ir pieejamas vairākas lietošanai gatavas programmas veidnes, kuras var viegli instalēt PredictionIO serverī. Varat brīvi pārlūkot dzinēju veidņu sarakstu, lai atrastu to, kas atbilst jūsu prasībām, vai arī varat izveidot savu dzinēju.
Šajā apmācībā mēs ieviesīsim E-Commerce Recommendation
dzinēja veidni, lai demonstrētu PredictionIO servera funkcionalitāti, izmantojot dažus datu paraugus. Šī programmas veidne sniedz dažus personiskus ieteikumus lietotājam e-komercijas vietnē. Pēc noklusējuma tai ir tādas funkcijas kā preču, kas nav noliktavā, izslēgšana vai ieteikumu sniegšana lietotājam, kurš reģistrējas pēc tam, kad modelis ir apmācīts. Turklāt pēc noklusējuma programmas veidne ņem lietotāja skatījumu un pirkšanas notikumus, preces ar kategorijām un rekvizītiem, kā arī nepieejamo preču sarakstu. Kad dzinējs ir apmācīts un izvietots, varat nosūtīt vaicājumu ar lietotāja ID un ieteicamo vienumu skaitu. Ģenerētā izvade būs ranžēts ieteicamo vienumu ID saraksts.
Instalējiet Git, jo tas tiks izmantots repozitorija klonēšanai.
cd ~
sudo yum -y install git
Klonējiet savā sistēmā E-komercijas ieteikuma programmas veidni.
git clone https://github.com/apache/incubator-predictionio-template-ecom-recommender.git MyEComRecomm
Izveidojiet jaunu lietojumprogrammu e-komercijas ieteikumu veidņu programmai. Katra PredictionIO lietojumprogramma tiek izmantota, lai saglabātu datus atsevišķai vietnei. Ja jums ir vairākas vietnes, varat izveidot vairākas lietotnes, lai katras vietnes datus saglabātu citā lietojumprogrammā. Jūs varat brīvi izvēlēties savam pieteikumam jebkuru nosaukumu.
cd MyEComRecomm/
pio app new myecom
Jūs redzēsit šādu izvadi.
[user@vultr MyEComRecomm]$ pio app new myecom
[INFO] [HBLEvents] The table pio_event:events_1 doesn't exist yet. Creating now...
[INFO] [App$] Initialized Event Store for this app ID: 1.
[INFO] [Pio$] Created a new app:
[INFO] [Pio$] Name: myecom
[INFO] [Pio$] ID: 1
[INFO] [Pio$] Access Key: a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t
Iepriekš redzamajā izvadē ir arī piekļuves atslēga, kas tiks izmantota, lai autentificētos, nosūtot ievades datus notikumu serverim.
Palaižot, jūs vienmēr varat atrast piekļuves atslēgu un pieejamo programmu sarakstu.
pio app list
Jūs redzēsit šādu izvadi, kurā būs lietojumprogrammu saraksts un piekļuves atslēga.
[user@vultr MyEComRecomm]$ pio app list
[INFO] [Pio$] Name | ID | Access Key | Allowed Event(s)
[INFO] [Pio$] myecom | 1 | a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t | (all)
[INFO] [Pio$] Finished listing 1 app(s).
Tagad, kad esam izveidojuši jaunu lietojumprogrammu, mēs tai pievienosim dažus datus. Ražošanas vidē vēlaties automātiski nosūtīt datus notikumu serverim, lietojumprogrammā integrējot notikumu servera API. Lai uzzinātu, kā darbojas PredictionIO, mēs tajā importēsim dažus datu paraugus. Veidnes programma nodrošina Python skriptu, ko var viegli izmantot, lai importētu parauga datus notikumu serverī.
Instalējiet Python pip.
sudo yum -y install python-pip
sudo pip install --upgrade pip
Instalējiet PredictionIO Python SDK, izmantojot pip.
sudo pip install predictionio
Palaidiet Python skriptu, lai notikumu serverim pievienotu datu paraugus.
python data/import_eventserver.py --access_key a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t
Noteikti nomainiet piekļuves atslēgu ar savu faktisko piekļuves atslēgu. Jūs redzēsit līdzīgu izvadi.
[user@vultr MyEComRecomm]$ python data/import_eventserver.py --access_key a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t
Namespace(access_key='a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t', url='http://localhost:7070')
{u'status': u'alive'}
Importing data...
('Set user', 'u1')
('Set user', 'u2')
...
('User', 'u10', 'buys item', 'i30')
('User', 'u10', 'views item', 'i40')
('User', 'u10', 'buys item', 'i40')
204 events are imported.
Iepriekš minētais skripts importē 10 lietotājus, 50 vienumus 6 kategorijās un dažus nejaušus pirkuma un skatījumu notikumus. Lai pārbaudītu, vai notikumi ir importēti, varat izpildīt šādu vaicājumu.
curl -i -X GET "http://localhost:7070/events.json?accessKey=a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t"
Izvade parādīs visu importēto notikumu sarakstu JSON formātā.
Tagad atveriet engine.json
failu redaktorā. Šis fails satur dzinēja konfigurāciju.
nano engine.json
Atrodiet abus gadījumus appName
un aizstājiet vērtību ar iepriekš izveidotās lietotnes faktisko nosaukumu.
{
"id": "default",
"description": "Default settings",
"engineFactory": "org.example.ecommercerecommendation.ECommerceRecommendationEngine",
"datasource": {
"params" : {
"appName": "myecom"
}
},
"algorithms": [
{
"name": "ecomm",
"params": {
"appName": "myecom",
"unseenOnly": true,
"seenEvents": ["buy", "view"],
"similarEvents": ["view"],
"rank": 10,
"numIterations" : 20,
"lambda": 0.01,
"seed": 3
}
}
]
}
Veidojiet lietojumprogrammu.
pio build --verbose
Ja nevēlaties redzēt žurnāla ziņojumus, noņemiet --verbose
opciju. Dzinēja veidnes izveide pirmo reizi prasīs dažas minūtes. Jūs redzēsit līdzīgu izvadi, kad būvēšana būs veiksmīgi pabeigta.
[user@vultr MyEComRecomm]$ pio build --verbose
[INFO] [Engine$] Using command '/opt/PredictionIO-0.12.0-incubating/sbt/sbt' at /home/user/MyEComRecomm to build.
...
[INFO] [Engine$] Build finished successfully.
[INFO] [Pio$] Your engine is ready for training.
Apmāciet dzinēju tūlīt. Apmācības laikā dzinējs analizē datu kopu un apmāca sevi saskaņā ar sniegto algoritmu.
pio train
Pirms lietojumprogrammas izvietošanas mums būs jāatver ports, 8000
lai lietojumprogrammas statusu varētu skatīt tīmekļa GUI. Arī vietnes un lietojumprogrammas, kas izmanto notikumu serveri, nosūtīs un saņems savus vaicājumus, izmantojot šo portu.
sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
Tagad varat izvietot PredictionIO dzinēju.
pio deploy
Iepriekš minētā komanda izvietos dzinēju un iebūvēto tīmekļa serveri portā, 8000
lai atbildētu uz vaicājumiem no e-komercijas vietnēm un lietojumprogrammām. Kad dzinējs būs veiksmīgi izvietots, beigās redzēsit šādu izvadi.
[INFO] [HttpListener] Bound to /0.0.0.0:8000
[INFO] [MasterActor] Engine is deployed and running. Engine API is live at http://0.0.0.0:8000.
Jūs varat pārbaudīt dzinēja statusu, http://192.0.2.1:8000
izmantojot jebkuru modernu pārlūkprogrammu. Noteikti nomainiet to 192.0.2.1
ar savu faktisko Vultr IP adresi.
Tas nozīmē, ka e-komercijas ieteikuma programmas veidne ir izvietota un darbojas veiksmīgi. Varat pieprasīt programmas veidni, lai iegūtu piecus ieteikumus lietotājam u5
, izpildot šādu vaicājumu jaunā termināļa sesijā.
curl -H "Content-Type: application/json" \
-d '{ "user": "u5", "num": 5 }' \
http://localhost:8000/queries.json
Jūs redzēsiet izveidotos ieteikumus lietotājam u5
.
[user@vultr ~]$ curl -H "Content-Type: application/json" \
> -d '{ "user": "u5", "num": 5 }' \
> http://localhost:8000/queries.json
{"itemScores":[{"item":"i25","score":0.9985169366745619},{"item":"i10","score":0.996613946803819},{"item":"i27","score":0.996613946803819},{"item":"i17","score":0.9962796867639341},{"item":"i8","score":0.9955868705972656}]}
Apsveicam, Apache PredictionIO ir veiksmīgi izvietots jūsu serverī. Tagad varat izmantot notikumu servera API, lai importētu datus programmā, lai paredzētu ieteikumus lietotājam. Ja vēlaties, varat izmantot dažas citas veidnes no veidņu galerijas. Noteikti apskatiet Universal Recommender programmas veidni, ko var izmantot gandrīz visos lietošanas gadījumos, tostarp e-komercijā, ziņās vai video.
Vai izmantojat citu sistēmu? Plesk ir patentēts tīmekļa mitinātāja vadības panelis, kas ļauj lietotājiem administrēt savas personīgās un/vai klientu vietnes, datu bāzes
Squid ir populāra bezmaksas Linux programma, kas ļauj izveidot pāradresācijas tīmekļa starpniekserveri. Šajā rokasgrāmatā jūs redzēsit, kā instalēt Squid uz CentOS, lai jūs pārvērstu
Ievads Lighttpd ir Apache dakša, kuras mērķis ir daudz mazāk resursietilpīgs. Tas ir viegls, tāpēc arī tā nosaukums ir diezgan vienkārši lietojams. Instalēšana
VULTR nesen veica izmaiņas, un tagad visam vajadzētu darboties labi, ja ir iespējots NetworkManager. Ja vēlaties atspējot
Icinga2 ir spēcīga uzraudzības sistēma, un, ja to izmanto galvenā klienta modelī, tā var aizstāt vajadzību pēc NRPE balstītām uzraudzības pārbaudēm. Meistars-klients
Vai izmantojat citu sistēmu? Apache Cassandra ir bezmaksas un atvērtā koda NoSQL datu bāzes pārvaldības sistēma, kas ir izstrādāta, lai nodrošinātu mērogojamību, hig.
Vai izmantojat citu sistēmu? Microweber ir atvērtā koda vilkšanas un nomešanas CMS un tiešsaistes veikals. Microweber pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata jums parādīs
Vai izmantojat citu sistēmu? Mattermost ir atvērtā pirmkoda, pašmitināta alternatīva Slack SAAS ziņojumapmaiņas pakalpojumam. Citiem vārdiem sakot, izmantojot Mattermost, jūs apm
Kas jums būs nepieciešams Vultr VPS ar vismaz 1 GB RAM. SSH piekļuve (ar root/administratora tiesībām). 1. darbība: BungeeCord instalēšana Vispirms vispirms
Plesk vadības panelī ir ļoti jauka Lets Encrypt integrācija. Lets Encrypt ir viens no vienīgajiem SSL nodrošinātājiem, kas pilnībā izsniedz sertifikātus
Lets Encrypt ir sertifikātu iestāde, kas nodrošina SSL sertifikātus bez maksas. cPanel ir izveidojis glītu integrāciju, lai jūs un jūsu klients
Vai izmantojat citu sistēmu? Concrete5 ir atvērtā pirmkoda CMS, kas piedāvā daudzas atšķirīgas un noderīgas funkcijas, lai palīdzētu redaktoriem viegli izveidot saturu.
Vai izmantojat citu sistēmu? Pārskatīšanas padome ir bezmaksas atvērtā pirmkoda rīks pirmkoda, dokumentācijas, attēlu un daudz ko citu pārskatīšanai. Tā ir tīmekļa programmatūra
Šajā rokasgrāmatā jūs uzzināsit, kā iestatīt HTTP autentifikāciju Nginx tīmekļa serverim, kas darbojas operētājsistēmā CentOS 7. Prasības Lai sāktu darbu, jums būs nepieciešams
YOURLS (Your Own URL Shortener) ir atvērtā koda URL saīsināšanas un datu analīzes lietojumprogramma. Šajā rakstā mēs apskatīsim instalēšanas procesu
Vai izmantojat citu sistēmu? Ievads ArangoDB ir atvērtā koda NoSQL datu bāze ar elastīgu datu modeli dokumentiem, grafikiem un atslēgu vērtībām. Tas ir
Ievads /etc/ direktorijam ir izšķiroša nozīme Linux sistēmas darbībā. Iemesls tam ir gandrīz visas sistēmas konfigurācijas
Daudzi sistēmu administratori pārvalda lielu daudzumu serveru. Ja failiem ir jāpiekļūst dažādos serveros, piesakieties katrā atsevišķi apm
Šajā apmācībā tiks apskatīts Half Life 2 spēļu servera instalēšanas process sistēmā CentOS 6. 1. darbība: priekšnosacījumu instalēšana Lai iestatītu ou
Laravel GitScrum jeb GitScrum ir atvērtā pirmkoda produktivitātes rīks, kas izstrādāts, lai palīdzētu izstrādātāju komandām ieviest Scrum metodoloģiju līdzīgā veidā.
Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.
Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.
Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.
Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.
Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…
Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.
Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.
Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.
Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.
Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk