-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLogisticRegression.py
245 lines (237 loc) · 14.6 KB
/
LogisticRegression.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_LR(object):
def setupUi(self, LR):
LR.setObjectName("LR")
LR.setFixedSize(427, 225)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/images/1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
LR.setWindowIcon(icon)
LR.setStyleSheet("border-image: url(:/images/BackGround.jpg);")
self.gridLayout = QtWidgets.QGridLayout(LR)
self.gridLayout.setObjectName("gridLayout")
self.penalty = QtWidgets.QLabel(LR)
self.penalty.setStyleSheet("border-image: url(:/images/1WhiteTransparent.png);")
self.penalty.setScaledContents(True)
self.penalty.setAlignment(QtCore.Qt.AlignCenter)
self.penalty.setObjectName("penalty")
self.gridLayout.addWidget(self.penalty, 0, 3, 1, 1)
self.solver = QtWidgets.QLabel(LR)
self.solver.setStyleSheet("border-image: url(:/images/1WhiteTransparent.png);")
self.solver.setAlignment(QtCore.Qt.AlignCenter)
self.solver.setObjectName("solver")
self.gridLayout.addWidget(self.solver, 0, 5, 1, 2)
self.multi_class = QtWidgets.QLabel(LR)
self.multi_class.setStyleSheet("border-image: url(:/images/1WhiteTransparent.png);")
self.multi_class.setAlignment(QtCore.Qt.AlignCenter)
self.multi_class.setObjectName("multi_class")
self.gridLayout.addWidget(self.multi_class, 0, 8, 1, 2)
spacerItem = QtWidgets.QSpacerItem(19, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem, 1, 0, 1, 2)
self.penaltylist = QtWidgets.QComboBox(LR)
font = QtGui.QFont()
font.setPointSize(10)
self.penaltylist.setFont(font)
self.penaltylist.setStyleSheet("border-image: url(:/images/1WhiteBackground.jpg);")
self.penaltylist.setObjectName("penaltylist")
self.penaltylist.addItem("")
self.penaltylist.addItem("")
self.penaltylist.addItem("")
self.penaltylist.addItem("")
self.gridLayout.addWidget(self.penaltylist, 1, 2, 1, 3)
self.solverlist = QtWidgets.QComboBox(LR)
font = QtGui.QFont()
font.setPointSize(10)
self.solverlist.setFont(font)
self.solverlist.setStyleSheet("border-image: url(:/images/1WhiteBackground.jpg);")
self.solverlist.setObjectName("solverlist")
self.solverlist.addItem("")
self.solverlist.addItem("")
self.solverlist.addItem("")
self.solverlist.addItem("")
self.solverlist.addItem("")
self.gridLayout.addWidget(self.solverlist, 1, 5, 1, 3)
self.multiclasslist = QtWidgets.QComboBox(LR)
font = QtGui.QFont()
font.setPointSize(10)
self.multiclasslist.setFont(font)
self.multiclasslist.setStyleSheet("border-image: url(:/images/1WhiteBackground.jpg);")
self.multiclasslist.setObjectName("multiclasslist")
self.multiclasslist.addItem("")
self.multiclasslist.addItem("")
self.multiclasslist.addItem("")
self.gridLayout.addWidget(self.multiclasslist, 1, 8, 1, 2)
spacerItem1 = QtWidgets.QSpacerItem(26, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem1, 1, 10, 1, 1)
spacerItem2 = QtWidgets.QSpacerItem(20, 18, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem2, 2, 6, 1, 1)
spacerItem3 = QtWidgets.QSpacerItem(19, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem3, 3, 0, 1, 1)
self.dual = QtWidgets.QLabel(LR)
self.dual.setStyleSheet("border-image: url(:/images/1WhiteTransparent.png);")
self.dual.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.dual.setObjectName("dual")
self.gridLayout.addWidget(self.dual, 3, 1, 1, 2)
self.dualcheckBox = QtWidgets.QCheckBox(LR)
self.dualcheckBox.setStyleSheet("border-image: url(:/images/1WhiteTransparent.png);")
self.dualcheckBox.setText("")
self.dualcheckBox.setTristate(False)
self.dualcheckBox.setObjectName("dualcheckBox")
self.gridLayout.addWidget(self.dualcheckBox, 3, 4, 1, 1)
spacerItem4 = QtWidgets.QSpacerItem(30, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem4, 3, 6, 1, 1)
self.C = QtWidgets.QLabel(LR)
self.C.setStyleSheet("border-image: url(:/images/1WhiteTransparent.png);")
self.C.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.C.setObjectName("C")
self.gridLayout.addWidget(self.C, 3, 7, 1, 1)
self.CdoubleSpinBox = QtWidgets.QDoubleSpinBox(LR)
font = QtGui.QFont()
font.setPointSize(10)
self.CdoubleSpinBox.setFont(font)
self.CdoubleSpinBox.setStyleSheet("border-image: url(:/images/1WhiteBackground.jpg);")
self.CdoubleSpinBox.setMaximum(1000.0)
self.CdoubleSpinBox.setProperty("value", 1.0)
self.CdoubleSpinBox.setObjectName("CdoubleSpinBox")
self.gridLayout.addWidget(self.CdoubleSpinBox, 3, 9, 1, 1)
spacerItem5 = QtWidgets.QSpacerItem(19, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem5, 3, 10, 1, 1)
spacerItem6 = QtWidgets.QSpacerItem(19, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem6, 4, 0, 1, 1)
self.warmstart = QtWidgets.QLabel(LR)
self.warmstart.setStyleSheet("border-image: url(:/images/1WhiteTransparent.png);")
self.warmstart.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.warmstart.setObjectName("warmstart")
self.gridLayout.addWidget(self.warmstart, 4, 1, 1, 3)
self.warmstartcheckBox = QtWidgets.QCheckBox(LR)
self.warmstartcheckBox.setStyleSheet("border-image: url(:/images/1WhiteTransparent.png);")
self.warmstartcheckBox.setText("")
self.warmstartcheckBox.setObjectName("warmstartcheckBox")
self.gridLayout.addWidget(self.warmstartcheckBox, 4, 4, 1, 1)
spacerItem7 = QtWidgets.QSpacerItem(30, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem7, 4, 6, 1, 1)
self.max_iter = QtWidgets.QLabel(LR)
self.max_iter.setStyleSheet("border-image: url(:/images/1WhiteTransparent.png);")
self.max_iter.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.max_iter.setObjectName("max_iter")
self.gridLayout.addWidget(self.max_iter, 4, 7, 1, 2)
self.max_tierspinBox = QtWidgets.QSpinBox(LR)
font = QtGui.QFont()
font.setPointSize(10)
self.max_tierspinBox.setFont(font)
self.max_tierspinBox.setStyleSheet("border-image: url(:/images/1WhiteBackground.jpg);")
self.max_tierspinBox.setMinimum(0)
self.max_tierspinBox.setMaximum(1000)
self.max_tierspinBox.setProperty("value", 100)
self.max_tierspinBox.setObjectName("max_tierspinBox")
self.gridLayout.addWidget(self.max_tierspinBox, 4, 9, 1, 1)
spacerItem8 = QtWidgets.QSpacerItem(19, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem8, 4, 10, 1, 1)
spacerItem9 = QtWidgets.QSpacerItem(19, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem9, 5, 0, 1, 1)
self.fitintercept = QtWidgets.QLabel(LR)
self.fitintercept.setStyleSheet("border-image: url(:/images/1WhiteTransparent.png);")
self.fitintercept.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.fitintercept.setObjectName("fitintercept")
self.gridLayout.addWidget(self.fitintercept, 5, 1, 1, 3)
self.fitinterceptcheckBox = QtWidgets.QCheckBox(LR)
self.fitinterceptcheckBox.setStyleSheet("border-image: url(:/images/1WhiteTransparent.png);")
self.fitinterceptcheckBox.setText("")
self.fitinterceptcheckBox.setChecked(True)
self.fitinterceptcheckBox.setObjectName("fitinterceptcheckBox")
self.gridLayout.addWidget(self.fitinterceptcheckBox, 5, 4, 1, 1)
spacerItem10 = QtWidgets.QSpacerItem(30, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem10, 5, 6, 1, 1)
self.n_jobs = QtWidgets.QLabel(LR)
self.n_jobs.setStyleSheet("border-image: url(:/images/1WhiteTransparent.png);")
self.n_jobs.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.n_jobs.setObjectName("n_jobs")
self.gridLayout.addWidget(self.n_jobs, 5, 7, 1, 2)
self.n_jobsspinBox = QtWidgets.QSpinBox(LR)
font = QtGui.QFont()
font.setPointSize(10)
self.n_jobsspinBox.setFont(font)
self.n_jobsspinBox.setStyleSheet("border-image: url(:/images/1WhiteBackground.jpg);")
self.n_jobsspinBox.setMaximum(1000)
self.n_jobsspinBox.setObjectName("n_jobsspinBox")
self.gridLayout.addWidget(self.n_jobsspinBox, 5, 9, 1, 1)
spacerItem11 = QtWidgets.QSpacerItem(19, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem11, 5, 10, 1, 1)
spacerItem12 = QtWidgets.QSpacerItem(20, 28, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem12, 6, 6, 1, 1)
spacerItem13 = QtWidgets.QSpacerItem(148, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem13, 7, 0, 1, 6)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.Restore = QtWidgets.QDialogButtonBox(LR)
self.Restore.setStyleSheet("border-image: url(:/images/1WhiteBackground.jpg);")
self.Restore.setOrientation(QtCore.Qt.Horizontal)
self.Restore.setStandardButtons(QtWidgets.QDialogButtonBox.RestoreDefaults)
self.Restore.setCenterButtons(True)
self.Restore.setObjectName("Restore")
self.horizontalLayout.addWidget(self.Restore)
self.Cancel = QtWidgets.QDialogButtonBox(LR)
self.Cancel.setStyleSheet("border-image: url(:/images/1WhiteBackground.jpg);")
self.Cancel.setOrientation(QtCore.Qt.Horizontal)
self.Cancel.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel)
self.Cancel.setCenterButtons(True)
self.Cancel.setObjectName("Cancel")
self.horizontalLayout.addWidget(self.Cancel)
self.Apply = QtWidgets.QDialogButtonBox(LR)
self.Apply.setStyleSheet("border-image: url(:/images/1WhiteBackground.jpg);")
self.Apply.setOrientation(QtCore.Qt.Horizontal)
self.Apply.setStandardButtons(QtWidgets.QDialogButtonBox.Apply)
self.Apply.setCenterButtons(True)
self.Apply.setObjectName("Apply")
self.horizontalLayout.addWidget(self.Apply)
self.gridLayout.addLayout(self.horizontalLayout, 7, 7, 1, 4)
self.retranslateUi(LR)
self.Cancel.accepted.connect(LR.accept)
self.Cancel.rejected.connect(LR.reject)
QtCore.QMetaObject.connectSlotsByName(LR)
self.max_tierspinBox.setValue(120)
self.n_jobsspinBox.setValue(1)
self.Restore.clicked.connect(self.reset)
def reset(self):
self.penaltylist.setCurrentIndex(0)
self.solverlist.setCurrentIndex(0)
self.multiclasslist.setCurrentIndex(0)
self.CdoubleSpinBox.setValue(1)
self.max_tierspinBox.setValue(100)
self.n_jobsspinBox.setValue(0)
self.dualcheckBox.setChecked(False)
self.warmstartcheckBox.setChecked(False)
self.fitinterceptcheckBox.setChecked(True)
def retranslateUi(self, LR):
_translate = QtCore.QCoreApplication.translate
LR.setWindowTitle(_translate("LR", "Logistic Regression"))
self.penalty.setText(_translate("LR", "<html><head/><body><p align=\"center\"><span style=\" font-size:10pt; color:#ffffff;\">Penalty</span></p></body></html>"))
self.solver.setText(_translate("LR", "<html><head/><body><p align=\"center\"><span style=\" font-size:10pt; color:#ffffff;\">Solver</span></p></body></html>"))
self.multi_class.setText(_translate("LR", "<html><head/><body><p align=\"center\"><span style=\" font-size:10pt; color:#ffffff;\">Multi_Class</span></p></body></html>"))
self.penaltylist.setItemText(0, _translate("LR", "l2"))
self.penaltylist.setItemText(1, _translate("LR", "l1"))
self.penaltylist.setItemText(2, _translate("LR", "elasticnet"))
self.penaltylist.setItemText(3, _translate("LR", "none"))
self.solverlist.setItemText(0, _translate("LR", "lbfgs"))
self.solverlist.setItemText(1, _translate("LR", "newton-cg"))
self.solverlist.setItemText(2, _translate("LR", "liblinear"))
self.solverlist.setItemText(3, _translate("LR", "sag"))
self.solverlist.setItemText(4, _translate("LR", "saga"))
self.multiclasslist.setItemText(0, _translate("LR", "auto"))
self.multiclasslist.setItemText(1, _translate("LR", "ovr"))
self.multiclasslist.setItemText(2, _translate("LR", "multinomial"))
self.dual.setText(_translate("LR", "<html><head/><body><p><span style=\" font-size:10pt; color:#ffffff;\">Dual</span></p></body></html>"))
self.C.setText(_translate("LR", "<html><head/><body><p><span style=\" font-size:10pt; color:#ffffff;\">C</span></p></body></html>"))
self.warmstart.setText(_translate("LR", "<html><head/><body><p><span style=\" font-size:10pt; color:#ffffff;\">Warm-start</span></p></body></html>"))
self.max_iter.setText(_translate("LR", "<html><head/><body><p><span style=\" font-size:10pt; color:#ffffff;\">Max_iter</span></p></body></html>"))
self.fitintercept.setText(_translate("LR", "<html><head/><body><p><span style=\" font-size:10pt; color:#ffffff;\">Fit-intercept</span></p></body></html>"))
self.n_jobs.setText(_translate("LR", "<html><head/><body><p><span style=\" font-size:10pt; color:#ffffff;\">N_jobs</span></p></body></html>"))
import Images_rc
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
app.setStyle('Fusion')
LR = QtWidgets.QDialog()
ui = Ui_LR()
ui.setupUi(LR)
LR.show()
sys.exit(app.exec_())