This document summarizes Hadley Wickham's wrap up of the plyr package. It discusses using plyr functions like rlply and mlply to fit multiple models to data with varying parameters. It also covers reporting progress, handling errors, the overall structure of plyr functions, and plans for future improvements to work with larger data. Wickham invites feedback via a web form.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
04 Wrapup
1. plyr
Wrap up
Hadley Wickham
Tuesday, 7 July 2009
2. 1. Fitting multiple models to the same
data
2. Reporting progress & dealing with
errors
3. Overall structure & correspondence to
base R functions
4. Plans
5. Feedback
Tuesday, 7 July 2009
3. Multiple models
May need to fit multiple models to the
same data, with varying parameters or
many random starts.
Two plyr functions make this easy: rlply
& mlply
Example: fitting a neural network
Tuesday, 7 July 2009
5. library(nnet)
library(ggplot2)
w <- read.csv("wiggly.csv")
qplot(x, y, data = w, colour = class)
accuracy <- function(mod, true) {
pred <- factor(predict(mod, type = "class"),
levels = levels(true))
tb <- table(pred, true)
sum(diag(tb)) / sum(tb)
}
nnet(class ~ x + y, data = w, size = 3)
Tuesday, 7 July 2009
6. rlply
A little different to the other plyr functions:
first argument is number of times to run,
second argument is an expression (not a
function).
Automatically adds run number (.n) to
labels.
Tuesday, 7 July 2009
7. models <- rlply(50, nnet(class ~ x + y, data = w,
size = 3, trace = FALSE))
accdf <- ldply(models, "accuracy", true = w$class)
accdf
qplot(accuracy, data = accdf, binwith = 0.02)
Tuesday, 7 July 2009
8. mlply
What if we want to systematically vary the
input parameters?
mlply allows us to vary all of the
arguments to the applicator function, not
just the first argument
Input is a data frame of parameter values
Tuesday, 7 July 2009
9. wiggly_nnet <- function(...) {
nnet(class ~ x + y, data = w, trace = FALSE, ...)
}
rlply(5, wiggly_nnet(size = 3))
# Unfortunately need 2+ parameters because of bug
opts <- data.frame(size = 1:10, maxiter = 50)
opts
models <- mlply(opts, wiggly_nnet)
ldply(models, "accuracy", true = w$class)
# expand.grid() useful if you want to explore
# all combinations
Tuesday, 7 July 2009
11. Progress bars
Things seem to take much less time when
you are regularly updated on their
progress.
Plyr provides convenient method for
doing this: all arguments
accept .progress = "text" argument
Tuesday, 7 July 2009
12. Error handling
Helper function: failwith
Takes a function as an input and returns a
function as output, but instead of
throwing an error it will return the value
you specify.
failwith(NULL, lm)(cty ~ displ, data = mpg)
failwith(NULL, lm)(cty ~ displ, data = NULL)
Tuesday, 7 July 2009
14. array data frame list nothing
array aaply adply alply a_ply
data frame daply ddply dlply d_ply
list laply ldply llply l_ply
n replicates raply rdply rlply r_ply
function
maply mdply mlply m_ply
arguments
Tuesday, 7 July 2009
15. No output
Useful for functions called purely for their
side effects: write.table, save, graphics.
If .print = TRUE will print each result
(particularly useful lattice and ggplot2 graphics)
Tuesday, 7 July 2009
16. Your turn
With your partner, using your collective R
knowledge, come up with all of the
functions in base R (or contributed
packages) that do the same thing.
Tuesday, 7 July 2009
17. array data frame list nothing
array apply adply alply a_ply
data frame daply aggregate by d_ply
list sapply ldply lapply l_ply
n replicates replicate rdply replicate r_ply
function
mapply mdply mapply m_ply
arguments
Tuesday, 7 July 2009
18. Plans
Deal better with large and larger data:
trivial parallelisation & on-disk data (sql
etc)
Stay tuned for details.
Tuesday, 7 July 2009