Exemple #1
1
 def test_reverse_2(self):
     txt = HW1.reverse("spoons")
     rtxt = "spoons"
     print "If I reverse %s, I get %s. :)" % (rtxt, txt)
     tmp = 1
     for i in range(len(txt)):
         self.assertEqual(txt[i], rtxt[-tmp])
         tmp += 1
Exemple #2
1
 def test_reverseone(self):
     self.assertEqual(HW1.reverse("Test one"), "eno tseT")  # basic reversal
Exemple #3
1
 def test_reversetwo(self):
     self.assertEqual(HW1.reverse("Punctuation test..."), "...tset noitautcnuP")
Exemple #4
1
 def test_reversewordsone(self):
     self.assertEqual(HW1.reversewords("Test one."), "one Test.")
Exemple #5
1
 def test_reversewordstwo(self):
     self.assertEqual(HW1.reversewords("Punctuation test..."), "test... Punctuation.")
Exemple #6
1
 def test_reversewordlettersone(self):
     self.assertEqual(HW1.reversewordletters("This is a test."), "sihT si a tset.")
Exemple #7
1
 def test_reversewordletterstwo(self):
     self.assertEqual(
         HW1.reversewordletters("This sentence has a lot of words."), "sihT ecnetnes sah a tol fo sdrow."
     )
Exemple #8
1
 def test_shoutone(self):
     self.assertEqual(HW1.shout("Hello"), "HELLO!")  # One word
def main(targets):
    global test_flag
    if 'data' in targets:
        HW1.main()
    if 'test-project' in targets:
        beg = time.time()
        test_flag = 1
        sample_size, categories = HW2.loadConfig("config/test-params.json")
        paths = HW2.loadEnv("config/env.json")
        HW2.getTestData(categories, sample_size)
        smalis = HW2.prepare_data(test_flag)
        df, xy = HW2.makeDF(smalis)
        train_df, train_y, test_df, test_y = HW2.splitTrain(df, xy)
        A_train = HW2.makeA(train_df, train_df["apps"].unique(), df.shape[0])
        P_train = HW2.makeP(train_df, df.shape[0])

        A_test = HW2.makeA(test_df, test_df["apps"].unique(), df.shape[0])
        P_test = HW2.makeP(test_df, df.shape[0])

        #y = [i[1] for i in xy]
        AAT_train = A_train.dot(
            A_train.T)  #HW2.matrixply([A_train, A_train.T])
        AATest = A_test.dot(A_train.T)
        clf = HW2.trainModel(AAT_train, train_y)
        preds = HW2.modelPredict(clf, AATest)
        HW2.getMetrics(preds, test_y, paths["AA^T"], "AA^T")

        APAT_train = A_train.dot(P_train).dot(A_train.T)
        APATest = A_test.dot(P_test).dot(A_train.T)
        clf = HW2.trainModel(APAT_train, train_y)
        preds = HW2.modelPredict(clf, APATest)
        HW2.getMetrics(preds, test_y, paths["APA^T"], "APA^T")

        B_train = HW2.makeB(train_df, df.shape[0])
        B_test = HW2.makeB(test_df, df.shape[0])

        ABAT_train = A_train.dot(B_train).dot(A_train.T)
        ABATest = A_test.dot(B_test).dot(A_train.T)
        clf = HW2.trainModel(ABAT_train, train_y)
        preds = HW2.modelPredict(clf, ABATest)
        HW2.getMetrics(preds, test_y, paths["ABA^T"], "ABA^T")

        APBPTAT_train = A_train.dot(P_train).dot(B_train).dot(P_train.T).dot(
            A_train.T)
        APBPTATest = A_test.dot(P_test).dot(B_test).dot(P_train.T).dot(
            A_train.T)
        clf = HW2.trainModel(APBPTAT_train, train_y)
        preds = HW2.modelPredict(clf, APBPTATest)
        HW2.getMetrics(preds, test_y, paths["APBP^TA^T"], "APBP^TA^T")

    if 'process' in targets:
        #cleans and prepares the data for analysis
        #smalis = getAllSmaliFiles("Apps")
        print(test_flag)
        smalis = HW2.prepare_data(test_flag)

        x, y = HW2.makeBaselineFeatures(smalis)
        HW2.baseline(x, y)

    return
