コード例 #1
0
ファイル: main.py プロジェクト: AlexNik11/IT-master
def main(path, predict_column):
    df = pd.read_csv(path)
    columns = df.columns.values
    X = [
        df[column].values for column in columns
        if column != predict_column and column != 'Name'
    ]
    y = df[predict_column].values

    swtch = Switcher()

    sk_X = []
    for column in X:
        converted = np.array(swtch.convert_to(column))
        sk_X.append(converted)
    sk_X = np.array(sk_X).T

    sk_y = np.array(swtch.convert_to(y)).T

    decisions = ID3()
    entropy = decisions.fit(X, y)
    print(f'Entropies:\t\t\t{entropy}')

    sk_decisions = DecisionTreeClassifier(random_state=1370)
    sk_decisions.fit(sk_X, sk_y)
    print(f'SkLearn Tree Decision accuracy:\t{sk_decisions.score(sk_X, sk_y)}')
    #print(sk_decisions.predict(['pycharm', 'Java', 'tea']))
    return 0
コード例 #2
0
ファイル: disper.py プロジェクト: yngman/disper
 def switcher(self):
     '''Return switcher object (singleton).
     This is implemented as a method, so that it can be created only when
     needed to avoid errors when displaying help.'''
     if not self._switcher:
         self._switcher = Switcher()
     return self._switcher
コード例 #3
0
def run(share_code):
    scan_timeout = 10  # seconds

    scanner = Scanner().withDelegate(ScanDelegate())
    switcher = None
    retry = True
    while (retry):
        try:
            print('Scanning...')
            devices = scanner.scan(scan_timeout)
            for device in devices:
                name = None
                for ad_type, description, value in device.getScanData():
                    if ad_type == 9:
                        name = value
                if name is None or 'SWITCHER' not in name:
                    continue
                print('Device {} ({}), RSSI={}dB'.format(
                    device.addr, device.addrType, device.rssi))
                print('Connectable: {}'.format(device.connectable))
                if name == 'SWITCHER_M' and device.connectable:
                    print('Connectable switcher is found.')
                    switcher = device
                    retry = False
                    break
            print('Switcher is not found')
        except Exception as e:
            print('Error on scanning')
            print(e)
    Switcher(device.addr, device.addrType, share_code)
コード例 #4
0
ファイル: main.py プロジェクト: fggj228/IT-master
def main(path, predict_column):
    df = pd.read_csv(path)
    columns = df.columns.values
    X = [
        df[column].values for column in columns
        if column != predict_column and column != 'Name'
    ]
    y = df[predict_column].values

    decisions = ID3()
    fitted = decisions.fit(X, y)
    print(f'Entropy of {predict_column}:\t\t\t{fitted[1]}\n')
    print(f'Information Gains of Xs\n')
    headers = ' '.join(
        map(
            str,
            list(
                filter(lambda x: x != predict_column and x != "Name",
                       df.columns.values)))).replace(' ', '\t | ')
    print(f'{headers}')
    values = ' '.join(map(lambda x: "{0:.8f}".format(x),
                          fitted[0])).replace(' ', '\t | ')
    print(values)
    print('\n\n')

    swtch = Switcher()

    sk_X = []
    for column in X:
        converted = np.array(swtch.convert_to(column))
        sk_X.append(converted)
    sk_X = np.array(sk_X).T

    sk_y = np.array(swtch.convert_to(y)).T

    x_train, x_test, y_train, y_test = train_test_split(sk_X,
                                                        sk_y,
                                                        test_size=0.3)

    sk_decisions = DecisionTreeClassifier(random_state=1370)
    sk_decisions.fit(x_train, y_train)
    print(
        f'SkLearn Tree Decision accuracy:\t{sk_decisions.score(x_train, y_train)}'
    )
    print(f'SkLearn Tree Decision prediction: {sk_decisions.predict(x_test)}')
    return 0
