Cài đặt Anaconda trên window và ví dụ Machine Learning

Hôm nay được một đồng chí cùng công ty cũ giới thiệu về Anaconda để code python. Theo mình hiểu Anaconda đơn giản là một IDE giúp ta có thể code python đơn giản hơn, đặc biệt việc cài đặt Anaconda trên window rất đơn giản. Anaconda còn tích hợp rất nhiều thư viện cơ bản, đặc biệt là các thư viện về Machine Learning với giao diện sử dụng và thêm thư viện rất đơn giản.

Công cụ này trước đây mình đã từng nghe nhưng chưa tiến hành sử dụng bao giờ. Trong quá trình học tập và làm việc, mình đã sử dụng nhiều IDE nhưng đều chưa thấy hài lòng. Sau đây mình sẽ hướng dẫn từng bước để cài đặt Anaconda trên window và sử dụng Anaconda để viết một chương trình Machine Learning đơn giản.

Ví dụ:
– Pycharm: cũng khá nổi tiếng nhưng khi cài 1 số thư viện mở rộng vào thì không hiểu sao lại lỗi và bị conflict

– IntellJI: nặng, chậm và cũng conflict (có thể quá phức tạp với mình)

– Cuối cùng thì đành quay về với IDE của chính Python cung cấp, nhưng cũng khá khó chịu với cái khoản cài đặt thêm các thư viện bổ sung.

Nghe đồng chí đó nói với IDE này đã tích hợp sẵn nhiều thư viện về Machine nên cũng vọc thử xem sao, có mất gì đâu.

Tải và cài đặt:

Tài liệu trên mạng có nhiều, mình cài đặt theo trang chủ của nó:
https://www.anaconda.com/download/

Bạn có thể tham khảo thêm:
https://medium.com/@GalarnykMichael/install-python-on-windows-anaconda-c63c7c3d1444

http://xperimentallearning.blogspot.com/2017/02/steps-to-install-anaconda.html

Lưu ý: mình khá nhọ khi cứ next mà không để ý phần tích chọn việc thêm biến môi trường hay là đường dẫn path để khi ở command line của window có thể gọi lệnh conda.
Nếu tích phần đó thì ok không sao, nếu không tích thì dùng lệnh sau để set path(trên command line của window):

set PATH=%PATH%;C:\ProgramData\Anaconda2;C:\ProgramData\Anaconda2\Scripts\

Đường dẫn này phụ thuộc vào nơi bạn cài đặt Anaconda nhé.

Test thử xem sao:

Sau khi cài đặt xong thì anaconda có giao diện như sau:

Có vài phần mặc định mà ta có thể dùng:

– Jupyterlab: nhấn vào đó nó nhảy lên web luôn, cái này code và biên dịch trên web localhost của mình luôn.

– Jupyternotebook: chưa rõ là gì luôn nhưng cũng chạy trên nền web.

– spyder: sẽ hiển thị lên IDE để ta có thể code vài chương trình đơn giản.

Mình làm theo link này để test trước: https://chieupham.github.io/2017/02/18/Python-Windows/

Trên đây là cách cài đặt Anaconda trên window, nếu xong bước này thì ta hoàn toàn có thể thử dùng nó để code một chương trình python đơn giản để test hoặc có thể thử một ví dụ về Machine Learning sau đây với thư viện chuyên về Machine Learning là sklearn.

Ví dụ Machine Learning với Anaconda

B1. Test 1 thư viện mặc định:

>>import numpy
>>umpy.__file__

B2. Test 1 thư viện cần cài thêm:

>import sklearn

Sẽ lỗi luôn

B3. Cài thêm thư viện sklearn

Sử dụng command line của window chạy: conda install scikit-learn
chọn y để đồng ý cài đặt sklearn (phần lưu ý phía trên sẽ có tác dụng cho phần này)
Thử lại xem thư viện có chưa nhé:

>import sklearn

B4. Chạy thử 1 chương trình theo hướng dẫn:
https://machinelearningcoban.com/2016/12/28/linearregression/
Ta có kết quả:

Hay đấy chứ, chúc các bạn thành công!

FCR Tỉ lệ gọi lại phản ánh hiệu quả của Call Center

Là IT phụ trách mảng báo cáo trong một công ty mình hay tiếp xúc với phòng Dịch vụ khách hàng (Call center).

Một chỉ số mình cần tính đó là chỉ số FCR: tỉ lệ cuộc gọi lại sau lần đầu tiên của khách hàng.

Ý nghĩa: từ chỉ số này ta có thể đo độ hiệu của quả Call Center cũng như độ hài lòng, yếu tố về dịch vụ hoặc sản phẩm của công ty.

Cách tính trong tháng:

A: Số KH chỉ gọi 1 lần

