cuốn sách gpt4 ai đã làm

python - Cách nhanh hơn, Pythonic hơn để đọc CSV và tạo khung dữ liệu từ nó là gì?

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 08:30:14 27 4
mua khóa gpt4 Nike

输入:Một CSV chứa 50.000 hàng; mỗi hàng chứa 910 cột giá trị 0/1.
输出:Một khung dữ liệu để chạy CNN của tôi.

Tôi đã viết mã đọc từng dòng CSV. Đối với mỗi hàng, tôi chia dữ liệu thành hai phần gọi làtế bào thần kinh(900 cột) vàNhãn(10 cột). Vì đây là danh sách nên tôi đã chuyển đổi chúng thành mảng Numpy. Khi chuyển sang hàng tiếp theo, tôi làm tương tự và xếp chồng các mảng để có 4 tập dữ liệu thông thường:
x_train, x_test, y_train, y_test

Mã của tôi hoạt động tốt vì tôi đã thử nghiệm nó trên một CSV nhỏ chỉ có 6 hàng. Nhưng khi tôi chạy nó trên tập dữ liệu thực gồm 50.000 hàng, phải mất nhiều thời gian để chuyển đổi các hàng thành khung dữ liệu sau khi mảng được khởi tạo.

Vì vậy, tôi tự hỏi liệu có cách nào nhanh hơn để thực hiện chuyển đổi này hay tôi chỉ có thể đợi ở đây!

Đây là mã của tôi:

nhập numpy dưới dạng np
nhập gấu trúc dưới dạng pd
import time
từ keras.datasets nhập mnist
từ keras.models nhập tuần tự
từ keras.layers nhập dày đặc
từ keras.layers nhập Dropout
từ keras.utils nhập np_utils
từ sklearn.model_selection nhập train_test_split

# Đọc tập dữ liệu từ tệp CSV vào khung dữ liệu
df = pd.read_csv("bci_dataset_labelled.csv")

start_init = time.time()

xvalues ​​​​= np.zeros((900,), dtype=np.int)
yvalues ​​​​= np.zeros((10,), dtype=np.int)

print("--- Mảng được khởi tạo sau %s giây ---" % (time.time() - start_init))

start_conversion = time.time()

cho hàng trong df.itertuples(index=False):
# tách các nơ-ron khỏi nhãn
x = danh sách(hàng[:900])
y = danh sách(hàng[900:])

# chuyển đổi danh sách thành mảng có nhiều mảng
x = np.array(x)
y = np.array(y)

xvalues ​​​​= np.vstack((xvalues, x))
yvalues ​​​​= np.vstack((yvalues, y))

print("--- Hàng CSV được chuyển đổi thành khung dữ liệu sau %s giây ---" % (time.time() - start_conversion))

start_split = time.time()

x_train, x_test, y_train, y_test = train_test_split(xvalues, yvalues, test_size=0.2)

print("--- Dataframe chia thành các tập dữ liệu huấn luyện và kiểm tra trong %s giây ---" % (time.time() - start_split))

num_classes = y_test.shape[1]
num_neurons = x_train[0].shape[0]

# xác định mô hình cơ sở
def đường cơ sở_model():
#tạo mô hình
mô hình = Tuần tự()
model.add(Dày đặc(
số_tế bào thần kinh,
đầu vào_dim = num_neuron,
kernel_initializer = 'bình thường',
kích hoạt = 'relu'
))
model.add(Dày đặc(
num_class,
kernel_initializer = 'bình thường',
kích hoạt = 'softmax'
))
#biên dịch mô hình
model.compile(
mất mát = 'categorical_crossentropy',
trình tối ưu hóa = 'adam',
số liệu = ['độ chính xác'])
mô hình trả lại

#xây dựng mô hình
mô hình = đường cơ sở_model()

#phù hợp với mô hình
model.fit(x_train, y_train, validation_data = (x_test, y_test),
kỷ nguyên = 10, batch_size = 200, dài dòng = 2)

# đánh giá cuối cùng của mô hình
điểm = model.evaluate(x_test, y_test, chi tiết=0)
print("Lỗi cơ bản: %0.2f%%" % (100 điểm[1]*100))

Nó chỉ bị kẹt ở đây:

Rachayitas-MacBook-Pro:bci_hp rachayitagiri$ python3 nhị phâncnn.py 
Sử dụng chương trình phụ trợ TensorFlow.
--- Mảng được khởi tạo sau 2,4080276489257812e-05 giây ---

Mọi lời khuyên sẽ được đánh giá rất cao Cảm ơn bạn!

EDIT: Tạo đầu ra dưới dạng văn bản cho bảng điều khiển chứ không phải hình ảnh. Cảm ơn lời khuyên của bạn.

câu trả lời hay nhất

bạn có thể không thể đánh bạiread_csv , hoạt động ngay lập tức và có thể được thử nghiệm tốt hơn bất kỳ giải pháp nào khác hiện có.

Về python - Cách nhanh hơn, Pythonic hơn để đọc CSV và tạo khung dữ liệu từ nó là gì? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/53472104/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress