<?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>Forem: Jubaeir Islam</title>
    <description>The latest articles on Forem by Jubaeir Islam (@mightyzuby).</description>
    <link>https://forem.com/mightyzuby</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%2F971555%2F885abd30-ca17-4520-a405-78f7df0d6b63.jpg</url>
      <title>Forem: Jubaeir Islam</title>
      <link>https://forem.com/mightyzuby</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mightyzuby"/>
    <language>en</language>
    <item>
      <title>Why CSE Graduates Should Look for Product Management Jobs?</title>
      <dc:creator>Jubaeir Islam</dc:creator>
      <pubDate>Mon, 30 Oct 2023 05:04:42 +0000</pubDate>
      <link>https://forem.com/mightyzuby/why-cse-graduates-should-look-for-product-management-jobs-4emj</link>
      <guid>https://forem.com/mightyzuby/why-cse-graduates-should-look-for-product-management-jobs-4emj</guid>
      <description>&lt;p&gt;As a computer science engineer graduating in 2023, you likely have several career paths to choose from. While software engineering may seem like an obvious option, I encourage you to also consider opportunities in product management. &lt;/p&gt;

&lt;p&gt;Computer Science Engineering (CSE) graduates have a strong foundation in the technical aspects of software development, making them well-suited for product management roles. In product management, you will be responsible for the entire lifecycle of a product, from ideation to launch to post-launch support. This requires a deep understanding of the technical aspects of the product, as well as the ability to think strategically and creatively. &lt;/p&gt;

&lt;p&gt;Here are a few reasons why product management can be a great fit for CSE graduates:&lt;/p&gt;

&lt;h2&gt;
  
  
  You understand &lt;em&gt;Technology&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;As a CSE grad, you have strong technical skills and understand how software and products work under the hood. This gives you an advantage when collaborating with engineers and assessing technical feasibility of product ideas.&lt;/p&gt;

&lt;h2&gt;
  
  
  You're &lt;em&gt;Analytical&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;Product management requires strong analytical skills - from crunching numbers on business models to analyzing user data. Your training in methods like algorithms and data structures equips you to approach product decisions methodically.&lt;/p&gt;

&lt;h2&gt;
  
  
  You're &lt;em&gt;Innovative&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;Product managers are responsible for coming up with creative solutions to problems. The out-of-the-box thinking you gained in school by solving coding challenges applies here.&lt;/p&gt;

&lt;h2&gt;
  
  
  You see the &lt;em&gt;big picture&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;In computer science programs, you work on complex systems and learn how individual components fit together. This systematic perspective allows you to view products holistically.&lt;/p&gt;

&lt;h2&gt;
  
  
  You can pick up &lt;em&gt;New Domains&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;While PMs need to understand their product domain, strong general learning abilities enable you to rapidly gain knowledge in new areas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Product managers are in high demand. The tech industry is booming, and there is a growing demand for skilled product managers. CSE graduates have the skills and experience that are in high demand, making them well-positioned to land these jobs. Product management is a well-paid career. Product managers are some of the highest-paid professionals in the tech industry. According to Glassdoor, the median salary for a product manager in the United States is $122,000. If you're intrigued by blending business, technology and design to create products users love, consider a career in PM. With your technical foundation and adaptive mindset, you have much to contribute in this role.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>beginners</category>
      <category>leadership</category>
      <category>career</category>
    </item>
    <item>
      <title>The Power of Early Research: Why It's Important for CSE Students to Start Research After Their First Year</title>
      <dc:creator>Jubaeir Islam</dc:creator>
      <pubDate>Tue, 04 Jul 2023 08:48:21 +0000</pubDate>
      <link>https://forem.com/mightyzuby/the-power-of-early-research-why-its-important-for-cse-students-to-start-research-after-their-first-year-59l1</link>
      <guid>https://forem.com/mightyzuby/the-power-of-early-research-why-its-important-for-cse-students-to-start-research-after-their-first-year-59l1</guid>
      <description>&lt;p&gt;Computer Science and Engineering (CSE) is a dynamic field that thrives on innovation, and research plays a pivotal role in driving advancements in technology. As a CSE student, embarking on research after your first year might seem intimidating or even premature, but the benefits are numerous and far-reaching. In this blog article, we will explore why it is crucial for CSE students to embrace research early in their academic journey and how it can shape their future success in the tech industry.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gaining a Deeper Understanding of Core Concepts
&lt;/h3&gt;

&lt;p&gt;When you dive into research during your early academic years, you'll be exposed to more complex and nuanced concepts that go beyond the standard curriculum. Engaging in research projects allows you to apply the theoretical knowledge you have acquired to real-world problems, fostering a deeper understanding of the subject matter. This comprehension can prove invaluable as you progress in your studies and tackle advanced CSE topics.&lt;/p&gt;

&lt;h3&gt;
  
  
  Developing Critical Problem-Solving Skills
&lt;/h3&gt;

