【发布时间】:2021-07-29 01:42:17
【问题描述】:
我正在构建一个网络应用程序来让模型预测 User_input 值(在我的例子中是 9 个不同的特征滑块包含不同的值)并在最后显示结果和预测准确性。 因此,当我尝试预测 User_input 而不是 X_test 时,我得到了这个错误: ValueError:发现样本数量不一致的输入变量:[1, 137]
这是我从用户那里得到的输入:
def dataset_input(dataset_name):
inputs = dict()
user_input1=st.slider("Clump Thickness", 1, 10, step=1)
user_input2=st.slider("Uniformity of Cell Size", 1, 10, step=1)
user_input3=st.slider("Uniformity of Cell Shape", 1, 10, step=1)
user_input4=st.slider("Marginal Adhesion", 1, 10, step=1)
user_input5=st.slider("Single Epithelial Cell Size", 1, 10, step=1)
user_input6=st.slider("Bare Nuclei", 1, 10, step = 1)
user_input7=st.slider("Bland Chromatin", 1, 10, step=1)
user_input8=st.slider("Normal Nucleoli", 1, 10, step=1)
user_input9=st.slider("Mitoses", 1, 10, step = 1)
inputs=[[user_input1, user_input2, user_input3, user_input4, user_input5,
user_input6, user_input7, user_input8, user_input9]]
return inputs
inputs = dataset_input(dataset_name)
然后我拆分数据并训练模型:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state=1234)
clf.fit(X_train, y_train)
之后我想展示用户输入的预测:
y_pred = clf.predict(inputs)
#print(inputs)
from sklearn.metrics import accuracy_score
acc = accuracy_score(y_pred, y_test)
print(acc)
如果我使用 X_test 而不是 (inputs),它可以正常工作,但我想要 User_input。
此外,当我打印(输入)时,我得到一个预测值,这是一件好事,但我无法显示准确度得分。
这是数据集链接: https://archive.ics.uci.edu/ml/datasets/breast+cancer+wisconsin+%28original%29
Here are the variables length after splitting the dataset
非常感谢您的帮助!谢谢。
编辑: 我想我有这个问题,因为我的 y_pred 有 137 个值,而(输入)只有一个值,所以我无法显示准确性。 不幸的是 IDK 如何解决这个问题。
【问题讨论】:
标签: python tensorflow machine-learning scikit-learn web-applications