Hi, C W, yeah I'd say that Python is a programming language with lots of packages for scientific computing, whereas R is more of a toolbox for stats. Thus, Python may be a bit weird at first for people who come from the R/stats field and are new to programming. Not sure if it is necessary to learn programming & computer science basics for a person who is primarily interested in in stats and ML, but since so many tools are Python-based and require some sort of basic programming to fit the pieces together, it's maybe not a bad idea :).
There's probably an over-abundance of python intro books out there ... However, I'd maybe recommend a introduction to computer science book that uses Python as a teaching language rather than a book that is just about Python language. Maybe check out https://www.udacity.com/course/intro-to-computer-science--cs101, which is a Python-based computer science course (and should be free). Best, Sebastian > On Jun 18, 2017, at 4:18 PM, C W <tmrs...@gmail.com> wrote: > > Hi Sebastian, > > I looked through your book. I think it is great if you already know Python, > and looking to learn machine learning. > > For me, I have some sense of machine learning, but none of Python. > > Unlike R, which is specifically for statistics analysis. Python is broad! > > Maybe some expert here with R can tell me how to go about this. :) > > On Sun, Jun 18, 2017 at 12:53 PM, Sebastian Raschka <se.rasc...@gmail.com> > wrote: > Hi, > > > I am extremely frustrated using this thing. Everything comes after a dot! > > Why would you type the sam thing at the beginning of every line. It's not > > efficient. > > > > code 1: > > y_sin = np.sin(x) > > y_cos = np.cos(x) > > > > I know you can import the entire package without the "as np", but I see > > np.something as the standard. Why? > > Because it makes it clear where this function is coming from. Sure, you could > do > > from numpy import * > > but this is NOT!!! recommended. The reason why this is not recommended is > that it would clutter up your main name space. For instance, numpy has its > own sum function. If you do from numpy import *, Python's in-built `sum` will > be gone from your main name space and replaced by NumPy's sum. This is > confusing and should be avoided. > > > In the code above, sklearn > linear_model > Ridge, one lives inside the > > other, it feels that there are multiple layer, how deep do I have to dig in? > > > > Can someone explain the mentality behind this setup? > > This is one way to organize your code and package. Sklearn contains many > things, and organizing it by subpackages (linear_model, svm, ...) makes only > sense; otherwise, you would end up with code files > 100,000 lines or so, > which would make life really hard for package developers. > > Here, scikit-learn tries to follow the core principles of good object > oriented program design, for instance, Abstraction, encapsulation, > modularity, hierarchy, ... > > > What are some good ways and resources to learn Python for data analysis? > > I think baed on your questions, a good resource would be an introduction to > programming book or course. I think that sections on objected oriented > programming would make the rationale/design/API of scikit-learn and Python > classes as a whole more accessible and address your concerns and questions. > > Best, > Sebastian > > > On Jun 18, 2017, at 12:02 PM, C W <tmrs...@gmail.com> wrote: > > > > Dear Scikit-learn, > > > > What are some good ways and resources to learn Python for data analysis? > > > > I am extremely frustrated using this thing. Everything comes after a dot! > > Why would you type the sam thing at the beginning of every line. It's not > > efficient. > > > > code 1: > > y_sin = np.sin(x) > > y_cos = np.cos(x) > > > > I know you can import the entire package without the "as np", but I see > > np.something as the standard. Why? > > > > Code 2: > > model = LogisticRegression() > > model.fit(X_train, y_train) > > model.score(X_test, y_test) > > > > In R, everything is saved to a variable. In the code above, what if I > > accidentally ran model.fit(), I would not know. > > > > Code 3: > > from sklearn import linear_model > > reg = linear_model.Ridge (alpha = .5) > > reg.fit ([[0, 0], [0, 0], [1, 1]], [0, .1, 1]) > > > > In the code above, sklearn > linear_model > Ridge, one lives inside the > > other, it feels that there are multiple layer, how deep do I have to dig in? > > > > Can someone explain the mentality behind this setup? > > > > Thank you very much! > > > > M > > _______________________________________________ > > scikit-learn mailing list > > scikit-learn@python.org > > https://mail.python.org/mailman/listinfo/scikit-learn > > _______________________________________________ > scikit-learn mailing list > scikit-learn@python.org > https://mail.python.org/mailman/listinfo/scikit-learn > > _______________________________________________ > scikit-learn mailing list > scikit-learn@python.org > https://mail.python.org/mailman/listinfo/scikit-learn _______________________________________________ scikit-learn mailing list scikit-learn@python.org https://mail.python.org/mailman/listinfo/scikit-learn