&lt;p&gt;Research inherently involves solving problems and overcoming challenges. By participating in research projects, CSE students enhance their analytical and critical thinking abilities. They learn to approach complex issues with creativity and logical reasoning, cultivating problem-solving skills that are essential not only in academia but also in the industry.&lt;/p&gt;

&lt;h3&gt;
  
  
  Building Hands-On Technical Expertise
&lt;/h3&gt;

&lt;p&gt;Research often requires working with cutting-edge technologies and tools. As a result, early engagement in research exposes CSE students to hands-on experience in using these tools, programming languages, and methodologies. Gaining technical expertise in research is advantageous, as it equips students with practical skills sought after by employers in the tech industry.&lt;/p&gt;

&lt;h3&gt;
  
  
  Networking and Collaborations
&lt;/h3&gt;

&lt;p&gt;Research projects often involve collaboration with professors, researchers, and peers. Building connections with academics and industry professionals at an early stage can open doors to various opportunities, such as internships, scholarships, and conference presentations. These networks can prove invaluable in shaping a student's future career trajectory.&lt;/p&gt;

&lt;p&gt;Starting research early in their academic journey can be a transformative experience for CSE students. It provides a platform to enhance their understanding of core concepts, develop critical problem-solving skills, and gain hands-on technical expertise. Additionally, early research engagement allows students to explore diverse domains, nurture creativity and innovation, and build valuable networks. As a result, CSE students who embrace research after their first year set themselves on a path of continuous growth, increased opportunities, and a rewarding career in the ever-evolving world of computer science and engineering.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>research</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How Microsoft Azure is Revolutionizing Machine Learning</title>
      <dc:creator>Jubaeir Islam</dc:creator>
      <pubDate>Sat, 06 May 2023 05:24:29 +0000</pubDate>
      <link>https://forem.com/mightyzuby/how-microsoft-azure-is-revolutionizing-machine-learning-1kl1</link>
      <guid>https://forem.com/mightyzuby/how-microsoft-azure-is-revolutionizing-machine-learning-1kl1</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Machine learning is becoming increasingly important in the tech industry, as companies look to make data-driven decisions and gain a competitive edge. Microsoft Azure, a cloud computing service from Microsoft, is at the forefront of the machine learning revolution, offering a range of machine learning capabilities that are transforming the way businesses operate.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Machine Learning?
&lt;/h2&gt;

&lt;p&gt;Before delving into Microsoft Azure's machine learning capabilities, it's important to understand what machine learning is and why it's important. Machine learning is a type of artificial intelligence that allows computer systems to learn and improve from experience, without being explicitly programmed. There are different types of machine learning, including supervised learning, unsupervised learning, and reinforcement learning, each with its own applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Microsoft Azure's Machine Learning Capabilities
&lt;/h2&gt;

&lt;p&gt;Microsoft Azure offers a range of machine learning capabilities, including pre-built and custom machine learning models, as well as automated machine learning. With Azure's pre-built models, companies can easily incorporate machine learning into their operations, without the need for extensive programming knowledge. For those who need more customized machine learning models, Azure also offers tools to build custom models tailored to specific business needs. Azure's automated machine learning capabilities allow companies to rapidly create and deploy machine learning models, without the need for extensive coding.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Microsoft Azure for Machine Learning
&lt;/h2&gt;

&lt;p&gt;One of the key benefits of using Microsoft Azure for machine learning is its scalability. Azure can easily handle large amounts of data, making it ideal for businesses of all sizes. Azure is also cost-effective, with pay-as-you-go pricing options that allow companies to scale their machine learning operations as needed. Additionally, Azure's machine learning capabilities are designed to be user-friendly, with drag-and-drop interfaces and easy-to-understand workflows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-world Applications of Microsoft Azure Machine Learning
&lt;/h2&gt;

&lt;p&gt;Microsoft Azure's machine learning capabilities have been used by companies in a range of industries, from transportation to healthcare. For example, UPS uses Azure machine learning to optimize its package delivery routes, while Uber uses Azure for real-time fraud detection. Azure machine learning can also be used for predictive maintenance, allowing companies to anticipate maintenance needs before they become a problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Machine learning is revolutionizing the way businesses operate, and Microsoft Azure is at the forefront of this revolution. With its range of machine learning capabilities, scalability, and cost-effectiveness, Azure is an ideal platform for companies looking to incorporate machine learning into their operations. By leveraging Azure's machine learning capabilities, companies can make more informed decisions, improve efficiencies, and gain a competitive edge in their industries.&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>azure</category>
      <category>cloud</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Let's use pandas effectively in our code</title>
      <dc:creator>Jubaeir Islam</dc:creator>
      <pubDate>Thu, 26 Jan 2023 18:08:28 +0000</pubDate>
      <link>https://forem.com/mightyzuby/lets-use-pandas-effectively-in-our-code-3mpd</link>
      <guid>https://forem.com/mightyzuby/lets-use-pandas-effectively-in-our-code-3mpd</guid>
      <description>&lt;p&gt;In the field of data science, the use of powerful and efficient tools is essential for effectively analyzing and interpreting large datasets. One such tool that is widely used by data scientists is Pandas, a library for Python that provides fast and flexible data structures for data analysis.&lt;/p&gt;

