Trending December 2023 # Rcs Messaging On Android: A Complete Guide With 14 Tips # Suggested January 2024 # Top 16 Popular

You are reading the article Rcs Messaging On Android: A Complete Guide With 14 Tips updated in December 2023 on the website We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested January 2024 Rcs Messaging On Android: A Complete Guide With 14 Tips

Apple has had iMessage for several years. Unfortunately, due to the wide variety of Android phones and messaging apps, a similar feature on Android has taken time. Fortunately, RCS messaging is now available as an iMessage equivalent on Android. What exactly is RCS messaging on Android, and how do you use it? You’ll find the answer right here.

What Is RCS? What Is RCS Messaging?

As with the other chat apps, you can text in real time and see typing indicators and message receipts. RCS also unlocks the ability to send high-quality photos, videos, GIFs, stickers, location, and much more right from the default messaging app without using any third-party app.

RCS messaging capability is provided by your mobile carrier or Jibe Mobile from Google, with the latter being the most popular. RCS must also be supported by your messaging app. Google’s Messages app is the best RCS app right now because it supports all features and is featured in this guide. More messaging apps will be able to use RCS in the future.

Let’s look at a comparison of RCS and SMS to get a better understanding of RCS messaging.

What Are the Differences Between RCS and SMS? Character Limit

Currently, a single SMS message can only be 160 characters long. Anything beyond that is regarded as a second message, and third, fourth, and fifth, etc., if needed, and you are charged accordingly. RCS messaging, thankfully, removes this restriction, allowing you to send messages of virtually any length.


You don’t need an Internet connection to send or receive SMS messages, whereas RCS messaging requires mobile data or Wi-Fi because everything is handled over the data network.


SMS/MMS messages are deducted from your mobile operator’s regular balance or your mobile plan. On the contrary, because RCS connects to the Internet, data charges will apply based on the type and quantity of data sent or received, just like WhatsApp and other chat apps. You do not need to be concerned about the charges if you have an unlimited Internet plan.

Cross-Platform Support Group Conversation

RCS also adds the group chat feature to Android messages, which was previously unavailable in regular text messaging.

Other Features

RCS messages can carry more information than traditional SMS or MMS messages. You can send high-quality photos, videos, location, stickers, and other similar items but can’t with SMS. RCS also provides read receipts, emoji reactions, and typing indicators.

How to Enable RCS Messaging on Android Requirements for RCS

Before we begin, make sure your Android phone meets the following requirements:

The Messages app from Google should be installed on your Android phone and set as the default SMS app. To make it the default app, go to “Settings → Apps → Default apps → SMS app.” Select the Messages app.

Your Android phone should be running Android 5.0 and higher.

The same SIM card should be used for data and calls if you have multiple SIM cards in your phone.

You should have a regular balance in your mobile, as RCS messaging may need to verify your phone number by sending an SMS.

Activate RCS Messaging

Once your phone meets the above requirements, you can activate RCS messaging, provided it’s supported by your country and carrier.