コード例 #5
0
    def __init__(self, add_book, *args, **kwargs):
        """
        initilizer for the main from for the AddressBook app.

        :param add_book: the address book class to manipulate
        :type add_book: A address_book_data.AddressBook instance

        """

        kwargs.setdefault('title', "Micro Address Book")
        wx.Frame.__init__(self, *args, **kwargs)

        self.add_book = add_book
        self.current_index = 0

        # creae a status bar for messages...
        self.CreateStatusBar()

        # create the switcher
        self.switcher = Switcher(self)

        # create the entryPanel
        self.entryPanel = AddBookForm(add_book.book[self.current_index], self)
        
        # A new record button:
        new_record_but = wx.Button(self, label="New Record")
        new_record_but.Bind(wx.EVT_BUTTON, self.onNewRecord)

        # put them in a Sizer to lay out
        S = wx.BoxSizer(wx.VERTICAL)
        S.Add(self.switcher, 0, wx.ALL|wx.ALIGN_CENTER, 4)
        S.Add(wx.StaticLine(self,style=wx.LI_HORIZONTAL), 0, wx.EXPAND)
        S.Add(self.entryPanel, 0, wx.ALL|wx.EXPAND, 4)
        S.Add((1,5))
        S.Add(wx.StaticLine(self,style=wx.LI_HORIZONTAL), 0, wx.EXPAND)
        S.Add(new_record_but, 0, wx.ALL|wx.ALIGN_RIGHT, 4)

        self.SetSizerAndFit(S)
        self.switcher.Fit()

        # Build up the menu bar:
        menuBar = wx.MenuBar()
        
        fileMenu = wx.Menu()
        openMenuItem = fileMenu.Append(wx.ID_OPEN, "&Open", "Open a file" )
        self.Bind(wx.EVT_MENU, self.onOpen, openMenuItem)

        closeMenuItem = fileMenu.Append(wx.ID_EXIT, "&Close", "Close a file" )
        self.Bind(wx.EVT_MENU, self.onClose, closeMenuItem)

        saveMenuItem = fileMenu.Append(wx.ID_SAVE, "&Save", "Save the file" )
        self.Bind(wx.EVT_MENU, self.onSave, saveMenuItem)

        exitMenuItem = fileMenu.Append(wx.ID_EXIT, "Exit", "Exit the application")
        self.Bind(wx.EVT_MENU, self.onExit, exitMenuItem)
        menuBar.Append(fileMenu, "&File")
        
        helpMenu = wx.Menu()
        helpMenuItem = helpMenu.Append(wx.ID_HELP, "Help", "Get help")
        menuBar.Append(helpMenu, "&Help")

        self.SetMenuBar(menuBar)
コード例 #6
0
class Ui_MainWindow(object):
    
    switcher = Switcher()

    def __init__(self):
        self.switcher.retrieve_settings()


    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(742, 371)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.logo = QtWidgets.QLabel(self.centralwidget)
        self.logo.setGeometry(QtCore.QRect(590, 0, 161, 51))
        self.logo.setText("")
        self.logo.setPixmap(QtGui.QPixmap("sesil_logo.jpg"))
        self.logo.setScaledContents(True)
        self.logo.setObjectName("logo")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(230, 20, 220, 31))

        MainWindow.setWindowIcon(QtGui.QIcon('logo.png'))

        font = QtGui.QFont()
        font.setFamily("Verdana")
        font.setPointSize(16)
        font.setBold(True)
        font.setUnderline(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(500, 340, 230, 20))
        font = QtGui.QFont()
        font.setFamily("Verdana")
        font.setBold(False)
        font.setWeight(50)
        self.label_2.setFont(font)
        self.label_2.setObjectName("label_2")
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(30, 340, 101, 20))
        font = QtGui.QFont()
        font.setFamily("Verdana")
        self.label_3.setFont(font)
        self.label_3.setObjectName("label_3")
        self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox.setGeometry(QtCore.QRect(80, 110, 561, 191))
        self.groupBox.setObjectName("groupBox")
        self.groupBox_2 = QtWidgets.QGroupBox(self.groupBox)
        self.groupBox_2.setGeometry(QtCore.QRect(40, 30, 230, 130))
        self.groupBox_2.setObjectName("groupBox_2")
        self.start_btn = QtWidgets.QPushButton(self.groupBox_2)
        self.start_btn.setGeometry(QtCore.QRect(50, 30, 130, 30))
        self.start_btn.setObjectName("start_btn")
        self.exit_btn = QtWidgets.QPushButton(self.groupBox_2)
        self.exit_btn.setGeometry(QtCore.QRect(50, 80, 130, 30))
        self.exit_btn.setObjectName("exit_btn")
        self.groupBox_3 = QtWidgets.QGroupBox(self.groupBox)
        self.groupBox_3.setGeometry(QtCore.QRect(330, 30, 190, 130))
        self.groupBox_3.setObjectName("groupBox_3")
        self.check_settings_btn = QtWidgets.QPushButton(self.groupBox_3)
        self.check_settings_btn.setGeometry(QtCore.QRect(40, 30, 110, 30))
        self.check_settings_btn.setObjectName("check_settings_btn")
        self.reports_folder_btn = QtWidgets.QPushButton(self.groupBox_3)
        self.reports_folder_btn.setGeometry(QtCore.QRect(40, 80, 110, 30))
        self.reports_folder_btn.setObjectName("reports_folder_btn")
        self.line = QtWidgets.QFrame(self.groupBox)
        self.line.setGeometry(QtCore.QRect(300, 30, 3, 140))
        self.line.setStyleSheet("background-color: rgb(64, 81, 112);")
        self.line.setFrameShape(QtWidgets.QFrame.VLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        MainWindow.setCentralWidget(self.centralwidget)

        # linking buttons to connnects
        self.start_btn.clicked.connect(self.start_application)
        self.exit_btn.clicked.connect(self.exit_application)
        
        self.check_settings_btn.clicked.connect(self.check_settings)
        self.reports_folder_btn.clicked.connect(self.open_reports_folder)
        # linking ends here

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "Application Switcher SESIL"))
        self.label.setText(_translate("MainWindow", "Window Switcher"))
        self.label_2.setText(_translate("MainWindow", "All Rights Reserved To SESIL PVT. LTD."))
        self.label_3.setText(_translate("MainWindow", "@mujeebishaque"))
        self.groupBox.setTitle(_translate("MainWindow", "Switcher"))
        self.groupBox_2.setTitle(_translate("MainWindow", "Functional"))
        self.start_btn.setText(_translate("MainWindow", "Start"))
        self.exit_btn.setText(_translate("MainWindow", "Exit"))
        self.groupBox_3.setTitle(_translate("MainWindow", "Misc."))
        self.check_settings_btn.setText(_translate("MainWindow", "Check Settings"))
        self.reports_folder_btn.setText(_translate("MainWindow", "Reports Folder"))

    def start_application(self):
        self.switcher.starter()

    def open_reports_folder(self):
        self.switcher.check_reports()

    def exit_application(self):
        sys.exit()

    def check_settings(self):
        self.switcher.check_settings()
コード例 #7
0
    def __init__(self, r_one=1, r_two=1, r_three=1, r_four=1, r_five=1):

        #This is a part of code used to check for values entered to be
        #compatible with the program
        if not isinstance(r_one, int):
            raise TypeError('Rotor values should be entered as integers')

        if not isinstance(r_two, int):
            raise TypeError('Rotor values should be entered as integers')

        if not isinstance(r_three, int):
            raise TypeError('Rotor values should be entered as integers')

        if not isinstance(r_four, int):
            raise TypeError('Rotor values should be entered as integers')

        if not isinstance(r_five, int):
            raise TypeError('Rotor values should be entered as integers')

        #Dictionary of all the letters and coresponding to them
        self.letters = {
            'a': 'a',
            'b': 'b',
            'c': 'c',
            'd': 'd',
            'e': 'e',
            'f': 'f',
            'g': 'g',
            'h': 'h',
            'i': 'i',
            'j': 'j',
            'k': 'k',
            'l': 'l',
            'm': 'm',
            'n': 'n',
            'o': 'o',
            'p': 'p',
            'q': 'q',
            'r': 'r',
            's': 's',
            't': 't',
            'u': 'u',
            'v': 'v',
            'w': 'w',
            'x': 'x',
            'y': 'y',
            'z': 'z'
        }

        #All the rotors are created from the least to first, it is important
        self.rotor_three = Rotor_One(None, r_three)
        self.rotor_two = Rotor_Five(self.rotor_three, r_two)
        self.rotor_one = Rotor_Three(self.rotor_two, r_one)

        #Swithers are created here
        self.switcher_one = Switcher()
        self.switcher_two = Switcher()
        self.switcher_three = Switcher()
        self.switcher_four = Switcher()
        self.switcher_five = Switcher()
        self.switcher_six = Switcher()
        self.switcher_seven = Switcher()
        self.switcher_eight = Switcher()
        self.switcher_nine = Switcher()
        self.switcher_ten = Switcher()

        #Switchers are used
        self.use_switchers()