&lt;p&gt;Pandas is a powerful library for Python that is widely used in the field of data science for data analysis and manipulation. It provides fast and flexible data structures, such as DataFrames and Series, that make it easy to work with large datasets. In this blog post, we will explore some of the most popular methods used in Pandas and how they can be effectively utilized in data science.&lt;/p&gt;

&lt;p&gt;One of the most popular methods in Pandas is the &lt;code&gt;read_csv()&lt;/code&gt; function, which is used to read and import data from a CSV file. This function can be used to import data into a Pandas DataFrame and is a quick and easy way to load data for analysis.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import pandas as pd
data = pd.read_csv('data.csv')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Another popular method in Pandas is the &lt;code&gt;head()&lt;/code&gt; function, which is used to view the first few rows of a DataFrame. Always use this function to quickly inspect the structure and contents of a dataset.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;data.head()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   col1  col2  col3
0     1     2     3
1     4     5     6
2     7     8     9
3    10    11    12
4    13    14    15

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can use &lt;code&gt;describe()&lt;/code&gt;. This method returns the basic statistical summary of the numerical columns in a DataFrame.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;df.describe()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;           col1       col2       col3
count  10.00000  10.000000  10.000000
mean   17.50000  18.500000  19.500000
std    11.77439  11.774437  11.774437
min     1.00000   2.000000   3.000000
25%     9.25000  10.250000  11.250000
50%    17.50000  18.500000  19.500000
75%    25.75000  26.750000  27.750000
max    34.00000  35.000000  36.000000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pandas also provides a variety of methods for data cleaning and preparation, such as the &lt;code&gt;dropna()&lt;/code&gt; and &lt;code&gt;fillna()&lt;/code&gt; methods. The dropna() method is used to remove rows or columns with missing data, while the &lt;code&gt;fillna()&lt;/code&gt; method is used to fill in missing values with a specific value or method.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;data.dropna()
data.fillna(value=0)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pandas also provides powerful methods for data manipulation and transformation, such as &lt;code&gt;groupby()&lt;/code&gt;and &lt;code&gt;pivot_table()&lt;/code&gt;. The groupby() method is used to group data by a specific column, while the pivot_table() method is used to reshape data and create a pivot table.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;data.groupby('column_name').mean()
data.pivot_table(values='column_name', index='grouping_column', aggfunc='mean')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's break it down. in first line we group the dataset by a column and by default it will give a mean value. But for writing cleaner code we can use &lt;code&gt;.pivot_table()&lt;/code&gt;. The &lt;code&gt;pivot_table()&lt;/code&gt; method allows you to create a new table by grouping rows based on one column and calculating aggregate values for another column.  &lt;/p&gt;

</description>
      <category>coding</category>
      <category>productivity</category>
      <category>development</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Amazon Web Services for Data Science and Machine Learning</title>
      <dc:creator>Jubaeir Islam</dc:creator>
      <pubDate>Sat, 14 Jan 2023 09:52:13 +0000</pubDate>
      <link>https://forem.com/mightyzuby/amazon-web-services-for-data-science-and-machine-learning-25f4</link>
      <guid>https://forem.com/mightyzuby/amazon-web-services-for-data-science-and-machine-learning-25f4</guid>
      <description>&lt;p&gt;AWS, a well-known cloud computing platform, provides a variety of services for data science and machine learning. Large volumes of data can be stored and processed using these services, as well as built, trained, and deployed machine learning models.&lt;/p&gt;

&lt;h2&gt;
  
  
  Amazon SageMaker
&lt;/h2&gt;

&lt;p&gt;Amazon SageMaker is one of the key services for data science and machine learning on AWS. Machine learning models may be easily built, trained, and deployed using SageMaker, a fully managed service. It has numerous tools for preprocessing data, training models, and deploying them, as well as built-in algorithms for typical jobs like text and image classification.&lt;/p&gt;

&lt;h2&gt;
  
  
  Useful services provided by AWS
&lt;/h2&gt;

&lt;p&gt;Amazon Elastic Container Service for Kubernetes is a significant service for data science and machine learning on AWS . Running Kubernetes clusters on AWS is simple thanks to EKS, a fully managed service. This can be used to scale and highly available deploy machine learning models.&lt;br&gt;
AWS also offers a wide range of storage and data processing services, such as Amazon S3 for storing large amounts of data and Amazon Redshift for analyzing and querying data. These services can be used to store and process data for use in machine learning models.&lt;br&gt;
Amazon Comprehend and Amazon Transcribe are just two of the other services that AWS provides that can be utilized in data science and machine learning. Amazon Comprehend is used for natural language processing. Tensorflow, Pytorch, and Scikit-learn are also just a handful of the machine learning tools which can be utilized with AWS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In conclusion, AWS offers a wide range of services that can be used to build, train, and deploy machine learning models, as well as to store and process large amounts of data. These services can be used together to create a powerful and flexible environment for data science and machine learning.&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>a11y</category>
      <category>discuss</category>
      <category>darkmode</category>
    </item>
    <item>
      <title>How to stay productive as a Computer Science Student</title>
      <dc:creator>Jubaeir Islam</dc:creator>
      <pubDate>Thu, 29 Dec 2022 18:34:10 +0000</pubDate>
      <link>https://forem.com/mightyzuby/how-to-stay-productive-as-a-computer-science-student-35nc</link>
      <guid>https://forem.com/mightyzuby/how-to-stay-productive-as-a-computer-science-student-35nc</guid>
      <description>&lt;p&gt;Feeling overwhelmed and unproductive in university? I felt the same actually. I am studying CSE and just finished my first semester. Even though I have prior experience of programming and project building. It was quite overwhelming for me to study something which was once my hobby but isn’t it amazing? I used to be very doubtful about my performance, thinking I wasn’t productive enough. As a computer science student, it is important to stay productive in order to succeed in your studies and ultimately in your career. Here I will discuss some tips that I followed to study effectively while developing skills for making myself eligible for the fast-paced world.&lt;/p&gt;

&lt;h2&gt;
  
  
  Studying in a Structured Manner
&lt;/h2&gt;

&lt;p&gt;You have a ton of work to complete as a student. It could be academic research, test and exam prep, group project work, or any other extracurricular activity. There is undoubtedly a deadline for you to do your tasks. Set clear objectives for each study session. When you are clear on what you want to achieve, it is simpler to stay motivated and focused. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“You can’t reach for anything new if your hands are still full of yesterday’s junk.” - Louise Smith&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The 80/20 Rule
&lt;/h2&gt;

&lt;p&gt;To stay motivated and productive, take regular breaks throughout the day as well as longer breaks over the weekend or holidays. This will give your mind a chance to rest from all of the studying and allow you to recharge for the next week’s workload. Finally, don’t forget about self-care! Make sure that you are taking care of yourself physically and mentally while studying. This could mean eating healthy meals or taking part in some form of physical exercise. I used to follow the 80/20 rule. Study for 80 minutes without any distractions and then take a break of 20 minutes. Doing so will help ensure that you remain productive during your studies.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Don't underestimate the power of resting. It builds you back unlike anything.” - Hiral Nagda&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Stay Inspired
&lt;/h2&gt;

&lt;p&gt;When learning computer science, it is easy to lose motivation, especially when faced with difficult material or a challenging assignment. One method to keep motivated is to remind yourself of your long-term goals and why you are studying computer science.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Success is the sum of small efforts, repeated day in and day out.” - Robert Collier&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Do your own Research
&lt;/h2&gt;

&lt;p&gt;While developing a skill it’s normal to get stuck. It’s very common that you would face trouble solving a problem or an error. Always google first. If there’s a problem there’s always a solution for it and someone has already faced the same problem. Do your own research on Google, Stack overflow, GitHub etc. If you can’t find a solution then seek help from your teacher, your classmates and developer communities.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“It is better to fail in originality than to succeed in imitation” - Zora Neale Hurston&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Skill Development
&lt;/h2&gt;

&lt;p&gt;As a computer science student, you must learn a variety of skills in order to excel in your studies and, ultimately, in your career. Apart from academics you must invest some of your time in developing skills, it’s your time to explore the possibilities. I have been programming for over 4 years, I have explored most departments of computer science (e.g. web development, app development, data science, cyber security) . The more you explore and gather knowledge the faster you realize which path you should follow as your career. But whatever you learn, learn effectively. It’s normal for any engineer to switch their jobs.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“The beautiful thing about learning is that nobody can take it away from you.” - B.B. King&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Time Management
&lt;/h2&gt;

&lt;p&gt;Make good use of your time. Time management is essential to stay productive as a computer science student. Make sure you are not overburdened with commitments and responsibilities, and strive to prioritize your tasks appropriately.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“The shorter way to do many things is to only do one thing at a time.” - Mozart&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can stay productive and flourish as a computer science student if you follow these recommendations. It's crucial to remember that everyone has a different learning style, and what works for one person might not work for another. Be prepared to try new things and don't be hesitant to seek assistance when you need it. You can reach your goals and reach your full potential as a computer science student with dedication and hard work. Happy learning!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Why Numpy is so important for Data Science?</title>
      <dc:creator>Jubaeir Islam</dc:creator>
      <pubDate>Wed, 14 Dec 2022 18:16:19 +0000</pubDate>
      <link>https://forem.com/mightyzuby/why-numpy-is-so-important-for-data-science-44g4</link>
      <guid>https://forem.com/mightyzuby/why-numpy-is-so-important-for-data-science-44g4</guid>
      <description>&lt;h2&gt;
  
  
  What is &lt;strong&gt;Numpy&lt;/strong&gt;?
&lt;/h2&gt;

&lt;p&gt;NumPy is a Python library that is used for scientific computing. It is designed to work with large arrays of data, and provides functions for working with these arrays efficiently. It is an essential tool for working with data in Python, and is widely used in many different fields such as scientific research, machine learning, and data analysis.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use Cases of &lt;strong&gt;Numpy&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Data scientists use NumPy because it provides a number of convenient features for working with large arrays of data. For example, NumPy allows data scientists to perform mathematical operations on entire arrays of data, which is much more efficient than performing the same operations on individual data points. NumPy also provides tools for working with arrays of data that have missing or incomplete values, which is a common issue in many data sets. Additionally, NumPy is fast and efficient, which is important when working with large amounts of data. Overall, NumPy provides data scientists with a powerful and convenient set of tools for working with data in Python.&lt;/p&gt;

&lt;h2&gt;
  
  
  Python &lt;strong&gt;List&lt;/strong&gt; vs Numpy &lt;strong&gt;Arrays&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Data scientists use NumPy because it provides a number of convenient features for working with large arrays of data. For example, NumPy allows data scientists to perform mathematical operations on entire arrays of data, which is much more efficient than performing the same operations on individual data points. NumPy also provides tools for working with arrays of data that have missing or incomplete values, which is a common issue in many data sets. Additionally, NumPy is fast and efficient, which is important when working with large amounts of data. Overall, NumPy provides data scientists with a powerful and convenient set of tools for working with data in Python.&lt;/p&gt;

&lt;h2&gt;
  
  
  Python Lists vs Numpy Arrays
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;NumPy&lt;/strong&gt; arrays and Python &lt;strong&gt;lists&lt;/strong&gt; are similar in that they are both used to store collections of data. However, there are some key differences between the two. NumPy arrays are typically more efficient than Python lists for storing and manipulating large amounts of data. This is because NumPy arrays are stored in contiguous blocks of memory, which makes it more efficient to access and manipulate the data. In contrast, Python lists are stored in a more flexible way, which makes them more flexible but less efficient for working with large amounts of data. Additionally, NumPy provides a number of convenient functions for working with arrays, which makes it easier to perform mathematical operations on the data. Overall, NumPy arrays are more efficient and convenient for working with large amounts of data, and are the preferred choice for many data science applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Numpy in a nutshell
&lt;/h2&gt;

&lt;p&gt;To use NumPy, you first need to import it into your Python environment using the &lt;code&gt;import&lt;/code&gt; statement. For example, you can import NumPy using the following code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import numpy as np
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once you have imported NumPy, you can create arrays using the np.array() function. This function takes a list of numbers as input, and returns a NumPy array containing those numbers. For example, the following code creates a NumPy array containing the numbers 1, 2, and 3:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;my_array = np.array([1, 2, 3])
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;NumPy arrays support a wide range of mathematical operations, such as addition, subtraction, multiplication, and division. These operations can be performed on entire arrays at once, rather than on individual elements. For example, the following code adds two NumPy arrays together:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

array3 = array1 + array2

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this example, array3 will be equal to [5, 7, 9]. NumPy also provides a number of convenient functions for working with arrays, such as finding the minimum and maximum values, calculating the mean and standard deviation, and more.&lt;/p&gt;

&lt;p&gt;Overall, NumPy is a powerful and convenient library for working with large arrays of data in Python. It is an essential tool for many data science applications, and is widely used in fields such as scientific research, machine learning, and data analysis.&lt;/p&gt;

&lt;h3&gt;
  
  
  Most used built-in functions for Numpy used by professionals
&lt;/h3&gt;

&lt;p&gt;Some of the most commonly used built-in functions in NumPy include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;np.array()&lt;/code&gt;: This function is used to create NumPy arrays from a list of numbers.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;np.zeros()&lt;/code&gt;: This function creates a new NumPy array filled with zeros.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;np.ones()&lt;/code&gt;: This function creates a new NumPy array filled with ones.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;np.full()&lt;/code&gt;: This function creates a new NumPy array filled with a specified value.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;np.eye()&lt;/code&gt;: This function creates a new square NumPy array with the diagonal elements set to one and the rest set to zero.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;np.linspace()&lt;/code&gt;: This function creates a new NumPy array with a specified number of evenly spaced elements between a start and end value.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;np.random.random()&lt;/code&gt;: This function creates a new NumPy array with random values between 0 and 1.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;np.mean()&lt;/code&gt;: This function calculates the mean of the elements in a NumPy array.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;np.min()&lt;/code&gt;: This function calculates the minimum value of the elements in a NumPy array.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;np.max()&lt;/code&gt;: This function calculates the maximum value of the elements in a NumPy array.
These are just a few examples of the many built-in functions that NumPy provides. NumPy also offers many other functions for working with arrays, such as functions for sorting, reshaping, and concatenating arrays.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;Data scientists use NumPy because it provides a number of convenient features for working with large arrays of data. For example, NumPy allows data scientists to perform mathematical operations on entire arrays of data, which is much more efficient than performing the same operations on individual data points. NumPy also provides tools for working with arrays of data that have missing or incomplete values, which is a common issue in many data sets. Additionally, NumPy is fast and efficient, which is important when working with large amounts of data. Overall, NumPy provides data scientists with a powerful and convenient set of tools for working with data in Python. &lt;/p&gt;

&lt;p&gt;Thanks for reading&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>datascience</category>
      <category>career</category>
    </item>
    <item>
      <title>Machine Learning for Beginners</title>
      <dc:creator>Jubaeir Islam</dc:creator>
      <pubDate>Tue, 15 Nov 2022 13:09:50 +0000</pubDate>
      <link>https://forem.com/mightyzuby/machine-learning-for-beginners-440k</link>
      <guid>https://forem.com/mightyzuby/machine-learning-for-beginners-440k</guid>
      <description>&lt;h2&gt;
  
  
  Intro to Machine Learning. (For complete beginners)
&lt;/h2&gt;

&lt;p&gt;This post is for those who are interested in obtaining a general overview of machine learning. Let's get started.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Machine Learning?
&lt;/h2&gt;

&lt;p&gt;Making a computer learn by analyzing data and statistics is known as machine learning. It enables software programs to predict outcomes more accurately without having to be expressly designed to do so. In order to forecast new output values, machine learning algorithms use historical data as input. The more data is fed, the program predicts more accurately. Let's make it easier. Suppose you are teaching a child what is a fish. You show multiple pictures of different fishes and mention characteristics of them. So whenever they see a new entity with similar characteristics their immediately register that entity as a fish. We use the same technique to teach a computer what is a fish. We provide it with images of different fishes. It is called &lt;code&gt;Training Data&lt;/code&gt;. Computers recognizes all the characteristics of these pictures and stored into its memory as &lt;code&gt;Fish&lt;/code&gt;. Now if we give it a new image of a fish to predict what it is, it provides a prediction based on the Training Data. The new image is called &lt;code&gt;Test Data&lt;/code&gt;. In order to predicting something a computer requires training data as input and based on the the &lt;code&gt;Test Data&lt;/code&gt; we get the prediction either it's a fish or not.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ooY9Lvq7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bkoy8pqgve9v23pztac6.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ooY9Lvq7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bkoy8pqgve9v23pztac6.jpg" alt="MachineLearning" width="800" height="671"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Application of Machine Learning
&lt;/h2&gt;

&lt;p&gt;We already utilize machine learning, and you might not be aware of how it affects your life. Here are a few applications you should be aware of:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features of social media&lt;/strong&gt;: Machine learning algorithms are incorporated into social media platforms to assist you receive customized experiences. Facebook keeps track of all of your activity, including comments, likes, and the amount of time you spend on various types of content. Based on your activity, the system suggests pages and friends that are personalized for you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Virtual assistants&lt;/strong&gt;: If you're looking for a virtual personal assistant, popular choices include Apple's Siri, Amazon's Alexa, and Google Now. These voice-activated gadgets can accomplish a variety of things, such look up flight information, check your schedule, set alarms, and more. The main feature of these smart speakers and devices is machine learning. Each time you engage with them, they gather and improve the knowledge they have. The computer can utilize that information to deliver results that are most closely aligned to your preferences.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Product recommendations&lt;/strong&gt; are a prominent use of machine learning that are popular on e-commerce platforms. In order to propose and recommend things you might be interested in, these websites are able to track your behavior based on your searches, past transactions, and shopping cart history.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Image recognition&lt;/strong&gt; is becoming increasingly common in a wide range of industries. You've probably seen this in the course of your daily life while posting a photo on social media. The software can identify someone you tag in a photograph. It may also be incredibly useful for tracking down missing people, unlocking phones and other mobile devices, and spotting potential thieves or dangers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-life implementation
&lt;/h2&gt;

&lt;p&gt;Let's build a Machine learning model with real data. First. how do we do it? There are seven core steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Import Data: First we import our dataset on which we are going to build our project. We&lt;/li&gt;
&lt;li&gt;Clean Data: We remove null values, unnecessary columns and duplicates for precise prediction.&lt;/li&gt;
&lt;li&gt;Split the data into Training/Test Sets&lt;/li&gt;
&lt;li&gt;Algorithm: Select a machine learing algorithm to analize the data. (eg. Decision Tress)&lt;/li&gt;
&lt;li&gt;Train the model&lt;/li&gt;
&lt;li&gt;Make predictions&lt;/li&gt;
&lt;li&gt;Evaluate and Improve&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tools
&lt;/h2&gt;

&lt;p&gt;Below tools will be necessary for our first project&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Jupyter-Notebook&lt;/strong&gt;: Best for Data-Analysis&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Numpy&lt;/strong&gt;: Provides multi-dimensional array&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pandas&lt;/strong&gt;: Python library built on Numpy to analyze data effectively&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Matlotlib&lt;/strong&gt;: Python Library for making graphs and plots&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scikit-Learn&lt;/strong&gt;: Popular Machine Learning library that provides all common machine learning algorithms&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Music Recommendation according to customers' likings
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--n4MJ3VDp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sipjqm6gj0oihl20kl46.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n4MJ3VDp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sipjqm6gj0oihl20kl46.png" alt="Image description" width="437" height="318"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we have a dataset of an exceptionally popular music streaming platform names Musify. We are going to predict which music albums these users are likely to buy according to their profiles (Data collected)&lt;br&gt;
You can download it here: &lt;a href="https://bit.ly/3muqqta"&gt;Link&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Importing our data
&lt;/h3&gt;

&lt;p&gt;We import all the libraries first and for the ease of your use you can use &lt;a href="https://www.kaggle.com/"&gt;Kaggle&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
import warnings
warnings.filterwarnings('ignore')
%matplotlib inline

#Only applicable for kaggle. 
import os
for dirname, _, filenames in os.walk('/kaggle/input'):
    for filename in filenames:
        print(os.path.join(dirname, filename))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Working with the data&lt;/strong&gt;&lt;br&gt;
As we are now set with the environment now we are going to import and analyze our data with &lt;code&gt;Pandas&lt;/code&gt;. First Let's see what's inside our dataset. We can easily view our dataset through Pandas library's &lt;code&gt;read_csv&lt;/code&gt; method. (eg. &lt;code&gt;pd.read_csv('FILE_NAME.csv)&lt;/code&gt;)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;df = pd.read_csv('../input/musicpredicts/music.csv') # importing our dataset
df #viewing our data set
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here we imported our data in &lt;code&gt;df&lt;/code&gt; variable. we can write df and press enter to get the below output.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eC-3P7tt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/urr229r79phjot446z8t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eC-3P7tt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/urr229r79phjot446z8t.png" alt="Image description" width="223" height="544"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Clean data
&lt;/h3&gt;

&lt;p&gt;We are done with importing our data. Now we clean our data. Cleaning means we remove empty cells, irrelevant data, duplicates, null values etc. Let's get into it! &lt;br&gt;
&lt;strong&gt;Note: We don't have any null values here so we don't remove anything.&lt;/strong&gt;&lt;br&gt;
Now we split our input dataset &lt;code&gt;X&lt;/code&gt;. And our output dataset. Here we don't want &lt;code&gt;genre&lt;/code&gt; as our input but output. We drop the column &lt;code&gt;genre&lt;/code&gt; with &lt;code&gt;.drop()&lt;/code&gt; method.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;X = df.drop(columns=['genre'])
X #Its the input
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We get the below output which is without genre. But didn't drop genre from the main data frame. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CG4lUeDy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/41ujmoa0xj0ghkos2tb4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CG4lUeDy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/41ujmoa0xj0ghkos2tb4.png" alt="Image description" width="313" height="548"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we place our cursor in drop we can see how we can use this method.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2J0OCLkL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0nt271yja0a0zb3we6xm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2J0OCLkL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0nt271yja0a0zb3we6xm.png" alt="Image description" width="789" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We create another variable &lt;code&gt;y&lt;/code&gt; which only has the genre and it will be our output&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;y = df['genre']
y # it will be the output
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MstIUh4v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uu97fvk9x7g2azhsypun.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MstIUh4v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uu97fvk9x7g2azhsypun.png" alt="Image description" width="335" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Making predictions
&lt;/h3&gt;

&lt;p&gt;Now we have our output dataset stored in &lt;code&gt;y&lt;/code&gt;. Let's train our model. As said earlier we will use &lt;code&gt;Scikit-Learn&lt;/code&gt; for implementing our Machine Learning Algorithm In order to having good accuracy, We are going to use Scikit learn's &lt;code&gt;Decision Tree Classifier&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#import scikit learn
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
model = DecisionTreeClassifier() #We call the object
model.fit(X,y) #This is how we teach the object patterns of our dataset.
predictions = model.predict([ [ 21,1 ] , [ 22,0 ] ])
#Let's test our predictions of what 21 years old male and 22 years old female likes. Both are missing from our dataset
predictions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's break it down. Fist we call the method, the we teach patterns our dataset has with &lt;code&gt;.fit(INPUT,OUTPUT)&lt;/code&gt;. After providing a dummy data which is missing from dataset we get this output&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;array(['HipHop', 'Dance'], dtype=object)&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;So 21 years old males like HipHop and 22 years old females like Dance. Let's see what is actually decision tree. Decision Tree is the most powerful and popular tool for classification and prediction. A Decision tree is a flowchart-like tree structure, where each internal node denotes a test on an attribute, each branch represents an outcome of the test, and each leaf node (terminal node) holds a class label. In a Decision tree, there are two nodes, which are the Decision Node and Leaf Node. Decision nodes are used to make any decision and have multiple branches, whereas Leaf nodes are the output of those decisions and do not contain any further branches. The decisions or the test are performed on the basis of features of the given dataset.It is called a decision tree because, similar to a tree, it starts with the root node, which expands on further branches and constructs a tree-like structure.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CE9NKN5z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t7rlv10f1tqb0u2gqbgo.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CE9NKN5z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t7rlv10f1tqb0u2gqbgo.jpg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Pros and Cons of using a decision tree
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Pros&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Decision trees are able to generate understandable rules&lt;/li&gt;
&lt;li&gt;Decision trees perform classification without requiring much computation.&lt;/li&gt;
&lt;li&gt;Decision trees are able to handle both continuous and categorical variables.&lt;/li&gt;
&lt;li&gt;Decision trees provide a clear indication of which fields are most important for prediction or classification.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Decision trees are less appropriate for estimation tasks where the goal is to predict the value of a continuous attribute.&lt;/li&gt;
&lt;li&gt;Decision trees are prone to errors in classification problems with many classes and a relatively small number of training examples.&lt;/li&gt;
&lt;li&gt;Decision tree can be computationally expensive to train. The process of growing a decision tree is computationally expensive. At each node, each candidate splitting field must be sorted before its best split can be found. In some algorithms, combinations of fields are used and a search must be made for optimal combining weights. Pruning algorithms can also be expensive since many candidate sub-trees must be formed and compared.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Now let's measure the accuracy
&lt;/h2&gt;

&lt;p&gt;We split our datasets into two sets Training and Testing. Rule of thumb: We allocate 80% of our data for Training and 20% of our data for testing. We have already imported a function called &lt;code&gt;train_test_split&lt;/code&gt;. It returns a tuple so we split our tests and train datasets like the code below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;First two variables are input training and testing sets and last two are output training and testing datasets. We are allocating 20% of our data as test data with &lt;code&gt;test_size=0.2&lt;/code&gt; attribute in train_test_split function&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;model.fit(X_train,y_train)
predictions = model.predict(X_test)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Let's calculate the accuracy
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from sklearn.metrics import accuracy_score
#Now let's measure the accuracy
score = accuracy_score(y_test,predictions)
score
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;1.0&lt;/code&gt;&lt;br&gt;
We have an accuracy of 100 percent! But it picks data randomly so everytime we run this cell we get different results. For a dataset which has a few data. It's tough for a computer to predict something very accurately. The more data, the more accurate, As simple as that.&lt;/p&gt;
&lt;h2&gt;
  
  
  Making your model more precise
&lt;/h2&gt;

&lt;p&gt;Our model is too weak. So we go back where we have started. And make it more efficienct. How? We will create a new trained model and everytime we make a prediction we use that trained model. Let's code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import joblib
model.fit(X,y)
joblib.dump(model,'music-recommender.joblib')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;['music-recommender.joblib']&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now we use that file everytime we predict something. In real life we don't have to train our data again and again. Now we predict new data with already trained model.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#import scikit learn
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
'''
Comment out everything and load the trained model
'''
# model = DecisionTreeClassifier() #We call the object
# model.fit(X,y) #This is how we teach the object patterns of our dataset.
#Load the trained model
model = joblib.load('music-recommender.joblib')
#Let's see if it works
predictions = model.predict([ [ 21,1 ] ])
#Let's test our predictions of what 21 years old male and 22 years old female likes. Both are missing from our dataset
predictions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;array(['HipHop'], dtype=object)&lt;/code&gt;&lt;br&gt;
It WORKS! NOW we will visually understand how decision tree actually make predictions.&lt;/p&gt;
&lt;h2&gt;
  
  
  Data Visualization
&lt;/h2&gt;

&lt;p&gt;Let's visualize the data to get a visual presentation of how decision tree is working.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#import scikit learn
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn import tree

model = DecisionTreeClassifier() #We call the object
model.fit(X,y) #This is how we teach the object patterns of our dataset.
tree.export_graphviz(model,out_file='music_recommender.dot',feature_names=['age','gender'],class_names=sorted(y.unique()),label = 'all', rounded = True,filled=True)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Below file has been generated. Now we don't need to train our model again.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;music_recommender.dot&lt;/code&gt;&lt;br&gt;
Now let's open the file in VSCode. Download &lt;code&gt;Graphviz (dot) language support for Visual Studio Code  v0.0.6&lt;/code&gt; extension. And we get the graph below. That's how decision trees work.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HaGBdJhS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r1rz943xwmotir8bom1g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HaGBdJhS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r1rz943xwmotir8bom1g.png" alt="Image description" width="800" height="589"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And now Good luck and enjoy learning how to make machines smart! &lt;strong&gt;Good vibes only&lt;/strong&gt;&lt;/p&gt;

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