Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法将字符串转换为浮点:';咖啡厅';_Python_Django_Linear Regression_Prediction - Fatal编程技术网

Python 无法将字符串转换为浮点:';咖啡厅';

Python 无法将字符串转换为浮点:';咖啡厅';,python,django,linear-regression,prediction,Python,Django,Linear Regression,Prediction,我开始使用django开发一个web应用程序,这个应用程序预测销售,因为我使用线性回归,我有一些变量字符串,为了训练模型,我使用handle_non_numeric_data()方法将所有字符串变量转换为int。应用程序的用户将字符串字段作为字符串输入 方法 def句柄非数字数据(df): columns=df.columns.values 对于列中的列: text_digit_vals={} def将_转换为_int(val): 返回文本\数字\ val[val] 如果df[column].d

我开始使用django开发一个web应用程序,这个应用程序预测销售,因为我使用线性回归,我有一些变量字符串,为了训练模型,我使用handle_non_numeric_data()方法将所有字符串变量转换为int。应用程序的用户将字符串字段作为字符串输入

方法

def句柄非数字数据(df):
columns=df.columns.values
对于列中的列:
text_digit_vals={}
def将_转换为_int(val):
返回文本\数字\ val[val]
如果df[column].dtype!=np.int64和df[column].dtype!=np.64:
column\u contents=df[column].values.tolist()
唯一元素=集合(列内容)
x=0
对于唯一元素中的唯一元素:
如果文本\数字\ VAL中不唯一:
文本\数字\数值[唯一]=x
x=x+1
df[column]=列表(映射(转换为int,df[column]))
返回df
我的模型

#库
将numpy作为np导入
作为pd进口熊猫
进口泡菜
从matplotlib导入pyplot作为plt
从SKM学习导入度量
从sklearn导入模型_选择
#从sk学习导入预处理
从sklearn.cluster导入KMeans
从sklearn.linear\u模型导入线性回归
从sklearn.linear_模型导入逻辑回归
从sklearn.model\u选择导入列车\u测试\u拆分
#从sklearn.linear_模型导入脊线
从sklearn.externals导入作业库
#导入数据集
data=pd.read\u csv('ml\u code/ml\u process/test.csv')
data.fillna(0,inplace=True)
def句柄非数字数据(df):
columns=df.columns.values
对于列中的列:
text_digit_vals={}
def将_转换为_int(val):
返回文本\数字\ val[val]
如果df[column].dtype!=np.int64和df[column].dtype!=np.64:
column\u contents=df[column].values.tolist()
唯一元素=集合(列内容)
x=0
对于唯一元素中的唯一元素:
如果文本\数字\ VAL中不唯一:
文本\数字\数值[唯一]=x
x=x+1
df[column]=列表(映射(转换为int,df[column]))
返回df
数据=处理非数值数据(数据)
data=data.as_矩阵()
#解释变量矩阵
X=数据[:,0:9]
#你的生活是怎样的
y=数据[:,9]
X2\u系列,X2\u测试,y2\u系列,y2\u测试=系列测试\u分割(X,y,测试\u大小=0.3,随机\u状态=0)
lreg=线性回归()
lreg.装配(X2\U系列、y2\U系列)
打印(“训练集上线性回归的精度:{.2f}”。格式(lreg.分数(X2\u序列,y2\u序列)))
打印(“测试集上线性回归的精度:{.2f}”。格式(lreg.分数(X2_测试,y2_测试)))
#保存Logistic回归模型
线性回归模型=pickle.dumps(lreg)
#将模型保存到文件
#将open('ml_code/linear_regression_model.pkl','wb')作为f:
dump(线性回归模型,“ml代码/线性回归模型.pkl”)
为了预测

导入pickle
从sklearn.externals导入作业库
线性回归模型=joblib.load('ml\u代码/线性回归模型.pkl')
lreg=酸洗负荷(线性回归模型)
def get_预测(magasin,数字文章,名称文章,moyen_de_ventes_par_jour,vente_2013,
2014年、2015年、2016年、2017年
):
预测销售额=预测值([[magasin,数字文章,名称文章,月收入,
2013年、2014年、2015年、2016年、2017年
]])
销售回报率
但是我得到了这个错误

    ValueError at /
        could not convert string to float: 'tea'
        Request Method: POST
        Request URL:    http://127.0.0.1:8000/
        Django Version: 2.2
        Exception Type: ValueError
        Exception Value:    
        could not convert string to float: 'tea'
        Exception Location: C:\Users\hp\AppData\Local\Programs\Python\Python36\dj\f\lib\site-packages\sklearn\utils\validation.py in check_array, line 448
        Python Executable:  C:\Users\hp\AppData\Local\Programs\Python\Python36\dj\f\Scripts\python.exe
        Python Version: 3.6.5
        Python Path:    
        ['C:\\Users\\hp\\AppData\\Local\\Programs\\Python\\Python36\\dj\\appweb pred',
         'C:\\Users\\hp\\AppData\\Local\\Programs\\Python\\Python36\\dj\\f\\Scripts\\python36.zip',
         'C:\\Users\\hp\\AppData\\Local\\Programs\\Python\\Python36\\dj\\f\\DLLs',
         'C:\\Users\\hp\\AppData\\Local\\Programs\\Python\\Python36\\dj\\f\\lib',
         'C:\\Users\\hp\\AppData\\Local\\Programs\\Python\\Python36\\dj\\f\\Scripts',
         'c:\\users\\hp\\appdata\\local\\programs\\python\\python36\\Lib',
         'c:\\users\\hp\\appdata\\local\\programs\\python\\python36\\DLLs',
         'C:\\Users\\hp\\AppData\\Local\\Programs\\Python\\Python36\\dj\\f',
         'C:\\Users\\hp\\AppData\\Local\\Programs\\Python\\Python36\\dj\\f\\lib\\site-packages']
        Server time:    Sat, 27 Apr 2019 03:32:44 +0000

由于我转换了模型的所有变量,

请注意不要将用户输入直接放入django应用程序中的python代码中,例如,“print('A');print('B')”是有效的python代码,因为分号“;”。此外,一些国家将pi值的小数点写为“3.14”,一些国家将逗号写为“3,14”。我在zunzun.com上有一个使用Django的开源Python曲线拟合web应用程序,其中的源代码可能有一些您可以使用的Python代码。请注意不要将用户输入直接放入Django应用程序中的Python代码中,例如“print('A');print('B')”是有效的Python代码,因为分号“;”。此外,一些国家将pi值的小数点写为“3.14”,一些国家将逗号写为“3,14”。我在zunzun.com上有一个使用Django的开放源码Python曲线拟合web应用程序,其中的源代码可能有一些您可以使用的Python代码。