- VisualStudio2022
- pprof-Hướng dẫn sử dụng nó trong bản mạng trực tiếp
- Triển khai C# các loại hộp chọn nhiều màu lựa chọn thả xuống, cây lựa chọn nhiều màu lựa chọn thả xuống và các nút tối đa
- [Ghi chú học tập] Cơ sở dữ liệu cấu trúc: cat tree
Bài viết này được chia sẻ từ Cộng đồng Huawei Cloud "Sử dụng Seaborn để triển khai các biểu đồ thống kê nâng cao từ sơ đồ hộp đến khám phá mối quan hệ đa biến", tác giả: Lemony Hug.
Trong lĩnh vực khoa học dữ liệu và trực quan hóa dữ liệu, Seaborn là thư viện trực quan hóa Python phổ biến. Nó được xây dựng trên nền tảng Matplotlib, cung cấp giao diện đồ họa đơn giản và đẹp hơn, đồng thời có một số chức năng biểu đồ thống kê nâng cao. Bài viết này sẽ giới thiệu cách sử dụng Seaborn để thực hiện một số biểu đồ thống kê nâng cao và cung cấp các ví dụ mã tương ứng.
Trước tiên, hãy đảm bảo bạn đã cài đặt Seaborn. Bạn có thể cài đặt nó bằng pip:
cài đặt pip seaborn
Trước khi bắt đầu, chúng ta cần nhập Seaborn và một số thư viện trực quan và xử lý dữ liệu thường được sử dụng khác:
nhập khẩu hải sản BẰNG sns nhập matplotlib.pyplot BẰNG xin vui lòng nhập numpy BẰNG np nhập khẩu gấu trúc BẰNG pd
Boxplot là một biểu đồ thống kê thường được sử dụng để hiển thị sự phân bổ dữ liệu. Seaborn cung cấp một giao diện đơn giản và dễ sử dụng để vẽ các ô hình hộp.
# Tạo dữ liệu ngẫu nhiên np.random.seed(0) dữ liệu = np.random.normal(loc=0, tỷ lệ=1, kích thước=100) # Vẽ biểu đồ hộp sns.boxplot(data=dữ liệu) plt.title('Biểu đồ hộp dữ liệu ngẫu nhiên') plt.show()
Trong ví dụ này, chúng tôi đã tạo một tập hợp dữ liệu ngẫu nhiên và vẽ biểu đồ hộp bằng hàm sns.boxplot(). Thông qua biểu đồ này, chúng ta có thể hiểu một cách trực quan sự phân bổ dữ liệu, bao gồm giá trị trung bình, phần tư và giá trị ngoại lệ.
Biểu đồ violin là biểu đồ kết hợp biểu đồ hình hộp và ước tính mật độ hạt nhân để hiển thị phân bổ dữ liệu một cách trực quan hơn.
# Tạo dữ liệu ngẫu nhiên np.random.seed(0) dữ liệu1 = np.random.normal(loc=0, tỷ lệ=1, kích thước=100) dữ liệu2 = np.random.normal(loc=2, tỷ lệ=1,5, kích thước=100) dữ liệu = nhãn np.concatenate([data1, data2]) =['Nhóm 1'] * 100 + ['Nhóm 2'] * 100 # Vẽ sơ đồ đàn violin sns.violinplot(x=nhãn,y=dữ liệu) plt.title('Âm mưu violin của hai nhóm') plt.show()
Thông qua biểu thức và vẽ sơ đồ đàn violin bằng hàm sns.violinplot(). sơ đồ này, chúng tôi có thể so sánh các phân tích bổ sung của hai dữ liệu và các số liệu khảo sát khác nhau.
Bản đồ nhiệt là biểu đồ sử dụng màu sắc để hiển thị dữ liệu ma trận, thường được sử dụng để hiển thị mối quan hệ hoặc dữ liệu mật khẩu.
# Tạo dữ liệu ngẫu nhiên np.random.seed(0) dữ liệu = np.random.rand(10, 10) # Vẽ bản đồ nhiệt sns.heatmap(data, annot= Đúng,cmap='viridis') plt.title('Bản đồ nhiệt độ ngẫu nhiên của dữ liệu') plt.show()
Thông qua biểu đồ này, chúng tôi có thể hiểu được cách trực quan hóa mối tương quan giữa dữ liệu và phân tích dữ liệu bổ sung.
Biểu đồ ước tính hạt nhân là một phương pháp tham số để tính toán dữ liệu mật khẩu bằng cách làm cho dữ liệu được kiểm tra để tạo liên kết xác thực đường dẫn.
# Tạo dữ liệu ngẫu nhiên np.random.seed(0) dữ liệu = np.random.normal(loc=0, tỷ lệ=1, kích thước=100) # Vẽ bản đồ ước tính mật hạt nhân sns.kdeplot(data, shade=Đúng) plt.title('Sơ đồ ước tính hạt nhân mật khẩu của ngẫu nhiên dữ liệu') plt.show()
Trong ví dụ này, chúng tôi đã tạo một tập hợp dữ liệu ngẫu nhiên và vẽ sơ đồ ước tính mật độ nhân bằng hàm sn.kdelot(). phân phối dữ liệu đặc biệt.
Sơ đồ mối quan hệ cặp đôi là một loại sơ đồ được sử dụng để trực quan hóa mối quan hệ giữa các biến trong tập dữ liệu và rất hữu ích cho công việc khám phá phân tích dữ liệu.
# Tạo ngẫu nhiên tập dữ liệu np.random.seed(0) dữ liệu = pd.DataFrame(np.random.randn(100, 4), cột=['MỘT', 'B', 'C', 'D']) # Vẽ sơ đồ quan hệ cặp sns.pairplot(data) plt.suptitle('Cặp lô dữ liệu ngẫu nhiên',y=1,02) plt.show()
Biểu tượng This show mối quan hệ giữa các biến thể trong data file, bao gồm biểu đồ phân tán và biểu đồ phân phối đơn biến, giúp khám phá các mô hình và mối liên hệ giữa các biến.
Các biến tương thích tự động được hiển thị theo nhóm phân tích thuật toán thông tin.
# Tạo ngẫu nhiên tập dữ liệu np.random.seed(0) dữ liệu = pd.DataFrame(np.random.rand(10, 10), cột=['MỘT', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'tôi', 'J']) # Vẽ bản đồ cụm sns.clustermap(data, cmap='viridis') plt.title('Bản đồ ngẫu nhiên dữ liệu') plt.show()
Biểu tượng Điều này đã tìm thấy sự tương thích giữa các biến trong dữ liệu. thuật toán phân tích, giúp khám phá các mẫu và cấu trúc giữa các biến.
Bản đồ nhiệt phân là bản đồ nhiệt dựa trên thuật toán phân cụm theo cấp bậc, phân cụm dữ liệu và sắp xếp sắp xếp lại kết quả phân cụm để hiển thị cấu trúc tốt hơn và mối quan hệ tương quan của dữ liệu.
# Tạo dữ liệu ngẫu nhiên np.random.seed(0) dữ liệu = np.random.rand(10, 10) # Vẽ bản đồ nhiệt sns.clustermap(data, cmap='mát mẻ') plt.title('Tự nhiên phân loại dữ liệu ngẫu nhiên') plt.show()
Thông qua biểu tượng sơ đồ này, chúng tôi có thể xác định mối quan hệ giữa cụm dữ liệu và sự tương thích giữa các dữ liệu điểm khác nhau.
Biểu đồ phân loại phân loại là biểu đồ hiển thị mối quan hệ giữa nhiều biến thể một lần và thường được sử dụng dùng để khám phá mối tương quan giữa các biến khác nhau trong dữ liệu.
#Tải iris mẫu dữ liệu = sns.load_dataset('ống kính') # Vẽ một biểu đồ phân tán đã được phân loại sns.pairplot(iris, Hue='cùng loại', đánh dấu=['ồ', 'S', 'D']) plt.title('Iris Data Iris') plt.show()
Trong ví dụ này, chúng tôi sử dụng bộ dữ liệu mống mắt đi kèm với Seaborn và sử dụng hàm sns.pairplot() để vẽ biểu đồ phân loại phân loại. nhau, cũng như mối tương quan giữa các đặc điểm khác nhau.
Chuỗi biểu tượng thời gian là biểu đồ được sử dụng để hiển thị thời gian chuỗi dữ liệu và thường được sử dụng sử dụng để phân tích xu hướng và tính toán hoàn thành dữ liệu theo thời gian.
# Tạo chuỗi dữ liệu ngày = pd.date_range(bắt đầu='2022-01-01', end='2022-12-31') dữ liệu = np.random.randn(len(dates)) # Tạo DataFrame df = pd.DataFrame({'Ngày': ngày tháng, 'Giá trị': data}) # Vẽ biểu đồ chuỗi thời gian sns.lineplot(x='Ngày',y='Giá trị', data=df) plt.title('Thời gian biểu tượng của dữ liệu ngẫu nhiên') plt.xlabel('Ngày') plt.ylabel('Giá trị') plt.show()
Thông qua Biểu đồ này chúng ta có thể thấy xu hướng và tính toán hoàn thành của số liệu theo thời gian.
Seaborn cung cấp các tính năng bảng màu phong phú có thể giúp người dùng lựa chọn cách phối màu phù hợp trong biểu đồ để làm nổi bật các điểm chính hoặc nâng cao hiệu ứng trực tiếp.
# Sử dụng bảng nâng cao current_palette = sns.color_palette('vỏ', 5) # Vẽ biểu đồ thanh sns.barplot(x=np.arange(5), y=np.random.rand(5), color table=current_palette) plt.title('Sơ đồ nâng cao màu của bảng') plt.show()
Sau đó, chúng tôi sử dụng sử dụng bảng màu này để vẽ biểu đồ minh họa hiệu ứng.
Seaborn cho phép người dùng sử dụng giao diện điều chỉnh tùy chỉnh của biểu đồ bằng cách đặt các loại khác nhau để đáp ứng nhu cầu cá nhân.
# Đặt sns.set_style( tùy chỉnh kiểu)'trắng lưới') # Vẽ biểu đồ phân tán sns.scatterplot(x=np.random.randn(100), y=np.random.randn(100)) plt.title('Phân tích biểu đồ với tùy chỉnh kiểu') plt.show()
Trong ví dụ này, chúng tôi sử dụng hàm sns.set_style() để đặt trắng biểu đồ thành nhóm và vẽ biểu đồ phân tích để có thể thực hiện thao tác của nó.
Seaborn cung cấp nhiều bảng vẽ đồ họa chức năng, có thể hiển thị nhiều ô cùng lúc để so sánh tốt hơn mối quan hệ giữa các tập hợp khác nhau.
# Tải Mẹo về mẫu dữ liệu = sns.load_dataset('lời khuyên') # Tạo đối tượng FacetGrid g = sns.FacetGrid(mẹo, col='thời gian', hàng='người hút thuốc') # Vẽ sơ đồ violin g.map(sns.violinplot, 'tổng_đơn_hóa') plt.show()
FacetGrid bằng cách sử dụng hàm sns.FacetGrid() và vẽ các ô violin trong các ô khác nhau để hiển thị dữ liệu bổ sung giữa các tập hợp khác nhau.
Seaborn cung cấp một số cách để so sánh sự khác biệt giữa các phân phối dữ liệu khác nhau, đưa ra hạn chế như cách sử dụng biểu tượng đồ hoặc ước tính hạt nhân mật khẩu.
#Tải iris mẫu dữ liệu = sns.load_dataset('ống kính') # Vẽ biểu đồ ước tính hạt nhân sns.kdeplot(data=mống mắt,x='đài lá dài', sắc='cùng loại', điền=Đúng) plt.title('So sánh vách ngăn chiều dài của bố cục') plt.show()
Trong ví dụ này, chúng tôi sử dụng hàm sns.kdeplot() để vẽ sơ đồ ước tính mật độ hạt nhân về độ dài vách ngăn giữa các loài trong mắt tập dữ liệu để so sánh bố cục của chúng.
Seaborn có thể dễ dàng hiển thị dữ liệu nhóm công việc, hạn chế sử dụng các phân loại biến để nhóm và trực quan hóa data.
# Load Titanic mẫu dữ liệu = sns.load_dataset('tàu Titanic') # Vẽ một boxplot đã phân loại sns.boxplot(data=titanic,x='lớp học',y='tuổi', sắc='tình huống giáo dục') plt.title('Ô được nhóm theo độ tuổi theo tầng và giới tính') plt.show()
Trong ví dụ này, chúng tôi sử dụng hàm sns.boxplot() để biểu thị tác động của tuổi tác đối với các hạng cabin và giới tính khác nhau trong Titanic data file nhằm so sánh khả năng phân tích của chúng.
Seaborn cung cấp một số cách để khám phá mối quan hệ giữa nhiều biến thể, nghĩ ra cách sử dụng ma trận biểu đồ phân tán hoặc biểu tượng mối quan hệ cặp đôi.
#Tải iris mẫu dữ liệu = sns.load_dataset('ống kính') # Vẽ ma trận biểu đồ phân tán sns.pairplot(data=mống mắt, màu sắc='cùng loại') plt.title('Cặp sơ đồ để khám phá các mối quan hệ đa biến') plt.show()
Trong ví dụ này, chúng tôi sử dụng hàm sns.pairplot() để vẽ biểu đồ mối quan hệ theo cặp giữa các tính năng khác nhau trong tập liệu mống mắt nhắm tới việc khám phá mối quan hệ đa biến giữa chúng.
Đầu tiên, chúng tôi học cách vẽ các biểu đồ thống kê phổ biến, bao gồm các biểu đồ hình hộp, biểu đồ violin, bản đồ nhiệt, vv, qua nơi đó có thể hiển thị bố cục trực tiếp và tương quan của dữ liệu. limit like table color, tùy chỉnh biểu đồ kiểu, vẽ nhiều bảng, vv, có thể giúp giao diện điều chỉnh tùy chỉnh của người dùng Sau đó, chúng tôi giới thiệu một số ứng dụng nâng cao, có giới hạn như so sánh phân tích Phân phối dữ liệu, hiển thị dữ liệu nhóm, khám phá mối quan hệ đa biến, vv Các phương pháp này có thể giúp người dùng hiểu sâu hơn về mối quan hệ và mô hình giữa dữ liệu. kỹ năng cơ bản khi sử dụng Seaborn để trực tiếp hóa dữ liệu và có thể sử dụng các chức năng phong phú và hoạt động giao diện của nó để phân tích và khám phá dữ liệu. công cụ không thể thiếu đối với các nhà khoa học và phân tích dữ liệu.
.
Hãy nhấp vào để theo dõi và tìm hiểu về các công nghệ mới của Huawei Cloud càng sớm càng tốt~.
Nếu bạn muốn biết Continue duyệt các bài viết liên quan hỗ trợ tôi trong blog tương lai của tôi!
Thông tin cơ bản: Gần đây tôi đã làm việc với JPA và rất ấn tượng với sự dễ dàng mà tôi có thể tạo lớp lưu giữ long long for a other base base project. đặc biệt là cột hướng cơ sở dữ liệu. này
If not Apache Solr with Jar. tôi đã nhận được SolarServerException: ClassNotF
giao diện ITurtle { void Fight(); void EatPizza() } giao diện ILeonardo : ITurtle {
Tôi hy vọng rằng một trong các công cụ đối tượng/quan hệ (ORM) công cụ đã có sẵn cho Java sẽ đáp ứng các yêu cầu sau: use JPA hoặc truy vấn SQL gốc để lấy số lượng hàng lớn và trả lời chúng dưới dạng đối tượng được phép thực hiện. các hàng (thực thể) và thực hiện thao tác tại
Có vẻ như không, vì tôi có mã phát triển From for, tôi có thể chuyển đổi A thành B bằng .into(), nhưng điều tương tự không hoạt động động với Vec .into() a Vec. Hoặc là tôi đã làm hỏng điều đó. nên được đăng
Trong C#, nếu A phát triển khai IX và B kế thừa từ A, thì có nhất thiết phải góp theo B phát triển khai IX không? Nếu vậy thì có phải làm LSP không? các sự khác biệt giữa: 1. Giao diện IX Loại A : IX;
Như hiện tại, câu hỏi này không phù hợp với dạng Hỏi & Đáp của chúng tôi. được hỗ trợ bởi các sự kiện, trích dẫn hoặc chuyên môn, nhưng câu hỏi có thể gây ra tranh luận, tranh luận, bỏ phiếu hoặc thảo luận mở rộng.
Triển lãm x0 | Triển lãm x0
Tôi sẽ biểu diễn trò chơi cờ vua dưới dạng cấu trúc C++. độ sâu, chúng tôi có thể thực hiện một số bước chuyển đổi).
Tôi đang phát triển chuỗi thuật toán phù hợp cho người dùng cơ sở dữ liệu. dữ liệu tên người dùng hiện có và tên người dùng mới mà người dùng muốn, sau đó kiểm tra xem tên người dùng đã có not used. lấy từ cơ sở dữ liệu Ví dụ: “Gia
Tôi đang cố gắng phát triển các thuật toán tìm kiếm chiều rộng để tìm khoảng cách ngắn nhất giữa hai đỉnh cao. một đối tượng được chờ đợi để lưu trữ và truy xuất các đối tượng và tôi có một mảng 2D để lưu hai giá trị đã được chọn
Tôi hiện đang phát triển trò chơi Python của mình bằng ika, sử dụng python 2.5 và tôi quyết định sử dụng tính năng tìm kiếm đường A* cho AI. tôi muốn cung cấp 4-
Tôi đang tìm cách triển khai mã nguồn mở của Kademlia cho bảng băm phân tán trong C/C++. Nó phải nhẹ và đa nền tảng (win/linux/mac). Nó phải có khả năng xuất bản thông tin lên DHT và truy xuất nó. Câu trả lời hay nhất OpenDHT là
Tôi đọc được dòng này trong một cuốn sách: - "Khi chúng tôi yêu cầu triển khai C++ chạy một chương trình, nó sẽ thực hiện bằng cách gọi hàm này." Và tôi muốn biết "triển khai C++" nghĩa là gì hoặc cụ thể là gì. giúp đỡ!? Câu trả lời hay nhất "triển khai C++" đề cập đến trình biên dịch cộng với liên kết
Tôi đang cố gắng triển khai vấn đề về chiếc ba lô này bằng cách sử dụng C++ phân nhánh và ràng buộc. Có một phiên bản Java trên trang này: Triển khai nhánh và ràng buộc cho ba lô Tôi đang cố gắng in phiên bản C++ của mình
Có nhiều tình huống mà tôi cần quyền truy cập vào thuật toán băm phù hợp trong C#, từ ghi đè GetHashCode đến thực hiện so sánh/tra cứu nhanh trên dữ liệu. Tôi thấy băm FNV là một thuật toán băm rất đơn giản/tốt/nhanh. Tuy nhiên, tôi chưa bao giờ thấy triển khai C#
Ý tưởng cốt lõi của chiến lược thay thế bộ đệm LRU thư mục không thể áp dụng thuật toán kịch bản triển khai cơ bản tối ưu hóa thuật toán
1. Giới thiệu Trong bài trước chúng tôi đã đề cập đến sự chuyển đổi lẫn nhau của các hệ tọa độ hình chữ nhật trong không gian Khi chuyển đổi tọa độ đo đạc và lập bản đồ, tình huống thường gặp là: chuyển đổi góc nhỏ của hai hệ tọa độ hình chữ nhật. Đây là những gì chúng ta thường sử dụng trong xử lý dữ liệu khảo sát và bản đồ, hệ tọa độ WGS-84, hệ tọa độ 54 Bắc Kinh
Trong quá trình phát triển phần mềm, đôi khi chúng ta cần thường xuyên kiểm tra dữ liệu trong cơ sở dữ liệu và kích hoạt hành động khi tìm thấy dữ liệu mới. Để hiện thực hóa yêu cầu này, chúng tôi tiến hành trình diễn đơn giản trong .Net 7. PeriodicTimer.
Tìm kiếm nhị phân Thuật toán tìm kiếm nhị phân, nói một cách thẳng thắn, là đưa ra một khóa giá trị tồn tại trong mảng theo một mảng có thứ tự, sau đó so sánh nó với giá trị giữa của mảng trước. thực hiện phép so sánh tiếp theo sau đường giữa cho đến khi tìm được. Nếu bằng nhau thì có thể đạt được vị trí của nó.
Tôi là một lập trình viên xuất sắc, rất xuất sắc!