Asenna Plesk CentOS 7:ään
Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ja/tai asiakkaidensa verkkosivustoja, tietokantoja
Perinteisiä lähestymistapoja data-analyysiin ei voida käyttää, kun tietojoukot saavuttavat tietyn koon. Moderni vaihtoehto valtavien tietojoukkojen analysoinnille on koneoppimismenetelmien käyttö. Koneoppiminen pystyy tuottamaan tarkkoja tuloksia käyttämällä nopeaa ja tehokasta algoritmia.
Apache PredictionIO on avoimen lähdekoodin koneoppimispalvelin, jota käytetään luomaan ennakoivia moottoreita mihin tahansa koneoppimistehtävään. Se lyhentää koneoppimissovelluksen aikaa laboratoriosta tuotantoon käyttämällä mukautettavia moottorimalleja, jotka voidaan rakentaa ja ottaa käyttöön nopeasti. Se tarjoaa tiedonkeruu- ja palvelukomponentit ja tiivistää taustalla olevaa teknologiaa paljastaakseen API:n, jonka avulla kehittäjät voivat keskittyä muunnoskomponentteihin. Kun PredictionIO:n moottoripalvelin on otettu käyttöön verkkopalveluna, se voi vastata dynaamisiin kyselyihin reaaliajassa.
Apache PredictionIO koostuu eri komponenteista.
Tässä opetusohjelmassa käytämme 192.0.2.1
palvelimen julkisena IP-osoitteena. Korvaa kaikki esiintymät 192.0.2.1
Vultr julkisella IP-osoitteellasi.
Päivitä perusjärjestelmäsi CentOS 7:n päivittäminen -oppaan avulla . Kun järjestelmäsi on päivitetty, jatka Javan asentamista.
Monet PredictionIO:n komponentit vaativat JDK:n tai Java Development Kitin version 8 toimiakseen. Se tukee sekä OpenJDK:ta että Oracle Javaa. Tässä opetusohjelmassa asennamme OpenJDK-version 8.
OpenJDK on helppo asentaa, koska paketti on saatavilla oletusarvoisessa YUM-arkistossa.
sudo yum -y install java-1.8.0-openjdk-devel
Tarkista Java-versio varmistaaksesi, että se on asennettu oikein.
java -version
Saat samanlaisen tulosteen.
[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)
Ennen kuin voimme jatkaa, meidän on määritettävä JAVA_HOME
ja JRE_HOME
ympäristömuuttujat. Etsi JAVA-suoritettavan tiedoston absoluuttinen polku järjestelmästäsi.
readlink -f $(which java)
Näet samanlaisen tulosteen.
[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
Aseta nyt JAVA_HOME
ja JRE_HOME
ympäristömuuttuja Java-hakemiston polun mukaan.
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
Suorita bash_profile
tiedosto.
source ~/.bash_profile
Nyt voit suorittaa echo $JAVA_HOME
komennon tarkistaaksesi, onko ympäristömuuttuja asetettu.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
Apache tarjoaa PredictionIO-lähdetiedostoja, jotka voidaan ladata ja kääntää paikallisesti. Luo uusi väliaikainen hakemisto lähdetiedoston lataamista ja kääntämistä varten.
mkdir /tmp/pio_sourcefiles && cd /tmp/pio_sourcefiles
Lataa PredictionIO-lähdetiedostoarkisto millä tahansa Apache Mirror -sivustolla .
wget http://apache.mirror.vexxhost.com/incubator/predictionio/0.12.0-incubating/apache-predictionio-0.12.0-incubating.tar.gz
Pura arkisto ja käännä lähde PredictionIO-jakelun luomiseksi.
tar xf apache-predictionio-0.12.0-incubating.tar.gz
./make-distribution.sh
Yllä oleva jakelu rakennetaan riippuvuuksien oletusversioita vastaan, jotka ovat Scala 2.11.8
, Spark 2.1.1
, Hadoop 2.7.3
ja ElasticSearch 5.5.2
. Odota koontiversion valmistumista. Se kestää noin kymmenen minuuttia järjestelmän suorituskyvystä riippuen.
Huomautus : Voit vapaasti käyttää uusinta tuettua versiota riippuvuuksista, mutta saatat nähdä joitain varoituksia koonnon aikana, koska jotkin toiminnot saattavat olla vanhentuneita. Suorita ./make-distribution.sh -Dscala.version=2.11.11 -Dspark.version=2.1.2 -Dhadoop.version=2.7.4 -Delasticsearch.version=5.5.3
ja korvaa versionumero valintasi mukaan.
Kun rakennus on valmis, näet seuraavan viestin lopussa.
...
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ääritiedostot tallennetaan PredictionIO-0.12.0-incubating.tar.gz
arkistoon. Pura arkisto /opt
hakemistosta ja anna omistusoikeus nykyiselle käyttäjälle.
sudo tar xf PredictionIO-0.12.0-incubating.tar.gz -C /opt/
sudo chown -R $USER:$USER /opt/PredictionIO-0.12.0-incubating
Aseta PIO_HOME
ympäristömuuttuja.
echo "export PIO_HOME=/opt/PredictionIO-0.12.0-incubating" >> ~/.bash_profile
source ~/.bash_profile
Luo uusi hakemisto asentaa PredictionIO riippuvuudet, kuten HBase
, Spark
ja Elasticsearch
.
mkdir /opt/PredictionIO-0.12.0-incubating/vendors
Lataa Scala-versio 2.11.8 ja pura se vendors
hakemistoon.
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
Lataa Apache Hadoop -versio 2.7.3 ja pura se vendors
hakemistoon.
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 on PredictionIO:n oletuskäsittelymoottori. Lataa Spark-versio 2.1.1 ja pura se vendors
hakemistoon.
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
Lataa Elasticsearch-versio 5.5.2 ja pura se vendors
hakemistoon.
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
Lataa lopuksi HBase-versio 1.2.6 ja pura se vendors
hakemistoon.
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
Avaa hbase-site.xml
määritystiedosto määrittääksesi HBase toimimaan erillisessä ympäristössä.
nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-site.xml
Etsi tyhjä konfigurointilohko ja korvaa se seuraavalla kokoonpanolla.
<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 luo tietohakemiston automaattisesti. Määritä JAVA_HOME
polku muokkaamalla HBase-ympäristötiedostoa .
nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-env.sh
Poista rivin numero 27 kommentit ja aseta Java-asennuksesi JAVA_HOME
polku jre
. Löydät JAVA-suoritettavan tiedoston polun readlink -f $(which java)
komennolla.
# 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
Kommentoi myös rivien numerot 46 ja 47, koska niitä ei vaadita JAVA 8:ssa.
# 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"
PredictionIO-ympäristötiedoston oletuskokoonpano pio-env.sh
olettaa, että käytämme PostgreSQL- tai MySQL-tiedostoa. Koska olemme käyttäneet HBasea ja Elasticsearchia, joudumme muokkaamaan lähes kaikkia tiedoston määrityksiä. On parasta ottaa varmuuskopio olemassa olevasta tiedostosta ja luoda uusi PredictionIO-ympäristötiedosto.
mv /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh.bak
Now create a new file for PredictionIO environment configuration.
nano /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh
Populate the file with the following configuration.
# 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
Save the file and exit from the editor.
Open the Elasticsearch configuration file.
nano /opt/PredictionIO-0.12.0-incubating/vendors/elasticsearch-5.5.2/config/elasticsearch.yml
Uncomment the line and set the cluster name to exactly the same as the one provided in the PredictionIO environment file. The cluster name is set to pio
in the above configuration.
# Use a descriptive name for your cluster:
#
cluster.name: pio
Now add the $PIO_HOME/bin
directory into the PATH variable so that the PredictionIO executables are executed directly.
echo "export PATH=$PATH:$PIO_HOME/bin" >> ~/.bash_profile
source ~/.bash_profile
At this point, PredictionIO is successfully installed on your server.
You can start all the services in PredictionIO such as Elasticsearch, HBase and Event server using a single command.
pio-start-all
You will see the following output.
[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...
Use the following command to check the status of the PredictionIO server.
pio status
You will see the following output.
[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.
As we can see in the above messages, our system is ready to use for implementing an engine template and predicting data.
Several ready to use engine templates are available on the PredictionIO Template Gallery which can be easily installed on the PredictionIO server. You are free to browse through the list of engine templates to find the one that is close to your requirements or you can write your own engine.
In this tutorial, we will implement the E-Commerce Recommendation
engine template to demonstrate the functionality of PredictionIO server using some sample data. This engine template provides some personal recommendation to a user in an e-commerce website. By default, it has features such as excluding out of stock items or providing recommendations to a user who signs up after the model is trained. Also, by default, the engine template takes a user's view and buy events, items with categories and properties and list of unavailable items. Once the engine has been trained and deployed, you can send a query with the user id and number of items to be recommended. The generated output will be a ranked list of recommended item ids.
Install Git, as it will be used to clone the repository.
cd ~
sudo yum -y install git
Clone the E-Commerce Recommender engine template on your system.
git clone https://github.com/apache/incubator-predictionio-template-ecom-recommender.git MyEComRecomm
Create a new application for the E-Commerce Recommendation template engine. Each application in PredictionIO is used to store the data for a separate website. If you have multiple websites, then you can create multiple apps to store each website's data into a different application. You are free to choose any name for your application.
cd MyEComRecomm/
pio app new myecom
You will see the following output.
[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
The output above also contains the access key which will be used to authenticate when sending the input data to the event server.
You can always find the access key along with the list of available applications by running.
pio app list
You will see the following output containing a list of applications and the access key.
[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).
Nyt kun olemme luoneet uuden sovelluksen, lisäämme siihen tietoja. Tuotantoympäristössä haluat lähettää tiedot automaattisesti tapahtumapalvelimelle integroimalla tapahtumapalvelimen API sovellukseen. Oppiaksesi kuinka PredictionIO toimii, tuomme siihen näytetietoja. Mallimoottori tarjoaa Python-skriptin, jonka avulla voidaan helposti tuoda näytetiedot tapahtumapalvelimelle.
Asenna Python pip.
sudo yum -y install python-pip
sudo pip install --upgrade pip
Asenna PredictionIO Python SDK pip:n avulla.
sudo pip install predictionio
Suorita Python-skripti lisätäksesi näytetiedot tapahtumapalvelimeen.
python data/import_eventserver.py --access_key a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t
Muista vaihtaa pääsyavain todelliseen pääsyavaimeesi. Näet samanlaisen tulosteen.
[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.
Yllä oleva skripti tuo 10 käyttäjää, 50 tuotetta 6 kategoriassa ja joitain satunnaisia osto- ja katselutapahtumia. Voit tarkistaa, onko tapahtumat tuotu vai ei, suorittamalla seuraavan kyselyn.
curl -i -X GET "http://localhost:7070/events.json?accessKey=a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t"
Tulos näyttää luettelon kaikista tuoduista tapahtumista JSON-muodossa.
Avaa nyt engine.json
tiedosto editoriin. Tämä tiedosto sisältää moottorin asetukset.
nano engine.json
Etsi molemmat esiintymät appName
ja korvaa arvo aiemmin luomasi sovelluksen todellisella nimellä.
{
"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
}
}
]
}
Rakenna sovellus.
pio build --verbose
Jos et halua nähdä lokiviestejä, poista --verbose
vaihtoehto. Moottorimallin rakentaminen ensimmäistä kertaa kestää muutaman minuutin. Näet samanlaisen tulosteen, kun rakennus on valmis.
[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.
Harjoittele moottoria nyt. Koulutuksen aikana moottori analysoi tietojoukon ja harjoittelee itseään toimitetun algoritmin mukaisesti.
pio train
Ennen kuin otamme sovelluksen käyttöön, meidän on avattava portti, 8000
jotta sovelluksen tila voidaan tarkastella verkkokäyttöliittymässä. Myös tapahtumapalvelinta käyttävät verkkosivustot ja sovellukset lähettävät ja vastaanottavat kyselynsä tämän portin kautta.
sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
Nyt voit ottaa PredictionIO-moottorin käyttöön.
pio deploy
Yllä oleva komento ottaa käyttöön moottorin ja sisäänrakennetun verkkopalvelimen portissa 8000
vastaamaan verkkokauppasivustojen ja -sovellusten kyselyihin. Näet seuraavan tulosteen lopussa, kun moottori on otettu käyttöön onnistuneesti.
[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.
Voit tarkistaa moottorin tilan menemällä http://192.0.2.1:8000
millä tahansa nykyaikaisella selaimella. Varmista, että vaihdat 192.0.2.1
todelliseen Vultr IP-osoitteeseen.
Tämä tarkoittaa, että sähköisen kaupankäynnin suosituksen moottorimalli on otettu käyttöön ja toimii onnistuneesti. Voit hakea moottorimallin kyselyllä viisi suositusta käyttäjälle u5
suorittamalla seuraavan kyselyn uudessa pääteistunnossa.
curl -H "Content-Type: application/json" \
-d '{ "user": "u5", "num": 5 }' \
http://localhost:8000/queries.json
Näet käyttäjälle luodut suositukset 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}]}
Onnittelut, Apache PredictionIO on otettu käyttöön palvelimellasi. Voit nyt käyttää tapahtumapalvelimen API:ta tietojen tuomiseen moottoriin ennustaaksesi suosituksia käyttäjälle. Halutessasi voit käyttää joitain muita malleja malligalleriassa. Muista tutustua Universal Recommender -moottorimalliin, jota voidaan käyttää lähes kaikissa käyttötapauksissa, mukaan lukien sähköinen kaupankäynti, uutiset tai videot.
Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ja/tai asiakkaidensa verkkosivustoja, tietokantoja
Squid on suosittu, ilmainen Linux-ohjelma, jonka avulla voit luoda edelleenlähetysverkkovälityspalvelimen. Tässä oppaassa näet, kuinka Squid asennetaan CentOS:ään kääntääksesi sinut
Johdanto Lighttpd on Apachen haarukka, jonka tarkoituksena on olla paljon vähemmän resurssiintensiivinen. Se on kevyt, tästä syystä sen nimi, ja on melko yksinkertainen käyttää. Asenna
VULTR on äskettäin tehnyt muutoksia heidän omiinsa, ja kaiken pitäisi nyt toimia hyvin heti, kun NetworkManager on käytössä. Jos haluat poistaa käytöstä
Icinga2 on tehokas valvontajärjestelmä, ja master-client-mallissa käytettynä se voi korvata NRPE-pohjaisten valvontatarkastusten tarpeen. Pääasiakas
Käytätkö erilaista järjestelmää? Apache Cassandra on ilmainen ja avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä, joka on suunniteltu tarjoamaan skaalautuvuutta, hig.
Käytätkö erilaista järjestelmää? Microweber on avoimen lähdekoodin vedä ja pudota sisällönhallintajärjestelmä ja verkkokauppa. Microweber-lähdekoodia isännöidään GitHubissa. Tämä opas näyttää sinulle
Käytätkö erilaista järjestelmää? Mattermost on avoimen lähdekoodin itseisännöity vaihtoehto Slack SAAS -viestipalvelulle. Toisin sanoen Mattermostin avulla voit noin
Mitä tarvitset Vultr VPS:n, jossa on vähintään 1 Gt RAM-muistia. SSH-käyttö (pääkäyttäjän/järjestelmänvalvojan oikeuksilla). Vaihe 1: BungeeCordin asentaminen Ensimmäiset asiat ensin
Plesk-ohjauspaneelissa on erittäin mukava integraatio Lets Encryptille. Lets Encrypt on yksi ainoista SSL-palveluntarjoajista, jotka myöntävät varmenteita täydellisesti
Lets Encrypt on varmenneviranomainen, joka on omistautunut tarjoamaan SSL-varmenteita ilmaiseksi. cPanel on rakentanut siistin integraation sinulle ja asiakkaallesi
Käytätkö erilaista järjestelmää? Concrete5 on avoimen lähdekoodin sisällönhallintajärjestelmä, joka tarjoaa monia ainutlaatuisia ja hyödyllisiä ominaisuuksia, jotka auttavat toimittajia tuottamaan sisältöä helposti ja helposti.
Käytätkö erilaista järjestelmää? Review Board on ilmainen ja avoimen lähdekoodin työkalu lähdekoodin, dokumentaation, kuvien ja monien muiden tarkistamiseen. Se on web-pohjainen ohjelmisto
Tässä oppaassa opit määrittämään HTTP-todennuksen Nginx-verkkopalvelimelle, joka toimii CentOS 7:ssä. Vaatimukset Aloitaksesi tarvitset
YOURLS (Your Own URL Shortener) on avoimen lähdekoodin URL-osoitteiden lyhennys- ja data-analytiikkasovellus. Tässä artikkelissa käsittelemme asennusprosessia
Käytätkö erilaista järjestelmää? Johdanto ArangoDB on avoimen lähdekoodin NoSQL-tietokanta, jossa on joustava tietomalli asiakirjoille, kaavioille ja avainarvoille. se on
Johdanto /etc/-hakemistolla on tärkeä rooli Linux-järjestelmän toiminnassa. Syynä tähän on se, että lähes kaikki järjestelmäkokoonpanot
Monet järjestelmänvalvojat hallitsevat suuria määriä palvelimia. Kun tiedostoja on käytettävä eri palvelimien kautta, kirjaudu jokaiseen erikseen n
Tämä opetusohjelma kattaa Half Life 2 -pelipalvelimen asennuksen CentOS 6 -järjestelmään. Vaihe 1: Edellytysten asentaminen Voit määrittää ou
Laravel GitScrum tai GitScrum on avoimen lähdekoodin tuottavuustyökalu, joka on suunniteltu auttamaan kehitysryhmiä ottamaan käyttöön Scrum-metodologian samalla tavalla.
Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.
Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.
Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.
Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.
Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…
Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.
Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.
Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.
Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.
Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja