Atbilde 1:

Dziļai mācībai Python ir karalis. Neviena cita programmēšanas valoda nav tuvu.

“Regulārai” mašīnu apguvei atšķirība ir šāda: R ir daudz, daudz ML pakešu CRAN ekosistēmā, kas ir daudz vairāk nekā Python var piedāvāt. Daži no tiem ir patiešām labi, bet citi - ne tik lieliski. Python pamatā ir viena nopietna ML pakete, un tas ir scikit-mācīties, bet, manuprāt, tā ir labākā mašīnmācīšanās bibliotēka, kāda pastāv.

R galvenā priekšrocība ir visas zinātniskās paketes, kas pašas par sevi nav tieši ML paketes, bet var būt ļoti noderīgas ML projektos. Piemēram, paketes laika rindu analīzei un visa veida statistiskai skaitļošanai. Šajā vietā R spīd.

No otras puses, Python ir lielisks, ja vēlaties ražošanā izmantot analītiskos risinājumus. Tā ir universāla programmēšanas valoda, atšķirībā no R, un tai ir savas priekšrocības.


Atbilde 2:

Premisa: tas ir mazliet tipisks Quora jautājums: ļoti subjektīvs un nedaudz polarizējošs. Es to izmēģināšu, jo a) es domāju, ka dažas no balsojušajām atbildēm patiesībā ir nepareizas vai datētas, b) kādu laiku esmu lietojis šīs divas valodas (R kopš 2000. gada, Python kopš 2005. gada), es domāju, ka man ir mazliet vēsturiskā perspektīva, kas varētu būt noderīga, atbildot uz atšķirībām starp valodām un nevis to, kas ir labāks (lai kvalificēti uzslavētu R, man ir vēl viena Quora atbilde).

Kādas ir līdzības?

Daudz vairāk nekā atšķirības.

  1. Abas pakāpes ir vispārējas nozīmes valodas. R nav DSL, un tajā pašā laikā Python nav paredzēts lielu lietojumprogrammu izveidei. Gan valodas ir dinamiskas, elastīgas un diezgan lēnas (R ir lēnāks zemāk aprakstīto iemeslu dēļ) .Bet tām ir liela ekosistēma un liela lietotāju bāze. . Laika gaitā un kad runa ir par mašīnu mācīšanos, abas galvenokārt ir kļuvušas par interfeisa valodām. Viņi ir pārāk lēni (vai acīmredzami pārāk grūti pārvērsties ātrās valodās), lai veiktu vietējās, ne vektorizētās operācijas; un tie nav paredzēti paralēlismam. No otras puses, tie ir piemēroti skriptu veidošanai un lielu bibliotēku izsaukšanai, kuras var ietvert DSL. Šajā posmā atšķirības starp tām ir diezgan niecīgas. Abiem ir lielisks atbalsts: TensorFlow / Keras; Spark; H20; Stan; visām visizplatītākajām statistikas mācību metodēm.

Abu valodu veiktspējas atšķirības ir niecīgas, jo aprēķinus veic bibliotēka un abas valodas pārsūta datus pēc vērtības (lielākoties).

