mirror of
https://github.com/miguel5612/MQSensorsLib.git
synced 2025-03-15 05:17:30 +03:00
Created MQ-303A
This commit is contained in:
parent
30130db55e
commit
fc3ac6a0c3
File diff suppressed because it is too large
Load Diff
2475
Experiments/MQ303A.eps
Normal file
2475
Experiments/MQ303A.eps
Normal file
File diff suppressed because it is too large
Load Diff
BIN
Experiments/MQ303A.png
Normal file
BIN
Experiments/MQ303A.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 122 KiB |
1512
Experiments/MQ303A.svg
Normal file
1512
Experiments/MQ303A.svg
Normal file
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 50 KiB |
@ -60,7 +60,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
@ -98,20 +98,19 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"execution_count": 5,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"x_MQ303A = sheetMQ3.col_values(0)[2:]\n",
|
||||
"MQ5_CH4 = sheetMQ3.col_values(1)[2:]\n",
|
||||
"MQ5_CO = sheetMQ3.col_values(2)[2:]\n",
|
||||
"MQ5_H2 = sheetMQ3.col_values(3)[2:]\n",
|
||||
"MQ5_Alcohol = sheetMQ3.col_values(4)[2:]"
|
||||
"x_MQ303A = sheetMQ303A.col_values(0)[2:]\n",
|
||||
"MQ303A_Iso_butano = sheetMQ303A.col_values(1)[2:]\n",
|
||||
"MQ303A_Hidrogeno = sheetMQ303A.col_values(2)[2:]\n",
|
||||
"MQ303A_Alcohol = sheetMQ303A.col_values(3)[2:]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@ -122,19 +121,18 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"MQ5_CH4 =zero_to_nan(MQ5_CH4)\n",
|
||||
"MQ5_CO =zero_to_nan(MQ5_CO)\n",
|
||||
"MQ5_H2 =zero_to_nan(MQ5_H2)\n",
|
||||
"MQ5_Alcohol =zero_to_nan(MQ5_Alcohol)"
|
||||
"MQ303A_Iso_butano =zero_to_nan(MQ303A_Iso_butano)\n",
|
||||
"MQ303A_Hidrogeno =zero_to_nan(MQ303A_Hidrogeno)\n",
|
||||
"MQ303A_Alcohol =zero_to_nan(MQ303A_Alcohol)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"execution_count": 12,
|
||||
"metadata": {
|
||||
"scrolled": false
|
||||
},
|
||||
@ -148,104 +146,81 @@
|
||||
"from sklearn import datasets\n",
|
||||
"from sklearn import linear_model\n",
|
||||
"\n",
|
||||
"dataCH4 = {'RsRo': x_MQ309, 'CH4': MQ5_CH4}\n",
|
||||
"dataCO = {'RsRo': x_MQ309, 'CO': MQ5_CO}\n",
|
||||
"dataH2 = {'RsRo': x_MQ309, 'H2': MQ5_H2}\n",
|
||||
"dataLPG = {'RsRo': x_MQ309, 'Alcohol': MQ5_Alcohol}\n",
|
||||
"dataIso_Butano = {'RsRo': x_MQ303A, 'Iso_Butano': MQ303A_Iso_butano}\n",
|
||||
"dataHidrogeno = {'RsRo': x_MQ303A, 'Hidrogeno': MQ303A_Hidrogeno}\n",
|
||||
"dataAlcohol = {'RsRo': x_MQ303A, 'Alcohol': MQ303A_Alcohol}\n",
|
||||
"\n",
|
||||
"dfMQ309A_CH4 = pd.DataFrame(dataCH4)\n",
|
||||
"dfMQ309A_CO = pd.DataFrame(dataCO)\n",
|
||||
"dfMQ309A_H2 = pd.DataFrame(dataH2)\n",
|
||||
"dfMQ309A_Alcohol = pd.DataFrame(dataLPG)\n",
|
||||
"dfMQ303A_Iso_Butano = pd.DataFrame(dataIso_Butano)\n",
|
||||
"dfMQ303A_Hidrogeno = pd.DataFrame(dataHidrogeno)\n",
|
||||
"dfMQ303A_Alcohol = pd.DataFrame(dataAlcohol)\n",
|
||||
"\n",
|
||||
"dfMQ309A_CH4['CH4'] = pd.to_numeric(dfMQ309A_CH4['CH4'])\n",
|
||||
"dfMQ309A_CO['CO'] = pd.to_numeric(dfMQ309A_CO['CO'])\n",
|
||||
"dfMQ309A_H2['H2'] = pd.to_numeric(dfMQ309A_H2['H2'])\n",
|
||||
"dfMQ309A_Alcohol['Alcohol'] = pd.to_numeric(dfMQ309A_Alcohol['Alcohol'])\n",
|
||||
"dfMQ303A_Iso_Butano['Iso_Butano'] = pd.to_numeric(dfMQ303A_Iso_Butano['Iso_Butano'])\n",
|
||||
"dfMQ303A_Hidrogeno['Hidrogeno'] = pd.to_numeric(dfMQ303A_Hidrogeno['Hidrogeno'])\n",
|
||||
"dfMQ303A_Alcohol['Alchol'] = pd.to_numeric(dfMQ303A_Alcohol['Alcohol'])\n",
|
||||
"\n",
|
||||
"dfMQ309A_CH4['CH4'] = dfMQ309A_CH4['CH4'].replace('',None, regex=True)\n",
|
||||
"dfMQ309A_CO['CO'] = dfMQ309A_CO['CO'].replace('',None, regex=True)\n",
|
||||
"dfMQ309A_H2['H2'] = dfMQ309A_H2['H2'].replace('',None, regex=True)\n",
|
||||
"dfMQ309A_Alcohol['Alcohol'] = dfMQ309A_Alcohol['Alcohol'].replace('',None, regex=True)\n",
|
||||
"dfMQ303A_Iso_Butano['Iso_Butano'] = dfMQ303A_Iso_Butano['Iso_Butano'].replace('',None, regex=True)\n",
|
||||
"dfMQ303A_Hidrogeno['Hidrogeno'] = dfMQ303A_Hidrogeno['Hidrogeno'].replace('',None, regex=True)\n",
|
||||
"dfMQ303A_Alcohol['Alchol'] = dfMQ303A_Alcohol['Alchol'].replace('',None, regex=True)\n",
|
||||
"\n",
|
||||
"#Global X_Predict variable\n",
|
||||
"X_Predict = dfMQ309A_CH4.RsRo.apply(lambda x: [x]).tolist()"
|
||||
"X_Predict = dfMQ303A_Iso_Butano.RsRo.apply(lambda x: [x]).tolist()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"execution_count": 14,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#Model and train CH4\n",
|
||||
"dataset2TrainCH4 = dfMQ309A_CH4.copy()\n",
|
||||
"dataset2TrainCH4.dropna(inplace=True)\n",
|
||||
"X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n",
|
||||
"y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n",
|
||||
"#Model and train Iso-Butano\n",
|
||||
"dataset2TrainIso_Butano = dfMQ303A_Iso_Butano.copy()\n",
|
||||
"dataset2TrainIso_Butano.dropna(inplace=True)\n",
|
||||
"X_trainIso_Butano = dataset2TrainIso_Butano.RsRo.apply(lambda x: [x]).tolist()\n",
|
||||
"y_trainIso_Butano = dataset2TrainIso_Butano['Iso_Butano'].tolist()\n",
|
||||
"model = linear_model.Lasso(alpha=0.1)\n",
|
||||
"model.fit(X_trainCH4, y_trainCH4)\n",
|
||||
"model.fit(X_trainIso_Butano, y_trainIso_Butano)\n",
|
||||
"#Predict\n",
|
||||
"CH4_Predicted = model.predict(X_Predict)\n",
|
||||
"Iso_Butano_Predicted = model.predict(X_Predict)\n",
|
||||
"#save into MQ2\n",
|
||||
"MQ309A_CH4 = CH4_Predicted"
|
||||
"MQ303A_Iso_Butano = Iso_Butano_Predicted"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"execution_count": 16,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#Model and train CO\n",
|
||||
"dataset2TrainCO = dfMQ309A_CO.copy()\n",
|
||||
"dataset2TrainCO.dropna(inplace=True)\n",
|
||||
"X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n",
|
||||
"y_trainCO = dataset2TrainCO['CO'].tolist()\n",
|
||||
"#Model and train Hidrogeno\n",
|
||||
"dataset2TrainHidrogeno = dfMQ303A_Hidrogeno.copy()\n",
|
||||
"dataset2TrainHidrogeno.dropna(inplace=True)\n",
|
||||
"X_trainHidrogeno = dataset2TrainHidrogeno.RsRo.apply(lambda x: [x]).tolist()\n",
|
||||
"y_trainHidrogeno = dataset2TrainHidrogeno['Hidrogeno'].tolist()\n",
|
||||
"model = linear_model.Lasso(alpha=0.1)\n",
|
||||
"model.fit(X_trainCO, y_trainCO)\n",
|
||||
"model.fit(X_trainHidrogeno, y_trainHidrogeno)\n",
|
||||
"#Predict\n",
|
||||
"CO_Predicted = model.predict(X_Predict)\n",
|
||||
"Hidrogeno_Predicted = model.predict(X_Predict)\n",
|
||||
"#save into MQ2\n",
|
||||
"MQ309A_CO = CO_Predicted"
|
||||
"MQ303A_Hidrogeno = Hidrogeno_Predicted"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"execution_count": 19,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#Model and train H2\n",
|
||||
"dataset2TrainH2 = dfMQ309A_H2.copy()\n",
|
||||
"dataset2TrainH2.dropna(inplace=True)\n",
|
||||
"X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n",
|
||||
"y_trainH2 = dataset2TrainH2['H2'].tolist()\n",
|
||||
"#Model and train Alchol\n",
|
||||
"dataset2TrainAlchol = dfMQ303A_Alcohol.copy()\n",
|
||||
"dataset2TrainAlchol.dropna(inplace=True)\n",
|
||||
"X_trainAlchol = dataset2TrainAlchol.RsRo.apply(lambda x: [x]).tolist()\n",
|
||||
"y_trainAlchol = dataset2TrainAlchol['Alchol'].tolist()\n",
|
||||
"model = linear_model.Lasso(alpha=0.1)\n",
|
||||
"model.fit(X_trainH2, y_trainH2)\n",
|
||||
"model.fit(X_trainAlchol, y_trainAlchol)\n",
|
||||
"#Predict\n",
|
||||
"H2_Predicted = model.predict(X_Predict)\n",
|
||||
"Alchol_Predicted = model.predict(X_Predict)\n",
|
||||
"#save into MQ2\n",
|
||||
"MQ309A_H2 = H2_Predicted\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 10,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"#Model and train Alcohol\n",
|
||||
"dataset2TrainAlcohol = dfMQ309A_Alcohol.copy()\n",
|
||||
"dataset2TrainAlcohol.dropna(inplace=True)\n",
|
||||
"X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n",
|
||||
"y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n",
|
||||
"model = linear_model.Lasso(alpha=0.1)\n",
|
||||
"model.fit(X_trainAlcohol, y_trainAlcohol)\n",
|
||||
"#Predict\n",
|
||||
"Alcohol_Predicted = model.predict(X_Predict)\n",
|
||||
"#save into MQ2\n",
|
||||
"MQ309A_Alcohol = Alcohol_Predicted"
|
||||
"MQ303A_Alchol = Alchol_Predicted\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -2016,10 +1991,9 @@
|
||||
"fig.set_dpi(200)\n",
|
||||
"\n",
|
||||
"# only these two lines are calibration curves\n",
|
||||
"plt.plot(MQ309A_CH4, x_MQ309A, marker='o', linewidth=1, label='CH4')\n",
|
||||
"plt.plot(MQ309A_CO, x_MQ309A, marker='o', linewidth=1, label='CO')\n",
|
||||
"plt.plot(MQ309A_H2, x_MQ309A, marker='o', linewidth=1, label='H2')\n",
|
||||
"plt.plot(MQ309A_Alcohol, x_MQ309A, marker='o', linewidth=1, label='Alcohol')\n",
|
||||
"plt.plot(MQ303A_Iso_Butano, x_MQ303A, marker='o', linewidth=1, label='Iso-Butano')\n",
|
||||
"plt.plot(MQ303A_CO, x_MQ303A, marker='o', linewidth=1, label='CO')\n",
|
||||
"plt.plot(MQ303A_Alcohol, x_MQ303A, marker='o', linewidth=1, label='Alcohol')\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
@ -2034,15 +2008,15 @@
|
||||
"\n",
|
||||
"plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n",
|
||||
"\n",
|
||||
"fig.suptitle('Calibration plot for MQ-309A data')\n",
|
||||
"fig.suptitle('Calibration plot for MQ-303A data')\n",
|
||||
"ax.set_xlabel('PPM Concentration')\n",
|
||||
"ax.set_ylabel('Rs/Ro')\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"#Save image\n",
|
||||
"plt.savefig('MQ309A.svg', format = 'svg', dpi = 1200)\n",
|
||||
"plt.savefig('MQ309A.png')\n",
|
||||
"plt.savefig('MQ309A.eps', format = 'eps', dpi = 1200)"
|
||||
"plt.savefig('MQ303A.svg', format = 'svg', dpi = 1200)\n",
|
||||
"plt.savefig('MQ303A.png')\n",
|
||||
"plt.savefig('MQ303A.eps', format = 'eps', dpi = 1200)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user