数据科学家的基本技能[关闭](Essential skills of a Data Scientist [closed])
数据科学家的武库有哪些相关技能? 随着新技术的到来,每个人都会选择哪些必需品?
与这个讨论密切相关的几个想法:
- 知道SQL和使用数据库,如MySQL,PostgreSQL是伟大的,直到NoSql和非关系数据库的到来。 MongoDB,CouchDB等正在开始使用Web规模数据。
- 知道像R这样的统计工具足以进行分析,但是要创建应用程序,可能需要将Java,Python等添加到列表中。
- 数据现在以文本,网址,多媒体的形式出现,并且与其操纵有着不同的范例。
- 集群计算,并行计算,云,Amazon EC2,Hadoop?
- OLS回归现在有人造神经网络,随机森林和其他相对异国的机器学习/数据挖掘算法。 为公司
思考?
What are the relevant skills in the arsenal of a Data Scientist? With new technologies coming in every day, how does one pick and choose the essentials?
A few ideas germane to this discussion:
- Knowing SQL and the use of a DB such as MySQL, PostgreSQL was great till the advent of NoSql and non-relational databases. MongoDB, CouchDB etc. are becoming popular to work with web-scale data.
- Knowing a stats tool like R is enough for analysis, but to create applications one may need to add Java, Python, and such others to the list.
- Data now comes in the form of text, urls, multi-media to name a few, and there are different paradigms associated with their manipulation.
- What about cluster computing, parallel computing, the cloud, Amazon EC2, Hadoop ?
- OLS Regression now has Artificial Neural Networks, Random Forests and other relatively exotic machine learning/data mining algos. for company
Thoughts?
原文:https://stackoverflow.com/questions/2860314
最满意答案
首先为变量和方法使用有意义的名称。
jTable1
,br1
,br2
和jButton6ActionPerformed
是不可接受的名称。然后尝试将一个复杂的方法拆分成2或3个操作,自己分成2或3个操作,等等。每个操作都应该是一个方法调用。 例如:
private void readButtonClicked() { String id = idTextField.getText(); Student student = findStudentWithId(id); showStudentInGUI(student); } private Student findStudentWithId(String id) { List<String> lines = readLinesInFile(); List<Student> students = transformLinesIntoStudents(lines); Student studentWithId = findStudentWithId(students, id); } private Student findStudentWithId(List<Student> students, String id) { for (Student student : students) { if (student.getId().equals(id)) { return student; } } return null; } private List<Student> transformLinesIntoStudents(List<String> lines) { List<Student> students = new ArrayList<Student>(lines.size()); for (String line : lines) { students.add(parseStudentLine(line); } return students; } ...
Start by using meaningful names for your variables and methods.
jTable1
,br1
,br2
andjButton6ActionPerformed
are not acceptable names.Then try to split a complex method into 2 or three operations, themselves split into 2 or three operations, etc. Each operation should be a method call. For example:
private void readButtonClicked() { String id = idTextField.getText(); Student student = findStudentWithId(id); showStudentInGUI(student); } private Student findStudentWithId(String id) { List<String> lines = readLinesInFile(); List<Student> students = transformLinesIntoStudents(lines); Student studentWithId = findStudentWithId(students, id); } private Student findStudentWithId(List<Student> students, String id) { for (Student student : students) { if (student.getId().equals(id)) { return student; } } return null; } private List<Student> transformLinesIntoStudents(List<String> lines) { List<Student> students = new ArrayList<Student>(lines.size()); for (String line : lines) { students.add(parseStudentLine(line); } return students; } ...
相关问答
更多-
你有一个上下文问题。 rs在initComponents的上下文中是未定义的,这意味着编译器不知道rs是什么。 你需要将rs定义为一个实例变量,比如stmt ,并确保你没有在main隐藏它 //ResultSet rs = stmt.executeQuery(query); rs = stmt.executeQuery(query); 这是个人的事情,但我强烈建议您在依赖它之前了解rs2xml实际上在做什么 You have a context problem. rs is undefined withi ...
-
首先为变量和方法使用有意义的名称。 jTable1 , br1 , br2和jButton6ActionPerformed是不可接受的名称。 然后尝试将一个复杂的方法拆分成2或3个操作,自己分成2或3个操作,等等。每个操作都应该是一个方法调用。 例如: private void readButtonClicked() { String id = idTextField.getText(); Student student = findStudentWithId(id); showSt ...
-
如何将项目列入JTable(how to list an items to a JTable)[2023-05-10]
主要问题是DbUtils.resultSetToTableModel(rs) ,它创建了一个全新的TableModel ,填充了ResultSet的内容,当应用于JTable时,它正在用TableModel的内容替换视图。 为了能够更新表,您需要更新现有的TableModel ... 有几种方法可以实现,最简单的方法是使用DefaultTableModel ...... 首先创建一个DefaultTableModel的类实例字段... public class ... { //... pri ... -
你有几个选择: 1)您可以创建包含子转包和IEnumerable的新类,并将新类的对象传递给视图。 这是ASP.NET MVC中的常见做法。 public class MyCustomModelView { public IEnumerable
Company{ get; set; } public subcontract Subcontract { get; set; } } 在控制器中: return View("Details", new MyCustomModelVie ... -
查看我们是否需要数据库取决于您的应用程序数据的复杂程度。 如果这是它将托管的唯一数据,您必须决定是否需要在设备中保留数据,即使没有可用的互联网。 如果数据变得复杂(更多表等)或数据必须持续存在,则必须创建本地数据库。 为简单起见,我们假设这是唯一的数据。 你可以做些什么来做一个主细节应用程序流程,使你的应用程序结构如下: 您需要创建映射数据属性的自定义Java对象类。 创建一个新的Java文件名称Task,看下面的代码: public class Task { private String name; p ...
-
尝试删除async: true,然后检查。 还有为什么你在成功部分再次调用waitformsg函数? setTimeout( waitForMsg, 1000 ); Try removing async: true, and check. Also why you are calling waitformsg function again in success section? setTimeout( waitForMsg, 1000 );
-
Django 1.8如何通过当前通用详细信息视图的id过滤对象(Django 1.8 How to filter an object by id of current generic Detail View)[2022-02-26]
在详细信息视图的get_context_data方法内,您可以使用self.object访问该对象。 因此,您可以使用以下内容进行filter def get_context_data(self, **kwargs): context = super(DetailView, self).get_context_data(**kwargs) context['OpeningHours'] = OpeningHours.objects.filter(venue=self.object) ... -
解决了...使用'detach'和'hide'事件,我使用来自JQuery的.remove()直接从DOM中删除了对话框。 所以这段代码: close : function(event, ui) { $("#cambia_pass").validationEngine('hide'); $("#cambia_pass").validationEngine('detach'); } became this: close : function(event, ui) { $(this). ...
-
$_SESSION['views'] = array(); 然后添加新产品 function addProduct($product) { $_SESSION['views'][] = $product; if (count($_SESSION['views']) > 7) { $removedElement = array_shift($_SESSION['views']); } } 询问 SELECT * FROM `property` WHERE id in ...
-
你永远不会初始化Statement对象.... Statement stmt = null; // Look ma, I'm null // rs=(ResultSet) dlFollowUp.getFollowUpList(); // getFollowUplist(); ResultSet rs = null; // Look ma, I'm still null rs = stmt.executeQuery("SELECT id,customer,phone,product,l ...