����뽳������ѧϰ-sk-learn-Facebook���ݼ�Ԥ��ǩ��λ�� _ ��IIS7վ��֮�ҡ�

��ǰλ�� ������ҳ > ����뽳������ѧϰ-sk-learn-Facebook���ݼ�Ԥ��ǩ��λ��

    ����뽳������ѧϰ-sk-learn-Facebook���ݼ�Ԥ��ǩ��λ��

    ���ߣ�[db:����] ʱ�䣺2021-08-31 13:09

    sk-learn Facebook���ݼ�Ԥ��ǩ��λ��

    ���α�����Ŀ����Ԥ��һ���˽�Ҫǩ���ĵط��� Ϊ�˱��α���,Facebook������һ����������,���а���10����*10���ﹲ100ƽ�������Լ10����ط���

    ���ڸ��������꼯,���ǵ����񽫸����û���λ��,׼ȷ�Ժ�ʱ�����Ԥ���û���һ�ε�ǩ��λ�á� ���ݱ������������������ƶ��豸��λ�����ݡ�

    ����ֵ:��x��, ��y��, ��accuracy��, ��day��, ��hour��, ��weekday��

    Ŀ��ֵ: place_id

    ��ʵ��ʹ��Facebook��ͳ�Ƶ�����,���ݵص������ǩ��ʱ���������ѵ��ģ��,���յõ�Ŀ��ص��ID��ѵ��������Լ�����Ϊ8:2��

    �ڽ�������ģ��ѵ��ʱ,����Ҫ��������Ԥ����

    ��С���ݷ�Χ:��Ϊ���ݼ���2000W+������,������������dz���,����ʵ���С���ݷ�Χ,����������ù��������˷�����������~
    ѡ��ʱ������:�����е�ʱ������day,hour,weekend
    ȥ��ǩ�����ٵĵط�:�޳����岻�������ص�,���ٹ����
    ȷ������ֵ��Ŀ��ֵ
    �ָ����ݼ�

    ������֤:���õ���ѵ������,��Ϊѵ������֤��������ͼΪ��:�����ݷֳ�4��,����һ����Ϊ��֤����Ȼ�󾭹�4��(��)�IJ���,ÿ�ζ�������ͬ����֤�������õ�4��ģ�͵Ľ��,ȡƽ��ֵ��Ϊ���ս�����ֳ�4�۽�����֤����ʵ��cv=5,��Ϊ5�۽�����֤��

    def facebook_demo():
        """
        sk-learn Facebook���ݼ�Ԥ��ǩ��λ��
        :return:
        """
        # 1����ȡ���ݼ�
        facebook = pd.read_csv('/Users/maxinze/Downloads/����ѧxiday2����/02-����/FBlocation/train.csv')
    
        # 2.�������ݴ���
        # 2.1 ��С���ݷ�Χ
        # ѡ��(2,2.5)��һ��Χ������,ʹ�� query
        facebook_data = facebook.query("x>5.0 & x<6 & y>5.0 & y<6.0")
    
        # 2.2 ѡ��ʱ������
        # ��ȡʱ��
        time = pd.to_datetime(facebook_data["time"], unit="s")
        time = pd.DatetimeIndex(time)
        # ��һ��day
        facebook_data["day"] = time.day
        # ��һ��hour
        facebook_data["hour"] = time.hour
        # ��һ��weekday
        facebook_data["weekday"] = time.weekday
    
        # 2.3 ȥ��ǩ�����ٵĵط�
        # �������,����Ŀ����
        place_count = facebook_data.groupby("place_id").count()
        # ѡ��ǩ������3��
        place_count = place_count[place_count["row_id"] > 3]
        # ��������
        facebook_data = facebook_data[facebook_data["place_id"].isin(place_count.index)]
        # facebook_data.shape()
    
        # 2.4 ɸѡ����ֵ��Ŀ��ֵ
        # ����ֵ
        x = facebook_data[["x", "y", "accuracy", "day", "hour", "weekday"]]
        # Ŀ��ֵ
        y = facebook_data["place_id"]
    
        # 2.5 �ָ����ݼ�(���ݼ�����) ��������ֵ, Ŀ��ֵ
        x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=22)
    
        # 3.��������--����Ԥ����(��׼��)
        # 3.1 ʵ����һ��ת����
        transfer = StandardScaler()
        # 3.2 ����fit_transform
        # ����ѵ����
        x_train = transfer.fit_transform(x_train)
        # �������Լ�
        x_test = transfer.fit_transform(x_test)
    
        # 4.����ѧϰ--knn+cv
        # 4.1 ʵ����һ��������
        estimator = KNeighborsClassifier()
        # 4.2 ����gridsearchCV
        # param_grid = {"n_neighbors": [1, 3, 5, 7, 9]}
        param_grid = {"n_neighbors": [5, 7, 9]}
        estimator = GridSearchCV(estimator, param_grid=param_grid, cv=3 )
        # 4.3 ģ��ѵ��
        estimator.fit(x_train, y_train)
    
        # 5.ģ������
        # 5.1 ����������ʽ
        score = estimator.score(x_test, y_test)
        print("���Ԥ���׼ȷ��Ϊ:\n", score)
    
        y_predict = estimator.predict(x_test)
        print("����Ԥ��ֵΪ:\n", y_predict)
        print("Ԥ��ֵ����ʵֵ�ĶԱ����:\n", y_predict == y_test)
    
        # 5.2 ʹ�ý�����֤���������ʽ
        print("�ڽ�����֤����֤����ý��:\n", estimator.best_score_)
        print("��õIJ���ģ��:\n", estimator.best_estimator_)
        print("ÿ�ν�����֤�����֤��׼ȷ�ʽ����ѵ����׼ȷ�ʽ��:\n", estimator.cv_results_)
    
        return None
    


    ��Ϊֻѡ���˲��������ܴ���,����ģ��ѵ������Ե�׼ȷ�ʲ�̫��,�������ѡ��ȫ�������ܡ�

    cs
    ��һƪ��û����