<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Edward Turner</title>
    <description>The latest articles on DEV Community by Edward Turner (@edturner).</description>
    <link>https://dev.to/edturner</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F420095%2F66650771-7dc9-45bd-a21d-6418ca5b3abb.jpeg</url>
      <title>DEV Community: Edward Turner</title>
      <link>https://dev.to/edturner</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/edturner"/>
    <language>en</language>
    <item>
      <title>Don't Forget to F.O.O.P</title>
      <dc:creator>Edward Turner</dc:creator>
      <pubDate>Mon, 06 Jul 2020 17:00:29 +0000</pubDate>
      <link>https://dev.to/edturner/don-t-forget-to-f-o-o-p-hi5</link>
      <guid>https://dev.to/edturner/don-t-forget-to-f-o-o-p-hi5</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;“All roads lead to Rome.” While this phrase indicates there are multiple solutions to a problem, there are specific solutions that are more adept at the problem. This analogy applies to the programming style of our software.&lt;br&gt;
Throughout this article, we will discuss the different programming paradigms and the benefits of each.&lt;/p&gt;

&lt;h1&gt;
  
  
  Which Paradigm to Choose?
&lt;/h1&gt;

&lt;p&gt;Our decision of which paradigm to choose should comply with the best practices with the Software Development Life Cycle (SDLC). The following principles are part of the best practices of SDLC: Single Responsibility and D.R.Y. (Don’t Repeat Yourself). These principles encourage software that is testable, maintainable, and stable. By complying with these principles, you can develop more confidence in your software and increase your development team’s velocity.&lt;br&gt;
Two main paradigms comply with these: Functional Programming and Object-Oriented Programming. Throughout our discussion, we will cover both of the benefits and caveats of the paradigm.&lt;/p&gt;

&lt;p&gt;We will use Python as the programming of choice to illustrate these concepts.&lt;/p&gt;

&lt;p&gt;....&lt;/p&gt;

&lt;p&gt;If you want to learn more, please continue reading here: &lt;a href="https://towardsdatascience.com/dont-forget-to-f-o-o-p-5318cffc9ded"&gt;https://towardsdatascience.com/dont-forget-to-f-o-o-p-5318cffc9ded&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>functional</category>
    </item>
    <item>
      <title>Enhancing Optimized PySpark Queries</title>
      <dc:creator>Edward Turner</dc:creator>
      <pubDate>Mon, 06 Jul 2020 01:04:41 +0000</pubDate>
      <link>https://dev.to/edturner/enhancing-optimized-pyspark-queries-3190</link>
      <guid>https://dev.to/edturner/enhancing-optimized-pyspark-queries-3190</guid>
      <description>&lt;p&gt;As we continue increasing the volume of data we are processing and storing, and as the velocity of technological advances transforms from linear to logarithmic and from logarithmic to horizontally asymptotic, innovative approaches to improving the run-time of our software and analysis are necessary.&lt;/p&gt;

&lt;p&gt;These necessitating innovative approaches include utilizing two very popular frameworks: Apache Spark and Apache Arrow. These two frameworks enable users to process large volumes of data in a distributive fashion. These two frameworks, also, enables users to process larger volumes of data more quickly by using vectorized approaches. These two frameworks can easily facilitate big-data analysis. However, despite these two frameworks and their ability to empower users, there is still room for improvement, specifically within the python-ecosystem. Why can we confidently identify pockets of improvement in utilizing these frameworks within python? Let’s examine some features python has.&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;p&gt;If you want to learn more, please continue reading here: &lt;a href="https://towardsdatascience.com/enhancing-optimized-pyspark-queries-1d2e9685d882"&gt;https://towardsdatascience.com/enhancing-optimized-pyspark-queries-1d2e9685d882&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>datascience</category>
      <category>spark</category>
    </item>
    <item>
      <title>Scaling DAG Creation With Apache Airflow</title>
      <dc:creator>Edward Turner</dc:creator>
      <pubDate>Mon, 06 Jul 2020 00:56:10 +0000</pubDate>
      <link>https://dev.to/edturner/scaling-dag-creation-with-apache-airflow-29cc</link>
      <guid>https://dev.to/edturner/scaling-dag-creation-with-apache-airflow-29cc</guid>
      <description>&lt;p&gt;One of the more difficult tasks within the Data Science community is not designing a model to a well-constructed business problem or developing the code-base to operate in a scalable environment, but, rather, arranging the tasks in the ETL, or in the Data Science pipeline, executing the model on a periodic basis and automating everything in-between.&lt;/p&gt;

