Я пытаюсь вызвать мою модель машинного обучения из флакона API в CodeIgniter Framework, у меня уже есть она работает на PHP с простым JavaScript. Вопрос в том, как мне реализовать это на CodeIgniter?
это мои фляги API, которые используют четыре функции из простого PHP JavaScript
import flask as fl
from sklearn.externals import joblib
from flask_cors import CORS
import pandas as pd
import numpy as np
import pickle
import json
#from sklearn.feature_extraction.text import CountVectorizer
app = fl.Flask(__name__)
CORS(app)
model = pickle.load(open("model.pkl","rb"))
vector = pickle.load(open("vector.pkl","rb"))
@app.route('/predict', methods=['POST'])
def predict():
conve = fl.request.get_json()
#conve1 = [str(conve['merk']),str(conve['ukuran']),str(conve['bahan']),str(conve['harga']),str(conve['keterangan'])]
#conve2 = pd.DataFrame([conve])
conve2 = pd.DataFrame([conve],columns=conve.keys())
conve2 = conve2.apply(lambda row: '-_-'.join(row.values.astype(str)), axis=1)
new = vector.transform(conve2)
#our model rates the wine based on the input array
#prediction = print(new)
prediction = model.predict(new)
#preparing a response object and storing the model's predictions
response = {}
response['predictions'] = prediction.tolist()
#sending our response object back as json
return fl.jsonify([{'predikisi': response}])
if __name__ == '__main__':
app.run(debug=True)
это мой простой php javascript, который дает четыре функции для прогнозирования по модели машинного обучения.
<html>
<body>
<head>
<script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
</head>
<div id="form">
<table>
<tr>
<td>merk</td>
<td><input type="text" id="merk" /></td>
</tr>
<tr>
<td>ukuran</td>
<td><input type="text" id="ukuran" /></td>
</tr>
<tr>
<td>bahan</td>
<td><input type="text" id="bahan" /></td>
</tr>
<tr>
<td>harga</td>
<td><input type="text" id="harga" /></td>
</tr>
<tr>
<td colspan="2"><button id="submit">Send Request</button></td>
</tr>
</table>
</div>
<div>
prediksi:
<span id="response"></span>
</div>
<script type="text/javascript">
$(document).ready(function(){
$("#submit").on("click", function(event){
var merk = $("#merk").val();
var ukuran = $("#ukuran").val();
var bahan = $("#bahan").val();
var harga = $("#harga").val();
var fetur = {
merk : merk,
ukuran : ukuran,
bahan : bahan,
harga : harga,
};
$.ajax({
type: "POST",
url: "http://127.0.0.1:5000/predict",
data: JSON.stringify(fetur),
contentType: "application/json",
dataType: "json",
success: function(response) {
$("#response").html(JSON.stringify(response));
},
failure: function(error){
$("#response").html(error);
}
});
$("#response").val("");
});
});
</script>
</body>
</html>