import numpy as np import pandas as pd import matplotlib.pyplot as plt df=pd.read_csv('C:\\Users\ASUS\Desktop\AI\实训\汽车销量数据new.csv',sep=',',header=0) plt.rcParams['font.sans-serif'] = ['SimHei'] plt.figure(figsize=(10,4)) ax1=plt.subplot(121) ax1.scatter(df['price'],df['quantity'],c='b') df=(df-df.min())/(df.max()-df.min()) df.to_csv('quantity.txt',sep='\t',index=False) train_data=df.sample(frac=0.8,replace=False) test_data=df.drop(train_data.index) x_train=train_data['price'].values.reshape(-1, 1) y_train=train_data['quantity'].values x_test=test_data['price'].values.reshape(-1, 1) y_test=test_data['quantity'].values from sklearn.linear_model import LinearRegression import joblib #model=SGDRegressor(max_iter=500,learning_rate='constant',eta0=0.01) model = LinearRegression() #训练模型 model.fit(x_train,y_train) #输出训练结果 pre_score=model.score(x_train,y_train) print('训练集准确性得分=',pre_score) print('coef=',model.coef_,'intercept=',model.intercept_) #保存训练后的模型 joblib.dump(model,'LinearRegression.model') ax2=plt.subplot(122) ax2.scatter(x_train,y_train,label='测试集') ax2.plot(x_train,model.predict(x_train),color='blue') ax2.set_xlabel('工龄') ax2.set_ylabel('工资') plt.legend(loc='upper left') model=joblib.load('LinearRegression.model') y_pred=model.predict(x_test)#得到预测值 print('测试集准确性得分=%.5f'%model.score(x_test,y_test)) #计算测试集的损失(用均方差) MSE=np.mean((y_test - y_pred)**2) print('损失MSE={:.5f}'.format(MSE)) plt.rcParams['font.sans-serif'] = ['SimHei'] plt.figure(figsize=(10,4)) ax1=plt.subplot(121) plt.scatter(x_test,y_test,label='测试集') plt.plot(x_test,y_pred,'r',label='预测回归线') ax1.set_xlabel('工龄') ax1.set_ylabel('工资') plt.legend(loc='upper left') ax2=plt.subplot(122) x=range(0,len(y_test)) plt.plot(x,y_test,'g',label='真实值') plt.plot(x,y_pred,'r',label='预测值') ax2.set_xlabel('样本序号') ax2.set_ylabel('工资') plt.legend(loc='upper right') plt.show()怎么预测价格为15万时的销量
时间: 2023-08-10 11:03:47 浏览: 137
要预测价格为15万时的销量,可以使用训练好的线性回归模型进行预测。首先需要将15万的价格转换为模型可接受的输入格式,即将其转换为一个形状为(1,1)的二维数组:
```python
price = np.array([[15]])
```
然后使用训练好的模型进行预测:
```python
quantity = model.predict(price)
print('价格为15万时的销量预测值为:', quantity)
```
该代码将输出一个预测值,即价格为15万时的销量预测值。
相关问题
# Imports import pandas as pd import numpy as np import statsmodels.formula.api as smf import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline import statsmodels.api as sm from statsmodels.formula.api import ols data = pd.read_csv('Advertising.csv') data.head()报错SyntaxError: invalid syntax
这个错误通常表示代码中有语法错误,导致Python解释器无法正确理解你的代码。可能是你在代码中使用了不支持的字符或不正确的语法。
根据你提供的信息,我看不出具体出了什么问题。但是,我注意到你的代码中有一行注释,这可能导致语法错误。Python中的注释应该以 # 开头,而不是以 // 开头(像在一些其他编程语言中一样)。
这是一个可能的修复方法:
```python
# Imports
import pandas as pd
import numpy as np
import statsmodels.formula.api as smf
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
import statsmodels.api as sm
from statsmodels.formula.api import ols
data = pd.read_csv('Advertising.csv')
data.head()
```
如果这个修复方法不能解决你的问题,请提供更多的信息,比如完整的错误信息和代码。
from sklearn.decomposition import PCA import numpy as np import matplotlib.pyplot as plt df = pd.get_dummies(df) X = np.array(df) # print(X) pca=PCA(n_components=15)#n_components 选择降维数量 pca.fit(X) # print(pca.transform(X)) X = pca.transform(X) x = np.array(X)[:, 0] y = np.array(X)[:, 1] plt.scatter(x, y, c = y) plt.show()
这是一个使用Python中的sklearn库进行PCA降维并绘制散点图的代码。PCA是一种常用的数据降维方法,它可以将高维数据降至较低维度,同时尽可能地保留原始数据的特征。代码中,首先使用pandas库中的get_dummies函数将数据进行独热编码,然后将其转化为numpy数组。接着,使用sklearn库中的PCA函数进行降维,设置n_components参数为15,表示最终降至15维。最后,将降维后的数据绘制成散点图,其中x、y分别表示第一、第二维的数据,c表示颜色,使用y值来表示。
阅读全文