PageSourceSearch

https://investigate.ai/wapo-app-reviews/

html investigate.ai collected 2026-10-03 21:37:16 UTC 59,603 bytes, 2,332 lines download raw bytes

1<!doctype html>
2<html lang="en-US">
3
4
5
6<head>
7  <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 66 bytes, lines 7-8
7
8  <script async src="https://www.googletagmanager.com/gtag/js?id=
8UA-5541738-27
vendor: 14 bytes, lines 8-9
8"></script>
9  
9<script>
10    
vendor: 140 bytes, lines 10-14
10window.dataLayer = window.dataLayer || [];
11    function gtag(){dataLayer.push(arguments);}
12    gtag('js', new Date());
13
14    gtag('config', '
14UA-5541738-27
vendor: 6 bytes, lines 14-15
14');
15  
15</script>
15
16
17  <meta charset="utf-8">
18  <title>Analyzing online safety through app store reviews from The Washington Post</title>
19  <link href="/font-awesome/css/all.min.css?v=500d1a92f875b1d96d37a3a3f8f0438c" rel="stylesheet">
20  <!-- <link href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.5/css/bulma.min.css" rel="stylesheet">
21        <link href="https://fonts.googleapis.com/css?family=Raleway:400,700|Open+Sans:400,700&display=swap" rel="stylesheet"> -->
22  <link rel="stylesheet" href="/css/spectre.min.css?v=5cd401d486f79e82913923fe7d7f47ff">
23  <link rel="stylesheet" href="/css/spectre-exp.min.css?v=5909d80638a6ae6aa3a455b6f6a6d768">
24  <link rel="stylesheet" href="/css/spectre-icons.min.css?v=56b1bd38b79450b37939f8adb811d4cd">
25
26  <link rel="stylesheet" href="/css/tocbot.css?v=e8f0173e7c5216e5359587a88a570b77">
27
28  <!-- 
28<script src="https://unpkg.com/lunr/lunr.js"></script>
28 -->
29  
29<script src="/js/lunr.js?v=b93de9e9609074d666f5123e866e25ed"></script>
29
30  <!-- 
30<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
30 -->
31  
31<script src="/js/require.min.js?v=18823f6a6d208ee1e361bb266ab794d5"></script>
31
32
33  <meta name="viewport" content="width=device-width, initial-scale=1">
34  <link href="/css/style.css?v=10420579fc48bad7c182d7d5e44a2cbb" rel="stylesheet">
35  <link href="/css/highlight.css?v=bdd372d828c6988b6071bb877211ebcb" rel="stylesheet">
36
37  <meta name="description" content="A Natural Language Processing project: After downloading over a hundred thousand reviews of random chat apps, how to find reports of bullying, racism, and unwanted sexual behavior.">
38  <meta content="investigate.ai: Data Science for Journalists" property="og:site_name">
39
40  <meta name="twitter:creator" content="@dangerscarf">
41  <meta name="twitter:title" content="Analyzing online safety through app store reviews from The Washington Post">
42  <meta name="twitter:description" content="A Natural Language Processing project: After downloading over a hundred thousand reviews of random chat apps, how to find reports of bullying, racism, and unwanted sexual behavior.">
43  <meta name="twitter:image" content="https://investigate.ai/images/flame/flame-searching.png">
44  <meta name="twitter:image:alt" content="A person metaphorically examining data">
45  <meta name="twitter:card" content="summary" />
46
47  <meta property="og:type" content="website" />
48  <meta property="og:url" content="https://investigate.ai/wapo-app-reviews/" />
49  <meta property="og:title" content="Analyzing online safety through app store reviews from The Washington Post" />
50  <meta property="og:description" content="A Natural Language Processing project: After downloading over a hundred thousand reviews of random chat apps, how to find reports of bullying, racism, and unwanted sexual behavior." />
51  <meta property="og:image" content="https://investigate.ai/images/flame/flame-searching.png" />
52  <meta property="og:image:height" content="912" />
53  <meta property="og:image:width" content="921" />
54  <meta property="fb:admins" content="1504164"/>
55
56  <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
57  <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
58  <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
59  <link rel="manifest" href="/site.webmanifest">
60  <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
61  <meta name="msapplication-TileColor" content="#da532c">
62  <meta name="theme-color" content="#ffffff">
63
64</head>
65
66<body class="">
67  <div>
68      <div class="content-main">
69        <div class="nav-holder bg-secondary">
70  <div class='content'>
71    <header class="navbar">
72      <a href="#" class="sidebar-opener" aria-label="Sidebar opener"><i class="fas fa-bars fa-2x"></i></a>
73      <section class="navbar-section">
74        <a href="/" class="btn btn-link">Home</a>
75        <a href="/projects/" class="btn btn-link">Projects</a>
76        <a href="/topics/" class="btn btn-link">Topics</a>
77        <a href="/search/" class="btn btn-link">Search</a>
78        <a href="/newsletter/" class="btn btn-link">Newsletter</a>
79        <a href="/about/" class="btn btn-link">About</a>
80      </section>
81    </header>
82  </div>
83</div>
84        
85<div class="hero">
86    <div class="hero-body">
87        <div class="content">
88            <h1>Analyzing online safety through app store reviews</h1>
89            <p>After downloading over a hundred thousand reviews of "random chat apps," how to find reports of bullying, racism, and unwanted sexual behavior.</p>
90
91            
92            <p>
93                
94                <span class="chip">natural language processing</span>
95                
96                <span class="chip">text analysis</span>
97                
98                <span class="chip">classification</span>
99                
100                <span class="chip">reading lots of documents</span>
101                
102            </p>
103            
104        </div>
105    </div>
106</div>
107<div class="chapter-nav bg-secondary">
108    <div class="content">
109        
110        
111    </div>
112</div>
113<section class="section">
114    <div class="content">
115
116        <div class="columns">
117            <div class="column col-5 col-md-12 readings">
118                <h3>Readings and links</h3>
119                <ul>
120<li><a href="https://www.washingtonpost.com/technology/2019/11/22/apple-says-its-app-store-is-safe-trusted-place-we-found-reports-unwanted-sexual-behavior-six-apps-some-targeting-minors/">Apple says its App Store is ‘a safe and trusted place.’ We found 1,500 reports of unwanted sexual behavior on six apps, some targeting minors.</a>, from the Washington Post (be sure to watch the video!)</li>
121</ul>
122            </div>
123            <div class="column col-7 col-md-12">
124                <h3>Summary</h3>
125                <p>The Washington Post downloaded over 130,000 reviews of "random chat apps," investigating cases of bullying, racism, and unwanted sexual behavior. Instead of reading each and every review, they used machine learning to tag likely offenders, resulting in uncovering several thousand potential reviews worth reviewing. In the end they found 1,500 reviews that included "uncomfortable sexual situations." As a result of this research, they could make statements like "at least 19 percent of the reviews on ChatLive mentioned unwanted sexual approaches."</p>
126<p>This project is very similar to the <a href="/nyt-takata-airbags/">Takata airbags project</a>. We'll repeat the same sort of steps:</p>
127<ul>
128<li>Obtain the reviews</li>
129<li>Read a sample of reviews, labeling each as "interesting" or not</li>
130<li>Convert the words in each review to features</li>
131<li>Use the features and labels to train a classifier</li>
132<li>Use the classifier on the unread reviews</li>
133<li>Manually read the ones predicted as interesting</li>
134</ul>
135<p>This project also introduces the concept of <strong>probability</strong> or <strong>decision functions</strong>, where instead of paying attention to the yes/no predicted class we pay attention to the certainty of the prediction.</p>
136<p>If you'd like to increase the performance of the classifier, a good first step would be to flag more reviews.</p>
137            </div>
138        </div>
139
140        
141        <h3>Notebooks, Assignments, and Walkthroughs</h3>
142        
143
144        
145        
146        <div class="columns">
147    <div class="column col-8 col-sm-12">
148        <h4><a href="/wapo-app-reviews/scrape-app-store-reviews">Scrape and combine app store reviews</a></h4>
149        <p>Using a website devoted to phone app marketing, we&#39;ll download over 50,000 reviews for various apps and save them to a CSV.</p>
150    </div>
151    <div class="column col-4 col-sm-12 access-link">
152        
153        
154        
155        <div class="tile tile-centered">
156    <div class="tile-icon">
157        <div class="example-tile-icon"><i class="fa fa-book fa-sm"></i></div>
158    </div>
159    <div class="tile-content">
160        <div class="tile-title"><a href="/wapo-app-reviews/scrape-app-store-reviews/">Read online</a></div>
161        <small class="tile-subtitle text-gray">
162            
163            Jupyter Notebook
164            </small>
165    </div>
166</div>
167
168        
169        
170        
171        <div class="tile tile-centered">
172    <div class="tile-icon">
173        <div class="example-tile-icon"><i class="fa fa-download fa-sm"></i></div>
174    </div>
175    <div class="tile-content">
176        <div class="tile-title"><a href="/wapo-app-reviews/notebooks/Scrape app store reviews.ipynb">Download notebook</a></div>
177        <small class="tile-subtitle text-gray">
178            
179            Jupyter Notebook
180            </small>
181    </div>
182</div>
183
184        
185        
186        
187        <div class="tile tile-centered">
188    <div class="tile-icon">
189        <div class="example-tile-icon"><i class="fa fa-laptop fa-sm"></i></div>
190    </div>
191    <div class="tile-content">
192        <div class="tile-title"><a href="https://colab.research.google.com/github/littlecolumns/ds4j-notebooks/blob/master/wapo-app-reviews/notebooks/Scrape app store reviews.ipynb">Interactive version</a></div>
193        <small class="tile-subtitle text-gray">
194            
195            Jupyter Notebook
196            </small>
197    </div>
198</div>
199    </div>
200</div>
201        <div class="divider"></div>
202        
203        <div class="columns">
204    <div class="column col-8 col-sm-12">
205        <h4><a href="/wapo-app-reviews/predict-reviews">Build a classifier to detect reviews about bad behavior</a></h4>
206        <p>Using a small dataset of tagged reviews, can we detect reviews that mention bullying, racism, or unwanted sexual behavior?</p>
207    </div>
208    <div class="column col-4 col-sm-12 access-link">
209        
210        
211        
212        <div class="tile tile-centered">
213    <div class="tile-icon">
214        <div class="example-tile-icon"><i class="fa fa-book fa-sm"></i></div>
215    </div>
216    <div class="tile-content">
217        <div class="tile-title"><a href="/wapo-app-reviews/predict-reviews/">Read online</a></div>
218        <small class="tile-subtitle text-gray">
219            
220            Jupyter Notebook
221            </small>
222    </div>
223</div>
224
225        
226        
227        
228        <div class="tile tile-centered">
229    <div class="tile-icon">
230        <div class="example-tile-icon"><i class="fa fa-download fa-sm"></i></div>
231    </div>
232    <div class="tile-content">
233        <div class="tile-title"><a href="/wapo-app-reviews/notebooks/Predict reviews.ipynb">Download notebook</a></div>
234        <small class="tile-subtitle text-gray">
235            
236            Jupyter Notebook
237            </small>
238    </div>
239</div>
240
241        
242        
243        
244        <div class="tile tile-centered">
245    <div class="tile-icon">
246        <div class="example-tile-icon"><i class="fa fa-laptop fa-sm"></i></div>
247    </div>
248    <div class="tile-content">
249        <div class="tile-title"><a href="https://colab.research.google.com/github/littlecolumns/ds4j-notebooks/blob/master/wapo-app-reviews/notebooks/Predict reviews.ipynb">Interactive version</a></div>
250        <small class="tile-subtitle text-gray">
251            
252            Jupyter Notebook
253            </small>
254    </div>
255</div>
256    </div>
257</div>
258        <div class="divider"></div>
259        
260        
261        
262
263        
264        <div class="columns">
265            <div class="column col-sm-8">
266                <h3>Discussion topics</h3>
267                <p>Is it okay to "steal" all of those reviews from Apple?</p>
268<p>What's the difference between using interesting/not interesting flags compared to the chance of a comment being interesting?</p>
269<p>What counts as unwanted sexual behavior or bullying? Find a few examples you feel are borderline.</p>
270<p>In line with the last question, many of these being suggestive/bulling or not are either borderline or a personal decision. In the Takata airbags story, the main drive was to find people to interview. In this case, it's writing sentences like "At least 19 percent of the reviews on ChatLive mentioned unwanted sexual approaches." Is there a difference between the two? Compared to the NYT one, should the Washington Post have taken any additional precautions as a result?</p>
271<p>How can we test whether our classifier does a good job or not? We spent a lot of time testing in the airbags example, but not here. Is there a difference?</p>
272            </div>
273        </div> 
274    </div>
275</section>
276
277        <div class="footer bg-secondary">
278  <div class="content">
279    <div class="columns">
280      <div class="column col-8 col-sm-12">
281        <p><strong>About the site</strong></p>
282        <p>Hi, I'm <a href="https://twitter.com/dangerscarf">Soma</a>, welcome to Data Science for Journalism a.k.a. investigate.ai!</p>
283        <p>There's been a lot of buzz about machine learning and "artificial intelligence" being used in stories over the past few years. It's mostly not that complicated - a little stats, a classifier here or there - but it's hard to know where to start without a little help.</p>
284        <p>If you know a little Python programming, hopefully this site can be that help! <a href="/about">Learn more about this project here.</a></p>
285        <p><strong>Our newsletter</strong></p>
286        <form action="https://littlecolumns.us12.list-manage.com/subscribe/post?u=ecdebf156be0b7e068fac7c25&amp;id=16537e7c90" method="post" role="form" target="_blank" novalidate>
287          <div class="input-group">
288            <input name="EMAIL" type="email" class="form-input" placeholder="Enter your Email" required="">
289            <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_ecdebf156be0b7e068fac7c25_16537e7c90" tabindex="-1" value=""></div>
290            <div class="input-group-append">
291              <button class="btn btn-primary input-group-btn" type="submit" aria-label="Email signup submit button">
292                <i class="fas fa-envelope"></i>
293                Sign up
294              </button>
295            </div>
296          </div>
297        </form>
298        
299      </div>
300      <div class="column col-4 col-sm-12">
301        <p><strong>Links</strong></p>
302        <ul>
303          <li><a href="mailto:[email protected]">[email protected]</a></li>
304          <li><a href="https://twitter.com/dangerscarf">@dangerscarf</a></li>
305          <li><a href="/privacy-policy/">Privacy policy</a></li>
306          <li><a href="/newsletter/">Newsletter</a></li>
307          <li>Images via <a href="https://icons8.com/">icons8</a></li>
308        </ul>
309        <p>Thanks to <a href="https://journalism.columbia.edu/">Columbia Journalism School</a>, the <a href="https://knightfoundation.org/">Knight Foundation</a>, and <a href="/about#thankyou">many others</a>.</p>
310      </div>
311    </div>
312  </div>
313</div>
314<script src="/js/scripts.js?v=e9d8cec8fc9221c9dd15f6e0314372b3" type="text/javascript"></script>
314
315      </div>
316      <div class="bg-dark content-sidebar">
317        <div class="sidebar-holder">
318  <div class="brand">
319    <a href="/">investigate.ai</a>
320    <br>
321    data science for everybody
322  </div>
323  
324  <div class="accordion-container">
325    <div class="accordion">
326      <div class="form-group sidebar-sticky">
327        <form method="GET" action="/search/" class="search-form">
328          <div class="input-group">
329            <input type="text" class="form-input input-sm" name="q" placeholder="Search investigate.ai">
330            <button class="btn btn-primary input-group-btn btn-sm">Search</button>
331          </div>
332          </form>
333      </div>
334    
335        
336          <h4 id="textanalysis" class="sidebar-sticky">
337            <a href="#textanalysis">Text analysis</a>
338          </h4>
339          <ol class="menu menu-nav">
340            
341              <li class="menu-item">
342                
343  <a href="/text-analysis/types-of-text-analysis/">        
344      Types of text analysis
345  </a>
346  <div class="toc"></div>
347
348
349
350              </li>
351            
352              <li class="menu-item">
353                
354
355
356  <input id="accordion-countingwords" type="checkbox" name="accordion-checkbox" hidden="">
357  <label class="accordion-header c-hand" for="accordion-countingwords">
358      <i class="icon icon-arrow-right mr-1"></i>
359      Counting words
360  </label>
361  <div class="accordion-body">
362      <ol class="menu menu-nav">
363      
364      <li class="menu-item">
365          
366  <a href="/text-analysis/counting-words-with-pythons-counter/">        
367      Simple word counting
368  </a>
369  <div class="toc"></div>
370
371
372
373      </li>
374      
375      <li class="menu-item">
376          
377  <a href="/text-analysis/counting-words-with-scikit-learns-countvectorizer/">        
378      Counting words across many documents
379  </a>
380  <div class="toc"></div>
381
382
383
384      </li>
385      
386      <li class="menu-item">
387          
388  <a href="/text-analysis/splitting-words-in-east-asian-languages/">        
389      Segmenting words in East Asian languages
390  </a>
391  <div class="toc"></div>
392
393
394
395      </li>
396      
397      <li class="menu-item">
398          
399  <a href="/caixin-museum-word-count/counting-words-in-chinese-museum-names/">        
400      Project: Caixin museums
401  </a>
402  <div class="toc"></div>
403
404
405
406      </li>
407      
408      <li class="menu-item">
409          
410  <a href="/text-analysis/how-to-make-scikit-learn-natural-language-processing-work-with-japanese-chinese/">        
411      Using scikit-learn vectorizers with East Asian languages
412  </a>
413  <div class="toc"></div>
414
415
416
417      </li>
418      
419    </ol>
420  </div>
421
422              </li>
423            
424              <li class="menu-item">
425                
426
427
428  <input id="accordion-advancedwordanalysis" type="checkbox" name="accordion-checkbox" hidden="">
429  <label class="accordion-header c-hand" for="accordion-advancedwordanalysis">
430      <i class="icon icon-arrow-right mr-1"></i>
431      Advanced word analysis
432  </label>
433  <div class="accordion-body">
434      <ol class="menu menu-nav">
435      
436      <li class="menu-item">
437          
438  <a href="/text-analysis/a-simple-explanation-of-tf-idf/">        
439      Upgraded word counts with TF-IDF
440  </a>
441  <div class="toc"></div>
442
443
444
445      </li>
446      
447      <li class="menu-item">
448          
449  <a href="/text-analysis/explaining-n-grams-in-natural-language-processing/">        
450      Multi-word phrases and n-grams
451  </a>
452  <div class="toc"></div>
453
454
455
456      </li>
457      
458      <li class="menu-item">
459          
460  <a href="/text-analysis/stemming-and-lemmatization/">        
461      Standardizing text with stemming and lemmatization
462  </a>
463  <div class="toc"></div>
464
465
466
467      </li>
468      
469      <li class="menu-item">
470          
471  <a href="/text-analysis/using-tf-idf-with-chinese/">        
472      Using TF-IDF with Chinese text
473  </a>
474  <div class="toc"></div>
475
476
477
478      </li>
479      
480    </ol>
481  </div>
482
483              </li>
484            
485              <li class="menu-item">
486                
487
488
489  <input id="accordion-sentimentanalysis" type="checkbox" name="accordion-checkbox" hidden="">
490  <label class="accordion-header c-hand" for="accordion-sentimentanalysis">
491      <i class="icon icon-arrow-right mr-1"></i>
492      Sentiment analysis
493  </label>
494  <div class="accordion-body">
495      <ol class="menu menu-nav">
496      
497      <li class="menu-item">
498          
499  <a href="/investigating-sentiment-analysis/comparing-sentiment-analysis-tools/">        
500      Comparing sentiment analysis tools
501  </a>
502  <div class="toc"></div>
503
504
505
506      </li>
507      
508      <li class="menu-item">
509          
510  <a href="/investigating-sentiment-analysis/designing-your-own-sentiment-analysis-tool/">        
511      Design your own sentiment analyzer
512  </a>
513  <div class="toc"></div>
514
515
516
517      </li>
518      
519      <li class="menu-item">
520          
521  <a href="/investigating-sentiment-analysis/more-data-to-train-our-sentiment-analysis-tool/">        
522      Improving your tool
523  </a>
524  <div class="toc"></div>
525
526
527
528      </li>
529      
530      <li class="menu-item">
531          
532  <a href="/upshot-trump-emolex/nrc-emotional-lexicon/">        
533      NRC Emotional Lexicon
534  </a>
535  <div class="toc"></div>
536
537
538
539      </li>
540      
541      <li class="menu-item">
542          
543  <a href="/upshot-trump-emolex/trump-vs-state-of-the-union-addresses/">        
544      Project: UpShot State of the Union
545  </a>
546  <div class="toc"></div>
547
548
549
550      </li>
551      
552      <li class="menu-item">
553          
554  <a href="/nyt-trump-tweets/">        
555      Project: NYT Trump tweets
556  </a>
557  <div class="toc"></div>
558
559
560
561      </li>
562      
563    </ol>
564  </div>
565
566              </li>
567            
568              <li class="menu-item">
569                
570
571
572  <input id="accordion-documentstotext" type="checkbox" name="accordion-checkbox" hidden="">
573  <label class="accordion-header c-hand" for="accordion-documentstotext">
574      <i class="icon icon-arrow-right mr-1"></i>
575      Documents to text
576  </label>
577  <div class="accordion-body">
578      <ol class="menu menu-nav">
579      
580      <li class="menu-item">
581          
582  <a href="/text-analysis/processing-documents-with-apache-tika/">        
583      Converting documents to text (English)
584  </a>
585  <div class="toc"></div>
586
587
588
589      </li>
590      
591      <li class="menu-item">
592          
593  <a href="/text-analysis/processing-documents-with-apache-tika-greek/">        
594      Converting documents to text (non-English)
595  </a>
596  <div class="toc"></div>
597
598
599
600      </li>
601      
602    </ol>
603  </div>
604
605              </li>
606            
607              <li class="menu-item">
608                
609
610
611  <input id="accordion-conceptspeopleandplaces" type="checkbox" name="accordion-checkbox" hidden="">
612  <label class="accordion-header c-hand" for="accordion-conceptspeopleandplaces">
613      <i class="icon icon-arrow-right mr-1"></i>
614      Concepts, people and places
615  </label>
616  <div class="accordion-body">
617      <ol class="menu menu-nav">
618      
619      <li class="menu-item">
620          
621  <a href="/text-analysis/introduction-to-topic-modeling/">        
622      Extracting topics from documents
623  </a>
624  <div class="toc"></div>
625
626
627
628      </li>
629      
630      <li class="menu-item">
631          
632  <a href="/text-analysis/choosing-the-right-number-of-topics-for-a-scikit-learn-topic-model/">        
633      Choosing the right number of topics
634  </a>
635  <div class="toc"></div>
636
637
638
639      </li>
640      
641      <li class="menu-item">
642          
643  <a href="/text-analysis/topic-models-with-gensim/">        
644      Topic models with Gensim
645  </a>
646  <div class="toc"></div>
647
648
649
650      </li>
651      
652      <li class="menu-item">
653          
654  <a href="/text-analysis/topic-modeling-and-clustering/">        
655      Topic models vs clustering
656  </a>
657  <div class="toc"></div>
658
659
660
661      </li>
662      
663      <li class="menu-item">
664          
665  <a href="/text-analysis/named-entity-recognition/">        
666      Entity recognition
667  </a>
668  <div class="toc"></div>
669
670
671
672      </li>
673      
674      <li class="menu-item">
675          
676  <a href="/text-analysis/word-embeddings/">        
677      Intro to word embeddings
678  </a>
679  <div class="toc"></div>
680
681
682
683      </li>
684      
685      <li class="menu-item">
686          
687  <a href="/text-analysis/document-similarity-using-word-embeddings/">        
688      Conceptual document similarity
689  </a>
690  <div class="toc"></div>
691
692
693
694      </li>
695      
696      <li class="menu-item">
697          
698  <a href="/text-analysis/comparing-documents-in-different-languages/">        
699      Comparing documents in different languages
700  </a>
701  <div class="toc"></div>
702
703
704
705      </li>
706      
707    </ol>
708  </div>
709
710              </li>
711            
712          </ol>
713        
714          <h4 id="puttingthingsincategoriesautomatically" class="sidebar-sticky">
715            <a href="#puttingthingsincategoriesautomatically">Putting things in categories automatically</a>
716          </h4>
717          <ol class="menu menu-nav">
718            
719              <li class="menu-item">
720                
721  <a href="/classification/intro-to-classification/">        
722      Introduction to Classification
723  </a>
724  <div class="toc"></div>
725
726
727
728              </li>
729            
730              <li class="menu-item">
731                
732
733
734  <input id="accordion-techniques" type="checkbox" name="accordion-checkbox" hidden="">
735  <label class="accordion-header c-hand" for="accordion-techniques">
736      <i class="icon icon-arrow-right mr-1"></i>
737      Techniques
738  </label>
739  <div class="accordion-body">
740      <ol class="menu menu-nav">
741      
742      <li class="menu-item">
743          
744  <a href="/classification/evaluating-classifiers/">        
745      Evaluating classifiers
746  </a>
747  <div class="toc"></div>
748
749
750
751      </li>
752      
753      <li class="menu-item">
754          
755  <a href="/classification/scikit-learn-and-categorical-features/">        
756      Categorical features
757  </a>
758  <div class="toc"></div>
759
760
761
762      </li>
763      
764      <li class="menu-item">
765          
766  <a href="/classification/using-classification-algorithms-with-text/">        
767      Classifiers with text
768  </a>
769  <div class="toc"></div>
770
771
772
773      </li>
774      
775      <li class="menu-item">
776          
777  <a href="/classification/correcting-for-imbalanced-datasets/">        
778      Correcting for imbalanced datasets
779  </a>
780  <div class="toc"></div>
781
782
783
784      </li>
785      
786    </ol>
787  </div>
788
789              </li>
790            
791              <li class="menu-item">
792                
793
794
795  <input id="accordion-projects" type="checkbox" name="accordion-checkbox" hidden="">
796  <label class="accordion-header c-hand" for="accordion-projects">
797      <i class="icon icon-arrow-right mr-1"></i>
798      Projects
799  </label>
800  <div class="accordion-body">
801      <ol class="menu menu-nav">
802      
803      <li class="menu-item">
804          
805  <a href="/buzzfeed-spy-planes/buzzfeed-surveillance-planes-random-forests/">        
806      BuzzFeed: Spy planes
807  </a>
808  <div class="toc"></div>
809
810
811
812      </li>
813      
814      <li class="menu-item">
815          
816  <a href="/wapo-app-reviews/predict-reviews/">        
817      WaPo chat: App reviews
818  </a>
819  <div class="toc"></div>
820
821
822
823      </li>
824      
825      <li class="menu-item">
826          
827  <a href="/nyt-takata-airbags/nyt-takata-completed/">        
828      NYT: Faulty airbag search
829  </a>
830  <div class="toc"></div>
831
832
833
834      </li>
835      
836      <li class="menu-item">
837          
838  <a href="/latimes-crime-classification/using-a-classifier-to-find-misclassified-crimes/">        
839      LA Times: crime classifier
840  </a>
841  <div class="toc"></div>
842
843
844
845      </li>
846      
847    </ol>
848  </div>
849
850              </li>
851            
852          </ol>
853        
854          <h4 id="howxaffectsy" class="sidebar-sticky">
855            <a href="#howxaffectsy">How X affects Y</a>
856          </h4>
857          <ol class="menu menu-nav">
858            
859              <li class="menu-item">
860                
861  <a href="/regression/what-is-regression/">        
862      Finding relationships with regression
863  </a>
864  <div class="toc"></div>
865
866
867
868              </li>
869            
870              <li class="menu-item">
871                
872
873
874  <input id="accordion-linearregression" type="checkbox" name="accordion-checkbox" hidden="">
875  <label class="accordion-header c-hand" for="accordion-linearregression">
876      <i class="icon icon-arrow-right mr-1"></i>
877      Linear Regression
878  </label>
879  <div class="accordion-body">
880      <ol class="menu menu-nav">
881      
882      <li class="menu-item">
883          
884  <a href="/regression/linear-regression-quickstart/">        
885      Linear regression (Quickstart)
886  </a>
887  <div class="toc"></div>
888
889
890
891      </li>
892      
893      <li class="menu-item">
894          
895  <a href="/regression/linear-regression/">        
896      Linear regression for humans
897  </a>
898  <div class="toc"></div>
899
900
901
902      </li>
903      
904      <li class="menu-item">
905          
906  <a href="/regression/linear-regression-part-two/">        
907      Putting regression to use
908  </a>
909  <div class="toc"></div>
910
911
912
913      </li>
914      
915      <li class="menu-item">
916          
917  <a href="/regression/linear-regression-evaluation/">        
918      Evaluating regressions
919  </a>
920  <div class="toc"></div>
921
922
923
924      </li>
925      
926      <li class="menu-item">
927          
928  <a href="/ap-regression-unemployment/simple-regression-with-census-data-statsmodels-with-formulas/">        
929      Associated Press: Life expectancy and unemployment
930  </a>
931  <div class="toc"></div>
932
933
934
935      </li>
936      
937    </ol>
938  </div>
939
940              </li>
941            
942              <li class="menu-item">
943                
944
945
946  <input id="accordion-logisticregression" type="checkbox" name="accordion-checkbox" hidden="">
947  <label class="accordion-header c-hand" for="accordion-logisticregression">
948      <i class="icon icon-arrow-right mr-1"></i>
949      Logistic Regression
950  </label>
951  <div class="accordion-body">
952      <ol class="menu menu-nav">
953      
954      <li class="menu-item">
955          
956  <a href="/regression/logistic-regression-quickstart/">        
957      Logistic regression (Quickstart)
958  </a>
959  <div class="toc"></div>
960
961
962
963      </li>
964      
965      <li class="menu-item">
966          
967  <a href="/regression/logistic-regression/">        
968      Logistic regression for humans
969  </a>
970  <div class="toc"></div>
971
972
973
974      </li>
975      
976      <li class="menu-item">
977          
978  <a href="/regression/logistic-regression-part-two/">        
979      More complex logistic regressions
980  </a>
981  <div class="toc"></div>
982
983
984
985      </li>
986      
987      <li class="menu-item">
988          
989  <a href="/regression/evaluating-logistic-regressions/">        
990      Evaluating logistic regressions
991  </a>
992  <div class="toc"></div>
993
994
995
996      </li>
997      
998      <li class="menu-item">
999          
1000  <a href="/boston-globe-tickets/boston-globe-ticketing-regression/">        
1001      Boston Globe: Speeding tickets
1002  </a>
1003  <div class="toc"></div>
1004
1005
1006
1007      </li>
1008      
1009      <li class="menu-item">
1010          
1011  <a href="/apm-reports-jury-bias/in-the-dark-alternative-formula-methods/">        
1012      APM Reports: Jury selection
1013  </a>
1014  <div class="toc"></div>
1015
1016
1017
1018      </li>
1019      
1020    </ol>
1021  </div>
1022
1023              </li>
1024            
1025          </ol>
1026        
1027          <h4 id="pythondatasciencereference" class="sidebar-sticky">
1028            <a href="#pythondatasciencereference">Python data science reference</a>
1029          </h4>
1030          <ol class="menu menu-nav">
1031            
1032              <li class="menu-item">
1033                
1034  <a href="/reference/">        
1035      Introduction
1036  </a>
1037  <div class="toc"></div>
1038
1039
1040
1041              </li>
1042            
1043              <li class="menu-item">
1044                
1045  <a href="/reference/vectorizing/">        
1046      Vectorizing
1047  </a>
1048  <div class="toc"></div>
1049
1050
1051
1052              </li>
1053            
1054              <li class="menu-item">
1055                
1056  <a href="/reference/text-analysis/">        
1057      Text Analysis
1058  </a>
1059  <div class="toc"></div>
1060
1061
1062
1063              </li>
1064            
1065              <li class="menu-item">
1066                
1067  <a href="/reference/regression/">        
1068      Regression
1069  </a>
1070  <div class="toc"></div>
1071
1072
1073
1074              </li>
1075            
1076              <li class="menu-item">
1077                
1078  <a href="/reference/classification/">        
1079      Classification
1080  </a>
1081  <div class="toc"></div>
1082
1083
1084
1085              </li>
1086            
1087          </ol>
1088        
1089          <h4 id="allprojects" class="sidebar-sticky">
1090            <a href="#allprojects">All Projects</a>
1091          </h4>
1092          <ol class="menu menu-nav">
1093            
1094              <li class="menu-item">
1095                
1096  <a href="/projects/">        
1097      Project Summaries
1098  </a>
1099  <div class="toc"></div>
1100
1101
1102
1103              </li>
1104            
1105              <li class="menu-item">
1106                
1107
1108
1109  <input id="accordion-strongnytstrongtakataairbagsearch" type="checkbox" name="accordion-checkbox" hidden="">
1110  <label class="accordion-header c-hand" for="accordion-strongnytstrongtakataairbagsearch">
1111      <i class="icon icon-arrow-right mr-1"></i>
1112      <strong>NYT:</strong>  Takata airbag search
1113  </label>
1114  <div class="accordion-body">
1115      <ol class="menu menu-nav">
1116      
1117      <li class="menu-item">
1118          
1119  <a href="/nyt-takata-airbags/">        
1120      Summary
1121  </a>
1122  <div class="toc"></div>
1123
1124
1125
1126      </li>
1127      
1128      <li class="menu-item">
1129          
1130  <a href="/nyt-takata-airbags/airbag-classifier-search-binary/">        
1131      A simplistic reproduction of the NYT's research using logistic regression
1132  </a>
1133  <div class="toc"></div>
1134
1135
1136
1137      </li>
1138      
1139      <li class="menu-item">
1140          
1141  <a href="/nyt-takata-airbags/airbag-classifier-search-decision-tree/">        
1142      A decision-tree reproduction of the NYT's research
1143  </a>
1144  <div class="toc"></div>
1145
1146
1147
1148      </li>
1149      
1150      <li class="menu-item">
1151          
1152  <a href="/nyt-takata-airbags/airbag-classifier-search-countvectorizer/">        
1153      Combining a text vectorizer and a classifier to track down suspicious complaints
1154  </a>
1155  <div class="toc"></div>
1156
1157
1158
1159      </li>
1160      
1161    </ol>
1162  </div>
1163
1164              </li>
1165            
1166              <li class="menu-item">
1167                
1168
1169
1170  <input id="accordion-stronglatimesstrongcrimeclassification" type="checkbox" name="accordion-checkbox" hidden="">
1171  <label class="accordion-header c-hand" for="accordion-stronglatimesstrongcrimeclassification">
1172      <i class="icon icon-arrow-right mr-1"></i>
1173      <strong>LA Times:</strong>  Crime classification
1174  </label>
1175  <div class="accordion-body">
1176      <ol class="menu menu-nav">
1177      
1178      <li class="menu-item">
1179          
1180  <a href="/latimes-crime-classification/">        
1181      Summary
1182  </a>
1183  <div class="toc"></div>
1184
1185
1186
1187      </li>
1188      
1189      <li class="menu-item">
1190          
1191  <a href="/latimes-crime-classification/using-a-classifier-to-find-misclassified-crimes/">        
1192      Predicting downgraded assaults with machine learning
1193  </a>
1194  <div class="toc"></div>
1195
1196
1197
1198      </li>
1199      
1200      <li class="menu-item">
1201          
1202  <a href="/latimes-crime-classification/inspecting-classifications/">        
1203      Taking a closer look at our classifier and its misclassifications
1204  </a>
1205  <div class="toc"></div>
1206
1207
1208
1209      </li>
1210      
1211      <li class="menu-item">
1212          
1213  <a href="/latimes-crime-classification/trying-out-different-classifiers/">        
1214      Trying out and combining different classifiers
1215  </a>
1216  <div class="toc"></div>
1217
1218
1219
1220      </li>
1221      
1222    </ol>
1223  </div>
1224
1225              </li>
1226            
1227              <li class="menu-item">
1228                
1229
1230
1231  <input id="accordion-strongcaixinstrongmuseumnames" type="checkbox" name="accordion-checkbox" hidden="">
1232  <label class="accordion-header c-hand" for="accordion-strongcaixinstrongmuseumnames">
1233      <i class="icon icon-arrow-right mr-1"></i>
1234      <strong>Caixin:</strong>  Museum names
1235  </label>
1236  <div class="accordion-body">
1237      <ol class="menu menu-nav">
1238      
1239      <li class="menu-item">
1240          
1241  <a href="/caixin-museum-word-count/">        
1242      Summary
1243  </a>
1244  <div class="toc"></div>
1245
1246
1247
1248      </li>
1249      
1250      <li class="menu-item">
1251          
1252  <a href="/caixin-museum-word-count/chinese-museum-dataset-cleanup/">        
1253      Chinese museum dataset cleanup
1254  </a>
1255  <div class="toc"></div>
1256
1257
1258
1259      </li>
1260      
1261      <li class="menu-item">
1262          
1263  <a href="/caixin-museum-word-count/chinese-museums-per-capita-analysis/">        
1264      Chinese museums per capita analysis
1265  </a>
1266  <div class="toc"></div>
1267
1268
1269
1270      </li>
1271      
1272      <li class="menu-item">
1273          
1274  <a href="/caixin-museum-word-count/counting-words-in-chinese-museum-names/">        
1275      Counting words in Chinese museum names
1276  </a>
1277  <div class="toc"></div>
1278
1279
1280
1281      </li>
1282      
1283    </ol>
1284  </div>
1285
1286              </li>
1287            
1288              <li class="menu-item">
1289                
1290
1291
1292  <input id="accordion-strongwapostrongrandomchatappsafety" type="checkbox" name="accordion-checkbox" hidden="">
1293  <label class="accordion-header c-hand" for="accordion-strongwapostrongrandomchatappsafety">
1294      <i class="icon icon-arrow-right mr-1"></i>
1295      <strong>WaPo:</strong>  Random chat app safety
1296  </label>
1297  <div class="accordion-body">
1298      <ol class="menu menu-nav">
1299      
1300      <li class="menu-item">
1301          
1302  <a href="/wapo-app-reviews/">        
1303      Summary
1304  </a>
1305  <div class="toc"></div>
1306
1307
1308
1309      </li>
1310      
1311      <li class="menu-item">
1312          
1313  <a href="/wapo-app-reviews/scrape-app-store-reviews/">        
1314      Scrape and combine app store reviews
1315  </a>
1316  <div class="toc"></div>
1317
1318
1319
1320      </li>
1321      
1322      <li class="menu-item">
1323          
1324  <a href="/wapo-app-reviews/predict-reviews/">        
1325      Build a classifier to detect reviews about bad behavior
1326  </a>
1327  <div class="toc"></div>
1328
1329
1330
1331      </li>
1332      
1333    </ol>
1334  </div>
1335
1336              </li>
1337            
1338              <li class="menu-item">
1339                
1340  <a href="/ajc-doctors-abuse/">        
1341      <strong>AJC:</strong>  Doctors and sex abuse
1342  </a>
1343  <div class="toc"></div>
1344
1345
1346
1347              </li>
1348            
1349              <li class="menu-item">
1350                
1351
1352
1353  <input id="accordion-strongtheupshotstrongtrumpspeeches" type="checkbox" name="accordion-checkbox" hidden="">
1354  <label class="accordion-header c-hand" for="accordion-strongtheupshotstrongtrumpspeeches">
1355      <i class="icon icon-arrow-right mr-1"></i>
1356      <strong>The UpShot:</strong>  Trump speeches
1357  </label>
1358  <div class="accordion-body">
1359      <ol class="menu menu-nav">
1360      
1361      <li class="menu-item">
1362          
1363  <a href="/upshot-trump-emolex/">        
1364      Summary
1365  </a>
1366  <div class="toc"></div>
1367
1368
1369
1370      </li>
1371      
1372      <li class="menu-item">
1373          
1374  <a href="/upshot-trump-emolex/nrc-emotional-lexicon/">        
1375      An introduction to the NRC Emotional Lexicon
1376  </a>
1377  <div class="toc"></div>
1378
1379
1380
1381      </li>
1382      
1383      <li class="menu-item">
1384          
1385  <a href="/upshot-trump-emolex/trump-vs-state-of-the-union-addresses/">        
1386      Reproducing The UpShot's Trump State of the Union visualization
1387  </a>
1388  <div class="toc"></div>
1389
1390
1391
1392      </li>
1393      
1394    </ol>
1395  </div>
1396
1397              </li>
1398            
1399              <li class="menu-item">
1400                
1401
1402
1403  <input id="accordion-strongusatodaystrongmodellegislation" type="checkbox" name="accordion-checkbox" hidden="">
1404  <label class="accordion-header c-hand" for="accordion-strongusatodaystrongmodellegislation">
1405      <i class="icon icon-arrow-right mr-1"></i>
1406      <strong>USA Today:</strong>  Model legislation
1407  </label>
1408  <div class="accordion-body">
1409      <ol class="menu menu-nav">
1410      
1411      <li class="menu-item">
1412          
1413  <a href="/azcentral-text-reuse-model-legislation/">        
1414      Summary
1415  </a>
1416  <div class="toc"></div>
1417
1418
1419
1420      </li>
1421      
1422      <li class="menu-item">
1423          
1424  <a href="/azcentral-text-reuse-model-legislation/01-downloading-one-million-pieces-of-legislation-from-legiscan/">        
1425      Downloading one million pieces of legislation from LegiScan
1426  </a>
1427  <div class="toc"></div>
1428
1429
1430
1431      </li>
1432      
1433      <li class="menu-item">
1434          
1435  <a href="/azcentral-text-reuse-model-legislation/02-taking-a-mill
1435ion-pieces-of-legislation-from-a-csv-and-inserting-them-into-postgres/">        
1436      Taking a million pieces of legislation from a CSV and inserting them into Postgres
1437  </a>
1438  <div class="toc"></div>
1439
1440
1441
1442      </li>
1443      
1444      <li class="menu-item">
1445          
1446  <a href="/azcentral-text-reuse-model-legislation/03-download-word-pdf-and-html-content-and-process-it-into-text-with-tika/">        
1447      Download Word, PDF and HTML content and process it into text with Tika
1448  </a>
1449  <div class="toc"></div>
1450
1451
1452
1453      </li>
1454      
1455      <li class="menu-item">
1456          
1457  <a href="/azcentral-text-reuse-model-legislation/04-import-content-into-solr-for-advanced-text-searching/">        
1458      Import content into Solr for advanced text searching
1459  </a>
1460  <div class="toc"></div>
1461
1462
1463
1464      </li>
1465      
1466      <li class="menu-item">
1467          
1468  <a href="/azcentral-text-reuse-model-legislation/05-checking-for-legislative-text-reuse-using-python-solr-and-ngrams/">        
1469      Checking for legislative text reuse using Python, Solr, and ngrams
1470  </a>
1471  <div class="toc"></div>
1472
1473
1474
1475      </li>
1476      
1477      <li class="menu-item">
1478          
1479  <a href="/azcentral-text-reuse-model-legislation/05-checking-for-legislative-text-reuse-using-python-solr-and-simple-text-search/">        
1480      Checking for legislative text reuse using Python, Solr, and simple text search
1481  </a>
1482  <div class="toc"></div>
1483
1484
1485
1486      </li>
1487      
1488      <li class="menu-item">
1489          
1490  <a href="/azcentral-text-reuse-model-legislation/06-search-for-model-legislation-in-over-one-million-bills-using-postgres-and-solr/">        
1491      Search for model legislation in over one million bills using Postgres and Solr
1492  </a>
1493  <div class="toc"></div>
1494
1495
1496
1497      </li>
1498      
1499      <li class="menu-item">
1500          
1501  <a href="/azcentral-text-reuse-model-legislation/using-topic-modeling-to-categorize-legislation/">        
1502      Using topic modeling to categorize legislation
1503  </a>
1504  <div class="toc"></div>
1505
1506
1507
1508      </li>
1509      
1510    </ol>
1511  </div>
1512
1513              </li>
1514            
1515              <li class="menu-item">
1516                
1517  <a href="/fcc-comments/">        
1518      FCC comment bots
1519  </a>
1520  <div class="toc"></div>
1521
1522
1523
1524              </li>
1525            
1526              <li class="menu-item">
1527                
1528
1529
1530  <input id="accordion-strongbloombergstrongdemocraticcandidatetweets" type="checkbox" name="accordion-checkbox" hidden="">
1531  <label class="accordion-header c-hand" for="accordion-strongbloombergstrongdemocraticcandidatetweets">
1532      <i class="icon icon-arrow-right mr-1"></i>
1533      <strong>Bloomberg:</strong>  Democratic Candidate Tweets
1534  </label>
1535  <div class="accordion-body">
1536      <ol class="menu menu-nav">
1537      
1538      <li class="menu-item">
1539          
1540  <a href="/bloomberg-tweet-topics/">        
1541      Summary
1542  </a>
1543  <div class="toc"></div>
1544
1545
1546
1547      </li>
1548      
1549      <li class="menu-item">
1550          
1551  <a href="/bloomberg-tweet-topics/scrape-tweets-from-presidential-primary-candidates/">        
1552      Downloading all 2019 tweets from Democratic presidential candidates
1553  </a>
1554  <div class="toc"></div>
1555
1556
1557
1558      </li>
1559      
1560      <li class="menu-item">
1561          
1562  <a href="/bloomberg-tweet-topics/topic-modeling-for-tweets/">        
1563      Using topic modeling to analyze presidential candidate tweets
1564  </a>
1565  <div class="toc"></div>
1566
1567
1568
1569      </li>
1570      
1571      <li class="menu-item">
1572          
1573  <a href="/bloomberg-tweet-topics/assigning-categories-to-text-using-keyword-matching/">        
1574      Assigning categories to tweets using keyword matching
1575  </a>
1576  <div class="toc"></div>
1577
1578
1579
1580      </li>
1581      
1582      <li class="menu-item">
1583          
1584  <a href="/bloomberg-tweet-topics/building-streamgraphs-from-candidate-tweets/">        
1585      Building streamgraphs from categorized and dated datasets
1586  </a>
1587  <div class="toc"></div>
1588
1589
1590
1591      </li>
1592      
1593    </ol>
1594  </div>
1595
1596              </li>
1597            
1598              <li class="menu-item">
1599                
1600  <a href="/nyt-trump-tweets/">        
1601      <strong>NYT:</strong>  Trump tweets
1602  </a>
1603  <div class="toc"></div>
1604
1605
1606
1607              </li>
1608            
1609              <li class="menu-item">
1610                
1611
1612
1613  <input id="accordion-strongapstronglifeexpectancy" type="checkbox" name="accordion-checkbox" hidden="">
1614  <label class="accordion-header c-hand" for="accordion-strongapstronglifeexpectancy">
1615      <i class="icon icon-arrow-right mr-1"></i>
1616      <strong>AP:</strong>  Life expectancy
1617  </label>
1618  <div class="accordion-body">
1619      <ol class="menu menu-nav">
1620      
1621      <li class="menu-item">
1622          
1623  <a href="/ap-regression-unemployment/">        
1624      Summary
1625  </a>
1626  <div class="toc"></div>
1627
1628
1629
1630      </li>
1631      
1632      <li class="menu-item">
1633          
1634  <a href="/ap-regression-unemployment/simple-regression-with-census-data-statsmodels-with-formulas/">        
1635      Simple logistic regression using statsmodels (formula version)
1636  </a>
1637  <div class="toc"></div>
1638
1639
1640
1641      </li>
1642      
1643      <li class="menu-item">
1644          
1645  <a href="/ap-regression-unemployment/simple-regression-with-census-data-statsmodels-with-dataframes/">        
1646      Simple logistic regression using statsmodels (dataframes version)
1647  </a>
1648  <div class="toc"></div>
1649
1650
1651
1652      </li>
1653      
1654    </ol>
1655  </div>
1656
1657              </li>
1658            
1659              <li class="menu-item">
1660                
1661  <a href="/fivethirtyeight-p-hacking/">        
1662      <strong>FiveThirtyEight:</strong>  P-values
1663  </a>
1664  <div class="toc"></div>
1665
1666
1667
1668              </li>
1669            
1670              <li class="menu-item">
1671                
1672
1673
1674  <input id="accordion-strongmilwaukeejournalsentinelstrongpotholes" type="checkbox" name="accordion-checkbox" hidden="">
1675  <label class="accordion-header c-hand" for="accordion-strongmilwaukeejournalsentinelstrongpotholes">
1676      <i class="icon icon-arrow-right mr-1"></i>
1677      <strong>Milwaukee Journal-Sentinel:</strong>  Potholes
1678  </label>
1679  <div class="accordion-body">
1680      <ol class="menu menu-nav">
1681      
1682      <li class="menu-item">
1683          
1684  <a href="/milwaukee-potholes/">        
1685      Summary
1686  </a>
1687  <div class="toc"></div>
1688
1689
1690
1691      </li>
1692      
1693      <li class="menu-item">
1694          
1695  <a href="/milwaukee-potholes/milwaukee-journal-sentinel-and-potholes-full-walkthrough/">        
1696      Pothole geographic analysis and linear regression, complete walkthrough
1697  </a>
1698  <div class="toc"></div>
1699
1700
1701
1702      </li>
1703      
1704      <li class="menu-item">
1705          
1706  <a href="/milwaukee-potholes/milwaukee-journal-sentinel-and-potholes-without-merging/">        
1707      Pothole demographics linear regression, no spatial analysis
1708  </a>
1709  <div class="toc"></div>
1710
1711
1712
1713      </li>
1714      
1715    </ol>
1716  </div>
1717
1718              </li>
1719            
1720              <li class="menu-item">
1721                
1722
1723
1724  <input id="accordion-strongdallasmorningnewsstrongcheatingschools" type="checkbox" name="accordion-checkbox" hidden="">
1725  <label class="accordion-header c-hand" for="accordion-strongdallasmorningnewsstrongcheatingschools">
1726      <i class="icon icon-arrow-right mr-1"></i>
1727      <strong>Dallas Morning News:</strong>  Cheating schools
1728  </label>
1729  <div class="accordion-body">
1730      <ol class="menu menu-nav">
1731      
1732      <li class="menu-item">
1733          
1734  <a href="/dmn-texas-school-cheating/">        
1735      Summary
1736  </a>
1737  <div class="toc"></div>
1738
1739
1740
1741      </li>
1742      
1743      <li class="menu-item">
1744          
1745  <a href="/dmn-texas-school-cheating/texas-school-cheating-finding-outliers-with-standard-deviation-and-regression/">        
1746      Finding outliers with standard deviation and regression
1747  </a>
1748  <div class="toc"></div>
1749
1750
1751
1752      </li>
1753      
1754      <li class="menu-item">
1755          
1756  <a href="/dmn-texas-school-cheating/texas-school-cheating-finding-outliers-with-regression-residuals/">        
1757      Finding outliers with regression residuals (short version)
1758  </a>
1759  <div class="toc"></div>
1760
1761
1762
1763      </li>
1764      
1765      <li class="menu-item">
1766          
1767  <a href="/dmn-texas-school-cheating/texas-school-cheating-graph-reproductions/">        
1768      Reproducing the graphics from The Dallas Morning News piece
1769  </a>
1770  <div class="toc"></div>
1771
1772
1773
1774      </li>
1775      
1776    </ol>
1777  </div>
1778
1779              </li>
1780            
1781              <li class="menu-item">
1782                
1783
1784
1785  <input id="accordion-strongtampabaytimesstrongfailurefactories" type="checkbox" name="accordion-checkbox" hidden="">
1786  <label class="accordion-header c-hand" for="accordion-strongtampabaytimesstrongfailurefactories">
1787      <i class="icon icon-arrow-right mr-1"></i>
1788      <strong>Tampa Bay Times:</strong>  Failure factories
1789  </label>
1790  <div class="accordion-body">
1791      <ol class="menu menu-nav">
1792      
1793      <li class="menu-item">
1794          
1795  <a href="/tampa-bay-times-schools/">        
1796      Summary
1797  </a>
1798  <div class="toc"></div>
1799
1800
1801
1802      </li>
1803      
1804      <li class="menu-item">
1805          
1806  <a href="/tampa-bay-times-schools/linear-regression-on-florida-schools/">        
1807      Linear regression on Florida schools, complete walkthrough
1808  </a>
1809  <div class="toc"></div>
1810
1811
1812
1813      </li>
1814      
1815      <li class="menu-item">
1816          
1817  <a href="/tampa-bay-times-schools/linear-regression-on-florida-schools-no-cleaning/">        
1818      Linear regression on Florida schools, no cleaning
1819  </a>
1820  <div class="toc"></div>
1821
1822
1823
1824      </li>
1825      
1826    </ol>
1827  </div>
1828
1829              </li>
1830            
1831              <li class="menu-item">
1832                
1833
1834
1835  <input id="accordion-caraccidentsandcarweight" type="checkbox" name="accordion-checkbox" hidden="">
1836  <label class="accordion-header c-hand" for="accordion-caraccidentsandcarweight">
1837      <i class="icon icon-arrow-right mr-1"></i>
1838      Car accidents and car weight
1839  </label>
1840  <div class="accordion-body">
1841      <ol class="menu menu-nav">
1842      
1843      <li class="menu-item">
1844          
1845  <a href="/car-crashes-weight-regression/">        
1846      Summary
1847  </a>
1848  <div class="toc"></div>
1849
1850
1851
1852      </li>
1853      
1854      <li class="menu-item">
1855          
1856  <a href="/car-crashes-weight-regression/car-crashes-feature-selection-and-engineering/">        
1857      Feature selection and engineering
1858  </a>
1859  <div class="toc"></div>
1860
1861
1862
1863      </li>
1864      
1865      <li class="menu-item">
1866          
1867  <a href="/car-crashes-weight-regression/01-combine-excel-files-across-multiple-sheets-and-save-as-csv-files/">        
1868      Combine Excel files across multiple sheets and save as CSV files
1869  </a>
1870  <div class="toc"></div>
1871
1872
1873
1874      </li>
1875      
1876      <li class="menu-item">
1877          
1878  <a href="/car-crashes-weight-regression/02-create-make-model-weights-csv/">        
1879      Create make model weights csv
1880  </a>
1881  <div class="toc"></div>
1882
1883
1884
1885      </li>
1886      
1887      <li class="menu-item">
1888          
1889  <a href="/car-crashes-weight-regression/03-find-car-data-from-vins/">        
1890      Find car data from VINs
1891  </a>
1892  <div class="toc"></div>
1893
1894
1895
1896      </li>
1897      
1898      <li class="menu-item">
1899          
1900  <a href="/car-crashes-weight-regression/04-combine-vins-and-weights/">        
1901      Combine VINs and weights
1902  </a>
1903  <div class="toc"></div>
1904
1905
1906
1907      </li>
1908      
1909      <li class="menu-item">
1910          
1911  <a href="/car-crashes-weight-regression/05-clean-combine-and-filter-data/">        
1912      Clean combine and filter data
1913  </a>
1914  <div class="toc"></div>
1915
1916
1917
1918      </li>
1919      
1920    </ol>
1921  </div>
1922
1923              </li>
1924            
1925              <li class="menu-item">
1926                
1927  <a href="/propublica-opportunity-gap/">        
1928      <strong>ProPublica:</strong>  Opportunity Gap
1929  </a>
1930  <div class="toc"></div>
1931
1932
1933
1934              </li>
1935            
1936              <li class="menu-item">
1937                
1938
1939
1940  <input id="accordion-strongbostonglobestrongticketingbias" type="checkbox" name="accordion-checkbox" hidden="">
1941  <label class="accordion-header c-hand" for="accordion-strongbostonglobestrongticketingbias">
1942      <i class="icon icon-arrow-right mr-1"></i>
1943      <strong>Boston Globe:</strong>  Ticketing bias
1944  </label>
1945  <div class="accordion-body">
1946      <ol class="menu menu-nav">
1947      
1948      <li class="menu-item">
1949          
1950  <a href="/boston-globe-tickets/">        
1951      Summary
1952  </a>
1953  <div class="toc"></div>
1954
1955
1956
1957      </li>
1958      
1959      <li class="menu-item">
1960          
1961  <a href="/boston-globe-tickets/boston-globe-ticketing-regression/">        
1962      Logistic regression for speeding tickets
1963  </a>
1964  <div class="toc"></div>
1965
1966
1967
1968      </li>
1969      
1970    </ol>
1971  </div>
1972
1973              </li>
1974            
1975              <li class="menu-item">
1976                
1977  <a href="/stanford-open-policing/">        
1978      <strong>Stanford:</strong>  Open Policing Data
1979  </a>
1980  <div class="toc"></div>
1981
1982
1983
1984              </li>
1985            
1986              <li class="menu-item">
1987                
1988
1989
1990  <input id="accordion-strongbuzzfeedstrongsurveillanceplanes" type="checkbox" name="accordion-checkbox" hidden="">
1991  <label class="accordion-header c-hand" for="accordion-strongbuzzfeedstrongsurveillanceplanes">
1992      <i class="icon icon-arrow-right mr-1"></i>
1993      <strong>BuzzFeed:</strong>  Surveillance planes
1994  </label>
1995  <div class="accordion-body">
1996      <ol class="menu menu-nav">
1997      
1998      <li class="menu-item">
1999          
2000  <a href="/buzzfeed-spy-planes/">        
2001      Summary
2002  </a>
2003  <div class="toc"></div>
2004
2005
2006
2007      </li>
2008      
2009      <li class="menu-item">
2010          
2011  <a href="/buzzfeed-spy-planes/feature-engineering-buzzfeed-spy-planes/">        
2012      Feature engineering - BuzzFeed spy planes
2013  </a>
2014  <div class="toc"></div>
2015
2016
2017
2018      </li>
2019      
2020      <li class="menu-item">
2021          
2022  <a href="/buzzfeed-spy-planes/drawing-flight-paths-on-maps-with-cartopy/">        
2023      Drawing flight paths on maps with cartopy
2024  </a>
2025  <div class="toc"></div>
2026
2027
2028
2029      </li>
2030      
2031      <li class="menu-item">
2032          
2033  <a href="/buzzfeed-spy-planes/buzzfeed-surveillance-planes-random-forests/">        
2034      Finding surveillance planes using random forests
2035  </a>
2036  <div class="toc"></div>
2037
2038
2039
2040      </li>
2041      
2042    </ol>
2043  </div>
2044
2045              </li>
2046            
2047              <li class="menu-item">
2048                
2049
2050
2051  <input id="accordion-strongrevealstrongmortgagelendingbias" type="checkbox" name="accordion-checkbox" hidden="">
2052  <label class="accordion-header c-hand" for="accordion-strongrevealstrongmortgagelendingbias">
2053      <i class="icon icon-arrow-right mr-1"></i>
2054      <strong>Reveal:</strong>  Mortgage lending bias
2055  </label>
2056  <div class="accordion-body">
2057      <ol class="menu menu-nav">
2058      
2059      <li class="menu-item">
2060          
2061  <a href="/reveal-mortgages/">        
2062      Summary
2063  </a>
2064  <div class="toc"></div>
2065
2066
2067
2068      </li>
2069      
2070      <li class="menu-item">
2071          
2072  <a href="/reveal-mortgages/reveal-mortgage-analysis-cleaning-and-combining-data/">        
2073      Cleaning and combining data for the Reveal Mortgage Analysis
2074  </a>
2075  <div class="toc"></div>
2076
2077
2078
2079      </li>
2080      
2081      <li class="menu-item">
2082          
2083  <a href="/reveal-mortgages/reveal-mortgage-analysis-wild-formulas-in-statsmodels-using-patsy-short-version/">        
2084      Wild formulas in statsmodels using Patsy (short version)
2085  </a>
2086  <div class="toc"></div>
2087
2088
2089
2090      </li>
2091      
2092      <li class="menu-item">
2093          
2094  <a href="/reveal-mortgages/reveal-mortgage-analysis-logistic-regression-using-statsmodels-formulas/">        
2095      Reveal Mortgage Analysis - Logistic Regression using statsmodels formulas
2096  </a>
2097  <div class="toc"></div>
2098
2099
2100
2101      </li>
2102      
2103      <li class="menu-item">
2104          
2105  <a href="/reveal-mortgages/reveal-mortgage-analysis-logistic-regression/">        
2106      Reveal Mortgage Analysis - Logistic Regression
2107  </a>
2108  <div class="toc"></div>
2109
2110
2111
2112      </li>
2113      
2114    </ol>
2115  </div>
2116
2117              </li>
2118            
2119              <li class="menu-item">
2120                
2121
2122
2123  <input id="accordion-strongapmreportsstrongjuryselectionbias" type="checkbox" name="accordion-checkbox" hidden="">
2124  <label class="accordion-header c-hand" for="accordion-strongapmreportsstrongjuryselectionbias">
2125      <i class="icon icon-arrow-right mr-1"></i>
2126      <strong>APM Reports:</strong>  Jury selection bias
2127  </label>
2128  <div class="accordion-body">
2129      <ol class="menu menu-nav">
2130      
2131      <li class="menu-item">
2132          
2133  <a href="/apm-reports-jury-bias/">        
2134      Summary
2135  </a>
2136  <div class="toc"></div>
2137
2138
2139
2140      </li>
2141      
2142      <li class="menu-item">
2143          
2144  <a href="/apm-reports-jury-bias/in-the-dark-combining-datasets-and-cleaning-the-data/">        
2145      Combining and cleaning the initial dataset
2146  </a>
2147  <div class="toc"></div>
2148
2149
2150
2151      </li>
2152      
2153      <li class="menu-item">
2154          
2155  <a href="/apm-reports-jury-bias/in-the-dark-feature-selection-with-p-values/">        
2156      Picking what matters and what doesn't in a regression
2157  </a>
2158  <div class="toc"></div>
2159
2160
2161
2162      </li>
2163      
2164      <li class="menu-item">
2165          
2166  <a href="/apm-reports-jury-bias/in-the-dark-jury-selection-regression-walkthrough/">        
2167      Analyzing data using statsmodels formulas
2168  </a>
2169  <div class="toc"></div>
2170
2171
2172
2173      </li>
2174      
2175      <li class="menu-item">
2176          
2177  <a href="/apm-reports-jury-bias/in-the-dark-alternative-formula-methods/">        
2178      Alternative techniques with statsmodels formulas
2179  </a>
2180  <div class="toc"></div>
2181
2182
2183
2184      </li>
2185      
2186    </ol>
2187  </div>
2188
2189              </li>
2190            
2191              <li class="menu-item">
2192                
2193
2194
2195  <input id="accordion-strongreutersstrongasylumdenials" type="checkbox" name="accordion-checkbox" hidden="">
2196  <label class="accordion-header c-hand" for="accordion-strongreutersstrongasylumdenials">
2197      <i class="icon icon-arrow-right mr-1"></i>
2198      <strong>Reuters:</strong>  Asylum denials
2199  </label>
2200  <div class="accordion-body">
2201      <ol class="menu menu-nav">
2202      
2203      <li class="menu-item">
2204          
2205  <a href="/reuters-asylum/">        
2206      Summary
2207  </a>
2208  <div class="toc"></div>
2209
2210
2211
2212      </li>
2213      
2214      <li class="menu-item">
2215          
2216  <a href="/reuters-asylum/cleaning-the-eoir-immigration-court-dataset/">        
2217      Preparing the EOIR immigration court data for analysis
2218  </a>
2219  <div class="toc"></div>
2220
2221
2222
2223      </li>
2224      
2225      <li class="menu-item">
2226          
2227  <a href="/reuters-asylum/using-regression-to-analyze-asylum-cases/">        
2228      How nationality and judges affect your chance of asylum in immigration court
2229  </a>
2230  <div class="toc"></div>
2231
2232
2233
2234      </li>
2235      
2236    </ol>
2237  </div>
2238
2239              </li>
2240            
2241              <li class="menu-item">
2242                
2243  <a href="/propublica-pardons/">        
2244      <strong>ProPublica:</strong>  Presidential pardons
2245  </a>
2246  <div class="toc"></div>
2247
2248
2249
2250              </li>
2251            
2252              <li class="menu-item">
2253                
2254
2255
2256  <input id="accordion-strongpropublicastrongcriminalsentencing" t
2256ype="checkbox" name="accordion-checkbox" hidden="">
2257  <label class="accordion-header c-hand" for="accordion-strongpropublicastrongcriminalsentencing">
2258      <i class="icon icon-arrow-right mr-1"></i>
2259      <strong>ProPublica:</strong>  Criminal sentencing
2260  </label>
2261  <div class="accordion-body">
2262      <ol class="menu menu-nav">
2263      
2264      <li class="menu-item">
2265          
2266  <a href="/propublica-criminal-sentencing/">        
2267      Summary
2268  </a>
2269  <div class="toc"></div>
2270
2271
2272
2273      </li>
2274      
2275      <li class="menu-item">
2276          
2277  <a href="/propublica-criminal-sentencing/week-5-1-machine-bias-class/">        
2278      Breaking down machine bias
2279  </a>
2280  <div class="toc"></div>
2281
2282
2283
2284      </li>
2285      
2286    </ol>
2287  </div>
2288
2289              </li>
2290            
2291              <li class="menu-item">
2292                
2293  <a href="/foia-predictor/">        
2294      <strong>data.world:</strong>  The FOIA Predictor
2295  </a>
2296  <div class="toc"></div>
2297
2298
2299
2300              </li>
2301            
2302          </ol>
2303        
2304    </div>
2305  </div>
2306</div>
2307      </div>
2308    </div>
2309  </div>
2310    
2310<script src="/js/tocbot.js"></script>
2310
2311
2312  
2312<script>
2313    // Add the div to hold the table of contents
2314    try {
2315      let toc = document.createElement("div")
2316      toc.setAttribute('class', 'js-toc')
2317      document.querySelector(".reading-options").parentNode.appendChild(toc)
2318    } catch (err) {
2319
2320    }
2321
2322    let slugSelector = "/wapo-app-reviews/"
2323    
2324      let contentSelector = '.notebook'
2325    
2326  </script>
2326
2327
2328  
2328<script src="/js/main.js?v=1edd6b72f7227d977df2bf125e3b6e55"></script>
2328
2329
2330</body>
2331
2332</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.