Tôi đang cố gắng tải dữ liệu đào tạo và kiểm tra từ một csv, chạy bộ hồi quy rừng ngẫu nhiên trong scikit/sklearn, và sau đó dự đoán đầu ra từ tệp thử nghiệm.Python Scikit Random Forest Regressor Lỗi
Tệp TrainLoanData.csv chứa 5 cột; cột đầu tiên là đầu ra và 4 cột tiếp theo là các tính năng. TestLoanData.csv chứa 4 cột - các tính năng.
Khi tôi chạy mã, tôi nhận được lỗi:
predicted_probs = ["%f" % x[1] for x in predicted_probs]
IndexError: invalid index to scalar variable.
này có nghĩa là gì?
Đây là mã của tôi:
import numpy, scipy, sklearn, csv_io //csv_io from https://raw.github.com/benhamner/BioResponse/master/Benchmarks/csv_io.py
from sklearn import datasets
from sklearn.ensemble import RandomForestRegressor
def main():
#read in the training file
train = csv_io.read_data("TrainLoanData.csv")
#set the training responses
target = [x[0] for x in train]
#set the training features
train = [x[1:] for x in train]
#read in the test file
realtest = csv_io.read_data("TestLoanData.csv")
# random forest code
rf = RandomForestRegressor(n_estimators=10, min_samples_split=2, n_jobs=-1)
# fit the training data
print('fitting the model')
rf.fit(train, target)
# run model against test data
predicted_probs = rf.predict(realtest)
print predicted_probs
predicted_probs = ["%f" % x[1] for x in predicted_probs]
csv_io.write_delimited_file("random_forest_solution.csv", predicted_probs)
main()
Thực ra, kết quả từ 'dự đoán' là một mảng nổi. Một 'RandomForestRegressor' là một mô hình hồi quy, không phải là một trình phân loại. –
Chắc chắn, bạn nói đúng. –