B: Số KH mà khoảng cách gọi 2 lần liên tiếp lớn hơn 7 ngày

C: Số KH mà khoảng cách gọi 2 lần liên tiếp nhỏ hơn hoặc bằng 7 ngày

Tỉ lệ sẽ được tính bằng công thức:

FCR = (A+B)/(A+B+C)

Để tính chỉ số này cũng bật ra được khá nhiều điều trong việc sử dụng SQL Develop của mình.

Một số kinh nghiệm cá nhân và lời khuyên khi đi phỏng vấn

Trong đời (thời nay) ai mà chẳng phải một vài lần đi phỏng vấn. Phỏng vấn ở đây nhiều nhất có lẽ là đi xin việc(từ xin việc chỉ đúng với ngày xưa với cơ chế xin cho thôi, còn công việc thì đương nhiên là thuận mua vừa bán nhưng tại đây ta cứ tạm gọi là đi xin việc), phỏng vấn để xin visa(lại xin), phỏng vấn đi du học, phỏng vấn để vào câu lạc bộ…

Phỏng vấn thì có nhiều cấp độ, tính chất quan trọng hoặc không quan trọng lắm. Thực chất thì có lẽ đều quan trọng vì đây là ta cần thì mới đi phỏng vấn thôi, mặc dù có thể chỉ đi cho vui để lấy… kinh nghiệm :D. Phỏng vấn cũng có nhiều hình thức: qua điện thoại(chỉ có nói không thôi), qua video trực tuyến(cả hình lẫn tiếng), và đa phần là phỏng vấn trực tiếp(sô-lô 1vs1 hoặc 1vs nhiều)…

Ở đây với quan điểm chủ quan của tác giả tại thời điểm hiện tại với kinh nghiệm vài lần đi phỏng vấn về lĩnh vực Công nghệ thông tin. Trong đời mình thì tới thời điểm hiện tại mình có tham gia 5 cuộc phỏng vấn với tư cách là ứng viên:

  1. Lần đầu tiên trong đời đó là mình và thằng bạn đi phỏng vấn vào đội thanh niên tình nguyện khoa CNTT khi là sinh viên năm 2 đại học. Không có gì nhiều vì mặc định là mình pass rồi.
  2. Lần thứ hai thì là lần đầu xin việc, đó là một ty làm về core banking. Phỏng vấn ban đầu mình cũng tự tin nhưng vài câu mình cũng không trả lời được. Nhưng vẫn pass.
  3. Lần thứ ba thì mình phỏng vấn xin việc ở Tập đoàn viễn thông quân đội hàng đầu Việt Nam và cũng pass.
  4. Lần thứ tư thì mình phỏng vấn xin việc ở doanh nghiệp vốn 100% nhà nước về lĩnh vực PAYTV. Có người quen nên cũng pass.
  5. Lần thứ năm thì mình phỏng vấn xin việc cũng ở lĩnh vực PAYTV nhưng là doanh nghiệp liên doanh có yếu tố nước ngoài. Và vì có người giới thiệu và chắc ăn nên cũng suýt nữa thì trượt.

Đó là những lần mình đi phỏng vấn và với tư cách ngồi ở hàng ghế ứng viên. Chi tiết kỉ niệm phỏng vấn mình sẽ chia sẻ ở một bài khác. Ở đây với đa số là pass(có thể coi là thành công) nên mình xin chia sẻ với các bạn kinh nghiệm của mình như sau:

