{"id":1237,"date":"2020-04-12T09:40:51","date_gmt":"2019-08-19T19:07:52","guid":{"rendered":"https:\/\/www.aihello.com\/resources\/?p=1237"},"modified":"2025-09-05T07:07:52","modified_gmt":"2025-09-05T07:07:52","slug":"machine-learning-is-the-next-big-wave","status":"publish","type":"post","link":"https:\/\/www.aihello.com\/resources\/blog\/machine-learning-is-the-next-big-wave\/","title":{"rendered":"Machine learning is the next big wave"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;section&#8221; _builder_version=&#8221;3.22.3&#8243; collapsed=&#8221;off&#8221;][et_pb_row admin_label=&#8221;row&#8221; _builder_version=&#8221;3.22.3&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.0.47&#8243;][et_pb_text admin_label=&#8221;Text&#8221; _builder_version=&#8221;3.0.74&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;]<\/p>\n<div dir=\"ltr\" style=\"text-align: left;\">\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">Machine learning is the next big wave after the Internet that&#8217;s going to change lives especially in developing world and it&#8217;s interesting for us, as an AI focussed companny, to practically see how it is making life easier for our customers.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">It&#8217;s very hard knowing what challenges ecommerce sellers face in developing world unless we speak to them and for us at AiHello speaking to one of the biggest sellers on Amazon India was a very informative session.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">In the process of attempting to solve the problems for our customers, we learnt how Amazon India works differently compared to Amazon US or Europe and are more impressed with how Amazon India has adapted to Indian challenges in ingenious ways and is not only thriving, but also succeeding against all competition.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">We recently signed up an Amazon Professional Enterprise who sold around 10,000 different items (SKUs) on Amazon India and were interested to try our software to ease their pains of selling.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">The major challenge for this customer was the commute time for their staff and they were very intrested to work with us in solving this problem. At first, on casual glance this challenge seemed very off topic for us.<br style=\"box-sizing: border-box;\">We focussed on data analytics and deep learning to help online ecommerce sell better and we had no idea how we had anything to do with solving the traffic issues in India. &nbsp;He wanted to have a phone call with us to see if we could help solve this issue as he said he already knew of ways to solve it.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">The main problem he described was this: Amazon needs all orders placed by it&#8217;s customers in the morning to be packed and ready for shipment by 2 pm by the seller. Since all the Amazon customers were online, the orders would start pouring in from 7 am.&nbsp;<br style=\"box-sizing: border-box;\">The seller&#8217;s employees who helped him start packing the items according to Amazon standards would leave their home around 8 am and depending on the traffic for that day would reach anytime between 9 am to 10 am. This uncertainty was a big challenge for him and unfortunately for us, according to us, we had no way to solve this &nbsp;as we are an IT company using Apache Spark on Azure and thousands of kilometers away from India where our customer was having issues regarding commute time due to traffic and bad roads.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">We decided to get on a phone call with the customer and his proposition was very interesting. He wanted to know if it was possible to predict what items he would sell one day in advance. His solution to the challenge was, if he knew today, what he would be selling tomorrow with a degree of accuracy then he could have all the items prepacked well in advance ready to be shipped the next day.<br style=\"box-sizing: border-box;\">This way he wouldn&#8217;t have to worry about his staff arriving few hours late in the morning as most of the work would already have been done the previous evening.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">With the problem well defined in terms of software engineering we had an easy solution. Sales prediction was always in our road map but sellers in US or Europe were not particularly interested in it. They were more interested in knowing when their stock would run out. &nbsp;However Amazon India sellers didn&#8217;t seem to be particularly interested in knowing when their stock would sell out. Most of them had infinite supply of goods and also due to an Amazon India specific program known as &#8220;Seller Flex&#8221; which allows sellers to manage their own warehouse.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">After a quick internal discussion with our team we decided to go ahead with&nbsp;<a style=\"box-sizing: border-box; color: #0071c5; outline: none; text-decoration-line: none;\" href=\"https:\/\/spark.apache.org\/docs\/2.1.0\/ml-classification-regression.html#linear-regression\" target=\"_blank\" rel=\"noopener noreferrer\" data-cke-saved-href=\"https:\/\/spark.apache.org\/docs\/2.1.0\/ml-classification-regression.html#linear-regression\">Apache Spark ML LinearRegression<\/a>. Apache Spark was already the work horse of most of our Machine Learning routines (Along with H2o) and adding Linear Regression didn&#8217;t seem to be much of a problem. In this blog post we give a quick outline of the steps and code we created to complete this routine.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">Our idea was to use Linear Regression to extrapolate the historial sales of all items and choose the top selling items to be prepacked. We know that in the future we might have to use Deep Learning to improve the precision, however for now simple regression would suffice.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">First we read in the historical sales data of the customers in our dataframe from our local database.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<pre style=\"background-color: #2b2b2b; box-sizing: border-box; color: #a9b7c6; font-family: 'Source Code Pro'; font-size: 21pt; line-height: 2.13333em; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">var <\/span>jdbcDF = spark.read\n  .format(<span style=\"box-sizing: border-box; color: #6a8759;\">\"jdbc\"<\/span>)\n  .option(<span style=\"box-sizing: border-box; color: #6a8759;\">\"url\"<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, <\/span><span style=\"box-sizing: border-box; color: #6a8759;\">\"jdbc:mysql:\/\/localhost<\/span><span style=\"box-sizing: border-box; color: #6a8759;\">:3306\/database\"<\/span>)\n  .option(<span style=\"box-sizing: border-box; color: #6a8759;\">\"dbtable\"<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, <\/span><span style=\"box-sizing: border-box; color: #6a8759;\">\"order_logs\"<\/span>)\n  .load()<\/pre>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">Our next plan is to get the day of the month and day of the week from the purchase date. The logic is that the sale of a item depends a lot on the day of the month (Usually sales are high right after salary dates) and sales also depends on weekday (Sales are lowest on Sunday and highest on Monday for this customer for example)<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">We used Spark internal functions to get the day of the month and day of the week.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<pre style=\"background-color: #2b2b2b; box-sizing: border-box; color: #a9b7c6; font-family: 'Source Code Pro'; font-size: 21pt; line-height: 2.13333em; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">var <\/span>formattedDF = jdbcDF.withColumn(<span style=\"box-sizing: border-box; color: #6a8759;\">\"DayOfMonth\"<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, \n<\/span>  <span style=\"box-sizing: border-box; font-style: italic;\">dayofmonth<\/span>(df(<span style=\"box-sizing: border-box; color: #6a8759;\">\"PurchaseDate\"<\/span>)).cast(IntegerType)).\n  withColumn(<span style=\"box-sizing: border-box; color: #6a8759;\">\"LocalDate\"<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, <\/span>df(<span style=\"box-sizing: border-box; color: #6a8759;\">\"PurchaseDate\"<\/span>).cast(DateType))\n  .withColumn(<span style=\"box-sizing: border-box; color: #6a8759;\">\"DayOfWeek\"<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, \n<\/span>    <span style=\"box-sizing: border-box; font-style: italic;\">date_format<\/span>(df(<span style=\"box-sizing: border-box; color: #6a8759;\">\"PurchaseDate\"<\/span>)<span style=\"box-sizing: border-box; color: #cc7832;\">, <\/span><span style=\"box-sizing: border-box; color: #6a8759;\">\"u\"<\/span>).cast(IntegerType))<\/pre>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">Here, the purchase date in our database was a TimeStamp and we needed to get the Date out of it (without the time part)<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">Finally we just selected the Day Of Month, Day Of Week and quantity sold<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<pre style=\"background-color: #2b2b2b; box-sizing: border-box; color: #a9b7c6; font-family: 'Source Code Pro'; font-size: 21pt; line-height: 2.13333em; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">val <\/span>finaldf = formattedDF\n  .groupBy(<span style=\"box-sizing: border-box; color: #6a8759;\">\"SKU\"<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, <\/span><span style=\"box-sizing: border-box; color: #6a8759;\">\"DayOfMonth\"<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, <\/span><span style=\"box-sizing: border-box; color: #6a8759;\">\"DayOfWeek\"<\/span>)\n  .agg(<span style=\"box-sizing: border-box; font-style: italic;\">sum<\/span>(<span style=\"box-sizing: border-box; color: #6a8759;\">\"Quantity\"<\/span>).cast(IntegerType).as(<span style=\"box-sizing: border-box; color: #6a8759;\">\"label\"<\/span>))<\/pre>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">Here we summed the quantity of items sold for day of month &amp; day of week and tagged it as label. Spark ML needs to predict this column.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">Now we had all the data necessary to run it through the Spark Machine Learning algorithm &nbsp;for us to get the prediction.<br style=\"box-sizing: border-box;\">Here we run it through a simple Linear Regression with pretty good output.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<pre style=\"background-color: #2b2b2b; box-sizing: border-box; color: #a9b7c6; font-family: 'Source Code Pro'; font-size: 21pt; line-height: 2.13333em; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">val <\/span>lr = <span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">new <\/span>LinearRegression()<\/pre>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><span style=\"box-sizing: border-box;\">Then we create a series of pipeline stages:<\/span><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<pre style=\"background-color: #2b2b2b; box-sizing: border-box; color: #a9b7c6; font-family: 'Source Code Pro'; font-size: 21pt; line-height: 2.13333em; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">val <\/span><span style=\"box-sizing: border-box; color: #9876aa; font-style: italic;\">SKUIndexer <\/span>= <span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">new <\/span>StringIndexer().setInputCol(<span style=\"box-sizing: border-box; color: #6a8759;\">\"SKU\"<\/span>)\n  .setOutputCol(<span style=\"box-sizing: border-box; color: #6a8759;\">\"SKUIndex\"<\/span>)\n<span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">val <\/span><span style=\"box-sizing: border-box; color: #9876aa; font-style: italic;\">dayOfMonthEncoder <\/span>= <span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">new <\/span>OneHotEncoder()\n  .setInputCol(<span style=\"box-sizing: border-box; color: #6a8759;\">\"DayOfMonth\"<\/span>)\n  .setOutputCol(<span style=\"box-sizing: border-box; color: #6a8759;\">\"DayOfMonthVec\"<\/span>)\n<span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">val <\/span><span style=\"box-sizing: border-box; color: #9876aa; font-style: italic;\">dayOfWeekEncoder <\/span>= <span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">new <\/span>OneHotEncoder()\n  .setInputCol(<span style=\"box-sizing: border-box; color: #6a8759;\">\"DayOfWeek\"<\/span>)\n  .setOutputCol(<span style=\"box-sizing: border-box; color: #6a8759;\">\"DayOfWeekVec\"<\/span>)\n<span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">val <\/span><span style=\"box-sizing: border-box; color: #9876aa; font-style: italic;\">assembler <\/span>= <span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">new <\/span>VectorAssembler()\n  .setInputCols(<span style=\"box-sizing: border-box; font-style: italic;\">Array<\/span>(<span style=\"box-sizing: border-box; color: #6a8759;\">\"SKUIndex\"<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, <\/span><span style=\"box-sizing: border-box; color: #6a8759;\">\"DayOfWeekVec\"<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">,\n<\/span>    <span style=\"box-sizing: border-box; color: #6a8759;\">\"DayOfMonthVec\"<\/span>))\n  .setOutputCol(<span style=\"box-sizing: border-box; color: #6a8759;\">\"features\"<\/span>)\n<\/pre>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">Essentially we are doing the following steps<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">1) Using a SKUIndexer we are converting the unique id of the product to a category from String<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">2 &amp; 3) We convert the day of month and day of week to One Hot encoding.&nbsp;<a style=\"box-sizing: border-box; color: #0071c5; outline: none; text-decoration-line: none;\" href=\"https:\/\/www.quora.com\/What-is-one-hot-encoding-and-when-is-it-used-in-data-science\" target=\"_blank\" rel=\"noopener noreferrer\" data-cke-saved-href=\"https:\/\/www.quora.com\/What-is-one-hot-encoding-and-when-is-it-used-in-data-science\">See here for a very good explanation of One Hot encoding<\/a><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">4) We then assemble the category index, day of month, day of week into one single vector. Machine Learning using multiple inputs need a vector to be passed in. We labelled this column as features. Spark ML will by default use the column named &#8220;Features&#8221; as input for its ML algorithms.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><span style=\"box-sizing: border-box;\">We then run the entire pipeline along with the LinearRegression<\/span><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<pre style=\"background-color: #2b2b2b; box-sizing: border-box; color: #a9b7c6; font-family: 'Source Code Pro'; font-size: 21pt; line-height: 2.13333em; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">val <\/span><span style=\"background-color: #40332b; box-sizing: border-box;\">pipeline<\/span> = <span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">new <\/span>Pipeline()\n  .setStages(<span style=\"box-sizing: border-box; font-style: italic;\">Array<\/span>(<span style=\"box-sizing: border-box; color: #9876aa; font-style: italic;\">SKUIndexer<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, <\/span><span style=\"box-sizing: border-box; color: #9876aa; font-style: italic;\">dayOfWeekEncoder<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, <\/span><span style=\"box-sizing: border-box; color: #9876aa; font-style: italic;\">dayOfMonthEncoder<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, <\/span><span style=\"box-sizing: border-box; color: #9876aa; font-style: italic;\">assembler<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, <\/span>lr))<\/pre>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">We fit our dataset into this pipeline<\/div>\n<pre style=\"background-color: #2b2b2b; box-sizing: border-box; color: #a9b7c6; font-family: 'Source Code Pro'; font-size: 21pt; line-height: 2.13333em; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">val <\/span>pipModel = pipeline.fit(finaldf)<\/pre>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">and then finally we run the machine learning algorithm on our dataset to check how well it performed.<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<pre style=\"background-color: #2b2b2b; box-sizing: border-box; color: #a9b7c6; font-family: 'Source Code Pro'; font-size: 21pt; line-height: 2.13333em; white-space: pre-wrap;\"><span style=\"box-sizing: border-box; color: #cc7832; font-weight: bold;\">val <\/span>finModel = pipModel.transform(finaldf)<\/pre>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">After the algorithm has run we can print a subset of the Spark DataFrame to check how well it has done<\/div>\n<pre style=\"background-color: #2b2b2b; box-sizing: border-box; color: #a9b7c6; font-family: 'Source Code Pro'; font-size: 21pt; line-height: 2.13333em; white-space: pre-wrap;\">finModel.select(<span style=\"box-sizing: border-box; color: #6a8759;\">\"SKU\"<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, <\/span><span style=\"box-sizing: border-box; color: #6a8759;\">\"DayOfMonth\"<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, <\/span><span style=\"box-sizing: border-box; color: #6a8759;\">\"DayOfWeek\"<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, <\/span><span style=\"box-sizing: border-box; color: #6a8759;\">\"label\"<\/span><span style=\"box-sizing: border-box; color: #cc7832;\">, <\/span><span style=\"box-sizing: border-box; color: #6a8759;\">\"prediction\"<\/span>)<\/pre>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\"><\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">+&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">| &nbsp; &nbsp; SKU|DayOfMonth|DayOfWeek|label| &nbsp; &nbsp; &nbsp; &nbsp;prediction|<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">+&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">|NTSNB250| &nbsp; &nbsp; &nbsp; &nbsp; 5| &nbsp; &nbsp; &nbsp; &nbsp;7| &nbsp; &nbsp;22|23.384718598617278|<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">|NTSNB250| &nbsp; &nbsp; &nbsp; &nbsp;13| &nbsp; &nbsp; &nbsp; &nbsp;4| &nbsp; &nbsp;32|32.6856347162066054|<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">|NTSNB250| &nbsp; &nbsp; &nbsp; &nbsp;10| &nbsp; &nbsp; &nbsp; &nbsp;3| &nbsp; &nbsp;34|33.9738670408357994|<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">|NTSNB250| &nbsp; &nbsp; &nbsp; &nbsp;29| &nbsp; &nbsp; &nbsp; &nbsp;4| &nbsp; &nbsp;25|22.8543167300058476|<\/div>\n<div style=\"box-sizing: border-box; line-height: 1.4; max-width: none;\">|NTSNB250| &nbsp; &nbsp; &nbsp; &nbsp;29| &nbsp; &nbsp; &nbsp; &nbsp;3| &nbsp; &nbsp;24|22.961526995444813|<\/div>\n<div style=\"box-sizing: border-box;\"><\/div>\n<div style=\"box-sizing: border-box;\"><\/div>\n<div style=\"box-sizing: border-box;\">And we can see that it has performed quite well. &nbsp;There is still a margin of error but we anticipate that we collect more historical data of the customer, our algorithms keep getting smarter. Finally, when we move from Regression to Deep Learning we might have bit better results.<\/div>\n<div style=\"box-sizing: border-box;\"><\/div>\n<div style=\"box-sizing: border-box;\">Intel also has Big Data library for Spark&nbsp;https:\/\/github.com\/intel-analytics\/BigDL.<br style=\"box-sizing: border-box;\">This is really interesting to us as we run our Apache Spark on Intel Platform and we not have access to GPU on our Azure platform.<\/div>\n<\/div>\n<p>&nbsp;[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>AI transforms e-commerce in developing nations. Learn how our ML solution helped Amazon India sellers overcome unique logistics challenges with accurate sales prediction.<\/p>\n","protected":false},"author":1,"featured_media":2462,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,163],"tags":[200,535,178,534],"class_list":["post-1237","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-advertising","category-resources","tag-artificial-intelligence","tag-importance-of-machine-learning","tag-machine-learning","tag-what-is-machine-learning"],"_links":{"self":[{"href":"https:\/\/www.aihello.com\/resources\/wp-json\/wp\/v2\/posts\/1237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aihello.com\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aihello.com\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aihello.com\/resources\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aihello.com\/resources\/wp-json\/wp\/v2\/comments?post=1237"}],"version-history":[{"count":1,"href":"https:\/\/www.aihello.com\/resources\/wp-json\/wp\/v2\/posts\/1237\/revisions"}],"predecessor-version":[{"id":12527,"href":"https:\/\/www.aihello.com\/resources\/wp-json\/wp\/v2\/posts\/1237\/revisions\/12527"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aihello.com\/resources\/wp-json\/wp\/v2\/media\/2462"}],"wp:attachment":[{"href":"https:\/\/www.aihello.com\/resources\/wp-json\/wp\/v2\/media?parent=1237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aihello.com\/resources\/wp-json\/wp\/v2\/categories?post=1237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aihello.com\/resources\/wp-json\/wp\/v2\/tags?post=1237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}