Open the Messages app by Google. Tap on the three-dot icon and go to “Settings.”

    Tap on “Chat features.” If RCS is available on your phone, you will see the option to enable the feature. Turn on the toggle next to “Enable chat features’ to activate RCS messaging. If RCS messaging or chat features aren’t available for your phone, you will not see the option to enable it.

      Follow the on-screen instructions to set up RCS messaging. Once RCS is enabled, you will see “Connected” next to “Status.”

      Tips for Using RCS Messaging

      Now that you know what RCS is and how to set it up, let’s explore various RCS messaging tips to enhance your experience.

      1. Find Out Whether Your Message Will Be Sent as RCS or SMS

      One of the major concerns while using RCS messaging is to figure out whether the recipient has RCS. You can check that in the field where you would type your message.

      If it says “Chat messages,” the messages will be sent using RCS.

      If it says “Text messages,” RCS isn’t active, so messages will be sent as SMS/MMS.

      Further, the Send icon next to that field also helps in identifying the type of message that will be sent.

      If the Send icon doesn’t show any text, it means the message will be sent as RCS over Wi-Fi or mobile data.

      If the icon says SMS or MMS, messages will be sent as SMS or MMS respectively.

      The Lock icon on the Send icon indicates that the message is end-to-end encrypted.

      2. Identify RCS Messages in Chat

      RCS messages are slightly darker in color than SMS/MMS messages. On both sent and received messages, you will notice a darker blue color.

      Alternatively, hold down a message and tap the three-dot icon, then select “View details”. The resulting pop-up will indicate whether the message is RCS or regular SMS.

      3. React with Emojis

      Touch and hold on any message that you want to react to with emojis. The emoji bar will open. Choose the desired emoji. To change the emoji, touch and hold the message, and choose a different emoji. To remove an emoji, press the same emoji again. Please note that the other person will be notified about any changes made to emoji reactions.

      4. Enable or Disable Read Receipts

      You can disable read receipts if you don’t want others to know you’ve read their messages. Navigate to “the Messages app settings → Chat features.” Turn off the toggle next to “Send read receipts.”

      5. Turn the Typing Indicator On or Off

      When you use RCS in the Messages app, you will see typing indicators by default. If you don’t want others to see when you’re typing, you can turn it off. Navigate to “Chat features” in the Messages app settings. Deactivate the toggle next to “Show typing indicators.”

      6. Turn Off Auto Download Files

      Files up to 100 MB are automatically downloaded in the Messages app by default. However, you can change this by either completely disabling auto-download or changing the file size limit. To do so, navigate to “Settings → Chat features → Auto-download files you receive over mobile data” in the Messages app. Select the appropriate option.

      7. Send Voice Messages

      RCS messaging allows you to send voice messages. Touch and hold the microphone icon next to the typing area to start recording your voice message. Lift your finger to preview the recording, then hit the Send button.

      8. Send Images

      It should come as no surprise that you can send images while using Chat in Android Messages. To open the Camera view or select an image from your Gallery, press the Gallery icon on the left side of the message compose box. Tap the Send button after selecting the photo you want to send.

      9. Doodle or Write on Images

      Once you select the image as shown in the above tip, it’s added to the message compose box. Tap on the image thumbnail in the compose box to edit it and press the “Edit” button.

      Tap on the A icon to add text on the image or hit the Doodle icon to draw on the picture. Hit the Send button.

      Tip: you can use the Messages app as a photo editor. Press the Download button at the bottom of the image to save it on your device after editing it.

      10. Send GIFs and Stickers 11. Send Location

      With chat features in the Android Messages app, you can share your location as well. You can send your current location or use the search feature to find a location. To use this feature, tap on the add (+) icon and hit the location tab. Select the location to share.

      12. Use Assistant Features

      The Messages app will make auto suggestions based on the text you’re typing while you’re chatting. It is possible with the help of Google Assistant. You can also use Assistant features manually within the Messages app. Tap the (+) icon and select the Assistant section’s buttons such as Restaurants, Movies, and so on. Also, learn how to send and read messages using Google Assistant.

      13. Share Contact and Files

      Similarly, you can share contacts and files in the Messages app. Tap on the respective buttons inside the add (+) icon and choose the data you want to send.

      14. Create Group Chats

      To create a group chat, press the floating Start chat button on the app’s home screen, then tap on “Create group” and add the people. Alternatively, open any existing chat thread, press the three-dot icon and select “Details.” Tap on “Add people.”

      How to Turn Off RCS Messaging Disable RCS for Individual Contacts

      The Messages app lets you disable chat features for specific contacts. All messages to that contact will be delivered via SMS or MMS. To do so, open the chat thread, then tap the three-dot icon and select “Details.” Enable the “Only send SMS and MMS messages” toggle.

      Disable RCS for All Contacts

      If you don’t enjoy RCS messaging or chat features, you can disable it. To do so, go to “the Messages app settings → Chat features.” Turn off the toggle next to “Enable chat features.”

      Generally, the chat feature will also stop working when you remove the SIM card from your phone. However, it may continue to work on the same device for up to 14 days after removing the SIM.

      Deactivate RCS without Phone

      If you bought a new device and forgot to turn off chat features on the old phone, you can deactivate it from Google’s deactivation web portal as well. Enter your number and the security code in the portal to disable RCS, then activate it on the new phone.

      What to Do If RCS Doesn’t Work

      If RCS isn’t working, make sure it meets the above-mentioned requirements, such as a working Internet connection, Android version, default messaging app, and so on. After that, restart the phone and re-insert the SIM card. If that doesn’t work, reactivate RCS by first disabling it and then enabling it again.

      Make the Most of Android Messages

      Once RCS becomes mainstream, like iMessage or WhatsApp, businesses can explore its capabilities to send important information. Boarding passes, parcel tracking, and customer service are some examples. If you want to know more of what you can do with RCS now, see our other tips related to the Messages app and how to use it on the Web.

      Mehvish Mushtaq

      Mehvish is a tech lover from Kashmir. With a degree in computer engineering, she’s always been happy to help anyone who finds technology challenging. She’s been writing about technology for over six years, and her favorite topics include how-to guides, explainers, tips and tricks for Android, iOS/iPadOS, Windows, social media, and web apps.

      Subscribe to our newsletter!

      Our latest tutorials delivered straight to your inbox

      Sign up for all newsletters.

      By signing up, you agree to our Privacy Policy and European users agree to the data transfer policy. We will not share your data and you can unsubscribe at any time.

      You're reading Rcs Messaging On Android: A Complete Guide With 14 Tips

      Complete Guide On Independent Director

      Introduction to Independent Director

      Start Your Free Investment Banking Course

      Who is the Independent Director?

      An independent director is a member of the board of directors of a company who does not participate in the daily chores of the entity’s operations and does not have a material relationship with the company. Thus, he is also referring as the non-executive director of the company.

      The word “independent” attains its importance only when the board of directors confirms that the directors do not have any material relationship with the company. Material relationship refers to a business relationship between a person and a limited benefit company transacting through self, a family member, or an officer wherein the person has some beneficial interest.

      Material relations can be in the form of direct control of the other entity, being a partner or shareholder or an officer of another entity. Related-party transactions are generally allowed but only up to a certain level.

      These provisions apply to the listed entities. In addition, the parent or subsidiary of such a listed company also covers these provisions.

      Role of Independent Director

      The independent director plays a passive role in day-to-day activities but plays an active role in the committees set up by the company. In addition, he is responsible for managing the risks and ensuring corporate governance standards within the company.

      He holds a vital role in succession planning for the company.

      He ensures a balance between the conflicting interest of the stakeholders.

      Independent Director is Mentor and guides the company since he possesses expertise in one of the primary business areas.

      He is responsible for being objective while evaluating the performance of the directors.

      Independent Directors are vital in ensuring the integrity of the financial controls and systems.

      He is involved in the key strategy-making process, appointing key persons, designing the standards of conduct, and risk management.

      Should provide levels within which remuneration can pay to the key managerial personnel of the entity and other executive directors.

      He provides solutions in case of conflicts between the management and the interest of the company’s shareholders.

      Responsibility of Independent Director

      He Should try to attend the general meeting of the company and meetings of the board of directors.

      He should act within the authority provided to him.

      Attend the committee meetings wherein he is the committee’s chairperson.

      Should have enough knowledge of the company and the environment surrounding the company.

      Independent directors should take care of the interests of the company, its shareholders, and its employees.

      He is responsible for reporting the actual or suspected chances of fraud or any willful violation of the company’s code of ethics.

      He holds critical information such as technologies, promotion plans, price-sensitive knowledge, and business secrets. And should keep the information confidential unless expressly allowed to disseminate by the board or required under the law.

      He should safeguard the interest of the stakeholders, especially the minority ones.

      He should ensure that the vigil mechanism is adequate and functional at all times and the person using the facility is free from any risk due to using such facilities.

      Applicability on appointing Independent Director

      At the time of appointment of an independent director, the board needs to determine whether the person has any material relationship with the company.

      In doing so, the board checks that the person’s relationship falls within the familial, accounting, consulting, commercial, banking, charitable, or legal category.

      If the board successfully determines that no such relationship exists, the person is eligible for appointment as an independent director of the company.

      Provisions related to Independent Director

      Is an employee, or is an immediate family member of the company’s executive director?

      A partner of an employee of internal or external company auditors, whether present or former auditor.

      Is an immediate family member of the partner or employee of such auditors in clause b.

      Is in receipt of compensation of more than US $ 120,000 per annum for services other than being a director of the listed company. However, such compensation should not be contingent on the continued services and not concern the pension or deferred compensation for prior services.

      Is an immediate family of the person as specified in clause d.

      Is an employee of the company who receives or makes payments to the listed company concerning the property or services for an amount that exceeds 2% of the company’s consolidated gross revenues or the US $ 1 million in any of the preceding three fiscal years.

      An immediate family member of the company’s executive officer as specified in clause f.

      Also, if the person has had such a relationship as above in the last three years, the person would not be qualified as an independent director. Thus, the criteria limit is three years preceding the year of appointment.

      Companies listed on the New York Stock Exchange and Nasdaq must comply with stricter norms about the independence criteria. Such companies should ensure that the director’s ability to remain independent is not affected by any material relationships, including the impact of any compensatory fee paid or being affiliated with the subsidiary or affiliate of a subsidiary of the company.

      If the company imposes additional independence standards, it must disclose the same.

      As per NYSE listing rules, the listed companies in the US should have the majority of directors as independent directors.


      The business transactions are fair without the dent of being biased toward directors.

      Stakeholders’ interest is protected.

      Independent directors are free from undue influence from the management.

      The expertise of the independent directors can be used for the company’s benefit.

      The performance evaluation of the directors is objective and without any bias.

      They are essential to good corporate governance policies.

      He helps in the succession planning of the company.

      He resolves the conflicts between the shareholders and the management.

      The company has information asymmetry since independent directors do not know about the daily chores. Thus, the information received by such a director is some systematic noise.

      An Independent director is still a director, and his decisions are subject to approval from the board members.

      Due to asymmetry in the information exchange, ad hoc invitations to the board meetings do not suffice for the purpose. Thus, a completely independent board would work with poor information, and the objective of independence would be ineffective.

      Conclusion Recommended Articles

      A Complete Guide To K


      In the four years of my data science career, I have built more than 80% of classification models and just 15-20% of regression models. These ratios can be more or less generalized throughout the industry. The reason behind this bias towards classification models is that most analytical problems involve making decisions. In this article, we will talk about one such widely used machine learning classification technique called k nearest neighbor (KNN) algorithm. Our focus will primarily be on how the algorithm works on new data and how the input parameter affects the output/prediction.

      Note: People who prefer to learn through videos can learn the same through our free course – K-Nearest Neighbors (KNN) Algorithm in Python and R. And if you are a complete beginner to Data Science and Machine Learning, check out our Certified BlackBelt program –

      Learning Objectives

      Understand the working of KNN and how it operates in python and R.

      Get to know how to choose the right value of k for KNN

      Understand the difference between training error rate and validation error rate

      What is KNN (K-Nearest Neighbor) Algorithm?

      The K-Nearest Neighbor (KNN) algorithm is a popular machine learning technique used for classification and regression tasks. It relies on the idea that similar data points tend to have similar labels or values.

      During the training phase, the KNN algorithm stores the entire training dataset as a reference. When making predictions, it calculates the distance between the input data point and all the training examples, using a chosen distance metric such as Euclidean distance.

      Next, the algorithm identifies the K nearest neighbors to the input data point based on their distances. In the case of classification, the algorithm assigns the most common class label among the K neighbors as the predicted label for the input data point. For regression, it calculates the average or weighted average of the target values of the K neighbors to predict the value for the input data point.

      The KNN algorithm is straightforward and easy to understand, making it a popular choice in various domains. However, its performance can be affected by the choice of K and the distance metric, so careful parameter tuning is necessary for optimal results.

      When Do We Use the KNN Algorithm?

      KNN can be used for both classification and regression predictive problems. However, it is more widely used in classification problems in the industry. To evaluate any technique, we generally look at 3 important aspects:

      1. Ease of interpreting output

      2. Calculation time

      3. Predictive Power

      Let us take a few examples to  place KNN in the scale :

      KNN classifier fairs across all parameters of consideration. It is commonly used for its ease of interpretation and low calculation time.

      How Does the KNN Algorithm Work?

      Let’s take a simple case to understand this algorithm. Following is a spread of red circles (RC) and green squares (GS):

      You intend to find out the class of the blue star (BS). BS can either be RC or GS and nothing else. The “K” in KNN algorithm is the nearest neighbor we wish to take the vote from. Let’s say K = 3. Hence, we will now make a circle with BS as the center just as big as to enclose only three data points on the plane. Refer to the following diagram for more details:

      The three closest points to BS are all RC. Hence, with a good confidence level, we can say that the BS should belong to the class RC. Here, the choice became obvious as all three votes from the closest neighbor went to RC. The choice of the parameter K is very crucial in this algorithm. Next, we will understand the factors to be considered to conclude the best K.

      How Do We Choose the Factor K?

      First, let us try to understand exactly the K influence in the algorithm. If we see the last example, given that all the 6 training observation remain constant, with a given K value we can make boundaries of each class. These decision boundaries will segregate RC from GS. In the same way, let’s try to see the effect of value “K” on the class boundaries. The following are the different boundaries separating the two classes with different values of K.

      If you watch carefully, you can see that the boundary becomes smoother with increasing value of K. With K increasing to infinity it finally becomes all blue or all red depending on the total majority.  The training error rate and the validation error rate are two parameters we need to access different K-value. Following is the curve for the training error rate with a varying value of K :

      As you can see, the error rate at K=1 is always zero for the training sample. This is because the closest point to any training data point is itself.Hence the prediction is always accurate with K=1. If validation error curve would have been similar, our choice of K would have been 1. Following is the validation error curve with varying value of K:

      This makes the story more clear. At K=1, we were overfitting the boundaries. Hence, error rate initially decreases and reaches a minima. After the minima point, it then increase with increasing K. To get the optimal value of K, you can segregate the training and validation from the initial dataset. Now plot the validation error curve to get the optimal value of K. This value of K should be used for all predictions.

      The above content can be understood more intuitively using our free course – K-Nearest Neighbors (KNN) Algorithm in Python and R

      Breaking It Down – Pseudo Code of KNN

      We can implement a KNN model by following the below steps:

      Load the data

      Initialise the value of k

      For getting the predicted class, iterate from 1 to total number of training data points

      Calculate the distance between test data and each row of training dataset. Here we will use Euclidean distance as our distance metric since it’s the most popular method. The other distance function or metrics that can be used are Manhattan distance, Minkowski distance, Chebyshev, cosine, etc. If there are categorical variables, hamming distance can be used.

      Sort the calculated distances in ascending order based on distance values

      Get top k rows from the sorted array

      Get the most frequent class of these rows

      Return the predicted class

      Implementation in Python From Scratch

      We will be using the popular Iris dataset for building our KNN model. You can download it from here.


      Comparing Our Model With Scikit-learn from sklearn.neighbors import KNeighborsClassifier neigh = KNeighborsClassifier(n_neighbors=3)[:,0:4], data['Name']) # Predicted class print(neigh.predict(test)) # 3 nearest neighbors print(neigh.kneighbors(test)[1])

      We can see that both the models predicted the same class (‘Iris-virginica’) and the same nearest neighbors ( [141 139 120] ). Hence we can conclude that our model runs as expected.

      Implementation of KNN in R

      View the code on Gist.


      #Top observations present in the data SepalLength SepalWidth PetalLength PetalWidth Name 1 5.1 3.5 1.4 0.2 Iris-setosa 2 4.9 3.0 1.4 0.2 Iris-setosa 3 4.7 3.2 1.3 0.2 Iris-setosa 4 4.6 3.1 1.5 0.2 Iris-setosa 5 5.0 3.6 1.4 0.2 Iris-setosa 6 5.4 3.9 1.7 0.4 Iris-setosa #Check the dimensions of the data [1] 150 5 #Summarise the data SepalLength SepalWidth PetalLength PetalWidth Name Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100 Iris-setosa :50 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300 Iris-versicolor:50 Median :5.800 Median :3.000 Median :4.350 Median :1.300 Iris-virginica :50 Mean :5.843 Mean :3.054 Mean :3.759 Mean :1.199 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800 Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500

      Step 3: Splitting the Data

      View the code on Gist.

      Step 4: Calculating the Euclidean Distance

      View the code on Gist. View the code on Gist.


      For K=1 [1] "Iris-virginica"

      In the same way, you can compute for other values of K.

      Comparing Our KNN Predictor Function With “Class” Library

      View the code on Gist.


      For K=1 [1] "Iris-virginica"

      We can see that both models predicted the same class (‘Iris-virginica’).


      The KNN algorithm is one of the simplest classification algorithms. Even with such simplicity, it can give highly competitive results. KNN algorithm can also be used for regression problems. The only difference from the discussed methodology will be using averages of nearest neighbors rather than voting from nearest neighbors. KNN can be coded in a single line on R. I am yet to explore how we can use the KNN algorithm on SAS.

      Key Takeaways

      KNN classifier operates by finding the k nearest neighbors to a given data point, and it takes the majority vote to classify the data point.

      The value of k is crucial, and one needs to choose it wisely to prevent overfitting or underfitting the model.

      One can use cross-validation to select the optimal value of k for the k-NN algorithm, which helps improve its performance and prevent overfitting or underfitting. Cross-validation is also used to identify the outliers before applying the KNN algorithm.

      The above article provides implementations of KNN in Python and R, and it compares the result with scikit-learn and the “Class” library in R.

      Frequently Asked Questions Related

      Complete Guide On Django Graphql Api

      Introduction to Django GraphQL

      Django provides different types of features to the users; graphql is one of the features that Django provides. Typically graphql is an open-source data query management tool used to manipulate the different languages for APIs and provides the existing data at the runtime to fulfill query requirements. In other, we can say that Django graphql is one of the most powerful tools, and it is also more extensible to the REST API of Django. Django GraphQL is not an API framework like REST; it is just a language that helps us share data in a new fashion or per our requirements.

      Start Your Free Software Development Course

      Web development, programming languages, Software testing & others

      What is Django GraphQL?

      Web APIs are the motors that power many of our applications today. For a long time, REST has been the prevailing engineering for APIs. With REST APIs, you, by and large, make URLs for each open object of information. Suppose we’re fabricating a REST API for motion pictures – we’ll have URLs for the actual films, entertainers, grants, chiefs, and makers. It’s now getting clumsy! This could mean a lot of solicitations for one cluster of related information. Envision you were the client of a low-fueled cell phone over a sluggish web association; this present circumstance isn’t extraordinary.

      We influence GraphQL’s framework to characterize the information we need to access the API. At that point, we then make a pattern for the API, arranging permitted inquiries to recover and modify data.

      Django GraphQL API

      Let’s see the GraphQL API as follows:

      There are three basic operations of GraphQL: reading data, writing data, manipulating data, and receiving real-time data whenever required. GraphQL provides some predefined schema and standard schema between client and server.

      Given Below are the features of GraphQL as follows:

      First, it is static, so there is no need to define the variable.

      It is decoupled from the backend.

      Underflows did not happen here.

      Third, it is based on language and HTTP.

      Therefore, it is not a required cost for documentation.

      By using GraphQL API, we can save bandwidth.

      A GraphQL blueprint sets a solitary wellspring of truth in a GraphQL application. It offers an association and a method for unifying its whole API.

      Using GraphQL, we can easily handle a round trip which means request and response.

      Firmly characterized information types decrease miscommunication between the client and the server.

      GraphQL is contemplative. A client can demand a rundown of information types accessible. This is great for auto-creating documentation.

      By using GraphQL with API, we can easily handle the existing queries.

      In GraphQL, we have many open-source features unavailable in REST API.

      GraphQL doesn’t direct particular application engineering. However, it may be presented well on top of a current REST API and can work with existing API the board apparatuses.

      Django GraphQL New Project

      Let’s create a new project for API as follows:

      First, we must have Python and understand Django; here, we try to create a student management project. So first, open the terminal we execute the below command as follows.


      mkdir stud_management cd stud_management

      After that, we need to set the virtual environment for the newly created project, so we need to install the virtual environment using the below command.


      pip install virtualenv virtualenv env

      Now we have a virtual environment, so start the Django project using the below command.


      django-admin startproject stud_management cd stud_management django-admin startapp student

      Now we can check the chúng tôi file of our application, as shown below code.


      INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ' student ', ]

      In the next step, we need to create the models inside the model file, as shown below code.

      from chúng tôi import models class Stud(models.Model): stud_name = models.CharField(max_length=255) class Meta: verbose_name_plural = 'studnames' def __str__(self): return self.stud_name class studclass(models.Model): classname = models.CharField(max_length=150) classteacher = models.CharField(max_length=100') studcount = models.CharField(max_length=13) class Meta: conduct= ['Conducted_Date'] def __str__(self): return self.stud_name class subject(models.Model): subject_name = models.CharField(max_length=10) topic= models.CharField(max_length=100) class Meta: ordering = ['Conducted_Date'] def __str__(self): return self.subjectname


      In the above code, we created three models as shown; now, we need to register our model in the admin file as shown below code.


      from django.contrib import admin from .models import Stud, studclass, subject

      After registration, we need to migrate with the help of the below commands as follows.


      python chúng tôi makemigrations python chúng tôi migrate

      Once migration is done, we can start the server using the below command.


      python chúng tôi runserver

      Now we need to add the GraphQL url inside the chúng tôi file as follows.


      from django.contrib import admin from chúng tôi import path from graphene_django.views import GraphQLView from student.schema import schema urls = [ path('admin/',, path("graphql", GraphQLView.as_view(graphiql=True, schema=schema)), ]

      Let’s consider the chúng tôi file below.


      [ { "model": "studclass", "classname":"First" , "classteache":"Jenny" "studcount": 34 }, { "model": "studclass", "classname":"Second" , "classteache":"Jhon" "studcount": 30 } } ]

      Now we need to run the below command to load data.


      python chúng tôi loaddata stud.json

      After executing the above command, we can see the output on the screen below.



      With the help of the above article, we saw Django GraphQL. From this article, we saw basic things about Django GraphQL, its features and installation of Django GraphQL, and how we use it in Django GraphQL.

      Recommended Articles

      We hope that this EDUCBA information on “Django GraphQL” was beneficial to you. You can view EDUCBA’s recommended articles for more information.

      A Complete Guide To Pytorch Tensors

      Introduction to PyTorch Tensors

      The following article provides an outline for PyTorch Tensors. PyTorch was released as an open-source framework in 2023 by Facebook, and it has been very popular among developers and the research community. PyTorch has made building deep neural network models by providing easy programming and faster computation. However, PyTorch’s strong feature is providing Tensors. Tensors are defined as single dimensions or a matrix of a multi-dimensional array containing an element of single data types.

      Start Your Free Software Development Course

      Web development, programming languages, Software testing & others

      Tensors are also used in the Tensorflow framework, which Google released. NumPy Arrays in Python are basically just tensors processed by using GPUs or TPUs for training neural network models. PyTorch has libraries included in it for calculating gradient descent for feed-forward networks as well as back-propagation. PyTorch has more support to the Python libraries like NumPy and Scipy compared to other frameworks like Tensorflow.

      PyTorch Tensors Dimensions

      In any linear algebraic operations, the user may have data in vector, matrix or N-dimensional form. Vector is basically a single-dimensional tensor, Matrix is two-dimensional tensors, and an Image is a 3-dimensional tensor with RGB as a dimension. PyTorch tensor is a multi-dimensional array, same as NumPy and also it acts as a container or storage for the number. To create any neural network for a deep learning model, all linear algebraic operations are performed on Tensors to transform one tensor to new tensors.


      import torch tensor_1 = torch.rand(3,3)

      Here random tensor of size 3*3 is created.

      How to Create PyTorch Tensors Using Various Methods

      Let’s create a different PyTorch tensor before creating any tensor import torch class using the below command:


      import torch

      1. Create tensor from pre-existing data in list or sequence form using torch class.

      It is a 2*3 matrix with values as 0 and 1.


      torch.tensor(data, dtype=None, device=None, requires_grad=False, pin_memory=False)


      import torch tensor_b = torch.Tensor([[0,0,0], [1,1,1]]) tensor_b


      2. Create n*m tensor from random function in the torch.


      torch.randn(data_size, dtype=input.dtype, layout=input.layout, device=input.device)


      import torch tensor_a = torch.rand((3, 3)) tensor_a


      3. Creating a tensor from numerical types using functions such as ones and zeros.

      torch.zeros(data_size, dtype=input.dtype, layout=input.layout, device=input.device)


      tensor_d = torch.zeros(3, 3) tensor_d


      In the above, tensor .zeros() is used to create a 3*3 matrix with all the values as ‘0’ (zero).

      4. Creating a PyTorch tensor from the numpy tensor.

      To create a tensor from numpy, create an array using numpy and then convert it to tensor using the .as_tensor keyword.


      torch.as_tensor(data, dtype=None, device=None)


      import numpy arr = numpy.array([0, 1, 2, 4]) tensor_e = torch.as_tensor(arr) tensor_e


      Here is the basic tensor operation to perform the matrix product and get a new tensor.


      tensor_e = torch.Tensor([[1, 2], [7, 8]]) tensor_f = torch.Tensor([[10], [20]]) tensor_mat = tensor_mat



      Here is the list and information on parameters used in syntax:

      data: Data for tensors.

      dtype: Datatype of the returned tensor.

      device: Device used is CPU or CUDA device with returned tensor.

      requires_grad: It is a boolean data type with values as True or False to record automatic gradient on returned tensor.

      data_size: Data shape of the input tensor.

      pin_memory: If the pin_memory is set to Truly returned tensor will have pinned memory.

      See below jupyter notebook for the above operation to create tensors.

      Importance of Tensors in PyTorch

      Tensor is the building block of the PyTorch libraries with a matrix-like structure. Tensors are important in PyTorch framework as it supports to perform a mathematical operation on the data.

      Following are some of the key important points of tensors in PyTorch:

      Tensors are important in the PyTorch as it is a fundamental data structure and all the neural network models are built using tensors as it has the ability to perform linear algebra operations

      Tensors are similar to numpy arrays, but they are way more powerful than the numpy array as They perform their computation GPU or CPU. Hence, It is way more faster than the numpy library of python.

      It offers seamless interoperability with Python libraries so that the programmer can easily use Sci-kit, SciPy libraries with tensors. Also, using functions like as_tensors or from_numpy programmer can easily convert the numpy array to PyTorch tensors.

      One of the important features offered by tensor is it can store track of all the operations performed on them, which helps to compute the gradient descent of output; this can be done using Autograd functionality of tensors.

      It is a multi-dimensional array which holds data for Images that can be converted into a 3-dimensional array based on its color like RGB (Red, Green and Blue); also, it holds Audio data or Time series data; any unstructured data can be addressed using tensors.


      To learn PyTorch framework for building deep learning models for computer vision, Natural language processing or reinforcement learning. In the above tutorial, a programmer can get an idea of how useful and simple it is to learn and implement tensors in PyTorch. Of course, tensors can be used in PyTorch as well as Tensorflow. Still, the basic idea behind using tensors stays the same: using GPU or CPU with Cuda cores to process data faster which one framework to use for building models is developers decisions. Still, the above articles give a clear idea about tensor in the PyTorch.

      Recommended Articles

      We hope that this EDUCBA information on “PyTorch Tensors” was beneficial to you. You can view EDUCBA’s recommended articles for more information.

      Decision Tree Algorithm – A Complete Guide

      Decision trees are a popular machine learning algorithm that can be used for both regression and classification tasks. They are easy to understand, interpret, and implement, making them an ideal choice for beginners in the field of machine learning. In this comprehensive guide, we will cover all aspects of the decision tree algorithm, including the working principles, different types of decision trees, the process of building decision trees, and how to evaluate and optimize decision trees. By the end of this article, you will have a complete understanding of decision trees and how they can be used to solve real-world problems. Please check the decision tree full course tutorial for FREE given below.

      Decision Tree Full Course Tutorial

      This article was published as a part of the Data Science Blogathon!

      What is a Decision Tree?

      A decision tree is a predictive model that uses a flowchart-like structure to make decisions based on input data. It divides data into branches and assigns outcomes to leaf nodes. Decision trees are used for classification and regression tasks, providing easy-to-understand models.

      A decision tree is a hierarchical model used in decision support that depicts decisions and their potential outcomes, incorporating chance events, resource expenses, and utility. This algorithmic model utilizes conditional control statements and is non-parametric, supervised learning, useful for both classification and regression tasks. The tree structure is comprised of a root node, branches, internal nodes, and leaf nodes, forming a hierarchical, tree-like structure.

      It is a tool that has applications spanning several different areas. Decision trees can be used for classification as well as regression problems. The name itself suggests that it uses a flowchart like a tree structure to show the predictions that result from a series of feature-based splits. It starts with a root node and ends with a decision made by leaves.

      Decision Tree Terminologies

      Before learning more about decision trees let’s get familiar with some of the terminologies:

      Root Nodes – It is the node present at the beginning of a decision tree from this node the population starts dividing according to various features.

      Decision Nodes – the nodes we get after splitting the root nodes are called Decision Node

      Leaf Nodes – the nodes where further splitting is not possible are called leaf nodes or terminal nodes

      Sub-tree – just like a small portion of a graph is called sub-graph similarly a sub-section of this decision tree is called sub-tree.

      Pruning – is nothing but cutting down some nodes to stop overfitting.

      Example of Decision Tree

      Let’s understand decision trees with the help of an example:

      Decision trees are upside down which means the root is at the top and then this root is split into various several nodes. Decision trees are nothing but a bunch of if-else statements in layman terms. It checks if the condition is true and if it is then it goes to the next node attached to that decision.

      In the below diagram the tree will first ask what is the weather? Is it sunny, cloudy, or rainy? If yes then it will go to the next feature which is humidity and wind. It will again check if there is a strong wind or weak, if it’s a weak wind and it’s rainy then the person may go and play.

      Did you notice anything in the above flowchart? We see that if the weather is cloudy then we must go to play. Why didn’t it split more? Why did it stop there?

      To answer this question, we need to know about few more concepts like entropy, information gain, and Gini index. But in simple terms, I can say here that the output for the training dataset is always yes for cloudy weather, since there is no disorderliness here we don’t need to split the node further.

      The goal of machine learning is to decrease uncertainty or disorders from the dataset and for this, we use decision trees.

      Now you must be thinking how do I know what should be the root node? what should be the decision node? when should I stop splitting? To decide this, there is a metric called “Entropy” which is the amount of uncertainty in the dataset.


      Entropy is nothing but the uncertainty in our dataset or measure of disorder. Let me try to explain this with the help of an example.

      Suppose you have a group of friends who decides which movie they can watch together on Sunday. There are 2 choices for movies, one is “Lucy” and the second is “Titanic” and now everyone has to tell their choice. After everyone gives their answer we see that “Lucy” gets 4 votes and “Titanic” gets 5 votes. Which movie do we watch now? Isn’t it hard to choose 1 movie now because the votes for both the movies are somewhat equal.

      This is exactly what we call disorderness, there is an equal number of votes for both the movies, and we can’t really decide which movie we should watch. It would have been much easier if the votes for “Lucy” were 8 and for “Titanic” it was 2. Here we could easily say that the majority of votes are for “Lucy” hence everyone will be watching this movie.

      In a decision tree, the output is mostly “yes” or “no”

      The formula for Entropy is shown below:

      Here p+ is the probability of positive class

      p– is the probability of negative class

      S is the subset of the training example

      How do Decision Trees use Entropy?

      Now we know what entropy is and what is its formula, Next, we need to know that how exactly does it work in this algorithm.

      Entropy basically measures the impurity of a node. Impurity is the degree of randomness; it tells how random our data is. Apure sub-splitmeans that either you should be getting “yes”, or you should be getting “no”.

      Supposea featurehas 8 “yes” and 4 “no” initially, after the first split the left node gets 5 ‘yes’ and 2 ‘no’whereas right node gets 3 ‘yes’ and 2 ‘no’.

      We see here the split is not pure, why? Because we can still see some negative classes in both the nodes. In order to make a decision tree, we need to calculate the impurity of each split, and when the purity is 100%, we make it as a leaf node.

      To check the impurity of feature 2 and feature 3 we will take the help for Entropy formula.

      For feature 3,

      We can clearly see from the tree itself that left node has low entropy or more purity than right node since left node has a greater number of “yes” and it is easy to decide here.

      Always remember that the higher the Entropy, the lower will be the purity and the higher will be the impurity.

      As mentioned earlier the goal of machine learning is to decrease the uncertainty or impurity in the dataset, here by using the entropy we are getting the impurity of a particular node, we don’t know if the parent entropy or the entropy of a particular node has decreased or not.

      For this, we bring a new metric called “Information gain” which tells us how much the parent entropy has decreased after splitting it with some feature.

      Information Gain

      Information gain measures the reduction of uncertainty given some feature and it is also a deciding factor for which attribute should be selected as a decision node or root node.

      It is just entropy of the full dataset – entropy of the dataset given some feature.

      To understand this better let’s consider an example:Suppose our entire population has a total of 30 instances. The dataset is to predict whether the person will go to the gym or not. Let’s say 16 people go to the gym and 14 people don’t

      Now we have two features to predict whether he/she will go to the gym or not.

      Feature 1 is “Energy” which takes two values “high” and “low”

      Feature 2 is “Motivation” which takes 3 values “No motivation”, “Neutral” and “Highly motivated”.

      Let’s see how our decision tree will be made using these 2 features. We’ll use information gain to decide which feature should be the root node and which feature should be placed after the split.

      Image Source: Author

      Let’s calculate the entropy

      To see the weighted average of entropy of each node we will do as follows:

      Our parent entropy was near 0.99 and after looking at this value of information gain, we can say that the entropy of the dataset will decrease by 0.37 if we make “Energy” as our root node.

      Similarly, we will do this with the other feature “Motivation” and calculate its information gain.

      Image Source: Author

      Let’s calculate the entropy here:

      To see the weighted average of entropy of each node we will do as follows:

      We now see that the “Energy” feature gives more reduction which is 0.37 than the “Motivation” feature. Hence we will select the feature which has the highest information gain and then split the node based on that feature.

      In this example “Energy” will be our root node and we’ll do the same for sub-nodes. Here we can see that when the energy is “high” the entropy is low and hence we can say a person will definitely go to the gym if he has high energy, but what if the energy is low? We will again split the node based on the new feature which is “Motivation”.

      When to Stop Splitting?

      You must be asking this question to yourself that when do we stop growing our tree? Usually, real-world datasets have a large number of features, which will result in a large number of splits, which in turn gives a huge tree. Such trees take time to build and can lead to overfitting. That means the tree will give very good accuracy on the training dataset but will give bad accuracy in test data.

      There are many ways to tackle this problem through hyperparameter tuning. We can set the maximum depth of our decision tree using themax_depth parameter. The more the value of max_depth, the more complex your tree will be. The training error will off-course decrease if we increase the max_depth value but when our test data comes into the picture, we will get a very bad accuracy. Hence you need a value that will not overfit as well as underfit our data and for this, you can use GridSearchCV.

      Another way is to set the minimum number of samples for each spilt. It is denoted by min_samples_split. Here we specify the minimum number of samples required to do a spilt. For example, we can use a minimum of 10 samples to reach a decision. That means if a node has less than 10 samples then using this parameter, we can stop the further splitting of this node and make it a leaf node.

      There are more hyperparameters such as :

      min_samples_leaf – represents the minimum number of samples required to be in the leaf node. The more you increase the number, the more is the possibility of overfitting.

      max_features – it helps us decide what number of features to consider when looking for the best split.

      To read more about these hyperparameters you can read ithere.


      Pruning is another method that can help us avoid overfitting. It helps in improving the performance of the tree by cutting the nodes or sub-nodes which are not significant. Additionally, it removes the branches which have very low importance.

      There are mainly 2 ways for pruning:

      Pre-pruning – we can stop growing the tree earlier, which means we can prune/remove/cut a node if it has low importance while growing the tree.

      Post-pruning – once our tree is built to its depth, we can start pruning the nodes based on their significance.


      To summarize, in this article we learned about decision trees. On what basis the tree splits the nodes and how to can stop overfitting. why linear regression doesn’t work in the case of classification chúng tôi check out the full implementation of decision trees please refer to my Github repository. You can master all the Data Science topics with our Black Belt Plus Program with out 50+ projects and 20+ tools. Start your learning journey today!

      Frequently Asked Questions

      Q1. What is decision tree and example?

      A. A decision tree is a tree-like structure that represents a series of decisions and their possible consequences. It is used in machine learning for classification and regression tasks. An example of a decision tree is a flowchart that helps a person decide what to wear based on the weather conditions.

      Q2. What is the purpose of decision tree?

      A. The purpose of a decision tree is to make decisions or predictions by learning from past data. It helps to understand the relationships between input variables and their outcomes and identify the most significant features that contribute to the final decision.

      Q3. What are the 4 types of decision tree?

      A. The four types of decision trees are Classification tree, Regression tree, Cost-complexity pruning tree, and Reduced Error Pruning tree.

      Q4. What is a decision tree algorithm?

      A. A decision tree algorithm is a machine learning algorithm that uses a decision tree to make predictions. It follows a tree-like model of decisions and their possible consequences. The algorithm works by recursively splitting the data into subsets based on the most significant feature at each node of the tree.

      Q5. Which algorithm is best for decision tree?

      A. The best algorithm for decision trees depends on the specific problem and dataset. Popular decision tree algorithms include ID3, C4.5, CART, and Random Forest. Random Forest is considered one of the best algorithms as it combines multiple decision trees to improve accuracy and reduce overfitting.


      Update the detailed information about Rcs Messaging On Android: A Complete Guide With 14 Tips on the website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!