Kādas ir atšķirības?

  1. Ja rodas lielas skaitliskās datu kopas, Python ir ātrāks un elastīgāks. Jūs varēsit izvēlēties garus / īsus pludiņus un precīzi izdalīt krātuves. Un Python ir vairāk bibliotēku vidēja lieluma datu pārvaldībai (pytable, dask); tie var noderēt. R, strādājot ar lieliem datiem, kas nav pamatā, mana pieeja ir bijusi paļauties uz standarta DBVS (pPostgres, MS serveris, ar kuru R ir integrēta vietne, Redshift). Kā bonuss dplyr in R piedāvā izcilu, ērtu saskarni ar šīm datu bāzēm.Python ir veidi, kā paātrināt veiktspēju, neizmantojot C ++. Cython ir visizplatītākais, lai iegūtu C salīdzināmu ātrumu, kam seko Numba. Nekāda veida R.Python nav divu visuresošu, monolītu bibliotēku, kuras izmanto mašīnu apguvēji: Pandas datu rakšanai un Scikit-learning modelēšanai. Turpretī R ir daudz mazāku specializēto bibliotēku. Savukārt vizualizēšanai R ir relatīvi maz bibliotēku (ggplot2, ggvis), un pitonam ir daudz (matplotlib, jūraszvaigžņu, Vincent, altair, bokeh…). Tomēr es uzskatu, ka lielākā daļa cilvēku piekrīt, ka R ir labāk vizualizēt, jo Hadlijs Vikhems to vienkārši saprata tieši otrajā mēģinājumā. Python ir mazliet nožēlojamā stāvoklī. Šķiet, ka R kopiena ir saliedējusies ap divām attīstības vidēm: Rstudio (liels vairākums) un… visiem pārējiem. Python ir daudz vairāk iespēju, taču man ir iespaids, ka izstrādātāji galvenokārt izmanto ipython, pycharm un varbūt spyder. Personīgi es uzskatu, ka Rstudio ir izcils IDE visās valodās. Tas ir spēcīgs diferenciālis. Tidyverse ir datu bibliotēka, kas vienlaikus a) paplašina valodu; b) veicina “datu analīzes filozofiju” un labu programmēšanas praksi. Tā ir ļoti savdabīga R lieta, kaut arī to var pārnest uz citām valodām. Daudziem cilvēkiem (ieskaitot mani) tas ir lielisks veids, kā organizēt domas, datus un analīzi. Python nav šāda veida. Kopumā es teiktu, ka atšķirība starp R un Python kodu ir tāda, ka pirmais parasti tiek organizēts ap funkcijām un funkcionālo programmēšanu, turpretim pēdējais objektus izmanto daudz biežāk. Joprojām es uzskatu, ka ir pārāk heterodokss savā kodā izmantot pitoolz (jauka funkcionālā bibliotēka). Lielākajai daļai redzēto kodu ir objektu gadījumi un garas metožu ķēdes.

Tātad, kādas ir dziļas (mūsdienās populārs īpašības vārds) atšķirības? Es domāju, ka tos var redzēt caur valodu izcelsmi. R bija paredzēts interaktīvai datu analīzei. Tās dizaineri un agrīnie līdzstrādnieki (Chambers, Ihaka, Gentleman, Tierney) tika iemācīti funkcionālā programmēšanā (piemēram, lasīja Luke Tierney lasījumā On Abandoning XLISP-STAT) un modelēja valodas semantiku shēmā, vienlaikus aizņemoties daļu no sintakse APL. Viņi arī pieņēma apzinātu lēmumu noteikt noklusējumus tipa reklāmguvumiem un reklāmām, lai interaktīvā analīze būtu pēc iespējas produktīvāka. Sākotnēji skaitlisko vektoru algebriskās operācijas tika paplašinātas līdz NaN, NA un Inf uz lēnākas aprēķināšanas rēķina. Leksiskā mēroga noteikšana un metaprogrammēšana R ir ārkārtīgi elastīga, ļaujot veikt nestandarta novērtējumu (kas ir ļoti ērts datu analīzē).

Python, no otras puses, sakņojas ABC - valodā, kurā 80. gados strādāja Van Rososs. Sākotnējais Python mērķis bija labi izstrādāta izglītības valoda, un agrīnā valodas uzmanības centrā bija koledžas studentu iepazīstināšana ar Python programmu, izmantojot DARPA iniciatīvu CP4E (Computer Programming for Everybody). Skaidrība un labs dizains vienmēr bija ārkārtīgi svarīgi Guido prātā. Es nedomāju, ka, piemēram, viņam nepatīk funkcionālā programmēšana, bet viņam nepatīk lambdu, kartes un filtru klātbūtne pitonā, jo viņi jūtas sašūti. Pat ja cilvēki Python bieži saista ar skaitlisko skaitļošanu, tas ir nedaudz vēsturisks negadījums, nepilnīgu atvērtā koda alternatīvu (piemēram, oktāvas) un pāris galveno vīriešu, piemēram, Džima Hugunina un Travisa Olipanta, blakusprodukts.