&lt;p&gt;This is where Apache Airflow comes to the rescue! With the Airflow UI to display the task in a graph form, and with the ability to programmatically define your workflow to increase traceability, it is much easier to define and configure your Data Science workflow in production.&lt;/p&gt;

&lt;p&gt;One difficulty still remains, though. There are circumstances when the same modelling, monolithic, process is utilized and applied to different data sources. To increase performance, it is better to have each of these processes run concurrently, rather than add them to the same dag.&lt;/p&gt;

&lt;p&gt;No problem, let us simply create a dag for each process, all with similar tasks, and schedule them to run at the same time. If we were to follow along software development principle DRY, is there a way to create multiple different dags with the same-type tasks without having to manually create them?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Is there a way to create multiple different dags with the same-type tasks without having to manually create them?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;....&lt;/p&gt;

&lt;p&gt;To read understand and read more regarding how to scale your Apache-Airflow DAGS, please continue reading here: &lt;a href="https://towardsdatascience.com/scaling-dag-creation-with-apache-airflow-a7b34ba486ac"&gt;https://towardsdatascience.com/scaling-dag-creation-with-apache-airflow-a7b34ba486ac&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Making A Model Is Like Baking A Cake</title>
      <dc:creator>Edward Turner</dc:creator>
      <pubDate>Mon, 06 Jul 2020 00:53:09 +0000</pubDate>
      <link>https://dev.to/edturner/making-a-model-is-like-baking-a-cake-4g3</link>
      <guid>https://dev.to/edturner/making-a-model-is-like-baking-a-cake-4g3</guid>
      <description>&lt;h1&gt;
  
  
  The Types of Cakes Available
&lt;/h1&gt;

&lt;p&gt;As we progress further in our modern era, the advances of Data Science and Technology continue to make marvel strides in various fields of study and practice. As a result of the vast applicability of Data Science and Technology, various different types of models have been constructed.&lt;br&gt;
To name a few: Generalized Linear Models, Support-Vector Machines, K-Nearest Neighbor Algorithm, Gradient Boosting Decision Trees, Random Forest, and Neural Networks.&lt;br&gt;
Given the volume of the data and the complexity of the interactions within the data, various Data Science specific packages have been developed in a few different languages. Within python, we have, not exclusively, sklearn, xgboost, lightgbm, pyspark and H2O. Within R, we have, not exclusively, Caret, Prophet, SparkR, and xgboost.&lt;/p&gt;

&lt;p&gt;Each of the aforementioned packages attempts to solve very specific Data Science problems. However, given the nature of the initial problem, we may need a more custom approach deriving the solution. Therein lies the problem each Data Scientist strives to solve.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Typically, due to the variety of the problems in the field, Data Scientists develops solutions using models, with predefined model architecture, and seeks to increase the performance of certain KPI metric performance the predefined model was not specifically made to solve.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Fortunately, there is a way to develop a modelling architecture to specifically solve your problem. By understanding the mathematical and statistical processes each of these predefined model architecture uses, it is possible to reverse engineer the model to specifically your problem.&lt;br&gt;
First, let us examine one family of models, and then proceed to developing our own model....&lt;/p&gt;

&lt;p&gt;To read understand and read more regarding how to create your own special unique ML custom model, please continue reading here: &lt;a href="https://towardsdatascience.com/making-a-model-is-like-baking-a-cake-5f2443894c5f"&gt;https://towardsdatascience.com/making-a-model-is-like-baking-a-cake-5f2443894c5f&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>datascience</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