Exemple #10
0
def test_convertions():
    assert HW1.arabic_to_roman(100) == "C"
    assert HW1.arabic_to_roman(3999) == "MMMCMXCIX"
    assert HW1.arabic_to_roman(893) == "DCCCXCIII"
    assert HW1.arabic_to_roman(12) == "XII"
    assert HW1.arabic_to_roman(1213) == "MCCXIII"
    assert HW1.arabic_to_roman(432) == "CDXXXII"
    assert HW1.arabic_to_roman(932) == "CMXXXII"
    assert HW1.arabic_to_roman(1001) == "MI"
    assert HW1.arabic_to_roman(384) == "CCCLXXXIV"
Exemple #11
0
def main():          
    u_range = [-1, 1]      
    v_range = [-1, 1]
    N = 100
    x, y, f = generate_x_f_y(N, u_range, v_range)
    HW1.plot_a_line_2D(f, u_range, v_range)
    HW1.scatterplot(x, y)
    g = linear_regression_algorithm(x, y)
    HW1.plot_a_line_2D(g, u_range, v_range)
    E_in = evaluate_E(x, y, g)
    print(E_in)
    g_pla, numberOfIteration = pla_combine_linear_regression(x, y)
    print(numberOfIteration)
Exemple #12
0
def generate_random_x(N=100, u_range=[-1, 1], v_range=[-1, 1]):
    """
    Generate a set of N random points in the specified ranges
    
    Inputs
    ------
    - N: number of points
    - u_range: horizontal range
    - v_range: vertival range
    
    Outputs
    ------
    - x: 2D array where the rows has length 3 which represents the locations of 
        a data point with the first one is set to 1, and the columns is the 
        number of data points considered
    """
    x = HW1.generate_random_points(N, u_range, v_range)
    x_vec = np.vstack((np.ones(N), x))
    return x_vec
Exemple #13
0
 def test1_NextDay(self):
     result= HW1.NextDay((23, 6, 2017))
     self.assertEqual('24/6/2017', result)
Exemple #14
0
 def test1_Value(self):
     result = HW1.Value(7145)
     self.assertEqual(11, result)
Exemple #15
0
 def stest_shoutfive(self):
     self.assertEqual(
         HW1.shout("Multiple periods..."), "MULTIPLE PERIODS!!!"
     )  # turn punctuation into exclaimation =
Exemple #16
0
 def test_shoutthree(self):
     self.assertEqual(HW1.shout("Exclaimed Hello!!!"), "EXCLAIMED HELLO!!!!")  # Punctuation
Exemple #17
0
def test_errors():
    assert HW1.arabic_to_roman("100") == "ERROR"
    assert HW1.arabic_to_roman(100.123) == "ERROR"
    assert HW1.arabic_to_roman("test") == "ERROR"
    assert HW1.arabic_to_roman(100.00) == "ERROR"
Exemple #18
0
 def test3_Value(self):
     result = HW1.Value(351)
     self.assertEqual(8, result)
Exemple #19
0
 def test2_IsPrimary(self):
     result = HW1.IsPrimary(21)
     self.assertEqual(False, result)
Exemple #20
0
 def test1_IsPrimary(self):
     result = HW1.IsPrimary(23)
     self.assertEqual(True, result)
Exemple #21
0
 def test2_NextDay(self):
     result = HW1.NextDay((28, 2, 2012))
     self.assertEqual('29/2/2012', result)
Exemple #22
0
 def test2_Reduce(self):
     result = HW1.Reduce(1020034000)
     self.assertEqual(1234, result)
Exemple #23
0
 def test1_Reduce(self):
     result = HW1.Reduce(-160760)
     self.assertEqual(-1676, result)
Exemple #24
0
 def test3_Pascal(self):
     result = HW1.Pascal(5, 3)
     self.assertEqual(10, result)
Exemple #25
0
 def test2_GoodOrder(self):
     result = HW1.GoodOrder(264)
     self.assertEqual(True, result)
Exemple #26
0
 def test2_Pascal(self):
     result = HW1.Pascal(10, 4)
     self.assertEqual(210, result)
Exemple #27
0
	def test_shout2(self):
		self.assertEqual(HW1.shout("BLAH"), "BLAH!")
Exemple #28
0
	def test_shout3(self):
		self.assertEqual(HW1.shout("Blah!"), "BLAH!")
Exemple #29
0
	def test_shout4(self):
		self.assertEqual(HW1.shout("Hey. You!"), "HEY! YOU!")
Exemple #30
0
def pla_combine_linear_regression(x, y):
    w_initial = linear_regression_algorithm(x, y)
    g, numberOfIteration = HW1.pla_algorithm(x, y, w=w_initial)
    return g, numberOfIteration