Šīs saknes joprojām parādās šodien. R, iespējams, ir visnecaurlaidīgāk integrētā un konsekventā rīku ķēde un filozofija, kas ved jūs no neapstrādātiem datiem uz pārveidotiem datiem no modeļa uz vizualizāciju līdz gala izvadei (caur spīdīgu vai no jauna iezīmētu). Python ir galvenā skriptu valoda, labi izstrādāta, izturīga, elastīga, pietiekami ātra. Ja jums ir jāintegrē analīzes izvade lielā, neviendabīgajā procesā, kas jau rakstīts Python, iespējams, jums ir tikai viena izvēle. No otras puses, R spīd, ja jūs veicat daudz pasūtījuma analīzes, ieskaitot izpētes, interaktīvās analīzes un / vai integrācija ar jau esošu ražošanas procesu nav pārāk grūta.


Atbilde 3:

Premisa: tas ir mazliet tipisks Quora jautājums: ļoti subjektīvs un nedaudz polarizējošs. Es to izmēģināšu, jo a) es domāju, ka dažas no balsojušajām atbildēm patiesībā ir nepareizas vai datētas, b) kādu laiku esmu lietojis šīs divas valodas (R kopš 2000. gada, Python kopš 2005. gada), es domāju, ka man ir mazliet vēsturiskā perspektīva, kas varētu būt noderīga, atbildot uz atšķirībām starp valodām un nevis to, kas ir labāks (lai kvalificēti uzslavētu R, man ir vēl viena Quora atbilde).

Kādas ir līdzības?

Daudz vairāk nekā atšķirības.

  1. Abas pakāpes ir vispārējas nozīmes valodas. R nav DSL, un tajā pašā laikā Python nav paredzēts lielu lietojumprogrammu izveidei. Gan valodas ir dinamiskas, elastīgas un diezgan lēnas (R ir lēnāks zemāk aprakstīto iemeslu dēļ) .Bet tām ir liela ekosistēma un liela lietotāju bāze. . Laika gaitā un kad runa ir par mašīnu mācīšanos, abas galvenokārt ir kļuvušas par interfeisa valodām. Viņi ir pārāk lēni (vai acīmredzami pārāk grūti pārvērsties ātrās valodās), lai veiktu vietējās, ne vektorizētās operācijas; un tie nav paredzēti paralēlismam. No otras puses, tie ir piemēroti skriptu veidošanai un lielu bibliotēku izsaukšanai, kuras var ietvert DSL. Šajā posmā atšķirības starp tām ir diezgan niecīgas. Abiem ir lielisks atbalsts: TensorFlow / Keras; Spark; H20; Stan; visām visizplatītākajām statistikas mācību metodēm.

Abu valodu veiktspējas atšķirības ir niecīgas, jo aprēķinus veic bibliotēka un abas valodas pārsūta datus pēc vērtības (lielākoties).

Kādas ir atšķirības?

  1. Ja rodas lielas skaitliskās datu kopas, Python ir ātrāks un elastīgāks. Jūs varēsit izvēlēties garus / īsus pludiņus un precīzi izdalīt krātuves. Un Python ir vairāk bibliotēku vidēja lieluma datu pārvaldībai (pytable, dask); tie var noderēt. R, strādājot ar lieliem datiem, kas nav pamatā, mana pieeja ir bijusi paļauties uz standarta DBVS (pPostgres, MS serveris, ar kuru R ir integrēta vietne, Redshift). Kā bonuss dplyr in R piedāvā izcilu, ērtu saskarni ar šīm datu bāzēm.Python ir veidi, kā paātrināt veiktspēju, neizmantojot C ++. Cython ir visizplatītākais, lai iegūtu C salīdzināmu ātrumu, kam seko Numba. Nekāda veida R.Python nav divu visuresošu, monolītu bibliotēku, kuras izmanto mašīnu apguvēji: Pandas datu rakšanai un Scikit-learning modelēšanai. Turpretī R ir daudz mazāku specializēto bibliotēku. Savukārt vizualizēšanai R ir relatīvi maz bibliotēku (ggplot2, ggvis), un pitonam ir daudz (matplotlib, jūraszvaigžņu, Vincent, altair, bokeh…). Tomēr es uzskatu, ka lielākā daļa cilvēku piekrīt, ka R ir labāk vizualizēt, jo Hadlijs Vikhems to vienkārši saprata tieši otrajā mēģinājumā. Python ir mazliet nožēlojamā stāvoklī. Šķiet, ka R kopiena ir saliedējusies ap divām attīstības vidēm: Rstudio (liels vairākums) un… visiem pārējiem. Python ir daudz vairāk iespēju, taču man ir iespaids, ka izstrādātāji galvenokārt izmanto ipython, pycharm un varbūt spyder. Personīgi es uzskatu, ka Rstudio ir izcils IDE visās valodās. Tas ir spēcīgs diferenciālis. Tidyverse ir datu bibliotēka, kas vienlaikus a) paplašina valodu; b) veicina “datu analīzes filozofiju” un labu programmēšanas praksi. Tā ir ļoti savdabīga R lieta, kaut arī to var pārnest uz citām valodām. Daudziem cilvēkiem (ieskaitot mani) tas ir lielisks veids, kā organizēt domas, datus un analīzi. Python nav šāda veida. Kopumā es teiktu, ka atšķirība starp R un Python kodu ir tāda, ka pirmais parasti tiek organizēts ap funkcijām un funkcionālo programmēšanu, turpretim pēdējais objektus izmanto daudz biežāk. Joprojām es uzskatu, ka ir pārāk heterodokss savā kodā izmantot pitoolz (jauka funkcionālā bibliotēka). Lielākajai daļai redzēto kodu ir objektu gadījumi un garas metožu ķēdes.

Tātad, kādas ir dziļas (mūsdienās populārs īpašības vārds) atšķirības? Es domāju, ka tos var redzēt caur valodu izcelsmi. R bija paredzēts interaktīvai datu analīzei. Tās dizaineri un agrīnie līdzstrādnieki (Chambers, Ihaka, Gentleman, Tierney) tika iemācīti funkcionālā programmēšanā (piemēram, lasīja Luke Tierney lasījumā On Abandoning XLISP-STAT) un modelēja valodas semantiku shēmā, vienlaikus aizņemoties daļu no sintakse APL. Viņi arī pieņēma apzinātu lēmumu noteikt noklusējumus tipa reklāmguvumiem un reklāmām, lai interaktīvā analīze būtu pēc iespējas produktīvāka. Sākotnēji skaitlisko vektoru algebriskās operācijas tika paplašinātas līdz NaN, NA un Inf uz lēnākas aprēķināšanas rēķina. Leksiskā mēroga noteikšana un metaprogrammēšana R ir ārkārtīgi elastīga, ļaujot veikt nestandarta novērtējumu (kas ir ļoti ērts datu analīzē).

Python, no otras puses, sakņojas ABC - valodā, kurā 80. gados strādāja Van Rososs. Sākotnējais Python mērķis bija labi izstrādāta izglītības valoda, un agrīnā valodas uzmanības centrā bija koledžas studentu iepazīstināšana ar Python programmu, izmantojot DARPA iniciatīvu CP4E (Computer Programming for Everybody). Skaidrība un labs dizains vienmēr bija ārkārtīgi svarīgi Guido prātā. Es nedomāju, ka, piemēram, viņam nepatīk funkcionālā programmēšana, bet viņam nepatīk lambdu, kartes un filtru klātbūtne pitonā, jo viņi jūtas sašūti. Pat ja cilvēki Python bieži saista ar skaitlisko skaitļošanu, tas ir nedaudz vēsturisks negadījums, nepilnīgu atvērtā koda alternatīvu (piemēram, oktāvas) un pāris galveno vīriešu, piemēram, Džima Hugunina un Travisa Olipanta, blakusprodukts.

Šīs saknes joprojām parādās šodien. R, iespējams, ir visnecaurlaidīgāk integrētā un konsekventā rīku ķēde un filozofija, kas ved jūs no neapstrādātiem datiem uz pārveidotiem datiem no modeļa uz vizualizāciju līdz gala izvadei (caur spīdīgu vai no jauna iezīmētu). Python ir galvenā skriptu valoda, labi izstrādāta, izturīga, elastīga, pietiekami ātra. Ja jums ir jāintegrē analīzes izvade lielā, neviendabīgajā procesā, kas jau rakstīts Python, iespējams, jums ir tikai viena izvēle. No otras puses, R spīd, ja jūs veicat daudz pasūtījuma analīzes, ieskaitot izpētes, interaktīvās analīzes un / vai integrācija ar jau esošu ražošanas procesu nav pārāk grūta.


