CAP0104 Capstone Project
1.0.0
Angkoot是一个应用程序,其目的是将印度尼西亚萨拉巴亚的Angkot运输数字化。 Angkoot现在提供的服务是订单,旅行距离估计和用户注册的票价预测。

对于票价预测,我们的灵感来自Dimitre Oliveira:https://github.com/dimitreoliveira/newyorkcitytaxifare
我们使用的票价预测数据集来自Kaggle。 [数据集]
使用Alara Dirik的教程的帮助:https://github.com/alaradirik/google-cloud-flask-tutorial [exployment]使用Alara Dirik的教程的帮助[部署]
对于票价预测,我们仅使用了整个数据集中的500.000个数据。然后,我们基于Dimitre Oliveira数据制备预处理数据集进行了一些调整。然后我们使用KERAS模型构建模型。首先,我们尝试使用Dimitre的TensorFlow估计器。但是随后我们进行了一些调整,以便我们仅在项目中使用Keras。之后,我们进行培训并导出保存的模型。接下来,使用烧瓶,加上Nginx和Unicorn将保存的模型部署到Google Compute引擎中。由此,我们获得了后来将从Android应用触发的API,以做出一些预测。
这些是您可以做的步骤:
git clone https://github.com/anriza-fanani-bangkit/CAP0104-Capstone-Project/pip install -r requirements.txt我们基本上是在上面的Alara Dirik的教程中做这些事情,并进行了一些调整。详细信息可以阅读[此处]
# update system packages, install the required packages, and miniconda
sudo apt-get update
sudo apt-get install bzip2 libxml2-dev libsm6 libxrender1 libfontconfig1
wget https://repo.anaconda.com/miniconda/Miniconda3-4.7.10-Linux-x86_64.sh
bash Miniconda3-4.7.10-Linux-x86_64.sh
# make conda executable
export PATH=/home/ < based on your Google Cloud ' s name>/miniconda3/bin:$PATH
rm Miniconda3-4.7.10-Linux-x86_64.sh
# create and activate a new virtual environment
conda create -n angkoot python=3.7
conda activate angkoot CAP0104-Capstone-Project
│ README.md
│ flask_model.py # Functions to preprocess the input data
│ keras_model.h5 # Keras saved model to be loaded in Flask
│ main.py # Flask model app to predict continuosly
│ main_dataform.py # Flask model app to predict with data form
│ requirements.txt # To install the dependencies
cd CAP0104-Capstone-Project
pip install -r requirements.txt
python main.py # you need to go out from repo folder
cd
sudo apt-get install nginx-full
sudo /etc/init.d/nginx start # remove default configuration file
sudo rm /etc/nginx/sites-enabled/default
# create a new site configuration file
sudo touch /etc/nginx/sites-available/angkoot_project
sudo ln -s /etc/nginx/sites-available/angkoot_project /etc/nginx/sites-enabled/angkoot_projectsudo nano /etc/nginx/sites-enabled/angkoot_project然后,在下面添加此代码:
server {
client_max_body_size 100M ;
location / {
proxy_pass http://0.0.0.0:5000 ;
}
}sudo /etc/init.d/nginx restart cd CAP0104-Capstone-Project
gunicorn --bind 0.0.0.0:5000 main:app由于Android App仍在开发中,您可以通过获取请求和发布test_processed.csv的请求来检查结果预测)如下所示: