Jika Anda ingin mengetahui apa yang akan menjadi arus utama besok, lihat apa yang digunakan pengembang hari ini. Pengembang biasanya merangkul teknologi baru bertahun-tahun sebelum mereka mencapai pusat data. Karena teknologi terus memperkuat keunggulan kompetitif, pengembang semakin berada di kursi pengemudi dalam hal strategi teknologi perusahaan
Salah satu sumber wawasan terbaik yang kami miliki tentang pemikiran pengembang adalah Survei Pengembang Stack Overflow. Survei ini telah berjalan selama lebih dari 5 tahun dan menghasilkan lebih dari 60.000 tanggapan pengembang. Ini adalah wawasan paling komprehensif tentang pemikiran pengembang yang dapat kami harapkan
Pengembang Teknologi Ingin
Dalam survei tersebut, pengembang membagikan teknologi yang mereka gunakan dan—mungkin yang lebih penting—teknologi yang ingin mereka gunakan. Wawasan ini dapat membantu kami memahami kemungkinan arsitektur platform generasi berikutnya
JavaScript, HTML, SQL, Python, dan Java tetap menjadi bahasa pemrograman yang paling umum digunakan. Bahasa-bahasa veteran ini—andalan pemrograman web selama lebih dari 20 tahun—tetap menjadi pekerja keras pengembangan web. JavaScript terus mendominasi pengembangan front-end dan juga telah membuat terobosan signifikan di back-end. Node. js tampaknya lebih populer daripada. NET atau Spring, menunjukkan bahwa lebih banyak situs web yang menggunakan JavaScript sebagai teknologi back-end daripada C# atau Java
Namun, pembangunan andalan ini belum tentu menjadi pilihan populer. Bahasa pemrograman yang paling "dicintai" adalah bahasa Rust yang relatif baru, bersama dengan TypeScript, Python, Kotlin, dan Go
Dalam hal sistem operasi, Linux dan Windows mendominasi, dengan lebih dari separuh pengembang profesional menggunakan keduanya. Dua puluh lima persen pengembang profesional menggunakan MacOS
Disukai Versus Ditakuti
Sejauh platform cloud, AWS tampaknya memiliki keunggulan yang kuat—30% responden menggunakan AWS dibandingkan hanya 16% untuk Azure dan 14. 5% untuk Google Cloud. Dua puluh persen pengembang ingin mempelajari AWS, sementara hanya 10% yang ingin mempelajari Azure. Sentimen untuk Google Cloud tampaknya sangat buruk—39% developer “takut” dengan Google Cloud
Tidak mengherankan, platform pengembangan seluler banyak digunakan. Java tampaknya tetap menjadi platform dominan untuk pengembangan Android, dengan Swift dan Objective-C yang paling populer untuk pengembangan iOS
Teknologi kontainer telah membuat terobosan besar—39% responden menggunakan Docker, dan hampir 13% menggunakan Kubernetes. Docker adalah teknologi platform yang paling "diinginkan" — pengembang yang belum menggunakan Docker sangat ingin mempelajarinya
MySQL terus menjadi teknologi basis data yang paling populer, diikuti oleh PostgresSQL, SQL Server, SQLite, dan MongoDB. Oracle, meskipun memimpin besar dalam pembagian pendapatan, hanya digunakan oleh sekitar 16% responden. Saat melihat sentimen pengembang, kami melihat bahwa MongoDB dan Postgres adalah database yang paling dicari, sedangkan Db2 dan Oracle adalah yang paling ditakuti. Ketika pengembang punya pilihan, mereka akan pindah ke database open source ini
Alat dan Teknik
DevOps, kumpulan praktik yang melibatkan otomatisasi pengujian, serta integrasi dan penerapan berkelanjutan, dianggap sangat atau agak penting bagi sekitar 80% responden
Tidak mengherankan, GitHub, Slack, dan Jira adalah alat kolaborasi yang paling sering digunakan
Survei Stack Overflow tampaknya mencerminkan komunitas pengembangan yang berkonsolidasi di sekitar beberapa alat dan teknik penting. DevOps tampaknya mengakar di arus utama. Teknologi berbasis kontainer seperti Docker dan Kubernetes terus menjadi semakin penting. Basis data sumber terbuka juga mulai berkembang pada alternatif komersial. Dan sementara vendor cloud teratas masih berjuang untuk mendominasi, Amazon mempertahankan kepemimpinan yang sehat.
Felipe Hoffa, Developer Advocate untuk Google Cloud, menjelaskan bagaimana dia menggunakan BigQuery untuk mengatur tag Stack Overflow ke dalam grup yang menarik
Felipe Hoffa Penganjur Pengembang
Bagaimana Anda mengelompokkan lebih dari 4.000 tag Stack Overflow aktif ke dalam grup yang bermakna? . Mari cari tahu caranya
4.000+ tag sangat banyak
Ini adalah tag Stack Overflow paling aktif sejak 2018 — jumlahnya banyak. Dalam gambar ini saya hanya memiliki 240 tag — bagaimana Anda mengelompokkan dan mengkategorikan lebih dari 4.000 tag?# Tags with >180 questions since 2018 SELECT tag, COUNT[*] questions FROM `fh-bigquery.stackoverflow_archive.201906_posts_questions`, UNNEST[SPLIT[tags, '|']] tag WHERE creation_date > '2018-01-01' GROUP BY 1 HAVING questions>180 ORDER BY 2 DESC
Petunjuk. Tag yang terjadi bersamaan
Mari cari tag yang biasanya cocok.- 'javascript' terkait dengan 'html'
- 'python' terkait dengan 'panda'
- 'c #' terkait dengan '. bersih'
- 'typescript' terkait dengan 'angular'
- dll…
CREATE OR REPLACE TABLE `deleting.stack_overflow_tag_co_ocurrence` AS WITH data AS [ SELECT * FROM `fh-bigquery.stackoverflow_archive.201906_posts_questions` WHERE creation_date > '2018-01-01' ], active_tags AS [ SELECT tag, COUNT[*] c FROM data, UNNEST[SPLIT[tags, '|']] tag GROUP BY 1 HAVING c>180 ] SELECT *, questions/questions_tag1 percent FROM [ SELECT *, MAX[questions] OVER[PARTITION BY tag1] questions_tag1 FROM [ SELECT tag1, tag2, COUNT[*] questions FROM data, UNNEST[SPLIT[tags, '|']] tag1, UNNEST[SPLIT[tags, '|']] tag2 WHERE tag1 IN [SELECT tag FROM active_tags] AND tag2 IN [SELECT tag FROM active_tags] GROUP BY 1,2 HAVING questions>30 ] ]_
- 'javascript' menunjukkan hubungan dengan 'php', 'html', 'css', 'node. js', dan 'jquery'
- 'android' menunjukkan hubungan dengan 'java'
- 'pembelajaran mesin' menunjukkan hubungan dengan 'python', tetapi tidak sebaliknya
- 'multi-threading' menunjukkan hubungan dengan 'python', 'java', 'c#', dan 'android`
- 'pengujian unit' hubungannya dengan hampir setiap kolom di sini, kecuali untuk 'php', 'html', 'css', dan 'jquery'
SELECT tag1 ,IFNULL[ANY_VALUE[IF[tag2='javascript',1,null]],0] Xjavascript ,IFNULL[ANY_VALUE[IF[tag2='python',1,null]],0 ] Xpython ,IFNULL[ANY_VALUE[IF[tag2='java',1,null]],0] Xjava ,IFNULL[ANY_VALUE[IF[tag2='c#',1,null]],0] XcH ,IFNULL[ANY_VALUE[IF[tag2='android',1,null]],0] Xandroid ,IFNULL[ANY_VALUE[IF[tag2='php',1,null]],0] Xphp ,IFNULL[ANY_VALUE[IF[tag2='html',1,null]],0] Xhtml ,IFNULL[ANY_VALUE[IF[tag2='css',1,null]],0] Xcss ,IFNULL[ANY_VALUE[IF[tag2='node.js',1,null]],0] XnodeDjs ,IFNULL[ANY_VALUE[IF[tag2='jquery',1,null]],0] Xjquery ,SUM[questions] questions_tag1 FROM `deleting.stack_overflow_tag_co_ocurrence` WHERE percent>0.03 GROUP BY tag1 ORDER BY questions_tag1 DESC LIMIT 100
Waktu pengelompokan K-means
Sekarang — daripada menggunakan tabel kecil ini, mari gunakan seluruh tabel untuk menghitung k-means dengan BigQuery. Dengan baris ini, saya membuat string penyandian satu-panas yang dapat saya gunakan nanti untuk menentukan 4.000+ kolom yang akan saya gunakan untuk k-means.one_hot_big = client.query["""Dan melatih model k-means di BigQuery sangatlah mudah.
SELECT STRING_AGG[
FORMAT["IFNULL[ANY_VALUE[IF[tag2='%s',1,null]],0]X%s", tag2, REPLACE[REPLACE[REPLACE[REPLACE[tag2,'-','_'],'.','D'],'#','H'],'+','P']]
] one_hot
FROM [
SELECT tag2, SUM[questions] questions
FROM `deleting.stack_overflow_tag_co_ocurrence`
GROUP BY tag2
# ORDER BY questions DESC
# LIMIT 10
]
"""].to_dataframe[].iloc[0]['one_hot']
CREATE MODEL `deleting.kmeans_tagsubtag_50_big_a_01` OPTIONS [ model_type='kmeans', distance_type='COSINE', num_clusters=50 ] AS WITH tag_and_subtags AS [ SELECT tag1, %s FROM `deleting.stack_overflow_tag_co_ocurrence` WHERE percent>0.03 GROUP BY tag1 ] SELECT * EXCEPT[tag1] FROM tag_and_subtagsSekarang kita menunggu — sementara BigQuery menunjukkan kemajuan pelatihan kita.
Indeks Davies–Bouldin. 1. 8530
0. 8174
Catatan kinerja
Apakah kita benar-benar membutuhkan 4.000 dimensi one-hot encoded untuk mendapatkan kluster yang lebih baik? . Ini juga mengurangi waktu pelatihan model di BigQuery dari 24 menit menjadi 3 menit. Hal yang sama dengan hanya 30 dimensi menurunkan waktu menjadi 90 detik — tetapi saya lebih menyukai hasilnya dengan 500. Lebih lanjut tentang penyetelan hyper-parameter di bawah ini.0. 52332
Bersiaplah untuk hasilnya. 50 kluster tersebut adalah…
Sekarang saatnya untuk melihat hasil kami. Saya bahkan akan mencari beberapa tag yang saya minati. Bagaimanagoogle
, amazon
, dan CREATE OR REPLACE TABLE `deleting.stack_overflow_tag_co_ocurrence` AS WITH data AS [ SELECT * FROM `fh-bigquery.stackoverflow_archive.201906_posts_questions` WHERE creation_date > '2018-01-01' ], active_tags AS [ SELECT tag, COUNT[*] c FROM data, UNNEST[SPLIT[tags, '|']] tag GROUP BY 1 HAVING c>180 ] SELECT *, questions/questions_tag1 percent FROM [ SELECT *, MAX[questions] OVER[PARTITION BY tag1] questions_tag1 FROM [ SELECT tag1, tag2, COUNT[*] questions FROM data, UNNEST[SPLIT[tags, '|']] tag1, UNNEST[SPLIT[tags, '|']] tag2 WHERE tag1 IN [SELECT tag FROM active_tags] AND tag2 IN [SELECT tag FROM active_tags] GROUP BY 1,2 HAVING questions>30 ] ]0 terwakili di setiap kluster? . Beberapa hasil sangat masuk akal — sementara yang lain memberikan wawasan yang bagus tentang apa saja teknologi umum yang ada di sekitar tag Stack Overflow mana pun. Memberi nama setiap centroid selalu menjadi tantangan. Di sini saya menggunakan 5 vektor bobot centroid teratas — lihat caranya di bawah
titik pusat 45. layanan web amazon, aws-lambda, amazon-s3, amazon-ec2, python
—–
layanan web amazon, amazon-s3, aws-lambda, amazon-ec2, amazon-dynamodb, terraform, aws-sdk, amazon-cloudformation, amazon-redshift, aws-api-gateway, amazon-cognito, boto3, cloud,
amazon. amazon-cognito, amazon-ses, amazon-redshift, aws-lambda, amazon-ecs, amazon-s3, amazon-web-services, amazon-athena, aws-api-gateway, amazon-rds, amazon, amazon-cloudfront,
pusat massa 17. android, java, android-layout, android-recyclerview, kotlin
—–
android, json, xml, kotlin, android-studio, android-recyclerview, tata letak android, fragmen android, xslt, serialisasi, niat android, retrofit2, aktivitas android, kamar android, nullpointerexception, retrofit, gson, android- . 0, android-jetpack, manifes-android, laci navigasi, adaptor, tampilan navigasi bawah, xslt-2. 0, android-toolbar, titlelistener, android-talayout, android-cardview, android-spinner, android-adapter, picasso, android-linearlayout, transformasi, android-drawable, android-architecture-navigation, android-imageview, android-custom-
pusat 7. android, java, javascript, ios, python
—–
android-gradle, bluetooth, rx-java2, build. gradle, dependensi, rx-java, google-play, sdk, android-ndk, corda, streaming video, android-emulator, libgdx, android-webview, apk, lokasi, java-native-interface, google-play-services, . 0-oreo, google-places-api, pemberitahuan-android, android-studio-3. 0, penerima siaran, pengenalan ucapan, arcore, preferensi bersama, streaming, gps, layanan android, versi, koordinat, androidx, asli, sms, di sini-api, kamera android, izin android, uri, android-mediaplayer, lokal, . x, exoplayer, google-maps-markers, pengaturan, alarmmanager, spinner, proguard, okhttp3, text-to-speech, okhttp, update, android-camera2, android-source, whatsapp, nfc, share, inputstream, google-fabric, . 0-pie, rx-android, panggilan, android-workmanager, mp4, hls, pemrosesan video, rilis, barcode, perpustakaan dukungan android, alertdialog, android-viewmodel, dji-sdk, pemindai kode batang, jalur file, sip, . 264, simpledateformat, jacoco, background-process, rtsp, offline, root, sensor, splash-screen, android-bluetooth, android-testing, android-resources, android-tv, emulation, android-bitmap, android-listview, multipart, . coroutines, firebase-mlkit, tampilan daftar yang dapat diperluas, kebingungan, penyedia konten android, appcelerator, mvp, streaming langsung, penagihan dalam aplikasi, konteks android, streaming audio, arab, dialog peringatan android, kotlin-coroutines, zxing, android- . 0, nullable, deteksi wajah, exoplayer2. x, android-8. 1-oreo, beacon, drawable, gradlew, mapbox-android, classnotfoundexception, parcelable, android-keystore, voice-recognition, toast, aar, google-places, android-theme, android-progressbar, paging, accelerometer, playback, gradle- . io, rtmp, sceneform, layanan latar depan, google-cast, appcelerator-titanium, android-widget, logcat, android-pendingintent, penyedia file android, android-gps, sha1, jodatime, android-sensor, android-appbarlayout, tampilan permukaan,
google. google-maps-android-api-2, google-play-services, google-fabric, google-places, google-places-api, google-play-console, google-cast, google-login, google-maps-markers,
titik pusat 28. sudut, naskah, javascript, sudut 6, sudut 5
—–
angular, TypeScript, angular6, angular5, rxjs, angular-material, angular7, service, observable, routing, angular-cli, komponen, angular-reactive-forms, karma-melati, primeng, ag-grid, angularfire2, angular-material2, . 0, angular2-services, ngrx-store, langganan, rxjs5, angular2-directives, efek-ngrx, angular-material-6, angular-cli-v6, angular-http-interceptors, redux-observable, berlangganan, angular-pipe,
pusat massa 20. apache-spark, java, scala, hadoop, python
—–
apache-spark, scala, pyspark, apache-kafka, hadoop, apache-spark-sql, sarang, cassandra, apache-flink, jupyter, hdfs, bigdata, playframework, spark-streaming, sbt, apache-nifi, hiveql, apache- . 0, komputasi cluster, avro, databricks, apache-kafka-connect, aws-glue, streaming terstruktur percikan, streaming flink, kerberos, apache-zookeeper, sqoop, confluent, presto, kafka-producer-api, impala, . 6, datastax-enterprise, phoenix, confluent-schema-registry, mesos, implisit, konversi implisit, ksql, scala-collections, spark-submit, hdinsight, ambari
google. google-cloud-dataproc
amazon. amazon-emr, aws-glue
biru langit. azure-databricks
pusat massa 12. bash, python, linux, shell, java
—–
macos, ubuntu, ansible, ssh, raspberry-pi, terminal, vim, raspberry-pi3, subproses, variabel lingkungan, centos, konsol, antarmuka baris perintah, pipa, argumen, jq, homebrew, iot, applescript, printf,
pusat massa 8. C#,. bersih, asp. inti bersih,. net-core, java
—–
logging, pengecualian, penanganan kesalahan, fungsi-azure, refleksi, konfigurasi, azure-cosmosdb, f#, logstash, penanganan-pengecualian, situs web-azure, tumpukan-elastis, kain-layanan-biru, aplikasi-konsol, coba- . net-standar-2. 0, sistem. reaktif, clr, tipe-inferensi, asp. net-core-signalr, asp. net-core-identity, app-config, masstransit,fluffd, google-cloud-stackdriver,winston,. versi-kerangka-jaring, ninject,. net-core-2. 0, identitas berbasis klaim, syslog, kestrel-http-server
google. google-cloud-stackdriver
biru langit. azure-cosmosdb, azure-web-sites, azure-functions, azure-application-insights, azure-service-fabric
pusat massa 18. c#, asp. bersih, asp. net-mvc, asp. net-core, entitas-kerangka kerja
—–
c#, asp. bersih,. bersih, asp. net-mvc, asp. inti bersih,. net-core, kerangka entitas, LINQ, asp. net-web-api, model-view-controller, iis, entitas-kerangka kerja-inti, ketergantungan-injeksi, silet, asp. net-core-2. 0, asp. net-core-mvc, wcf, entitas-kerangka kerja-6, json. net, kendo-ui, asp. net-core-webapi, formulir web, asp. net-mvc-5, identitasserver4, asp. identitas bersih, asp. net-web-api2, asp. net-core-2. 1, asp. net-mvc-4, signalr, odata, kendo-grid, automapper, c#-4. 0, konfigurasi web, halaman silet, layanan windows, moq, ado. net, aspnetboilerplate, ef-code-first, ef-core-2. 0, asp. net-core-2. 2, linq-ke-sql, asp-klasik, umbraco, ef-core-2. 1, asp. net-ajax, ef-migrasi, iis-8, string koneksi, otentikasi windows, linq-ke-entitas, pola-repositori, swashbuckle, npgsql, iis-7, dbcontext, hangfire, iis-10, iis-express, . 2, windows-server-2012, signalr-hub, iis-7. 5, linq-to-xml
pusat massa 10. c#, azure, python, java, javascript
—–
azure, botframework, azure-sql-database, bot, azure-storage, chatbot, timeout, azure-storage-blobs, report, ssrs-2012, azure-data-factory, telegram-bot, azure-web-app-service,
google. google-assistant-sdk, google-home
biru langit. azure-webjobs, azure-log-analytics, azure-virtual-machine, azure-sql-database, azure-api-management, azure-iot-hub, azure-web-app-service, azure-data-factory-2,
titik pusat 44. c#, javascript, java, oauth-2. 0, php
—–
api, otentikasi, keamanan, facebook, oauth-2. 0, keamanan pegas, cookie, jwt, direktori azure-aktif, cors, tukang pos, microsoft-graph, login, oauth, layanan mikro, direktori aktif, ldap, jhipster, otorisasi, paspor. js, keycloak, token, azure-ad-b2c, single-sign-on, kata sandi, sharepoint-online, telegram, spring-security-oauth2, aplikasi satu halaman, linkedin, google-signin, openid-connect, session- . 0, autentikasi google, xss, azure-powershell, adal, autentikasi dasar, azure-ad-graph-api, variabel sesi, msal, oidc, openid, sesi ekspres, token pembawa, keluar, token segarkan
google. otentikasi-google, masuk-google, google-oauth2
biru langit. azure-ad-graph-api, direktori azure-aktif, azure-powershell, azure-ad-b2c
titik pusat 19. c#, visual-studio, visual-studio-2017,. net, xamarin. formulir
—–
visual-studio, xamarin, xamarin. formulir, visual-studio-2017, xaml, uwp, azure-devops, xamarin. android, build, layanan pelaporan, tfs, ssis, xamarin. ios, nuget, visual-studio-2015, msbuild, crystal-reports, penginstal windows, paket nuget, mono, lintas platform, azure-pipelines-release-pipeline,. net-standard, mvvmcross, visual-studio-2019, visual-studio-2010, c++-cli, visual-studio-2013, sql-server-data-tools, roslyn, resharper, publish, mstest,. net-assembly, visual-studio-2012, azure-devops-rest-api, tfs2017, azure-pipelines-build-task, visual-studio-mac, tfs2018, tfsbuild, visual-studio-extensions, visual-studio-debugging, . uwp
biru langit. azure-devops, azure-devops-rest-api, azure-pipelines-release-pipeline, azure-mobile-services, azure-pipelines-build-task
titik pusat 36. c#, wpf, winforms, javascript, vb. bersih
—–
wpf, vb. net, winforms, antarmuka pengguna, tampilan daftar, bagan, peristiwa, mvvm, datatable, kotak centang, pengikatan data, datagridview, timer, sapui5, tampilan kisi, kotak kombo, penjilidan, seret dan lepas, menu, datagrid, sistem gugur. js, munculan, jendela, kotak teks, gaya, tampilan hierarki, kotak daftar, telerik, uwp-xaml, devexpress, sumber daya, vb6, kontrol pengguna, prisma, model tampilan, kontrol, pemilih tanggal waktu, kontrol peramban web, cefsharp, panel, menu konteks, jendela-
pusat massa 2. c ++, c, python, linux, java
—–
c++, c, c++11, template, perakitan, cmake, gcc, memori, opengl, arduino, makefile, visual-c++, boost, c++17, lua, compiler-errors, x86, linux-kernel, memory-
google. googletest
titik pusat 24. css, html, javascript, bootstrap-4, sudut
—–
html, css, jquery, html5, css3, bootstrap-4, twitter-bootstrap, flexbox, sass, datatables, highcharts, html-table, twitter-bootstrap-3, layout, frontend, datepicker, drop-down-menu, css-
titik pusat 31. delphi, c++, c#, winapi, windows
—–
delphi, winapi, dll, mfc, com, firemonkey, firebird, c++builder, delphi-10. 2-tokyo, pinvoke, pascal, indy
titik pusat 25. django, python, django-models, django-rest-framework, python-3. x
—–
django, django-models, django-rest-framework, django-views, django-forms, django-templates, django-admin, django-queryset, django-orm, django-urls, django-2. 0, django-serializer, django-allauth, django-filter, django-class-based-views, django-migrations, serializer
titik pusat 34. buruh pelabuhan, kubernetes, python, google-cloud-platform, java
—–
docker, go, kubernetes, elasticsearch, google-cloud-platform, docker-compose, google-app-engine, dockerfile, deployment, rabbitmq, google-cloud-storage, yaml, airflow, google-kubernetes-engine, containers, kibana,
google. google-cloud-build, google-cloud-datastore, google-speech-api, google-cloud-dataflow, google-cloud-storage, google-cloud-platform, google-kubernetes-engine, google-cloud-sql, google-
amazon. amazon-eks
biru langit. azure-aks, azure-kubernetes
pusat massa 21. excel, vba, excel-vba, c#, python
—–
excel, vba, excel-vba, google-sheets, ms-access, excel-formula, powerbi, outlook, sharepoint, ms-word, access-vba, office365, apache-poi, sap, dax, format, pivot-table,
google. google-sheets
pusat massa 4. git, github, jenkins, python, buruh pelabuhan
—–
git, jenkins, github, jenkins-pipeline, gitlab, continuous-integration, sonarqube, bitbucket, jenkins-plugins, gitlab-ci, devops, azure-pipelines, svn, kontrol versi, phpstorm, webhooks, repositori, travis-ci,
biru langit. pipa biru
titik pusat 33. java, hibernasi, musim semi, musim semi-boot, jpa
—–
hibernate, jpa, spring-data-jpa, spring-data, solr, orm, transaksi, spring-batch, wildfly, mapping, many-to-many, lucene, h2, entitas, liquibase, jpql, ejb, hql, multi- . 0, kriteria-api, entitasmanager, transaksional
titik pusat 39. java, python, c#, simpul. js, android.js
—–
http, ssl, soket, curl, server, jaringan, soket web, enkripsi, https, soket. io, proxy, openssl, tcp, ssl-sertifikat, kriptografi, http-header, sertifikat, localhost, udp, mqtt, koneksi, klien, ip, reverse-proxy, pemrograman jaringan, aes, rsa, port, tls1. 2, obrolan, client-server, lets-encrypt, cloudflare, haproxy, real-time, virtualhost, wireshark, keystore, ipc, x509certificate, zeromq, bouncycastle, django-channels, tcpclient, http-proxy, serverocket, telnet, cryptojs,
titik pusat 30. java, istirahat, musim semi, musim semi-boot, javascript
—–
java, spring-boot, spring, rest, maven, eclipse, spring-mvc, tomcat, jsp, jdbc, layanan web, sabun, servlets, swagger, jackson, java-ee, thymeleaf, netbeans, aplikasi web, apache-
pusat massa 22. java, spring-boot, spring, maven, gerhana
—–
gradle, intellij-idea, neo4j, jsf, jar, grails, jboss, spring-cloud, spring-integration, jaxb, internasionalisasi, log4j, gerhana-plugin, swagger-ui, jms, websphere, semut, activemq, vaadin, spring- . xml, log4j2, proyek-reaktor, weblogic, java-11, netty, jetty, maven-3, javamail, crud, java-9, spring-cloud-stream, couchbase, ibm-mq, weblogic12c, sumber data, glassfish, hazelcast, . 0, slf4j, netflix-zuul, quartz-scheduler, jetbrains-ide, spring-boot-actuator, lombok, spring-jdbc, sonarqube-scan, perang, cdi, javabeans, tomcat7, pencegat, swt, java-10, freemarker,
google. google-maps
pusat massa 15. javascript, angular, android, TypeScript, visual-studio-code
—–
kerangka kerja ionik, npm, kode studio visual, ionic3, google-maps, cordova, debugging, electron, nativescript, ionic4, ionic2, meteor, pelengkapan otomatis, geolokasi, plugin cordova, penurunan harga, pengaturan vscode, phonegap, ide,
titik pusat 42. javascript, html, c#, android, python
—–
unity3d, gambar, tkinter, svg, animasi, kanvas, tiga. js, bagan. js, gulir, 3d, html5-kanvas, kamera, geometri, animasi css, bitmap, rotasi, aframe, ikon, glsl, shader, fabricjs, rendering, webgl, transisi css, ubah, png, bilah gulir, transisi, tekstur,
titik pusat 43. javascript, html, jquery, css, reactjs
—–
d3. js, leaflet, google-maps-api-3, magento, magento2, ethereum, jquery-ui, cakephp, jinja2, primefaces, extjs, ember. js, fullcalendar, peta, ckeditor, kotak peta, soliditas, terwujud, jquery-select2, dialog, angularjs-directive, recaptcha, openlayers, coldfusion, polimer, gis, react-apollo, komponen gaya, tinymce, progress-bar, geojson, . js, openstreetmap, elemen, instagram-api, parent-child, liquid, mapbox-gl-js, fokus, angularjs-ng-repeat, setinterval, react-admin, alert, polygon, dom-events, web-component, textarea, . net-mvc, memuat, zurb-foundation, id, bind, spasi putih, dropzone. js, onchange, semantic-ui-react, owl-carousel, media, video. js, sembunyikan, netlify, warna latar, sticky, geocoding, native-base, halaman web, sebaris, tampermonkey, apik. js, form-data, padding, ternary-operator, event-listener, facebook-messenger-bot, garis bawah. js, formik, validasi jquery, pena bulu, dc. js, sorot, tabel reaksi, pembuat elektron, bulma, pemilih jquery, layar penuh, multi-pilih, innerhtml, tayangan slide, paralaks, dapat diseret, footer, penataan, komponen reaksi, jquery-mobile, pemilih, penggeser, tak terbatas- . js, masing-masing, margin, html-form, mathjax, jquery-ui-autocomplete, viewport, c3. js, adsense, sweetalert2, server pengembangan web, penekanan tombol, jquery-ui-sortable, facebook-php-sdk, sweetalert, center, font-awesome-5, react-proptypes, placeholder, summernote, font-face, react-
google. react-google-maps, google-maps-api-3
pusat massa 1. javascript, python, html, java, android
—–
wordpress, woocommerce, javafx, swing, google-bigquery, button, google-api, video, google-analytics, plugins, kivy, youtube, title, calendar, dynamics-crm, youtube-api, widget, background, slider, radio-
google. google-adwords, google-bigquery, google-api, google-tag-manager, google-data-studio, google-analytics-api, google-analytics
pusat massa 26. javascript, reactjs, simpul. js, TypeScript, react-native
—–
javascript, simpul. js, reactjs, firebase, react-native, flutter, firebase-realtime-database, webpack, dart, redux, google-cloud-firestore, ecmascript-6, react-redux, firebase-authentication, google-cloud-functions, jestjs, . js, yarnpkg, webpack-4, react-hooks, redux-form, prestashop, firebase-security-rules, flowtype, react-router-dom, typescript-typings, webpack-dev-server, antd, redux-saga, redux- . json, react-native-flatlist, firebase-admin, react-props, react-native-navigation, mobx, firebaseui, modul-es6, firebase-hosting, aurelia, pm2, immutability, serverside-rendering, action, setstate, gruntjs, . js, minify, browserify, node-sass, nodemon, keamanan firebase, angularfire, reduksi, loader, bower
google. google-cloud-functions, actions-on-google, google-cloud-firestore
pusat massa 13. javascript, selenium, google-chrome, html, selenium-webdriver
—–
selenium, google-chrome, selenium-webdriver, xpath, dom, google-chrome-extension, firefox, caching, otomatisasi, iframe, selenium-chromedriver, seluler, browser, internet-explorer, safari, webdriver, pemilih css, google-
google. google-chrome, google-chrome-headless, google-chrome-devtools, google-chrome-app, google-chrome-extension
pusat massa 6. javascript, vue. js, vuejs2, vuex, webpack
—–
vue. js, express, vuejs2, axios, komponen vue, vuex, vuetify. js, xmlhttprequest, vue-router, nuxt. js, ambil-api, vue-cli, vue-cli-3, simpan, nuxt, bootstrap-vue, vue-test-utils, elemen-ui, vee-validasi
titik pusat 40. mongodb, simpul. js, javascript, python, ekspres
—–
mongodb, qt, luwak, graphql, pyqt5, pyqt, mongodb-query, aggregation-framework, discord, qml, qt5, nosql, discord. js, perselisihan. py, agregat, ejs, setang. js, pymongo, backend, skema, skema luwak, mean-stack, layar. js, pug, nestjs, loopbackjs, pyqt4, spring-data-mongodb, multer, geospasial, mean, fs, agregasi, lookup, loopback, apollo-server, parse-server, pyside2, bcrypt, mongodb-. net-driver, dokumen, pyside, qt-designer, mongoengine, body-parser, discord. py-rewrite, proyeksi, mern, mongoose-populate, qthread, mlab, joi, passport-local, pyqtgraph, bson, sharding, express-handlebars
pusat 5. multithreading, java, python, konkurensi, c++
—–
multithreading, asinkron, pemrosesan paralel, konkurensi, multiprosesing, panggilan balik, antrean, seledri, jvm, tugas, python-asyncio, sinkronisasi, dask, python-multiprocessing, keamanan utas, penguncian, mpi, openmp, singleton, acar, python- . js, produsen-konsumen, tersinkronisasi, java. utilitas. bersamaan, memblokir
pusat massa 11. oracle, sql, plsql, oracle11g, database
—–
oracle, plsql, prosedur tersimpan, oracle11g, pemicu, db2, oracle12c, sql-server-2014, oracle-sqldeveloper, oracle-apex, kursor, pemicu basis data, apex, oracle10g, sqlplus, oracle-apex-5. 1, prosedur, dinamis-sql, cx-Oracle, oracle-adf, oracleforms, data hierarkis, plsqldeveloper, oracle-apex-5
titik pusat 38. pdf, html, python, php, c#
—–
pdf, gabung, tampilan web, percetakan, font, r-markdown, unduh, base64, dalang, itext, hyperlink, lateks, ekspor, blob, imagemagick, ocr, pdf-generation, adobe, jspdf, pdfbox, itext7, embed, docx,
pusat 9. php, laravel, laravel-5, mysql, javascript
—–
php, laravel, ajax, laravel-5, codeigniter, validasi, fasih, sesi, unggah file, model, pagination, codeigniter-3, laravel-5. 6, pengontrol, laravel-5. 5, migrasi, unggah, laravel-5. 7, laravel-blade, laravel-5. 4, basis data relasional, laravel-5. 2, php-7, relasi, lumen, middleware, php-7. 2, oktobercms, membuang waktu, mengunggah gambar, laravel-5. 8, algolia, pembuat kueri, phpexcel, pekerjaan, pembuat kueri laravel, laravel-5. 3, peran, tukang, laravel-nova, php-carbon, laravel-4, laravel-5. 1, wisma, pendorong, laravel-fasih, blade, laravel-routing, laravel-senja, relasi, hosting bersama, pemuatan bersemangat
titik pusat 47. php, wordpress, javascript, woocommerce, python
—–
google-apps-script, email, notifikasi, google-drive-api, paypal, stripe-payments, gmail, smtp, atribut, wordpress-theming, google-calendar-api, google-visualization, google-oauth, google-sheets-
google. google-sheets-api, google-docs, google-oauth, google-apps-script, google-sheets-query, google-sheets-formula, google-api-php-client, google-api-nodejs-client, google-
titik pusat 23. postgresql, sql, python, javascript, mysql
—–
sqlite, flask, sqlalchemy, hyperledger-fabric, odoo, hyperledger, elixir, blockchain, hyperledger-composer, flask-sqlalchemy, sequence, couchdb, psycopg2, psql, postgis, pyodbc, knex. js, plpgsql, jsonb, jooq, typeorm, postgresql-9. 5, ecto, postgresql-10, marshalling, penggabungan koneksi, postgresql-9. 6, replikasi basis data, unmarshalling, pgadmin-4, pgadmin, kueri rekursif, postgresql-9. 4, tab silang, go-gorm, cadangan basis data, postgresql-9. 3, rds, heroku-postgres
titik pusat 35. python, java, c++, c#, jendela
—–
windows, powershell, file batch, ffmpeg, audio, cmd, windows-10, path, stream, direktori, proses, vbscript, prolog, ftp, kerumitan waktu, salin, perintah, zip, file-io, ocaml, terjadwal- . 0, pembaca file, pemrosesan batch, wmi, stack-overflow, penanganan file, windows-server-2016, windows-server-2012-r2, bufferedreader, penjadwal tugas, fstream, hyper-v, readfile, depth-first-search,
pusat massa 3. python, java, javascript, array, c#
—–
array, string, daftar, fungsi, loop, csv, algoritme, kamus, kinerja, for-loop, file, pengurutan, kelas, objek, pernyataan if, oop, haskell, rekursi, pointer, variabel, generik, java-8, . utilitas. pemindai, karakter, lapply, perbandingan, ini, 2d, timpa, penghitung, numpy-ndarray, permutasi, input pengguna, pembulatan, loop bersarang, kelas abstrak, contoh, perkecil, prototipe, itertools, global, mundur, subkelas,
titik pusat 48. python, java, javascript, r, php
—–
typo3, wso2, clojure, sublimetext3, drupal-8, acumatica, jframe, docusignapi, teradata, emacs, netsuite, karate, Verilog, jasper-reports, marklogic, sparql, vhdl, sympy, autodesk-forge, knitr, erlang, yocto, . 0, mule, phoenix-framework, drupal-7, integrasi, raket, netlogo, autohotkey, uml, drools, node-red, stata, magento-1. 9, common-lisp, aem, opencart, abap, line, python-sphinx, jtable, yii, pentaho, wagtail, coq, regex-lookarounds, slack-api, bioinformatika, openstack, perl6, antlr4, awt, rcpp, tingkatkan, . 7, salah ketik3-8. x, zend-framework, lisp, gwt, elasticsearch-5, distance, smartcontracts, talend, wso2-am, slim, sfml, antrean pesan, ilmu komputer, pembuat adegan, aplikasi lanjutan yii2, rdf, inno-setup, . 0, paypal-sandbox, http2, dynamics-365, lokal, alamat ip, servicestack, hdf5, firewall, kdb, dapat dieksekusi, pemrograman linier, tambahkan, orientdb, angularjs-scope, cplex, pymysql, xpages, phaser-framework, . 0, nginx-location, adfs, limit, abstract-syntax-tree, variable-assignment, elementtree, wav, mouse, splunk, asterisk, pandoc, publish-subscribe, simulink, webassembly, paket, teori kompleksitas, kemungkinan-2. x, python-decorators, preg-match, regex-negation, minecraft, spotfire, nested-lists, pcre, gfortran, persentase, pencocokan, monads, jbutton, gsub, numba, sitecore, watson-conversation, dropwizard, edit, frekuensi, . 0, scapy, konverter, zapier, atributerror, elm, konsol. log, web3js, kentico, moodle, interval, anylogic, multibahasa, operator logis, glm, vlc, burung hantu, penampil otomatis, dojo, z3, arcgis, classloader, pyomo, sybase, antlr, md5, indexeddb, powerapps, data- . x, penggunaan cpu, pouchdb, ibm-midrange, ping, truffle, qemu, dask-distributed, seleksi, apache-httpclient-4. x, jsonpath, sha256, gaya pengkodean, polimer-2. x, zipfile, vps, simbol, mediawiki, kalkulasi, okta, smarty, blueprism, netcdf, zend-framework3, genetik-algoritma, snmp, ulangi, plesk, tanda tangan, doxygen, qgis, dlib, jena, ckeditor4. x, tortoisesvn, pengenalan wajah, pesan, pemformatan angka, dropbox, lm, default, spss, terpaksa, menegaskan, uart, acl, symlink, suitescript2. 0, kendo-ui-angular2, pengambil-penyetel, jira-rest-api, crm, tidur, lekukan, cepat, analisis, lme4, ironpython, lintang-bujur, tata bahasa, dotnetnuke, cqrs, gaussian, regex-rakus, koa, . js, hapijs, muat ulang, marklogic-9, snapshot, hierarki, sisi server, cakephp-3. x, prestashop-1. 6, jadwal, unix-timestamp, perbedaan, ontologi, readline, file konfigurasi, opendaylight, blok, wolfram-mathematica, rpm, logstash-grok, currency, mount, remote-server, destructor, nsis, captcha, feathersjs, code- . 1, skrip suite, skrip tipografi, jython, trim, sistem terdistribusi, zabbix, vaadin8, nodemcu, magento2. 2, pencocokan string, pengacakan, ckeditor5, model campuran, fedora, ipv6, operator baru, data ember, dentang llvm, keluar, webcam, str-ganti, data besar, simplexml, aturan, agregasi pencarian elastis, . x, prisma, mule-esb, string-comparison, count, layout-manager, gherkin, inner-classes, docker-for-windows, checksum, imagemagick-convert, connect, php-7. 1, sublimetext, wso2carbon, python-telegram-bot, react-native-router-flux, desktop, paypal-rest-sdk, php-5. 6, divisi, kelas tipe, server identitas3, mapbox-gl, wix-react-native-navigation, sample, point-clouds, web-audio, vertica, java-time, mosquitto, dllimport, dump, covariance, cytoscape. js, cgal, r-package, installshield, eigen3, point-cloud-library, ngx-datatable, sampling, vapor, clojurescript, auto-increment, overlap, ibm-cloud-infrastructure, echarts, web-audio-api, hp- . 2, trigonometri, sandbox, beagleboneblack, filestream, numpy-broadcasting, xsd-validation, fgets, ghc, serenity-bdd, spi, durasi, jna, unzip, fiware, rhel7, long-integer, pentaho-spoon, cpython, crystal- . 7, lapisan terbuka-5, vis. js, palindrome, angular-template, resteasy, kable, quickbooks, monaco-editor, rdp, solrj, transfer file, bahasa-agnostik, kumis, java-7, naudio, kecepatan, wikidata, copy-constructor, countdown, wtforms, . 0, matematika-simbolis, bytecode, ketersediaan tinggi, sharepoint-2010, tetapkan, web semantik, rtf, vmware-clarity, odoo-12, informatica, volume, jit, monogame, super, eof, sinkronisasi, karat-kargo, . x, petunjuk ketik, kode wix, zaman, copot pemasangan, autoit, kartu pintar, wikipedia, pekerja layanan sudut, kesamaan kosinus, anak didik, skema. org, skrip-generik, dropbox-api, verifikasi, komposisi, server windows, menggunakan, hmac, kering, ag-grid-angular, median, messenger, rethinkdb, thingsboard, xilinx, pipa bernama, kain-kantor-ui, . 6. x, ngrok, audit, model, jboss-eap-7, moving-average, 32bit-64bit, strapi, views, silverstripe-4, rasa-core, content-type, event-loop, input teks, smoothing, permukaan, meledak,
google. pencarian Google
titik pusat 37. python, pembelajaran mesin, tensorflow, python-3. x, keras
—–
tensorflow, numpy, keras, machine-learning, opencv, matlab, deep-learning, scikit-learn, image-processing, neural-network, scipy, nlp, pytorch, computer-vision, conv-neural-network, lstm, data- . 0, fft, tensorboard, gensim, sparse-matrix, word2vec, cv2, h2o, validasi silang, tensor, caffe, xgboost, reshape, pembelajaran penguatan, stanford-nlp, aljabar linier, k-means, tensorflow-estimator, . js, knn, mnist, valueerror, sklearn-pandas, gradient-descent, weka, yolo, python-tesseract, penyematan kata, ekstraksi fitur, tokenize, emgucv, pemilihan fitur, prediksi, coreml, kesamaan, normalisasi, satu- . 0, doc2vec, didistribusikan, penyematan, tfrecord, mesin rekomendasi, klasifikasi multilabel, ner
google. kolaborasi-google, google-cloud-ml
titik pusat 46. python, php, apache, python-3. x, ubuntu
—–
apache, nginx,. htaccess, web, url, pip, anaconda, redirect, pycharm, dns, ubuntu-16. 04, izin, penulisan ulang url, paket, penulisan ulang mod, instalasi, conda, centos7, ubuntu-18. 04, debian, virtualenv, python-import, install, apache2, url-redirection, gelandangan, webserver, virtualbox, cpanel, gunicorn, digital-ocean, http-status-code-404, config, hosting, subdomain, systemd, uwsgi, . 04, mod-wsgi, pipenv, url-routing, mamp, httpd. conf, lingkungan, query-string, seo, wsgi, subdirektori, setup. py, wampserver, permalink, pypi, apache2. 4, lamp, apt, http-status-code-301, miniconda, http-redirect
pusat 50. python, python-3. x, python-2. 7, panda, javascript
—–
python, python-3. x, panda, bingkai data, python-2. 7, web-scraping, datetime, parsing, beautifulsoup, post, python-requests, scrapy, request, pygame, python-3. 6, panda-groupby, penyandian, unicode, dapatkan, utf-8, twitter, penyandian karakter, tajuk, python-3. 7, web-crawler, python-imaging-library, pyinstaller, spyder, tag, export-to-csv, typeerror, odoo-10, openpyxl, jsoup, regex-group, python-3. 5, ascii, seri, urllib, wxpython, lxml, grafik penyu, xlsx, rvest, nan, argparse, python-2. x, mysql-python, datetime-format, kivy-language, emoji, importerror, screen-scraping, scrapy-spider, pyserial, html-parsing, python-xarray, flask-restful, tkinter-canvas, cheerio, frame, odoo-
pusat massa 16. python, unix, bash, sed, linux
—–
regex, linux, bash, shell, unix, perl, awk, sed, teks, ganti, pisahkan, cron, baris perintah, grep, skrip, sh, temukan, substring, sistem file, notepad++, garpu, posix, penjadwal, cgi,
titik pusat 29. r, python, ggplot2, plot, matplotlib
—–
r, matplotlib, ggplot2, dplyr, mengkilap, jupyter-notebook, plot, grafik, deret waktu, statistik, warna, plotly, julia, rstudio, grafik, seaborn, cypher, rapiverse, bokeh, visualisasi data, bagan batang,
titik pusat 49. ruby, ruby-on-rails, ruby-on-rails-5, javascript, activerecord
—–
ruby-on-rails, postgresql, ruby, heroku, redis, ruby-on-rails-5, yii2, hash, activerecord, routes, shopify, ruby-on-rails-4, rspec, rubygems, merancang, chef, ruby- . 2, metaprogramming, rspec-rails, activeadmin, bundler, coffeescript, shopify-app, sidekiq, carrierwave, passenger, sinatra, simple-form, nokogiri, cloudinary, capistrano, puma, webpacker, mongoid, actioncable, erb, haml, rake,
titik pusat 41. sql, sql-server, mysql, database, postgresql
—–
sql, mysql, sql-server, database, tsql, tanggal, mysqli, gabung, pilih, grup-oleh, mariadb, sekuel. js, pdo, phpmyadmin, sql-server-2008, data. tabel, hitung, sql-server-2012, xampp, desain basis data, duplikat, lihat, jumlah, stempel waktu, pivot, kunci asing, pembaruan sql, meja kerja mysql, zona waktu, tablo, sisipkan, ssms, odbc, batasan,
pusat massa 14. swift, ios, xcode, objektif-c, android
—–
ios, swift, xcode, objektif-c, uitableview, swift4, iphone, uicollectionview, facebook-graph-api, ranah, bluetooth-energi rendah, twilio, data inti, kakao, admob, cocoapods, alamofire, arkit, swift3, crash, . 2, parse-platform, dapat dikodekan, spotify, uitextview, avplayer, itunesconnect, facebook-login, gradien, sentuh, audiokit, cocoa-touch, bidang teks, aset, ios-simulator, uistackview, uisearchbar, uiwebview, grand-central-dispatch, . 1, testflight, mkmapview, ios-autolayout, uibezierpath, gesture, uipageviewcontroller, health-kit, uitabbar, cllocationmanager, calayer, xcuitest, profil penyediaan, icloud, uicollectionviewlayout, geofire, uistoryboard, metalkit, pdfkit, plist, uiviewanimation, swifty-
titik pusat 32. symfony, php, symfony4, javascript, mysql
—–
bentuk, symfony, symfony4, komposer-php, ranting, doktrin, anotasi, doktrin-orm, phpunit, symfony-3. 4, terjemahan, autowired, symfony-forms, sonata-admin, api-platform. com, fosuserbundle, swiftmailer, anotasi data, sonata
titik pusat 27. pengujian, java, javascript, pengujian unit, pengujian otomatis
—–
angularjs, unit-testing, testing, groovy, junit, jmeter, protractor, mockito, automation-tests, melati, mocking, mentimun, appium, pytest, testng, robotframework, integration-testing, cypress, performance-testing, android-espresso, . js, pengujian beban, tdd, katalon-studio, testcafe, jest, bdd, spock, powermockito, powermock, codeception, jmeter-plugins, rpa, qa, ketimunjs, jmeter-4. 0, uji sudut, robolectric
Kode lengkap
Kode yang saya gunakan untuk membuat dan menampilkan hasil sebelumnya.clusters = 50 percent = '01' one_hot_dimensions = 50 model = 'deleting.kmeans_tagsubtag_%s_big_a_%s_%s' % [clusters, percent,one_hot_dimensions] clusters_temp_table = 'deleting.clusters_%s_result_a_%s_%s' % [clusters, percent, one_hot_dimensions] one_hot_p = client.query[""" SELECT STRING_AGG[ FORMAT["IFNULL[ANY_VALUE[IF[tag2='%%s',1,null]],0]X%%s", tag2, REPLACE[REPLACE[REPLACE[REPLACE[tag2,'-','_'],'.','D'],'#','H'],'+','P']] ] one_hot FROM [ SELECT tag2, SUM[questions] questions FROM `deleting.stack_overflow_tag_co_ocurrence` GROUP BY tag2 ORDER BY questions DESC LIMIT %s ]""" % one_hot_dimensions].to_dataframe[].iloc[0]['one_hot'] client.query[""" CREATE OR REPLACE MODEL `%s` OPTIONS [ model_type='kmeans', distance_type='COSINE', num_clusters=%s ] AS WITH tag_and_subtags AS [ SELECT tag1, %s FROM `deleting.stack_overflow_tag_co_ocurrence` WHERE percent>0.%s GROUP BY tag1 ] SELECT * EXCEPT[tag1] FROM tag_and_subtags """ % [model, clusters, one_hot_p, percent]].to_dataframe[] df = client.query[""" CREATE OR REPLACE TABLE %s AS WITH tag_and_subtags AS [ SELECT tag1, MAX[questions] questions, %s FROM `deleting.stack_overflow_tag_co_ocurrence` WHERE percent>0.%s GROUP BY tag1 ] SELECT centroid_id , STRING_AGG[tag1, ', ' ORDER BY questions DESC] tags , ARRAY_TO_STRING[ARRAY_AGG[IF[tag1 LIKE '%%google%%', tag1, null] IGNORE nulls LIMIT 18], ', '] google_tags , ARRAY_TO_STRING[ARRAY_AGG[IF[tag1 LIKE '%%amazon%%' OR tag1 LIKE '%%aws%%', tag1, null] IGNORE nulls LIMIT 18], ', '] amazon_tags , ARRAY_TO_STRING[ARRAY_AGG[IF[tag1 LIKE '%%azure%%', tag1, null] IGNORE nulls LIMIT 18], ', '] azure_tags , COUNT[*] c FROM ML.PREDICT[MODEL `%s` , [SELECT * FROM tag_and_subtags ] ] GROUP BY 1 ORDER BY c DESC """ % [clusters_temp_table, one_hot_p, percent, model]].to_dataframe[] df = client.query[""" SELECT centroid_id, c, yep, tags , IFNULL[google_tags, ''] google_tags , IFNULL[amazon_tags, ''] amazon_tags , IFNULL[azure_tags, ''] azure_tags FROM `%s` JOIN [ SELECT centroid_id , STRING_AGG[REPLACE[REPLACE[REPLACE[REPLACE[REPLACE[feature,'_','-'],'D','.'],'H','#'],'P','+'], 'X', ''], ', ' ORDER BY numerical_value DESC LIMIT 5] yep FROM ML.CENTROIDS[MODEL `%s` ] GROUP BY 1 ] USING[centroid_id] ORDER BY yep """ % [clusters_temp_table, model]].to_dataframe[] for index, row in df.iterrows[]: print['centroid %s: %s\n-----' % [row['centroid_id'], row['yep']]] print[row['tags']] print[] if row['google_tags']: print['google: %s' % row['google_tags']] if row['amazon_tags']: print['amazon: %s' % row['amazon_tags']] if row['azure_tags']: print['azure: %s' % row['azure_tags']] print['\n']Perhatikan bahwa saya menggabungkan hasil saya dengan
CREATE OR REPLACE TABLE `deleting.stack_overflow_tag_co_ocurrence` AS WITH data AS [ SELECT * FROM `fh-bigquery.stackoverflow_archive.201906_posts_questions` WHERE creation_date > '2018-01-01' ], active_tags AS [ SELECT tag, COUNT[*] c FROM data, UNNEST[SPLIT[tags, '|']] tag GROUP BY 1 HAVING c>180 ] SELECT *, questions/questions_tag1 percent FROM [ SELECT *, MAX[questions] OVER[PARTITION BY tag1] questions_tag1 FROM [ SELECT tag1, tag2, COUNT[*] questions FROM data, UNNEST[SPLIT[tags, '|']] tag1, UNNEST[SPLIT[tags, '|']] tag2 WHERE tag1 IN [SELECT tag FROM active_tags] AND tag2 IN [SELECT tag FROM active_tags] GROUP BY 1,2 HAVING questions>30 ] ]1 — yang memberi saya tag pembeda tertinggi untuk setiap centroid — bahkan jika mereka bukan bagian dari setiap cluster
Dan hanya itu yang diperlukan
Apakah Anda terkejut dengan hasilnya? . ]. Lihat dokumen BigQuery untuk membuat model dan tutorial k-meanspikiran Lak
Bagaimana Anda memilih parameter terbaik? . Lak juga memiliki beberapa ide menarik tentang pengurangan dimensi untuk pengelompokan melalui faktorisasi matriks - tetapi kami akan meninggalkannya untuk posting mendatang. Sebagai pratinjau yang belum teruji. Setelah Anda memiliki kejadian bersamaan dari tag1 dan tag2, perlakukan itu sebagai masalah rekomendasi, mis. e. tag2 adalah persentase yang disukai tag1 dari waktu. Kemudian, Anda dapat melakukan faktorisasi matriks.CREATE OR REPLACE MODEL deleting.tag1_tag2_Dari faktorisasi matriks ini, Anda akan memiliki tag1_factors dan tag2_factors yang pada dasarnya merupakan penyematan tag yang dipelajari dari data. Gabungkan ini dan kelompokkan sebagai gantinya …
OPTIONS [
model_type='matrix_factorization',
user_col='tag1', item_col='tag2', rating_col='percent10' ]
AS
SELECT tag1, tag2, percent*10 AS percent10
FROM advdata.stack_overflow_tag_co_ocurrence
SELECT feature, factor_weightsIngin lebih? Saya Felipe Hoffa, Pengacara Pengembang untuk Google Cloud. Tweet saya @felipehoffa, posting saya sebelumnya di media. com/@hoffa, dan semua tentang BigQuery di reddit. com/r/bigquery – termasuk memprediksi kapan Stack Overflow akan membalas. Tag. data besar, BigQuery, buletin, google cloud, pengelompokan k-means
FROM ML.WEIGHTS[ MODEL deleting.tag1_tag2 ]
WHERE processed_input = 'tag1' and feature LIKE '%google%'