title
R Shiny for Data Science Tutorial – Build Interactive Data-Driven Web Apps

description
Learn how to build interactive data-driven web apps in R using the Shiny package. ✏️ Course developed by Chanin Nantasenamat (aka Data Professor). Check out his YouTube channel for more bioinformatics and data science tutorials: https://www.youtube.com/dataprofessor ⭐️ Code ⭐️ 💻 Apps 1-5: https://github.com/dataprofessor/rshiny_freecodecamp 💻 Deploy Shiny App: https://github.com/dataprofessor/iris-r-heroku 🔗 Medium blog posts for more data science tutorials https://data-professor.medium.com/ 🔗 For updates connect via Newsletter: http://newsletter.dataprofessor.org/ 🔗 Twitter: https://twitter.com/thedataprof/ ⭐️ Course Contents ⭐️ ⌨️ (0:00:00) Introduction ⌨️ (0:01:13) Introduction to Shiny ⌨️ (0:08:24) App 1 – Print User Input ⌨️ (0:21:12) App 2 – Display Histogram ⌨️ (0:32:07) App 3 – Machine Learning (Weather Dataset) ⌨️ (0:47:51) App 4 – Machine Learning (Iris Dataset) ⌨️ (1:05:03) App 5 – BMI Calculator ⌨️ (1:19:18) Deploy Shiny Apps to Heroku 🎉 Thanks to our Champion and Sponsor supporters: 👾 Wong Voon jinq 👾 hexploitation 👾 Katia Moran 👾 BlckPhantom 👾 Nick Raker 👾 Otis Morgan 👾 DeezMaster 👾 AppWrite -- Learn to code for free and get a developer job: https://www.freecodecamp.org Read hundreds of articles on programming: https://freecodecamp.org/news

detail
{'title': 'R Shiny for Data Science Tutorial – Build Interactive Data-Driven Web Apps', 'heatmap': [{'end': 573.381, 'start': 462.42, 'weight': 1}, {'end': 2281.959, 'start': 2223.746, 'weight': 0.913}, {'end': 2754.148, 'start': 2692.712, 'weight': 0.762}], 'summary': 'This tutorial on r shiny for data science covers building interactive web apps with user input, data visualization, and machine learning predictions. it includes examples of predicting protein sequence structure, building a golf play prediction app, and developing an iris species predictor, achieving high prediction accuracies and demonstrating customization options.', 'chapters': [{'end': 322.809, 'segs': [{'end': 27.255, 'src': 'embed', 'start': 0.069, 'weight': 3, 'content': [{'end': 6.33, 'text': 'Learn to use R to create an interactive data-driven application using the R Shiny package.', 'start': 0.069, 'duration': 6.261}, {'end': 10.851, 'text': 'Dr. Chinen Natasnamat, also known as the Data Professor, teaches this course.', 'start': 6.57, 'duration': 4.281}, {'end': 15.032, 'text': 'Besides teaching on his YouTube channel, he is also a university professor.', 'start': 11.171, 'duration': 3.861}, {'end': 21.054, 'text': 'You probably know that the R programming language can help you to perform statistical analysis.', 'start': 15.512, 'duration': 5.542}, {'end': 27.255, 'text': 'But did you know that you could use R to build an interactive, data-driven web application?', 'start': 21.334, 'duration': 5.921}], 'summary': 'Dr. chinen natasnamat, the data professor, teaches r shiny for creating interactive data-driven web applications.', 'duration': 27.186, 'max_score': 0.069, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA69.jpg'}, {'end': 236.471, 'src': 'embed', 'start': 212.725, 'weight': 6, 'content': [{'end': 221.067, 'text': 'So there are the integration of maps right inside shiny application and also interactive scatter plots.', 'start': 212.725, 'duration': 8.342}, {'end': 223.508, 'text': 'you can also embed Google Charts as well.', 'start': 221.067, 'duration': 2.441}, {'end': 226.728, 'text': 'you could perform k means clustering.', 'start': 223.508, 'duration': 3.22}, {'end': 232.369, 'text': 'you could create some bar charts using available data set from the data set package.', 'start': 226.728, 'duration': 5.641}, {'end': 236.471, 'text': 'And then you could also create a word cloud Okay, and there are several others.', 'start': 232.73, 'duration': 3.741}], 'summary': 'Shiny app integrates maps, scatter plots, google charts, k means clustering, bar charts, and word cloud.', 'duration': 23.746, 'max_score': 212.725, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA212725.jpg'}, {'end': 322.809, 'src': 'embed', 'start': 295.983, 'weight': 0, 'content': [{'end': 304.607, 'text': "For example, if it's 25, it means that the current word like love has to be present at least 25 times or 26 times in order for it to be counted here.", 'start': 295.983, 'duration': 8.624}, {'end': 308.109, 'text': 'How many words are we limiting to be displayed here?', 'start': 304.848, 'duration': 3.261}, {'end': 316.854, 'text': "Okay, and these accept input from the books of our choice A Midsummer Night's Dream, The Merchant of Venice or Romeo and Juliet.", 'start': 308.129, 'duration': 8.725}, {'end': 322.809, 'text': 'We have to click on the change button.', 'start': 321.488, 'duration': 1.321}], 'summary': 'Text analysis tool requires word frequency, accepts input from specific books, and allows changing word limit.', 'duration': 26.826, 'max_score': 295.983, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA295983.jpg'}], 'start': 0.069, 'title': 'Using r shiny for interactive apps', 'summary': 'Introduces a course on using r shiny to build data-driven web apps with dr. chinen natasnamat, covering user input, data visualization, machine learning predictions, and heroku deployment. it also covers the basics of shiny web app development, its components, deployment options, and examples in the shiny gallery.', 'chapters': [{'end': 70.098, 'start': 0.069, 'title': 'R shiny: build interactive data apps', 'summary': 'Introduces a course on using the r shiny package to build interactive, data-driven web applications, covering simple user input and data visualization to machine learning predictions, and deployment to heroku, taught by dr. chinen natasnamat, the data professor.', 'duration': 70.029, 'highlights': ['Dr. Chinen Natasnamat, the Data Professor, teaches a course on using R Shiny to build interactive, data-driven web applications, covering simple user input and data visualization to machine learning predictions, and deployment to Heroku.', 'R programming language can be used to build interactive, data-driven web applications using the R Shiny package.', 'The course will cover building a variety of web applications using R Shiny, including simple applications for user input, data visualization, and machine learning predictions.', 'The tutorial will also include instructions on deploying the web applications created to the cloud via the Heroku platform.', 'All codes used in the tutorial will be provided in the video description.']}, {'end': 322.809, 'start': 75.615, 'title': 'Shiny web application basics', 'summary': 'Covers the basics of building interactive web applications using the shiny package in r, including its components, deployment options, and examples available in the shiny gallery.', 'duration': 247.194, 'highlights': ['Shiny web app comprises of three components: user interface, server function, and shiny app function. The Shiny web app consists of user interface, server function, and shiny app function, where the user interface accepts user input values, the server processes these values, and the shiny app function fuses the UI and server components together.', 'Examples available in the Shiny gallery include interactive maps, scatter plots, Google Charts, k-means clustering, bar charts, word cloud generator, and various widgets. The Shiny gallery offers examples like interactive maps, scatter plots, Google Charts, k-means clustering, bar charts, word cloud generator, buttons, tables, slider, input slider, downloading and uploading files, and subsetting datasets.', 'Interactive features of the examples in the Shiny gallery include zooming in on maps, updating map based on input, sorting data in interactive tables, and customizing word cloud generator parameters. The interactive examples in the Shiny gallery allow zooming in on maps, updating maps based on input, sorting data in interactive tables, and customizing parameters such as minimum frequency and word limits in the word cloud generator.']}], 'duration': 322.74, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA69.jpg', 'highlights': ['Dr. Chinen Natasnamat teaches R Shiny for building data-driven web apps with user input, data visualization, ML predictions, and Heroku deployment.', 'R programming language enables building interactive, data-driven web apps using R Shiny package.', 'Course covers building various web apps with R Shiny, including user input, data visualization, and ML predictions.', 'Tutorial includes instructions for deploying web apps to Heroku and provides all codes in the video description.', 'Shiny web app consists of user interface, server function, and shiny app function for processing user input values.', 'Shiny gallery examples include interactive maps, scatter plots, Google Charts, k-means clustering, and word cloud generator.', 'Interactive features in Shiny gallery examples allow zooming in on maps, updating maps based on input, and sorting data in interactive tables.']}, {'end': 947.464, 'segs': [{'end': 426.623, 'src': 'embed', 'start': 400.757, 'weight': 1, 'content': [{'end': 408.659, 'text': 'Okay, so we see that the prediction is correct on both occasion because the first one is a monomer and it predicts it to be a monomer.', 'start': 400.757, 'duration': 7.902}, {'end': 412.92, 'text': 'And the second one is a tetramer and it predicts it to be an oligomer.', 'start': 408.919, 'duration': 4.001}, {'end': 416.941, 'text': 'Okay, so this is the interface of the prediction web server.', 'start': 413.2, 'duration': 3.741}, {'end': 421.622, 'text': 'And if you click on the other buttons, it will look like any other ordinary website.', 'start': 417.161, 'duration': 4.461}, {'end': 426.623, 'text': 'Okay, so these are description on how to use the web server.', 'start': 421.722, 'duration': 4.901}], 'summary': "Prediction web server's accuracy: 100% for monomer, 0% for tetramer", 'duration': 25.866, 'max_score': 400.757, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA400757.jpg'}, {'end': 573.381, 'src': 'heatmap', 'start': 444.674, 'weight': 0, 'content': [{'end': 451.078, 'text': 'Okay, so this is the paper that we published back in 2016, in the Journal of chem informatics.', 'start': 444.674, 'duration': 6.404}, {'end': 454.14, 'text': "Okay, so let's go back to the slide.", 'start': 451.098, 'duration': 3.042}, {'end': 462.3, 'text': "And let's get started with creating our own web app using shiny.", 'start': 457.678, 'duration': 4.622}, {'end': 467.682, 'text': 'So what you want to do now is fire up your RStudio or RStudio dot cloud.', 'start': 462.42, 'duration': 5.262}, {'end': 474.285, 'text': 'Okay And so the code that will be used today is available on the data professor GitHub.', 'start': 467.702, 'duration': 6.583}, {'end': 479.507, 'text': 'So if you go to github.com slash data professor, okay, and then you click on code.', 'start': 474.405, 'duration': 5.102}, {'end': 484.109, 'text': 'And then find shiny slash 001 first app.', 'start': 481.228, 'duration': 2.881}, {'end': 491.976, 'text': 'And then you want to click on app dot R.', 'start': 487.572, 'duration': 4.404}, {'end': 495.44, 'text': 'And then you want to right click on the raw button right here.', 'start': 491.976, 'duration': 3.464}, {'end': 504.368, 'text': 'And then you want to click on the save link as and then select a suitable position where you want to save the file.', 'start': 497.221, 'duration': 7.147}, {'end': 508.472, 'text': 'And because I already have it, I will just click on cancel.', 'start': 505.229, 'duration': 3.243}, {'end': 511.055, 'text': "But if you don't have it yet, click on the Save button.", 'start': 508.512, 'duration': 2.543}, {'end': 516.597, 'text': "Okay So let's open up the app dot r file right inside the RStudio.", 'start': 511.575, 'duration': 5.022}, {'end': 526.5, 'text': 'Okay so, before we begin, a credit to Winston Chang for developing this template, by which we greatly modified and simplified to make this app dot?', 'start': 516.917, 'duration': 9.583}, {'end': 527.08, 'text': 'r file.', 'start': 526.5, 'duration': 0.58}, {'end': 532.041, 'text': 'So if you want to check out the full version, go ahead here, links are provided here.', 'start': 527.54, 'duration': 4.501}, {'end': 537.225, 'text': "Okay, so in this simplification, we're going to start with the baby steps.", 'start': 532.301, 'duration': 4.924}, {'end': 546.514, 'text': 'So this web app is an interactive web application whereby it will accept input values in the form of text, primarily the given name and surname.', 'start': 537.526, 'duration': 8.988}, {'end': 547.555, 'text': "So let's have a look.", 'start': 546.534, 'duration': 1.021}, {'end': 553.5, 'text': 'Okay, so the app will accept input, which is the given name and the surname.', 'start': 547.575, 'duration': 5.925}, {'end': 557.143, 'text': "Okay, so let's go ahead and type the given name, John, and then surname is still.", 'start': 553.52, 'duration': 3.623}, {'end': 561.268, 'text': 'Okay, and so the name John Doe will appear in the output here.', 'start': 558.304, 'duration': 2.964}, {'end': 563.57, 'text': 'And the name of the app is My First App.', 'start': 561.548, 'duration': 2.022}, {'end': 565.913, 'text': 'You can also modify this to your own liking.', 'start': 563.63, 'duration': 2.283}, {'end': 568.756, 'text': 'Okay, and in this example, we have three navigation bar.', 'start': 565.933, 'duration': 2.823}, {'end': 573.381, 'text': 'So we intentionally left it blank here according to the original template by Winston Chang.', 'start': 569.016, 'duration': 4.365}], 'summary': 'Published paper in 2016, creating a web app using shiny to accept input values in the form of text.', 'duration': 82.406, 'max_score': 444.674, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA444674.jpg'}], 'start': 322.829, 'title': 'Protein sequence prediction and shiny app', 'summary': 'Delves into using machine learning in a web server to predict protein sequence structure with 100% accuracy, and also explores creating an interactive web application using shiny app with customizable features and modular components.', 'chapters': [{'end': 421.622, 'start': 322.829, 'title': 'Web server for protein sequence prediction', 'summary': 'Explores the usage of machine learning in a web server to predict if a given protein sequence is an oligomer or a monomer, achieving 100% accuracy in the provided examples.', 'duration': 98.793, 'highlights': ['The web server uses machine learning to predict if a given protein sequence is an oligomer or a monomer, with 100% accuracy in the provided examples.', 'The interface of the prediction web server resembles that of an ordinary website, providing user-friendly interaction.']}, {'end': 947.464, 'start': 421.722, 'title': 'Using shiny app for web server', 'summary': 'Discusses using a shiny app to create an interactive web application, accepting input values, modifying themes, and explaining the modular components of the code.', 'duration': 525.742, 'highlights': ['The app is an interactive web application that accepts input values in the form of text, primarily the given name and surname. The app allows users to input given name and surname, and automatically displays the name in the output section.', 'The code is very concise and consists of three components: UI, server, and the shiny app function, which fuses UI and server to create a shiny app object. The code comprises three components: UI, server, and the shiny app function, which simplifies the process of creating a shiny app object.', "The UI includes modular components such as fluid page, theme definition, navigation bar page, and tab panels, allowing for customization of the app's appearance and functionality. The UI consists of modular components like fluid page, theme definition, navigation bar page, and tab panels, allowing for customization of the app's appearance and functionality.", 'The sidebar panel accepts input values, such as the given name, and the main panel displays the output, with options to modify the header tags for text size. The sidebar panel accepts input values like the given name, and the main panel displays the output, with options to modify the header tags for text size.']}], 'duration': 624.635, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA322829.jpg', 'highlights': ['The web server uses machine learning to predict if a given protein sequence is an oligomer or a monomer, with 100% accuracy in the provided examples.', 'The interface of the prediction web server resembles that of an ordinary website, providing user-friendly interaction.', 'The app is an interactive web application that accepts input values in the form of text, primarily the given name and surname.', "The UI includes modular components such as fluid page, theme definition, navigation bar page, and tab panels, allowing for customization of the app's appearance and functionality.", 'The sidebar panel accepts input values, such as the given name, and the main panel displays the output, with options to modify the header tags for text size.']}, {'end': 1867.522, 'segs': [{'end': 1003.258, 'src': 'embed', 'start': 973.682, 'weight': 0, 'content': [{'end': 977.225, 'text': 'Right?. How does UI send the input value to the server?', 'start': 973.682, 'duration': 3.543}, {'end': 979.827, 'text': 'And how does the server accept the input value?', 'start': 977.505, 'duration': 2.322}, {'end': 981.569, 'text': "Okay, let's have a look right here.", 'start': 979.847, 'duration': 1.722}, {'end': 988.497, 'text': 'So notice that the text box has this thing called text1, TXT1, right, in the given name.', 'start': 981.869, 'duration': 6.628}, {'end': 990.759, 'text': 'Okay, and the surname is TXT2.', 'start': 988.517, 'duration': 2.242}, {'end': 993.282, 'text': 'Okay, notice that, make a note of that.', 'start': 990.999, 'duration': 2.283}, {'end': 996.145, 'text': 'How about I put it in the comments? TXT1.', 'start': 993.582, 'duration': 2.563}, {'end': 1003.258, 'text': 'and txt2, and make a note of this too.', 'start': 999.694, 'duration': 3.564}], 'summary': 'Ui sends input value to server and server accepts it. text box names: txt1, txt2.', 'duration': 29.576, 'max_score': 973.682, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA973682.jpg'}, {'end': 1330.571, 'src': 'embed', 'start': 1301.995, 'weight': 1, 'content': [{'end': 1307.056, 'text': "So in this video, we're going to show you how you can develop your second web app in R.", 'start': 1301.995, 'duration': 5.061}, {'end': 1310.077, 'text': 'And so the web app today is really quite simple.', 'start': 1307.056, 'duration': 3.021}, {'end': 1314.758, 'text': 'The web app will display a histogram of the air quality dataset.', 'start': 1310.257, 'duration': 4.501}, {'end': 1323.805, 'text': 'particularly the ozone levels and the user will be able to adjust the bin size and then the histogram will adjust accordingly.', 'start': 1314.938, 'duration': 8.867}, {'end': 1325.987, 'text': "Okay, so let's get started.", 'start': 1324.706, 'duration': 1.281}, {'end': 1330.571, 'text': 'So what you want to do now is go to the data professor GitHub.', 'start': 1326.147, 'duration': 4.424}], 'summary': 'Develop a second web app in r to display a histogram of air quality dataset with adjustable bin size.', 'duration': 28.576, 'max_score': 1301.995, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA1301995.jpg'}, {'end': 1577.094, 'src': 'embed', 'start': 1545.35, 'weight': 2, 'content': [{'end': 1547.111, 'text': 'And the default value is 30.', 'start': 1545.35, 'duration': 1.761}, {'end': 1549.313, 'text': "So you can adjust the maximum, let's say 40.", 'start': 1547.111, 'duration': 2.202}, {'end': 1551.355, 'text': 'And the default, you can adjust it to 20.', 'start': 1549.313, 'duration': 2.042}, {'end': 1553.578, 'text': 'And then we will save it and reload the app.', 'start': 1551.355, 'duration': 2.223}, {'end': 1558.022, 'text': "Okay, and then you're going to see that the web app automatically updates to one in 40.", 'start': 1553.898, 'duration': 4.124}, {'end': 1562.787, 'text': "And with the default of 20, can you when you slide it, it'll update as before.", 'start': 1558.022, 'duration': 4.765}, {'end': 1573.152, 'text': 'So here you can see that the step size is one, because when you slide the button it will incrementally increase by one.', 'start': 1564.028, 'duration': 9.124}, {'end': 1577.094, 'text': "let's say that you want to modify the step size to another number.", 'start': 1573.152, 'duration': 3.942}], 'summary': 'Adjust step size from default 1 to 30, then observe automatic update in web app.', 'duration': 31.744, 'max_score': 1545.35, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA1545350.jpg'}], 'start': 947.484, 'title': 'Shiny app components and functionality', 'summary': 'Delves into shiny app components, demonstrating ui and server interaction, development of web applications in r, and functionality such as modifying input values and automatic updates of plots. it includes examples of input modifications and slider adjustments.', 'chapters': [{'end': 1137.64, 'start': 947.484, 'title': 'Ui and server interaction', 'summary': 'Explains the interaction between the ui and server, detailing how input values are sent to the server, processed, and displayed back on the ui.', 'duration': 190.156, 'highlights': ['The text box with given names TXT1 and TXT2 will send input values to the server, with txtout being generated from the server. The text box with given names TXT1 and TXT2 will send input values to the server, with txtout being generated from the server.', 'The server processes txt1 and txt2 as input, and then sends txtout back, which will be displayed on the UI. The server processes txt1 and txt2 as input, and then sends txtout back, which will be displayed on the UI.', 'The output txtout is produced using the paste function to combine txt1 and txt2, and then displayed within the text box. The output txtout is produced using the paste function to combine txt1 and txt2, and then displayed within the text box.']}, {'end': 1420.709, 'start': 1137.92, 'title': 'Developing shiny web applications in r', 'summary': 'Demonstrates the development of a simple web application in r, allowing users to input first and last names to display the result, and also shows the creation of a second web app displaying a histogram of the air quality dataset with adjustable bin size.', 'duration': 282.789, 'highlights': ['The web app allows users to input the first and last names to display the output, representing the first episode of the web app series. This highlights the key feature of the first web app developed, enabling users to input names and display the result.', 'The second web app displays a histogram of the air quality dataset with adjustable bin size, allowing users to visualize ozone levels. This highlights the key feature of the second web app, demonstrating the visualization of ozone levels with adjustable bin size.', "The app's UI contains components for accepting input of given name and surname, sending it to the server, and displaying the results in a text box on the UI. This highlights the components and functionality of the app's user interface, explaining its input and display process."]}, {'end': 1867.522, 'start': 1421.229, 'title': 'Shiny app components and functionality', 'summary': 'Explains the components of a shiny app, including the ui and server, and demonstrates the functionality of modifying input values and automatic updates of the plot, with specific examples such as adjusting step size and modifying slider input values.', 'duration': 446.293, 'highlights': ['The Shiny app consists of UI and server components, which interact to generate and display output, with the UI allowing for user input and the server processing it to generate the output plot. The Shiny app comprises UI and server components that work together to process user input and generate output plots.', 'The functionality of the Shiny app is demonstrated by modifying the slider input values, adjusting step size, and observing the automatic updates of the plot based on the input. The functionality of the Shiny app is illustrated through examples such as modifying slider input values, adjusting step size, and observing automatic plot updates.', 'Specific examples include adjusting the maximum and default values of the slider input, modifying the step size, and understanding the impact of adjusting the minimum value on the step size. Specific examples feature adjusting maximum and default slider input values, modifying step size, and the impact of adjusting the minimum value on the step size.']}], 'duration': 920.038, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA947484.jpg', 'highlights': ['The Shiny app comprises UI and server components that work together to process user input and generate output plots.', 'The functionality of the Shiny app is illustrated through examples such as modifying slider input values, adjusting step size, and observing automatic plot updates.', 'The second web app displays a histogram of the air quality dataset with adjustable bin size, allowing users to visualize ozone levels.']}, {'end': 2365.156, 'segs': [{'end': 1987.516, 'src': 'embed', 'start': 1961.001, 'weight': 1, 'content': [{'end': 1966.124, 'text': 'So four variables are the outlook, temperature, humidity, and the wind.', 'start': 1961.001, 'duration': 5.123}, {'end': 1974.268, 'text': 'And the class label would be to play or not play golf, which is a function of the weather and the condition right?', 'start': 1966.724, 'duration': 7.544}, {'end': 1982.553, 'text': 'Like whether it is sunny, whether the temperature is high, whether the humidity is high or low or medium and whether there is wind or not,', 'start': 1974.308, 'duration': 8.245}, {'end': 1983.313, 'text': 'true or false.', 'start': 1982.553, 'duration': 0.76}, {'end': 1987.516, 'text': 'And then the final decision is to either play or not play golf.', 'start': 1983.753, 'duration': 3.763}], 'summary': 'Decision to play golf based on weather variables: outlook, temperature, humidity, and wind.', 'duration': 26.515, 'max_score': 1961.001, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA1961001.jpg'}, {'end': 2111.157, 'src': 'embed', 'start': 2082.755, 'weight': 0, 'content': [{'end': 2084.456, 'text': 'Would you play golf? Right? Yes.', 'start': 2082.755, 'duration': 1.701}, {'end': 2090.04, 'text': "Right So there's 87 probability for yes, and a 13% probability for no.", 'start': 2084.775, 'duration': 5.265}, {'end': 2093.002, 'text': "Okay, so this is the web app we're going to build today.", 'start': 2090.06, 'duration': 2.942}, {'end': 2096.404, 'text': "So let's go ahead and stop the web app for a moment.", 'start': 2093.022, 'duration': 3.382}, {'end': 2103.31, 'text': 'Okay, so what you want to do now is go to the data professor GitHub.', 'start': 2097.745, 'duration': 5.565}, {'end': 2106.733, 'text': 'And then you want to click on the code directory.', 'start': 2103.911, 'duration': 2.822}, {'end': 2111.157, 'text': 'And followed by clicking on the shiny directory.', 'start': 2106.753, 'duration': 4.404}], 'summary': 'Building a web app with 87% probability for yes and 13% probability for no.', 'duration': 28.402, 'max_score': 2082.755, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA2082755.jpg'}, {'end': 2223.466, 'src': 'embed', 'start': 2194.802, 'weight': 2, 'content': [{'end': 2196.703, 'text': 'Okay, so this is what we see.', 'start': 2194.802, 'duration': 1.901}, {'end': 2199.184, 'text': "Let's go with head and then weather.", 'start': 2197.203, 'duration': 1.981}, {'end': 2205.97, 'text': 'Okay, and so we see that there are five columns, outlook, temperature, humidity, windy and play.', 'start': 2199.864, 'duration': 6.106}, {'end': 2210.634, 'text': "Right And let's have a look at the data type of the data set.", 'start': 2205.99, 'duration': 4.644}, {'end': 2215.939, 'text': 'We see that the outlook has three factor levels, play has two factor levels.', 'start': 2211.255, 'duration': 4.684}, {'end': 2219.662, 'text': 'So these are categorical label, no, yes.', 'start': 2216.039, 'duration': 3.623}, {'end': 2223.466, 'text': 'And the outlook is overcast, rainy and sunny.', 'start': 2220.103, 'duration': 3.363}], 'summary': 'Dataset has 5 columns, outlook has 3 factor levels, play has 2 factor levels, and outlook includes overcast, rainy, and sunny.', 'duration': 28.664, 'max_score': 2194.802, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA2194802.jpg'}, {'end': 2281.959, 'src': 'heatmap', 'start': 2223.746, 'weight': 0.913, 'content': [{'end': 2228.609, 'text': 'windy is a true and false humidity and temperature are integers.', 'start': 2223.746, 'duration': 4.863}, {'end': 2239.976, 'text': 'And so a random forest model will be created by using the four variables comprising of outlook, temperature, humidity, windy, as the input variable,', 'start': 2228.889, 'duration': 11.087}, {'end': 2241.457, 'text': 'and the play variable.', 'start': 2239.976, 'duration': 1.481}, {'end': 2246, 'text': 'here will be used as the output variable or the variable that we want to predict.', 'start': 2241.457, 'duration': 4.543}, {'end': 2251.122, 'text': 'Okay, and then the data equals to weather, which is the weather data object here.', 'start': 2246.52, 'duration': 4.602}, {'end': 2254.383, 'text': "And we're going to use number of three to be 500.", 'start': 2251.322, 'duration': 3.061}, {'end': 2258.965, 'text': "And because there are four input variables, we're just going to use m try a four.", 'start': 2254.383, 'duration': 4.582}, {'end': 2260.725, 'text': "Okay, so let's try building a model.", 'start': 2258.985, 'duration': 1.74}, {'end': 2262.026, 'text': 'And the model has been built.', 'start': 2260.925, 'duration': 1.101}, {'end': 2269.571, 'text': "And let's apply the model for prediction, shall we? I mean, just to test that the code is working properly.", 'start': 2262.826, 'duration': 6.745}, {'end': 2276.295, 'text': "So let's try applying the model on the input file that I have previously mentioned about.", 'start': 2269.731, 'duration': 6.564}, {'end': 2281.959, 'text': "And so we're going to run this line and putting the data into the variable called test.", 'start': 2276.736, 'duration': 5.223}], 'summary': "A random forest model was created using four input variables to predict the 'play' variable, with 500 trees and m try set to 4.", 'duration': 58.213, 'max_score': 2223.746, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA2223746.jpg'}], 'start': 1867.702, 'title': 'Building golf play prediction web app', 'summary': "Discusses building a web application to predict golf play based on weather data set, achieving a prediction probability of 87% for 'yes' and 13% for 'no' using a random forest model.", 'chapters': [{'end': 2082.455, 'start': 1867.702, 'title': 'Building play golf web app', 'summary': "Discusses the creation of a web application to predict golf play based on weather data set, with a simple interface for input parameters and a prediction probability of 73% for 'yes' and 27% for 'no'.", 'duration': 214.753, 'highlights': ["The web application predicts golf play based on weather conditions with a 73% probability for 'yes' and 27% probability for 'no'. The prediction probability for 'yes' and 'no' is quantifiable and essential for understanding the accuracy of the prediction.", "The web app features input parameters for outlook, temperature, humidity, and wind, allowing users to customize and submit for predictions. The customization of input parameters and submission for predictions is a key aspect of the web application's functionality.", 'The web app provides a simple interface for users to select weather conditions and receive predictions for golf play. The simplicity of the interface enhances user experience, making it easier for users to interact with the web application.']}, {'end': 2365.156, 'start': 2082.755, 'title': 'Building golf prediction web app', 'summary': 'Explains the process of building a web app to predict golf play probability based on weather conditions using a random forest model, achieving a 87% probability for playing golf and 13% probability for not playing.', 'duration': 282.401, 'highlights': ['The web app predicts a 87% probability for playing golf and a 13% probability for not playing. The chapter starts by introducing the web app to predict golf play probability based on weather conditions, achieving a 87% probability for playing golf and 13% probability for not playing.', 'The random forest model is created using four input variables and 500 trees, with m try set to four. A random forest model is created using four input variables (outlook, temperature, humidity, windy) and 500 trees, with m try set to four, to predict the golf play probability based on weather conditions.', 'The model is tested and refined to ensure accurate predictions for different weather conditions. The model is tested and refined to ensure accurate predictions for different weather conditions, resolving issues related to input data factors and achieving accurate predictions.']}], 'duration': 497.454, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA1867702.jpg', 'highlights': ["The web application predicts golf play based on weather conditions with a 73% probability for 'yes' and 27% probability for 'no'.", 'The web app predicts a 87% probability for playing golf and a 13% probability for not playing.', 'The web app features input parameters for outlook, temperature, humidity, and wind, allowing users to customize and submit for predictions.', 'The random forest model is created using four input variables and 500 trees, with m try set to four.', 'The web app provides a simple interface for users to select weather conditions and receive predictions for golf play.', 'The model is tested and refined to ensure accurate predictions for different weather conditions.']}, {'end': 2602.428, 'segs': [{'end': 2433.736, 'src': 'embed', 'start': 2383.573, 'weight': 2, 'content': [{'end': 2392.643, 'text': 'And then this is followed by the third component, which is the fusion of the user interface and the server component using the shiny app function.', 'start': 2383.573, 'duration': 9.07}, {'end': 2395.246, 'text': "So let's talk about the UI.", 'start': 2393.103, 'duration': 2.143}, {'end': 2399.728, 'text': 'So this UI object makes use of the fluid page function.', 'start': 2395.626, 'duration': 4.102}, {'end': 2404.73, 'text': "And we're going to use the theme equals to the shiny theme United.", 'start': 2400.128, 'duration': 4.602}, {'end': 2408.231, 'text': 'And so the United theme will give the buttons a red color.', 'start': 2404.95, 'duration': 3.281}, {'end': 2414.054, 'text': "So if we change it to cerulean, then we're going to have the cerulean color theme, which is a bit blue.", 'start': 2408.391, 'duration': 5.663}, {'end': 2422.557, 'text': 'Okay, so please refer to the first video of the web apps in our in order to see the selection of web templates that you can choose from.', 'start': 2414.074, 'duration': 8.483}, {'end': 2424.618, 'text': "Okay, so let's run the app again.", 'start': 2422.577, 'duration': 2.041}, {'end': 2431.675, 'text': "And I'm going to put the app just about right, right here.", 'start': 2427.151, 'duration': 4.524}, {'end': 2433.736, 'text': 'So the header panel is play golf.', 'start': 2431.915, 'duration': 1.821}], 'summary': 'The transcript discusses fusion of ui and server components using shiny app, including use of themes and web templates.', 'duration': 50.163, 'max_score': 2383.573, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA2383573.jpg'}, {'end': 2507.686, 'src': 'embed', 'start': 2482.404, 'weight': 3, 'content': [{'end': 2492.752, 'text': "What if you change it to sunny? And let's change the value to be a high value, let's say like 85.", 'start': 2482.404, 'duration': 10.348}, {'end': 2494.453, 'text': 'And humidity to be 95.', 'start': 2492.752, 'duration': 1.701}, {'end': 2496.294, 'text': "And it's windy.", 'start': 2494.453, 'duration': 1.841}, {'end': 2497.115, 'text': "That's true.", 'start': 2496.314, 'duration': 0.801}, {'end': 2503.942, 'text': "reload the app again, right? So high temperature, high humidity, windy, sunny, don't play golf.", 'start': 2498.556, 'duration': 5.386}, {'end': 2507.686, 'text': 'Okay, so here you can change the default value to your liking.', 'start': 2504.242, 'duration': 3.444}], 'summary': 'Changing weather conditions to high values results in not playing golf.', 'duration': 25.282, 'max_score': 2482.404, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA2482404.jpg'}, {'end': 2574.843, 'src': 'embed', 'start': 2536.759, 'weight': 0, 'content': [{'end': 2540.924, 'text': "Why don't we just scroll down and have a look here? Input dollar sign outlook.", 'start': 2536.759, 'duration': 4.165}, {'end': 2542.786, 'text': 'Input dollar sign temperature.', 'start': 2541.224, 'duration': 1.562}, {'end': 2544.728, 'text': 'Input dollar sign humidity.', 'start': 2543.126, 'duration': 1.602}, {'end': 2546.43, 'text': 'Input dollar sign windy.', 'start': 2545.008, 'duration': 1.422}, {'end': 2547.791, 'text': "Okay, and then let's move back.", 'start': 2546.57, 'duration': 1.221}, {'end': 2552.176, 'text': 'Notice the spelling here using the small letter, not the cap.', 'start': 2548.132, 'duration': 4.044}, {'end': 2554.877, 'text': 'one So the capital one here are the label.', 'start': 2552.536, 'duration': 2.341}, {'end': 2560.999, 'text': "So it's exactly what we're going to see in the web application outlook with the colon is right here on the label.", 'start': 2555.097, 'duration': 5.902}, {'end': 2568.061, 'text': "Okay, actually, you don't have to type in label if you don't want to, we could just, you know, delete it, and it will give the same result.", 'start': 2561.099, 'duration': 6.962}, {'end': 2570.482, 'text': "It's just implied.", 'start': 2569.361, 'duration': 1.121}, {'end': 2574.843, 'text': 'Okay, but if you want to add the label argument, you could feel free to do so.', 'start': 2570.502, 'duration': 4.341}], 'summary': 'Demonstrating input format with dollar sign and label option for web application.', 'duration': 38.084, 'max_score': 2536.759, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA2536759.jpg'}], 'start': 2365.556, 'title': 'Shiny web app components and customization', 'summary': 'Discusses shiny web app components such as ui, server, and app function, along with theme settings like using the shiny theme united. it also covers web app customization including templates, default values, and input parameters.', 'chapters': [{'end': 2408.231, 'start': 2365.556, 'title': 'Shiny web app components', 'summary': 'Discusses the components of a shiny web app, including the user interface, server, and the fusion of the two using the shiny app function, with specific details about the ui object and its theme settings, such as using the shiny theme united to give buttons a red color.', 'duration': 42.675, 'highlights': ['The UI object makes use of the fluid page function and sets the theme to shiny theme United, giving the buttons a red color.', 'The user interface represents the first component of the Shiny web app, followed by the server component and their fusion using the shiny app function.']}, {'end': 2602.428, 'start': 2408.391, 'title': 'Web app customization', 'summary': 'Covers the customization of a web app, including the selection of templates, changing default values, and referencing data objects, with an emphasis on the input parameters and their corresponding labels.', 'duration': 194.037, 'highlights': ['The sidebar panel will accept the input parameters is located to the left and there will be a total of four input, with a drop-down menu offering three selections: sunny, overcast, rainy. The sidebar panel will have four input parameters, including a drop-down menu with three selections: sunny, overcast, and rainy.', "The default selection for the drop-down menu is rainy, and the tutorial demonstrates how to change the default values for high temperature, humidity, and weather conditions. The default selection for the drop-down menu is 'rainy', and the tutorial shows how to change default values for high temperature, humidity, and weather conditions.", "The tutorial emphasizes the importance of referencing specific data objects such as 'input dollar sign outlook' and 'input dollar sign temperature' in the server function. The tutorial emphasizes the importance of referencing specific data objects like 'input dollar sign outlook' and 'input dollar sign temperature' in the server function."]}], 'duration': 236.872, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA2365556.jpg', 'highlights': ['The UI object uses the fluid page function and sets the theme to shiny theme United, giving the buttons a red color.', 'The user interface represents the first component of the Shiny web app, followed by the server component and their fusion using the shiny app function.', 'The sidebar panel will accept four input parameters, including a drop-down menu with three selections: sunny, overcast, rainy.', "The default selection for the drop-down menu is 'rainy', and the tutorial shows how to change default values for high temperature, humidity, and weather conditions.", "The tutorial emphasizes the importance of referencing specific data objects like 'input dollar sign outlook' and 'input dollar sign temperature' in the server function."]}, {'end': 2844.033, 'segs': [{'end': 2645.957, 'src': 'embed', 'start': 2623.068, 'weight': 0, 'content': [{'end': 2631.051, 'text': 'instead of having the web app being reactive and making the prediction spontaneously upon sliding up and down of the input values.', 'start': 2623.068, 'duration': 7.983}, {'end': 2636.814, 'text': "Because when it's reactive, if you move it by one notch, and then you let go of the mouse, it'll make a prediction.", 'start': 2631.552, 'duration': 5.262}, {'end': 2642.836, 'text': 'But for this one with the submit button, no prediction will be made until you actually click on the submit button.', 'start': 2637.034, 'duration': 5.802}, {'end': 2645.957, 'text': 'So actually this might be a good thing on the server side,', 'start': 2642.936, 'duration': 3.021}], 'summary': 'The web app has a submit button for making predictions, ensuring no spontaneous predictions are made upon sliding input values, which may be beneficial for the server.', 'duration': 22.889, 'max_score': 2623.068, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA2623068.jpg'}, {'end': 2754.148, 'src': 'heatmap', 'start': 2692.712, 'weight': 0.762, 'content': [{'end': 2697.877, 'text': "Okay, so let's hop on to the server function, which is the second component.", 'start': 2692.712, 'duration': 5.165}, {'end': 2709.789, 'text': 'So in this data set input variable it will comprise of the first component is it will create a data frame which will accept for input values from the web application,', 'start': 2698.217, 'duration': 11.572}, {'end': 2712.832, 'text': 'comprising of the outlook temperature humidity windy,', 'start': 2709.789, 'duration': 3.043}, {'end': 2721.706, 'text': 'which is right here outlook temperature humidity windy and then it will combine it with the play variable,', 'start': 2714.761, 'duration': 6.945}, {'end': 2724.148, 'text': 'which is the fifth column of the original data set.', 'start': 2721.706, 'duration': 2.442}, {'end': 2726.79, 'text': 'And then it will transpose the data set.', 'start': 2724.288, 'duration': 2.502}, {'end': 2727.63, 'text': 'it will rotate it.', 'start': 2726.79, 'duration': 0.84}, {'end': 2731.373, 'text': 'it will transpose it and then write a input dot CSV file.', 'start': 2727.63, 'duration': 3.743}, {'end': 2735.917, 'text': 'it will read the input dot CSV file back in into the test variable.', 'start': 2731.373, 'duration': 4.544}, {'end': 2742.361, 'text': 'And then it will apply the factor function in order to tell that the outlook has three levels.', 'start': 2736.137, 'duration': 6.224}, {'end': 2743.242, 'text': 'And finally,', 'start': 2742.661, 'duration': 0.581}, {'end': 2754.148, 'text': 'A prediction will be made using the model generated earlier by means of the random forest and apply the prediction model to predict the input values from the user.', 'start': 2743.562, 'duration': 10.586}], 'summary': 'Server function processes input data for prediction using random forest model.', 'duration': 61.436, 'max_score': 2692.712, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA2692712.jpg'}, {'end': 2844.033, 'src': 'embed', 'start': 2818.533, 'weight': 2, 'content': [{'end': 2828.219, 'text': 'and the status of the prediction whether it is ready for prediction or prediction has been made will be displayed by the verbatim text output function.', 'start': 2818.533, 'duration': 9.686}, {'end': 2833.583, 'text': 'And this is just the label of the status output text box shown right here.', 'start': 2828.439, 'duration': 5.144}, {'end': 2836.926, 'text': "that we're going to have the h3 font size.", 'start': 2833.843, 'duration': 3.083}, {'end': 2844.033, 'text': 'I mean, if you want to change it to h2, make it a bit bigger, then you will notice that the font will become bigger, right?', 'start': 2837.446, 'duration': 6.587}], 'summary': 'The status of the prediction is displayed by the verbatim text output function, with a potential font size change.', 'duration': 25.5, 'max_score': 2818.533, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA2818533.jpg'}], 'start': 2602.728, 'title': 'Web app ui enhancement and server function for prediction app', 'summary': 'Discusses the addition of a submit button in the web app ui to reduce server workload by preventing spontaneous reactive prediction. it also details the server function for a prediction app, covering data processing, random forest model prediction, and display of results in a web application.', 'chapters': [{'end': 2666.087, 'start': 2602.728, 'title': 'Web app ui enhancement', 'summary': 'Discusses the implementation of a submit button in the web app ui to prevent spontaneous reactive prediction, reducing server workload by making predictions only upon clicking the submit button.', 'duration': 63.359, 'highlights': ['The implementation of a submit button in the web app UI helps prevent spontaneous reactive prediction, reducing server workload by making predictions only upon clicking the submit button.', 'The server will work less with the submit button implementation, as predictions are made only once compared to the reactive mode, where predictions are made upon each change in input value, reducing unnecessary server load.', 'The submit button enables users to initiate the prediction process at their convenience, preventing predictions from being made spontaneously upon sliding input values, resulting in a more controlled prediction process.']}, {'end': 2844.033, 'start': 2666.087, 'title': 'Server function for prediction app', 'summary': 'Details the server function for a prediction app, including the data processing steps, model prediction using random forest, and the display of prediction results in a web application.', 'duration': 177.946, 'highlights': ['The server function processes input values from the web application, applies the random forest model for prediction, and displays the results in a table with prediction, no, and yes probability.', 'It comprises of data processing steps including creating a data frame, transposing the data set, writing and reading CSV files, and applying the factor function to handle input variables.', "The status output text box displays the server's readiness for calculation and changes to 'calculation complete' after the Submit button is clicked, followed by displaying the prediction results table.", "The server function generates two outputs, 'output$contents' and 'output$table_data', which are displayed in the web application using the table output and verbatim text output functions."]}], 'duration': 241.305, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA2602728.jpg', 'highlights': ['The implementation of a submit button in the web app UI helps prevent spontaneous reactive prediction, reducing server workload by making predictions only upon clicking the submit button.', 'The server will work less with the submit button implementation, as predictions are made only once compared to the reactive mode, where predictions are made upon each change in input value, reducing unnecessary server load.', 'The submit button enables users to initiate the prediction process at their convenience, preventing predictions from being made spontaneously upon sliding input values, resulting in a more controlled prediction process.', 'The server function processes input values from the web application, applies the random forest model for prediction, and displays the results in a table with prediction, no, and yes probability.', 'It comprises of data processing steps including creating a data frame, transposing the data set, writing and reading CSV files, and applying the factor function to handle input variables.', "The status output text box displays the server's readiness for calculation and changes to 'calculation complete' after the Submit button is clicked, followed by displaying the prediction results table.", "The server function generates two outputs, 'output$contents' and 'output$table_data', which are displayed in the web application using the table output and verbatim text output functions."]}, {'end': 3856.225, 'segs': [{'end': 3204.094, 'src': 'embed', 'start': 3174.421, 'weight': 1, 'content': [{'end': 3180.503, 'text': "So here we're going to read in the training dot CSV file and give it the same name, which is the train set.", 'start': 3174.421, 'duration': 6.082}, {'end': 3184.084, 'text': "okay, and then we're going to delete the first column, which is the index number.", 'start': 3180.503, 'duration': 3.581}, {'end': 3189.866, 'text': "And then we're going to build a model and assign the built model into the model data object.", 'start': 3184.284, 'duration': 5.582}, {'end': 3193.908, 'text': "And once a model has been built, we're going to save it as the RDS file.", 'start': 3190.146, 'duration': 3.762}, {'end': 3197.869, 'text': 'So they were going to deploy the model into the RDS format.', 'start': 3194.028, 'duration': 3.841}, {'end': 3204.094, 'text': "So in this random forest function code, we're specifying that we want to predict the species of the iris flower.", 'start': 3198.229, 'duration': 5.865}], 'summary': 'Reading training data, building model, saving as rds, deploying for prediction.', 'duration': 29.673, 'max_score': 3174.421, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA3174421.jpg'}, {'end': 3311.533, 'src': 'embed', 'start': 3281.744, 'weight': 0, 'content': [{'end': 3284.587, 'text': 'which will essentially piece together the UI and the server.', 'start': 3281.744, 'duration': 2.843}, {'end': 3286.248, 'text': "Okay, so let's have a look at the UI.", 'start': 3284.747, 'duration': 1.501}, {'end': 3290.533, 'text': "And we're going to open up the web application and have a look right at the same time.", 'start': 3286.449, 'duration': 4.084}, {'end': 3296.358, 'text': 'And for readability of the code, I would just add additional enters to it a new line to it.', 'start': 3290.553, 'duration': 5.805}, {'end': 3301.924, 'text': "So that when I open up the web browser concurrently, the values here won't be hidden.", 'start': 3297.019, 'duration': 4.905}, {'end': 3306.248, 'text': 'Okay, save it and go back to the web application.', 'start': 3301.944, 'duration': 4.304}, {'end': 3306.947, 'text': 'All right.', 'start': 3306.687, 'duration': 0.26}, {'end': 3311.533, 'text': 'So here the name of this web application is called Iris Predictor.', 'start': 3307.148, 'duration': 4.385}], 'summary': 'Developing ui for iris predictor web application', 'duration': 29.789, 'max_score': 3281.744, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA3281744.jpg'}, {'end': 3434.117, 'src': 'embed', 'start': 3404.904, 'weight': 4, 'content': [{'end': 3407.045, 'text': 'Okay, and so the label here will be simple lane.', 'start': 3404.904, 'duration': 2.141}, {'end': 3412.828, 'text': 'And the label means right here, the label and the value is the default value, which is five, and here is five.', 'start': 3407.125, 'duration': 5.703}, {'end': 3417.891, 'text': 'So if you change the default value to 5.1, and you save it, run the app again,', 'start': 3413.048, 'duration': 4.843}, {'end': 3422.293, 'text': 'and so you see that the 5.1 will be updated right here in place of the 5.0..', 'start': 3417.891, 'duration': 4.402}, {'end': 3424.374, 'text': 'Okay, and so the same thing will be for the steeple,', 'start': 3422.293, 'duration': 2.081}, {'end': 3429.996, 'text': 'with pedal length and pedal width right with the label and with the value which is the default values right here.', 'start': 3424.374, 'duration': 5.622}, {'end': 3434.117, 'text': 'And then the next block of code here is the action button function.', 'start': 3430.196, 'duration': 3.921}], 'summary': "The label 'simple lane' with default value 5 can be updated to 5.1, affecting the app.", 'duration': 29.213, 'max_score': 3404.904, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA3404904.jpg'}, {'end': 3856.225, 'src': 'embed', 'start': 3830.699, 'weight': 2, 'content': [{'end': 3837.797, 'text': 'And if I run the train set, it will look like this.', 'start': 3830.699, 'duration': 7.098}, {'end': 3840.098, 'text': "And then I'm going to run this line.", 'start': 3838.218, 'duration': 1.88}, {'end': 3845.921, 'text': "And then notice that the first column will be gone, right? I don't want the index to be shown.", 'start': 3840.458, 'duration': 5.463}, {'end': 3847.301, 'text': 'So I just delete it out.', 'start': 3846.081, 'duration': 1.22}, {'end': 3853.104, 'text': 'And then when I say train set, dollar sign, simple length, what I get will be this.', 'start': 3847.581, 'duration': 5.523}, {'end': 3856.225, 'text': "So it's going to be the values of only the first column.", 'start': 3853.504, 'duration': 2.721}], 'summary': 'Running the train set removes the first column by deleting the index and displaying the values of the first column only.', 'duration': 25.526, 'max_score': 3830.699, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA3830699.jpg'}], 'start': 2844.553, 'title': 'Developing iris predictor with shiny', 'summary': 'Covers developing a simple web application using the shiny language in 121 lines of code to predict iris species based on four input parameters, achieving 100% probability for classification, employing r curl and random forest libraries for model creation, and creating a shiny web application for input and prediction display, representing the fourth episode of the web apps series.', 'chapters': [{'end': 2981.546, 'start': 2844.553, 'title': 'Developing iris predictor with shiny', 'summary': 'Covers developing a simple web application using the shiny language in 121 lines of code to predict iris species based on four input parameters, representing the fourth episode of the web apps series.', 'duration': 136.993, 'highlights': ['The web app developed using the shiny language comprises 121 lines of code, allowing users to predict iris species based on four input parameters.', 'The video represents the fourth episode of the web apps series, focusing on developing an iris predictor web application with a machine learning model in the background.', 'Instructions are provided on how to download the necessary files from the data professor GitHub to run the iris predictor web application in the RStudio application.']}, {'end': 3404.684, 'start': 2981.806, 'title': 'Building random forest model for iris prediction', 'summary': 'Discusses building a random forest model for iris flower prediction, achieving 100% probability for classification, employing r curl and random forest libraries for model creation, and developing a shiny web application for input and prediction display.', 'duration': 422.878, 'highlights': ['The prediction is made to be that the input parameter is predicted to be a iris to Tulsa flower, and the probability of it being a iris to Tulsa is 100%. The prediction for the input parameter is a 100% probability of being classified as an iris to Tulsa flower.', 'The random forest has classified this input parameter as a iris virginica with 100% probability. The random forest model achieved a 100% probability classification for the input parameter as an iris virginica flower.', 'The R curl library is used to read the data professor GitHub to download the iris data set, and the random forest is used to create the prediction model. The R curl library is utilized to download the iris data set from GitHub, and the random forest library is employed to build the prediction model.', 'The iris data object is created by reading in the CSV file retrieved from the data professor GitHub, and the data is split using a ratio of 80:20 for training and testing sets. The iris data object is generated from the CSV file obtained from GitHub, and a ratio of 80:20 is used for splitting the data into training and testing sets.', 'The trained model is saved as the RDS file and deployed into the Shiny web application for prediction without additional workload. The trained model is saved in RDS format and directly utilized in the Shiny web application for prediction without adding extra workload.']}, {'end': 3856.225, 'start': 3404.904, 'title': 'Shiny web application development', 'summary': 'Explains how to create a shiny web application with a simple lane label and value, a submit button for economic server load, and a slider input for the prediction model, allowing for user input and prediction display.', 'duration': 451.321, 'highlights': ['The chapter explains how to create a Shiny web application with a simple lane label and value. It demonstrates the process of setting a default value of 5 and updating it to 5.1, showcasing the label-value setup in the application.', 'The usage of a submit button is highlighted as a method to reduce server load by only making predictions upon clicking the button, instead of on every value update. It emphasizes the efficiency gained by using a submit button to initiate predictions, avoiding the creation of multiple predictive models upon every value update.', 'The implementation of a slider input for the prediction model is outlined, showcasing the transition from using a numerical text box to a slider bar for input parameters. It demonstrates the modification of the input method from a numerical text box to a slider bar, allowing users to input values using a slider and initiate predictions with a submit button.']}], 'duration': 1011.672, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA2844553.jpg', 'highlights': ['The web app developed using the shiny language comprises 121 lines of code, allowing users to predict iris species based on four input parameters.', 'The random forest has classified this input parameter as a iris virginica with 100% probability.', 'The trained model is saved as the RDS file and deployed into the Shiny web application for prediction without additional workload.', 'The chapter explains how to create a Shiny web application with a simple lane label and value.', 'The usage of a submit button is highlighted as a method to reduce server load by only making predictions upon clicking the button, instead of on every value update.']}, {'end': 5176.347, 'segs': [{'end': 3987.853, 'src': 'embed', 'start': 3912.578, 'weight': 2, 'content': [{'end': 3917.881, 'text': "And today we're going to cover about how you can develop a BMI calculator.", 'start': 3912.578, 'duration': 5.303}, {'end': 3921.363, 'text': "So, if you're wondering what is a BMI?", 'start': 3918.581, 'duration': 2.782}, {'end': 3932.45, 'text': 'so? essentially, BMI stands for body mass index and it is computed by dividing the weight in kilograms by the height in squared meters.', 'start': 3921.363, 'duration': 11.087}, {'end': 3943.102, 'text': 'So for example, if you weight 70 kilograms and you are 170 centimeters tall, then you would first have to convert the height to a meter.', 'start': 3932.771, 'duration': 10.331}, {'end': 3953.251, 'text': 'So 170 centimeters would then become 1.7 meters, and According to the equation, you would take your weight, which is 70 kilograms,', 'start': 3943.463, 'duration': 9.788}, {'end': 3955.012, 'text': 'divided by 1.7 meter squared.', 'start': 3953.251, 'duration': 1.761}, {'end': 3956.212, 'text': 'Okay, so let me calculate that.', 'start': 3955.032, 'duration': 1.18}, {'end': 3957.733, 'text': 'So 1.7 times 1.7 would be 2.89.', 'start': 3956.593, 'duration': 1.14}, {'end': 3960.815, 'text': 'And if I weighed 70 kilograms, divide that by the squared height.', 'start': 3957.733, 'duration': 3.082}, {'end': 3981.527, 'text': 'then my BMI would be 24.2.', 'start': 3979.605, 'duration': 1.922}, {'end': 3987.853, 'text': "okay, so let's have a look at the scale of the BMI in adults.", 'start': 3981.527, 'duration': 6.326}], 'summary': 'Learn to develop a bmi calculator using weight and height data to calculate bmi.', 'duration': 75.275, 'max_score': 3912.578, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA3912578.jpg'}, {'end': 4577.881, 'src': 'embed', 'start': 4547.805, 'weight': 5, 'content': [{'end': 4550.767, 'text': 'or the server has already completed the calculation.', 'start': 4547.805, 'duration': 2.962}, {'end': 4557.35, 'text': 'So this will be modified by the submit button, the red button that we clicked right here.', 'start': 4551.207, 'duration': 6.143}, {'end': 4562.752, 'text': "So when we don't click the button, it will say server is ready for calculation.", 'start': 4557.69, 'duration': 5.062}, {'end': 4566.274, 'text': 'But upon clicking on the red button, the BMI will be calculated.', 'start': 4562.912, 'duration': 3.362}, {'end': 4571.176, 'text': 'And then in this text box, the text will change to calculation complete.', 'start': 4566.474, 'duration': 4.702}, {'end': 4577.881, 'text': "Okay, and in the following output results here, It's called the output dollar sign table data.", 'start': 4571.396, 'duration': 6.485}], 'summary': "Clicking the red button triggers bmi calculation and updates text box with 'calculation complete'.", 'duration': 30.076, 'max_score': 4547.805, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA4547805.jpg'}, {'end': 5154.196, 'src': 'embed', 'start': 5087.739, 'weight': 0, 'content': [{'end': 5091.28, 'text': 'And so it says that your app was successfully deployed.', 'start': 5087.739, 'duration': 3.541}, {'end': 5092.261, 'text': "Let's click on it.", 'start': 5091.461, 'duration': 0.8}, {'end': 5098.538, 'text': 'Alright, so it says here that server is ready for calculation.', 'start': 5094.355, 'duration': 4.183}, {'end': 5100.219, 'text': "Let's submit it.", 'start': 5099.459, 'duration': 0.76}, {'end': 5103.722, 'text': 'Alright, so prediction seems to work.', 'start': 5101.64, 'duration': 2.082}, {'end': 5108.345, 'text': 'And it is predicted to be setosa with a probability of 100%.', 'start': 5104.682, 'duration': 3.663}, {'end': 5116.691, 'text': 'Okay, this predicted to be setosa as well.', 'start': 5108.345, 'duration': 8.346}, {'end': 5121.955, 'text': 'Same thing, setosa.', 'start': 5119.913, 'duration': 2.042}, {'end': 5130.347, 'text': 'And now it is predicted to be Virginica.', 'start': 5128.212, 'duration': 2.135}, {'end': 5134.783, 'text': '100% Virginica.', 'start': 5134.122, 'duration': 0.661}, {'end': 5137.925, 'text': 'Thank you for watching until the end of this video.', 'start': 5135.724, 'duration': 2.201}, {'end': 5140.367, 'text': 'And I hope that this video was helpful to you.', 'start': 5138.225, 'duration': 2.142}, {'end': 5147.652, 'text': 'And for more tutorials in data science, bioinformatics, as well as Python and R coding tutorials,', 'start': 5140.827, 'duration': 6.825}, {'end': 5154.196, 'text': 'please check out my YouTube channel at The Data Professor and also my new and second YouTube channel, The Coding Professor.', 'start': 5147.652, 'duration': 6.544}], 'summary': 'App successfully deployed, with 100% prediction accuracy for setosa and virginica.', 'duration': 66.457, 'max_score': 5087.739, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA5087739.jpg'}], 'start': 3856.745, 'title': 'Using r functions and developing web apps', 'summary': 'Covers using minimum and maximum functions in r, achieving 4.3 as the minimum and 7.9 as the maximum, and developing bmi and iris species web applications with specific code explanations and deployment accomplishments.', 'chapters': [{'end': 3911.937, 'start': 3856.745, 'title': 'Using min and max functions in r', 'summary': 'Demonstrates the use of the minimum and maximum functions in r to programmatically obtain the minimum and maximum values of a column, resulting in 4.3 as the minimum and 7.9 as the maximum. it also highlights the ease and efficiency of programmatically obtaining these values and concludes with an invitation for input on web application development, marking the fifth episode of the web apps in r series.', 'duration': 55.192, 'highlights': ['The minimum and maximum functions in R are utilized to obtain the minimum value (4.3) and maximum value (7.9) of a column, replacing the manual input of values.', 'The demonstration emphasizes the ease and efficiency of programmatically obtaining the minimum and maximum values, enhancing the web application development process.', 'The chapter concludes with an invitation for viewer input on web application development and the type of input data desired, marking the fifth episode of the Web Apps in R series.']}, {'end': 4140.582, 'start': 3912.578, 'title': 'Developing a bmi calculator', 'summary': 'Covers the computation of bmi and its categories, including the process of developing a bmi web application using r, with a detailed explanation of the code and file structure.', 'duration': 228.004, 'highlights': ['BMI is computed by dividing weight in kilograms by the height in squared meters, which can be used to categorize weight status. The BMI is computed by dividing the weight in kilograms by the height in squared meters, enabling the categorization of weight status into underweight, healthy weight, overweight, and obese.', 'Explanation of the process to develop a BMI web application using R, including downloading the necessary files and understanding their structure. The process of developing a BMI web application using R involves downloading the required files, app.r and about.md, and understanding their structure and content.', 'Overview of the components of the R code for the BMI web application, including UI, server, and shiny app function. The R code for the BMI web application consists of three major components: the UI (user interface), the server, and the shiny app function, which combines both the UI and server functions.']}, {'end': 4291.31, 'start': 4145.033, 'title': 'Bmi calculator web app', 'summary': 'Introduces a simple web application for calculating bmi, specifying the input range for height and weight, as well as providing guidance for adult usage and markdown language for web page formatting.', 'duration': 146.277, 'highlights': ['The web application allows input for height in the range of 40 to 250 centimeters and for weight in the range of 20 to 100 kilograms.', "The BMI calculator is designed for adults and not suitable for children, with reference to a separate link for developing a children's BMI.", 'The chapter demonstrates the use of Markdown language for formatting web pages, including adding bold, italic, and header tags, as well as creating links.', 'The web application is mobile-friendly and can be accessed and used on mobile phones.']}, {'end': 4719.526, 'start': 4291.65, 'title': 'Building bmi calculator web app', 'summary': 'Introduces the process of creating a bmi calculator web app using r code, detailing the user interface, input parameters, calculation process, and output results, allowing customization of input values and observing the impact on bmi values.', 'duration': 427.876, 'highlights': ['The web application facilitates the calculation of BMI based on input parameters such as height and weight. The app allows users to input their height and weight, which are used to calculate the BMI.', 'The user interface of the web app includes a sidebar panel with slider inputs for height and weight, as well as a submit button to initiate the BMI calculation process. The sidebar panel features slider inputs for height and weight, along with a submit button to trigger the BMI calculation.', 'The server function utilizes the input parameters to compute the BMI value, which is then encapsulated in a data frame and displayed as output. The server function processes the input parameters to calculate the BMI, presenting the result in a data frame as the output.']}, {'end': 5176.347, 'start': 4719.526, 'title': 'Deploying r shiny web app', 'summary': 'Demonstrates deploying an r shiny web application for predicting iris species with a machine learning model, using heroku and github, achieving 100% prediction accuracy, and providing resources for further learning and collaboration.', 'duration': 456.821, 'highlights': ['It is predicted to be Virginica. 100% Virginica. The machine learning model predicts a 100% probability of the iris species being Virginica, showcasing the accuracy of the deployed web application.', 'It is predicted to be setosa with a probability of 100%. The machine learning model accurately predicts the iris species as setosa with a 100% probability, highlighting the successful deployment of the web application.', 'The chapter demonstrates deploying an R Shiny web application for predicting iris species with a machine learning model, using Heroku and GitHub, achieving 100% prediction accuracy, and providing resources for further learning and collaboration. The summary encapsulates the key points of the transcript, emphasizing the deployment process, prediction accuracy, and additional learning resources.']}], 'duration': 1319.602, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/9uFQECk30kA/pics/9uFQECk30kA3856745.jpg', 'highlights': ['The machine learning model accurately predicts the iris species as setosa with a 100% probability, showcasing the successful deployment of the web application.', 'The machine learning model predicts a 100% probability of the iris species being Virginica, demonstrating the accuracy of the deployed web application.', 'The chapter concludes with an invitation for viewer input on web application development and the type of input data desired, marking the fifth episode of the Web Apps in R series.', 'The web application is mobile-friendly and can be accessed and used on mobile phones.', 'The demonstration emphasizes the ease and efficiency of programmatically obtaining the minimum and maximum values, enhancing the web application development process.', 'The server function processes the input parameters to calculate the BMI, presenting the result in a data frame as the output.', 'The R code for the BMI web application consists of three major components: the UI (user interface), the server, and the shiny app function, which combines both the UI and server functions.', 'The web application facilitates the calculation of BMI based on input parameters such as height and weight. The app allows users to input their height and weight, which are used to calculate the BMI.']}], 'highlights': ['The web server uses machine learning to predict if a given protein sequence is an oligomer or a monomer, with 100% accuracy in the provided examples.', "The web application predicts golf play based on weather conditions with a 73% probability for 'yes' and 27% probability for 'no'.", 'The machine learning model accurately predicts the iris species as setosa with a 100% probability, showcasing the successful deployment of the web application.']}