Điều đầu tiên, quan trọng nhất mà ai cũng nói cấm có sai đó là sự chuẩn bị trước. Khi mình đã có sự chuẩn bị rồi, càng nhiều càng tốt thì phần lớn bạn đã pass rồi.

  1. Chuẩn bị CV: Mục này với thời đại này thì là điều đương nhiên rồi, theo mình thì CV càng ngắn càng tốt nhưng đừng ngắn quá. Xúc tích vào 4 điểm: Thông tin cá nhân, Quá trình học tập – bằng cấp, Kinh nghiệm chuyên môn bản thân và định hướng nghề nghiệp, Sở trường, sở đoản, quan điểm cá nhân.
  2. Chuẩn bị kiến thức: Điều này là đương nhiên, ta đi xin việc để đi làm kiếm tiền cơ mà(à không, mà là cống hiến cho đời :D). Khi ta chấp nhận đi phỏng vấn hoặc là đơn vị phỏng vấn gọi ta thì đều đã nắm rõ với nhau về yêu cầu rồi, do vậy việc chuẩn bị kiến thức về các yêu cầu này là quan trọng. Nhưng chúng ta cũng vẫn nên chuẩn bị các câu hỏi ngoài lề, hỏi khó hoặc lắt léo để tăng độ khó cho game. Chuẩn bị tốt bao nhiêu thì ta càng tự tin bấy nhiêu.
  3. Chuẩn bị về đối tượng phỏng vấn: Đối tượng phỏng vấn ở đây là ta cần hiểu về nơi ta định xin vào làm hoặc chính là người phỏng vấn ta nếu ta biết. Các cụ chả có câu Biết địch biết ta, trăm trận trăm thắng còn gì? Điều này rất quan trọng đấy nhé. Thứ nhất nó là nơi ta sẽ chiến đấu hoặc đơn giản hơn là họ có hỏi thì mình còn biết đường mà chém.
  4. Một số thứ cần chuẩn bị khác đó là cách ăn mặc, ta cần ăn mặc lịch sự gọn gàng vì ấn tượng lần đầu tiên là rất quan trọng. Mình học được điều này từ một người em ít tuổi hơn mình nhưng kinh nghiệm thì mình phải gọi nó là anh. :D. Bạn nên in một số bản CV của mình ra vài bản để đưa mấy người phỏng vấn đọc chơi. Lý do là gì ư? Không phải ai phỏng vấn mình cũng chuẩn bị kỹ lưỡng cũng như có 1 số thành phần đi cho vui để có đủ ban bệ và đông người cho nó áp đảo.
  5. Cuối cùng cũng là điều quan trọng nhất đó là thành thật, chúng ta thành thật với bản thân mình và với người phỏng vấn. Chả mất gì cả, cái gì biết thì bảo biết, không biết thì bảo không, cái gì có thể và mong muốn được học tập vì học tập là cả đời cơ mà. Người ta gọi chung là có tinh thần cầu tiến. Và thứ nữa đó là mình cũng nên có quan điểm cá nhân, yêu gét rõ ràng, đúng sai cần thiết phải phản biện lại.

Trên đây là kinh nghiệm bản thân và cũng là lời góp ý nhỏ cho các bạn sinh viên chuẩn bị và đã ra trường tham khảo. Chúc các bạn phỏng vấn luôn pass và thành công trong cuộc sống.

Tổng hợp về trí tuệ nhân tạo

  • Slide về trí tuệ nhân tạo:

– Bài giảng của thầy Phạm Trọng Hoàn: https://pdfs.semanticscholar.org/presentation/33e2/1d6243aa43da3426198243dc387dcc69bdf1.pdf

– Nhập môn trí tuệ nhân tạo: https://pdfs.semanticscholar.org/presentation/33e2/1d6243aa43da3426198243dc387dcc69bdf1.pdf

– Trí tuệ nhân tạo: http://thuvien.tvu.edu.vn/ebook/download/cntt/baigiangtrituenhantao.pdf

  • Bài báo về trí tuệ nhân tạo:

– Bài nghiên cứu về ứng dụng trí tuệ tạo: https://arxiv.org/ftp/arxiv/papers/1801/1801.03604.pdf

  • Cổng tìm kiếm bài báo nghiên cứu khoa học:

– Semantic Scholar: https://www.semanticscholar.org/

Một số thư viện phổ biến cho kỹ sư Machine Learning và Deep Learning (P1)

Một số thư viện phổ biến cho kỹ sư Machine Learning và Deep Learning(P1)

Học Machine learning(Học máy) và Deep learning (học máy sâu) rất khó khăn cho người mới học. Cũng như các thư viện Deep learning rất khó để có thể hiểu. Tôi đã tạo một kho trên Github(cheatsheet-ai) với các phần ghi chú quan trọng mà tôi tổng hợp từ nhiều nguồn khác nhau. Cùng xem và bổ sung cho các phần này nếu bạn có.

1. Keras (Thư viện phân tích dữ liệu trên Python)

Nguồn: https://www.datacamp.com/community/blog/keras-cheat-sheet#gs.DRKeNMs

2. Numpy

Nguồn: https://www.datacamp.com/community/blog/python-numpy-cheat-sheet#gs.AK5ZBgE

3. Pandas

Nguồn: https://www.datacamp.com/community/blog/pandas-cheat-sheet-python#gs.HPFoRIc

Nguồn: https://www.datacamp.com/community/blog/python-pandas-cheat-sheet#gs.oundfxM

4. Scipy

Nguồn: https://www.datacamp.com/community/blog/python-scipy-cheat-sheet#gs.JDSg3OI

5. Matplotlib

Nguồn: https://www.datacamp.com/community/blog/python-matplotlib-cheat-sheet#gs.uEKySpY

6. Scikit-learn

Nguồn: https://www.datacamp.com/community/blog/scikit-learn-cheat-sheet

7. Neural Networks Zoo

Nguồn: http://www.asimovinstitute.org/neural-network-zoo/