Atbilde 4:

Premisa: tas ir mazliet tipisks Quora jautājums: ļoti subjektīvs un nedaudz polarizējošs. Es to izmēģināšu, jo a) es domāju, ka dažas no balsojušajām atbildēm patiesībā ir nepareizas vai datētas, b) kādu laiku esmu lietojis šīs divas valodas (R kopš 2000. gada, Python kopš 2005. gada), es domāju, ka man ir mazliet vēsturiskā perspektīva, kas varētu būt noderīga, atbildot uz atšķirībām starp valodām un nevis to, kas ir labāks (lai kvalificēti uzslavētu R, man ir vēl viena Quora atbilde).

Kādas ir līdzības?

Daudz vairāk nekā atšķirības.

  1. Abas pakāpes ir vispārējas nozīmes valodas. R nav DSL, un tajā pašā laikā Python nav paredzēts lielu lietojumprogrammu izveidei. Gan valodas ir dinamiskas, elastīgas un diezgan lēnas (R ir lēnāks zemāk aprakstīto iemeslu dēļ) .Bet tām ir liela ekosistēma un liela lietotāju bāze. . Laika gaitā un kad runa ir par mašīnu mācīšanos, abas galvenokārt ir kļuvušas par interfeisa valodām. Viņi ir pārāk lēni (vai acīmredzami pārāk grūti pārvērsties ātrās valodās), lai veiktu vietējās, ne vektorizētās operācijas; un tie nav paredzēti paralēlismam. No otras puses, tie ir piemēroti skriptu veidošanai un lielu bibliotēku izsaukšanai, kuras var ietvert DSL. Šajā posmā atšķirības starp tām ir diezgan niecīgas. Abiem ir lielisks atbalsts: TensorFlow / Keras; Spark; H20; Stan; visām visizplatītākajām statistikas mācību metodēm.

Abu valodu veiktspējas atšķirības ir niecīgas, jo aprēķinus veic bibliotēka un abas valodas pārsūta datus pēc vērtības (lielākoties).

Kādas ir atšķirības?

  1. Ja rodas lielas skaitliskās datu kopas, Python ir ātrāks un elastīgāks. Jūs varēsit izvēlēties garus / īsus pludiņus un precīzi izdalīt krātuves. Un Python ir vairāk bibliotēku vidēja lieluma datu pārvaldībai (pytable, dask); tie var noderēt. R, strādājot ar lieliem datiem, kas nav pamatā, mana pieeja ir bijusi paļauties uz standarta DBVS (pPostgres, MS serveris, ar kuru R ir integrēta vietne, Redshift). Kā bonuss dplyr in R piedāvā izcilu, ērtu saskarni ar šīm datu bāzēm.Python ir veidi, kā paātrināt veiktspēju, neizmantojot C ++. Cython ir visizplatītākais, lai iegūtu C salīdzināmu ātrumu, kam seko Numba. Nekāda veida R.Python nav divu visuresošu, monolītu bibliotēku, kuras izmanto mašīnu apguvēji: Pandas datu rakšanai un Scikit-learning modelēšanai. Turpretī R ir daudz mazāku specializēto bibliotēku. Savukārt vizualizēšanai R ir relatīvi maz bibliotēku (ggplot2, ggvis), un pitonam ir daudz (matplotlib, jūraszvaigžņu, Vincent, altair, bokeh…). Tomēr es uzskatu, ka lielākā daļa cilvēku piekrīt, ka R ir labāk vizualizēt, jo Hadlijs Vikhems to vienkārši saprata tieši otrajā mēģinājumā. Python ir mazliet nožēlojamā stāvoklī. Šķiet, ka R kopiena ir saliedējusies ap divām attīstības vidēm: Rstudio (liels vairākums) un… visiem pārējiem. Python ir daudz vairāk iespēju, taču man ir iespaids, ka izstrādātāji galvenokārt izmanto ipython, pycharm un varbūt spyder. Personīgi es uzskatu, ka Rstudio ir izcils IDE visās valodās. Tas ir spēcīgs diferenciālis. Tidyverse ir datu bibliotēka, kas vienlaikus a) paplašina valodu; b) veicina “datu analīzes filozofiju” un labu programmēšanas praksi. Tā ir ļoti savdabīga R lieta, kaut arī to var pārnest uz citām valodām. Daudziem cilvēkiem (ieskaitot mani) tas ir lielisks veids, kā organizēt domas, datus un analīzi. Python nav šāda veida. Kopumā es teiktu, ka atšķirība starp R un Python kodu ir tāda, ka pirmais parasti tiek organizēts ap funkcijām un funkcionālo programmēšanu, turpretim pēdējais objektus izmanto daudz biežāk. Joprojām es uzskatu, ka ir pārāk heterodokss savā kodā izmantot pitoolz (jauka funkcionālā bibliotēka). Lielākajai daļai redzēto kodu ir objektu gadījumi un garas metožu ķēdes.