Exemple #31
0
 def test_shout_question(self):
     self.assertEqual(HW1.shout("Hello world?"), "HELLO WORLD!")
Exemple #32
0
 def test_shouttwo(self):
     self.assertEqual(HW1.shout("Hello again"), "HELLO AGAIN!")  # Sentence
Exemple #33
0
 def test_reversewords_string(self):
     self.assertEqual(HW1.reversewords("Hello world."), "world Hello.")
Exemple #34
0
 def test_shoutfour(self):
     self.assertEqual(HW1.shout("CAPS?"), "CAPS!!")  # Already in caps, add a different punctuation
Exemple #35
0
 def test_reversewordletters_string(self):
     self.assertEqual(HW1.reversewordletters("A civic testset is nice."), "A civic testset si ecin.")
Exemple #36
0
 def test2_Value(self):
     result = HW1.Value(15)
     self.assertEqual(7, result)
Exemple #37
0
 def test_piglatin_sentence(self):
     self.assertEqual(HW1.piglatin("Romans like bacon."), "omansre ikele aconbe")
Exemple #38
0
 def test1_Figure(self):
     result= HW1.Figure(7)
     expected = ['      1      ', '     2 2     ', '    3   3    ', '   4     4   ', '  5       5  ', ' 6         6 ', '7654321234567']
     self.assertEqual(expected,result)
Exemple #39
0
 def test_shout_with_nums(self):
     self.assertEqual(HW1.shout("I like the number 7."), "I LIKE THE NUMBER 7!")
Exemple #40
0
 def test3_GoodOrder(self):
     result = HW1.GoodOrder(1573)
     self.assertEqual(True, result)
Exemple #41
0
 def test1_GoodOrder(self):
     result = HW1.GoodOrder(12345)
     self.assertEqual(False, result)
Exemple #42
0
	def test_reverse1(self):
		self.assertEqual(HW1.reverse("asdf blah"), "halb fdsa")
Exemple #43
0
 def test1_Pascal(self):
     result = HW1.Pascal(3, 2)
     self.assertEqual(3, result)
Exemple #44
0
 def test_reverse_string(self):
     self.assertEqual(HW1.reverse("Bom bard a drab mob."), ".bom bard a drab moB")
Exemple #45
0
	def test_reversewords1(self):
		self.assertEqual(HW1.reversewords("Hi, my name is Blah."), "Blah is name my, Hi.")
Exemple #46
0
 def test_reversewords_2sentence(self):
     self.assertEqual(HW1.reversewords("Hello world. What's your name?"), "world Hello. name your What's.")   
Exemple #47
0
	def test_reversewordletters1(self):
		self.assertEqual(HW1.reversewordletters("Hi, my name is Blah."), "iH, ym, eman, si, halB")
Exemple #48
0
 def test_piglatin_sentence(self): # preserving old test case
     self.assertEqual(HW1.piglatin("pig latin"), "igpe atinle")
Exemple #49
0
	def test_piglatin1(self):
		self.assertEqual(HW1.piglatin("nix"), "ixnay")
Exemple #50
0
 def test_palindrome_sentence(self):
     self.assertEqual(HW1.reverse("Bom bard a drab mob."), ".bom bard a drab moB")
Exemple #51
0
	def test_shout1(self):
		self.assertEqual(HW1.shout("Hey there"), "HEY THERE!")
Exemple #52
0
 def test_no_punctuation_rwl(self): 
     self.assertEqual(HW1.reversewordletters("A long string without punctuation"), "A gnol gnirts tuohtiw noitautcnup")
Exemple #53
0
# In[34]:

groupA = merge_AB_under.loc[merge_AB_under['plan_type_low_uae_no_trial'] ==
                            0]  #14 day trial
groupB = merge_AB_under.loc[merge_AB_under['plan_type_low_uae_no_trial'] == 1]

# In[35]:

A_list = list(groupA['current_sub_TF'])
B_list = list(groupB['current_sub_TF'])

# In[36]:

import scipy
norm = scipy.stats.norm()
ABTesting.t_test(A_list, B_list, 0.95)

# B>A. It means that current subscribers with low uae no trail are more than ones with base uae 14 day trail. The difference is statistically significant.

# ## PART III. Customer Segmentation

# In[37]:

import pandas as pd
import datetime
import numpy as np
import matplotlib.pyplot as plt
import numpy
import seaborn as sns

# In[38]: