<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Aditya Singh on Medium]]></title>
        <description><![CDATA[Stories by Aditya Singh on Medium]]></description>
        <link>https://medium.com/@kashyap.singh52?source=rss-1b5661745e52------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*AdXPDPkg2XSWEKcY.jpg</url>
            <title>Stories by Aditya Singh on Medium</title>
            <link>https://medium.com/@kashyap.singh52?source=rss-1b5661745e52------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Fri, 22 May 2026 13:28:23 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@kashyap.singh52/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Work Experience at Applicate AI]]></title>
            <link>https://medium.com/@kashyap.singh52/work-experience-at-applicate-ai-a41a1896d09d?source=rss-1b5661745e52------2</link>
            <guid isPermaLink="false">https://medium.com/p/a41a1896d09d</guid>
            <category><![CDATA[internships]]></category>
            <category><![CDATA[internship-experience]]></category>
            <dc:creator><![CDATA[Aditya Singh]]></dc:creator>
            <pubDate>Sun, 08 May 2022 18:55:57 GMT</pubDate>
            <atom:updated>2022-05-08T19:00:36.869Z</atom:updated>
            <content:encoded><![CDATA[<h4>Introduction</h4><p>Now the time has come to finally settle down and write this last blog for the final evaluation. The journey so far has been inspiring and nostalgic. For this project, I chose to describe about my corporate life in Applicate AI and all about what the company has taught me.</p><h4>About the Company</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*RStIS1MAyPi_LJ2m" /><figcaption>Applicate Logo</figcaption></figure><p>Applicate AI is an integrated platform which creates artificial intelligent bots that help to do the repeated logical works efficiently, giving human beings extra time to refine skills like creativity and innovation. The Assistants created by the company help in assisting, training and supporting large number of employees in various functions. Some of the highly effective bots created are Sales Bot like Sellina , HR bot like Moon and also customised bot.</p><h4>Experience from being an Intern to a full time Employee</h4><p>I would like to start by saying that becoming a full time Employee is a whole different type of feeling. When I was an Intern, the responsibility towards the company and towards the work did not feel like a huge task but now since I am an integral part of the company, it feels surreal. It has also inculcated the tangible meaning of how <strong>‘team work makes dream work’</strong>. The shift in the role has also taught me to be more independent and be more confident about my coding. Earlier I was kind of more dependent on my seniors for every complex task but I feel like I can handle them on my own.</p><h4>Work description</h4><p>Working in an Office gives a plethora of opportunities to expand the overall boundary. The various kinds of work focuses on all round development when it comes to coding. Like for example, I developed a Stock Return feature for a client Mars wherein the user can very easily carry forward the transaction of returning the stocks. Different functions for different needs aids to run it efficiently. Like if the stock is expired or damaged the transaction happens differently in comparison to when the stock is still valid. Also I worked on improving the UI experience for various clients like Perfetti and Shell and many other clients. I also helped in removing Bugs for different clients so that they have a good experience with the product. I also did various customisation according to the needs and requirements of the client. I also helped my colleague in solving Bugs whenever they felt stuck. Working like a full time Employee has definitely changed my mindset about the company etiquette. Not only in work related field but also when we are just hanging out in the company’s premises. While talking to other people who have the same background as yours, you get to learn different methods of coding and work ethics as it a process of continuous learning.</p><h4>Conclusion</h4><p>The job opportunity at Applicate AI has been a continuous source of learning and improvising. I know that every individual member makes the team strong just like the team is the strength to every member. The company provides an environment to explore the never-ending dimension of corporate life and work.</p><p>Lastly I would like to express my gratitude to my college Bennett University and the Career Service Provider branch for making me confident enough to crack this job and bring a huge change in my life.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a41a1896d09d" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Internship Experience at Applicate]]></title>
            <link>https://medium.com/@kashyap.singh52/internship-experience-at-applicate-1bdcb47cda16?source=rss-1b5661745e52------2</link>
            <guid isPermaLink="false">https://medium.com/p/1bdcb47cda16</guid>
            <category><![CDATA[internship-experience]]></category>
            <category><![CDATA[applicate-ai]]></category>
            <category><![CDATA[bennett-university]]></category>
            <dc:creator><![CDATA[Aditya Singh]]></dc:creator>
            <pubDate>Sun, 28 Nov 2021 15:19:41 GMT</pubDate>
            <atom:updated>2021-11-28T15:34:39.551Z</atom:updated>
            <content:encoded><![CDATA[<p>Capstone Project is a culmination of myriad academic and practical knowledge and experience compiled into one. For my capstone project, I chose my experience in Applicate AI as an intern to highlight the importance and credibility that I procured during my academic session.</p><h3>About the company</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*F1nneBOamkj11wIF" /><figcaption><a href="https://media-exp1.licdn.com/dms/image/C4D1BAQFQwCjW5JFUmQ/company-background_10000/0/1596707464163?e=1638201600&amp;v=beta&amp;t=6HL2J9NH5a1GEhFS4pbqEw7Q2akCFxKmVKsuNHlR4nM">Applicate Logo</a></figcaption></figure><p>Applicate AI is an integrated platform which creates artificial intelligent bots that help to do the repeated logical works efficiently, giving human beings extra time to refine skills like creativity and innovation. The Assistants created by the company help in assisting, training and supporting large number of employees in various functions. Some of the highly effective bots created are Sales Bot like Sellina , HR bot like Moon and also customized bot.</p><h3>My work experience</h3><p>At the very beginning of my internship, we were required to learn TypeScript. The company had offered an Udemy course, from which we learnt and had discussion with our mentor regarding doubts we had in the course. Then I was added to a project where we had to migrate Database services from jJavascript to TypeScript. During the process, we also had to deal with small works which required the application of Python. After writing in TypeScript, the job was to integrate it with the current UI, which required the application of JavaScript. So, overall we had to make use of Database, JavaScript, TypeScript and a little bit of Python.</p><p>The practical knowledge of Database, JavaScript or Python helped a lot during the internship phase. Since the company specialises in products that uses Database, the prior knowledge that we had, gave a much needed boost. Also the practice of languages like JavaScript and Python also helped in different steps in the programming that made the learning process more comprehending.</p><h3>Project Description</h3><p>Implementing a database service using this service the UI framework should be able to connect and query any of the front-end databases in a simple manner.</p><h3>Design</h3><p>The database service architecture is heavily inspired by Mongoose, which is a model-based framework for interacting with Mongo DB. This design allows us to define the schema (which defines the shape of the document) of the table/store/collection and using that schema we can create a model for interacting with that table/store/collection.</p><p>Wrote a class Databaseservice that is responsible for initialising the schema and providing the corresponding models.</p><p>We used dexie for implementing the database service which is a wrapper for IndexedDb , which is an inbuilt database in browser and is faster and has quite huge amount of memory. We wrote a wrapper over dexie for the implementations as it did not have support for various queries like group By, select, join and many others.</p><h3>Conclusion</h3><p>Working at Applicate has surely given many many learning opportunities. Also, the importance of teamwork and punctuality has now a deeper meaning. I look forward to keep on learning everyday and expand my skills as a software engineer.</p><p>Last but not the least, I would like to express my gratitude towards Bennett University and Career Service Centre, Bennett University for this opportunity.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1bdcb47cda16" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Role of AI for Disabled People]]></title>
            <link>https://medium.com/@kashyap.singh52/role-of-ai-for-disabled-people-70264d56018c?source=rss-1b5661745e52------2</link>
            <guid isPermaLink="false">https://medium.com/p/70264d56018c</guid>
            <dc:creator><![CDATA[Aditya Singh]]></dc:creator>
            <pubDate>Fri, 19 Nov 2021 19:00:17 GMT</pubDate>
            <atom:updated>2021-11-19T19:00:17.811Z</atom:updated>
            <content:encoded><![CDATA[<p>In today’s world, Artificial Intelligence has been showcasing myriad advantages in the fields of day-to-day activities. A.I. has given the disabled people the ability to perform the daily tasks that they earlier used to find cumbersome so easily and methodically now, making them feel equal and inclusive in the normal crowd. Therefore, A.I. also helps in enhancing the basic sense of equality among the people. Technology biases none. It adapts according to the needs of everyone. For example, a person with complete blindness can now easily navigate through apps and provide for himself because of the different types of A.I. assistants available like Siri, VoiceOver, Cortana, TalkBack, Google Assistant, etc. The apps help users navigate through their phones by just using their voice command. A visually challenged people can now send a text, google search or call someone simply by dictating. It allows the users to use their phone to their content.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9h9Wtxw5RlnkIaDUVkt8aw.jpeg" /></figure><p>Communication has always proved to be a challenge to people with disabilities making them feel more handicapped than they actually are and with the rapid growth of social media and digitalization, the need to be connected to people around the globe and the fear of missing out also hinders their self-esteem. But technology is for everyone. It uses a lot of apps with artificial intelligence that provides an easy access that favours the disabled people.</p><p><strong>A.I. for acute or complete deaf people</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Cm4UBJZ_rpYTDL-2SsvYzw.jpeg" /></figure><p>Not just the blind people, the people with acute or complete deafness can also turn to A.I. for communication aid. A lot of apps are available that provides with the transcription facility to help them communicate. Many of them are also available in various languages to suit the individual’s requirements. Some of the few apps that provides instant transcription facility are Ava, RogerVoice, Virtual assistants like Siri and Google Assistant.</p><p><strong>A.I. for people with physical disabilities</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JP4p_xpuJy_sBbjWavVIGg.jpeg" /></figure><p>For people suffering with reduced dexterity, A.I. has provided with apps like IFTTT and various Virtual assistants like Siri, Google Assistants and Google Voice Access which helps them perform simple tasks like sending or reading mails, sending tweets or messages simply by voice command. IFTTT is an app that connects all the other apps in the phone, thus, providing an easy access to all the functions without any struggle or hussle.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*K2JQ0Wrdolhv_36m9YLW4w.jpeg" /></figure><p>A separate app called Voiceitt is available which helps people with speech impediments. With the use of A.I. the app understands the people with disabilities like speech or even brain injuries and converts their speech into the one which is easily understood by the normal people. So even people with disabilities can participate in general conversations and put forward their opinions without feeling helpless.</p><p>Physically handicapped people and wheelchair users can also benefit from the advancement of artificial intelligence. Google maps is known to all but the special ‘wheelchair accessible’ option makes it easy for people on wheelchairs to find the best and optimised routes for their journey. Through the app, they can have the access to the information regarding the availability of elevators and ramps. The feature also helps them by the general idea regarding the layout of the building like the bathroom, the entrance, the parking spot, seating arrangements or the surrounding that they are in. This feature not only helps the physically handicapped people but also the one who are visually challenged.</p><p><strong>EVELITY</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BI9sAxtfPd0BkEGzTKw2Ow.jpeg" /></figure><p>Evelity is the perfect example of how artificial intelligence can people with disabilities to perform their daily activities. It is the first indoor wayfinding app. It works like a GPS and helps disabled people navigate and walk step by step inside any premises. People with any kind of disability can take help of this app for their comfort. Like for example-</p><p>A visually challenged person can use this app with any other Virtual assistant app or VoiceOvers which can help them find their way by dictating the instructions.</p><p>A deaf person or a person with acute deafness can use this app with Virtual assistants which can help them by giving text instructions.</p><p>Even the physically handicapped or wheelchair users can benefit from this app. They can use this app to find simple and preferable routes.</p><p><strong>How A.I. is helping people with disabilities</strong></p><p>Artificial Intelligence is advancing everyday and reaching new heights. It has now become an important part of our lives helping us perform day-to-day activities with ease. But for people with disabilities, artificial intelligence is nothing less than a blessing in disguise. For disabled people, artificial intelligence can perform all the task that require human intelligence, be it decision making, functions related to speech or visual recognition, or text based instructions.</p><p>A.I. is supporting the disabled people by making them more independent and more confident. They can now easily participate in any social activities which was kind of impossible earlier. They can now avail new opportunities in life and live their life quite successfully. With the help of A.I. people with disabilities feel more inclusive in the society and even has access to all the basic needs and requirements. As A.I. is a field that is continuously growing, it will in future provide with a lot more innovations that will help disabled people with complex problems in their lives.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=70264d56018c" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[My 2021 Summer Internship at Pepcoding]]></title>
            <link>https://medium.com/@kashyap.singh52/my-2021-summer-internship-at-pepcoding-39cbf9ca65a3?source=rss-1b5661745e52------2</link>
            <guid isPermaLink="false">https://medium.com/p/39cbf9ca65a3</guid>
            <category><![CDATA[internship-experience]]></category>
            <dc:creator><![CDATA[Aditya Singh]]></dc:creator>
            <pubDate>Thu, 30 Sep 2021 14:56:12 GMT</pubDate>
            <atom:updated>2021-09-30T17:18:49.761Z</atom:updated>
            <content:encoded><![CDATA[<p>This summer I got the opportunity to intern at Pepcoding Eduventures Pvt Ltd as a Web Development Teaching Assistant. It was a 2 month internship commencing from 5th June till 10th August.</p><h3>About the Company</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/240/1*uyXT6_X3xonDaenV0B3tRg.png" /></figure><p>Pepcoding is actually an ed-tech company which helps people upskill their coding skills. They have different free and paid resources on Data Structures and Algorithms, Web Development, System Design and other core CS subjects which play an important role in improving one as a coder and also during placements. They also have a community called NADOS where they have a platform where people can solve one another’s doubts and solve DSA questions together.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/820/1*qPsp2F0wwbjiTYDc2rL84w.jpeg" /></figure><h3><strong>How I got the opportunity to intern at PepCoding</strong></h3><p>In April 2021 , I got to know about Pepcoding when I was having a really hard time struggling with DSA and development as placement season was nearby. I got to know about its Placement bootcamp where they teach DSA and development and make you placement ready in 5–6 months. While I was doing the course, there were vacancies for TA’s around June . There was a short test on HTML,CSS,Java followed by an interview. I cleared both and got selected as Web development Teaching Assistant at Pepcoding.</p><h3><strong>Work I did as an intern at Pepcoding</strong></h3><p>My job as Teaching Assistant was to help students enrolled in Pepcoding in Web Development or Placement Bootcamp course resolve their doubts in Web Development. It was actually a video doubt resolution service where the students would request for a video call with a TA along with the doubt and the TA had to come on a zoom call with the student and help them resolve their doubt. There were different slots for different TAs . For each slot there were 5–6 TAs . My slot was from 6pm-11 pm . I used to take around 5–10 doubts per day . I also used to solve doubts of students during live classes and helped them in making various mini projects like automating solving problem on hackerrank , camera app using DOM and indexeddb for storage and a file organizer. These mini projects and the doubts related to these projects really helped me a lot in learning the basic of html, css and Javascript.</p><h3>Frequently asked doubts</h3><blockquote>Q. What is the difference between inline and block elements in HTML?</blockquote><blockquote>Q. What is callback and what is callback hell?</blockquote><blockquote>Q. What are promises and async await?</blockquote><h3>Learnings from the Internship</h3><p>I learnt a lot from this internship. Solving so many doubts helped me learn a lot of new things. It is a widespread belief that people learn more from exposure and same was the case with me. Tackling new doubts everyday made me ponder over a lot of minute details that we often skip. The internship has also helped me in uplifting a lot of my skills including team work, communication skills and being present minded.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=39cbf9ca65a3" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[K Means Clustering]]></title>
            <link>https://medium.com/@kashyap.singh52/k-means-clustering-39f83e110446?source=rss-1b5661745e52------2</link>
            <guid isPermaLink="false">https://medium.com/p/39f83e110446</guid>
            <category><![CDATA[clustering]]></category>
            <category><![CDATA[k-means]]></category>
            <category><![CDATA[centroid-based-clustering]]></category>
            <category><![CDATA[k-means-clustering]]></category>
            <dc:creator><![CDATA[Aditya Singh]]></dc:creator>
            <pubDate>Sun, 15 Nov 2020 16:25:16 GMT</pubDate>
            <atom:updated>2020-11-15T22:33:41.349Z</atom:updated>
            <content:encoded><![CDATA[<p>K Means Clustering is a centroid based clustering algorithm. So before moving on to K Means Clustering Algorithm let’s first look at what clustering algorithm is.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ZyEZbbcRFjC8Oqx7.jpg" /></figure><h4>What is Clustering?</h4><p>Clustering is an unsupervised machine learning algorithm because in clustering we don’t have any labels, we are just trying to group our data into clusters or segments. It is the process of dividing datasets into clusters having similar data points. <strong>For example- </strong>Mails can be grouped into different clusters on the basis of subject, header and content of the mail and we can identify spam mails using this which is a well known application of clustering.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/658/0*kl7Aw-E5o_F4IcKA.png" /><figcaption><a href="https://www.semanticscholar.org/paper/Spam-detection-using-text-clustering-Sasaki-Shinnou/8e32bd4a7d326cd821fcee183ec6d50cbb173138">https://www.semanticscholar.org/paper/Spam-detection-using-text-clustering-Sasaki-Shinnou/8e32bd4a7d326cd821fcee183ec6d50cbb173138</a></figcaption></figure><h4><strong>Types of Clustering</strong></h4><ol><li><strong>Hard Clustering- </strong>In hard clustering, each data point either belongs completely to a cluster or not. Eg:- K Means Clustering</li><li><strong>Soft Clustering- </strong>In soft clustering<strong> </strong>a data point can belong to multiple groups with different probabilities of belonging to different groups. For example:- Fuzzy C Means Clustering</li></ol><h4>Types of Clustering Algorithms</h4><ol><li><strong>Centroid based Clustering</strong>- In centroid based clustering clusters are represented by a centroid vector which may or may not be a data point. This algorithm is based on how close the data point to centroid of the cluster. Eg:- K means clustering.</li><li><strong>Connectivity based Clustering- </strong>In connectivity based clustering clusters are formed on the notion that points that are closer are more related than those that are far from each other. It is based on distance between the points. In this we first classify all data points into separate clusters and then aggregate them as distance between them increases or decreases. Eg:-Hierarchical clustering.</li><li><strong>Distribution based Clustering- </strong>In distribution based clustering clusters are formed on basis of how probable is it for a cluster to belong to same distribution, for eg, Gaussian distribution.</li><li><strong>Density based Clustering- </strong>In<strong> </strong>density based clustering clusters are defined on basis of high density area in data space. Sparse areas are considered as noise. Eg:- DBSCAN, OPTICS.</li></ol><h4>K Means Clustering</h4><p>K Means Clustering is an iterative centroid based clustering algorithm.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/432/0*CPjDTjlXaTv3Dwtu.png" /><figcaption>Source- <a href="https://levelup.gitconnected.com/k-means-clustering-algorithm-4fc5f1d74a23">https://levelup.gitconnected.com/k-means-clustering-algorithm-4fc5f1d74a23</a></figcaption></figure><p><strong>Procedure</strong></p><p>We initially select K examples as initial centroids. Then we make K different clusters by allocating every data point to its nearest centroid. We then update the centroids by averaging the data points in each cluster. We keep on repeating these steps until the centroids do not change.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/850/0*KRvOXvaLSGLL2F9d.png" /><figcaption>Source <a href="https://www.researchgate.net/figure/The-pseudo-code-for-K-means-clustering-algorithm_fig2_273063437">https://www.researchgate.net/figure/The-pseudo-code-for-K-means-clustering-algorithm_fig2_273063437</a></figcaption></figure><h3>Steps for K Means Clustering</h3><ol><li><strong>Selecting the number of K clusters- </strong>First we need to select how many total no of clusters we need to form for the given dataset and accordingly we have to select K centroids. For selecting optimal value of K we have two different methods:-</li></ol><p><strong><em>a. Elbow Method</em></strong><em>- </em>The elbow method helps us in finding the optimal value of K by fitting the model with range of values of K. Here we plot the cost function of model which is sum of squares of distance between data points and respective centroid in each cluster with K. The cost function is expected to decrease with increasing value of K.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/358/0*8MuJM9nN8XHw1yJ4" /><figcaption>Source <a href="https://lukelushu.wordpress.com/2014/08/13/clustering-k-means-k-nearest-neighbor/">https://lukelushu.wordpress.com/2014/08/13/clustering-k-means-k-nearest-neighbor/</a></figcaption></figure><p>Here we can see that before K=3 the cost function decreases rapidly but after K=3 it decreases very slowly demonstrating the convergence of cost function at K=3. So this point is called the elbow point and we select the elbow point(K=3) as the optimum no of clusters to save cost and time.</p><p><strong><em>b. Silhouette Method- </em></strong>In Silhouette algorithm we assume that dataset has already been divided into K clusters. We try to calculate the Silhouette score for a particular data point.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ahic_hf_QivEx-rg.png" /></figure><p>where</p><p>s(o) is silhouette coefficient of data point o.</p><p><strong><em>a(o)</em></strong> is the <em>average distance</em> between <strong>o</strong> and all the other data points in the cluster to which <strong>o</strong> belongs.</p><p><strong><em>b(o)</em></strong> is the <em>minimum average distance</em> from <strong>o</strong> to all clusters to which <strong>o</strong> does not belong.</p><p>The value of the silhouette coefﬁcient is in range of -1 to 1. A score of 1 denotes data point <strong>o </strong>is very compact within the cluster to which it belongs and far away from the other clusters<strong>. </strong>The worst value is -1. Values near 0 denote overlapping clusters.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/360/0*RPx698-9YvbF_Qi_.png" /><figcaption>Source: <a href="https://miro.medium.com/max/360/1*ftfk97tHNG9pF25BRD8GsA.png">https://miro.medium.com/max/360/1*ftfk97tHNG9pF25BRD8GsA.png</a></figcaption></figure><p>Here we can see that for K=5 the silhouette score is highest so K=5 would be the optimal number of cluster. But this method is very expensive as we have to compute silhouette score for each instance so computation cost would be very high.</p><p><strong>2. Choose K random centroids- </strong>Selecting proper centroid is a very important step in K means clustering. We generally select the initial centroids randomly but these randomized clusters are generally not that good. So what we do is we perform multiple iterations with different sets of initial centroids and choose the cluster with minimum sum of squares error.</p><p><strong>3.Assigning each data point to the closest centroid-</strong></p><p><strong><em>a. Data in Euclidean Space- </em></strong>If the data is in Euclidean space we use the sum of squared error(SSE).We calculate the distance of each data point from the nearest centroid, and then compute SSE. If different sets of clusters are produced for different K , we prefer the one with minimum SSE.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/329/0*KoC7dsZHcvLjT2Vh.png" /></figure><p><strong><em>b. Document Data- </em></strong>For document data we find the cosine similarity measure.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/429/0*UwrK5thvWvi-hJNh.png" /></figure><p><strong>4. Reevaluating the centroid for each cluster- </strong>We calculate the mean for each cluster which is the new centroid for each cluster.</p><p><strong>5. Repeat the whole process (measure and cluster) again- </strong>We keep on doing the process again and again until the centroid stops changing and no more new clusters are formed.</p><h3>Evaluating the Cluster Quality</h3><p>The Quality of Cluster depends on how close the data points within a cluster are and how far a cluster is from the other clusters. There are two methods to evaluate the quality of our clusters. They are:-</p><h4>a. Inertia</h4><p>Inertia basically tells how far the data points are within a cluster. So smaller the inertia, closer would the data points inside a cluster which would mean a better cluster quality. The range of values starts from zero and grows up.</p><h4>b. Silhouette Score</h4><p>The value of the silhouette coefﬁcient is in range of -1 to 1. A score of 1 denotes data point <strong>o </strong>is very compact within the cluster to which it belongs and far away from the other clusters<strong>. </strong>The worst value is -1. Values near 0 denote overlapping clusters. So the scores should be near 1.</p><h3>Applications of K-Means Clustering</h3><ol><li><strong>Classification of Documents- </strong>Documents can be clustered based on tags, topics and content of the document.</li><li><strong>Call Record Detail Analysis-</strong> Call record detail is the information extracted by customer care during call , sms to identify different segment of customers based on their usage by hours.</li><li><strong>Spam mail detection- </strong>Mails can be clustered into spam or non spam depending upon sender, header and content of message.</li><li><strong>Customer Segmentation- C</strong>lustering helps marketers improve their customer base, work on target areas, and segment customers based on purchase history, interests, or activity monitoring.</li><li><strong>Delivery store Optimization- O</strong>ptimize the process of goods delivery using truck drones by using a combination of k-means to find the optimal number of launch locations and a genetic algorithm to solve the truck route as a traveling salesman problem</li></ol><h3>Advantages</h3><ol><li>It is really easy to implement.</li><li>Scalable to large datasets.</li><li>Guarantees convergence.</li><li>Easily adapts to new examples.</li><li>Generalizes to clusters of different shapes and sizes such as spherical structure.</li></ol><h3><strong>Disadvantages</strong></h3><ol><li>It requires to specify the number of clusters (k) in advance.</li><li>It can not handle noisy data and outliers.</li><li>It is not suitable to identify clusters with non-convex shapes.</li></ol><h3>Conclusion</h3><p>In this article we learnt what clustering is, what are the different types of clustering and clustering algorithms. We learnt what is K-Means Clustering and where should we use it and how to use it and its advantages and disadvantages.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=39f83e110446" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Sending mail using Python]]></title>
            <link>https://medium.com/@kashyap.singh52/sending-mail-using-python-f1f751f30248?source=rss-1b5661745e52------2</link>
            <guid isPermaLink="false">https://medium.com/p/f1f751f30248</guid>
            <category><![CDATA[email]]></category>
            <dc:creator><![CDATA[Aditya Singh]]></dc:creator>
            <pubDate>Tue, 07 Jan 2020 17:51:56 GMT</pubDate>
            <atom:updated>2020-01-07T18:58:48.906Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/382/1*vLTP9Uuw5ifvtcYdqMyUWw.png" /></figure><p>In this blog we will see how to send mail using <strong>smtplib </strong>in Python.</p><p>For this, first we need to install smtplib using<strong> pip install secure-smtplib .</strong></p><p>The <a href="https://docs.python.org/3/library/smtplib.html#module-smtplib">smtplib</a> module defines an SMTP client session object that can be used to send mail to any Internet machine with an SMTP or ESMTP listener daemon.</p><h3>Code:-</h3><p><strong>import smtplib as s</strong></p><p><strong>a=s.SMTP(‘smtp.gmail.com’, 587)</strong># Creates SMTP sesion</p><p>#Here 587 is SMTP port for gmail. For outlook also it is 587. For yahoo mail-465. Similar other mail uses other smtp ports.</p><p><strong>a.starttls()</strong> # Starting TLS (Transport Layer Seurity for providing security,</p><p># Transport Layer <strong>Security</strong> (<strong>TLS</strong>) is cryptographic protocol designed to <strong>provide</strong> communications <strong>security</strong> over a computer network. .</p><p><strong>a.login(‘sender email id’,’sender email password&#39;)</strong> #Here you need to enter your email id and password.</p><p><strong>a.sendmail(‘sender email id’,’receiver email id’,’message’)</strong></p><p><strong>print(‘Email Sent’)</strong>#Just to verify whether the code executed properly</p><p><strong>a.quit()</strong></p><h3><strong>Code Snippet:-</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/479/1*IsJ0AT-XcSAt0gQgZPFxww.png" /></figure><h3>You may encounter following error:</h3><h4>raise SMTPAuthenticationError(code, resp)<br>smtplib.SMTPAuthenticationError: (535, b’5.7.8 Username and Password not accepted. Learn more at\n5.7.8 <a href="https://support.google.com/mail/?p=BadCredentials">https://support.google.com/mail/?p=BadCredentials</a> i3sm99653pfo.72 — gsmtp’)</h4><h3><strong>To avoid this you need to follow the below given steps:-</strong></h3><ol><li><a href="https://www.google.com/settings/security/lesssecureapps">Go to the </a>link:- <a href="https://www.google.com/settings/security/lesssecureapps">https://www.google.com/settings/security/lesssecureapps</a> and turn less secure apps on.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*eWzfxuC6qUyONPwngco8Pw.png" /></figure><p>2. Go to your email id and there would be a mail to verify if its you who you turned the less secure apps on. So just verify there that it’s you only who turned the less secure apps on and run the code again.</p><p>3.If the code still doesn’t work just disable 2 step verification from this link:-</p><p><a href="https://myaccount.google.com/security?utm_source=OGB&amp;utm_medium=act#signin">Sign in - Google Accounts</a></p><p>Following the above mentioned steps will thus enable you to send mail using smtplib.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f1f751f30248" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>