Tātad, kādas ir dziļas (mūsdienās populārs īpašības vārds) atšķirības? Es domāju, ka tos var redzēt caur valodu izcelsmi. R bija paredzēts interaktīvai datu analīzei. Tās dizaineri un agrīnie līdzstrādnieki (Chambers, Ihaka, Gentleman, Tierney) tika iemācīti funkcionālā programmēšanā (piemēram, lasīja Luke Tierney lasījumā On Abandoning XLISP-STAT) un modelēja valodas semantiku shēmā, vienlaikus aizņemoties daļu no sintakse APL. Viņi arī pieņēma apzinātu lēmumu noteikt noklusējumus tipa reklāmguvumiem un reklāmām, lai interaktīvā analīze būtu pēc iespējas produktīvāka. Sākotnēji skaitlisko vektoru algebriskās operācijas tika paplašinātas līdz NaN, NA un Inf uz lēnākas aprēķināšanas rēķina. Leksiskā mēroga noteikšana un metaprogrammēšana R ir ārkārtīgi elastīga, ļaujot veikt nestandarta novērtējumu (kas ir ļoti ērts datu analīzē).

Python, no otras puses, sakņojas ABC - valodā, kurā 80. gados strādāja Van Rososs. Sākotnējais Python mērķis bija labi izstrādāta izglītības valoda, un agrīnā valodas uzmanības centrā bija koledžas studentu iepazīstināšana ar Python programmu, izmantojot DARPA iniciatīvu CP4E (Computer Programming for Everybody). Skaidrība un labs dizains vienmēr bija ārkārtīgi svarīgi Guido prātā. Es nedomāju, ka, piemēram, viņam nepatīk funkcionālā programmēšana, bet viņam nepatīk lambdu, kartes un filtru klātbūtne pitonā, jo viņi jūtas sašūti. Pat ja cilvēki Python bieži saista ar skaitlisko skaitļošanu, tas ir nedaudz vēsturisks negadījums, nepilnīgu atvērtā koda alternatīvu (piemēram, oktāvas) un pāris galveno vīriešu, piemēram, Džima Hugunina un Travisa Olipanta, blakusprodukts.

Šīs saknes joprojām parādās šodien. R, iespējams, ir visnecaurlaidīgāk integrētā un konsekventā rīku ķēde un filozofija, kas ved jūs no neapstrādātiem datiem uz pārveidotiem datiem no modeļa uz vizualizāciju līdz gala izvadei (caur spīdīgu vai no jauna iezīmētu). Python ir galvenā skriptu valoda, labi izstrādāta, izturīga, elastīga, pietiekami ātra. Ja jums ir jāintegrē analīzes izvade lielā, neviendabīgajā procesā, kas jau rakstīts Python, iespējams, jums ir tikai viena izvēle. No otras puses, R spīd, ja jūs veicat daudz pasūtījuma analīzes, ieskaitot izpētes, interaktīvās analīzes un / vai integrācija ar jau esošu ražošanas procesu nav pārāk grūta.